No Bad Kids: Toddler Discipline Without Shame


Janet Lansbury - 2014
    As a RIE teacher and student of pioneering child specialist Magda Gerber, her advice is not based solely on formal studies and the research of others, but also on her twenty years of hands-on experience guiding hundreds of parents and their toddlers. “No Bad Kids” is a collection of Janet's most popular and widely read articles pertaining to common toddler behaviors and how respectful parenting practices can be applied to benefit both parents and children. It covers such common topics as punishment, cooperation, boundaries, testing, tantrums, hitting, and more. “No Bad Kids” provides a practical, indispensable tool for parents who are anticipating or experiencing those critical years when toddlers are developmentally obliged to test the limits of our patience and love. Armed with knowledge and a clearer sense of the world through our children’s eyes, this period of uncertainty can afford a myriad of opportunities to forge unbreakable bonds of trust and respect.

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 Algorithm Design Manual


Steven S. Skiena - 1997
    Drawing heavily on the author's own real-world experiences, the book stresses design and analysis. Coverage is divided into two parts, the first being a general guide to techniques for the design and analysis of computer algorithms. The second is a reference section, which includes a catalog of the 75 most important algorithmic problems. By browsing this catalog, readers can quickly identify what the problem they have encountered is called, what is known about it, and how they should proceed if they need to solve it. This book is ideal for the working professional who uses algorithms on a daily basis and has need for a handy reference. This work can also readily be used in an upper-division course or as a student reference guide. THE ALGORITHM DESIGN MANUAL comes with a CD-ROM that contains: * a complete hypertext version of the full printed book. * the source code and URLs for all cited implementations. * over 30 hours of audio lectures on the design and analysis of algorithms are provided, all keyed to on-line lecture notes.

What Color Is Your Parachute? A Practical Manual for Job-Hunters and Career-Changers


Richard Nelson Bolles - 1970
    A favourite of job hunters and career changers for more than three decades, it continues to be a mainstay on best-seller lists, from Amazon.com to BusinessWeek to the New York Times, where it has spent five and a half years.

Domain-Driven Design: Tackling Complexity in the Heart of Software


Eric Evans - 2003
    "His book is very compatible with XP. It is not about drawing pictures of a domain; it is about how you think of it, the language you use to talk about it, and how you organize your software to reflect your improving understanding of it. Eric thinks that learning about your problem domain is as likely to happen at the end of your project as at the beginning, and so refactoring is a big part of his technique. "The book is a fun read. Eric has lots of interesting stories, and he has a way with words. I see this book as essential reading for software developers--it is a future classic." --Ralph Johnson, author of Design Patterns "If you don't think you are getting value from your investment in object-oriented programming, this book will tell you what you've forgotten to do. "Eric Evans convincingly argues for the importance of domain modeling as the central focus of development and provides a solid framework and set of techniques for accomplishing it. This is timeless wisdom, and will hold up long after the methodologies du jour have gone out of fashion." --Dave Collins, author of Designing Object-Oriented User Interfaces "Eric weaves real-world experience modeling--and building--business applications into a practical, useful book. Written from the perspective of a trusted practitioner, Eric's descriptions of ubiquitous language, the benefits of sharing models with users, object life-cycle management, logical and physical application structuring, and the process and results of deep refactoring are major contributions to our field." --Luke Hohmann, author of Beyond Software Architecture "This book belongs on the shelf of every thoughtful software developer." --Kent Beck "What Eric has managed to capture is a part of the design process that experienced object designers have always used, but that we have been singularly unsuccessful as a group in conveying to the rest of the industry. We've given away bits and pieces of this knowledge...but we've never organized and systematized the principles of building domain logic. This book is important." --Kyle Brown, author of Enterprise Java(TM) Programming with IBM(R) WebSphere(R) The software development community widely acknowledges that domain modeling is central to software design. Through domain models, software developers are able to express rich functionality and translate it into a software implementation that truly serves the needs of its users. But despite its obvious importance, there are few practical resources that explain how to incorporate effective domain modeling into the software development process. Domain-Driven Design fills that need. This is not a book about specific technologies. It offers readers a systematic approach to domain-driven design, presenting an extensive set of design best practices, experience-based techniques, and fundamental principles that facilitate the development of software projects facing complex domains. Intertwining design and development practice, this book incorporates numerous examples based on actual projects to illustrate the application of domain-driven design to real-world software development. Readers learn how to use a domain model to make a complex development effort more focused and dynamic. A core of best practices and standard patterns provides a common language for the development team. A shift in emphasis--refactoring not just the code but the model underlying the code--in combination with the frequent iterations of Agile development leads to deeper insight into domains and enhanced communication between domain expert and programmer. Domain-Driven Design then builds on this foundation, and addresses modeling and design for complex systems and larger organizations.Specific topics covered include:Getting all team members to speak the same language Connecting model and implementation more deeply Sharpening key distinctions in a model Managing the lifecycle of a domain object Writing domain code that is safe to combine in elaborate ways Making complex code obvious and predictable Formulating a domain vision statement Distilling the core of a complex domain Digging out implicit concepts needed in the model Applying analysis patterns Relating design patterns to the model Maintaining model integrity in a large system Dealing with coexisting models on the same project Organizing systems with large-scale structures Recognizing and responding to modeling breakthroughs With this book in hand, object-oriented developers, system analysts, and designers will have the guidance they need to organize and focus their work, create rich and useful domain models, and leverage those models into quality, long-lasting software implementations.

1,000 Books to Read Before You Die: A Life-Changing List


James Mustich - 2018
    Covering fiction, poetry, science and science fiction, memoir, travel writing, biography, children’s books, history, and more, 1,000 Books to Read Before You Die ranges across cultures and through time to offer an eclectic collection of works that each deserve to come with the recommendation, You have to read this. But it’s not a proscriptive list of the “great works”—rather, it’s a celebration of the glorious mosaic that is our literary heritage. Flip it open to any page and be transfixed by a fresh take on a very favorite book. Or come across a title you always meant to read and never got around to. Or, like browsing in the best kind of bookshop, stumble on a completely unknown author and work, and feel that tingle of discovery. There are classics, of course, and unexpected treasures, too. Lists to help pick and choose, like Offbeat Escapes, or A Long Climb, but What a View. And its alphabetical arrangement by author assures that surprises await on almost every turn of the page, with Cormac McCarthy and The Road next to Robert McCloskey and Make Way for Ducklings, Alice Walker next to Izaac Walton.  There are nuts and bolts, too—best editions to read, other books by the author, “if you like this, you’ll like that” recommendations , and an interesting endnote of adaptations where appropriate. Add it all up, and in fact there are more than six thousand titles by nearly four thousand authors mentioned—a life-changing list for a lifetime of reading.

The Feynman Lectures on Physics


Richard P. Feynman - 1964
    A new foreword by Kip Thorne, the current Richard Feynman Professor of Theoretical Physics at Caltech, discusses the relevance of the new edition to today's readers. This boxed set also includes Feynman's new Tips on Physics—the four previously unpublished lectures that Feynman gave to students preparing for exams at the end of his course. Thus, this 4-volume set is the complete and definitive edition of The Feynman Lectures on Physics. Packaged in a specially designed slipcase, this 4-volume set provides the ultimate legacy of Feynman's extraordinary contribution to students, teachers, researches, and lay readers around the world.

Java Concurrency in Practice


Brian Goetz - 2005
    Now this same team provides the best explanation yet of these new features, and of concurrency in general. Concurrency is no longer a subject for advanced users only. Every Java developer should read this book."--Martin BuchholzJDK Concurrency Czar, Sun Microsystems"For the past 30 years, computer performance has been driven by Moore's Law; from now on, it will be driven by Amdahl's Law. Writing code that effectively exploits multiple processors can be very challenging. Java Concurrency in Practice provides you with the concepts and techniques needed to write safe and scalable Java programs for today's--and tomorrow's--systems."--Doron RajwanResearch Scientist, Intel Corp"This is the book you need if you're writing--or designing, or debugging, or maintaining, or contemplating--multithreaded Java programs. If you've ever had to synchronize a method and you weren't sure why, you owe it to yourself and your users to read this book, cover to cover."--Ted NewardAuthor of Effective Enterprise Java"Brian addresses the fundamental issues and complexities of concurrency with uncommon clarity. This book is a must-read for anyone who uses threads and cares about performance."--Kirk PepperdineCTO, JavaPerformanceTuning.com"This book covers a very deep and subtle topic in a very clear and concise way, making it the perfect Java Concurrency reference manual. Each page is filled with the problems (and solutions!) that programmers struggle with every day. Effectively exploiting concurrency is becoming more and more important now that Moore's Law is delivering more cores but not faster cores, and this book will show you how to do it."--Dr. Cliff ClickSenior Software Engineer, Azul Systems"I have a strong interest in concurrency, and have probably written more thread deadlocks and made more synchronization mistakes than most programmers. Brian's book is the most readable on the topic of threading and concurrency in Java, and deals with this difficult subject with a wonderful hands-on approach. This is a book I am recommending to all my readers of The Java Specialists' Newsletter, because it is interesting, useful, and relevant to the problems facing Java developers today."--Dr. Heinz KabutzThe Java Specialists' Newsletter"I've focused a career on simplifying simple problems, but this book ambitiously and effectively works to simplify a complex but critical subject: concurrency. Java Concurrency in Practice is revolutionary in its approach, smooth and easy in style, and timely in its delivery--it's destined to be a very important book."--Bruce TateAuthor of Beyond Java" Java Concurrency in Practice is an invaluable compilation of threading know-how for Java developers. I found reading this book intellectually exciting, in part because it is an excellent introduction to Java's concurrency API, but mostly because it captures in a thorough and accessible way expert knowledge on threading not easily found elsewhere."--Bill VennersAuthor of Inside the Java Virtual MachineThreads are a fundamental part of the Java platform. As multicore processors become the norm, using concurrency effectively becomes essential for building high-performance applications. Java SE 5 and 6 are a huge step forward for the development of concurrent applications, with improvements to the Java Virtual Machine to support high-performance, highly scalable concurrent classes and a rich set of new concurrency building blocks. In Java Concurrency in Practice , the creators of these new facilities explain not only how they work and how to use them, but also the motivation and design patterns behind them.However, developing, testing, and debugging multithreaded programs can still be very difficult; it is all too easy to create concurrent programs that appear to work, but fail when it matters most: in production, under heavy load. Java Concurrency in Practice arms readers with both the theoretical underpinnings and concrete techniques for building reliable, scalable, maintainable concurrent applications. Rather than simply offering an inventory of concurrency APIs and mechanisms, it provides design rules, patterns, and mental models that make it easier to build concurrent programs that are both correct and performant.This book covers:Basic concepts of concurrency and thread safety Techniques for building and composing thread-safe classes Using the concurrency building blocks in java.util.concurrent Performance optimization dos and don'ts Testing concurrent programs Advanced topics such as atomic variables, nonblocking algorithms, and the Java Memory Model

Wreck This Journal


Keri Smith - 2007
    Acclaimed illustrator Keri Smith encourages journalers to engage in "destructive" acts-poking holes through pages, adding photos and defacing them, painting with coffee, and more-in order to experience the true creative process. Readers discover a new way of art and journal making-and new ways to escape the fear of the blank page and fully engage in the creative process.

The Minto Pyramid Principle: Logic in Writing, Thinking, & Problem Solving


Barbara Minto - 1987
    Topics covered range from the difference between deductive and inductive reasoning, to a discussion of how to highlight the structure of information.

Sin and Syntax: How to Craft Wickedly Effective Prose


Constance Hale - 1999
    Copy veteran Constance Hale is on a mission to make creative communication, both the lyrical and the unlawful, an option for everyone.With its crisp, witty tone, Sin and Syntax covers grammar’s ground rules while revealing countless unconventional syntax secrets (such as how to use—Gasp!—interjections or when to pepper your prose with slang) that make for sinfully good writing. Discover how to:*Distinguish between words that are “pearls” and words that are “potatoes”* Avoid “couch potato thinking” and “commitment phobia” when choosing verbs* Use literary devices such as onomatopoeia, alliteration, and metaphor (and understand what you're doing)Everyone needs to know how to write stylish prose—students, professionals, and seasoned writers alike. Whether you’re writing to sell, shock, or just sing, Sin and Syntax is the guide you need to improve your command of the English language.

Guitar Zero: The New Musician and the Science of Learning


Gary F. Marcus - 2012
    Do you have to be born musical to become musical? Do you have to start at the age of six? Using the tools of his day job as a cognitive psychologist, Gary Marcus becomes his own guinea pig as he takes up the guitar. In a powerful and incisive look at how both children and adults become musical, Guitar Zero traces Marcus’s journey, what he learned, and how anyone else can learn, too. A groundbreaking peek into the origins of music in the human brain, this musical journey is also an empowering tale of the mind’s enduring plasticity. Marcus investigates the most effective ways to train body and brain to learn to play an instrument, in a quest that takes him from Suzuki classes to guitar gods. From deliberate and efficient practicing techniques to finding the right music teacher, Marcus translates his own experience—as well as reflections from world-renowned musicians—into practical advice for anyone hoping to become musical, or to learn a new skill.Guitar Zero debunks the popular theory of an innate musical instinct while simultaneously challenging the idea that talent is only a myth. While standing the science of music on its head, Marcus brings new insight into humankind’s most basic question: what counts as a life well lived? Does one have to become the next Jimi Hendrix to make a passionate pursuit worthwhile, or can the journey itself bring the brain lasting satisfaction?For all those who have ever set out to play an instrument—or wish that they could—Guitar Zero is an inspiring and fascinating look at the pursuit of music, the mechanics of the mind, and the surprising rewards that come from following one’s dreams.

The Road Ahead


Bill Gates - 1995
    Includes a compact disc which is playable on CD-ROM and audio CD players.

Effective Java


Joshua Bloch - 2001
    The principal enhancement in Java 8 was the addition of functional programming constructs to Java's object-oriented roots. Java 7, 8, and 9 also introduced language features, such as the try-with-resources statement, the diamond operator for generic types, default and static methods in interfaces, the @SafeVarargs annotation, and modules. New library features include pervasive use of functional interfaces and streams, the java.time package for manipulating dates and times, and numerous minor enhancements such as convenience factory methods for collections. In this new edition of Effective Java, Bloch updates the work to take advantage of these new language and library features, and provides specific best practices for their use. Java's increased support for multiple paradigms increases the need for best-practices advice, and this book delivers. As in previous editions, each chapter consists of several "items," each presented in the form of a short, standalone essay that provides specific advice, insight into Java platform subtleties, and updated code examples. The comprehensive descriptions and explanations for each item illuminate what to do, what not to do, and why. Coverage includes:Updated techniques and best practices on classic topics, including objects, classes, methods, libraries, and generics How to avoid the traps and pitfalls of commonly misunderstood subtleties of the platform Focus on the language and its most fundamental libraries, such as java.lang and java.util

Quantum Computing Since Democritus


Scott Aaronson - 2013
    Full of insights, arguments and philosophical perspectives, the book covers an amazing array of topics. Beginning in antiquity with Democritus, it progresses through logic and set theory, computability and complexity theory, quantum computing, cryptography, the information content of quantum states and the interpretation of quantum mechanics. There are also extended discussions about time travel, Newcomb's Paradox, the anthropic principle and the views of Roger Penrose. Aaronson's informal style makes this fascinating book accessible to readers with scientific backgrounds, as well as students and researchers working in physics, computer science, mathematics and philosophy.