The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win


Gene Kim - 2013
    It's Tuesday morning and on his drive into the office, Bill gets a call from the CEO. The company's new IT initiative, code named Phoenix Project, is critical to the future of Parts Unlimited, but the project is massively over budget and very late. The CEO wants Bill to report directly to him and fix the mess in ninety days or else Bill's entire department will be outsourced. With the help of a prospective board member and his mysterious philosophy of The Three Ways, Bill starts to see that IT work has more in common with manufacturing plant work than he ever imagined. With the clock ticking, Bill must organize work flow streamline interdepartmental communications, and effectively serve the other business functions at Parts Unlimited. In a fast-paced and entertaining style, three luminaries of the DevOps movement deliver a story that anyone who works in IT will recognize. Readers will not only learn how to improve their own IT organizations, they'll never view IT the same way again.

Quantum: Einstein, Bohr and the Great Debate About the Nature of Reality


Manjit Kumar - 2007
    And yet for many years it was equally baffling for scientists themselves. Manjit Kumar gives a dramatic and superbly-written history of this fundamental scientific revolution, and the divisive debate at its heart.For 60 years most physicists believed that quantum theory denied the very existence of reality itself. Yet Kumar shows how the golden age of physics ignited the greatest intellectual debate of the twentieth century.Quantum sets the science in the context of the great upheavals of the modern age. In 1925 the quantum pioneers nearly all hailed from upper-middle-class academic families; most were German; and their average age was 24. But it was their irrational, romantic spirit, formed in reaction to the mechanised slaughter of the First World War that inspired their will to test science to its limits.The essential read for anyone fascinated by this complex and thrilling story and by the band of young men at its heart.

Deep Learning


Ian Goodfellow - 2016
    Because the computer gathers knowledge from experience, there is no need for a human computer operator to formally specify all the knowledge that the computer needs. The hierarchy of concepts allows the computer to learn complicated concepts by building them out of simpler ones; a graph of these hierarchies would be many layers deep. This book introduces a broad range of topics in deep learning.The text offers mathematical and conceptual background, covering relevant concepts in linear algebra, probability theory and information theory, numerical computation, and machine learning. It describes deep learning techniques used by practitioners in industry, including deep feedforward networks, regularization, optimization algorithms, convolutional networks, sequence modeling, and practical methodology; and it surveys such applications as natural language processing, speech recognition, computer vision, online recommendation systems, bioinformatics, and videogames. Finally, the book offers research perspectives, covering such theoretical topics as linear factor models, autoencoders, representation learning, structured probabilistic models, Monte Carlo methods, the partition function, approximate inference, and deep generative models.Deep Learning can be used by undergraduate or graduate students planning careers in either industry or research, and by software engineers who want to begin using deep learning in their products or platforms. A website offers supplementary material for both readers and instructors.

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.

Designing Data-Intensive Applications


Martin Kleppmann - 2015
    Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including relational databases, NoSQL datastores, stream or batch processors, and message brokers. What are the right choices for your application? How do you make sense of all these buzzwords?In this practical and comprehensive guide, author Martin Kleppmann helps you navigate this diverse landscape by examining the pros and cons of various technologies for processing and storing data. Software keeps changing, but the fundamental principles remain the same. With this book, software engineers and architects will learn how to apply those ideas in practice, and how to make full use of data in modern applications. Peer under the hood of the systems you already use, and learn how to use and operate them more effectively Make informed decisions by identifying the strengths and weaknesses of different tools Navigate the trade-offs around consistency, scalability, fault tolerance, and complexity Understand the distributed systems research upon which modern databases are built Peek behind the scenes of major online services, and learn from their architectures

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

Stuff Matters: Exploring the Marvelous Materials That Shape Our Man-Made World


Mark Miodownik - 2013
    Why is glass see-through? What makes elastic stretchy? Why does a paper clip bend? Why does any material look and behave the way it does? These are the sorts of questions that Mark Miodownik a globally-renowned materials scientist has spent his life exploring In this book he examines the materials he encounters in a typical morning, from the steel in his razor and the graphite in his pencil to the foam in his sneakers and the concrete in a nearby skyscraper.

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.

Structure and Interpretation of Computer Programs


Harold Abelson - 1984
    This long-awaited revision contains changes throughout the text. There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the course at MIT since the first edition was published. A new theme has been introduced that emphasizes the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming and lazy evaluation, and nondeterministic programming. There are new example sections on higher-order procedures in graphics and on applications of stream processing in numerical programming, and many new exercises. In addition, all the programs have been reworked to run in any Scheme implementation that adheres to the IEEE standard.

How We Got to Now: Six Innovations That Made the Modern World


Steven Johnson - 2014
    Filled with surprising stories of accidental genius and brilliant mistakes—from the French publisher who invented the phonograph before Edison but forgot to include playback, to the Hollywood movie star who helped invent the technology behind Wi-Fi and Bluetooth—How We Got to Now investigates the secret history behind the everyday objects of contemporary life. In his trademark style, Johnson examines unexpected connections between seemingly unrelated fields: how the invention of air-conditioning enabled the largest migration of human beings in the history of the species—to cities such as Dubai or Phoenix, which would otherwise be virtually uninhabitable; how pendulum clocks helped trigger the industrial revolution; and how clean water made it possible to manufacture computer chips. Accompanied by a major six-part television series on PBS, How We Got to Now is the story of collaborative networks building the modern world, written in the provocative, informative, and engaging style that has earned Johnson fans around the globe.

Introduction to Algorithms


Thomas H. Cormen - 1989
    Each chapter is relatively self-contained and can be used as a unit of study. The algorithms are described in English and in a pseudocode designed to be readable by anyone who has done a little programming. The explanations have been kept elementary without sacrificing depth of coverage or mathematical rigor.

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.

Growing Object-Oriented Software, Guided by Tests


Steve Freeman - 2009
    This one's a keeper." --Robert C. Martin "If you want to be an expert in the state of the art in TDD, you need to understand the ideas in this book."--Michael Feathers Test-Driven Development (TDD) is now an established technique for delivering better software faster. TDD is based on a simple idea: Write tests for your code before you write the code itself. However, this simple idea takes skill and judgment to do well. Now there's a practical guide to TDD that takes you beyond the basic concepts. Drawing on a decade of experience building real-world systems, two TDD pioneers show how to let tests guide your development and "grow" software that is coherent, reliable, and maintainable. Steve Freeman and Nat Pryce describe the processes they use, the design principles they strive to achieve, and some of the tools that help them get the job done. Through an extended worked example, you'll learn how TDD works at multiple levels, using tests to drive the features and the object-oriented structure of the code, and using Mock Objects to discover and then describe relationships between objects. Along the way, the book systematically addresses challenges that development teams encounter with TDD--from integrating TDD into your processes to testing your most difficult features. Coverage includes - Implementing TDD effectively: getting started, and maintaining your momentum throughout the project - Creating cleaner, more expressive, more sustainable code - Using tests to stay relentlessly focused on sustaining quality - Understanding how TDD, Mock Objects, and Object-Oriented Design come together in the context of a real software development project - Using Mock Objects to guide object-oriented designs - Succeeding where TDD is difficult: managing complex test data, and testing persistence and concurrency

In Pursuit of the Unknown: 17 Equations That Changed the World


Ian Stewart - 2012
    We often overlook the historical link between mathematics and technological advances, says Stewart—but this connection is integral to any complete understanding of human history.Equations are modeled on the patterns we find in the world around us, says Stewart, and it is through equations that we are able to make sense of, and in turn influence, our world. Stewart locates the origins of each equation he presents—from Pythagoras's Theorem to Newton's Law of Gravity to Einstein's Theory of Relativity—within a particular historical moment, elucidating the development of mathematical and philosophical thought necessary for each equation's discovery. None of these equations emerged in a vacuum, Stewart shows; each drew, in some way, on past equations and the thinking of the day. In turn, all of these equations paved the way for major developments in mathematics, science, philosophy, and technology. Without logarithms (invented in the early 17th century by John Napier and improved by Henry Briggs), scientists would not have been able to calculate the movement of the planets, and mathematicians would not have been able to develop fractal geometry. The Wave Equation is one of the most important equations in physics, and is crucial for engineers studying the vibrations in vehicles and the response of buildings to earthquakes. And the equation at the heart of Information Theory, devised by Claude Shannon, is the basis of digital communication today.An approachable and informative guide to the equations upon which nearly every aspect of scientific and mathematical understanding depends, In Pursuit of the Unknown is also a reminder that equations have profoundly influenced our thinking and continue to make possible many of the advances that we take for granted.

Operation Haystack


Frank Herbert - 1959
    But the problem Orne had was one step tougher than that! A science fiction classic from Frank Herbert, author of DUNE!