The Quick Python Book


Naomi R. Ceder - 2000
    This updated edition includes all the changes in Python 3, itself a significant shift from earlier versions of Python.The book begins with basic but useful programs that teach the core features of syntax, control flow, and data structures. It then moves to larger applications involving code management, object-oriented programming, web development, and converting code from earlier versions of Python.True to his audience of experienced developers, the author covers common programming language features concisely, while giving more detail to those features unique to Python.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.

Dark Mirror: Edward Snowden and the American Surveillance State


Barton Gellman - 2020
    Barton Gellman’s informant called himself ‘Verax’ - the truth-teller. It was only later that Verax unmasked himself as Edward Snowden. But Gellman’s primary role in bringing Snowden’s revelations to light, for which he shared the Pulitzer Prize, is only the beginning of this gripping real-life spy story. Snowden unlocked the door: here Gellman describes what he found on the other side over the course of a years-long journey of investigation. It is also the story of his own escalating battle against unknown digital adversaries after he discovered his own name on a file in the leaked document trove and realised that he himself was under attack.Through a gripping narrative of paranoia, clandestine operations and jaw-dropping revelations, Dark Mirror delineates in full for the first time the hidden superstructure that connects government espionage with Silicon Valley. Who is spying on us and why? Here are the answers.©2020 Barton Gellman (P)2020 Penguin Audio

How Linux Works: What Every Superuser Should Know


Brian Ward - 2004
    Some books try to give you copy-and-paste instructions for how to deal with every single system issue that may arise, but How Linux Works actually shows you how the Linux system functions so that you can come up with your own solutions. After a guided tour of filesystems, the boot sequence, system management basics, and networking, author Brian Ward delves into open-ended topics such as development tools, custom kernels, and buying hardware, all from an administrator's point of view. With a mixture of background theory and real-world examples, this book shows both "how" to administer Linux, and "why" each particular technique works, so that you will know how to make Linux work for you.

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

Site Reliability Engineering: How Google Runs Production Systems


Betsy Beyer - 2016
    So, why does conventional wisdom insist that software engineers focus primarily on the design and development of large-scale computing systems?In this collection of essays and articles, key members of Google's Site Reliability Team explain how and why their commitment to the entire lifecycle has enabled the company to successfully build, deploy, monitor, and maintain some of the largest software systems in the world. You'll learn the principles and practices that enable Google engineers to make systems more scalable, reliable, and efficient--lessons directly applicable to your organization.This book is divided into four sections: Introduction--Learn what site reliability engineering is and why it differs from conventional IT industry practicesPrinciples--Examine the patterns, behaviors, and areas of concern that influence the work of a site reliability engineer (SRE)Practices--Understand the theory and practice of an SRE's day-to-day work: building and operating large distributed computing systemsManagement--Explore Google's best practices for training, communication, and meetings that your organization can use

Tools and Weapons: The Promise and the Peril of the Digital Age


Brad Smith - 2019
    This might seem uncontroversial, but it flies in the face of a tech sector long obsessed with rapid growth and sometimes on disruption as an end in itself. Now, though, we have reached an inflection point: Silicon Valley has moved fast and it has broken things. A new understanding has emerged that companies that create technology must accept greater responsibility for the future. And governments will need to regulate technology by moving faster and catching up with the pace of innovation that is impacting our communities and changing the world.In Tools and Weapons, Brad Smith takes us into the cockpit of one of the world's largest and most powerful tech companies as it finds itself in the middle of some of the thorniest emerging issues of our time. These are challenges that come with no preexisting playbook, including privacy, cybercrime and cyberwar, social media, the moral conundrums of AI, big tech's relationship to inequality and the challenges for democracy, far and near. While in no way a self-glorifying "Microsoft memoir," the book opens up the curtain remarkably wide onto some of the company's most crucial recent decision points, as it strives to protect the hopes technology offers against the very real threats it also presents. Every tool can be a weapon in the wrong person's hands, and companies are being challenged in entirely new ways to embrace the totality of their responsibilities. We have moved from a world in which Silicon Valley could take no prisoners to one in which tech companies and governments must work together to address the challenges and adapt to the changes technology has unleashed. There are huge ramifications to be thought through, and Brad Smith provides a marvelous and urgently necessary contribution to that effort.

Beautiful Code: Leading Programmers Explain How They Think


Andy OramLincoln Stein - 2007
    You will be able to look over the shoulder of major coding and design experts to see problems through their eyes.This is not simply another design patterns book, or another software engineering treatise on the right and wrong way to do things. The authors think aloud as they work through their project's architecture, the tradeoffs made in its construction, and when it was important to break rules. Beautiful Code is an opportunity for master coders to tell their story. All author royalties will be donated to Amnesty International.

The Tcp/IP Guide: A Comprehensive, Illustrated Internet Protocols Reference


Charles Kozierok - 2005
    It details the core protocols that make TCP/IP internetworks function, and the most important classical TCP/IP applications. Its personal, easy-going writing style lets anyone understand the dozens of protocols and technologies that run the Internet, with full coverage of PPP, ARP, IP, IPv6, IP NAT, IPSec, Mobile IP, ICMP, RIP, BGP, TCP, UDP, DNS, DHCP, SNMP, FTP, SMTP, NNTP, HTTP, Telnet and much more. The author offers not only a detailed view of the TCP/IP protocol suite, but also describes networking fundamentals and the important OSI Reference Model.

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.

D is for Digital: What a well-informed person should know about computers and communications


Brian W. Kernighan - 2011
    

MAKE: Electronics: Learning Through Discovery


Charles Platt - 2008
    I also love the sense of humor. It's very good at disarming the fear. And it's gorgeous. I'll be recommending this book highly." --Tom Igoe, author of Physical Computing and Making Things TalkWant to learn the fundamentals of electronics in a fun, hands-on way? With Make: Electronics, you'll start working on real projects as soon as you crack open the book. Explore all of the key components and essential principles through a series of fascinating experiments. You'll build the circuits first, then learn the theory behind them!Build working devices, from simple to complex You'll start with the basics and then move on to more complicated projects. Go from switching circuits to integrated circuits, and from simple alarms to programmable microcontrollers. Step-by-step instructions and more than 500 full-color photographs and illustrations will help you use -- and understand -- electronics concepts and techniques.Discover by breaking things: experiment with components and learn from failureSet up a tricked-out project space: make a work area at home, equipped with the tools and parts you'll needLearn about key electronic components and their functions within a circuitCreate an intrusion alarm, holiday lights, wearable electronic jewelry, audio processors, a reflex tester, and a combination lockBuild an autonomous robot cart that can sense its environment and avoid obstaclesGet clear, easy-to-understand explanations of what you're doing and why

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.

Zero Day


Mark E. Russinovich - 2011
    An oil tanker runs aground in Japan when its navigational system suddenly stops dead. Hospitals everywhere have to abandon their computer databases when patients die after being administered incorrect dosages of their medicine. In the Midwest, a nuclear power plant nearly becomes the next Chernobyl when its cooling systems malfunction.At first, these random computer failures seem like unrelated events. But Jeff Aiken, a former government analyst who quit in disgust after witnessing the gross errors that led to 9/11, thinks otherwise. Jeff fears a more serious attack targeting the U.S. computer infrastructure is already under way. And as other menacing computer malfunctions pop up around the world, some with deadly results, he realizes that there isn't much time if he hopes to prevent an international catastrophe.Written by a global authority on cyber security, Zero Day presents a chilling "what if" scenario that, in a world completely reliant on technology, is more than possible today -- it's a cataclysmic disaster just waiting to happen.

Learning PHP, MySQL, and JavaScript: A Step-By-Step Guide to Creating Dynamic Websites


Robin Nixon - 2009
    You'll learn how to create responsive, data-driven websites with PHP, MySQL, and JavaScript, regardless of whether you already know how to program. Discover how the powerful combination of PHP and MySQL provides an easy way to build modern websites complete with dynamic data and user interaction. You'll also learn how to add JavaScript to create rich Internet applications and websites.Learning PHP, MySQL, and JavaScript explains each technology separately, shows you how to combine them, and introduces valuable web programming concepts, including objects, XHTML, cookies, and session management. You'll practice what you've learned with review questions in each chapter, and find a sample social networking platform built with the elements introduced in this book. This book will help you:-Understand PHP essentials and the basics of object-oriented programming-Master MySQL, from database structure to complex queries-Create web pages with PHP and MySQL by integrating forms and other HTML features-Learn about JavaScript, from functions and event handling to accessing the Document Object Model-Use libraries and packages, including the Smarty web template system, PEAR program repository, and the Yahoo! User Interface Library -Make Ajax calls and turn your website into a highly dynamic environment-Upload and manipulate files and images, validate user input, and secure your applications

Python Crash Course: A Hands-On, Project-Based Introduction to Programming


Eric Matthes - 2015
    You'll also learn how to make your programs interactive and how to test your code safely before adding it to a project. In the second half of the book, you'll put your new knowledge into practice with three substantial projects: a Space Invaders-inspired arcade game, data visualizations with Python's super-handy libraries, and a simple web app you can deploy online.As you work through Python Crash Course, you'll learn how to: Use powerful Python libraries and tools, including matplotlib, NumPy, and PygalMake 2D games that respond to keypresses and mouse clicks, and that grow more difficult as the game progressesWork with data to generate interactive visualizationsCreate and customize simple web apps and deploy them safely onlineDeal with mistakes and errors so you can solve your own programming problemsIf you've been thinking seriously about digging into programming, Python Crash Course will get you up to speed and have you writing real programs fast. Why wait any longer? Start your engines and code!