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.

Java Network Programming


Elliotte Rusty Harold - 1997
    It is a clear, complete introduction to developing network programs (both applets and applications) using Java, covering everything from networking fundamentals to remote method invocation (RMI). Java Network Programming, 3rd Edition includes chapters on TCP and UDP sockets, multicasting protocol and content handlers, servlets, multithreaded network programming, I/O, HTML parsing and display, the Java Mail API, and the Java Secure Sockets Extension. There's also significant information on the New I/O API that was developed in large part because of the needs of network programmers. This invaluable book is a complete, single source guide to writing sophisticated network applications. Packed with useful examples, it is the essential resource for any serious Java developer.

Race Against The Machine


Erik Brynjolfsson - 2011
    Drawing on research by their team at the Center for Digital Business, they show that there's been no stagnation in technology -- in fact, the digital revolution is accelerating. Recent advances are the stuff of science fiction: computers now drive cars in traffic, translate between human languages effectively, and beat the best human Jeopardy! players.As these examples show, digital technologies are rapidly encroaching on skills that used to belong to humans alone. This phenomenon is both broad and deep, and has profound economic implications. Many of these implications are positive; digital innovation increases productivity, reduces prices (sometimes to zero), and grows the overall economic pie.But digital innovation has also changed how the economic pie is distributed, and here the news is not good for the median worker. As technology races ahead, it can leave many people behind. Workers whose skills have been mastered by computers have less to offer the job market, and see their wages and prospects shrink. Entrepreneurial business models, new organizational structures and different institutions are needed to ensure that the average worker is not left behind by cutting-edge machines.In Race Against the Machine Brynjolfsson and McAfee bring together a range of statistics, examples, and arguments to show that technological progress is accelerating, and that this trend has deep consequences for skills, wages, and jobs. The book makes the case that employment prospects are grim for many today not because there's been technology has stagnated, but instead because we humans and our organizations aren't keeping up.

Artificial Intelligence: Structures and Strategies for Complex Problem Solving


George F. Luger - 1997
    It is suitable for a one or two semester university course on AI, as well as for researchers in the field.

Python: For Beginners: A Crash Course Guide To Learn Python in 1 Week (coding, programming, web-programming, programmer)


Timothy C. Needham - 2017
    It is very readable and the stress many beginners face about memorizing arcane syntax typically presented by other programming languages will not affect you at all. Conversely, you will be able to concentrate on learning concepts and paradigms of programming. This book shall introduce you to an easy way to learn Python in just 7 days and in this time, be able to complete your own projects! By reading the book and implementing what you learn herein, you will realize just why major institutions like NASA, Google, Mozilla, Yahoo, Dropbox, IBM, Facebook and many others prefer to use python in their core products, services and business processes. Let

Rhythms of the Brain


György Buzsáki - 2006
    This book provides eloquent support for the idea that spontaneous neuron activity, far from being mere noise, is actually the source of our cognitive abilities. It takes a fresh look at the co-evolution of structure and function in the mammalian brain, illustrating how self-emerged oscillatory timing is the brains fundamental organizer of neuronal information. The small world-like connectivity of the cerebral cortex allows for global computation on multiple spatial and temporal scales. The perpetual interactions among the multiple network oscillators keep cortical systems in a highly sensitive metastable state and provide energy-efficient synchronizing mechanisms via weak links.In a sequence of cycles, Gy�rgy Buzs�ki guides the reader from the physics of oscillations through neuronal assembly organization to complex cognitive processing and memory storage. His clear, fluid writing accessible to any reader with some scientific knowledge is supplemented by extensive footnotes and references that make it just as gratifying and instructive a read for the specialist. The coherent view of a single author who has been at the forefront of research in this exciting field, this volume is essential reading for anyone interested in our rapidly evolving understanding of the brain.

REST in Practice: Hypermedia and Systems Architecture


Jim Webber - 2010
    You'll learn techniques for implementing specific Web technologies and patterns to solve the needs of a typical company as it grows from modest beginnings to become a global enterprise.Learn basic Web techniques for application integrationUse HTTP and the Web’s infrastructure to build scalable, fault-tolerant enterprise applicationsDiscover the Create, Read, Update, Delete (CRUD) pattern for manipulating resourcesBuild RESTful services that use hypermedia to model state transitions and describe business protocolsLearn how to make Web-based solutions secure and interoperableExtend integration patterns for event-driven computing with the Atom Syndication Format and implement multi-party interactions in AtomPubUnderstand how the Semantic Web will impact systems design

Elixir in Action


Saša Jurić - 2015
    Revised and updated for the Elixir 1.7, Elixir in Action, Second Edition teaches you how to apply Elixir to practical problems associated with scalability, fault tolerance, and high availability. Along the way, you'll develop an appreciation for, and considerable skill in, a functional and concurrent style of programming.

The Court of Broken Knives


Anna Smith Spark - 2017
    They’re fools and madmen and like the art of war. And their children go hungry while we piss gold and jewels into the dust.In the richest empire the world has ever known, the city of Sorlost has always stood, eternal and unconquered. But in a city of dreams governed by an imposturous Emperor, decadence has become the true ruler, and has blinded its inhabitants to their vulnerability. The empire is on the verge of invasion – and only one man can see it.Haunted by dreams of the empire’s demise, Orhan Emmereth has decided to act. On his orders, a company of soldiers cross the desert to reach the city. Once they enter the Palace, they have one mission: kill the Emperor, then all those who remain. Only from ashes can a new empire be built.The company is a group of good, ordinary soldiers, for whom this is a mission like any other. But the strange boy Marith who walks among them is no ordinary soldier. Marching on Sorlost, Marith thinks he is running away from the past which haunts him. But in the Golden City, his destiny awaits him – beautiful, bloody, and more terrible than anyone could have foreseen.

Introduction to the Theory of Computation


Michael Sipser - 1996
    Sipser's candid, crystal-clear style allows students at every level to understand and enjoy this field. His innovative "proof idea" sections explain profound concepts in plain English. The new edition incorporates many improvements students and professors have suggested over the years, and offers updated, classroom-tested problem sets at the end of each chapter.

A New Kind of Science


Stephen Wolfram - 1997
    Wolfram lets the world see his work in A New Kind of Science, a gorgeous, 1,280-page tome more than a decade in the making. With patience, insight, and self-confidence to spare, Wolfram outlines a fundamental new way of modeling complex systems. On the frontier of complexity science since he was a boy, Wolfram is a champion of cellular automata--256 "programs" governed by simple nonmathematical rules. He points out that even the most complex equations fail to accurately model biological systems, but the simplest cellular automata can produce results straight out of nature--tree branches, stream eddies, and leopard spots, for instance. The graphics in A New Kind of Science show striking resemblance to the patterns we see in nature every day. Wolfram wrote the book in a distinct style meant to make it easy to read, even for nontechies; a basic familiarity with logic is helpful but not essential. Readers will find themselves swept away by the elegant simplicity of Wolfram's ideas and the accidental artistry of the cellular automaton models. Whether or not Wolfram's revolution ultimately gives us the keys to the universe, his new science is absolutely awe-inspiring. --Therese Littleton

The Ethical Algorithm: The Science of Socially Aware Algorithm Design


Michael Kearns - 2019
    Algorithms have made our lives more efficient, more entertaining, and, sometimes, better informed. At the same time, complex algorithms are increasingly violating the basic rights of individual citizens. Allegedly anonymized datasets routinely leak our most sensitive personal information; statistical models for everything from mortgages to college admissions reflect racial and gender bias. Meanwhile, users manipulate algorithms to "game" search engines, spam filters, online reviewing services, and navigation apps.Understanding and improving the science behind the algorithms that run our lives is rapidly becoming one of the most pressing issues of this century. Traditional fixes, such as laws, regulations and watchdog groups, have proven woefully inadequate. Reporting from the cutting edge of scientific research, The Ethical Algorithm offers a new approach: a set of principled solutions based on the emerging and exciting science of socially aware algorithm design. Michael Kearns and Aaron Roth explain how we can better embed human principles into machine code - without halting the advance of data-driven scientific exploration. Weaving together innovative research with stories of citizens, scientists, and activists on the front lines, The Ethical Algorithm offers a compelling vision for a future, one in which we can better protect humans from the unintended impacts of algorithms while continuing to inspire wondrous advances in technology.

Understanding Computation: From Simple Machines to Impossible Programs


Tom Stuart - 2013
    Understanding Computation explains theoretical computer science in a context you’ll recognize, helping you appreciate why these ideas matter and how they can inform your day-to-day programming.Rather than use mathematical notation or an unfamiliar academic programming language like Haskell or Lisp, this book uses Ruby in a reductionist manner to present formal semantics, automata theory, and functional programming with the lambda calculus. It’s ideal for programmers versed in modern languages, with little or no formal training in computer science.* Understand fundamental computing concepts, such as Turing completeness in languages* Discover how programs use dynamic semantics to communicate ideas to machines* Explore what a computer can do when reduced to its bare essentials* Learn how universal Turing machines led to today’s general-purpose computers* Perform complex calculations, using simple languages and cellular automata* Determine which programming language features are essential for computation* Examine how halting and self-referencing make some computing problems unsolvable* Analyze programs by using abstract interpretation and type systems

Python for Data Analysis


Wes McKinney - 2011
    It is also a practical, modern introduction to scientific computing in Python, tailored for data-intensive applications. This is a book about the parts of the Python language and libraries you'll need to effectively solve a broad set of data analysis problems. This book is not an exposition on analytical methods using Python as the implementation language.Written by Wes McKinney, the main author of the pandas library, this hands-on book is packed with practical cases studies. It's ideal for analysts new to Python and for Python programmers new to scientific computing.Use the IPython interactive shell as your primary development environmentLearn basic and advanced NumPy (Numerical Python) featuresGet started with data analysis tools in the pandas libraryUse high-performance tools to load, clean, transform, merge, and reshape dataCreate scatter plots and static or interactive visualizations with matplotlibApply the pandas groupby facility to slice, dice, and summarize datasetsMeasure data by points in time, whether it's specific instances, fixed periods, or intervalsLearn how to solve problems in web analytics, social sciences, finance, and economics, through detailed examples

The Black Box Society: The Secret Algorithms That Control Money and Information


Frank Pasquale - 2014
    The data compiled and portraits created are incredibly detailed, to the point of being invasive. But who connects the dots about what firms are doing with this information? The Black Box Society argues that we all need to be able to do so--and to set limits on how big data affects our lives.Hidden algorithms can make (or ruin) reputations, decide the destiny of entrepreneurs, or even devastate an entire economy. Shrouded in secrecy and complexity, decisions at major Silicon Valley and Wall Street firms were long assumed to be neutral and technical. But leaks, whistleblowers, and legal disputes have shed new light on automated judgment. Self-serving and reckless behavior is surprisingly common, and easy to hide in code protected by legal and real secrecy. Even after billions of dollars of fines have been levied, underfunded regulators may have only scratched the surface of this troubling behavior.Frank Pasquale exposes how powerful interests abuse secrecy for profit and explains ways to rein them in. Demanding transparency is only the first step. An intelligible society would assure that key decisions of its most important firms are fair, nondiscriminatory, and open to criticism. Silicon Valley and Wall Street need to accept as much accountability as they impose on others.