Designing Data-Intensive Applications


Martin Kleppmann - 2015
    Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including relational databases, NoSQL datastores, stream or batch processors, and message brokers. What are the right choices for your application? How do you make sense of all these buzzwords?In this practical and comprehensive guide, author Martin Kleppmann helps you navigate this diverse landscape by examining the pros and cons of various technologies for processing and storing data. Software keeps changing, but the fundamental principles remain the same. With this book, software engineers and architects will learn how to apply those ideas in practice, and how to make full use of data in modern applications. Peer under the hood of the systems you already use, and learn how to use and operate them more effectively Make informed decisions by identifying the strengths and weaknesses of different tools Navigate the trade-offs around consistency, scalability, fault tolerance, and complexity Understand the distributed systems research upon which modern databases are built Peek behind the scenes of major online services, and learn from their architectures

NeuroTribes: The Legacy of Autism and the Future of Neurodiversity


Steve Silberman - 2015
      Along the way, he reveals the untold story of Hans Asperger, the father of Asperger’s syndrome, whose “little professors” were targeted by the darkest social-engineering experiment in human history; exposes the covert campaign by child psychiatrist Leo Kanner to suppress knowledge of the autism spectrum for fifty years; and casts light on the growing movement of "neurodiversity" activists seeking respect, support, technological innovation, accommodations in the workplace and in education, and the right to self-determination for those with cognitive differences.

Worm: The First Digital World War


Mark Bowden - 2011
    Banks, telecommunications companies, and critical government networks (including the British Parliament and the French and German military) were infected. No one had ever seen anything like it. By January 2009 the worm lay hidden in at least eight million computers and the botnet of linked computers that it had created was big enough that an attack might crash the world. This is the gripping tale of the group of hackers, researches, millionaire Internet entrepreneurs, and computer security experts who united to defend the Internet from the Conficker worm: the story of the first digital world war.

Where We Stand: Class Matters


bell hooks - 2000
    Drawing on both her roots in Kentucky and her adventures with Manhattan Coop boards, Where We Stand is a successful black woman's reflection--personal, straight forward, and rigorously honest--on how our dilemmas of class and race are intertwined, and how we can find ways to think beyond them.

Kingpin: How One Hacker Took Over the Billion-Dollar Cybercrime Underground


Kevin Poulsen - 2011
    Max 'Vision' Butler was a white-hat hacker and a celebrity throughout the programming world, even serving as a consultant to the FBI. But there was another side to Max. As the black-hat 'Iceman', he'd seen the fraudsters around him squabble, their ranks riddled with infiltrators, their methods inefficient, and in their dysfunction was the ultimate challenge: he would stage a coup and steal their ill-gotten gains from right under their noses.Through the story of Max Butler's remarkable rise, KINGPIN lays bare the workings of a silent crime wave affecting millions worldwide. It exposes vast online-fraud supermarkets stocked with credit card numbers, counterfeit cheques, hacked bank accounts and fake passports. Thanks to Kevin Poulsen's remarkable access to both cops and criminals, we step inside the quiet,desperate battle that law enforcement fights against these scammers. And learn that the boy next door may not be all he seems.

Excellent Sheep: The Miseducation of the American Elite and the Way to a Meaningful Life


William Deresiewicz - 2014
    His students, some of the nation’s brightest minds, were adrift when it came to the big questions: how to think critically and creatively, and how to find a sense of purpose.Excellent Sheep takes a sharp look at the high-pressure conveyor belt that begins with parents and counselors who demand perfect grades and culminates in the skewed applications Deresiewicz saw firsthand as a member of Yale’s admissions committee. As schools shift focus from the humanities to "practical" subjects like economics and computer science, students are losing the ability to think in innovative ways. Deresiewicz explains how college should be a time for self-discovery, when students can establish their own values and measures of success, so they can forge their own path. He addresses parents, students, educators, and anyone who's interested in the direction of American society, featuring quotes from real students and graduates he has corresponded with over the years, candidly exposing where the system is broken and clearly presenting solutions.

Hit Makers: The Science of Popularity in an Age of Distraction


Derek Thompson - 2017
    Each blockbuster has a secret history--of power, influence, dark broadcasters, and passionate cults that turn some new products into cultural phenomena. Even the most brilliant ideas wither in obscurity if they fail to connect with the right network, and the consumers that matter most aren't the early adopters, but rather their friends, followers, and imitators -- the audience of your audience.In his groundbreaking investigation, Atlantic senior editor Derek Thompson uncovers the hidden psychology of why we like what we like and reveals the economics of cultural markets that invisibly shape our lives. Shattering the sentimental myths of hit-making that dominate pop culture and business, Thompson shows quality is insufficient for success, nobody has "good taste," and some of the most popular products in history were one bad break away from utter failure. It may be a new world, but there are some enduring truths to what audiences and consumers want. People love a familiar surprise: a product that is bold, yet sneakily recognizable.Every business, every artist, every person looking to promote themselves and their work wants to know what makes some works so successful while others disappear. Hit Makers is a magical mystery tour through the last century of pop culture blockbusters and the most valuable currency of the twenty-first century--people's attention.From the dawn of impressionist art to the future of Facebook, from small Etsy designers to the origin of Star Wars, Derek Thompson leaves no pet rock unturned to tell the fascinating story of how culture happens and why things become popular.In Hit Makers, Derek Thompson investigates: - The secret link between ESPN's sticky programming and the The Weeknd's catchy choruses - Why Facebook is the world's most important modern newspaper - How advertising critics predicted Donald Trump - The 5th grader who accidentally launched "Rock Around the Clock," the biggest hit in rock and roll history - How Barack Obama and his speechwriters think of themselves as songwriters - How Disney conquered the world--but the future of hits belongs to savvy amateurs and individuals - The French collector who accidentally created the Impressionist canon - Quantitative evidence that the biggest music hits aren't always the best - Why almost all Hollywood blockbusters are sequels, reboots, and adaptations - Why one year--1991--is responsible for the way pop music sounds today - Why another year --1932--created the business model of film - How data scientists proved that "going viral" is a myth - How 19th century immigration patterns explain the most heard song in the Western Hemisphere

Building a Better Teacher: How Teaching Works (and How to Teach It to Everyone)


Elizabeth Green - 2014
    Yet we still don't know what, precisely, makes a teacher great. Is it a matter of natural-born charisma? Or does exceptional teaching require something more? Building a Better Teacher introduces a new generation of educators exploring the intricate science underlying their art. A former principal studies the country s star teachers and discovers a set of common techniques that help children pay attention. Two math teachers videotape a year of lessons and develop an approach that has nine-year-olds writing sophisticated mathematical proofs. A former high school teacher works with a top English instructor to pinpoint the key interactions a teacher must foster to initiate a rich classroom discussion. Through their stories, and the hilarious and heartbreaking theater that unfolds in the classroom every day, Elizabeth Green takes us on a journey into the heart of a profession that impacts every child in America.What happens in the classroom of a great teacher? Opening with a moment-by-moment portrait of an everyday math lesson a drama of urgent decisions and artful maneuvers Building a Better Teacher demonstrates the unexpected complexity of teaching. Green focuses on the questions that really matter: How do we prepare teachers and what should they know before they enter the classroom? How does one get young minds to reason, conjecture, prove, and understand? What are the keys to good discipline? Incorporating new research from cognitive psychologists and education specialists as well as intrepid classroom entrepreneurs, Green provides a new way for parents to judge what their children need in the classroom and considers how to scale good ideas. Ultimately, Green discovers that good teaching is a skill. A skill that can be taught.A provocative and hopeful book, Building a Better Teacher shows that legendary teachers are more than inspiring; they are perhaps the greatest craftspeople of all."

Modern Operating Systems


Andrew S. Tanenbaum - 1992
    What makes an operating system modern? According to author Andrew Tanenbaum, it is the awareness of high-demand computer applications--primarily in the areas of multimedia, parallel and distributed computing, and security. The development of faster and more advanced hardware has driven progress in software, including enhancements to the operating system. It is one thing to run an old operating system on current hardware, and another to effectively leverage current hardware to best serve modern software applications. If you don't believe it, install Windows 3.0 on a modern PC and try surfing the Internet or burning a CD. Readers familiar with Tanenbaum's previous text, Operating Systems, know the author is a great proponent of simple design and hands-on experimentation. His earlier book came bundled with the source code for an operating system called Minux, a simple variant of Unix and the platform used by Linus Torvalds to develop Linux. Although this book does not come with any source code, he illustrates many of his points with code fragments (C, usually with Unix system calls). The first half of Modern Operating Systems focuses on traditional operating systems concepts: processes, deadlocks, memory management, I/O, and file systems. There is nothing groundbreaking in these early chapters, but all topics are well covered, each including sections on current research and a set of student problems. It is enlightening to read Tanenbaum's explanations of the design decisions made by past operating systems gurus, including his view that additional research on the problem of deadlocks is impractical except for "keeping otherwise unemployed graph theorists off the streets." It is the second half of the book that differentiates itself from older operating systems texts. Here, each chapter describes an element of what constitutes a modern operating system--awareness of multimedia applications, multiple processors, computer networks, and a high level of security. The chapter on multimedia functionality focuses on such features as handling massive files and providing video-on-demand. Included in the discussion on multiprocessor platforms are clustered computers and distributed computing. Finally, the importance of security is discussed--a lively enumeration of the scores of ways operating systems can be vulnerable to attack, from password security to computer viruses and Internet worms. Included at the end of the book are case studies of two popular operating systems: Unix/Linux and Windows 2000. There is a bias toward the Unix/Linux approach, not surprising given the author's experience and academic bent, but this bias does not detract from Tanenbaum's analysis. Both operating systems are dissected, describing how each implements processes, file systems, memory management, and other operating system fundamentals. Tanenbaum's mantra is simple, accessible operating system design. Given that modern operating systems have extensive features, he is forced to reconcile physical size with simplicity. Toward this end, he makes frequent references to the Frederick Brooks classic The Mythical Man-Month for wisdom on managing large, complex software development projects. He finds both Windows 2000 and Unix/Linux guilty of being too complicated--with a particular skewering of Windows 2000 and its "mammoth Win32 API." A primary culprit is the attempt to make operating systems more "user-friendly," which Tanenbaum views as an excuse for bloated code. The solution is to have smart people, the smallest possible team, and well-defined interactions between various operating systems components. Future operating system design will benefit if the advice in this book is taken to heart. --Pete Ostenson

The Hundred-Page Machine Learning Book


Andriy Burkov - 2019
    During that week, you will learn almost everything modern machine learning has to offer. The author and other practitioners have spent years learning these concepts.Companion wiki — the book has a continuously updated wiki that extends some book chapters with additional information: Q&A, code snippets, further reading, tools, and other relevant resources.Flexible price and formats — choose from a variety of formats and price options: Kindle, hardcover, paperback, EPUB, PDF. If you buy an EPUB or a PDF, you decide the price you pay!Read first, buy later — download book chapters for free, read them and share with your friends and colleagues. Only if you liked the book or found it useful in your work, study or business, then buy it.

User Friendly: How the Hidden Rules of Design Are Changing the Way We Live, Work, and Play


Cliff Kuang - 2019
    Spanning over a century of sweeping changes, from women's rights to the Great Depression to World War II to the rise of the digital era, this book unpacks the ways in which the world has been--and continues to be--remade according to the principles of the once-obscure discipline of user-experience design.In this essential text, Kuang and Fabricant map the hidden rules of the designed world and shed light on how those rules have caused our world to change--an underappreciated but essential history that's pieced together for the first time. Combining the expertise and insight of a leading journalist and a pioneering designer, User Friendly provides a definitive, thoughtful, and practical perspective on a topic that has rapidly gone from arcane to urgent to inescapable. In User Friendly, Kuang and Fabricant tell the whole story for the first time--and you'll never interact with technology the same way again.

Computer Systems: A Programmer's Perspective


Randal E. Bryant - 2002
    Often, computer science and computer engineering curricula don't provide students with a concentrated and consistent introduction to the fundamental concepts that underlie all computer systems. Traditional computer organization and logic design courses cover some of this material, but they focus largely on hardware design. They provide students with little or no understanding of how important software components operate, how application programs use systems, or how system attributes affect the performance and correctness of application programs. - A more complete view of systems - Takes a broader view of systems than traditional computer organization books, covering aspects of computer design, operating systems, compilers, and networking, provides students with the understanding of how programs run on real systems. - Systems presented from a programmers perspective - Material is presented in such a way that it has clear benefit to application programmers, students learn how to use this knowledge to improve program performance and reliability. They also become more effective in program debugging, because t

Machine Learning: A Probabilistic Perspective


Kevin P. Murphy - 2012
    Machine learning provides these, developing methods that can automatically detect patterns in data and then use the uncovered patterns to predict future data. This textbook offers a comprehensive and self-contained introduction to the field of machine learning, based on a unified, probabilistic approach.The coverage combines breadth and depth, offering necessary background material on such topics as probability, optimization, and linear algebra as well as discussion of recent developments in the field, including conditional random fields, L1 regularization, and deep learning. The book is written in an informal, accessible style, complete with pseudo-code for the most important algorithms. All topics are copiously illustrated with color images and worked examples drawn from such application domains as biology, text processing, computer vision, and robotics. Rather than providing a cookbook of different heuristic methods, the book stresses a principled model-based approach, often using the language of graphical models to specify models in a concise and intuitive way. Almost all the models described have been implemented in a MATLAB software package—PMTK (probabilistic modeling toolkit)—that is freely available online. The book is suitable for upper-level undergraduates with an introductory-level college math background and beginning graduate students.

Think Python


Allen B. Downey - 2002
    It covers the basics of computer programming, including variables and values, functions, conditionals and control flow, program development and debugging. Later chapters cover basic algorithms and data structures.

Hadoop: The Definitive Guide


Tom White - 2009
    Ideal for processing large datasets, the Apache Hadoop framework is an open source implementation of the MapReduce algorithm on which Google built its empire. This comprehensive resource demonstrates how to use Hadoop to build reliable, scalable, distributed systems: programmers will find details for analyzing large datasets, and administrators will learn how to set up and run Hadoop clusters. Complete with case studies that illustrate how Hadoop solves specific problems, this book helps you:Use the Hadoop Distributed File System (HDFS) for storing large datasets, and run distributed computations over those datasets using MapReduce Become familiar with Hadoop's data and I/O building blocks for compression, data integrity, serialization, and persistence Discover common pitfalls and advanced features for writing real-world MapReduce programs Design, build, and administer a dedicated Hadoop cluster, or run Hadoop in the cloud Use Pig, a high-level query language for large-scale data processing Take advantage of HBase, Hadoop's database for structured and semi-structured data Learn ZooKeeper, a toolkit of coordination primitives for building distributed systems If you have lots of data -- whether it's gigabytes or petabytes -- Hadoop is the perfect solution. Hadoop: The Definitive Guide is the most thorough book available on the subject. "Now you have the opportunity to learn about Hadoop from a master-not only of the technology, but also of common sense and plain talk." -- Doug Cutting, Hadoop Founder, Yahoo!