The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity


Alan Cooper - 1999
    Cooper details many of these meta functions to explain his central thesis: programmers need to seriously re-evaluate the many user-hostile concepts deeply embedded within the software development process. Rather than provide users with a straightforward set of options, programmers often pile on the bells and whistles and ignore or de-prioritise lingering bugs. For the average user, increased functionality is a great burden, adding to the recurrent chorus that plays: "computers are hard, mysterious, unwieldy things." (An average user, Cooper asserts, who doesn't think that way or who has memorised all the esoteric commands and now lords it over others, has simply been desensitised by too many years of badly designed software.) Cooper's writing style is often overblown, with a pantheon of cutesy terminology (i.e. "dancing bearware") and insider back-patting. (When presenting software to Bill Gates, he reports that Gates replied: "How did you do that?" to which he writes: "I love stumping Bill!") More seriously, he is also unable to see beyond software development's importance--a sin he accuses programmers of throughout the book. Even with that in mind, the central questions Cooper asks are too important to ignore: Are we making users happier? Are we improving the process by which they get work done? Are we making their work hours more effective? Cooper looks to programmers, business managers and what he calls "interaction designers" to question current assumptions and mindsets. Plainly, he asserts that the goal of computer usage should be "not to make anyone feel stupid." Our distance from that goal reinforces the need to rethink entrenched priorities in software planning. -- Jennifer Buckendorff, Amazon.com

Numbers Don't Lie: 71 Things You Need to Know About the World


Vaclav Smil - 2020
    There's a wonderful mix of science, history and wit, all in bite-sized chapters on a broad range of topics.Urgent and essential, Numbers Don't Lie inspires readers to interrogate what they take to be true in these significant times. Smil is on a mission to make facts matter, because after all, numbers may not lie, but which truth do they convey?'The best book to read to better understand our world. Once in a while a book comes along that helps us see our planet more clearly. By showing us numbers about science, health, green technology and more, Smil's book does just that. It should be on every bookshelf!' Linda Yueh, author of The Great Economists'He is rigorously numeric, using data to illuminate every topic he writes about. The word "polymath" was invented to describe people like him' Bill Gates 'Important' Mark Zuckerberg, on Energy 'One of the world's foremost thinkers on development history and a master of statistical analysis . . . The nerd's nerd' Guardian 'There is perhaps no other academic who paints pictures with numbers like Smil' Guardian 'In a world of specialized intellectuals, Smil is an ambitious and astonishing polymath who swings for fences . . . They're among the most data-heavy books you'll find, with a remarkable way of framing basic facts' Wired 'He's a slayer of bullshit' David Keith, Gordon McKay Professor of Applied Physics & Professor of Public Policy, Harvard UniversityVaclav Smil is Distinguished Professor Emeritus at the University of Manitoba. He is the author of over forty books on topics including energy, environmental and population change, food production and nutrition, technical innovation, risk assessment and public policy. No other living scientist has had more books (on a wide variety of topics) reviewed in Nature. A Fellow of the Royal Society of Canada, in 2010 he was named by Foreign Policy as one of the Top 100 Global Thinkers. This is his first book for a more general readership.

Design for the Real World: Human Ecology and Social Change


Victor Papanek - 1972
    Translated into twenty-three languages, it is one of the world's most widely read books on design. In this edition, Victor Papanek examines the attempts by designers to combat the tawdry, the unsafe, the frivolous, the useless product, once again providing a blueprint for sensible, responsible design in this world which is deficient in resources and energy.

Hidden Order: How Adaptation Builds Complexity


John H. Holland - 1995
    Explains how scientists who study complexity are convinced that certain constant processes are at work in all kinds of unrelated complex systems.

Small Data: The Tiny Clues that Uncover Huge Trends


Martin Lindstrom - 2016
    You’ll learn…• How a noise reduction headset at 35,000 feet led to the creation of Pepsi’s new trademarked signature sound.• How a worn down sneaker discovered in the home of an 11-year-old German boy led to LEGO’s incredible turnaround.• How a magnet found on a fridge in Siberia resulted in a U.S. supermarket revolution.• How a toy stuffed bear in a girl’s bedroom helped revolutionize a fashion retailer’s 1,000 stores in 20 different countries.• How an ordinary bracelet helped Jenny Craig increase customer loyalty by 159% in less than a year.• How the ergonomic layout of a car dashboard led to the redesign of the Roomba vacuum.

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.