Why Software Sucks...and What You Can Do about It


David S. Platt - 2006
    . . . Put this one on your must-have list if you have software, love software, hate programmers, or even ARE a programmer, because Mr. Platt (who teaches programming) has set out to puncture the bloated egos of all those who think that just because they can write a program, they can make it easy to use. . . . This book is funny, but it is also an important wake-up call for software companies that want to reduce the size of their customer support bills. If you were ever stuck for an answer to the question, 'Why do good programmers make such awful software?' this book holds the answer."--John McCormick, Locksmith columnist, TechRepublic.com "I must say first, I don't get many computing manuscripts that make me laugh out loud. Between the laughs, Dave Platt delivers some very interesting insight and perspective, all in a lucid and engaging style. I don't get much of that either!"--Henry Leitner, assistant dean for information technology andsenior lecturer on computer science, Harvard University "A riotous book for all of us downtrodden computer users, written in language that we understand."--Stacy Baratelli, author's barber "David's unique take on the problems that bedevil software creation made me think about the process in new ways. If you care about the quality of the software you create or use, read this book."--Dave Chappell, principal, Chappell & Associates "I began to read it in my office but stopped before I reached the bottom of the first page. I couldn't keep a grin off my face! I'll enjoy it after I go back home and find a safe place to read."--Tsukasa Makino, IT manager "David explains, in terms that my mother-in-law can understand, why the software we use today can be so frustrating, even dangerous at times, and gives us some real ideas on what we can do about it."--Jim Brosseau, Clarrus Consulting Group, Inc. A Book for Anyone Who Uses a Computer Today...and Just Wants to Scream! Today's software sucks. There's no other good way to say it. It's unsafe, allowing criminal programs to creep through the Internet wires into our very bedrooms. It's unreliable, crashing when we need it most, wiping out hours or days of work with no way to get it back. And it's hard to use, requiring large amounts of head-banging to figure out the simplest operations.It's no secret that software sucks. You know that from personal experience, whether you use computers for work or personal tasks. In this book, programming insider David Platt explains why that's the case and, more importantly, why it doesn't have to be that way. And he explains it in plain, jargon-free English that's a joy to read, using real-world examples with which you're already familiar. In the end, he suggests what you, as a typical user, without a technical background, can do about this sad state of our software--how you, as an informed consumer, don't have to take the abuse that bad software dishes out.As you might expect from the book's title, Dave's expose is laced with humor--sometimes outrageous, but always dead on. You'll laugh out loud as you recall incidents with your own software that made you cry. You'll slap your thigh with the same hand that so often pounded your computer desk and wished it was a bad programmer's face. But Dave hasn't written this book just for laughs. He's written it to give long-overdue voice to your own discovery--that software does, indeed, suck, but it shouldn't.

The Google Resume: How to Prepare for a Career and Land a Job at Apple, Microsoft, Google, or Any Top Tech Company


Gayle Laakmann McDowell - 2011
    Gayle Laakmann McDowell worked in Google Engineering for three years, where she served on the hiring committee and interviewed over 120 candidates. She interned for Microsoft and Apple, and interviewed with and received offers from ten tech firms. If you're a student, you'll learn what to study and how to prepare while in school, as well as what career paths to consider. If you're a job seeker, you'll get an edge on your competition by learning about hiring procedures and making yourself stand out from other candidates. Covers key concerns like what to major in, which extra-curriculars and other experiences look good, how to apply, how to design and tailor your resume, how to prepare for and excel in the interview, and much more Author was on Google's hiring committee; interned at Microsoft and Apple; has received job offers from more than 10 tech firms; and runs CareerCup.com, a site devoted to tech jobs Get the only comprehensive guide to working at some of America's most dynamic, innovative, and well-paying tech companies with The Google Resume.

Code Complete


Steve McConnell - 1993
    Now this classic book has been fully updated and revised with leading-edge practices--and hundreds of new code samples--illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking--and help you build the highest quality code. Discover the timeless techniques and strategies that help you: Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactor--or evolve--code, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project

Twisty Little Passages: An Approach to Interactive Fiction


Nick Montfort - 2003
    Twisty Little Passages (the title refers to a maze in Adventure, the first interactive fiction) is the first book-length consideration of this form, examining it from gaming and literary perspectives. Nick Montfort, an interactive fiction author himself, offers both aficionados and first-time users a way to approach interactive fiction that will lead to a more pleasurable and meaningful experience of it.Twisty Little Passages looks at interactive fiction beginning with its most important literary ancestor, the riddle. Montfort then discusses Adventure and its precursors (including the I Ching and Dungeons and Dragons), and follows this with an examination of mainframe text games developed in response, focusing on the most influential work of that era, Zork. He then considers the introduction of commercial interactive fiction for home computers, particularly that produced by Infocom. Commercial works inspired an independent reaction, and Montfort describes the emergence of independent creators and the development of an online interactive fiction community in the 1990s. Finally, he considers the influence of interactive fiction on other literary and gaming forms. With Twisty Little Passages, Nick Montfort places interactive fiction in its computational and literary contexts, opening up this still-developing form to new consideration.

Street Samurai Catalog


Tom Dowd - 1990
    A predator-for-hire in the savage urban world of Shadowrun. You've devoted your life to honing your combat and martial skills. The tools of your trade are airfoil grenades, form-fitting body armor, and an Ares Crusader machine-pistol. An expansion for Shadowrun, the Street Samurai Catalog will let you outfit yourself with the latest equipment available on the black market: retractable hand razors, ultrasonic sights, enhanced reflexes, and maybe a rangefinder for your cybereyes. Whatever you need to get the job done, you can find it here, but it won't be cheap. And remember to watch your back before someone decides to make you yesterday's news.

The Emperor's New Mind: Concerning Computers, Minds and the Laws of Physics


Roger Penrose - 1989
    Admittedly, computers now play chess at the grandmaster level, but do they understand the game as we do? Can a computer eventually do everything a human mind can do? In this absorbing and frequently contentious book, Roger Penrose--eminent physicist and winner, with Stephen Hawking, of the prestigious Wolf prize--puts forward his view that there are some facets of human thinking that can never be emulated by a machine. Penrose examines what physics and mathematics can tell us about how the mind works, what they can't, and what we need to know to understand the physical processes of consciousness. He is among a growing number of physicists who think Einstein wasn't being stubborn when he said his little finger told him that quantum mechanics is incomplete, and he concludes that laws even deeper than quantum mechanics are essential for the operation of a mind. To support this contention, Penrose takes the reader on a dazzling tour that covers such topics as complex numbers, Turing machines, complexity theory, quantum mechanics, formal systems, Godel undecidability, phase spaces, Hilbert spaces, black holes, white holes, Hawking radiation, entropy, quasicrystals, the structure of the brain, and scores of other subjects. The Emperor's New Mind will appeal to anyone with a serious interest in modern physics and its relation to philosophical issues, as well as to physicists, mathematicians, philosophers and those on either side of the AI debate.

Stylin' with CSS: A Designer's Guide


Charles Wyke-Smith - 2005
    Stylin with CSS teaches you everything you need to know start using CSS in your web development work, from the basics of markup of your content and styling text, through to creating multi-column page layouts without the use of tables. Learn how to create interface components, such as drop-down menus, navigation links, and animated graphical buttons, using only CSS no JavaScript required. Discover how to design code that will work on the latest standard-compliant browsers, while working around the quirks of the older browsers. With a mastery of CSS, your web design capabilities will move to a new level, and everything you need to know to get your started and build your skills is right here in this book. You ll be stylin in no time!"

Significant Zero: Heroes, Villains, and the Fight for Art and Soul in Video Games


Walt Williams - 2017
     Williams pulls back the curtain on an astonishingly profitable industry that has put its stamp on pop culture and yet is little known to those outside its walls. In his reflective yet comically-observant voice, Williams walks you through his unlikely and at times inglorious rise within one of the world’s top gaming companies, exposing an industry abundant in brain power and out-sized egos, but struggling to stay innovative. Significant Zero also provides clear-eyed criticism of the industry’s addiction to violence and explains how the role of the narrative designer—the poor soul responsible for harmonizing gameplay with storylines—is crucial for expanding the scope of video games into more immersive and emotional experiences. Significant Zero offers a rare look inside this fascinating, billion-dollar industry and a path forward for its talented men and women—gamers and nongamers alike—that imagines how video games might inspire the best in all of us.

Mindstorms: Children, Computers, And Powerful Ideas


Seymour Papert - 1980
    We have Mindstorms to thank for that. In this book, pioneering computer scientist Seymour Papert uses the invention of LOGO, the first child-friendly programming language, to make the case for the value of teaching children with computers. Papert argues that children are more than capable of mastering computers, and that teaching computational processes like de-bugging in the classroom can change the way we learn everything else. He also shows that schools saturated with technology can actually improve socialization and interaction among students and between students and teachers.

Data Structures Using C and C++


Yedidyah Langsam - 1995
     Covers the C++ language, featuring a wealth of tested and debugged working programs in C and C++. Explains and analyzes algorithms -- showing step- by-step solutions to real problems. Presents algorithms as intermediaries between English language descriptions and C programs. Covers classes in C++, including function members, inheritance and object orientation, an example of implementing abstract data types in C++, as well as polymorphism.

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.

Production-Ready Microservices: Building Standardized Systems Across an Engineering Organization


Susan Fowler - 2016
    After splitting a monolithic application or building a microservice ecosystem from scratch, many engineers are left wondering what s next. In this practical book, author Susan Fowler presents a set of microservice standards in depth, drawing from her experience standardizing over a thousand microservices at Uber. You ll learn how to design microservices that are stable, reliable, scalable, fault tolerant, performant, monitored, documented, and prepared for any catastrophe.Explore production-readiness standards, including:Stability and Reliability: develop, deploy, introduce, and deprecate microservices; protect against dependency failuresScalability and Performance: learn essential components for achieving greater microservice efficiencyFault Tolerance and Catastrophe Preparedness: ensure availability by actively pushing microservices to fail in real timeMonitoring: learn how to monitor, log, and display key metrics; establish alerting and on-call proceduresDocumentation and Understanding: mitigate tradeoffs that come with microservice adoption, including organizational sprawl and technical debt"

MCSA/MCSE Self-Paced Training Kit (Exam 70-290): Managing and Maintaining a Microsoft Windows Server 2003 Environment


Dan Holme - 2003
    As you d expect, there s accurate, clearly written coverage of every exam objective (now including Service Pack 1): installation and configuration; user, group, and computer accounts; filesystems and backup/recovery; hardware, disk storage, and printers; Update Services and licensing; monitoring, and more. The content s been extensively revamped and more effectively focused on the exam s objectives. There s also a large Prepare for the Test section packed with questions, answers, testing skills, and suggested practices. You ll find more case studies, more troubleshooting scenarios, electronic practice testing in practically any form your heart desires, and (if you don t have Windows Server handy) a 120-day evaluation version. There s even a 15% discount coupon for your exam -- making this package an even more compelling proposition. Bill Camarda, from the June 2006 href="http://www.barnesandnoble.com/newslet... Only

Learning GNU Emacs


Debra Cameron - 1991
    It is also the most powerful and flexible. Unlike all other text editors, GNU Emacs is a complete working environment--you can stay within Emacs all day without leaving. Learning GNU Emacs, 3rd Edition tells readers how to get started with the GNU Emacs editor. It is a thorough guide that will also "grow" with you: as you become more proficient, this book will help you learn how to use Emacs more effectively. It takes you from basic Emacs usage (simple text editing) to moderately complicated customization and programming.The third edition of Learning GNU Emacs describes Emacs 21.3 from the ground up, including new user interface features such as an icon-based toolbar and an interactive interface to Emacs customization. A new chapter details how to install and run Emacs on Mac OS X, Windows, and Linux, including tips for using Emacs effectively on those platforms.Learning GNU Emacs, third edition, covers:How to edit files with EmacsUsing the operating system shell through EmacsHow to use multiple buffers, windows, and framesCustomizing Emacs interactively and through startup filesWriting macros to circumvent repetitious tasksEmacs as a programming environment for Java, C++, and Perl, among othersUsing Emacs as an integrated development environment (IDE)Integrating Emacs with CVS, Subversion and other change control systems for projects with multiple developersWriting HTML, XHTML, and XML with EmacsThe basics of Emacs LispThe book is aimed at new Emacs users, whether or not they are programmers. Also useful for readers switching from other Emacs implementations to GNU Emacs.

The Design of the UNIX Operating System


Maurice J. Bach - 1986
    The leading selling UNIX internals book on the market.