Rise of the Machines: A Cybernetic History
Thomas Rid traces the evolution of cybernetics from its birth in World War II laboratories to its profound influence on modern society. He explores how mathematician Norbert Wiener’s theories about feedback loops and machine intelligence sparked a cultural obsession with automation. This history reveals how the concept of the cyborg moved from military research into the mainstream, shaping our un…
Shelves
More like this
The Algorithm Design Manual
This volume helps take some of the "mystery" out of identifying and dealing with key algorithms. Drawing heavily on the author's own real-world ex…
Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability
Since Don’t Make Me Think was first published in 2000, over 400,000 Web designers and developers have relied on Steve Krug’s guide to help them un…
The C++ Programming Language
More than three-quarters of a million programmers have benefited from this book in all of its editions Written by Bjarne Stroustrup, the creator o…
Design Patterns: Elements of Reusable Object-Oriented Software
Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct s…
Building Microservices: Designing Fine-Grained Systems
Distributed systems have become more fine-grained in the past 10 years, shifting from code-heavy monolithic applications to smaller, self-containe…
Active Measures: The Secret History of Disinformation and Political Warfare
Thomas Rid provides a comprehensive account of organized deception, tracing the evolution of political warfare from the early twentieth century to…
Introduction to Algorithms
A comprehensive update of the leading algorithms text, with new material on matchings in bipartite graphs, online algorithms, machine learning, an…
Domain-Driven Design: Tackling Complexity in the Heart of Software
"Eric Evans has written a fantastic book on how you can make the design of your software match your mental model of the problem domain you are add…
Test-Driven Development: By Example
Quite simply, test-driven development is meant to eliminate fear in application development. While some fear is healthy (often viewed as a conscie…
The Clean Coder: A Code of Conduct for Professional Programmers
Programmers who endure and succeed amidst swirling uncertainty and nonstop pressure share a common They care deeply about the practice of creating…
Working Effectively with Legacy Code
Get more out of your legacy systems, more performance, functionality, reliability, and manageability.Is your code easy to change? Can you get near…
Fluent Python: Clear, Concise, and Effective Programming
Python's simplicity lets you become productive quickly, but this often means you aren't using everything it has to offer. With this hands-on guide…