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"

Beautiful Code: Leading Programmers Explain How They Think


Andy OramLincoln Stein - 2007
    You will be able to look over the shoulder of major coding and design experts to see problems through their eyes.This is not simply another design patterns book, or another software engineering treatise on the right and wrong way to do things. The authors think aloud as they work through their project's architecture, the tradeoffs made in its construction, and when it was important to break rules. Beautiful Code is an opportunity for master coders to tell their story. All author royalties will be donated to Amnesty International.

Cracking the Coding Interview: 150 Programming Questions and Solutions


Gayle Laakmann McDowell - 2008
    This is a deeply technical book and focuses on the software engineering skills to ace your interview. The book is over 500 pages and includes 150 programming interview questions and answers, as well as other advice.The full list of topics are as follows:The Interview ProcessThis section offers an overview on questions are selected and how you will be evaluated. What happens when you get a question wrong? When should you start preparing, and how? What language should you use? All these questions and more are answered.Behind the ScenesLearn what happens behind the scenes during your interview, how decisions really get made, who you interview with, and what they ask you. Companies covered include Google, Amazon, Yahoo, Microsoft, Apple and Facebook.Special SituationsThis section explains the process for experience candidates, Program Managers, Dev Managers, Testers / SDETs, and more. Learn what your interviewers are looking for and how much code you need to know.Before the InterviewIn order to ace the interview, you first need to get an interview. This section describes what a software engineer's resume should look like and what you should be doing well before your interview.Behavioral PreparationAlthough most of a software engineering interview will be technical, behavioral questions matter too. This section covers how to prepare for behavioral questions and how to give strong, structured responses.Technical Questions (+ 5 Algorithm Approaches)This section covers how to prepare for technical questions (without wasting your time) and teaches actionable ways to solve the trickiest algorithm problems. It also teaches you what exactly "good coding" is when it comes to an interview.150 Programming Questions and AnswersThis section forms the bulk of the book. Each section opens with a discussion of the core knowledge and strategies to tackle this type of question, diving into exactly how you break down and solve it. Topics covered include• Arrays and Strings• Linked Lists• Stacks and Queues• Trees and Graphs• Bit Manipulation• Brain Teasers• Mathematics and Probability• Object-Oriented Design• Recursion and Dynamic Programming• Sorting and Searching• Scalability and Memory Limits• Testing• C and C++• Java• Databases• Threads and LocksFor the widest degree of readability, the solutions are almost entirely written with Java (with the exception of C / C++ questions). A link is provided with the book so that you can download, compile, and play with the solutions yourself.Changes from the Fourth Edition: The fifth edition includes over 200 pages of new content, bringing the book from 300 pages to over 500 pages. Major revisions were done to almost every solution, including a number of alternate solutions added. The introductory chapters were massively expanded, as were the opening of each of the chapters under Technical Questions. In addition, 24 new questions were added.Cracking the Coding Interview, Fifth Edition is the most expansive, detailed guide on how to ace your software development / programming interviews.

This Is Your Brain on Music: The Science of a Human Obsession


Daniel J. Levitin - 2006
    Why does music evoke such powerful moods? The answers are at last be- coming clear, thanks to revolutionary neuroscience and the emerging field of evolutionary psychology. Both a cutting-edge study and a tribute to the beauty of music itself, This Is Your Brain on Music unravels a host of mysteries that affect everything from pop culture to our understanding of human nature, including: • Are our musical preferences shaped in utero? • Is there a cutoff point for acquiring new tastes in music? • What do PET scans and MRIs reveal about the brain’s response to music? • Is musical pleasure different from other kinds of pleasure?This Is Your Brain on Music explores cultures in which singing is considered an essential human function, patients who have a rare disorder that prevents them from making sense of music, and scientists studying why two people may not have the same definition of pitch. At every turn, this provocative work unlocks deep secrets about how nature and nurture forge a uniquely human obsession.

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

Code: The Hidden Language of Computer Hardware and Software


Charles Petzold - 1999
    And through CODE, we see how this ingenuity and our very human compulsion to communicate have driven the technological innovations of the past two centuries. Using everyday objects and familiar language systems such as Braille and Morse code, author Charles Petzold weaves an illuminating narrative for anyone who’s ever wondered about the secret inner life of computers and other smart machines. It’s a cleverly illustrated and eminently comprehensible story—and along the way, you’ll discover you’ve gained a real context for understanding today’s world of PCs, digital media, and the Internet. No matter what your level of technical savvy, CODE will charm you—and perhaps even awaken the technophile within.

Master Handbook of Acoustics


F. Alton Everest - 1981
    This book applies the theory to the design of specialized audio spaces such as the home listening room, the control room, and the multi-track-recording studio.

Concrete Mathematics: A Foundation for Computer Science


Ronald L. Graham - 1988
    "More concretely," the authors explain, "it is the controlled manipulation of mathematical formulas, using a collection of techniques for solving problems."

How To: Absurd Scientific Advice for Common Real-World Problems


Randall Munroe - 2019
    How To is a guide to the third kind of approach. It's full of highly impractical advice for everything from landing a plane to digging a hole.Bestselling author and cartoonist Randall Munroe explains how to predict the weather by analyzing the pixels of your Facebook photos. He teaches you how to tell if you're a baby boomer or a 90's kid by measuring the radioactivity of your teeth. He offers tips for taking a selfie with a telescope, crossing a river by boiling it, and powering your house by destroying the fabric of space-time. And if you want to get rid of the book once you're done with it, he walks you through your options for proper disposal, including dissolving it in the ocean, converting it to a vapor, using tectonic plates to subduct it into the Earth's mantle, or launching it into the Sun.By exploring the most complicated ways to do simple tasks, Munroe doesn't just make things difficult for himself and his readers. As he did so brilliantly in What If?, Munroe invites us to explore the most absurd reaches of the possible. Full of clever infographics and amusing illustrations, How To is a delightfully mind-bending way to better understand the science and technology underlying the things we do every day.

Daemon Voices


Philip Pullman - 2017
    In over 30 essays, written over 20 years, one of the world's great story-tellers meditates on story-telling. Warm, funny, generous, entertaining, and above all, deeply considered, they offer thoughts on a wide variety of topic, including the origin and composition of Philip's own stories, the craft of writing and the story-tellers who have meant the most to him. The art of story-telling is everywhere present in the essays themselves, in the instantly engaging tone, the vivid imagery and the striking phrases, the resonant anecdotes, the humour and learnedness. Together, they are greater than the sum of their parts.

Music Theory for Dummies


Michael Pilhofer - 2007
    Written for the nearly 30,000

The C Programming Language


Brian W. Kernighan - 1978
    It is the definitive reference guide, now in a second edition. Although the first edition was written in 1978, it continues to be a worldwide best-seller. This second edition brings the classic original up to date to include the ANSI standard. From the Preface: We have tried to retain the brevity of the first edition. C is not a big language, and it is not well served by a big book. We have improved the exposition of critical features, such as pointers, that are central to C programming. We have refined the original examples, and have added new examples in several chapters. For instance, the treatment of complicated declarations is augmented by programs that convert declarations into words and vice versa. As before, all examples have been tested directly from the text, which is in machine-readable form. As we said in the first preface to the first edition, C "wears well as one's experience with it grows." With a decade more experience, we still feel that way. We hope that this book will help you to learn C and use it well.

The Rest Is Noise: Listening to the Twentieth Century


Alex Ross - 2007
    While paintings of Picasso and Jackson Pollock sell for a hundred million dollars or more, and lines from T. S. Eliot are quoted on the yearbook pages of alienated teenagers across the land, twentieth-century classical music still sends ripples of unease through audiences. At the same time, its influence can be felt everywhere. Atonal chords crop up in jazz. Avant-garde sounds populate the soundtracks of Hollywood thrillers. Minimalism has had a huge effect on rock, pop, and dance music from the Velvet Underground onward.The Rest Is Noise shows why twentieth-century composers felt compelled to create a famously bewildering variety of sounds, from the purest beauty to the purest noise. It tells of a remarkable array of maverick personalities who resisted the cult of the classical past, struggled against the indifference of a wide public, and defied the will of dictators. Whether they have charmed audiences with sweet sounds or battered them with dissonance, composers have always been exuberantly of the present, defying the stereotype of classical music as a dying art. The narrative goes from Vienna before the First World War to Paris in the twenties, from Hitler's Germany and Stalin's Russia to downtown New York in the sixties and seventies. We follow the rise of mass culture and mass politics, of dramatic new technologies, of hot and cold wars, of experiments, revolutions, riots, and friendships forged and broken. The end result is not so much a history of twentieth-century music as a history of the twentieth century through its music.

Hearing and Writing Music: Professional Training for Today's Musician


Ron Gorow - 1999
    How to maximize your creativity and productivity. How to develop your craft by consolidating techniques. How to read music with your ears. How you can write music without using an instrument. How to write music spontaneously, as your ear guides your hand. How to communicate accurately through music notation. Why you don't need "perfect pitch." Tools to develop your music perception. 140 exercises, many music examples--models for a lifetime of study. Resources for composing, orchestrating, film scoring. Working in the music business. Where to find supplies, organizations, information, inspiration. A definitive guide and reference for composers, orchestrators, arrangers and performers.

Wonderbook: The Illustrated Guide to Creating Imaginative Fiction


Jeff VanderMeer - 2013
    Employing an accessible, example-rich approach, Wonderbook energizes and motivates while also providing practical, nuts-and-bolts information needed to improve as a writer. Aimed at aspiring and intermediate-level writers, Wonderbook includes helpful sidebars and essays from some of the biggest names in fantasy today, such as George R. R. Martin, Lev Grossman, Neil Gaiman, Michael Moorcock, Catherynne M. Valente, and Karen Joy Fowler, to name a few.Praise for Wonderbook: “Jammed with storytelling wisdom.” —Fast Company’s Co.Create blog“This is the kind of book you leave sitting out for all to see . . . and the kind of book you will find yourself picking up again and again.” —Kirkus Reviews online“If you’re looking for a handy guide to not just crafting imaginative fiction like sci-fi, fantasy, and horror, but to writing in general, be sure to pick up a copy of Steampunk Bible author Jeff Vandermeer’s lovingly compiled Wonderbook."  —Flavorwire“Jeff Vandermeer and Jeremy Zerfoss have created a kaleidoscopically rich and beautiful book about fiction writing.”  —Star Tribune“Because it is so layered and filled with text, tips, and links to online extras, this book can be read again and again by both those who want to learn the craft of writing and those interested in the process of others.” —Library Journal