Hackers & Painters: Big Ideas from the Computer Age


Paul Graham - 2004
    Who are these people, what motivates them, and why should you care?Consider these facts: Everything around us is turning into computers. Your typewriter is gone, replaced by a computer. Your phone has turned into a computer. So has your camera. Soon your TV will. Your car was not only designed on computers, but has more processing power in it than a room-sized mainframe did in 1970. Letters, encyclopedias, newspapers, and even your local store are being replaced by the Internet.Hackers & Painters: Big Ideas from the Computer Age, by Paul Graham, explains this world and the motivations of the people who occupy it. In clear, thoughtful prose that draws on illuminating historical examples, Graham takes readers on an unflinching exploration into what he calls “an intellectual Wild West.”The ideas discussed in this book will have a powerful and lasting impact on how we think, how we work, how we develop technology, and how we live. Topics include the importance of beauty in software design, how to make wealth, heresy and free speech, the programming language renaissance, the open-source movement, digital design, internet startups, and more.

Head First Design Patterns


Eric Freeman - 2004
     At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire), so you look to Design Patterns--the lessons learned by those who've faced the same problems. With Design Patterns, you get to take advantage of the best practices and experience of others, so that you can spend your time on...something else. Something more challenging. Something more complex. Something more fun. You want to learn about the patterns that matter--why to use them, when to use them, how to use them (and when NOT to use them). But you don't just want to see how patterns look in a book, you want to know how they look "in the wild". In their native environment. In other words, in real world applications. You also want to learn how patterns are used in the Java API, and how to exploit Java's built-in pattern support in your own code. You want to learn the real OO design principles and why everything your boss told you about inheritance might be wrong (and what to do instead). You want to learn how those principles will help the next time you're up a creek without a design pattern. Most importantly, you want to learn the "secret language" of Design Patterns so that you can hold your own with your co-worker (and impress cocktail party guests) when he casually mentions his stunningly clever use of Command, Facade, Proxy, and Factory in between sips of a martini. You'll easily counter with your deep understanding of why Singleton isn't as simple as it sounds, how the Factory is so often misunderstood, or on the real relationship between Decorator, Facade and Adapter. With Head First Design Patterns, you'll avoid the embarrassment of thinking Decorator is something from the "Trading Spaces" show. Best of all, in a way that won't put you to sleep! We think your time is too important (and too short) to spend it struggling with academic texts. If you've read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. Using the latest research in neurobiology, cognitive science, and learning theory, Head First Design Patterns will load patterns into your brain in a way that sticks. In a way that lets you put them to work immediately. In a way that makes you better at solving software design problems, and better at speaking the language of patterns with others on your team.

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.

Essential Scrum: A Practical Guide to the Most Popular Agile Process


Kenneth S. Rubin - 2012
    Leading Scrum coach and trainer Kenny Rubin illuminates the values, principles, and practices of Scrum, and describes flexible, proven approaches that can help you implement it far more effectively. Whether you are new to Scrum or years into your use, this book will introduce, clarify, and deepen your Scrum knowledge at the team, product, and portfolio levels. Drawing from Rubin's experience helping hundreds of organizations succeed with Scrum, this book provides easy-to-digest descriptions enhanced by more than two hundred illustrations based on an entirely new visual icon language for describing Scrum's roles, artifacts, and activities. Essential Scrum will provide every team member, manager, and executive with a common understanding of Scrum, a shared vocabulary they can use in applying it, and practical knowledge for deriving maximum value from it.

Fluent Python: Clear, Concise, and Effective Programming


Luciano Ramalho - 2015
    With this hands-on guide, you'll learn how to write effective, idiomatic Python code by leveraging its best and possibly most neglected features. Author Luciano Ramalho takes you through Python's core language features and libraries, and shows you how to make your code shorter, faster, and more readable at the same time.Many experienced programmers try to bend Python to fit patterns they learned from other languages, and never discover Python features outside of their experience. With this book, those Python programmers will thoroughly learn how to become proficient in Python 3.This book covers:Python data model: understand how special methods are the key to the consistent behavior of objectsData structures: take full advantage of built-in types, and understand the text vs bytes duality in the Unicode ageFunctions as objects: view Python functions as first-class objects, and understand how this affects popular design patternsObject-oriented idioms: build classes by learning about references, mutability, interfaces, operator overloading, and multiple inheritanceControl flow: leverage context managers, generators, coroutines, and concurrency with the concurrent.futures and asyncio packagesMetaprogramming: understand how properties, attribute descriptors, class decorators, and metaclasses work"

The WoW Diary: A Journal of Computer Game Development


John Staats - 2018
    It was written by the game's first level designer, John Staats, from notes he took during WoW's creation. The WoW Diary explains why developers do things and debunks popular myths about the games industry. In great detail he covers the what it took to finish the project; the surprises, the arguments, the mistakes, and Blizzard's formula for success.

Uncertainty in Games


Greg Costikyan - 2013
    Things that we thought were good for us turn out to be bad for us (and vice versa); people we thought we knew well behave in mysterious ways; the stock market takes a nosedive. Thanks to an inexplicable optimism, most of the time we are fairly cheerful about it all. But we do devote much effort to managing and ameliorating uncertainty. Is it any wonder, then, asks Greg Costikyan, that we have taken this aspect of our lives and transformed it culturally, making a series of elaborate constructs that subject us to uncertainty but in a fictive and nonthreatening way? That is: we create games.In this concise and entertaining book, Costikyan, an award-winning game designer, argues that games require uncertainty to hold our interest, and that the struggle to master uncertainty is central to their appeal. Game designers, he suggests, can harness the idea of uncertainty to guide their work.Costikyan explores the many sources of uncertainty in many sorts of games -- from Super Mario Bros. to Rock/Paper/Scissors, from Monopoly to CityVille, from FPS Deathmatch play to Chess. He describes types of uncertainty, including performative uncertainty, analytic complexity, and narrative anticipation. And he suggest ways that game designers who want to craft novel game experiences can use an understanding of game uncertainty in its many forms to improve their designs.

The Nostalgia Nerd's Retro Tech: Computer, Consoles & Games


Peter Leigh - 2018
    Remember what a wild frontier the early days of home gaming were? Manufacturers releasing new consoles at a breakneck pace; developers creating games that kept us up all night, then going bankrupt the next day; and what self-respecting kid didn't beg their parents for an Atari or a Nintendo? This explosion of computers, consoles, and games was genuinely unlike anything the tech world has seen before or since.This thoroughly researched and geeky trip down memory lane pulls together the most entertaining stories from this dynamic era, and brings you the classic tech that should never be forgotten.

The Most Human Human: What Talking with Computers Teaches Us About What It Means to Be Alive


Brian Christian - 2011
    Its starting point is the annual Turing Test, which pits artificial intelligence programs against people to determine if computers can “think.”Named for computer pioneer Alan Turing, the Tur­ing Test convenes a panel of judges who pose questions—ranging anywhere from celebrity gossip to moral conundrums—to hidden contestants in an attempt to discern which is human and which is a computer. The machine that most often fools the panel wins the Most Human Computer Award. But there is also a prize, bizarre and intriguing, for the Most Human Human.In 2008, the top AI program came short of passing the Turing Test by just one astonishing vote. In 2009, Brian Christian was chosen to participate, and he set out to make sure Homo sapiens would prevail.The author’s quest to be deemed more human than a com­puter opens a window onto our own nature. Interweaving modern phenomena like customer service “chatbots” and men using programmed dialogue to pick up women in bars with insights from fields as diverse as chess, psychiatry, and the law, Brian Christian examines the philosophical, bio­logical, and moral issues raised by the Turing Test.One central definition of human has been “a being that could reason.” If computers can reason, what does that mean for the special place we reserve for humanity?

How Google Works


Eric Schmidt - 2014
    As they helped grow Google from a young start-up to a global icon, they relearned everything they knew about management. How Google Works is the sum of those experiences distilled into a fun, easy-to-read primer on corporate culture, strategy, talent, decision-making, communication, innovation, and dealing with disruption.The authors explain how the confluence of three seismic changes - the internet, mobile, and cloud computing - has shifted the balance of power from companies to consumers. The companies that will thrive in this ever-changing landscape will be the ones that create superior products and attract a new breed of multifaceted employees whom the authors dub 'smart creatives'. The management maxims ('Consensus requires dissension', 'Exile knaves but fight for divas', 'Think 10X, not 10%') are illustrated with previously unreported anecdotes from Google's corporate history.'Back in 2010, Eric and I created an internal class for Google managers,' says Rosenberg. 'The class slides all read 'Google confidential' until an employee suggested we uphold the spirit of openness and share them with the world. This book codifies the recipe for our secret sauce: how Google innovates and how it empowers employees to succeed.'

This Gaming Life: Travels in Three Cities


Jim Rossignol - 2008
    Quake, World of Warcraft, Eve Online, and other online games not only offered author Jim Rossignol an excellent escape from the tedium of office life. They also provided him with a diverse global community and a job—as a games journalist.Part personal history, part travel narrative, part philosophical reflection on the meaning of play, This Gaming Life describes Rossignol’s encounters in three cities: London, Seoul, and Reykjavik. From his days as a Quake genius in London’s increasingly corporate gaming culture; to Korea, where gaming is a high-stakes televised national sport; to Iceland, the home of his ultimate obsession, the idiosyncratic and beguiling Eve Online, Rossignol introduces us to a vivid and largely undocumented world of gaming lives.Torn between unabashed optimism about the future of games and lingering doubts about whether they are just a waste of time, This Gaming Life also raises important questions about this new and vital cultural form. Should we celebrate the “serious” educational, social, and cultural value of games, as academics and journalists are beginning to do? Or do these high-minded justifications simply perpetuate the stereotype of games as a lesser form of fun? In this beautifully written, richly detailed, and inspiring book, Rossignol brings these abstract questions to life, immersing us in a vibrant landscape of gaming experiences.“We need more writers like Jim Rossignol, writers who are intimately familiar with gaming, conversant in the latest research surrounding games, and able to write cogently and interestingly about the experience of playing as well as the deeper significance of games.”—Chris Baker, Wired“This Gaming Life is a fascinating and eye-opening look into the real human impact of gaming culture. Traveling the globe and drawing anecdotes from many walks of life, Rossignol takes us beyond the media hype and into the lives of real people whose lives have been changed by gaming. The results may surprise you.”—Raph Koster, game designer and author of A Theory of Fun for Game Design “Is obsessive video gaming a character flaw? In This Gaming Life, Jim Rossignol answers with an emphatic ‘no,’ and offers a passionate and engaging defense of what is too often considered a ‘bad habit’ or ‘guilty pleasure.’”—Joshua Davis, author of The Underdog“This is a wonderfully literate look at gaming cultures, which you don't have to be a gamer to enjoy. The Korea section blew my mind.”—John Seabrook, New Yorker staff writer and author of Flash of Genius and Other True Stories of Inventiondigitalculturebooks is an imprint of the University of Michigan Press and the Scholarly Publishing Office of the University of Michigan Library dedicated to publishing innovative and accessible work exploring new media and their impact on society, culture, and scholarly communication. Visit the website at www.digitalculture.org.

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.

One Click: Jeff Bezos and the Rise of Amazon.com


Richard L. Brandt - 2011
    It can almost be summed up by the button on every page: "Buy now with one click."Why has Amazon been so successful? Much of it has to do with Jeff Bezos, the CEO and founder, whose unique combination of character traits and business strategy have driven Amazon to the top of the online retail world.Richard Brandt charts Bezos's rise from computer nerd to world- changing entrepreneur. His success can be credited to his forward-looking insights and ruthless business sense. Brandt explains: Why Bezos decided to allow negative product reviews, correctly guessing that the earned trust would outweigh possible lost sales. Why Amazon zealously guards some patents yet freely shares others. Why Bezos called becoming profitable the "dumbest" thing they could do in 1997. How Amazon.com became one of the only dotcoms to survive the bust of the early 2000s. Where the company is headed next.Through interviews with Amazon employees, competitors, and observers, Brandt has deciphered how Bezos makes decisions. The story of Amazon's ongoing evolution is a case study in how to reinvent an entire industry, and one that anyone in business today ignores at their peril.

Half-Life 2: Raising the Bar


David Hodgson - 2004
    -Unprecedented access behind "Half-Life" and "Half-Life 2" -A forward by Valve founder Gabe Newell -Hundreds of art, design, preproduction, and other art pieces crammed into the book -Over a dozen key members of Valve's staff interviewed -Officially approved by Valve -Behind City 17 and other locations -The development of the Source engine -A rogue's gallery of beasts, characters, and monstrosities -Key weapons development revelations -A tour of many of the game's locations, from inception to completion -Filled with art, screens, and anecdotes from the Valve team

JavaScript: The Good Parts


Douglas Crockford - 2008
    This authoritative book scrapes away these bad features to reveal a subset of JavaScript that's more reliable, readable, and maintainable than the language as a whole--a subset you can use to create truly extensible and efficient code.Considered the JavaScript expert by many people in the development community, author Douglas Crockford identifies the abundance of good ideas that make JavaScript an outstanding object-oriented programming language-ideas such as functions, loose typing, dynamic objects, and an expressive object literal notation. Unfortunately, these good ideas are mixed in with bad and downright awful ideas, like a programming model based on global variables.When Java applets failed, JavaScript became the language of the Web by default, making its popularity almost completely independent of its qualities as a programming language. In JavaScript: The Good Parts, Crockford finally digs through the steaming pile of good intentions and blunders to give you a detailed look at all the genuinely elegant parts of JavaScript, including:SyntaxObjectsFunctionsInheritanceArraysRegular expressionsMethodsStyleBeautiful featuresThe real beauty? As you move ahead with the subset of JavaScript that this book presents, you'll also sidestep the need to unlearn all the bad parts. Of course, if you want to find out more about the bad parts and how to use them badly, simply consult any other JavaScript book.With JavaScript: The Good Parts, you'll discover a beautiful, elegant, lightweight and highly expressive language that lets you create effective code, whether you're managing object libraries or just trying to get Ajax to run fast. If you develop sites or applications for the Web, this book is an absolute must.