Book picks similar to
The Universal Computer: The Road from Leibniz to Turing by Martin D. Davis
computer-science
science
math
non-fiction
Accidental Empires
Robert X. Cringely - 1992
Accidental Empires is the trenchant, vastly readable history of that industry, focusing as much on the astoundingly odd personalities at its core—Steve Jobs, Bill Gates, Mitch Kapor, etc. and the hacker culture they spawned as it does on the remarkable technology they created. Cringely reveals the manias and foibles of these men (they are always men) with deadpan hilarity and cogently demonstrates how their neuroses have shaped the computer business. But Cringely gives us much more than high-tech voyeurism and insider gossip. From the birth of the transistor to the mid-life crisis of the computer industry, he spins a sweeping, uniquely American saga of creativity and ego that is at once uproarious, shocking and inspiring.
Site Reliability Engineering: How Google Runs Production Systems
Betsy Beyer - 2016
So, why does conventional wisdom insist that software engineers focus primarily on the design and development of large-scale computing systems?In this collection of essays and articles, key members of Google's Site Reliability Team explain how and why their commitment to the entire lifecycle has enabled the company to successfully build, deploy, monitor, and maintain some of the largest software systems in the world. You'll learn the principles and practices that enable Google engineers to make systems more scalable, reliable, and efficient--lessons directly applicable to your organization.This book is divided into four sections: Introduction--Learn what site reliability engineering is and why it differs from conventional IT industry practicesPrinciples--Examine the patterns, behaviors, and areas of concern that influence the work of a site reliability engineer (SRE)Practices--Understand the theory and practice of an SRE's day-to-day work: building and operating large distributed computing systemsManagement--Explore Google's best practices for training, communication, and meetings that your organization can use
Our Mathematical Universe: My Quest for the Ultimate Nature of Reality
Max Tegmark - 2012
Our Big Bang, our distant future, parallel worlds, the sub-atomic and intergalactic - none of them are what they seem. But there is a way to understand this immense strangeness - mathematics. Seeking an answer to the fundamental puzzle of why our universe seems so mathematical, Tegmark proposes a radical idea: that our physical world not only is described by mathematics, but that it is mathematics. This may offer answers to our deepest questions: How large is reality? What is everything made of? Why is our universe the way it is?Table of ContentsPreface 1 What Is Reality? Not What It Seems • What’s the Ultimate Question? • The Journey Begins Part One: Zooming Out 2 Our Place in Space Cosmic Questions • How Big Is Space? • The Size of Earth • Distance to the Moon • Distance to the Sun and the Planets • Distance to the Stars • Distance to the Galaxies • What Is Space? 3 Our Place in TimeWhere Did Our Solar System Come From? • Where Did theGalaxies Come From? • Where Did the Mysterious MicrowavesCome From? • Where Did the Atoms Come From? 4 Our Universe by NumbersWanted: Precision Cosmology • Precision Microwave-Background Fluctuations • Precision Galaxy Clustering • The Ultimate Map of Our Universe • Where Did Our Big Bang Come From? 5 Our Cosmic Origins What’s Wrong with Our Big Bang? • How Inflation Works • The Gift That Keeps on Giving • Eternal Inflation 6 Welcome to the Multiverse The Level I Multiverse • The Level II Multiverse • Multiverse Halftime Roundup Part Two: Zooming In 7 Cosmic Legos Atomic Legos • Nuclear Legos • Particle-Physics Legos • Mathematical Legos • Photon Legos • Above the Law? • Quanta and Rainbows • Making Waves • Quantum Weirdness • The Collapse of Consensus • The Weirdness Can’t Be Confined • Quantum Confusion 8 The Level III Multiverse The Level III Multiverse • The Illusion of Randomness • Quantum Censorship • The Joys of Getting Scooped • Why Your Brain Isn’t a Quantum Computer • Subject, Object and Environment • Quantum Suicide • Quantum Immortality? • Multiverses Unified • Shifting Views: Many Worlds or Many Words? Part Three: Stepping Back 9 Internal Reality, External Reality and Consensus Reality External Reality and Internal Reality • The Truth, the Whole Truth and Nothing but the Truth • Consensus Reality • Physics: Linking External to Consensus Reality 10 Physical Reality and Mathematical Reality Math, Math Everywhere! • The Mathematical Universe Hypothesis • What Is a Mathematical Structure? 11 Is Time an Illusion? How Can Physical Reality Be Mathematical? • What Are You? • Where Are You? (And What Do You Perceive?) • When Are You? 12 The Level IV Multiverse Why I Believe in the Level IV Multiverse • Exploring the Level IV Multiverse: What’s Out There? • Implications of the Level IV Multiverse • Are We Living in a Simulation? • Relation Between the MUH, the Level IV Multiverse and Other Hypotheses •Testing the Level IV Multiverse 13 Life, Our Universe and Everything How Big Is Our Physical Reality? • The Future of Physics • The Future of Our Universe—How Will It End? • The Future of Life •The Future of You—Are You Insignificant? Acknowledgments Suggestions for Further Reading Index
Problem Solving with Algorithms and Data Structures Using Python
Bradley N. Miller - 2005
It is also about Python. However, there is much more. The study of algorithms and data structures is central to understanding what computer science is all about. Learning computer science is not unlike learning any other type of difficult subject matter. The only way to be successful is through deliberate and incremental exposure to the fundamental ideas. A beginning computer scientist needs practice so that there is a thorough understanding before continuing on to the more complex parts of the curriculum. In addition, a beginner needs to be given the opportunity to be successful and gain confidence. This textbook is designed to serve as a text for a first course on data structures and algorithms, typically taught as the second course in the computer science curriculum. Even though the second course is considered more advanced than the first course, this book assumes you are beginners at this level. You may still be struggling with some of the basic ideas and skills from a first computer science course and yet be ready to further explore the discipline and continue to practice problem solving. We cover abstract data types and data structures, writing algorithms, and solving problems. We look at a number of data structures and solve classic problems that arise. The tools and techniques that you learn here will be applied over and over as you continue your study of computer science.
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"
When Einstein Walked with Gödel: Excursions to the Edge of Thought
Jim Holt - 2018
With his trademark clarity and humor, Holt probes the mysteries of quantum mechanics, the quest for the foundations of mathematics, and the nature of logic and truth. Along the way, he offers intimate biographical sketches of celebrated and neglected thinkers, from the physicist Emmy Noether to the computing pioneer Alan Turing and the discoverer of fractals, Benoit Mandelbrot. Holt offers a painless and playful introduction to many of our most beautiful but least understood ideas, from Einsteinian relativity to string theory, and also invites us to consider why the greatest logician of the twentieth century believed the U.S. Constitution contained a terrible contradiction--and whether the universe truly has a future.
A Madman Dreams of Turing Machines
Janna Levin - 2006
“They are both brilliantly original and outsiders,” the narrator tells us. “They are both besotted with mathematics. But for all their devotion, mathematics is indifferent, unaltered by any of their dramas . . . Against indifference, I want to tell their stories.” Which she does in a haunting, incantatory voice, the two lives unfolding in parallel narratives that overlap in the magnitude of each man’s achievement and demise: Gödel, delusional and paranoid, would starve himself to death; Turing, arrested for homosexual activities, would be driven to suicide. And they meet as well in the narrator’s mind, where facts are interwoven with her desire and determination to find meaning in the maze of their stories: two men devoted to truth of the highest abstract nature, yet unable to grasp the mundane truths of their own lives.A unique amalgam of luminous imagination and richly evoked historic character and event—A Madman Dreams of Turing Machines is a story about the pursuit of truth and its effect on the lives of two men. A story of genius and madness, incredible yet true.
Prediction Machines: The Simple Economics of Artificial Intelligence
Ajay Agrawal - 2018
But facing the sea change that AI will bring can be paralyzing. How should companies set strategies, governments design policies, and people plan their lives for a world so different from what we know? In the face of such uncertainty, many analysts either cower in fear or predict an impossibly sunny future.But in Prediction Machines, three eminent economists recast the rise of AI as a drop in the cost of prediction. With this single, masterful stroke, they lift the curtain on the AI-is-magic hype and show how basic tools from economics provide clarity about the AI revolution and a basis for action by CEOs, managers, policy makers, investors, and entrepreneurs.When AI is framed as cheap prediction, its extraordinary potential becomes clear:
Prediction is at the heart of making decisions under uncertainty. Our businesses and personal lives are riddled with such decisions.
Prediction tools increase productivity--operating machines, handling documents, communicating with customers.
Uncertainty constrains strategy. Better prediction creates opportunities for new business structures and strategies to compete.
Penetrating, fun, and always insightful and practical, Prediction Machines follows its inescapable logic to explain how to navigate the changes on the horizon. The impact of AI will be profound, but the economic framework for understanding it is surprisingly simple.
Learn Python 3 the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code (Zed Shaw's Hard Way Series)
Zed A. Shaw - 2017
Algorithms
Robert Sedgewick - 1983
This book surveys the most important computer algorithms currently in use and provides a full treatment of data structures and algorithms for sorting, searching, graph processing, and string processing -- including fifty algorithms every programmer should know. In this edition, new Java implementations are written in an accessible modular programming style, where all of the code is exposed to the reader and ready to use.The algorithms in this book represent a body of knowledge developed over the last 50 years that has become indispensable, not just for professional programmers and computer science students but for any student with interests in science, mathematics, and engineering, not to mention students who use computation in the liberal arts.The companion web site, algs4.cs.princeton.edu contains An online synopsis Full Java implementations Test data Exercises and answers Dynamic visualizations Lecture slides Programming assignments with checklists Links to related material The MOOC related to this book is accessible via the "Online Course" link at algs4.cs.princeton.edu. The course offers more than 100 video lecture segments that are integrated with the text, extensive online assessments, and the large-scale discussion forums that have proven so valuable. Offered each fall and spring, this course regularly attracts tens of thousands of registrants.Robert Sedgewick and Kevin Wayne are developing a modern approach to disseminating knowledge that fully embraces technology, enabling people all around the world to discover new ways of learning and teaching. By integrating their textbook, online content, and MOOC, all at the state of the art, they have built a unique resource that greatly expands the breadth and depth of the educational experience.
The Pragmatic Programmer: From Journeyman to Master
Andy Hunt - 1999
It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you'll learn how toFight software rot; Avoid the trap of duplicating knowledge; Write flexible, dynamic, and adaptable code; Avoid programming by coincidence; Bullet-proof your code with contracts, assertions, and exceptions; Capture real requirements; Test ruthlessly and effectively; Delight your users; Build teams of pragmatic programmers; and Make your developments more precise with automation. Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies,
The Pragmatic Programmer
illustrates the best practices and major pitfalls of many different aspects of software development. Whether you're a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you'll quickly see improvements in personal productivity, accuracy, and job satisfaction. You'll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You'll become a Pragmatic Programmer.
Linked: How Everything Is Connected to Everything Else and What It Means for Business, Science, and Everyday Life
Albert-László Barabási - 2002
Albert-László Barabási, the nation’s foremost expert in the new science of networks and author of Bursts, takes us on an intellectual adventure to prove that social networks, corporations, and living organisms are more similar than previously thought. Grasping a full understanding of network science will someday allow us to design blue-chip businesses, stop the outbreak of deadly diseases, and influence the exchange of ideas and information. Just as James Gleick and the Erdos–Rényi model brought the discovery of chaos theory to the general public, Linked tells the story of the true science of the future and of experiments in statistical mechanics on the internet, all vital parts of what would eventually be called the Barabási–Albert model.
Learning Perl
Randal L. Schwartz - 1993
Written by three prominent members of the Perl community who each have several years of experience teaching Perl around the world, this edition has been updated to account for all the recent changes to the language up to Perl 5.8.Perl is the language for people who want to get work done. It started as a tool for Unix system administrators who needed something powerful for small tasks. Since then, Perl has blossomed into a full-featured programming language used for web programming, database manipulation, XML processing, and system administration--on practically all platforms--while remaining the favorite tool for the small daily tasks it was designed for. You might start using Perl because you need it, but you'll continue to use it because you love it.Informed by their years of success at teaching Perl as consultants, the authors have re-engineered the Llama to better match the pace and scope appropriate for readers getting started with Perl, while retaining the detailed discussion, thorough examples, and eclectic wit for which the Llama is famous.The book includes new exercises and solutions so you can practice what you've learned while it's still fresh in your mind. Here are just some of the topics covered:Perl variable typessubroutinesfile operationsregular expressionstext processingstrings and sortingprocess managementusing third party modulesIf you ask Perl programmers today what book they relied on most when they were learning Perl, you'll find that an overwhelming majority will point to the Llama. With good reason. Other books may teach you to program in Perl, but this book will turn you into a Perl programmer.
Numerical Recipes in C: The Art of Scientific Computing
William H. Press - 1988
In a self-contained manner it proceeds from mathematical and theoretical considerations to actual practical computer routines. With over 100 new routines bringing the total to well over 300, plus upgraded versions of the original routines, the new edition remains the most practical, comprehensive handbook of scientific computing available today.