Dive Into Python 3


Mark Pilgrim - 2009
    As in the original book, Dive Into Python, each chapter starts with a real, complete code sample, proceeds to pick it apart and explain the pieces, and then puts it all back together in a summary at the end.This book includes:Example programs completely rewritten to illustrate powerful new concepts now available in Python 3: sets, iterators, generators, closures, comprehensions, and much more A detailed case study of porting a major library from Python 2 to Python 3 A comprehensive appendix of all the syntactic and semantic changes in Python 3 This is the perfect resource for you if you need to port applications to Python 3, or if you like to jump into languages fast and get going right away.

Dataclysm: Who We Are (When We Think No One's Looking)


Christian Rudder - 2014
    In Dataclysm, Christian Rudder uses it to show us who we truly are.   For centuries, we’ve relied on polling or small-scale lab experiments to study human behavior. Today, a new approach is possible. As we live more of our lives online, researchers can finally observe us directly, in vast numbers, and without filters. Data scientists have become the new demographers.   In this daring and original book, Rudder explains how Facebook "likes" can predict, with surprising accuracy, a person’s sexual orientation and even intelligence; how attractive women receive exponentially more interview requests; and why you must have haters to be hot. He charts the rise and fall of America’s most reviled word through Google Search and examines the new dynamics of collaborative rage on Twitter. He shows how people express themselves, both privately and publicly. What is the least Asian thing you can say? Do people bathe more in Vermont or New Jersey? What do black women think about Simon & Garfunkel? (Hint: they don’t think about Simon & Garfunkel.) Rudder also traces human migration over time, showing how groups of people move from certain small towns to the same big cities across the globe. And he grapples with the challenge of maintaining privacy in a world where these explorations are possible.   Visually arresting and full of wit and insight, Dataclysm is a new way of seeing ourselves—a brilliant alchemy, in which math is made human and numbers become the narrative of our time.

Engineering Long-Lasting Software


Armando Fox - 2012
    NOTE: this Alpha Edition is missing some chapters and may contain errors. See http://saasbook.info for details.

On LISP: Advanced Techniques for Common LISP


Paul Graham - 1993
    On Lisp explains the reasons behind Lisp's growing popularity as a mainstream programming language. On Lisp is a comprehensive study of advanced Lisp techniques, with bottom-up programming as the unifying theme. It gives the first complete description of macros and macro applications. The book also covers important subjects related to bottom-up programming, including functional programming, rapid prototyping, interactive development, and embedded languages. The final chapter takes a deeper look at object-oriented programming than previous Lisp books, showing the step-by-step construction of a working model of the Common Lisp Object System (CLOS). As well as an indispensable reference, On Lisp is a source of software. Its examples form a library of functions and macros that readers will be able to use in their own Lisp programs.

Brief Answers to the Big Questions


Stephen Hawking - 2018
    He is known for both his breakthroughs in theoretical physics as well as his ability to make complex concepts accessible for all, and was beloved for his mischievous sense of humor. At the time of his death, Hawking was working on a final project: a book compiling his answers to the "big" questions that he was so often posed--questions that ranged beyond his academic field. Within these pages, he provides his personal views on our biggest challenges as a human race, and where we, as a planet, are heading next. Each section will be introduced by a leading thinker offering his or her own insight into Professor Hawking's contribution to our understanding.

The Internet For Dummies


John R. Levine - 1993
    With a growing and diverse population of internet users out there, the world has definitely become a smaller place. Over 450 million people use the Internet for email correspondence, ecommerce, social networking, research, local and worldwide news reports, and much more. Whether you are just starting out in your online travels or even if you have been online for awhile, The Internet For Dummies, shows you how to do everything better and faster. You'll surf the Web, do research, conduct business transactions, and much more--like a seasoned pro!The Internet For Dummies will walk you through the fundamentals of the Internet, as well as provide more advanced techniques and features to explore once you get your feet on the ground. This resourceful guide will help you:Connect to the Internet and understand the different ways to connect, including wireless, DSL, and cable Set up an e-mail account and communicate through e-mail Explore other communication tools such as Instant Messaging and message boards Use search engines like Yahoo! and Google to browse and research Shop and sell online Investigate online Web communities like blogs and social sites Create your own Web page and handle general Internet housekeeping In this fully updated edition, The Internet for Dummies will help you get the most out of your Internet experience. Written by renowned authors, this book is sure to be valuable to both new users and experienced ones alike.

The Essence of Chaos


Edward N. Lorenz - 1993
    Seemingly random events -- the flapping of a flag, a storm-driven wave striking the shore, a pinball's path -- often appear to have no order, no rational pattern. Explicating the theory of chaos and the consequences of its principal findings -- that actual, precise rules may govern such apparently random behavior -- has been a major part of the work of Edward N. Lorenz. In The Essence of Chaos, Lorenz presents to the general reader the features of this "new science," with its far-reaching implications for much of modern life, from weather prediction to philosophy, and he describes its considerable impact on emerging scientific fields.Unlike the phenomena dealt with in relativity theory and quantum mechanics, systems that are now described as "chaotic" can be observed without telescopes or microscopes. They range from the simplest happenings, such as the falling of a leaf, to the most complex processes, like the fluctuations of climate. Each process that qualifies, however, has certain quantifiable characteristics: how it unfolds depends very sensitively upon its present state, so that, even though it is not random, it seems to be. Lorenz uses examples from everyday life, and simple calculations, to show how the essential nature of chaotic systems can be understood. In order to expedite this task, he has constructed a mathematical model of a board sliding down a ski slope as his primary illustrative example. With this model as his base, he explains various chaotic phenomena, including some associated concepts such as strange attractors and bifurcations.As a meteorologist, Lorenz initially became interested in the field of chaos because of its implications for weather forecasting. In a chapter ranging through the history of weather prediction and meteorology to a brief picture of our current understanding of climate, he introduces many of the researchers who conceived the experiments and theories, and he describes his own initial encounter with chaos.A further discussion invites readers to make their own chaos. Still others debate the nature of randomness and its relationship to chaotic systems, and describe three related fields of scientific thought: nonlinearity, complexity, and fractality. Appendixes present the first publication of Lorenz's seminal paper "Does the Flap of a Butterfly's Wing in Brazil Set Off a Tornado in Texas?"; the mathematical equations from which the copious illustrations were derived; and a glossary.

The Game Maker's Apprentice: Game Development for Beginners


Jacob Habgood - 2006
    This book covers a range of genres, including action, adventure, and puzzle games complete with professional quality sound effects and visuals. It discusses game design theory and features practical examples of how this can be applied to making games that are more fun to play. Game Maker allows games to be created using a simple drag-and-drop interface, so you don't need to have any prior coding experience. It includes an optional programming language for adding advanced features to your games, when you feel ready to do so. You can obtain more information by visiting book.gamemaker.nl. The authors include the creator of the Game Maker tool and a former professional game programmer, so you'll glean understanding from their expertise. The book also includes a DVD containing Game Maker software and all of the game projects that are created in the book—plus a host of professional-quality graphics and sound effects that you can use in your own games.

Eniac: The Triumphs and Tragedies of the World's First Computer


Scott McCartney - 1999
    10 illustrations.

Design Patterns: Elements of Reusable Object-Oriented Software


Erich Gamma - 1994
    Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves.The authors begin by describing what patterns are and how they can help you design object-oriented software. They then go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems. With Design Patterns as your guide, you will learn how these important patterns fit into the software development process, and how you can leverage them to solve your own design problems most efficiently. Each pattern describes the circumstances in which it is applicable, when it can be applied in view of other design constraints, and the consequences and trade-offs of using the pattern within a larger design. All patterns are compiled from real systems and are based on real-world examples. Each pattern also includes code that demonstrates how it may be implemented in object-oriented programming languages like C++ or Smalltalk.

Data Science from Scratch: First Principles with Python


Joel Grus - 2015
    In this book, you’ll learn how many of the most fundamental data science tools and algorithms work by implementing them from scratch. If you have an aptitude for mathematics and some programming skills, author Joel Grus will help you get comfortable with the math and statistics at the core of data science, and with hacking skills you need to get started as a data scientist. Today’s messy glut of data holds answers to questions no one’s even thought to ask. This book provides you with the know-how to dig those answers out. Get a crash course in Python Learn the basics of linear algebra, statistics, and probability—and understand how and when they're used in data science Collect, explore, clean, munge, and manipulate data Dive into the fundamentals of machine learning Implement models such as k-nearest Neighbors, Naive Bayes, linear and logistic regression, decision trees, neural networks, and clustering Explore recommender systems, natural language processing, network analysis, MapReduce, and databases

When Gadgets Betray Us: The Dark Side of Our Infatuation With New Technologies


Robert Vamosi - 2011
    As our mobile phones, mp3 players, cars, and digital cameras become more and more complex, we understand less and less about how they actually work and what personal details these gadgets might reveal about us.Robert Vamosi, an award-winning journalist and analyst who has been covering digital security issues for more than a decade, shows us the dark side of all that digital capability and convenience. Hotel-room TV remotes can be used to steal our account information and spy on what we've been watching, toll-booth transponders receive unencrypted EZ Pass or FasTrak info that can be stolen and cloned, and our cars monitor and store data about our driving habits that can be used in court against us.When Gadgets Betray Us gives us a glimpse into the secret lives of our gadgets and helps us to better understand - and manage - these very real risks.

The Go Programming Language


Alan A.A. Donovan - 2015
    It has been winning converts from dynamic language enthusiasts as well as users of traditional compiled languages. The former appreciate the robustness and efficiency that Go's lightweight type system brings to their code; the latter find Go's simplicity and fast tools a refreshing change. Thanks to its well-designed standard libraries and its excellent support for concurrent programming, Go is fast becoming the language of choice for distributed systems. The Go Programming Language is the definitive book on Go for the working programmer. It assumes no prior knowledge of Go, nor any other specific programming language, so you'll find it an accessible guide whether you come from JavaScript, Ruby, Python, Java, or C++. The book will quickly get you started using Go effectively from the beginning, and by the end, you will know how to use it well to write clear, idiomatic and efficient programs to solve real-world problems. You'll understand not just how to use its standard libraries, but how they work, and how to apply the same design techniques to your own projects. The earlier chapters will introduce you to the basic concepts of Go programming---numbers, strings, functions---while at the same time presenting important computer science concepts like recursion, and useful examples of graphics, UTF-8, and error handling. The chapters on methods and interfaces will show you a new way to think about object-oriented programming; the chapter on concurrency explains why concurrency is so important in modern programming, and how Go helps you handle it well. You'll also learn about Go's pragmatic but effective approach to testing; how to build, test, and manage projects using the go tool, and the art of metaprogramming using reflection. The book contains hundreds of interesting and practical examples that cover the whole language and a wide range of applications. The code samples from the book are available for download from gopl.io.

The Society of Mind


Marvin Minsky - 1985
    Mirroring his theory, Minsky boldly casts The Society of Mind as an intellectual puzzle whose pieces are assembled along the way. Each chapter -- on a self-contained page -- corresponds to a piece in the puzzle. As the pages turn, a unified theory of the mind emerges, like a mosaic. Ingenious, amusing, and easy to read, The Society of Mind is an adventure in imagination.

Large-Scale C++ Software Design


John S. Lakos - 1996
    It is the first C++ book that actually demonstrates how to design large systems, and one of the few books on object-oriented design specifically geared to practical aspects of the C++ programming language. In this book, Lakos explains the process of decomposing large systems into physical (not inheritance) hierarchies of smaller, more manageable components. Such systems with their acyclic physical dependencies are fundamentally easier and more economical to maintain, test, and reuse than tightly interdependent systems. In addition to explaining the motivation for following good physical as well as logical design practices, Lakos provides you with a catalog of specific techniques designed to eliminate cyclic, compile-time, and link-time (physical) dependencies. He then extends these concepts from large to very large systems. The book concludes with a comprehensive top-down approach to the logical design of individual components. Appendices include a valuable design pattern Protocol Hierarchy designed to avoid fat inte