Mastering Bitcoin: Unlocking Digital Cryptocurrencies


Andreas M. Antonopoulos - 2014
    Whether you're building the next killer app, investing in a startup, or simply curious about the technology, this practical book is essential reading.Bitcoin, the first successful decentralized digital currency, is still in its infancy and it's already spawned a multi-billion dollar global economy. This economy is open to anyone with the knowledge and passion to participate. Mastering Bitcoin provides you with the knowledge you need (passion not included).This book includes:A broad introduction to bitcoin--ideal for non-technical users, investors, and business executivesAn explanation of the technical foundations of bitcoin and cryptographic currencies for developers, engineers, and software and systems architectsDetails of the bitcoin decentralized network, peer-to-peer architecture, transaction lifecycle, and security principlesOffshoots of the bitcoin and blockchain inventions, including alternative chains, currencies, and applicationsUser stories, analogies, examples, and code snippets illustrating key technical concepts

Soonish: Ten Emerging Technologies That'll Improve and/or Ruin Everything


Kelly Weinersmith - 2017
    By weaving together their own research, interviews with pioneering scientists and Zach's trademark comics, the Weinersmiths investigate why these innovations are needed, how they would work, and what is standing in their way.

A People's History of Computing in the United States


Joy Lisi Rankin - 2018
    But throughout the 1960s and 1970s a diverse group of teachers and students working together on academic computing systems conducted many of the activities we now recognize as personal and social computing. Their networks were centered in New Hampshire, Minnesota, and Illinois, but they connected far-flung users. Joy Rankin draws on detailed records to explore how users exchanged messages, programmed music and poems, fostered communities, and developed computer games like The Oregon Trail. These unsung pioneers helped shape our digital world, just as much as the inventors, garage hobbyists, and eccentric billionaires of Palo Alto.By imagining computing as an interactive commons, the early denizens of the digital realm seeded today's debate about whether the internet should be a public utility and laid the groundwork for the concept of net neutrality. Rankin offers a radical precedent for a more democratic digital culture, and new models for the next generation of activists, educators, coders, and makers.

A Discipline of Programming


Edsger W. Dijkstra - 1976
    

Free as in Freedom: Richard Stallman's Crusade for Free Software


Sam Williams - 2002
    It examines Stallman's unique personality and how that personality has been at turns a driving force and a drawback in terms of the movement's overall success.Free as in Freedom examines one man's 20-year attempt to codify and communicate the ethics of 1970s era "hacking" culture in such a way that later generations might easily share and build upon the knowledge of their computing forebears. The book documents Stallman's personal evolution from teenage misfit to prescient adult hacker to political leader and examines how that evolution has shaped the free software movement. Like Alan Greenspan in the financial sector, Richard Stallman has assumed the role of tribal elder within the hacking community, a community that bills itself as anarchic and averse to central leadership or authority. How did this paradox come about? Free as in Freedom provides an answer. It also looks at how the latest twists and turns in the software marketplace have diminished Stallman's leadership role in some areas while augmenting it in others.Finally, Free as in Freedom examines both Stallman and the free software movement from historical viewpoint. Will future generations see Stallman as a genius or crackpot? The answer to that question depends partly on which side of the free software debate the reader currently stands and partly upon the reader's own outlook for the future. 100 years from now, when terms such as "computer," "operating system" and perhaps even "software" itself seem hopelessly quaint, will Richard Stallman's particular vision of freedom still resonate, or will it have taken its place alongside other utopian concepts on the 'ash-heap of history?'

The Man Who Invented the Computer: The Biography of John Atanasoff, Digital Pioneer


Jane Smiley - 2010
    Then he went back and built the machine. It worked. The whole world changed. Why don’t we know the name of John Atanasoff as well as we know those of Alan Turing and John von Neumann? Because he never patented the device, and because the developers of the far-better-known ENIAC almost certainly stole critical ideas from him. But in 1973 a court declared that the patent on that Sperry Rand device was invalid, opening the intellectual property gates to the computer revolution. Jane Smiley tells the quintessentially American story of the child of immigrants John Atanasoff with technical clarity and narrative drive, making the race to develop digital computing as gripping as a real-life techno-thriller.

The Creativity Code: How AI Is Learning to Write, Paint and Think


Marcus du Sautoy - 2019
    They can navigate more data than a doctor or lawyer and act with greater precision. For many years we’ve taken solace in the notion that they can’t create. But now that algorithms can learn and adapt, does the future of creativity belong to machines, too?It is hard to imagine a better guide to the bewildering world of artificial intelligence than Marcus du Sautoy, a celebrated Oxford mathematician whose work on symmetry in the ninth dimension has taken him to the vertiginous edge of mathematical understanding. In The Creativity Code he considers what machine learning means for the future of creativity. The Pollockizer can produce drip paintings in the style of Jackson Pollock, Botnik spins off fanciful (if improbable) scenes inspired by J. K. Rowling, and the music-composing algorithm Emmy managed to fool a panel of Bach experts. But do these programs just mimic, or do they have what it takes to create? Du Sautoy argues that to answer this question, we need to understand how the algorithms that drive them work―and this brings him back to his own subject of mathematics, with its puzzles, constraints, and enticing possibilities.While most recent books on AI focus on the future of work, The Creativity Code moves us to the forefront of creative new technologies and offers a more positive and unexpected vision of our future cohabitation with machines. It challenges us to reconsider what it means to be human―and to crack the creativity code.

The Evolution of Everything: How New Ideas Emerge


Matt Ridley - 2015
    Drawing on anecdotes from science, economics, history, politics and philosophy, Matt Ridley’s wide-ranging, highly opinionated opus demolishes conventional assumptions that major scientific and social imperatives are dictated by those on high, whether in government, business, academia, or morality. On the contrary, our most important achievements develop from the bottom up. Patterns emerge, trends evolve. Just as skeins of geese form Vs in the sky without meaning to, and termites build mud cathedrals without architects, so brains take shape without brain-makers, learning can happen without teaching and morality changes without a plan.Although we neglect, defy and ignore them, bottom-up trends shape the world. The growth of technology, the sanitation-driven health revolution, the quadrupling of farm yields so that more land can be released for nature—these were largely emergent phenomena, as were the Internet, the mobile phone revolution, and the rise of Asia. Ridley demolishes the arguments for design and effectively makes the case for evolution in the universe, morality, genes, the economy, culture, technology, the mind, personality, population, education, history, government, God, money, and the future.

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.

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.

A Mathematician's Apology


G.H. Hardy - 1940
    H. Hardy was one of this century's finest mathematical thinkers, renowned among his contemporaries as a 'real mathematician ... the purest of the pure'. He was also, as C. P. Snow recounts in his Foreword, 'unorthodox, eccentric, radical, ready to talk about anything'. This 'apology', written in 1940 as his mathematical powers were declining, offers a brilliant and engaging account of mathematics as very much more than a science; when it was first published, Graham Greene hailed it alongside Henry James's notebooks as 'the best account of what it was like to be a creative artist'. C. P. Snow's Foreword gives sympathetic and witty insights into Hardy's life, with its rich store of anecdotes concerning his collaboration with the brilliant Indian mathematician Ramanujan, his aphorisms and idiosyncrasies, and his passion for cricket. This is a unique account of the fascination of mathematics and of one of its most compelling exponents in modern times.

Packing for Mars: The Curious Science of Life in the Void


Mary Roach - 2010
    From the Space Shuttle training toilet to a crash test of NASA’s new space capsule, Mary Roach takes us on the surreally entertaining trip into the science of life in space and space on Earth.

The Sciences of the Artificial


Herbert A. Simon - 1969
    There are updates throughout the book as well. These take into account important advances in cognitive psychology and the science of design while confirming and extending the book's basic thesis: that a physical symbol system has the necessary and sufficient means for intelligent action. The chapter "Economic Reality" has also been revised to reflect a change in emphasis in Simon's thinking about the respective roles of organizations and markets in economic systems."People sometimes ask me what they should read to find out about artificial intelligence. Herbert Simon's book The Sciences of the Artificial is always on the list I give them. Every page issues a challenge to conventional thinking, and the layman who digests it well will certainly understand what the field of artificial intelligence hopes to accomplish. I recommend it in the same spirit that I recommend Freud to people who ask about psychoanalysis, or Piaget to those who ask about child psychology: If you want to learn about a subject, start by reading its founding fathers." -- George A. Miller

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

@War: The Rise of the Military-Internet Complex


Shane Harris - 2014
    In fact, as @WAR shows, U.S. hackers were crucial to our victory in Iraq. Shane Harris delves into the frontlines of America’s new cyber war. As recent revelations have shown, government agencies are joining with tech giants like Google and Facebook to collect vast amounts of information. The military has also formed a new alliance with tech and finance companies to patrol cyberspace, and Harris offers a deeper glimpse into this partnership than we have ever seen before. Finally, Harris explains what the new cybersecurity regime means for all of us, who spend our daily lives bound to the Internet — and are vulnerable to its dangers.