Book picks similar to
The Government Machine: A Revolutionary History of the Computer by Jon Agar
non-fiction
technology
computing
box-0095
The Linux Programming Interface: A Linux and Unix System Programming Handbook
Michael Kerrisk - 2010
You'll learn how to:Read and write files efficiently Use signals, clocks, and timers Create processes and execute programs Write secure programs Write multithreaded programs using POSIX threads Build and use shared libraries Perform interprocess communication using pipes, message queues, shared memory, and semaphores Write network applications with the sockets API While The Linux Programming Interface covers a wealth of Linux-specific features, including epoll, inotify, and the /proc file system, its emphasis on UNIX standards (POSIX.1-2001/SUSv3 and POSIX.1-2008/SUSv4) makes it equally valuable to programmers working on other UNIX platforms.The Linux Programming Interface is the most comprehensive single-volume work on the Linux and UNIX programming interface, and a book that's destined to become a new classic.Praise for The Linux Programming Interface "If I had to choose a single book to sit next to my machine when writing software for Linux, this would be it." —Martin Landers, Software Engineer, Google "This book, with its detailed descriptions and examples, contains everything you need to understand the details and nuances of the low-level programming APIs in Linux . . . no matter what the level of reader, there will be something to be learnt from this book." —Mel Gorman, Author of Understanding the Linux Virtual Memory Manager "Michael Kerrisk has not only written a great book about Linux programming and how it relates to various standards, but has also taken care that bugs he noticed got fixed and the man pages were (greatly) improved. In all three ways, he has made Linux programming easier. The in-depth treatment of topics in The Linux Programming Interface . . . makes it a must-have reference for both new and experienced Linux programmers." —Andreas Jaeger, Program Manager, openSUSE, Novell "Michael's inexhaustible determination to get his information right, and to express it clearly and concisely, has resulted in a strong reference source for programmers. While this work is targeted at Linux programmers, it will be of value to any programmer working in the UNIX/POSIX ecosystem." —David Butenhof, Author of Programming with POSIX Threads and Contributor to the POSIX and UNIX Standards ". . . a very thorough—yet easy to read—explanation of UNIX system and network programming, with an emphasis on Linux systems. It's certainly a book I'd recommend to anybody wanting to get into UNIX programming (in general) or to experienced UNIX programmers wanting to know 'what's new' in the popular GNU/Linux system." —Fernando Gont, Network Security Researcher, IETF Participant, and RFC Author ". . . encyclopedic in the breadth and depth of its coverage, and textbook-like in its wealth of worked examples and exercises. Each topic is clearly and comprehensively covered, from theory to hands-on working code. Professionals, students, educators, this is the Linux/UNIX reference that you have been waiting for." —Anthony Robins, Associate Professor of Computer Science, The University of Otago "I've been very impressed by the precision, the quality and the level of detail Michael Kerrisk put in his book. He is a great expert of Linux system calls and lets us share his knowledge and understanding of the Linux APIs." —Christophe Blaess, Author of Programmation systeme en C sous Linux ". . . an essential resource for the serious or professional Linux and UNIX systems programmer. Michael Kerrisk covers the use of all the key APIs across both the Linux and UNIX system interfaces with clear descriptions and tutorial examples and stresses the importance and benefits of following standards such as the Single UNIX Specification and POSIX 1003.1." —Andrew Josey, Director, Standards, The Open Group, and Chair of the POSIX 1003.1 Working Group "What could be better than an encyclopedic reference to the Linux system, from the standpoint of the system programmer, written by none other than the maintainer of the man pages himself? The Linux Programming Interface is comprehensive and detailed. I firmly expect it to become an indispensable addition to my programming bookshelf." —Bill Gallmeister, Author of POSIX.4 Programmer's Guide: Programming for the Real World ". . . the most complete and up-to-date book about Linux and UNIX system programming. If you're new to Linux system programming, if you're a UNIX veteran focused on portability while interested in learning the Linux way, or if you're simply looking for an excellent reference about the Linux programming interface, then Michael Kerrisk's book is definitely the companion you want on your bookshelf." —Loic Domaigne, Chief Software Architect (Embedded), Corpuls.com
Apple: The Inside Story of Intrigue, Egomania, and Business Blunders
Jim Carlton - 1997
Based on exclusive interviews with over 150 people, among them Microsoft's Bill Gates and the inner circle of Apple's top executives, this book reveals new information in an ongoing saga. photo insert.
Concepts, Techniques, and Models of Computer Programming
Peter Van Roy - 2004
The book focuses on techniques of lasting value and explains them precisely in terms of a simple abstract machine. The book presents all major programming paradigms in a uniform framework that shows their deep relationships and how and where to use them together.After an introduction to programming concepts, the book presents both well-known and lesser-known computation models ("programming paradigms"). Each model has its own set of techniques and each is included on the basis of its usefulness in practice. The general models include declarative programming, declarative concurrency, message-passing concurrency, explicit state, object-oriented programming, shared-state concurrency, and relational programming. Specialized models include graphical user interface programming, distributed programming, and constraint programming. Each model is based on its kernel language—a simple core language that consists of a small number of programmer- significant elements. The kernel languages are introduced progressively, adding concepts one by one, thus showing the deep relationships between different models. The kernel languages are defined precisely in terms of a simple abstract machine. Because a wide variety of languages and programming paradigms can be modeled by a small set of closely related kernel languages, this approach allows programmer and student to grasp the underlying unity of programming. The book has many program fragments and exercises, all of which can be run on the Mozart Programming System, an Open Source software package that features an interactive incremental development environment.
The Digital Divide: Arguments for and Against Facebook, Google, Texting, and the Age of Social Networking
Mark Bauerlein - 2011
Some see the technological breakthroughs we live with as hopeful and democratic new steps in education, information gathering, and human progress. But others are deeply concerned by the eroding of civility online, declining reading habits, withering attention spans, and the treacherous effects of 24/7 peer pressure on our young.With The Dumbest Generation, Mark Bauerlein emerged as the foremost voice against the development of an overwhelming digital social culture. But The Digital Divide doesn't take sides. Framing the discussion so that leading voices from across the spectrum, supporters and detractors alike, have the opportunity to weigh in on the profound issues raised by the new media - from questions of reading skills and attention span, to cyber-bullying and the digital playground - Bauerlein's new book takes the debate to a higher ground.The book includes essays by Steven Johnson, Nicholas Carr, Don Tapscott, Douglas Rushkoff, Maggie Jackson, Clay Shirky, Todd Gitlin, and many more. Though these pieces have been previously published, the organization of The Digital Divide gives them freshness and new relevancy, making them part of a single document readers can use to truly get a handle on online privacy, the perils of a plugged-in childhood, and other technology-related hot topics.Rather than dividing the book into "pro" and "con" sections, the essays are arranged by subject - "The Brain, the Senses," "Learning in and out of the Classroom," "Social and Personal Life," "The Millennials," "The Fate of Culture," and "The Human (and Political) Impact." Bauerlein incorporates a short headnote and a capsule bio about each contributor, as well as relevant contextual information about the source of the selection.Bauerlein also provides a new introduction that traces the development of the debate, from the initial Digital Age zeal, to a wave of skepticism, and to a third stage of reflection that wavers between criticism and endorsement.Enthusiasm for the Digital Age has cooled with the passage of time and the piling up of real-life examples that prove the risks of an online-focused culture. However, there is still much debate, comprising thousands of commentaries and hundreds of books, about how these technologies are rewriting our futures. Now, with this timely and definitive volume, readers can finally cut through the clamor, read the the very best writings from each side of The Digital Divide, and make more informed decisions about the presence and place of technology in their lives.
The Future of the Internet and How to Stop It
Jonathan L. Zittrain - 2008
With the unwitting help of its users, the generative Internet is on a path to a lockdown, ending its cycle of innovation—and facilitating unsettling new kinds of control.IPods, iPhones, Xboxes, and TiVos represent the first wave of Internet-centered products that can’t be easily modified by anyone except their vendors or selected partners. These “tethered appliances” have already been used in remarkable but little-known ways: car GPS systems have been reconfigured at the demand of law enforcement to eavesdrop on the occupants at all times, and digital video recorders have been ordered to self-destruct thanks to a lawsuit against the manufacturer thousands of miles away. New Web 2.0 platforms like Google mash-ups and Facebook are rightly touted—but their applications can be similarly monitored and eliminated from a central source. As tethered appliances and applications eclipse the PC, the very nature of the Internet—its “generativity,” or innovative character—is at risk.The Internet’s current trajectory is one of lost opportunity. Its salvation, Zittrain argues, lies in the hands of its millions of users. Drawing on generative technologies like Wikipedia that have so far survived their own successes, this book shows how to develop new technologies and social structures that allow users to work creatively and collaboratively, participate in solutions, and become true “netizens.”The book is available to download under a Creative Commons Attribution Non-Commercial Share-Alike 3.0 license: Download PDF. http://futureoftheinternet.org/download
Thinking about Cybersecurity: From Cyber Crime to Cyber Warfare
Paul Rosenzweig - 2013
Telecommunications, commercial and financial systems, government operations, food production - virtually every aspect of global civilization now depends on interconnected cyber systems to operate; systems that have helped advance medicine, streamline everyday commerce, and so much more. Thinking about Cybersecurity: From Cyber Crime to Cyber Warfare is your guide to understanding the intricate nature of this pressing subject. Delivered by cybersecurity expert and professor Paul Rosenzweig, these 18 engaging lectures will open your eyes to the structure of the Internet, the unique dangers it breeds, and the ways we’re learning how to understand, manage, and reduce these dangers.In addition, Professor Rosenzweig offers sensible tips on how best to protect yourself, your network, or your business from attack or data loss.Disclaimer: The views expressed in this course are those of the professor and do not necessarily reflect the position or policy of the U.S. Department of Homeland Security, the U.S. Department of Defense, or the U.S. government. Disclaimer: Please note that this recording may include references to supplemental texts or print references that are not essential to the program and not supplied with your purchase.©2013 The Teaching Company, LLC (P)2013 The Great Courses
xUnit Test Patterns: Refactoring Test Code
Gerard Meszaros - 2003
An effective testing strategy will deliver new functionality more aggressively, accelerate user feedback, and improve quality. However, for many developers, creating effective automated tests is a unique and unfamiliar challenge. xUnit Test Patterns is the definitive guide to writing automated tests using xUnit, the most popular unit testing framework in use today. Agile coach and test automation expert Gerard Meszaros describes 68 proven patterns for making tests easier to write, understand, and maintain. He then shows you how to make them more robust and repeatable--and far more cost-effective. Loaded with information, this book feels like three books in one. The first part is a detailed tutorial on test automation that covers everything from test strategy to in-depth test coding. The second part, a catalog of 18 frequently encountered "test smells," provides trouble-shooting guidelines to help you determine the root cause of problems and the most applicable patterns. The third part contains detailed descriptions of each pattern, including refactoring instructions illustrated by extensive code samples in multiple programming languages. Topics covered includeWriting better tests--and writing them faster The four phases of automated tests: fixture setup, exercising the system under test, result verification, and fixture teardown Improving test coverage by isolating software from its environment using Test Stubs and Mock Objects Designing software for greater testability Using test "smells" (including code smells, behavior smells, and project smells) to spot problems and know when and how to eliminate them Refactoring tests for greater simplicity, robustness, and execution speed This book will benefit developers, managers, and testers working with any agile or conventional development process, whether doing test-driven development or writing the tests last. While the patterns and smells are especially applicable to all members of the xUnit family, they also apply to next-generation behavior-driven development frameworks such as RSpec and JBehave and to other kinds of test automation tools, including recorded test tools and data-driven test tools such as Fit and FitNesse.Visual Summary of the Pattern Language Foreword Preface Acknowledgments Introduction Refactoring a Test PART I: The Narratives Chapter 1 A Brief Tour Chapter 2 Test Smells Chapter 3 Goals of Test Automation Chapter 4 Philosophy of Test Automation Chapter 5 Principles of Test Automation Chapter 6 Test Automation Strategy Chapter 7 xUnit Basics Chapter 8 Transient Fixture Management Chapter 9 Persistent Fixture Management Chapter 10 Result Verification Chapter 11 Using Test Doubles Chapter 12 Organizing Our Tests Chapter 13 Testing with Databases Chapter 14 A Roadmap to Effective Test Automation PART II: The Test Smells Chapter 15 Code Smells Chapter 16 Behavior Smells Chapter 17 Project Smells PART III: The Patterns Chapter 18 Test Strategy Patterns Chapter 19 xUnit Basics Patterns Chapter 20 Fixture Setup Patterns Chapter 21 Result Verification Patterns Chapter 22 Fixture Teardown Patterns Chapter 23 Test Double Patterns Chapter 24 Test Organization Patterns Chapter 25 Database Patterns Chapter 26 Design-for-Testability Patterns Chapter 27 Value Patterns PART IV: Appendixes Appendix A Test Refactorings Appendix B xUnit Terminology Appendix C xUnit Family Members Appendix D Tools Appendix E Goals and Principles Appendix F Smells, Aliases, and Causes Appendix G Patterns, Aliases, and Variations Glossary References Index "
The Art of Intrusion: The Real Stories Behind the Exploits of Hackers, Intruders and Deceivers
Kevin D. Mitnick - 2005
In his bestselling The Art of Deception, Mitnick presented fictionalized case studies that illustrated how savvy computer crackers use "social engineering" to compromise even the most technically secure computer systems. Now, in his new book, Mitnick goes one step further, offering hair-raising stories of real-life computer break-ins-and showing how the victims could have prevented them. Mitnick's reputation within the hacker community gave him unique credibility with the perpetrators of these crimes, who freely shared their stories with him-and whose exploits Mitnick now reveals in detail for the first time, including:A group of friends who won nearly a million dollars in Las Vegas by reverse-engineering slot machines Two teenagers who were persuaded by terrorists to hack into the Lockheed Martin computer systems Two convicts who joined forces to become hackers inside a Texas prison A "Robin Hood" hacker who penetrated the computer systems of many prominent companies-andthen told them how he gained access With riveting "you are there" descriptions of real computer break-ins, indispensable tips on countermeasures security professionals need to implement now, and Mitnick's own acerbic commentary on the crimes he describes, this book is sure to reach a wide audience-and attract the attention of both law enforcement agencies and the media.
The Systems Bible: The Beginner's Guide to Systems Large and Small: Being the Third Edition of Systemantics
John Gall - 1977
Hardcover published by Quadragle/The New York Times Book Co., third printing, August 1977, copyright 1975.
Godel: A Life Of Logic, The Mind, And Mathematics
John L. Casti - 2000
His Incompleteness Theorem turned not only mathematics but also the whole world of science and philosophy on its head. Equally legendary were Gö's eccentricities, his close friendship with Albert Einstein, and his paranoid fear of germs that eventually led to his death from self-starvation. Now, in the first popular biography of this strange and brilliant thinker, John Casti and Werner DePauli bring the legend to life. After describing his childhood in the Moravian capital of Brno, the authors trace the arc of Gö's remarkable career, from the famed Vienna Circle, where philosophers and scientists debated notions of truth, to the Institute for Advanced Study in Princeton, New Jersey, where he lived and worked until his death in 1978. In the process, they shed light on Gö's contributions to mathematics, philosophy, computer science, artificial intelligence -- even cosmology -- in an entertaining and accessible way.
Google Hacks: Tips & Tools for Finding and Using the World's Information
Rael Dornfest - 2003
But few people realize that Google also gives you hundreds of cool ways to organize and play with information.Since we released the last edition of this bestselling book, Google has added many new features and services to its expanding universe: Google Earth, Google Talk, Google Maps, Google Blog Search, Video Search, Music Search, Google Base, Google Reader, and Google Desktop among them. We've found ways to get these new services to do even more.The expanded third edition of Google Hacks is a brand-new and infinitely more useful book for this powerful search engine. You'll not only find dozens of hacks for the new Google services, but plenty of updated tips, tricks and scripts for hacking the old ones. Now you can make a Google Earth movie, visualize your web site traffic with Google Analytics, post pictures to your blog with Picasa, or access Gmail in your favorite email client. Industrial strength and real-world tested, this new collection enables you to mine a ton of information within Google's reach. And have a lot of fun while doing it:Search Google over IM with a Google Talk bot Build a customized Google Map and add it to your own web site Cover your searching tracks and take back your browsing privacy Turn any Google query into an RSS feed that you can monitor in Google Reader or the newsreader of your choice Keep tabs on blogs in new, useful ways Turn Gmail into an external hard drive for Windows, Mac, or Linux Beef up your web pages with search, ads, news feeds, and more Program Google with the Google API and language of your choice For those of you concerned about Google as an emerging Big Brother, this new edition also offers advice and concrete tips for protecting your privacy. Get into the world of Google and bend it to your will!
C# in Depth
Jon Skeet - 2008
With the many upgraded features, C# is more expressive than ever. However, an in depth understanding is required to get the most out of the language.C# in Depth, Second Edition is a thoroughly revised, up-to-date book that covers the new features of C# 4 as well as Code Contracts. In it, you'll see the subtleties of C# programming in action, learning how to work with high-value features that you'll be glad to have in your toolkit. The book helps readers avoid hidden pitfalls of C# programming by understanding "behind the scenes" issues.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.
Grace Hopper and the Invention of the Information Age
Kurt W. Beyer - 2009
She works hard to succeed in the all-male computer industry, is almost brought down by personal problems but survives them, and ends her career as a celebrated elder stateswoman of computing, a heroine to thousands, hailed as the inventor of computer programming. Throughout Hopper's later years, the popular media told this simplified version of her life story. In Grace Hopper and the Invention of the Information Age, Kurt Beyer reveals a more authentic Hopper, a vibrant and complex woman whose career paralleled the meteoric trajectory of the postwar computer industry.Both rebellious and collaborative, Hopper was influential in male-dominated military and business organizations at a time when women were encouraged to devote themselves to housework and childbearing. Hopper's greatest technical achievement was to create the tools that would allow humans to communicate with computers in terms other than ones and zeroes. This advance influenced all future programming and software design and laid the foundation for the development of user-friendly personal computers.
The C Programming Language
Brian W. Kernighan - 1978
It is the definitive reference guide, now in a second edition. Although the first edition was written in 1978, it continues to be a worldwide best-seller. This second edition brings the classic original up to date to include the ANSI standard. From the Preface: We have tried to retain the brevity of the first edition. C is not a big language, and it is not well served by a big book. We have improved the exposition of critical features, such as pointers, that are central to C programming. We have refined the original examples, and have added new examples in several chapters. For instance, the treatment of complicated declarations is augmented by programs that convert declarations into words and vice versa. As before, all examples have been tested directly from the text, which is in machine-readable form. As we said in the first preface to the first edition, C "wears well as one's experience with it grows." With a decade more experience, we still feel that way. We hope that this book will help you to learn C and use it well.