The Little Schemer


Daniel P. Friedman - 1974
    The authors' enthusiasm for their subject is compelling as they present abstract concepts in a humorous and easy-to-grasp fashion. Together, these books will open new doors of thought to anyone who wants to find out what computing is really about. The Little Schemer introduces computing as an extension of arithmetic and algebra; things that everyone studies in grade school and high school. It introduces programs as recursive functions and briefly discusses the limits of what computers can do. The authors use the programming language Scheme, and interesting foods to illustrate these abstract ideas. The Seasoned Schemer informs the reader about additional dimensions of computing: functions as values, change of state, and exceptional cases. The Little LISPer has been a popular introduction to LISP for many years. It had appeared in French and Japanese. The Little Schemer and The Seasoned Schemer are worthy successors and will prove equally popular as textbooks for Scheme courses as well as companion texts for any complete introductory course in Computer Science.

Damon Runyon Omnibus


Damon Runyon - 1944
    A world of speakeasies and dancing girls where a gambler or bootlegger is perfectly normal and respectable in every way. Those familiar with "Guys and Dolls" know what to expect!

Version Control By Example


Eric Sink - 2011
    Topics covered include:Basic version control commands and conceptsIntroduction to Distributed Version Control Systems (DVCS)Advanced branching workflowsStrengths and weaknesses of DVCS vs. centralized toolsBest practicesHow distributed version control works under the hoodFeaturing these open source version control tools:Apache SubversionMercurialGitVeracity

97 Things Every Programmer Should Know: Collective Wisdom from the Experts


Kevlin Henney - 2010
    With the 97 short and extremely useful tips for programmers in this book, you'll expand your skills by adopting new approaches to old problems, learning appropriate best practices, and honing your craft through sound advice.With contributions from some of the most experienced and respected practitioners in the industry--including Michael Feathers, Pete Goodliffe, Diomidis Spinellis, Cay Horstmann, Verity Stob, and many more--this book contains practical knowledge and principles that you can apply to all kinds of projects.A few of the 97 things you should know:"Code in the Language of the Domain" by Dan North"Write Tests for People" by Gerard Meszaros"Convenience Is Not an -ility" by Gregor Hohpe"Know Your IDE" by Heinz Kabutz"A Message to the Future" by Linda Rising"The Boy Scout Rule" by Robert C. Martin (Uncle Bob)"Beware the Share" by Udi Dahan

How Linux Works: What Every Superuser Should Know


Brian Ward - 2004
    Some books try to give you copy-and-paste instructions for how to deal with every single system issue that may arise, but How Linux Works actually shows you how the Linux system functions so that you can come up with your own solutions. After a guided tour of filesystems, the boot sequence, system management basics, and networking, author Brian Ward delves into open-ended topics such as development tools, custom kernels, and buying hardware, all from an administrator's point of view. With a mixture of background theory and real-world examples, this book shows both "how" to administer Linux, and "why" each particular technique works, so that you will know how to make Linux work for you.

Programming Pearls


Jon L. Bentley - 1986
    Jon has done a wonderful job of updating the material. I am very impressed at how fresh the new examples seem." - Steve McConnell, author, Code CompleteWhen programmers list their favorite books, Jon Bentley's collection of programming pearls is commonly included among the classics. Just as natural pearls grow from grains of sand that irritate oysters, programming pearls have grown from real problems that have irritated real programmers. With origins beyond solid engineering, in the realm of insight and creativity, Bentley's pearls offer unique and clever solutions to those nagging problems. Illustrated by programs designed as much for fun as for instruction, the book is filled with lucid and witty descriptions of practical programming techniques and fundamental design principles. It is not at all surprising that Programming Pearls has been so highly valued by programmers at every level of experience. In this revision, the first in 14 years, Bentley has substantially updated his essays to reflect current programming methods and environments. In addition, there are three new essays on (1) testing, debugging, and timing; (2) set representations; and (3) string problems. All the original programs have been rewritten, and an equal amount of new code has been generated. Implementations of all the programs, in C or C++, are now available on the Web.What remains the same in this new edition is Bentley's focus on the hard core of programming problems and his delivery of workable solutions to those problems. Whether you are new to Bentley's classic or are revisiting his work for some fresh insight, this book is sure to make your own list of favorites.

Who Says Elephants Can't Dance?: Inside IBM's Historic Turnaround


Louis V. Gerstner Jr. - 2002
    By 1993, the computer industry had changed so rapidly the company was on its way to losing $16 billion and IBM was on a watch list for extinction -- victimized by its own lumbering size, an insular corporate culture, and the PC era IBM had itself helped invent.Then Lou Gerstner was brought in to run IBM. Almost everyone watching the rapid demise of this American icon presumed Gerstner had joined IBM to preside over its continued dissolution into a confederation of autonomous business units. This strategy, well underway when he arrived, would have effectively eliminated the corporation that had invented many of the industry's most important technologies.Instead, Gerstner took hold of the company and demanded the managers work together to re-establish IBM's mission as a customer-focused provider of computing solutions. Moving ahead of his critics, Gerstner made the hold decision to keep the company together, slash prices on his core product to keep the company competitive, and almost defiantly announced, "The last thing IBM needs right now is a vision."Who Says Elephants Can't Dance? tells the story of IBM's competitive and cultural transformation. In his own words, Gerstner offers a blow-by-blow account of his arrival at the company and his campaign to rebuild the leadership team and give the workforce a renewed sense of purpose. In the process, Gerstner defined a strategy for the computing giant and remade the ossified culture bred by the company's own success.The first-hand story of an extraordinary turnaround, a unique case study in managing a crisis, and a thoughtful reflection on the computer industry and the principles of leadership, Who Says Elephants Can't Dance? sums up Lou Gerstner's historic business achievement. Taking readers deep into the world of IBM's CEO, Gerstner recounts the high-level meetings and explains the pressure-filled, no-turning-back decisions that had to be made. He also offers his hard-won conclusions about the essence of what makes a great company run.In the history of modern business, many companies have gone from being industry leaders to the verge of extinction. Through the heroic efforts of a new management team, some of those companies have even succeeded in resuscitating themselves and living on in the shadow of their former stature. But only one company has been at the pinnacle of an industry, fallen to near collapse, and then, beyond anyone's expectations, returned to set the agenda. That company is IBM.Lou Gerstener, Jr., served as chairman and chief executive officer of IBM from April 1993 to March 2002, when he retired as CEO. He remained chairman of the board through the end of 2002. Before joining IBM, Mr. Gerstner served for four years as chairman and CEO of RJR Nabisco, Inc. This was preceded by an eleven-year career at the American Express Company, where he was president of the parent company and chairman and CEO of its largest subsidiary. Prior to that, Mr. Gerstner was a director of the management consulting firm of McKinsey & Co., Inc. He received a bachelor's degree in engineering from Dartmouth College and an MBA from Harvard Business School.

Lex & Yacc


John R. Levine - 1990
    These tools help programmers build compilers and interpreters, but they also have a wider range of applications.The second edition contains completely revised tutorial sections for novice users and reference sections for advanced users. This edition is twice the size of the first and has an expanded index.The following material has been added:Each utility is explained in a chapter that covers basic usage and simple, stand-alone applications How to implement a full SQL grammar, with full sample code Major MS-DOS and Unix versions of lex and yacc are explored in depth, including AT&T lex and yacc, Berkeley yacc, Berkeley/GNU Flex, GNU Bison, MKS lex and yacc, and Abraxas PCYACC

Hackers: Heroes of the Computer Revolution


Steven Levy - 1984
    That was before one pioneering work documented the underground computer revolution that was about to change our world forever. With groundbreaking profiles of Bill Gates, Steve Wozniak, MIT's Tech Model Railroad Club, and more, Steven Levy's Hackers brilliantly captured a seminal moment when the risk-takers and explorers were poised to conquer twentieth-century America's last great frontier. And in the Internet age, the hacker ethic-first espoused here-is alive and well.

Coders at Work: Reflections on the Craft of Programming


Peter Seibel - 2009
    As the words "at work" suggest, Peter Seibel focuses on how his interviewees tackle the day–to–day work of programming, while revealing much more, like how they became great programmers, how they recognize programming talent in others, and what kinds of problems they find most interesting. Hundreds of people have suggested names of programmers to interview on the Coders at Work web site: http://www.codersatwork.com. The complete list was 284 names. Having digested everyone’s feedback, we selected 16 folks who’ve been kind enough to agree to be interviewed:- Frances Allen: Pioneer in optimizing compilers, first woman to win the Turing Award (2006) and first female IBM fellow- Joe Armstrong: Inventor of Erlang- Joshua Bloch: Author of the Java collections framework, now at Google- Bernie Cosell: One of the main software guys behind the original ARPANET IMPs and a master debugger- Douglas Crockford: JSON founder, JavaScript architect at Yahoo!- L. Peter Deutsch: Author of Ghostscript, implementer of Smalltalk-80 at Xerox PARC and Lisp 1.5 on PDP-1- Brendan Eich: Inventor of JavaScript, CTO of the Mozilla Corporation - Brad Fitzpatrick: Writer of LiveJournal, OpenID, memcached, and Perlbal - Dan Ingalls: Smalltalk implementor and designer- Simon Peyton Jones: Coinventor of Haskell and lead designer of Glasgow Haskell Compiler- Donald Knuth: Author of The Art of Computer Programming and creator of TeX- Peter Norvig: Director of Research at Google and author of the standard text on AI- Guy Steele: Coinventor of Scheme and part of the Common Lisp Gang of Five, currently working on Fortress- Ken Thompson: Inventor of UNIX- Jamie Zawinski: Author of XEmacs and early Netscape/Mozilla hackerWhat you’ll learn:How the best programmers in the world do their jobWho is this book for?Programmers interested in the point of view of leaders in the field. Programmers looking for approaches that work for some of these outstanding programmers.

Python for Informatics: Exploring Information: Exploring Information


Charles Severance - 2002
    You can think of Python as your tool to solve problems that are far beyond the capability of a spreadsheet. It is an easy-to-use and easy-to learn programming language that is freely available on Windows, Macintosh, and Linux computers. There are free downloadable copies of this book in various electronic formats and a self-paced free online course where you can explore the course materials. All the supporting materials for the book are available under open and remixable licenses. This book is designed to teach people to program even if they have no prior experience.

The Tangled Web: A Guide to Securing Modern Web Applications


Michal Zalewski - 2011
    Every piece of the web application stack, from HTTP requests to browser-side scripts, comes with important yet subtle security consequences. To keep users safe, it is essential for developers to confidently navigate this landscape.In The Tangled Web, Michal Zalewski, one of the world's top browser security experts, offers a compelling narrative that explains exactly how browsers work and why they're fundamentally insecure. Rather than dispense simplistic advice on vulnerabilities, Zalewski examines the entire browser security model, revealing weak points and providing crucial information for shoring up web application security. You'll learn how to:Perform common but surprisingly complex tasks such as URL parsing and HTML sanitization Use modern security features like Strict Transport Security, Content Security Policy, and Cross-Origin Resource Sharing Leverage many variants of the same-origin policy to safely compartmentalize complex web applications and protect user credentials in case of XSS bugs Build mashups and embed gadgets without getting stung by the tricky frame navigation policy Embed or host user-supplied content without running into the trap of content sniffing For quick reference, "Security Engineering Cheat Sheets" at the end of each chapter offer ready solutions to problems you're most likely to encounter. With coverage extending as far as planned HTML5 features, The Tangled Web will help you create secure web applications that stand the test of time.

Code Complete


Steve McConnell - 1993
    Now this classic book has been fully updated and revised with leading-edge practices--and hundreds of new code samples--illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking--and help you build the highest quality code. Discover the timeless techniques and strategies that help you: Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactor--or evolve--code, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project

Hadoop in Action


Chuck Lam - 2010
    The intended readers are programmers, architects, and project managers who have to process large amounts of data offline. Hadoop in Action will lead the reader from obtaining a copy of Hadoop to setting it up in a cluster and writing data analytic programs.The book begins by making the basic idea of Hadoop and MapReduce easier to grasp by applying the default Hadoop installation to a few easy-to-follow tasks, such as analyzing changes in word frequency across a body of documents. The book continues through the basic concepts of MapReduce applications developed using Hadoop, including a close look at framework components, use of Hadoop for a variety of data analysis tasks, and numerous examples of Hadoop in action.Hadoop in Action will explain how to use Hadoop and present design patterns and practices of programming MapReduce. MapReduce is a complex idea both conceptually and in its implementation, and Hadoop users are challenged to learn all the knobs and levers for running Hadoop. This book takes you beyond the mechanics of running Hadoop, teaching you to write meaningful programs in a MapReduce framework.This book assumes the reader will have a basic familiarity with Java, as most code examples will be written in Java. Familiarity with basic statistical concepts (e.g. histogram, correlation) will help the reader appreciate the more advanced data processing examples. Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.

Camino de Santiago - Practical Preparation and Background (CaminoGuide.net eBooks)


Gerald Kelly - 2011
     On the Camino: advice and information about what to expect on the Camino. Terrain, waymarkings, accommodation, food and drink, money matters, keeping in touch (telephone, internet, etc.), health – with advice on staying healthy and accessing the Spanish health service, Camino administration, etiquette and safety – staying safe and planning for any eventuality. The Caminos: information about the other Caminos, a list of books about the Caminos and pilgrim statistics, with the most popular starting points, nationalities, routes and busiest months. History: the History section aims to give you an understanding of the historical background to the Camino and the role it played in the foundation of modern Spain and Europe. It contains a history of Spain, and a history of the Camino from its beginnings to its revival, in the late 20th century. There’s also an account of life on the Camino in the middle-ages, the people who walked then, and the hardships and hazards they faced. Society, Culture & Environment: a brief outline of the fascinating mosaic that is modern Spain, its politics, cultures and peoples. The natural environment of northern Spain and the impact of the Camino on it. A description of the architectural styles and periods you’ll see along the Camino. Communicating: advice on making yourself understood and understanding others, with a Menu Guide and the most useful Spanish words and phrases for Camino life, plus a few phrases in Basque and Galician. Glossary: a concise reference for many Camino-related persons and things. This new edition, published in September 2013, has been extensively changed, updated and expanded based on feedback and criticisms received from readers over the past two years, and the author's experiences of walking various Caminos during that time. Most of the changes and additions are in the areas: - Packing, what to bring: with the different packing options listed in detail, and the pros and cons of different items explained. - A typical Camino day is described, from waking at the crack of dawn, to bedding down at nightfall. - There's detailed information about how Pilgrim Hostels work, and what it's like to stay in one. - Health: blisters, bedbugs, heatstroke, and other Camino hazards, are described with advice on avoiding them and dealing with them. Thanks to everybody for their feedback and their help with this new edition. ¡Buen Camino!