Structure and Interpretation of Computer Programs


Harold Abelson - 1984
    This long-awaited revision contains changes throughout the text. There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the course at MIT since the first edition was published. A new theme has been introduced that emphasizes the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming and lazy evaluation, and nondeterministic programming. There are new example sections on higher-order procedures in graphics and on applications of stream processing in numerical programming, and many new exercises. In addition, all the programs have been reworked to run in any Scheme implementation that adheres to the IEEE standard.

Building Microservices: Designing Fine-Grained Systems


Sam Newman - 2014
    But developing these systems brings its own set of headaches. With lots of examples and practical advice, this book takes a holistic view of the topics that system architects and administrators must consider when building, managing, and evolving microservice architectures.Microservice technologies are moving quickly. Author Sam Newman provides you with a firm grounding in the concepts while diving into current solutions for modeling, integrating, testing, deploying, and monitoring your own autonomous services. You'll follow a fictional company throughout the book to learn how building a microservice architecture affects a single domain.Discover how microservices allow you to align your system design with your organization's goalsLearn options for integrating a service with the rest of your systemTake an incremental approach when splitting monolithic codebasesDeploy individual microservices through continuous integrationExamine the complexities of testing and monitoring distributed servicesManage security with user-to-service and service-to-service modelsUnderstand the challenges of scaling microservice architectures

Lonely Avenue: The Unlikely Life and Times of Doc Pomus


Alex Halberstadt - 2007
    A role model for generations of writers and performers, Doc was renowned for his mastery of virtually every popular style, from the gutbucket rhythm and blues of “Lonely Avenue” to the symphonic soul of “Save the Last Dance for Me” to the pure pop of “Viva Las Vegas.” His songs-“This Magic Moment,” “A Teenager in Love,” “Hushabye,” “Little Sister,” “Turn Me Loose,” and many others-have been recorded by everyone from Ray Charles, Elvis Presley, and B. B. King to Bob Dylan, Led Zeppelin, and Bruce Springsteen, with sales exceeding $100 million. Doc was ready-made for literature. His collaborator Mort Shuman once described him as an “entire rollicking soul neighborhood rolled into one man.” Garrulous, profane, hilarious, and Rabelaisian, Doc was never inhibited about offering his opinions and his friendship. His confidants, collaborators, and discoveries included Duke Ellington, John Lennon, Dr. John, Jimmy Scott, Bette Midler, and Lou Reed. In the words of renowned producer Jerry Wexler, “If the music industry had a heart, it would be Doc Pomus.” Despite, or more likely because of, his successes, few acquaintances knew that this writer of jukebox hits led one of the most dramatic and unlikely lives of his time. Spanning extravagant wealth and desperate poverty, suburban domesticity and the depths of New York’s underworld, worldwide fame and near-total obscurity, enduring love and persistent loneliness, Doc’s story remains one of the great untold American lives. Its chapters comprise a back-room history of rock ’n’ roll, touching on more than a half-century of American popular music-from the blues Doc performed with Lester Young to his collaborations with the luminaries of New York’s punk scene, shot through with vivid portraits of virtually every major player. Lonely Avenue is the first biography of this American original, so elegantly rendered that it reads like a novel, and fortified by full, exclusive access to Doc Pomus’s family, friends, voluminous journals, and archives.

Stella's Secret: A True Story of Holocaust Survival


Jerry L. Jennings - 2005
    But it is Stella’s voice, the amazing way that she tells her story, that makes this Holocaust story so unique, powerful and endearing. The reader listens to Stella’s stunning simplicity of expression, her use of Polish and Yiddish phrases, her humor, her all-so-frequent grammatical errors – and is charmed. It is a story that only Stella Yollin can tell, and it can only be told in Stella’s sweet and incomparable way.

The Problem with Software: Why Smart Engineers Write Bad Code


Adam Barr - 2018
    As the size and complexity of commercial software have grown, the gap between academic computer science and industry has widened. It's an open secret that there is little engineering in software engineering, which continues to rely not on codified scientific knowledge but on intuition and experience.Barr, who worked as a programmer for more than twenty years, describes how the industry has evolved, from the era of mainframes and Fortran to today's embrace of the cloud. He explains bugs and why software has so many of them, and why today's interconnected computers offer fertile ground for viruses and worms. The difference between good and bad software can be a single line of code, and Barr includes code to illustrate the consequences of seemingly inconsequential choices by programmers. Looking to the future, Barr writes that the best prospect for improving software engineering is the move to the cloud. When software is a service and not a product, companies will have more incentive to make it good rather than "good enough to ship."

Xavier: A British Secret Agent with the French Resistance


Richard Heslop - 2014
    

The Art of Doing Science and Engineering: Learning to Learn


Richard Hamming - 1996
    By presenting actual experiences and analyzing them as they are described, the author conveys the developmental thought processes employed and shows a style of thinking that leads to successful results is something that can be learned. Along with spectacular successes, the author also conveys how failures contributed to shaping the thought processes. Provides the reader with a style of thinking that will enhance a person's ability to function as a problem-solver of complex technical issues. Consists of a collection of stories about the author's participation in significant discoveries, relating how those discoveries came about and, most importantly, provides analysis about the thought processes and reasoning that took place as the author and his associates progressed through engineering problems.

Black Code: Inside the Battle for Cyberspace


Robert J. Deibert - 2013
    We depend on it for everything we do. We have reengineered our business, governance, and social relations around a planetary network unlike any before it. But there are dangers looming, and malign forces are threatening to transform this extraordinary domain.In Black Code, Ronald J. Deibert, a leading expert on digital technology, security, and human rights, lifts the lid on cyberspace and shows what’s at stake for Internet users and citizens. As cyberspace develops in unprecedented ways, powerful agents are scrambling for control. Predatory cyber criminal gangs such as Koobface have made social media their stalking ground. The discovery of Stuxnet, a computer worm reportedly developed by Israel and the United States and aimed at Iran’s nuclear facilities, showed that state cyberwar is now a very real possibility. Governments and corporations are in collusion and are setting the rules of the road behind closed doors.This is not the way it was supposed to be. The Internet’s original promise of a global commons of shared knowledge and communications is now under threat. Drawing on the first-hand experiences of one of the most important protagonists in the battle — the Citizen Lab and its global network of frontline researchers, who have spent more than a decade cracking cyber espionage rings and uncovering attacks on citizens and NGOs worldwide — Black Code takes readers on a fascinating journey into the battle for cyberspace. Thought-provoking, compelling, and sometimes frightening, it is a wakeup call to citizens who have come to take the Internet for granted. Cyberspace is ours, it is what we make of it, Deibert argues, and we need to act now before it slips through our grasp.

Getting Real: The Smarter, Faster, Easier Way to Build a Web Application


37 Signals - 2006
    At under 200 pages it's quick reading too. Makes a great airplane book.

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.

Python Crash Course: A Hands-On, Project-Based Introduction to Programming


Eric Matthes - 2015
    You'll also learn how to make your programs interactive and how to test your code safely before adding it to a project. In the second half of the book, you'll put your new knowledge into practice with three substantial projects: a Space Invaders-inspired arcade game, data visualizations with Python's super-handy libraries, and a simple web app you can deploy online.As you work through Python Crash Course, you'll learn how to: Use powerful Python libraries and tools, including matplotlib, NumPy, and PygalMake 2D games that respond to keypresses and mouse clicks, and that grow more difficult as the game progressesWork with data to generate interactive visualizationsCreate and customize simple web apps and deploy them safely onlineDeal with mistakes and errors so you can solve your own programming problemsIf you've been thinking seriously about digging into programming, Python Crash Course will get you up to speed and have you writing real programs fast. Why wait any longer? Start your engines and code!

The Difference Engine : Charles Babbage And The Quest To Build The First Computer


Doron Swade - 2000
    Doron Swade, technology historian and assistant director of London's Science Museum, investigates the troubles that plagued 19th-century knowledge engineers in The Difference Engine: Charles Babbage and the Quest to Build the First Computer.The author is in a unique position to appreciate the technical difficulties of the time, as he led a team that built a working model of a Difference Engine, using contemporary materials, in time for Babbage's 1991 bicentenary. The meat of the book is comprised of the story of the first computing machine design as gathered from the technical notes and drawings curated by Swade. Though Babbage certainly had problems translating his ideas into brass, the reader also comes to understand his fruitless, drawn-out arguments with his funders. Swade had it comparatively easy, though his depictions of the frustrating search for money and then working out how best to build the enormous machine in the late 1980s are delightful.It is difficult--maybe impossible--to draw a clear, unbroken line of influence from Babbage to any modern computer researchers, but his importance both as the first pioneer and as a symbol of the joys and sorrows of computing is unquestioned. Swade clearly respects his subject deeply, all the more so for having tried to bring the great old man's ideas to life. The Difference Engine is lovingly comprehensive and will thrill readers looking for a more technical examination of Babbage's career. --Rob Lightner

Good Day!: The Paul Harvey Story


Paul J. Batura - 2009
    Millions grew up listening to Paul Harvey News and Comment and The Rest of the Story, and trusted the great man who spoke for the little guy. Good Day! by Paul J. Batura follows the remarkable life of one of the founding fathers of the news media. Paul Harvey started his career during the Great Depression and narrated America's story day by day, through wars and peace, the threat of communism and the crumbling of old colonial powers, consumer booms and eventual busts. In Good Day!, you'll follow,* How he became "Paul Harvey"* The remarkable adversity he confronted in his early years* How he revolutionized the radio industry with his wife, Evelyn* How a president wanted to "roast" him "good"* How he was nearly jailed for pursuing a scoop Paul J. Batura's Good Day! is a colorful biography of the radio pioneer-turned-legend whose guiding light saw the country through dark times. Whether he was covering racial tensions, terrorist attacks, or which vitamins to take, Paul Harvey articulated the American experience for average people making their way in a world too large for quick comprehension. Harvey brought them that world "in dime store words," with a sense of optimism and faith, and with a deep love for America. Here is Harvey's story, the rest of the story, as he would tell it himself.

Apauk, Caller of Buffalo


James Willard Schultz - 1916
    An Indian boy by adoption, J. W. Schultz has told his paleface brothers many good Indian tales. "Apauk, Caller of Buffalo", was a lad in the land and the days of the great buffalo herds. Apauk. a Blackfoot boy. was taught when young the art of calling buffalo. A new type of the wooly, wild west Indian story appears in "Apauk, Caller of Buffalo." More thrilling than Action, the life story of the greatest of the Blackfeet medicine men, not only possesses an enthralling interest but gives the reader an authoritative historical picture of the life of the American Indian on the great western plains before the invasion of the white man. The biographer, James Wlllard Schultz, is an adopted member of the Blackfeet tribe and has lived the life of an Indian for forty years. Schultz writes: "ALTHOUGH I had known Apauk A—Flint Knife—for some time, it was not until the winter of 1879—80 that I became intimately acquainted with him. He was at that time the oldest member of the Piegan tribe of the Blackfeet Confederacy, and certainly looked it, for his once tall and powerful figure was shrunken and bent, and his skin had the appearance of wrinkled brown parchment. "In the fall of 1879, the late Joseph Kipp built a trading-post at the junction of the Judith River and Warm Spring Creek, near where the town of Lewistown, Montana, now stands, and as usual I passed the winter there with him. We had with us all the bands of the Piegans, and some of the bands of the Blood tribe, from Canada. The country was swarming with game, buffalo, elk, antelope, and deer, and the people hunted and were care-free and happy, as they had ever been up to that time. Camped beside our trading-post was old Hugh Monroe, or Rising Wolf, who had joined the Piegans in 1816, and it was through him that I came to know Apauk well enough to get the story of his remarkably adventurous and romantic youth. The two old men were great chums. Old as they were —Monroe was born in 1798, and Apauk was several years his senior—on pleasant days they mounted their horses and went hunting, and seldom failed to bring in game of some kind. And what a picturesque pair they were ! Both wore capotes ——hooded coats made from three-point Hudson Bay Company blankets—and leggins to match, and each carried an ancient Hudson Bay fuke, or flint-lock gun. They would have nothing to do with cap rifles, or the rim-fire cartridge, repeating weapons of modern make. Hundreds—yes, thousands of head of various game, many a savage grizzly, and a score or two of the enemy—— Sioux, Cree, Crow, Cheyenne, and Assiniboine, had they killed with the sputtering pieces, and they were their most cherished possessions. "Oh, that I could live over again those buffalo days! Those Winter evenings in Monroe’s or Apauk’s lodge, listening to their tales of the long ago! Nor was I the only interested listener: always there was a complete circle of guests around the cheerful fire; old men, to whom the tales brought memories of their own eventful days, and young men, who heard with intense interest of the adventures of their grandfathers, and of the “ calling of the buffalo,” which strange and wonderful method of obtaining at one swoop a whole tribe’s store of Winter food, they were never to witness. For the luring of whole herds of buffalo to their death had been Apauk’s sacred, honored, and danger-fraught avocation.

Object Thinking


David West - 2004
    Delving into the history, philosophy, and even politics of object-oriented programming, West reveals how the best programmers rely on analysis and conceptualization on thinking rather than formal process and methods. Both provocative and pragmatic, this book gives form to what s primarily been an oral tradition among the field s revolutionary thinkers and it illustrates specific object-behavior practices that you can adopt for true object design and superior results.Gain an in-depth understanding of: Prerequisites and principles of object thinking. Object knowledge implicit in eXtreme Programming (XP) and Agile software development. Object conceptualization and modeling. Metaphors, vocabulary, and design for object development.Learn viable techniques for: Decomposing complex domains in terms of objects. Identifying object relationships, interactions, and constraints. Relating object behavior to internal structure and implementation design. Incorporating object thinking into XP and Agile practice."