The Hitchhiker's Guide to Python: Best Practices for Development


Kenneth Reitz - 2016
    More than any other language, Python was created with the philosophy of simplicity and parsimony. Now 25 years old, Python has become the primary or secondary language (after SQL) for many business users. With popularity comes diversity--and possibly dilution.This guide, collaboratively written by over a hundred members of the Python community, describes best practices currently used by package and application developers. Unlike other books for this audience, The Hitchhiker's Guide is light on reusable code and heavier on design philosophy, directing the reader to excellent sources that already exist.

In Pursuit of the Unknown: 17 Equations That Changed the World


Ian Stewart - 2012
    We often overlook the historical link between mathematics and technological advances, says Stewart—but this connection is integral to any complete understanding of human history.Equations are modeled on the patterns we find in the world around us, says Stewart, and it is through equations that we are able to make sense of, and in turn influence, our world. Stewart locates the origins of each equation he presents—from Pythagoras's Theorem to Newton's Law of Gravity to Einstein's Theory of Relativity—within a particular historical moment, elucidating the development of mathematical and philosophical thought necessary for each equation's discovery. None of these equations emerged in a vacuum, Stewart shows; each drew, in some way, on past equations and the thinking of the day. In turn, all of these equations paved the way for major developments in mathematics, science, philosophy, and technology. Without logarithms (invented in the early 17th century by John Napier and improved by Henry Briggs), scientists would not have been able to calculate the movement of the planets, and mathematicians would not have been able to develop fractal geometry. The Wave Equation is one of the most important equations in physics, and is crucial for engineers studying the vibrations in vehicles and the response of buildings to earthquakes. And the equation at the heart of Information Theory, devised by Claude Shannon, is the basis of digital communication today.An approachable and informative guide to the equations upon which nearly every aspect of scientific and mathematical understanding depends, In Pursuit of the Unknown is also a reminder that equations have profoundly influenced our thinking and continue to make possible many of the advances that we take for granted.

Absolute Zero and the Conquest of Cold


Tom Shachtman - 1999
    Readers take an extraordinary trip, starting in the 1600s with an alchemist's air conditioning of Westminster Abbey and scientists' creation of thermometers. Later, while entrepreneurs sold Walden Pond ice to tropical countries -- packed in "high-tech" sawdust -- researchers pursued absolute zero and interpreted their work as romantically as did adventurers to remote regions. Today, playing with ultracold temperatures is one of the hottest frontiers in physics, with scientists creating useful particles Einstein only dreamed of. Tom Shachtman shares a great scientific adventure story and its characters' rich lives in a book that has won a grant from the prestigious Alfred P. Sloan Foundation. Absolute Zero is for everyone who loves history and science history stories, who's eager to explore Nobel Prize-winning physics today, or who has ever sighed with pleasure on encountering air conditioning.

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.

This Idea Must Die: Scientific Theories That Are Blocking Progress


John Brockman - 2015
    In the past, discoveries often had to wait for the rise of the next generation to see questions in a new light and let go of old truisms. Today, in a world that is defined by a rapid rate of change, staying on the cutting edge has as much to do with shedding outdated notions as adopting new ones. In this spirit, John Brockman, publisher of the online salon Edge.org ("the world's smartest website"—The Guardian), asked 175 of the world's most influential scientists, economists, artists, and philosophers: What scientific idea is ready for retirement?Jared Diamond explores the diverse ways that new ideas emerge * Nassim Nicholas Taleb takes down the standard deviation * Richard Thaler and novelist Ian McEwan reveal the usefulness of "bad" ideas * Steven Pinker dismantles the working theory of human behavior * Richard Dawkins renounces essentialism * Sherry Turkle reevaluates our expectations of artificial intelligence * Physicist Andrei Linde suggests that our universe and its laws may not be as unique as we think * Martin Rees explains why scientific understanding is a limitless goal * Alan Guth rethinks the origins of the universe * Sam Harris argues that our definition of science is too narrow * Nobel Prize winner Frank Wilczek disputes the division between mind and matter * Lawrence Krauss challenges the notion that the laws of physics were preordained * plus contributions from Daniel Goleman, Mihaly Csikszentmihalyi, Nicholas Carr, Rebecca Newberger Goldstein, Matt Ridley, Stewart Brand, Sean Carroll, Daniel C. Dennett, Helen Fisher, Douglas Rushkoff, Lee Smolin, Kevin Kelly, Freeman Dyson, and others.

Coders: The Making of a New Tribe and the Remaking of the World


Clive Thompson - 2019
    And this may sound weirdly obvious, but every single one of those pieces of software was written by a programmer. Programmers are thus among the most quietly influential people on the planet. As we live in a world made of software, they're the architects. The decisions they make guide our behavior. When they make something newly easy to do, we do a lot more of it. If they make it hard or impossible to do something, we do less of it.If we want to understand how today's world works, we ought to understand something about coders. Who exactly are the people that are building today's world? What makes them tick? What type of personality is drawn to writing software? And perhaps most interestingly -- what does it do to them?One of the first pieces of coding a newbie learns is the program to make the computer say "Hello, world!" Like that piece of code, Clive Thompson's book is a delightful place to begin to understand this vocation, which is both a profession and a way of life, and which essentially didn't exist little more than a generation ago, but now is considered just about the only safe bet we can make about what the future holds. Thompson takes us close to some of the great coders of our time, and unpacks the surprising history of the field, beginning with the first great coders, who were women. Ironically, if we're going to traffic in stereotypes, women are arguably "naturally" better at coding than men, but they were written out of the history, and shoved out of the seats, for reasons that are illuminating. Now programming is indeed, if not a pure brotopia, at least an awfully homogenous community, which attracts people from a very narrow band of backgrounds and personality types. As Thompson learns, the consequences of that are significant - not least being a fetish for disruption at scale that doesn't leave much time for pondering larger moral issues of collateral damage. At the same time, coding is a marvelous new art form that has improved the world in innumerable ways, and Thompson reckons deeply, as no one before him has, with what great coding in fact looks like, who creates it, and where they come from. To get as close to his subject has he can, he picks up the thread of his own long-abandoned coding practice, and tries his mightiest to up his game, with some surprising results.More and more, any serious engagement with the world demands an engagement with code and its consequences, and to understand code, we must understand coders. In that regard, Clive Thompson's Hello, World! is a marvelous and delightful master class.

Essential System Administration: Tools and Techniques for Linux and Unix Administration


Æleen Frisch - 2002
    Essential System Administration provides a clear, concise, practical guide to the real-world issues that anyone responsible for a Unix system faces daily.The new edition of this indispensable reference has been fully updated for all the latest operating systems. Even more importantly, it has been extensively revised and expanded to consider the current system administrative topics that administrators need most. Essential System Administration,3rd Edition covers: DHCP, USB devices, the latest automation tools, SNMP and network management, LDAP, PAM, and recent security tools and techniques.Essential System Administration is comprehensive. But what has made this book the guide system administrators turn to over and over again is not just the sheer volume of valuable information it provides, but the clear, useful way the information is presented. It discusses the underlying higher-level concepts, but it also provides the details of the procedures needed to carry them out. It is not organized around the features of the Unix operating system, but around the various facets of a system administrator's job. It describes all the usual administrative tools that Unix provides, but it also shows how to use them intelligently and efficiently.Whether you use a standalone Unix system, routinely provide administrative support for a larger shared system, or just want an understanding of basic administrative functions, Essential System Administration is for you. This comprehensive and invaluable book combines the author's years of practical experience with technical expertise to help you manage Unix systems as productively and painlessly as possible.

Learning Python


Mark Lutz - 2003
    Python is considered easy to learn, but there's no quicker way to mastery of the language than learning from an expert teacher. This edition of "Learning Python" puts you in the hands of two expert teachers, Mark Lutz and David Ascher, whose friendly, well-structured prose has guided many a programmer to proficiency with the language. "Learning Python," Second Edition, offers programmers a comprehensive learning tool for Python and object-oriented programming. Thoroughly updated for the numerous language and class presentation changes that have taken place since the release of the first edition in 1999, this guide introduces the basic elements of the latest release of Python 2.3 and covers new features, such as list comprehensions, nested scopes, and iterators/generators. Beyond language features, this edition of "Learning Python" also includes new context for less-experienced programmers, including fresh overviews of object-oriented programming and dynamic typing, new discussions of program launch and configuration options, new coverage of documentation sources, and more. There are also new use cases throughout to make the application of language features more concrete. The first part of "Learning Python" gives programmers all the information they'll need to understand and construct programs in the Python language, including types, operators, statements, classes, functions, modules and exceptions. The authors then present more advanced material, showing how Python performs common tasks by offering real applications and the libraries available for those applications. Each chapter ends with a series of exercises that will test your Python skills and measure your understanding."Learning Python," Second Edition is a self-paced book that allows readers to focus on the core Python language in depth. As you work through the book, you'll gain a deep and complete understanding of the Python language that will help you to understand the larger application-level examples that you'll encounter on your own. If you're interested in learning Python--and want to do so quickly and efficiently--then "Learning Python," Second Edition is your best choice.

A Discipline of Programming


Edsger W. Dijkstra - 1976
    

Failure to Disrupt: Why Technology Alone Can't Transform Education


Justin Reich - 2020
    Much-publicized experiments, often underwritten by Silicon Valley entrepreneurs, have been launched at elite universities and in elementary schools in the poorest neighborhoods. Such was the excitement that, in 2012, the New York Times declared the "year of the MOOC." Less than a decade later, that pronouncement seems premature.In Failure to Disrupt: Why Technology Alone Can't Transform Education, Justin Reich delivers a sobering report card on the latest supposedly transformative educational technologies. Reich takes readers on a tour of MOOCs, autograders, computerized "intelligent tutors," and other educational technologies whose problems and paradoxes have bedeviled educators. Learning technologies--even those that are free to access--often provide the greatest benefit to affluent students and do little to combat growing inequality in education. And institutions and investors often favor programs that scale up quickly, but at the expense of true innovation. It turns out that technology cannot by itself disrupt education or provide shortcuts past the hard road of institutional change.Technology does have a crucial role to play in the future of education, Reich concludes. We still need new teaching tools, and classroom experimentation should be encouraged. But successful reform efforts will focus on incremental improvements, not the next killer app.

Fundamentals of Engineering Thermodynamics [With Student Resource Access Code]


Michael J. Moran - 1988
    This leading text uses many relevant engineering-based situations to help students model and solve problems.

Problem Solving with Algorithms and Data Structures Using Python


Bradley N. Miller - 2005
    It is also about Python. However, there is much more. The study of algorithms and data structures is central to understanding what computer science is all about. Learning computer science is not unlike learning any other type of difficult subject matter. The only way to be successful is through deliberate and incremental exposure to the fundamental ideas. A beginning computer scientist needs practice so that there is a thorough understanding before continuing on to the more complex parts of the curriculum. In addition, a beginner needs to be given the opportunity to be successful and gain confidence. This textbook is designed to serve as a text for a first course on data structures and algorithms, typically taught as the second course in the computer science curriculum. Even though the second course is considered more advanced than the first course, this book assumes you are beginners at this level. You may still be struggling with some of the basic ideas and skills from a first computer science course and yet be ready to further explore the discipline and continue to practice problem solving. We cover abstract data types and data structures, writing algorithms, and solving problems. We look at a number of data structures and solve classic problems that arise. The tools and techniques that you learn here will be applied over and over as you continue your study of computer science.

The Making of the Atomic Bomb


Richard Rhodes - 1986
    From the theoretical discussions of nuclear energy to the bright glare of Trinity there was a span of hardly more than twenty-five years. What began as merely an interesting speculative problem in physics grew into the Manhattan Project, and then into the Bomb with frightening rapidity, while scientists known only to their peers -- Szilard, Teller, Oppenheimer, Bohr, Meitner, Fermi, Lawrence, and yon Neumann -- stepped from their ivory towers into the limelight.Richard Rhodes takes us on that journey step by step, minute by minute, and gives us the definitive story of man's most awesome discovery and invention.

Apollo's Arrow: The Profound and Enduring Impact of Coronavirus on the Way We Live


Nicholas A. Christakis - 2020
    Drawing on momentous (yet dimly remembered) historical epidemics, contemporary analyses, and cutting-edge research from a range of scientific disciplines, bestselling author, physician, sociologist, and public health expert Nicholas A. Christakis explores what it means to live in a time of plague—an experience that is paradoxically uncommon to the vast majority of humans who are alive, yet deeply fundamental to our species.Unleashing new divisions in our society as well as opportunities for cooperation, this 21st-century pandemic has upended our lives in ways that will test, but not vanquish, our already frayed collective culture. Featuring new, provocative arguments and vivid examples ranging across medicine, history, sociology, epidemiology, data science, and genetics, Apollo's Arrow envisions what happens when the great force of a deadly germ meets the enduring reality of our evolved social nature.

Mathematics for the Nonmathematician


Morris Kline - 1967
    But there is one other motive which is as strong as any of these — the search for beauty. Mathematics is an art, and as such affords the pleasures which all the arts afford." In this erudite, entertaining college-level text, Morris Kline, Professor Emeritus of Mathematics at New York University, provides the liberal arts student with a detailed treatment of mathematics in a cultural and historical context. The book can also act as a self-study vehicle for advanced high school students and laymen. Professor Kline begins with an overview, tracing the development of mathematics to the ancient Greeks, and following its evolution through the Middle Ages and the Renaissance to the present day. Subsequent chapters focus on specific subject areas, such as "Logic and Mathematics," "Number: The Fundamental Concept," "Parametric Equations and Curvilinear Motion," "The Differential Calculus," and "The Theory of Probability." Each of these sections offers a step-by-step explanation of concepts and then tests the student's understanding with exercises and problems. At the same time, these concepts are linked to pure and applied science, engineering, philosophy, the social sciences or even the arts.In one section, Professor Kline discusses non-Euclidean geometry, ranking it with evolution as one of the "two concepts which have most profoundly revolutionized our intellectual development since the nineteenth century." His lucid treatment of this difficult subject starts in the 1800s with the pioneering work of Gauss, Lobachevsky, Bolyai and Riemann, and moves forward to the theory of relativity, explaining the mathematical, scientific and philosophical aspects of this pivotal breakthrough. Mathematics for the Nonmathematician exemplifies Morris Kline's rare ability to simplify complex subjects for the nonspecialist.