Book picks similar to
Simulation and Its Discontents by Sherry Turkle
sociology
embodied-thinking
simulation
research
Head First Design Patterns
Eric Freeman - 2004
At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire), so you look to Design Patterns--the lessons learned by those who've faced the same problems. With Design Patterns, you get to take advantage of the best practices and experience of others, so that you can spend your time on...something else. Something more challenging. Something more complex. Something more fun. You want to learn about the patterns that matter--why to use them, when to use them, how to use them (and when NOT to use them). But you don't just want to see how patterns look in a book, you want to know how they look "in the wild". In their native environment. In other words, in real world applications. You also want to learn how patterns are used in the Java API, and how to exploit Java's built-in pattern support in your own code. You want to learn the real OO design principles and why everything your boss told you about inheritance might be wrong (and what to do instead). You want to learn how those principles will help the next time you're up a creek without a design pattern. Most importantly, you want to learn the "secret language" of Design Patterns so that you can hold your own with your co-worker (and impress cocktail party guests) when he casually mentions his stunningly clever use of Command, Facade, Proxy, and Factory in between sips of a martini. You'll easily counter with your deep understanding of why Singleton isn't as simple as it sounds, how the Factory is so often misunderstood, or on the real relationship between Decorator, Facade and Adapter. With Head First Design Patterns, you'll avoid the embarrassment of thinking Decorator is something from the "Trading Spaces" show. Best of all, in a way that won't put you to sleep! We think your time is too important (and too short) to spend it struggling with academic texts. If you've read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. Using the latest research in neurobiology, cognitive science, and learning theory, Head First Design Patterns will load patterns into your brain in a way that sticks. In a way that lets you put them to work immediately. In a way that makes you better at solving software design problems, and better at speaking the language of patterns with others on your team.
What Computers Still Can't Do: A Critique of Artificial Reason
Hubert L. Dreyfus - 1972
The world has changed since then. Today it is clear that "good old-fashioned AI," based on the idea of using symbolic representations to produce general intelligence, is in decline (although several believers still pursue its pot of gold), and the focus of the AI community has shifted to more complex models of the mind. It has also become more common for AI researchers to seek out and study philosophy. For this edition of his now classic book, Dreyfus has added a lengthy new introduction outlining these changes and assessing the paradigms of connectionism and neural networks that have transformed the field. At a time when researchers were proposing grand plans for general problem solvers and automatic translation machines, Dreyfus predicted that they would fail because their conception of mental functioning was naive, and he suggested that they would do well to acquaint themselves with modern philosophical approaches to human being. "What Computers Still Can't Do" was widely attacked but quietly studied. Dreyfus's arguments are still provocative and focus our attention once again on what it is that makes human beings unique.
Code Complete
Steve McConnell - 1993
Now this classic book has been fully updated and revised with leading-edge practices--and hundreds of new code samples--illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking--and help you build the highest quality code. Discover the timeless techniques and strategies that help you: Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactor--or evolve--code, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project
Understanding Computers and Cognition: A New Foundation for Design
Terry Winograd - 1986
This volume is a theoretical and practical approach to the design of computer technology.
The Future of the Professions: How Technology Will Transform the Work of Human Experts
Richard Susskind - 2015
In an Internet society, according to Richard Susskind and Daniel Susskind, we will neither need nor want doctors, teachers, accountants, architects, the clergy, consultants, lawyers, and many others, to work as they did in the 20th century.The Future of the Professions explains how 'increasingly capable systems' -- from telepresence to artificial intelligence -- will bring fundamental change in the way that the 'practical expertise' of specialists is made available in society.The authors challenge the 'grand bargain' -- the arrangement that grants various monopolies to today's professionals. They argue that our current professions are antiquated, opaque and no longer affordable, and that the expertise of their best is enjoyed only by a few. In their place, they propose six new models for producing and distributing expertise in society.The book raises important practical and moral questions. In an era when machines can out-perform human beings at most tasks, what are the prospects for employment, who should own and control online expertise, and what tasks should be reserved exclusively for people?Based on the authors' in-depth research of more than ten professions, and illustrated by numerous examples from each, this is the first book to assess and question the relevance of the professions in the 21st century.
Refactoring: Improving the Design of Existing Code
Martin Fowler - 1999
Significant numbers of poorly designed programs have been created by less-experienced developers, resulting in applications that are inefficient and hard to maintain and extend. Increasingly, software system professionals are discovering just how difficult it is to work with these inherited, non-optimal applications. For several years, expert-level object programmers have employed a growing collection of techniques to improve the structural integrity and performance of such existing software programs. Referred to as refactoring, these practices have remained in the domain of experts because no attempt has been made to transcribe the lore into a form that all developers could use... until now. In Refactoring: Improving the Design of Existing Software, renowned object technology mentor Martin Fowler breaks new ground, demystifying these master practices and demonstrating how software practitioners can realize the significant benefits of this new process.
Cultures and Organizations: Software of the Mind
Geert Hofstede - 1993
Professor Geert Hofstede's 30 years of field research on cultural differences and the software of the mind helps us look at how we think - and how we fail to think - as members of groups. This newly revised and expanded edition is based on the latest data from Professor Hofstede ongoing field research, and provides detailed comparisons of cross-cultural differences among 70 nations. business, family, schools and political organizations. Professor Hofstede explains phenomena such as culture shock, ethnocentrism, stereotyping, differences in language and humor. Most importantly, he discusses the practical implications of the culture differences described in the book and how understanding these cultural differences can enable people from different cultures to work together more productively. parents. Melding powerful intellectual analysis and hard social, cultural, and organizational research, Hofstede gives a sobering picture of a world perilously lacking in self-knowledge - unaware of serious difference between the businesses, organizations, cultures, and nations that populate our planet despite the fact of globalization. But culture shock - whether between an individual and a new country, between organizations, between the sexes, or between opposing diplomats - can be turned to our advantage, Hofstede says-if we understand it. Cultures and Organizations helps to explain the differences in the way leaders and their followers think, offering practical solutions for those in business and politics to help solve conflict between different groups.
The Idea Factory: Bell Labs and the Great Age of American Innovation
Jon Gertner - 2012
From the transistor to the laser, it s hard to find an aspect of modern life that hasn t been touched by Bell Labs. Why did so many transformative ideas come from Bell Labs? In "The Idea Factory," Jon Gertner traces the origins of some of the twentieth century s most important inventions and delivers a riveting and heretofore untold chapter of American history. At its heart this is a story about the life and work of a small group of brilliant and eccentric men Mervin Kelly, Bill Shockley, Claude Shannon, John Pierce, and Bill Baker who spent their careers at Bell Labs. Their job was to research and develop the future of communications. Small-town boys, childhood hobbyists, oddballs: they give the lie to the idea that Bell Labs was a grim cathedral of top-down command and control.Gertner brings to life the powerful alchemy of the forces at work behind Bell Labs inventions, teasing out the intersections between science, business, and society. He distills the lessons that abide: how to recruit and nurture young talent; how to organize and lead fractious employees; how to find solutions to the most stubbornly vexing problems; how to transform a scientific discovery into a marketable product, then make it even better, cheaper, or both. Today, when the drive to invent has become a mantra, Bell Labs offers us a way to enrich our understanding of the challenges and solutions to technological innovation. Here, after all, was where the foundational ideas on the management of innovation were born. "The Idea Factory" is the story of the origins of modern communications and the beginnings of the information age a deeply human story of extraordinary men who were given extraordinary means time, space, funds, and access to one another and edged the world into a new dimension."
Creation: Life and How to Make It
Steve Grand - 2000
Enormously successful, the game inevitably raises the question: What is artificial life? And in this book--a chance for the devoted fan and the simply curious onlooker to see the world from the perspective of an original philosopher-engineer and intellectual maverick--Steve Grand proposes an answer.From the composition of the brains and bodies of artificial life forms to the philosophical guidelines and computational frameworks that define them, Creation plumbs the practical, social, and ethical aspects and implications of the state of the art. But more than that, the book gives readers access to the insights Grand acquired in writing Creatures--insights that yield a view of the world that is surprisingly antireductionist, antimaterialist, and (to a degree) antimechanistic, a view that sees matter, life, mind, and society as simply different levels of the same thing. Such a hierarchy, Grand suggests, can be mirrored by an equivalent one that exists inside a parallel universe called cyberspace.
Rise of the Robots: Technology and the Threat of a Jobless Future
Martin Ford - 2015
In Rise of the Robots, Silicon Valley entrepreneur Martin Ford argues that this is absolutely not the case. As technology continues to accelerate and machines begin taking care of themselves, fewer people will be necessary. Artificial intelligence is already well on its way to making “good jobs” obsolete: many paralegals, journalists, office workers, and even computer programmers are poised to be replaced by robots and smart software. As progress continues, blue and white collar jobs alike will evaporate, squeezing working- and middle-class families ever further. At the same time, households are under assault from exploding costs, especially from the two major industries—education and health care—that, so far, have not been transformed by information technology. The result could well be massive unemployment and inequality as well as the implosion of the consumer economy itself.In Rise of the Robots, Ford details what machine intelligence and robotics can accomplish, and implores employers, scholars, and policy makers alike to face the implications. The past solutions to technological disruption, especially more training and education, aren't going to work, and we must decide, now, whether the future will see broad-based prosperity or catastrophic levels of inequality and economic insecurity. Rise of the Robots is essential reading for anyone who wants to understand what accelerating technology means for their own economic prospects—not to mention those of their children—as well as for society as a whole.
How Buildings Learn: What Happens After They're Built
Stewart Brand - 1994
How Buildings Learn is a masterful new synthesis that proposes that buildings adapt best when constantly refined and reshaped by their occupants, and that architects can mature from being artists of space to becoming artists of time. From the connected farmhouses of New England to I.M. Pei's Media Lab, from "satisficing" to "form follows funding," from the evolution of bungalows to the invention of Santa Fe Style, from Low Road military surplus buildings to a High Road English classic like Chatsworth—this is a far-ranging survey of unexplored essential territory.More than any other human artifacts, buildings improve with time—if they're allowed to. How Buildings Learn shows how to work with time rather than against it.
The Soul of a New Machine
Tracy Kidder - 1981
Tracy Kidder got a preview of this world in the late 1970s when he observed the engineers of Data General design and build a new 32-bit minicomputer in just one year. His thoughtful, prescient book, The Soul of a New Machine, tells stories of 35-year-old "veteran" engineers hiring recent college graduates and encouraging them to work harder and faster on complex and difficult projects, exploiting the youngsters' ignorance of normal scheduling processes while engendering a new kind of work ethic.These days, we are used to the "total commitment" philosophy of managing technical creation, but Kidder was surprised and even a little alarmed at the obsessions and compulsions he found. From in-house political struggles to workers being permitted to tease management to marathon 24-hour work sessions, The Soul of a New Machine explores concepts that already seem familiar, even old-hat, less than 20 years later. Kidder plainly admires his subjects; while he admits to hopeless confusion about their work, he finds their dedication heroic. The reader wonders, though, what will become of it all, now and in the future. —Rob Lightner
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
Nick MontfortMark Sample - 2012
The authors of this collaboratively written book treat code not as merely functional but as a text—in the case of 10 PRINT, a text that appeared in many different printed sources—that yields a story about its making, its purpose, its assumptions, and more. They consider randomness and regularity in computing and art, the maze in culture, the popular BASIC programming language, and the highly influential Commodore 64 computer.
Natural-Born Cyborgs: Minds, Technologies, and the Future of Human Intelligence
Andy Clark - 2003
But philosopher and cognitive scientist Andy Clark sees it differently. Cyborgs, he writes, are not something to be feared--we already are cyborgs. In Natural-Born Cyborgs, Clark argues that what makes humans so different from other species is our capacity to fully incorporate tools and supporting cultural practices into our existence. Technology as simple as writing on a sketchpad, as familiar as Google or a cellular phone, and as potentially revolutionary as mind-extending neural implants--all exploit our brains' astonishingly plastic nature. Our minds are primed to seek out and incorporate non-biological resources, so that we actually think and feel through our best technologies. Drawing on his expertise in cognitive science, Clark demonstrates that our sense of self and of physical presence can be expanded to a remarkable extent, placing the long-existing telephone and the emerging technology of telepresence on the same continuum. He explores ways in which we have adapted our lives to make use of technology (the measurement of time, for example, has wrought enormous changes in human existence), as well as ways in which increasingly fluid technologies can adapt to individual users during normal use. Bio-technological unions, Clark argues, are evolving with a speed never seen before in history. As we enter an age of wearable computers, sensory augmentation, wireless devices, intelligent environments, thought-controlled prosthetics, and rapid-fire information search and retrieval, the line between the user and her tools grows thinner day by day. This double whammy of plastic brains and increasingly responsive and well-fitted tools creates an unprecedented opportunity for ever-closer kinds of human-machine merger, he writes, arguing that such a merger is entirely natural. A stunning new look at the human brain and the human self, Natural Born Cyborgs reveals how our technology is indeed inseparable from who we are and how we think.
Domain-Driven Design: Tackling Complexity in the Heart of Software
Eric Evans - 2003
"His book is very compatible with XP. It is not about drawing pictures of a domain; it is about how you think of it, the language you use to talk about it, and how you organize your software to reflect your improving understanding of it. Eric thinks that learning about your problem domain is as likely to happen at the end of your project as at the beginning, and so refactoring is a big part of his technique. "The book is a fun read. Eric has lots of interesting stories, and he has a way with words. I see this book as essential reading for software developers--it is a future classic." --Ralph Johnson, author of Design Patterns "If you don't think you are getting value from your investment in object-oriented programming, this book will tell you what you've forgotten to do. "Eric Evans convincingly argues for the importance of domain modeling as the central focus of development and provides a solid framework and set of techniques for accomplishing it. This is timeless wisdom, and will hold up long after the methodologies du jour have gone out of fashion." --Dave Collins, author of Designing Object-Oriented User Interfaces "Eric weaves real-world experience modeling--and building--business applications into a practical, useful book. Written from the perspective of a trusted practitioner, Eric's descriptions of ubiquitous language, the benefits of sharing models with users, object life-cycle management, logical and physical application structuring, and the process and results of deep refactoring are major contributions to our field." --Luke Hohmann, author of Beyond Software Architecture "This book belongs on the shelf of every thoughtful software developer." --Kent Beck "What Eric has managed to capture is a part of the design process that experienced object designers have always used, but that we have been singularly unsuccessful as a group in conveying to the rest of the industry. We've given away bits and pieces of this knowledge...but we've never organized and systematized the principles of building domain logic. This book is important." --Kyle Brown, author of Enterprise Java(TM) Programming with IBM(R) WebSphere(R) The software development community widely acknowledges that domain modeling is central to software design. Through domain models, software developers are able to express rich functionality and translate it into a software implementation that truly serves the needs of its users. But despite its obvious importance, there are few practical resources that explain how to incorporate effective domain modeling into the software development process. Domain-Driven Design fills that need. This is not a book about specific technologies. It offers readers a systematic approach to domain-driven design, presenting an extensive set of design best practices, experience-based techniques, and fundamental principles that facilitate the development of software projects facing complex domains. Intertwining design and development practice, this book incorporates numerous examples based on actual projects to illustrate the application of domain-driven design to real-world software development. Readers learn how to use a domain model to make a complex development effort more focused and dynamic. A core of best practices and standard patterns provides a common language for the development team. A shift in emphasis--refactoring not just the code but the model underlying the code--in combination with the frequent iterations of Agile development leads to deeper insight into domains and enhanced communication between domain expert and programmer. Domain-Driven Design then builds on this foundation, and addresses modeling and design for complex systems and larger organizations.Specific topics covered include:Getting all team members to speak the same language Connecting model and implementation more deeply Sharpening key distinctions in a model Managing the lifecycle of a domain object Writing domain code that is safe to combine in elaborate ways Making complex code obvious and predictable Formulating a domain vision statement Distilling the core of a complex domain Digging out implicit concepts needed in the model Applying analysis patterns Relating design patterns to the model Maintaining model integrity in a large system Dealing with coexisting models on the same project Organizing systems with large-scale structures Recognizing and responding to modeling breakthroughs With this book in hand, object-oriented developers, system analysts, and designers will have the guidance they need to organize and focus their work, create rich and useful domain models, and leverage those models into quality, long-lasting software implementations.