Book picks similar to
When Things Start to Think by Neil Gershenfeld
technology
nonfiction
computers
computer-science
Deep Thinking: Where Machine Intelligence Ends and Human Creativity Begins
Garry Kasparov - 2017
It was the dawn of a new era in artificial intelligence: a machine capable of beating the reigning human champion at this most cerebral game. That moment was more than a century in the making, and in this breakthrough book, Kasparov reveals his astonishing side of the story for the first time. He describes how it felt to strategize against an implacable, untiring opponent with the whole world watching, and recounts the history of machine intelligence through the microcosm of chess, considered by generations of scientific pioneers to be a key to unlocking the secrets of human and machine cognition. Kasparov uses his unrivaled experience to look into the future of intelligent machines and sees it bright with possibility. As many critics decry artificial intelligence as a menace, particularly to human jobs, Kasparov shows how humanity can rise to new heights with the help of our most extraordinary creations, rather than fear them. Deep Thinking is a tightly argued case for technological progress, from the man who stood at its precipice with his own career at stake.
Essential PHP Security
Chris Shiflett - 2005
It also works beautifully with other open source tools, such as the MySQL database and the Apache web server. However, as more web sites are developed in PHP, they become targets for malicious attackers, and developers need to prepare for the attacks.Security is an issue that demands attention, given the growing frequency of attacks on web sites. Essential PHP Security explains the most common types of attacks and how to write code that isn't susceptible to them. By examining specific attacks and the techniques used to protect against them, you will have a deeper understanding and appreciation of the safeguards you are about to learn in this book.In the much-needed (and highly-requested) Essential PHP Security, each chapter covers an aspect of a web application (such as form processing, database programming, session management, and authentication). Chapters describe potential attacks with examples and then explain techniques to help you prevent those attacks.Topics covered include:Preventing cross-site scripting (XSS) vulnerabilitiesProtecting against SQL injection attacksComplicating session hijacking attemptsYou are in good hands with author Chris Shiflett, an internationally-recognized expert in the field of PHP security. Shiflett is also the founder and President of Brain Bulb, a PHP consultancy that offers a variety of services to clients around the world.
The Science of Interstellar
Kip S. Thorne - 2014
Yet in The Science of Interstellar, Kip Thorne, the physicist who assisted Nolan on the scientific aspects of Interstellar, shows us that the movie’s jaw-dropping events and stunning, never-before-attempted visuals are grounded in real science. Thorne shares his experiences working as the science adviser on the film and then moves on to the science itself. In chapters on wormholes, black holes, interstellar travel, and much more, Thorne’s scientific insights—many of them triggered during the actual scripting and shooting of Interstellar—describe the physical laws that govern our universe and the truly astounding phenomena that those laws make possible.Interstellar and all related characters and elements are trademarks of and © Warner Bros. Entertainment Inc. (s14).
Barbarians Led by Bill Gates: Microsoft From The Inside: How The World's Richest Corporation Wields Its Power
Jennifer Edstrom - 1998
District Judge Stanley Sporkin. Teamed with the daughter of one of Bill Gates's closest associates, thirteen-year Microsoft veteran Marlin Eller shows us what it was like at every step along Gates's route to world domination, making all that's been written before seem like a rough guess. If the Justice Department had Eller and Edstrom investigating the current-headline-making antitrust case, they would have on the record many of Microsoft's most respected developers directly contradicting the "authorized" version of events being presented in court. They would know the real scoop on how Windows was developed in the first place, shedding new light on the 1988 Apple v. Microsoft lawsuit over the alleged copying of the Mac. They would even know the real story of how Microsoft killed off Go Corporation, told for the first time by the man who did the deed, Marlin Eller himself. Revealing the smoke-and-mirror deals, the palms greased to help launch a product that didn't exist, and the boneyard of once-thriving competitors targeted by the Gates juggernaut, this book demonstrates with often hilariously damning detail the Microsoft muddle that passes for strategic direction, offset by Gates's uncanny ability to come from behind to crush whoever's on top.
CompTIA A+ Certification All-in-One Exam Guide, Exams 220-901 & 220-902
Mike Meyers - 2014
New topics include managing and maintaining cellular devices, including tablets; configuring operating systems, including Windows 8, Android, and iOS; and enhanced, mobile-centered security and troubleshooting procedures. The All-in-One Exam Guide enables you to take the test with complete confidence. It also serves as a practical reference for IT support and technical personnel.
Bonus electronic content includes:
Practice exams with hundreds of accurate questions More than an hour of video training featuring Mike Meyers Performance-based simulations that prepare you for the performance-based questions on the exam A collection of Mike's favorite free PC tools
Key Features include:
Written with the “in the trenches” voice and clarity Mike Meyers is known for Features pre-assessment tests, exam tips, and “Try This!” sections to reinforce difficult topics Includes a coupon for 10% off of the exam fee, a $37 value
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.
The Fabric of the Cosmos: Space, Time, and the Texture of Reality
Brian Greene - 2003
Yet they remain among the most mysterious of concepts. Is space an entity? Why does time have a direction? Could the universe exist without space and time? Can we travel to the past? Greene has set himself a daunting task: to explain non-intuitive, mathematical concepts like String Theory, the Heisenberg Uncertainty Principle, and Inflationary Cosmology with analogies drawn from common experience. From Newton’s unchanging realm in which space and time are absolute, to Einstein’s fluid conception of spacetime, to quantum mechanics’ entangled arena where vastly distant objects can instantaneously coordinate their behavior, Greene takes us all, regardless of our scientific backgrounds, on an irresistible and revelatory journey to the new layers of reality that modern physics has discovered lying just beneath the surface of our everyday world.
Fluent Python: Clear, Concise, and Effective Programming
Luciano Ramalho - 2015
With this hands-on guide, you'll learn how to write effective, idiomatic Python code by leveraging its best and possibly most neglected features. Author Luciano Ramalho takes you through Python's core language features and libraries, and shows you how to make your code shorter, faster, and more readable at the same time.Many experienced programmers try to bend Python to fit patterns they learned from other languages, and never discover Python features outside of their experience. With this book, those Python programmers will thoroughly learn how to become proficient in Python 3.This book covers:Python data model: understand how special methods are the key to the consistent behavior of objectsData structures: take full advantage of built-in types, and understand the text vs bytes duality in the Unicode ageFunctions as objects: view Python functions as first-class objects, and understand how this affects popular design patternsObject-oriented idioms: build classes by learning about references, mutability, interfaces, operator overloading, and multiple inheritanceControl flow: leverage context managers, generators, coroutines, and concurrency with the concurrent.futures and asyncio packagesMetaprogramming: understand how properties, attribute descriptors, class decorators, and metaclasses work"
The Psychology of Computer Programming
Gerald M. Weinberg - 1971
Weinberg adds new insights and highlights the similarities and differences between now and then. Using a conversational style that invites the reader to join him, Weinberg reunites with some of his most insightful writings on the human side of software engineering.Topics include egoless programming, intelligence, psychological measurement, personality factors, motivation, training, social problems on large projects, problem-solving ability, programming language design, team formation, the programming environment, and much more.Dorset House Publishing is proud to make this important text available to new generations of programmers -- and to encourage readers of the first edition to return to its valuable lessons.
Secrets and Lies: Digital Security in a Networked World
Bruce Schneier - 2000
Identity Theft. Corporate Espionage. National secrets compromised. Can anyone promise security in our digital world?The man who introduced cryptography to the boardroom says no. But in this fascinating read, he shows us how to come closer by developing security measures in terms of context, tools, and strategy. Security is a process, not a product – one that system administrators and corporate executives alike must understand to survive.This edition updated with new information about post-9/11 security.
Java Concurrency in Practice
Brian Goetz - 2005
Now this same team provides the best explanation yet of these new features, and of concurrency in general. Concurrency is no longer a subject for advanced users only. Every Java developer should read this book."--Martin BuchholzJDK Concurrency Czar, Sun Microsystems"For the past 30 years, computer performance has been driven by Moore's Law; from now on, it will be driven by Amdahl's Law. Writing code that effectively exploits multiple processors can be very challenging. Java Concurrency in Practice provides you with the concepts and techniques needed to write safe and scalable Java programs for today's--and tomorrow's--systems."--Doron RajwanResearch Scientist, Intel Corp"This is the book you need if you're writing--or designing, or debugging, or maintaining, or contemplating--multithreaded Java programs. If you've ever had to synchronize a method and you weren't sure why, you owe it to yourself and your users to read this book, cover to cover."--Ted NewardAuthor of Effective Enterprise Java"Brian addresses the fundamental issues and complexities of concurrency with uncommon clarity. This book is a must-read for anyone who uses threads and cares about performance."--Kirk PepperdineCTO, JavaPerformanceTuning.com"This book covers a very deep and subtle topic in a very clear and concise way, making it the perfect Java Concurrency reference manual. Each page is filled with the problems (and solutions!) that programmers struggle with every day. Effectively exploiting concurrency is becoming more and more important now that Moore's Law is delivering more cores but not faster cores, and this book will show you how to do it."--Dr. Cliff ClickSenior Software Engineer, Azul Systems"I have a strong interest in concurrency, and have probably written more thread deadlocks and made more synchronization mistakes than most programmers. Brian's book is the most readable on the topic of threading and concurrency in Java, and deals with this difficult subject with a wonderful hands-on approach. This is a book I am recommending to all my readers of The Java Specialists' Newsletter, because it is interesting, useful, and relevant to the problems facing Java developers today."--Dr. Heinz KabutzThe Java Specialists' Newsletter"I've focused a career on simplifying simple problems, but this book ambitiously and effectively works to simplify a complex but critical subject: concurrency. Java Concurrency in Practice is revolutionary in its approach, smooth and easy in style, and timely in its delivery--it's destined to be a very important book."--Bruce TateAuthor of Beyond Java" Java Concurrency in Practice is an invaluable compilation of threading know-how for Java developers. I found reading this book intellectually exciting, in part because it is an excellent introduction to Java's concurrency API, but mostly because it captures in a thorough and accessible way expert knowledge on threading not easily found elsewhere."--Bill VennersAuthor of Inside the Java Virtual MachineThreads are a fundamental part of the Java platform. As multicore processors become the norm, using concurrency effectively becomes essential for building high-performance applications. Java SE 5 and 6 are a huge step forward for the development of concurrent applications, with improvements to the Java Virtual Machine to support high-performance, highly scalable concurrent classes and a rich set of new concurrency building blocks. In Java Concurrency in Practice , the creators of these new facilities explain not only how they work and how to use them, but also the motivation and design patterns behind them.However, developing, testing, and debugging multithreaded programs can still be very difficult; it is all too easy to create concurrent programs that appear to work, but fail when it matters most: in production, under heavy load. Java Concurrency in Practice arms readers with both the theoretical underpinnings and concrete techniques for building reliable, scalable, maintainable concurrent applications. Rather than simply offering an inventory of concurrency APIs and mechanisms, it provides design rules, patterns, and mental models that make it easier to build concurrent programs that are both correct and performant.This book covers:Basic concepts of concurrency and thread safety Techniques for building and composing thread-safe classes Using the concurrency building blocks in java.util.concurrent Performance optimization dos and don'ts Testing concurrent programs Advanced topics such as atomic variables, nonblocking algorithms, and the Java Memory Model
The Closing of the Western Mind: The Rise of Faith and the Fall of Reason
Charles Freeman - 2002
Adopting those aspects of the religion that suited his purposes, he turned Rome on a course from the relatively open, tolerant and pluralistic civilization of the Hellenistic world, towards a culture that was based on the rule of fixed authority, whether that of the Bible, or the writings of Ptolemy in astronomy and of Galen and Hippocrates in medicine. Only a thousand years later, with the advent of the Renaissance and the emergence of modern science, did Europe begin to free itself from the effects of Constantine's decision, yet the effects of his establishment of Christianity as a state religion remain with us, in many respects, today. Brilliantly wide-ranging and ambitious, this is a major work of history.
Autonomy: The Quest to Build the Driverless Car—And How It Will Reshape Our World
Lawrence D. Burns - 2018
Soon, few of us will own our own automobiles and instead will get around in driverless electric vehicles that we summon with the touch of an app. We will be liberated from driving, prevent over 90% of car crashes, provide freedom of mobility to the elderly and disabled, and decrease our dependence on fossil fuels. Autonomy is the story of the maverick engineers and computer nerds who are creating the revolution. Longtime advisor to the Google Self-Driving Car team and former GM research and development chief Lawrence D. Burns provides the perfectly-timed history of how we arrived at this point, in a character-driven and heavily reported account of the unlikely thinkers who accomplished what billion-dollar automakers never dared.Beginning with the way 9/11 spurred the U.S. government to set a million-dollar prize for a series of off-road robot races in the Mojave Desert up to the early 2016 stampede to develop driverless technology, Autonomy is a page-turner that represents a chronicle of the past, diagnosis of the present, and prediction of the future—the ultimate guide to understanding the driverless car and navigating the revolution it sparks.
The Truth Machine: The Blockchain and the Future of Everything
Michael J. Casey - 2018
The Truth Machine is the best book so far on what has happened and what may come along. It demands the attention of anyone concerned with our economic future." --Lawrence H. Summers, Charles W. Eliot University Professor and President Emeritus at Harvard, Former Treasury SecretaryFrom Michael J. Casey and Paul Vigna, the authors of The Age of Cryptocurrency, comes the definitive work on the Internet's Next Big Thing: The Blockchain.Big banks have grown bigger and more entrenched. Privacy exists only until the next hack. Credit card fraud is a fact of life. Many of the "legacy systems" once designed to make our lives easier and our economy more efficient are no longer up to the task. Yet there is a way past all this--a new kind of operating system with the potential to revolutionize vast swaths of our economy: the blockchain.In The Truth Machine, Michael J. Casey and Paul Vigna demystify the blockchain and explain why it can restore personal control over our data, assets, and identities; grant billions of excluded people access to the global economy; and shift the balance of power to revive society's faith in itself. They reveal the disruption it promises for industries including finance, tech, legal, and shipping.Casey and Vigna expose the challenge of replacing trusted (and not-so-trusted) institutions on which we've relied for centuries with a radical model that bypasses them. The Truth Machine reveals the empowerment possible when self-interested middlemen give way to the transparency of the blockchain, while highlighting the job losses, assertion of special interests, and threat to social cohesion that will accompany this shift. With the same balanced perspective they brought to The Age of Cryptocurrency, Casey and Vigna show why we all must care about the path that blockchain technology takes--moving humanity forward, not backward.
Ethics in Information Technology
George W. Reynolds - 2002
This book offers an excellent foundation in ethical decision-making for current and future business managers and IT professionals.