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

Marx at the Arcade: Consoles, Controllers, and Class Struggle


Jamie Woodcock - 2019
    In an account that will appeal to hardcore gamers, digital skeptics, and the joystick-curious, Woodcock unravels the vast networks of artists, software developers, and factory and logistics workers whose seen and unseen labor flows into the products we consume on a gargantuan scale. Along the way, he analyzes the increasingly important role the gaming industry plays in contemporary capitalism and the broader transformations of work and the economy that it embodies.

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.

Making Games with Python & Pygame


Al Sweigart - 2012
    Each chapter gives you the complete source code for a new game and teaches the programming concepts from these examples. The book is available under a Creative Commons license and can be downloaded in full for free from http: //inventwithpython.com/pygame This book was written to be understandable by kids as young as 10 to 12 years old, although it is great for anyone of any age who has some familiarity with Python.

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.

Game On!: Video Game History from Pong and Pac-Man to Mario, Minecraft, and More


Dustin Hansen - 2016
    Find out about the fast and furious growth and evolution of video games (including how they are quickly taking over the world!) by looking at some of the most popular, innovative, and influential games ever, from Pong, the very first arcade game ever, to modern hits like Uncharted.Learn about the creators and inspiration (Mario was named after Nintendo's landlord after he barged into a staff meeting demanding rent), discover historical trivia and Easter eggs (The developers of Halo 2 drank over 24,000 gallons of soda while making the game), and explore the innovations that make each game special (The ghosts in Pac-Man are the first example of AI in a video game).Whether you consider yourself a hard-core gamer or are just curious to see what everyone is talking about, Game On! is the book for you!

Hands-On Machine Learning with Scikit-Learn and TensorFlow


Aurélien Géron - 2017
    Now that machine learning is thriving, even programmers who know close to nothing about this technology can use simple, efficient tools to implement programs capable of learning from data. This practical book shows you how.By using concrete examples, minimal theory, and two production-ready Python frameworks—Scikit-Learn and TensorFlow—author Aurélien Géron helps you gain an intuitive understanding of the concepts and tools for building intelligent systems. You’ll learn how to use a range of techniques, starting with simple Linear Regression and progressing to Deep Neural Networks. If you have some programming experience and you’re ready to code a machine learning project, this guide is for you.This hands-on book shows you how to use:Scikit-Learn, an accessible framework that implements many algorithms efficiently and serves as a great machine learning entry pointTensorFlow, a more complex library for distributed numerical computation, ideal for training and running very large neural networksPractical code examples that you can apply without learning excessive machine learning theory or algorithm details

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.

The Elements of Academic Style: Writing for the Humanities


Eric Hayot - 2014
    From granular concerns, such as sentence structure and grammar, to big-picture issues, such as adhering to genre patterns for successful research and publishing and developing productive and rewarding writing habits, Hayot helps ambitious students, newly minted Ph.D.'s, and established professors shape their work and develop their voices.Hayot does more than explain the techniques of academic writing. He aims to adjust the writer's perspective, encouraging scholars to think of themselves as makers and doers of important work. Scholarly writing can be frustrating and exhausting, yet also satisfying and crucial, and Hayot weaves these experiences, including his own trials and tribulations, into an ethos for scholars to draw on as they write. Combining psychological support with practical suggestions for composing introductions and conclusions, developing a schedule for writing, using notes and citations, and structuring paragraphs and essays, this guide to the elements of academic style does its part to rejuvenate scholarship and writing in the humanities.

Dice Games Properly Explained


Reiner Knizia - 2000
    The collection ranges from early games right up to newly invented games. The rules of all games are explained lucidly, and the tactical advice given is explicit.

Diablo III Signature Series Guide


Doug Walsh - 2012
     Exhaustive Bestiary, detailing every monster in the game. In-depth coverage of Heroes to maximize player effectiveness in all five Character Classes. Guide to meeting and leveling up the Blacksmith, Jeweler, and Mystic professions, and how to maximize the relationships and crafting from each Artisan. Presentation of item types, weapons, collectibles, and other loot. Plus: discussion of sets of items, how to get better loot, and manage raw materials. The only official resource to Blizzard's Online Auction House. Bid on and win rare items safely and effectively. Screen shots capture numerous indoor and outdoor areas in new regions of Sanctuary.

Jab, Jab, Jab, Right Hook: How to Tell Your Story in a Noisy Social World


Gary Vaynerchuk - 2013
    Even companies committed to jabbing-patiently engaging with customers to build the relationships so crucial to successful social media campaigns-still yearn to land the powerful, bruising swing that will knock out their opponent or their customer's resistance in one tooth-spritzing, killer blow. Right hooks, after all, convert traffic to sales. They easily show results and ROI. Except when they don't.In the same passionate, street-wise style readers have come to expect, Gary Vaynerchuk is on a mission to improve marketers' right hooks by changing the way they fight to make their customers happy, and ultimately to compete. Thanks to the massive change and proliferation in social media platforms in the last four years, the winning combination of jabs and right hooks is different now. Communication is still key, but context matters more than ever. It's not just about developing high-quality content, but developing high-quality content perfectly adapted to specific social media platforms and mobile devices-content tailor-made for Facebook, YouTube, Instagram, Pinterest, Twitter, and Tumblr. A mash-up of the best elements of Crush It! and The Thank You Economy with a 2013 spin, here is a blueprint to social media marketing strategies that really works.

The Cambridge Encyclopedia of the English Language


David Crystal - 1995
    Rarely has a book so packed with accurate and well researched factual information been so widely read and popularly acclaimed. It has played a key role in the spread of general interest in language matters, generating further publications and broadcasting events for an avid audience. Its First Edition appeared in hardback in 1995 and a revised paperback in 1997. There have been numerous subsequent updated reprintings; but this Second Edition now presents an overhaul of the subject for a new generation of language-lovers and of teachers, students and professional English-users concerned with their own linguistic legacy.The book offers a unique experience of the English language, exploring its past, present and future. David Crystal systematically explains the history, structure, variety and range of uses of English worldwide, employing a rich apparatus of text, pictures, tables, maps and graphics.The length of the Second Edition has increased by 16 pages and there are 44 new illustrations, a new chapter, extensive new material on world English and Internet English, and a complete updating of statistics, further reading suggestions and other references throughout the book.

The Laws of Simplicity: Design, Technology, Business, Life


John Maeda - 2006
    We're rebelling against technology that's too complicated, DVD players with too many menus, and software accompanied by 75-megabyte "read me" manuals. The iPod's clean gadgetry has made simplicity hip. But sometimes we find ourselves caught up in the simplicity paradox: we want something that's simple and easy to use, but also does all the complex things we might ever want it to do. In The Laws of Simplicity, John Maeda offers ten laws for balancing simplicity and complexity in business, technology, and design—guidelines for needing less and actually getting more.Maeda—a professor in MIT's Media Lab and a world-renowned graphic designer—explores the question of how we can redefine the notion of "improved" so that it doesn't always mean something more, something added on.Maeda's first law of simplicity is "Reduce." It's not necessarily beneficial to add technology features just because we can. And the features that we do have must be organized (Law 2) in a sensible hierarchy so users aren't distracted by features and functions they don't need. But simplicity is not less just for the sake of less. Skip ahead to Law 9: "Failure: Accept the fact that some things can never be made simple." Maeda's concise guide to simplicity in the digital age shows us how this idea can be a cornerstone of organizations and their products—how it can drive both business and technology. We can learn to simplify without sacrificing comfort and meaning, and we can achieve the balance described in Law 10. This law, which Maeda calls "The One," tells us: "Simplicity is about subtracting the obvious, and adding the meaningful."

Badass: Making Users Awesome


Kathy Sierra - 2015
    The rules? No marketing budget, no PR stunts, and it must be sustainably successful. No short-term fads.This is not a game of chance. It is a game of skill and strategy.And it begins with a single question: given competing products of equal pricing, promotion, and perceived quality, why does one outsell the others?The answer doesn’t live in the sustainably successful products or services. The answer lives in those who use them.Our goal is to craft a strategy for creating successful users. And that strategy is full of surprising, counter-intuitive, and astonishingly simple techniques that don’t depend on a massive marketing or development budget. Techniques typically overlooked by even the most well-funded, well-staffed product teams.Every role is a key player in this game. Product development, engineering, marketing, user experience, support—everyone on the team. Even if that team is a start-up of one. Armed with a surprisingly overlooked science and a unique POV, we can can reduce the role of luck. We can build sustainably successful products and services that rely not on unethical persuasive marketing tricks but on helping our users have deeper, richer experiences. Not just in the moments while they’re using our product but, more importantly, in the moments when they aren’t.