Hexaflexagons and Other Mathematical Diversions


Martin Gardner - 1959
    He has selected a group of diversions which are not only entertaining but mathematically meaningful as well. The result is a work which is rewarding on almost every level of mathematical achievement."—Miriam Hecht, Iscripta Mathematica

Incomplete Nature: How Mind Emerged from Matter


Terrence W. Deacon - 2011
    The "Theory of Everything" that appears to be emerging includes everything but us: the feelings, meanings, consciousness, and purposes that make us (and many of our animal cousins) what we are. These most immediate and incontrovertible phenomena are left unexplained by the natural sciences because they lack the physical properties—such as mass, momentum, charge, and location—that are assumed to be necessary for something to have physical consequences in the world. This is an unacceptable omission. We need a "theory of everything" that does not leave it absurd that we exist.Incomplete Nature begins by accepting what other theories try to deny: that, although mental contents do indeed lack these material-energetic properties, they are still entirely products of physical processes and have an unprecedented kind of causal power that is unlike anything that physics and chemistry alone have so far explained. Paradoxically, it is the intrinsic incompleteness of these semiotic and teleological phenomena that is the source of their unique form of physical influence in the world. Incomplete Nature meticulously traces the emergence of this special causal capacity from simple thermodynamics to self-organizing dynamics to living and mental dynamics, and it demonstrates how specific absences (or constraints) play the critical causal role in the organization of physical processes that generate these properties.The book's radically challenging conclusion is that we are made of these specific absenses—such stuff as dreams are made on—and that what is not immediately present can be as physically potent as that which is. It offers a figure/background shift that shows how even meanings and values can be understood as legitimate components of the physical world.

A User's Guide to the Brain: Perception, Attention, and the Four Theaters of the Brain


John J. Ratey - 2001
    Ratey provides insight into the basic structure and chemistry of the brain, and demonstrates how its systems shape our perceptions, emotions, and behavior. By giving us a greater understanding of how the brain responds to the guidance of its user, he provides us with knowledge that can enable us to improve our lives.In A User’s Guide to the Brain, Ratey clearly and succinctly surveys what scientists now know about the brain and how we use it. He looks at the brain as a malleable organ capable of improvement and change, like any muscle, and examines the way specific motor functions might be applied to overcome neural disorders ranging from everyday shyness to autism. Drawing on examples from his practice and from everyday life, Ratey illustrates that the most important lesson we can learn about our brains is how to use them to their maximum potential.

Wholeness and the Implicate Order


David Bohm - 1980
    Although deeply influenced by Einstein, he was also, more unusually for a scientist, inspired by mysticism. Indeed, in the 1970s and 1980s he made contact with both J. Krishnamurti and the Dalai Lama whose teachings helped shape his work. In both science and philosophy, Bohm's main concern was with understanding the nature of reality in general and of consciousness in particular. In this classic work he develops a theory of quantum physics which treats the totality of existence as an unbroken whole. Writing clearly and without technical jargon, he makes complex ideas accessible to anyone interested in the nature of reality.

Turing's Cathedral: The Origins of the Digital Universe


George Dyson - 2012
    In Turing’s Cathedral, George Dyson focuses on a small group of men and women, led by John von Neumann at the Institute for Advanced Study in Princeton, New Jersey, who built one of the first computers to realize Alan Turing’s vision of a Universal Machine. Their work would break the distinction between numbers that mean things and numbers that do things—and our universe would never be the same. Using five kilobytes of memory (the amount allocated to displaying the cursor on a computer desktop of today), they achieved unprecedented success in both weather prediction and nuclear weapons design, while tackling, in their spare time, problems ranging from the evolution of viruses to the evolution of stars. Dyson’s account, both historic and prophetic, sheds important new light on how the digital universe exploded in the aftermath of World War II. The proliferation of both codes and machines was paralleled by two historic developments: the decoding of self-replicating sequences in biology and the invention of the hydrogen bomb. It’s no coincidence that the most destructive and the most constructive of human inventions appeared at exactly the same time.  How did code take over the world? In retracing how Alan Turing’s one-dimensional model became John von Neumann’s two-dimensional implementation, Turing’s Cathedral offers a series of provocative suggestions as to where the digital universe, now fully three-dimensional, may be heading next.

Purely Functional Data Structures


Chris Okasaki - 1996
    However, data structures for these languages do not always translate well to functional languages such as Standard ML, Haskell, or Scheme. This book describes data structures from the point of view of functional languages, with examples, and presents design techniques that allow programmers to develop their own functional data structures. The author includes both classical data structures, such as red-black trees and binomial queues, and a host of new data structures developed exclusively for functional languages. All source code is given in Standard ML and Haskell, and most of the programs are easily adaptable to other functional languages. This handy reference for professional programmers working with functional languages can also be used as a tutorial or for self-study.

The Elements of Computing Systems: Building a Modern Computer from First Principles


Noam Nisan - 2005
    The books also provides a companion web site that provides the toold and materials necessary to build the hardware and software.

The Nature of Code


Daniel Shiffman - 2012
    Readers will progress from building a basic physics engine to creating intelligent moving objects and complex systems, setting the foundation for further experiments in generative design. Subjects covered include forces, trigonometry, fractals, cellular automata, self-organization, and genetic algorithms. The book's examples are written in Processing, an open-source language and development environment built on top of the Java programming language. On the book's website (http://www.natureofcode.com), the examples run in the browser via Processing's JavaScript mode.

The Illusion of Conscious Will


Daniel M. Wegner - 2002
    In this book Daniel Wegner offers a novel understanding of the issue. Like actions, he argues, the feeling of conscious will is created by the mind and brain. Yet if psychological and neural mechanisms are responsible for all human behavior, how could we have conscious will? The feeling of conscious will, Wegner shows, helps us to appreciate and remember our authorship of the things our minds and bodies do. Yes, we feel that we consciously will our actions, Wegner says, but at the same time, our actions happen to us. Although conscious will is an illusion, it serves as a guide to understanding ourselves and to developing a sense of responsibility and morality.Approaching conscious will as a topic of psychological study, Wegner examines the issue from a variety of angles. He looks at illusions of the will?-those cases where people feel that they are willing an act that they are not doing or, conversely, are not willing an act that they in fact are doing. He explores conscious will in hypnosis, Ouija board spelling, automatic writing, and facilitated communication, as well as in such phenomena as spirit possession, dissociative identity disorder, and trance channeling. The result is a book that sidesteps endless debates to focus, more fruitfully, on the impact on our lives of the illusion of conscious will.Selected as a Finalist in the category of Psychology/Mental Health in the 2002 Independent Publisher Book Awards (IPPYs) presented by Independent Publisher Magazine., Silver Award Winner for Philosophy in the 2002 ForeWord Magazine Book of the Year Awards. and Selected as an Outstanding Academic Book for 2002 by Choice Magazine

Hacker's Delight


Henry S. Warren Jr. - 2002
    Aiming to tell the dark secrets of computer arithmetic, this title is suitable for library developers, compiler writers, and lovers of elegant hacks.

Accelerate: Building and Scaling High-Performing Technology Organizations


Nicole Forsgren - 2018
    Through four years of groundbreaking research, Dr. Nicole Forsgren, Jez Humble, and Gene Kim set out to find a way to measure software delivery performance—and what drives it—using rigorous statistical methods. This book presents both the findings and the science behind that research. Readers will discover how to measure the performance of their teams, and what capabilities they should invest in to drive higher performance.

The Evolution of Cooperation


Robert Axelrod - 1984
    Widely praised and much-discussed, this classic book explores how cooperation can emerge in a world of self-seeking egoists—whether superpowers, businesses, or individuals—when there is no central authority to police their actions. The problem of cooperation is central to many different fields. Robert Axelrod recounts the famous computer tournaments in which the “cooperative” program Tit for Tat recorded its stunning victories, explains its application to a broad spectrum of subjects, and suggests how readers can both apply cooperative principles to their own lives and teach cooperative principles to others.

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.

Seeing Red: A Study in Consciousness


Nicholas Humphrey - 2006
    From sensations that probably began in bodily expression to the evolutionary advantages of a conscious self, 'Seeing Red' tracks the 'hard problem' of consciousness to its source and its solution, a solution in which, paradoxically, the very hardness of the problem may make all the difference.

Python Machine Learning


Sebastian Raschka - 2015
    We are living in an age where data comes in abundance, and thanks to the self-learning algorithms from the field of machine learning, we can turn this data into knowledge. Automated speech recognition on our smart phones, web search engines, e-mail spam filters, the recommendation systems of our favorite movie streaming services – machine learning makes it all possible.Thanks to the many powerful open-source libraries that have been developed in recent years, machine learning is now right at our fingertips. Python provides the perfect environment to build machine learning systems productively.This book will teach you the fundamentals of machine learning and how to utilize these in real-world applications using Python. Step-by-step, you will expand your skill set with the best practices for transforming raw data into useful information, developing learning algorithms efficiently, and evaluating results.You will discover the different problem categories that machine learning can solve and explore how to classify objects, predict continuous outcomes with regression analysis, and find hidden structures in data via clustering. You will build your own machine learning system for sentiment analysis and finally, learn how to embed your model into a web app to share with the world