This Machine Kills Secrets: How WikiLeakers, Cypherpunks, and Hacktivists Aim to Free the World's Information


Andy Greenberg - 2012
    WikiLeaks brought to light a new form of whistleblowing, using powerful cryptographic code to hide leakers’ identities while they spill the private data of government agencies and corporations. But that technology has been evolving for decades in the hands of hackers and radical activists, from the libertarian enclaves of Northern California to Berlin to the Balkans. And the secret-killing machine continues to evolve beyond WikiLeaks, as a movement of hacktivists aims to obliterate the world’s institutional secrecy.This is the story of the code and the characters—idealists, anarchists, extremists—who are transforming the next generation’s notion of what activism can be.With unrivaled access to such major players as Julian Assange, Daniel Domscheit-Berg, and WikiLeaks’ shadowy engineer known as the Architect, never before interviewed, reporter Andy Greenberg unveils the world of politically-motivated hackers—who they are and how they operate.

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.

Normal Accidents: Living with High-Risk Technologies


Charles Perrow - 1984
    Charles Perrow argues that the conventional engineering approach to ensuring safety--building in more warnings and safeguards--fails because systems complexity makes failures inevitable. He asserts that typical precautions, by adding to complexity, may help create new categories of accidents. (At Chernobyl, tests of a new safety system helped produce the meltdown and subsequent fire.) By recognizing two dimensions of risk--complex versus linear interactions, and tight versus loose coupling--this book provides a powerful framework for analyzing risks and the organizations that insist we run them.The first edition fulfilled one reviewer's prediction that it may mark the beginning of accident research. In the new afterword to this edition Perrow reviews the extensive work on the major accidents of the last fifteen years, including Bhopal, Chernobyl, and the Challenger disaster. The new postscript probes what the author considers to be the quintessential 'Normal Accident' of our time: the Y2K computer problem.

The Darkening Web: The War for Cyberspace


Alexander Klimburg - 2017
    Alexander Klimburg was a member of the generation for whom it was a utopian ideal turned reality: a place where ideas, information, and knowledge could be shared and new freedoms found and enjoyed. Two decades later, the future isn't so bright any more: increasingly, the Internet is used as a weapon and a means of domination by states eager to exploit or curtail global connectivity in order to further their national interests. Klimburg is a leading voice in the conversation on the implications of this dangerous shift, and in The Darkening Web, he explains why we underestimate the consequences of states' ambitions to project power in cyberspace at our peril: Not only have hacking and cyber operations fundamentally changed the nature of political conflict--ensnaring states in a struggle to maintain a precarious peace that could rapidly collapse into all-out war--but the rise of covert influencing and information warfare has enabled these same global powers to create and disseminate their own distorted versions of reality in which anything is possible. At stake are not only our personal data or the electrical grid, but the Internet as we know it today--and with it the very existence of open and democratic societies. Blending anecdote with argument, Klimburg brings us face-to-face with the range of threats the struggle for cyberspace presents, from an apocalyptic scenario of debilitated civilian infrastructure to a 1984-like erosion of privacy and freedom of expression. Focusing on different approaches to cyber-conflict in the US, Russia and China, he reveals the extent to which the battle for control of the Internet is as complex and perilous as the one surrounding nuclear weapons during the Cold War--and quite possibly as dangerous for humanity as a whole. Authoritative, thought-provoking, and compellingly argued, The Darkening Web makes clear that the debate about the different aspirations for cyberspace is nothing short of a war over our global values.

Space Is Open for Business: The Industry That Can Transform Humanity


Robert C. Jacobson - 2020
    Jacobson provides a comprehensive overview of this spectacular industry, allowing everyone on Earth to understand the integral role space plays in our lives, how it will continue to transform the world, and how you could participate.In the vein of Mary Roach, Jacobson makes a complex topic easily understandable—and accessible—for every reader.Space as an industry offers a triple bottom line: Return on Investment, Innovation, and Inspiration.INVESTMENTImagine if you had the opportunity to invest in Apple when it was new and undiscovered—would you do it?Space is a culmination of many disciplines, and it works in tandem with various industries. The sector’s growth depends on merging different fields with cutting-edge technologies, fantastical ideas with logical applications.Investors, including John Doerr, Khosla Ventures, Sequoia, RRE, Bessemer Venture Partners, First Round, Peter Thiel’s Founders Fund, and Andreesen Horowitz, took notice and are backing companies in this growing sector.INNOVATIONSpace is the sector with the most unlimited potential for progress and collaboration. When space advances, other industries benefit. When other industries advance, space benefits as well—innovations and progress multiply.From Hollywood to navigation, communications devices to streaming services, medical discoveries to robotics, agriculture to energy, all of these industries affect space and are affected by space—much like bees pollinating flowers.Jacobson proposes that space startups can borrow tactics and strategies developed by other entrepreneurs and thought leaders—such as Peter Thiel, Eric Ries, and Ben Horowitz—to improve space startups' probability for success.INSPIRATIONWhat do Jules Verne, Star Trek, Isaac Asimov, Arthur C. Clarke, Stanley Kubrick, Jerry Pournelle, Andy Weir, and David Bowie have in common?For centuries, artists and creators have helped inspire real space efforts. They merged space with arts and entertainment to construct visions and stories that helped us articulate, amplify, and imagine what is possible—ultimately influencing and shaping reality, from Moon missions to mobile phones.What will we accomplish over the next decade? Is there a way to achieve great personal success and benefit others—maybe even all of humanity?

Creative Selection: Inside Apple's Design Process During the Golden Age of Steve Jobs


Ken Kocienda - 2018
    Creative Selection recounts the life of one of the few who worked behind the scenes, a highly-respected software engineer who worked in the final years the Steve Jobs era--the Golden Age of Apple.Ken Kocienda offers an inside look at Apple's creative process. For fifteen years, he was on the ground floor of the company as a specialist, directly responsible for experimenting with novel user interface concepts and writing powerful, easy-to-use software for products including the iPhone, the iPad, and the Safari web browser. His stories explain the symbiotic relationship between software and product development for those who have never dreamed of programming a computer, and reveal what it was like to work on the cutting edge of technology at one of the world's most admired companies.Kocienda shares moments of struggle and success, crisis and collaboration, illuminating each with lessons learned over his Apple career. He introduces the essential elements of innovation--inspiration, collaboration, craft, diligence, decisiveness, taste, and empathy--and uses these as a lens through which to understand productive work culture.An insider's tale of creativity and innovation at Apple, Creative Selection shows readers how a small group of people developed an evolutionary design model, and how they used this methodology to make groundbreaking and intuitive software which countless millions use every day.

The Road Ahead


Bill Gates - 1995
    Includes a compact disc which is playable on CD-ROM and audio CD players.

The Case of the Missing Moon Rocks


Joe Kloc - 2012
    Decades ago, astronauts brought back 850 pounds of rocks from their lunar journeys; the U.S. gave some away as “goodwill” gifts to the world’s nations. Over time, many of them disappeared, stolen or lost in the aftermath of political turmoil, and offered for millions on the black market. Gutheinz, first as a NASA investigator and then the leader of a intrepid group of students, has dedicated his life to getting them back. Author Joe Kloc tells a wild story of geopolitics, crime, science, and one man’s obsession with keeping the moon out of the wrong hands.

The Unicorn Project


Gene Kim - 2019
    In The Phoenix Project, Bill, an IT manager at Parts Unlimited, is tasked with a project critical to the future of the business, code named Phoenix Project. But the project is massively over budget and behind schedule. The CEO demands Bill fix the mess in ninety days or else Bill's entire department will be outsourced. In The Unicorn Project, we follow Maxine, a senior lead developer and architect, as she is exiled to the Phoenix Project, to the horror of her friends and colleagues, as punishment for contributing to a payroll outage. She tries to survive in what feels like a heartless and uncaring bureaucracy and to work within a system where no one can get anything done without endless committees, paperwork, and approvals. One day, she is approached by a ragtag bunch of misfits who say they want to overthrow the existing order, to liberate developers, to bring joy back to technology work, and to enable the business to win in a time of digital disruption. To her surprise, she finds herself drawn ever further into this movement, eventually becoming one of the leaders of the Rebellion, which puts her in the crosshairs of some familiar and very dangerous enemies. The Age of Software is here, and another mass extinction event looms--this is a story about "red shirt" developers and business leaders working together, racing against time to innovate, survive, and thrive in a time of unprecedented uncertainty...and opportunity.

Writing Solid Code


Steve Maguire - 1993
    Focus is on an in-depth analysis and exposition of not-so-obvious coding errors in the sample code provided. The theme is to answer the questions 'How couild I have automatically detected this bug' and 'How could I have prevented this bug'? Chapters include programmer attitudes, techniques and debugging methodology. A particularly revealing chapter is "Treacheries of the Trade", should be required reading for all C maniacs. The author has been a professional programmer for seventeen years and draws heavily (and candidly) on actual coding problems and practices based on years of experience at Microsoft.

Clean Code: A Handbook of Agile Software Craftsmanship


Robert C. Martin - 2007
    But if code isn't clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn't have to be that way. Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship . Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code on the fly into a book that will instill within you the values of a software craftsman and make you a better programmer but only if you work at it. What kind of work will you be doing? You'll be reading code - lots of code. And you will be challenged to think about what's right about that code, and what's wrong with it. More importantly, you will be challenged to reassess your professional values and your commitment to your craft. Clean Code is divided into three parts. The first describes the principles, patterns, and practices of writing clean code. The second part consists of several case studies of increasing complexity. Each case study is an exercise in cleaning up code - of transforming a code base that has some problems into one that is sound and efficient. The third part is the payoff: a single chapter containing a list of heuristics and "smells" gathered while creating the case studies. The result is a knowledge base that describes the way we think when we write, read, and clean code. Readers will come away from this book understanding ‣ How to tell the difference between good and bad code‣ How to write good code and how to transform bad code into good code‣ How to create good names, good functions, good objects, and good classes‣ How to format code for maximum readability ‣ How to implement complete error handling without obscuring code logic ‣ How to unit test and practice test-driven development This book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.

Sexy Web Design


Elliott Jay Stocks - 2008
    You'll be guided through the entire process of creating a gorgeous, usable web site by applying the timeless principles of user-centered design.Even if you're short on design skills, with this book you'll be creating your own stunning web sites in no time at all.Throughout, the focus is on simple and practical techniques that anyone can use - you don't need to have gone to art school or have artistic flair to create stunning designs using the methods outlined in this book.The book's full-color layout and large format (8" x 10") make Sexy Web Design a pleasure to read.Master key web interface design principles Design amazing web interfaces from scratch Create beautiful, yet functional, web sites Unleash your artistic talents And much more Who should read this book? Whether you're completely new to web design, a seasoned pro looking for inspiration, or a developer wanting to improve your sites' aesthetics, there's something for everyone here.How? Because instead of trying to cover every possible area of creating a web site, we've focused purely on the design stage; that is, everything that happens before a single line of code is written.However, great design is more than just aesthetics. Long before we open our graphics program of choice, we'll be conducting research, dealing with clients, responding to briefs, sketching out sitemaps, planning information architecture, moving from doodles to diagrams, exploring different ways of interactivity, and building upon design traditions.But ultimately, you'll be finding out how to create web sites that look drop-dead gorgeous.

Cracking the Coding Interview: 150 Programming Questions and Solutions


Gayle Laakmann McDowell - 2008
    This is a deeply technical book and focuses on the software engineering skills to ace your interview. The book is over 500 pages and includes 150 programming interview questions and answers, as well as other advice.The full list of topics are as follows:The Interview ProcessThis section offers an overview on questions are selected and how you will be evaluated. What happens when you get a question wrong? When should you start preparing, and how? What language should you use? All these questions and more are answered.Behind the ScenesLearn what happens behind the scenes during your interview, how decisions really get made, who you interview with, and what they ask you. Companies covered include Google, Amazon, Yahoo, Microsoft, Apple and Facebook.Special SituationsThis section explains the process for experience candidates, Program Managers, Dev Managers, Testers / SDETs, and more. Learn what your interviewers are looking for and how much code you need to know.Before the InterviewIn order to ace the interview, you first need to get an interview. This section describes what a software engineer's resume should look like and what you should be doing well before your interview.Behavioral PreparationAlthough most of a software engineering interview will be technical, behavioral questions matter too. This section covers how to prepare for behavioral questions and how to give strong, structured responses.Technical Questions (+ 5 Algorithm Approaches)This section covers how to prepare for technical questions (without wasting your time) and teaches actionable ways to solve the trickiest algorithm problems. It also teaches you what exactly "good coding" is when it comes to an interview.150 Programming Questions and AnswersThis section forms the bulk of the book. Each section opens with a discussion of the core knowledge and strategies to tackle this type of question, diving into exactly how you break down and solve it. Topics covered include• Arrays and Strings• Linked Lists• Stacks and Queues• Trees and Graphs• Bit Manipulation• Brain Teasers• Mathematics and Probability• Object-Oriented Design• Recursion and Dynamic Programming• Sorting and Searching• Scalability and Memory Limits• Testing• C and C++• Java• Databases• Threads and LocksFor the widest degree of readability, the solutions are almost entirely written with Java (with the exception of C / C++ questions). A link is provided with the book so that you can download, compile, and play with the solutions yourself.Changes from the Fourth Edition: The fifth edition includes over 200 pages of new content, bringing the book from 300 pages to over 500 pages. Major revisions were done to almost every solution, including a number of alternate solutions added. The introductory chapters were massively expanded, as were the opening of each of the chapters under Technical Questions. In addition, 24 new questions were added.Cracking the Coding Interview, Fifth Edition is the most expansive, detailed guide on how to ace your software development / programming interviews.

Cybersecurity and Cyberwar: What Everyone Needs to Know(r)


P.W. Singer - 2013
    Today, our entire modern way of life, from communication to commerce to conflict, fundamentally depends on the Internet. And the cybersecurity issues that result challenge literally everyone: politicians wrestling with everything from cybercrime to online freedom; generals protecting the nation from new forms of attack, while planning new cyberwars; business executives defending firms from once unimaginable threats, and looking to make money off of them; lawyers and ethicists building new frameworks for right and wrong. Most of all, cybersecurity issues affect us as individuals. We face new questions in everything from our rights and responsibilities as citizens of both the online and real world to simply how to protect ourselves and our families from a new type of danger. And yet, there is perhaps no issue that has grown so important, so quickly, and that touches so many, that remains so poorly understood.In Cybersecurity and CyberWar: What Everyone Needs to Know�, New York Times best-selling author P. W. Singer and noted cyber expert Allan Friedman team up to provide the kind of easy-to-read, yet deeply informative resource book that has been missing on this crucial issue of 21st century life. Written in a lively, accessible style, filled with engaging stories and illustrative anecdotes, the book is structured around the key question areas of cyberspace and its security: how it all works, why it all matters, and what can we do? Along the way, they take readers on a tour of the important (and entertaining) issues and characters of cybersecurity, from the "Anonymous" hacker group and the Stuxnet computer virus to the new cyber units of the Chinese and U.S. militaries. Cybersecurity and CyberWar: What Everyone Needs to Know� is the definitive account on the subject for us all, which comes not a moment too soon.What Everyone Needs to Know� is a registered trademark of Oxford University Press.

The Old New Thing: Practical Development Throughout the Evolution of Windows


Raymond Chen - 2006
    With this book, Raymond shares his knowledge, experience, and anecdotal stories, allowing all of us to get a better understanding of the operating system that affects millions of people every day. This book has something for everyone, is a casual read, and I highly recommend it!--Jeffrey Richter, Author/Consultant, Cofounder of WintellectVery interesting read. Raymond tells the inside story of why Windows is the way it is.--Eric Gunnerson, Program Manager, Microsoft CorporationAbsolutely essential reading for understanding the history of Windows, its intricacies and quirks, and why they came about.--Matt Pietrek, MSDN Magazine's Under the Hood ColumnistRaymond Chen has become something of a legend in the software industry, and in this book you'll discover why. From his high-level reminiscences on the design of the Windows Start button to his low-level discussions of GlobalAlloc that only your inner-geek could love, The Old New Thing is a captivating collection of anecdotes that will help you to truly appreciate the difficulty inherent in designing and writing quality software.--Stephen Toub, Technical Editor, MSDN MagazineWhy does Windows work the way it does? Why is Shut Down on the Start menu? (And why is there a Start button, anyway?) How can I tap into the dialog loop? Why does the GetWindowText function behave so strangely? Why are registry files called hives?Many of Windows' quirks have perfectly logical explanations, rooted in history. Understand them, and you'll be more productive and a lot less frustrated. Raymond Chen--who's spent more than a decade on Microsoft's Windows development team--reveals the hidden Windows you need to know.Chen's engaging style, deep insight, and thoughtful humor have made him one of the world's premier technology bloggers. Here he brings together behind-the-scenes explanations, invaluable technical advice, and illuminating anecdotes that bring Windows to life--and help you make the most of it.A few of the things you'll find inside:What vending machines can teach you about effective user interfaces A deeper understanding of window and dialog management Why performance optimization can be so counterintuitive A peek at the underbelly of COM objects and the Visual C++ compiler Key details about backwards compatibility--what Windows does and why Windows program security holes most developers don't know about How to make your program a better Windows citizen