Implementation Patterns


Kent Beck - 2006
    Every chapter of this book contains excellent explanations and insights into the smaller but important decisions we continuously have to make when creating quality code and classes. Erich Gamma, IBM Distinguished Engineer Many teams have a master developer who makes a rapid stream of good decisions all day long. Their code is easy to understand, quick to modify, and feels safe and comfortable to work with. If you ask how they thought to write something the way they did, they always have a good reason. This book will help you become the master developer on your team. The breadth and depth of topics will engage veteran programmers, who will pick up new tricks and improve on old habits, while the clarity makes it accessible to even novice developers. Russ Rufer, Silicon Valley Patterns Group Many people don t realize how readable code can be and how valuable that readability is. Kent has taught me so much, I m glad this book gives everyone the chance to learn from him. Martin Fowler, chief scientist, ThoughtWorks Code should be worth reading, not just by the compiler, but by humans. Kent Beck distilled his experience into a cohesive collection of implementation patterns. These nuggets of advice will make your code truly worth reading. Gregor Hohpe, author of Enterprise Integration Patterns In this book Kent Beck shows how writing clear and readable code follows from the application of simple principles. Implementation Patterns will help developers write intention revealing code that is both easy to understand and flexible towards future extensions. A must read for developers who are serious about their code. Sven Gorts Implementation Patterns bridges the gap between design and coding. Beck introduces a new way of thinking about programming by basing his discussion on values and principles. Diomidis Spinellis, author of Code Reading and Code Quality Software Expert Kent Beck Presents a Catalog of Patterns Infinitely Useful for Everyday Programming Great code doesn t just function: it clearly and consistently communicates your intentions, allowing other programmers to understand your code, rely on it, and modify it with confidence. But great code doesn t just happen. It is the outcome of hundreds of small but critical decisions programmers make every single day. Now, legendary software innovator Kent Beck known worldwide for creating Extreme Programming and pioneering software patterns and test-driven development focuses on these critical decisions, unearthing powerful implementation patterns for writing programs that are simpler, clearer, better organized, and more cost effective. Beck collects 77 patterns for handling everyday programming tasks and writing more readable code. This new collection of patterns addresses many aspects of development, including class, state, behavior, method, collections, frameworks, and more. He uses diagrams, stories, examples, and essays to engage the reader as he illuminates the patterns. You ll find proven solutions for handling everything from naming variables to checking exceptions. This book coversThe value of communicating through code and the philosophy behind patterns How and when to create classes, and how classes encode logic Best practices for storing and retrieving state Behavior: patterns for representing logic, including alternative paths Writing, naming, and decomposing methods Choosing and using collections Implementation pattern variations for use in building frameworks Implementation Patterns will help programmers at all experience levels, especially those who have benefited from software patterns or agile methods. It will also be an indispensable resource for development teams seeking to work together more efficiently and build more maintainable software. No other programming book will touch your day-to-day work more often. "

Gardenista: The Definitive Guide to Stylish Outdoor Spaces


Michelle Slatalla - 2016
    The team behind the inspirational design sites Gardenista.com and Remodelista.com presents an all-in-one manual for making your outdoor space as welcoming as your living room. Tour personality-filled gardens around the world and re-create the looks with no-fail planting palettes. Find hundreds of design tips and easy DIYs, editors’ picks of 100 classic (and stylish) objects, a landscaping primer with tips from pros, over 200 resources, and so much more.

UNIX: A History and a Memoir


Brian W. Kernighan - 2019
    Brian Kernighan was a member of the original group of Unix developers, the creator of several fundamental Unix programs, and the co-author of classic books like "The C Programming Language" and "The Unix Programming Environment."

Tools for Thought: The History and Future of Mind-Expanding Technology


Howard Rheingold - 1985
    C. R. Licklider, Doug Engelbart, Bob Taylor, and Alan Kay.The digital revolution did not begin with the teenage millionaires of Silicon Valley, claims Howard Rheingold, but with such early intellectual giants as Charles Babbage, George Boole, and John von Neumann. In a highly engaging style, Rheingold tells the story of what he calls the patriarchs, pioneers, and infonauts of the computer, focusing in particular on such pioneers as J. C. R. Licklider, Doug Engelbart, Bob Taylor, and Alan Kay. Taking the reader step by step from nineteenth-century mathematics to contemporary computing, he introduces a fascinating collection of eccentrics, mavericks, geniuses, and visionaries.The book was originally published in 1985, and Rheingold's attempt to envision computing in the 1990s turns out to have been remarkably prescient. This edition contains an afterword, in which Rheingold interviews some of the pioneers discussed in the book. As an exercise in what he calls retrospective futurism, Rheingold also looks back at how he looked forward.

Made to Stick (Chapter 4: Credible): Why Some Ideas Survive and Others Die


Chip Heath - 2008
    Offer people the chance to test your ideas themselves–a “try before you buy” philosophy. People want to believe your ideas, so give them a reason to. Examples include the Nobel-winning scientist no one believed, flesh-eating bananas, and the human-scale principle.

The Product Manager's Desk Reference


Steven Haines - 2008
    'The Product Manager's Desk Reference' uses the progression of the practitioner across the career cycle as well as the progression of the product across its life cycle to establish clear guidelines as to what must be done, when, by whom, and with what level of expertise.

Revolution in The Valley: The Insanely Great Story of How the Mac Was Made


Andy Hertzfeld - 2004
    Revolution in the Valley traces this vision back to its earliest roots: the hallways and backrooms of Apple, where the groundbreaking Macintosh computer was born. The book traces the development of the Macintosh, from its inception as an underground skunkworks project in 1979 to its triumphant introduction in 1984 and beyond.The stories in "Revolution in the Valley" come on extremely good authority. That's because author Andy Hertzfeld was a core member of the team that built the Macintosh system software, and a key creator of the Mac's radically new user interface software. One of the chosen few who worked with the mercurial Steve Jobs, you might call him the ultimate insider.When "Revolution in the Valley" begins, Hertzfeld is working on Apple's first attempt at a low-cost, consumer-oriented computer: the Apple II. He sees that Steve Jobs is luring some of the company's most brilliant innovators to work on a tiny research effort the Macintosh. Hertzfeld manages to make his way onto the Macintosh research team, and the rest is history.Through lavish illustrations, period photos, and Hertzfeld's vivid first-hand accounts, Revolution in the Valley reveals what it was like to be there at the birth of the personal computer revolution. The story comes to life through the book's portrait of the talented and often eccentric characters who made up the Macintosh team. Now, over 20 years later, millions of people are benefiting from the technical achievements of this determined and brilliant group of people.

Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F#


Scott Wlaschin - 2017
    Domain-driven design (DDD) combined with functional programming is the innovative combo that will get you there. In this pragmatic, down-to-earth guide, you'll see how applying the core principles of functional programming can result in software designs that model real-world requirements both elegantly and concisely - often more so than an object-oriented approach. Practical examples in the open-source F# functional language, and examples from familiar business domains, show you how to apply these techniques to build software that is business-focused, flexible, and high quality.Domain-driven design is a well-established approach to designing software that ensures that domain experts and developers work together effectively to create high-quality software. This book is the first to combine DDD with techniques from statically typed functional programming. This book is perfect for newcomers to DDD or functional programming - all the techniques you need will be introduced and explained.Model a complex domain accurately using the F# type system, creating compilable code that is also readable documentation---ensuring that the code and design never get out of sync. Encode business rules in the design so that you have "compile-time unit tests," and eliminate many potential bugs by making illegal states unrepresentable. Assemble a series of small, testable functions into a complete use case, and compose these individual scenarios into a large-scale design. Discover why the combination of functional programming and DDD leads naturally to service-oriented and hexagonal architectures. Finally, create a functional domain model that works with traditional databases, NoSQL, and event stores, and safely expose your domain via a website or API.Solve real problems by focusing on real-world requirements for your software.What You Need: The code in this book is designed to be run interactively on Windows, Mac and Linux.You will need a recent version of F# (4.0 or greater), and the appropriate .NET runtime for your platform.Full installation instructions for all platforms at fsharp.org.

Perspective as Symbolic Form


Erwin Panofsky - 1927
    Finally available in English, this unrivaled example of Panofsky's early method places him within broader developments in theories of knowledge and cultural change.Here, drawing on a massive body of learning that ranges over ancient philosophy, theology, science, and optics as well as the history of art, Panofsky produces a type of "archaeology" of Western representation that far surpasses the usual scope of art historical studies.Perspective in Panofsky's hands becomes a central component of a Western "will to form," the expression of a schema linking the social, cognitive, psychological, and especially technical practices of a given culture into harmonious and integrated wholes. He demonstrates how the perceptual schema of each historical culture or epoch is unique and how each gives rise to a different but equally full vision of the world.Panofsky articulates these distinct spatial systems, explicating their particular coherence and compatibility with the modes of knowledge, belief, and exchange that characterized the cultures in which they arose. Our own modernity, Panofsky shows, is inseparable from its peculiarly mathematical expression of the concept of the infinite, within a space that is both continuous and homogenous.

In Pursuit of Joi


Olivia Renee Wallace - 2013
    She is the mother of the perfect daughter. She has her own thriving business and seems to be living the perfect life. But she has secrets... Secrets that haunt her dreams.Along comes Latoya Bradshaw. She's beautiful, successful, and edgy.She awakens feelings in Joi that have lain dormant for years. She reminds Joi of her past.Joi must decide on whether she wants to continue living the life of the woman that she has become or risk it all to become the woman that she once thought that she was meant to be.

The Dream Machine: J.C.R. Licklider and the Revolution That Made Computing Personal


M. Mitchell Waldrop - 2001
    C. R. Licklider, whose visionary dream of a human-computer symbiosis transformed the course of modern science and led to the development of the personal computer. Reprint.

The Star Dragon


Dante Doom - 2017
     Van Vanyushin doesn’t see the point in ever leaving the beautiful digital world of the game he loves—and for good reason. In the industrial wasteland he calls home, it is often the only way people can experience life’s simplest pleasures. But his allegiance to the game is tested when an ambitious CIA agent named Sang Ngo calls upon him to help as she goes undercover in the game to investigate Draco—the corporation responsible for creating the massively popular role-playing game Dragon Kings of the New World. Sang is a gifted hacker who feels nothing but contempt for those who waste their lives in what she sees as a false reality…but when people start dying in the game, she must find out why. Van, a talented gamer, is her guide to navigate the world, level up their newbie characters fast and get into some of the most dangerous areas of the game. He dreams of becoming a pro gamer sponsored by Draco one day, but his partnership with Sang threatens to expose secrets from his past that could jeopardize those plans. Now, they will have to put aside their differences to discover whatever—or whoever—is killing players, but the truth they find is darker than either of them imagined….

Cyberpunk City Book One: The Machine Killer


D.L. Young - 2020
    He couldn't be more wrong.Forced by a powerful executive to steal a priceless dataset, Maddox uncovers the shocking truth of a secret war between AIs, raging inside the digital universe known as virtual space. Plunged headlong into the deadly conflict, he’ll have to use every trick he’s ever learned—and a few he’s never tried before—if he wants to survive.Sprawling megacities, rogue AIs, black market tech, modded mercenaries, and a pulse-pounding story filled with unexpected twists. If you love gritty, hardcore cyberpunk, you won’t want to miss this series!

Memory


Alan Baddeley - 1982
    However, students of memory sometimes fail to retain this fascination. The reason is clear: in order to study memory we must carry out carefully-designed experiments, which can seem boring even when they are exciting science. Fortunately, we now know enough about memory to relate laboratory studies to the world beyond. In other words, our scientific knowledge of memory and how it works can help us to explain those aspects of memory that most people find of greatest interest.This book presents a thorough, accessible and appealing overview of the field, written with students in mind, by some of the world's leading researchers. It starts with a brief overview and explanation of the scientific approach to memory before going on to discuss the basic characteristics of the various memory systems and how they work. Summaries of short-term and working memory are followed by chapters on learning, the role of organization in memory, the ways in which our knowledge of the world is stored, retrieval, and on intentional and motivated forgetting.The latter half of the book involves the broader application of our basic understanding of memory, with chapters on autobiographical memory, amnesia, and on memory in childhood and aging. After chapters discussing eyewitness testimony and prospective memory, a final chapter addresses an issue of great importance to students - how to improve your memory.Each chapter of the book is written by one of the three authors, an approach which takes full advantage of their individual expertise, style and personality. This enhances students' enjoyment of the book, allowing them to share the authors' own fascination with human memory.

What Video Games Have to Teach Us about Learning and Literacy


James Paul Gee - 2003
    James Paul Gee begins his new book with 'I want to talk about vide games- yes, even violent video games - and say some positive things about them'. With this simple but explosive beginning, one of America's most well-respected professors of education looks seriously at the good that can come from playing video games. Gee is interested in the cognitive development that can occur when someone is trying to escape a maze, find a hidden treasure and, even, blasting away an enemy with a high-powered rifle. Talking about his own video-gaming experience learning and using games as diverse as Lara Croft and Arcanum, Gee looks at major specific cognitive activities: How individuals develop a sense of identity; How one grasps meaning; How one evaluates and follows a command; How one picks a role model; How one perceives the world.