Book picks similar to
The Government Machine: A Revolutionary History of the Computer by Jon Agar
computing
technology
non-fiction
collection-1
Code Warriors: NSA's Code Breakers and the Secret Intelligence War Against the Soviet Union
Stephen Budiansky - 2016
The National Security Agency grew out of the legendary codebreaking programs of World War II that turned the tide of Allied victory by cracking the famed Enigma machine and other seemingly impenetrable German and Japanese codes. But things became murky in the postwar years, when our intelligence community found itself targeting not battlefield enemies, but suspected spies, foreign leaders, and even American citizens. Now Stephen Budiansky--a longtime expert in cryptology--tells the fascinating story of how the NSA came to be, and of its central, often fraught and controversial role in the major events of the Cold War, from the Korean War to the Cuban Missile Crisis to Vietnam and beyond. He also guides us through the fascinating challenges faced by cryptanalysts, and how they broke some of the most complicated codes of the twentieth century. A riveting, essential history of the underbelly of the Cold War.
Game Engine Architecture
Jason Gregory - 2009
The concepts and techniques described are the actual ones used by real game studios like Electronic Arts and Naughty Dog. The examples are often grounded in specific technologies, but the discussion extends way beyond any particular engine or API. The references and citations make it a great jumping off point for those who wish to dig deeper into any particular aspect of the game development process.Intended as the text for a college level series in game programming, this book can also be used by amateur software engineers, hobbyists, self-taught game programmers, and existing members of the game industry. Junior game engineers can use it to solidify their understanding of game technology and engine architecture. Even senior engineers who specialize in one particular field of game development can benefit from the bigger picture presented in these pages.
Crypto: How the Code Rebels Beat the Government—Saving Privacy in the Digital Age
Steven Levy - 2001
From Stephen Levy—the author who made "hackers" a household word—comes this account of a revolution that is already affecting every citizen in the twenty-first century. Crypto tells the inside story of how a group of "crypto rebels"—nerds and visionaries turned freedom fighters—teamed up with corporate interests to beat Big Brother and ensure our privacy on the Internet. Levy's history of one of the most controversial and important topics of the digital age reads like the best futuristic fiction.
C++ Primer Plus
Stephen Prata - 2004
This guide also illustrates how to handle input and output, make programs perform repetitive tasks, manipulate data, hide information, use functions and build flexible, easily modifiable programs.
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.
Station X: The Codebreakers of Bletchley Park
Michael Smith - 1998
This was to be 'Station X', the Allies' top-secret centre for deciphering enemy codes.Their task was to break the ingenious Enigma cypher used for German high-level communications. The settings for the Enigma machine changed continually and each day the German operators had 159 million million million different possibilities. Yet against all the odds this gifted group achieved the impossible, coping with even greater difficulties to break Shark, the U-Boat Enigma, and Fish, the cypher system used by Hitler to talk to his generals.'Sation X' is also the story of the people involved from leading codebreakers such as Alan Turing, father of the modern computer, to the female operators who intercepted the messages. Through interviews with surviving members of Bletchley Park, Michael Smith has discovered what life was like there. In this chaotic and isolated environment they found time for drama performances, music recitals, orchestras and love affairs.Not only did these people shorten the war by several years - they were essential to victory in the Atlantic and North Africa and to the masterminding of the D-Day landings - 'Station X' was also the birth place of the world's first programmable computer and the successful Anglo-American intelligence partnership.
Database Nation: The Death of Privacy in the 21st Century
Simson Garfinkel - 2000
Those who worry about personal privacy and identity--especially in this day of technologies that encroach upon these rights--still use Orwell's "Big Brother" language to discuss privacy issues. But the reality is that the age of a monolithic Big Brother is over. And yet the threats are perhaps even more likely to destroy the rights we've assumed were ours.Database Nation: The Death of Privacy in the 21st Century shows how, in these early years of the 21st century, advances in technology endanger our privacy in ways never before imagined. Direct marketers and retailers track our every purchase; surveillance cameras observe our movements; mobile phones will soon report our location to those who want to track us; government eavesdroppers listen in on private communications; misused medical records turn our bodies and our histories against us; and linked databases assemble detailed consumer profiles used to predict and influence our behavior. Privacy--the most basic of our civil rights--is in grave peril.Simson Garfinkel--journalist, entrepreneur, and international authority on computer security--has devoted his career to testing new technologies and warning about their implications. This newly revised update of the popular hardcover edition of Database Nation is his compelling account of how invasive technologies will affect our lives in the coming years. It's a timely, far-reaching, entertaining, and thought-provoking look at the serious threats to privacy facing us today. The book poses a disturbing question: how can we protect our basic rights to privacy, identity, and autonomy when technology is making invasion and control easier than ever before?Garfinkel's captivating blend of journalism, storytelling, and futurism is a call to arms. It will frighten, entertain, and ultimately convince us that we must take action now to protect our privacy and identity before it's too late.
Ejb 3 in Action
Debu Panda - 2007
This book builds on the contributions and strengths of seminal technologies like Spring, Hibernate, and TopLink.EJB 3 is the most important innovation introduced in Java EE 5.0. EJB 3 simplifies enterprise development, abandoning the complex EJB 2.x model in favor of a lightweight POJO framework. The new API represents a fresh perspective on EJB without sacrificing the mission of enabling business application developers to create robust, scalable, standards-based solutions.EJB 3 in Action is a fast-paced tutorial, geared toward helping you learn EJB 3 and the Java Persistence API quickly and easily. For newcomers to EJB, this book provides a solid foundation in EJB. For the developer moving to EJB 3 from EJB 2, this book addresses the changes both in the EJB API and in the way the developer should approach EJB and persistence.
Mastering Emacs
Mickey Petersen - 2015
In the Mastering Emacs ebook you will learn the answers to all the concepts that take weeks, months or even years to truly learn, all in one place.“Emacs is such a hard editor to learn”But why is it so hard to learn? As it turns out, it's almost always the same handful of issues that everyone faces.If you have tried to learn Emacs you will have struggled with the same problems everyone faces, and few tutorials to see you through it.I have dedicated the first half of the book to explaining the essence of Emacs — and in doing so, how to overcome these issues:Memorizing Emacs’s keys: You will learn Emacs one key at a time, starting with the arrow keys. To feel productive in Emacs, it’s important you start on an equal footing — without too many new concepts and keys to memorize. Each chapter will introduce more keys and concepts so you can learn at your own pace. Discovering new modes and features: Emacs is a self-documenting editor, and I will teach you how to use the apropos, info, and describe system to discover new modes and features, or help you find things you forgot! Customizing Emacs: You don’t have to learn Emacs Lisp to alter a lot of Emacs’s functionality. Most changes you want to make are possible using Emacs’s Customize interface and I will show you how to use it efficiently. Understanding the terminology: Emacs is so old it predates almost every other editor and all modern user interfaces. I have an entire chapter dedicated to the unique terminology in Emacs; how it is different from other editors, and what that means to you.
The End of Influence: What Happens When Other Countries Have the Money
Stephen S. Cohen - 2009
Now, America finds itself cash poor, and to a great extent power follows money. In The End of Influence, renowned economic analysts Stephen S. Cohen and J. Bradford DeLong explore the grave consequences this loss will have for America's place in the world. America, Cohen and DeLong argue, will no longer be the world's hyperpower. It will no longer wield soft cultural power or dictate a monolithic foreign policy. More damaging, though, is the blow to the world's ability to innovate economically, financially, and politically. Cohen and DeLong also explore American's complicated relationship with China, the misunderstood role of sovereign wealth funds, and the return of state-led capitalism. An essential read for anyone interested in how global economics and finance interact with national policy, The End of Influence explains the far-reaching and potentially long-lasting but little-noted consequences of our great fiscal crisis.
Building Microservices: Designing Fine-Grained Systems
Sam Newman - 2014
But developing these systems brings its own set of headaches. With lots of examples and practical advice, this book takes a holistic view of the topics that system architects and administrators must consider when building, managing, and evolving microservice architectures.Microservice technologies are moving quickly. Author Sam Newman provides you with a firm grounding in the concepts while diving into current solutions for modeling, integrating, testing, deploying, and monitoring your own autonomous services. You'll follow a fictional company throughout the book to learn how building a microservice architecture affects a single domain.Discover how microservices allow you to align your system design with your organization's goalsLearn options for integrating a service with the rest of your systemTake an incremental approach when splitting monolithic codebasesDeploy individual microservices through continuous integrationExamine the complexities of testing and monitoring distributed servicesManage security with user-to-service and service-to-service modelsUnderstand the challenges of scaling microservice architectures
Programming Erlang
Joe Armstrong - 2007
It's used worldwide by companies who need to produce reliable, efficient, and scalable applications. Invest in learning Erlang now.Moore's Law is the observation that the amount you can do on a single chip doubles every two years. But Moore's Law is taking a detour. Rather than producing faster and faster processors, companies such as Intel and AMD are producing multi-core devices: single chips containing two, four, or more processors. If your programs aren't concurrent, they'll only run on a single processor at a time. Your users will think that your code is slow.Erlang is a programming language designed for building highly parallel, distributed, fault-tolerant systems. It has been used commercially for many years to build massive fault-tolerated systems that run for years with minimal failures.Erlang programs run seamlessly on multi-core computers: this means your Erlang program should run a lot faster on a 4 core processor than on a single core processor, all without you having to change a line of code.Erlang combines ideas from the world of functional programming with techniques for building fault-tolerant systems to make a powerful language for building the massively parallel, networked applications of the future.This book presents Erlang and functional programming in the familiar Pragmatic style. And it's written by Joe Armstrong, one of the creators of Erlang.It includes example code you'll be able to build upon. In addition, the book contains the full source code for two interesting applications:A SHOUTcast server which you can use to stream music to every computer in your house, and a full-text indexing and search engine that can index gigabytes of data. Learn how to write programs that run on dozens or even hundreds of local and remote processors. See how to write robust applications that run even in the face of network and hardware failure, using the Erlang programming language.
Scala in Depth
Joshua Suereth - 2012
By presenting the emerging best practices and designs from the Scala community, it guides you through dozens of powerful techniques example by example.About the BookScala is a powerful JVM language that blends the functional and OO programming models. You'll have no trouble getting introductions to Scala in books or online, but it's hard to find great examples and insights from experienced practitioners. You'll find them in Scala in Depth.There's little heavy-handed theory here—just dozens of crisp, practical techniques for coding in Scala. Written for readers who know Java, Scala, or another OO language.Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.What's InsideConcise, expressive, and readable code style How to integrate Scala into your existing Java projects Scala's 2.8.0 collections API How to use actors for concurrent programming Mastering the Scala type system Scala's OO features—type member inheritance, multiple inheritance, and composition Functional concepts and patterns—immutability, applicative functors, and monads==================================================Table of ContentsScala—a blended language The core rules Modicum of style—coding conventions Utilizing object orientation Using implicits to write expressive code The type system Using implicits and types together Using the right collection Actors Integrating Scala with Java Patterns in functional programming
The Mikado Method
Ola Ellnestam - 2014
The Mikado Method is a process for surfacing the dependencies in a codebase, so that you can systematically eliminate technical debt and get things done.It gets its name from a simple game commonly known as "pick-up sticks." You start with a jumbled pile of sticks. The goal is to remove the Mikado, or Emperor, stick without disturbing the others. Players carefully remove sticks one at a time, leaving the rest of the heap intact, slowly exposing the Mikado. The game is a great metaphor for eliminating technical debt—carefully extracting each intertwined dependency until you're able to successfully resolve the central issue and move on.The Mikado Method is a book by the creators of this process. It describes a pragmatic, straightforward, and empirical method to plan and perform non-trivial technical improvements on an existing software system. The method has simple rules, but the applicability is vast. As you read, you'll practice a step-by-step system for identifying the scope and nature of your technical debt, mapping the key dependencies, and determining the safest way to approach the "Mikado"-your goal. A natural byproduct of this process is the Mikado Graph, a minimalistic, relevant, just-in-time roadmap and information radiator that reflects deep understanding of how your system works.
Async in C# 5.0
Alex Davies - 2012
Along with a clear introduction to asynchronous programming, you get an in-depth look at how the async feature works and why you might want to use it in your application.Written for experienced C# programmers—yet approachable for beginners—this book is packed with code examples that you can extend for your own projects.Write your own asynchronous code, and learn how async saves you from this messy choreDiscover new performance possibilities in ASP.NET web server codeExplore how async and WinRT work together in Windows 8 applicationsLearn the importance of the await keyword in async methodsUnderstand which .NET thread is running your code—and at what points in the programUse the Task-based Asynchronous Pattern (TAP) to write asynchronous APIs in .NETTake advantage of parallel computing in modern machinesMeasure async code performance by comparing it with alternatives