When Gadgets Betray Us: The Dark Side of Our Infatuation With New Technologies


Robert Vamosi - 2011
    As our mobile phones, mp3 players, cars, and digital cameras become more and more complex, we understand less and less about how they actually work and what personal details these gadgets might reveal about us.Robert Vamosi, an award-winning journalist and analyst who has been covering digital security issues for more than a decade, shows us the dark side of all that digital capability and convenience. Hotel-room TV remotes can be used to steal our account information and spy on what we've been watching, toll-booth transponders receive unencrypted EZ Pass or FasTrak info that can be stolen and cloned, and our cars monitor and store data about our driving habits that can be used in court against us.When Gadgets Betray Us gives us a glimpse into the secret lives of our gadgets and helps us to better understand - and manage - these very real risks.

Python Crash Course: A Hands-On, Project-Based Introduction to Programming


Eric Matthes - 2015
    You'll also learn how to make your programs interactive and how to test your code safely before adding it to a project. In the second half of the book, you'll put your new knowledge into practice with three substantial projects: a Space Invaders-inspired arcade game, data visualizations with Python's super-handy libraries, and a simple web app you can deploy online.As you work through Python Crash Course, you'll learn how to: Use powerful Python libraries and tools, including matplotlib, NumPy, and PygalMake 2D games that respond to keypresses and mouse clicks, and that grow more difficult as the game progressesWork with data to generate interactive visualizationsCreate and customize simple web apps and deploy them safely onlineDeal with mistakes and errors so you can solve your own programming problemsIf you've been thinking seriously about digging into programming, Python Crash Course will get you up to speed and have you writing real programs fast. Why wait any longer? Start your engines and code!

Experience on Demand: What Virtual Reality Is, How It Works, and What It Can Do


Jeremy Bailenson - 2019
    With well-crafted simulations, these experiences, which are so immersive that the brain believes they’re real, are already widely available with a VR headset and will only become more accessible and commonplace. But how does this new medium affect its users, and does it have a future beyond fantasy and escapism?In Experience on Demand, Jeremy Bailenson draws on two decades spent researching the psychological effects of VR and other mass media to help readers understand this powerful new tool. He offers expert guidelines for interacting with VR and describes the profound ways this technology can be put to use—not to distance ourselves from reality, but to enrich our lives and influence us to treat others, the environment, and even ourselves better. In the world of VR, a football quarterback plays a game against a competing team hundreds of times before even stepping onto the field; members of the United Nations embody a young girl in a refugee camp going through her day-to-day life; and veterans once again walk through the streets where they had experienced trauma.There are dangers and many unknowns in using VR, but it also can help us hone our performance, recover from trauma, improve our learning and communication abilities, and enhance our empathic and imaginative capacities. Like any new technology, its most incredible uses might be waiting just around the corner. Experience on Demand is the definitive look at the risks and potential of VR—a must-read for navigating both the virtual and the physical worlds ahead.

Database Nation: The Death of Privacy in the 21st Century


Simson Garfinkel - 2000
    Those who worry about personal privacy and identity--especially in this day of technologies that encroach upon these rights--still use Orwell's "Big Brother" language to discuss privacy issues. But the reality is that the age of a monolithic Big Brother is over. And yet the threats are perhaps even more likely to destroy the rights we've assumed were ours.Database Nation: The Death of Privacy in the 21st Century shows how, in these early years of the 21st century, advances in technology endanger our privacy in ways never before imagined. Direct marketers and retailers track our every purchase; surveillance cameras observe our movements; mobile phones will soon report our location to those who want to track us; government eavesdroppers listen in on private communications; misused medical records turn our bodies and our histories against us; and linked databases assemble detailed consumer profiles used to predict and influence our behavior. Privacy--the most basic of our civil rights--is in grave peril.Simson Garfinkel--journalist, entrepreneur, and international authority on computer security--has devoted his career to testing new technologies and warning about their implications. This newly revised update of the popular hardcover edition of Database Nation is his compelling account of how invasive technologies will affect our lives in the coming years. It's a timely, far-reaching, entertaining, and thought-provoking look at the serious threats to privacy facing us today. The book poses a disturbing question: how can we protect our basic rights to privacy, identity, and autonomy when technology is making invasion and control easier than ever before?Garfinkel's captivating blend of journalism, storytelling, and futurism is a call to arms. It will frighten, entertain, and ultimately convince us that we must take action now to protect our privacy and identity before it's too late.

Think Like a Programmer: An Introduction to Creative Problem Solving


V. Anton Spraul - 2012
    In this one-of-a-kind text, author V. Anton Spraul breaks down the ways that programmers solve problems and teaches you what other introductory books often ignore: how to Think Like a Programmer. Each chapter tackles a single programming concept, like classes, pointers, and recursion, and open-ended exercises throughout challenge you to apply your knowledge. You'll also learn how to:Split problems into discrete components to make them easier to solve Make the most of code reuse with functions, classes, and libraries Pick the perfect data structure for a particular job Master more advanced programming tools like recursion and dynamic memory Organize your thoughts and develop strategies to tackle particular types of problems Although the book's examples are written in C++, the creative problem-solving concepts they illustrate go beyond any particular language; in fact, they often reach outside the realm of computer science. As the most skillful programmers know, writing great code is a creative art—and the first step in creating your masterpiece is learning to Think Like a Programmer.

The Rust Programming Language


Steve Klabnik
    This is the undisputed go-to guide to Rust, written by two members of the Rust core team, with feedback and contributions from 42 members of the community. The book assumes that you’ve written code in another programming language but makes no assumptions about which one, meaning the material is accessible and useful to developers from a wide variety of programming backgrounds.Known by the Rust community as "The Book," The Rust Programming Language includes concept chapters, where you’ll learn about a particular aspect of Rust, and project chapters, where you’ll apply what you’ve learned so far to build small programs.The Book opens with a quick hands-on project to introduce the basics then explores key concepts in depth, such as ownership, the type system, error handling, and fearless concurrency. Next come detailed explanations of Rust-oriented perspectives on topics like pattern matching, iterators, and smart pointers, with concrete examples and exercises--taking you from theory to practice.The Rust Programming Language will show you how to: Grasp important concepts unique to Rust like ownership, borrowing, and lifetimes Use Cargo, Rust’s built-in package manager, to build and maintain your code, including downloading and building dependencies Effectively use Rust’s zero-cost abstractions and employ your ownYou’ll learn to develop reliable code that’s speed and memory efficient, while avoiding the infamous and arcane programming pitfalls common at the systems level. When you need to dive down into lower-level control, this guide will show you how without taking on the customary risk of crashes or security holes and without requiring you to learn the fine points of a fickle toolchain.You’ll also learn how to create command line programs, build single- and multithreaded web servers, and much more.The Rust Programming Language fully embraces Rust’s potential to empower its users. This friendly and approachable guide will help you build not only your knowledge of Rust but also your ability to program with confidence in a wider variety of domains.

Cognitive Surplus: Creativity and Generosity in a Connected Age


Clay Shirky - 2010
     For decades, technology encouraged people to squander their time and intellect as passive consumers. Today, tech has finally caught up with human potential. In Cognitive Surplus, Internet guru Clay Shirky forecasts the thrilling changes we will all enjoy as new digital technology puts our untapped resources of talent and goodwill to use at last. Since we Americans were suburbanized and educated by the postwar boom, we've had a surfeit of intellect, energy, and time-what Shirky calls a cognitive surplus. But this abundance had little impact on the common good because television consumed the lion's share of it-and we consume TV passively, in isolation from one another. Now, for the first time, people are embracing new media that allow us to pool our efforts at vanishingly low cost. The results of this aggregated effort range from mind expanding-reference tools like Wikipedia-to lifesaving-such as Ushahidi.com, which has allowed Kenyans to sidestep government censorship and report on acts of violence in real time. Shirky argues persuasively that this cognitive surplus-rather than being some strange new departure from normal behavior-actually returns our society to forms of collaboration that were natural to us up through the early twentieth century. He also charts the vast effects that our cognitive surplus- aided by new technologies-will have on twenty-first-century society, and how we can best exploit those effects. Shirky envisions an era of lower creative quality on average but greater innovation, an increase in transparency in all areas of society, and a dramatic rise in productivity that will transform our civilization. The potential impact of cognitive surplus is enormous. As Shirky points out, Wikipedia was built out of roughly 1 percent of the man-hours that Americans spend watching TV every year. Wikipedia and other current products of cognitive surplus are only the iceberg's tip. Shirky shows how society and our daily lives will be improved dramatically as we learn to exploit our goodwill and free time like never before.

The Code Breaker: Jennifer Doudna, Gene Editing, and the Future of the Human Race


Walter Isaacson - 2021
    As she sped through the pages, she became enthralled by the intense drama behind the competition to discover the code of life. Even though her high school counselor told her girls didn’t become scientists, she decided she would.Driven by a passion to understand how nature works and to turn discoveries into inventions, she would help to make what the book’s author, James Watson, told her was the most important biological advance since his co-discovery of the structure of DNA. She and her collaborators turned ​a curiosity ​of nature into an invention that will transform the human race: an easy-to-use tool that can edit DNA. Known as CRISPR, it opened a brave new world of medical miracles and moral questions. The development of CRISPR and the race to create vaccines for coronavirus will hasten our transition to the next great innovation revolution. The past half-century has been a digital age, based on the microchip, computer, and internet. Now we are entering a life-science revolution. Children who study digital coding will be joined by those who study genetic code. Should we use our new evolution-hacking powers to make us less susceptible to viruses? What a wonderful boon that would be! And what about preventing depression? Hmmm…Should we allow parents, if they can afford it, to enhance the height or muscles or IQ of their kids? After helping to discover CRISPR, Doudna became a leader in wrestling with these moral issues and, with her collaborator Emmanuelle Charpentier, won the Nobel Prize in 2020.

FAB: The Coming Revolution on Your Desktop–from Personal Computers to Personal Fabrication


Neil Gershenfeld - 2005
    According to Neil Gershenfeld, the renowned MIT scientist and inventor, the next big thing is personal fabrication–the ability to design and produce your own products, in your own home, with a machine that combines consumer electronics with industrial tools. Personal fabricators (PF’s) are about to revolutionize the world just as personal computers did a generation ago. PF’s will bring the programmability of the digital world to the rest of the world, by being able to make almost anything-including new personal fabricators. In FAB, Gershenfeld describes how personal fabrication is possible today, and how it is meeting local needs with locally developed solutions. He and his colleagues have created “fab labs” around the world, which, in his words, can be interpreted to mean “a lab for fabrication, or simply a fabulous laboratory.” Using the machines in one of these labs, children in inner-city Boston have made saleable jewelry from scrap material. Villagers in India used their lab to develop devices for monitoring food safety and agricultural engine efficiency. Herders in the Lyngen Alps of northern Norway are developing wireless networks and animal tags so that their data can be as nomadic as their animals. And students at MIT have made everything from a defensive dress that protects its wearer’s personal space to an alarm clock that must be wrestled into silence. These experiments are the vanguard of a new science and a new era-an era of “post-digital literacy” in which we will be as familiar with digital fabrication as we are with the of information processing. In this groundbreaking book, the scientist pioneering the revolution in personal fabrication reveals exactly what is being done, and how. The technology of FAB will allow people to create the objects they desire, and the kind of world they want to live in.

Building Microservices: Designing Fine-Grained Systems


Sam Newman - 2014
    But developing these systems brings its own set of headaches. With lots of examples and practical advice, this book takes a holistic view of the topics that system architects and administrators must consider when building, managing, and evolving microservice architectures.Microservice technologies are moving quickly. Author Sam Newman provides you with a firm grounding in the concepts while diving into current solutions for modeling, integrating, testing, deploying, and monitoring your own autonomous services. You'll follow a fictional company throughout the book to learn how building a microservice architecture affects a single domain.Discover how microservices allow you to align your system design with your organization's goalsLearn options for integrating a service with the rest of your systemTake an incremental approach when splitting monolithic codebasesDeploy individual microservices through continuous integrationExamine the complexities of testing and monitoring distributed servicesManage security with user-to-service and service-to-service modelsUnderstand the challenges of scaling microservice architectures

Game Programming Patterns


Robert Nystrom - 2011
    Commercial game development expert Robert Nystrom presents an array of general solutions to problems encountered in game development. For example, you'll learn how double-buffering enables a player to perceive smooth and realistic motion, and how the service locator pattern can help you provide access to services such as sound without coupling your code to any particular sound driver or sound hardware. Games have much in common with other software, but also a number of unique constraints. Some of the patterns in this book are well-known in other domains of software development. Other of the patterns are unique to gaming. In either case, Robert Nystrom bridges from the ivory tower world of software architecture to the in-the-trenches reality of hardcore game programming. You'll learn the patterns and the general problems that they solve. You'll come away able to apply powerful and reusable architectural solutions that enable you to produce higher quality games with less effort than before. Applies classic design patterns to game programming. Introduces new patterns specific to game programming. Brings abstract software architecture down to Earth with approachable writing and an emphasis on simple code that shows each pattern in practice. What you'll learn Overcome architectural challenges unique to game programming Apply lessons from the larger software world to games. Tie different parts of a game (graphics, sound, AI) into a cohesive whole. Create elegant and maintainable architecture. Achieve good, low-level performance. Gain insight into professional, game development. Who this book is forGame Programming Patterns is aimed at professional game programmers who, while successful in shipping games, are frustrated at how hard it sometimes is to add and modify features when a game is under development. Game Programming Patterns shows how to apply modern software practices to the problem of game development while still maintaining the blazing-fast performance demanded by hard-core gamers. Game Programming Patterns also appeals to those learning about game programming in their spare time. Hobbyists and aspiring professionals alike will find much to learn in this book about pathfinding, collision detection, and other game-programming problem domains.

Design Patterns: Elements of Reusable Object-Oriented Software


Erich Gamma - 1994
    Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves.The authors begin by describing what patterns are and how they can help you design object-oriented software. They then go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems. With Design Patterns as your guide, you will learn how these important patterns fit into the software development process, and how you can leverage them to solve your own design problems most efficiently. Each pattern describes the circumstances in which it is applicable, when it can be applied in view of other design constraints, and the consequences and trade-offs of using the pattern within a larger design. All patterns are compiled from real systems and are based on real-world examples. Each pattern also includes code that demonstrates how it may be implemented in object-oriented programming languages like C++ or Smalltalk.

The Glass Cage: How Our Computers Are Changing Us


Nicholas Carr - 2014
    Even as they bring ease to our lives, these programs are stealing something essential from us.Drawing on psychological and neurological studies that underscore how tightly people’s happiness and satisfaction are tied to performing hard work in the real world, Carr reveals something we already suspect: shifting our attention to computer screens can leave us disengaged and discontented.From nineteenth-century textile mills to the cockpits of modern jets, from the frozen hunting grounds of Inuit tribes to the sterile landscapes of GPS maps, The Glass Cage explores the impact of automation from a deeply human perspective, examining the personal as well as the economic consequences of our growing dependence on computers.With a characteristic blend of history and philosophy, poetry and science, Carr takes us on a journey from the work and early theory of Adam Smith and Alfred North Whitehead to the latest research into human attention, memory, and happiness, culminating in a moving meditation on how we can use technology to expand the human experience.

Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability


Steve Krug - 2000
    And it’s still short, profusely illustrated…and best of all–fun to read.If you’ve read it before, you’ll rediscover what made Don’t Make Me Think so essential to Web designers and developers around the world. If you’ve never read it, you’ll see why so many people have said it should be required reading for anyone working on Web sites.

The Myths of Innovation


Scott Berkun - 2007
    We depend more than we realize on wishful thinking and romanticized ideas of history. In the new paperback edition of this fascinating book, a book that has appeared on MSNBC, CNBC, Slashdot.org, Lifehacker.com and in The New York Times, bestselling author Scott Berkun pulls the best lessons from the history of innovation, including the recent software and web age, to reveal powerful and suprising truths about how ideas become successful innovations -- truths people can easily apply to the challenges of today. Through his entertaining and insightful explanations of the inherent patterns in how Einstein’s discovered E=mc2 or Tim Berner Lee’s developed the idea of the world wide web, you will see how to develop existing knowledge into new innovations.Each entertaining chapter centers on breaking apart a powerful myth, popular in the business world despite it's lack of substance. Through Berkun's extensive research into the truth about innovations in technology, business and science, you’ll learn lessons from the expensive failures and dramatic successes of innovations past, and understand how innovators achieved what they did -- and what you need to do to be an innovator yourself. You'll discover:Why problems are more important than solutionsHow the good innovation is the enemy of the greatWhy children are more creative than your co-workersWhy epiphanies and breakthroughs always take timeHow all stories of innovations are distorted by the history effectHow to overcome people’s resistance to new ideasWhy the best idea doesn’t often winThe paperback edition includes four new chapters, focused on appling the lessons from the original book, and helping you develop your skills in creative thinking, pitching ideas, and staying motivated."For centuries before Google, MIT, and IDEO, modern hotbeds of innovation, we struggled to explain any kind of creation, from the universe itself to the multitudes of ideas around us. While we can make atomic bombs, and dry-clean silk ties, we still don’t have satisfying answers for simple questions like: Where do songs come from? Are there an infinite variety of possible kinds of cheese? How did Shakespeare and Stephen King invent so much, while we’re satisfied watching sitcom reruns? Our popular answers have been unconvincing, enabling misleading, fantasy-laden myths to grow strong." -- Scott Berkun, from the text"Berkun sets us free to change the world." -- Guy Kawasaki, author of Art of the StartScott was a manager at Microsoft from 1994-2003, on projects including v1-5 (not 6) of Internet Explorer. He is the author of three bestselling books, Making Things Happen, The Myths of Innovation and Confessions of a Public Speaker. He works full time as a writer and speaker, and his work has appeared in The New York Times, Forbes magazine, The Economist, The Washington Post, Wired magazine, National Public Radio and other media. He regularly contributes to Harvard Business Review and Bloomberg Businessweek, has taught creative thinking at the University of Washington, and has appeared as an innovation and management expert on MSNBC and on CNBC. He writes frequently on innovation and creative thinking at his blog: scottberkun.com and tweets at @berkun.