The Mythical Man-Month: Essays on Software Engineering


Frederick P. Brooks Jr. - 1975
    With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects. These essays draw from his experience as project manager for the IBM System/360 computer family and then for OS/360, its massive software system. Now, 45 years after the initial publication of his book, Brooks has revisited his original ideas and added new thoughts and advice, both for readers already familiar with his work and for readers discovering it for the first time.The added chapters contain (1) a crisp condensation of all the propositions asserted in the original book, including Brooks' central argument in The Mythical Man-Month: that large programming projects suffer management problems different from small ones due to the division of labor; that the conceptual integrity of the product is therefore critical; and that it is difficult but possible to achieve this unity; (2) Brooks' view of these propositions a generation later; (3) a reprint of his classic 1986 paper "No Silver Bullet"; and (4) today's thoughts on the 1986 assertion, "There will be no silver bullet within ten years."

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

Sinatra: Up and Running


Alan Harris - 2011
    With this concise book, you will quickly gain working knowledge of Sinatra and its minimalist approach to building both standalone and modular web applications. Sinatra serves as a lightweight wrapper around Rack middleware, with syntax that maps closely to functions exposed by HTTP verbs, which makes it ideal for web services and APIs. If you have experience building applications with Ruby, you’ll quickly learn language fundamentals and see under-the-hood techniques, with the help of several practical examples. Then you’ll get hands-on experience with Sinatra by building your own blog engine. Learn Sinatra’s core concepts, and get started by building a simple application Create views, manage sessions, and work with Sinatra route definitions Become familiar with the language’s internals, and take a closer look at Rack Use different subclass methods for building flexible and robust architectures Put Sinatra to work: build a blog that takes advantage of service hooks provided by the GitHub API

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.

The Haskell School of Expression: Learning Functional Programming Through Multimedia


Paul Hudak - 2000
    It has become popular in recent years because of its simplicity, conciseness, and clarity. This book teaches functional programming as a way of thinking and problem solving, using Haskell, the most popular purely functional language. Rather than using the conventional (boring) mathematical examples commonly found in other programming language textbooks, the author uses examples drawn from multimedia applications, including graphics, animation, and computer music, thus rewarding the reader with working programs for inherently more interesting applications. Aimed at both beginning and advanced programmers, this tutorial begins with a gentle introduction to functional programming and moves rapidly on to more advanced topics. Details about progamming in Haskell are presented in boxes throughout the text so they can be easily found and referred to.

Life with an Autistic Son


B's Dad - 2013
    He did not crave my company, cling to and cuddle me endlessly. He showed no need to bond with me, his father, and we did not. He exhausted me, he frustrated me and he scared me. I came to dread coming home from work sometimes, or those moments when it was my turn to wrestle him into bed and begin the long struggle to settle him. I said things that will forever haunt me, like “What is wrong with that child?” and “Is he always going to be this annoying?” What I didn't know then was that he was autistic.When that realisation came, so did the beginning of my mission to understand my son, and to understand autism. This book chronicles that search for understanding and answers. It documents one parent’s attempts to come to terms with, and accept, his child. It is raw and real, sometimes confused and frightened but also, I’d like to think, written with warmth and love and an ability to smile through difficult times.This book is for anyone starting out on a pathway with their child that they did not expect. It’s also for people who, like me, are a little further down that road but still learning, still asking questions and still getting it wrong sometimes. You are not alone.

Computer Science Illuminated


Nell B. Dale - 2002
    Written By Two Of Today'S Most Respected Computer Science Educators, Nell Dale And John Lewis, The Text Provides A Broad Overview Of The Many Aspects Of The Discipline From A Generic View Point. Separate Program Language Chapters Are Available As Bundle Items For Those Instructors Who Would Like To Explore A Particular Programming Language With Their Students. The Many Layers Of Computing Are Thoroughly Explained Beginning With The Information Layer, Working Through The Hardware, Programming, Operating Systems, Application, And Communication Layers, And Ending With A Discussion On The Limitations Of Computing. Perfect For Introductory Computing And Computer Science Courses, Computer Science Illuminated, Third Edition's Thorough Presentation Of Computing Systems Provides Computer Science Majors With A Solid Foundation For Further Study, And Offers Non-Majors A Comprehensive And Complete Introduction To Computing.

Off-Camera Flash: Techniques for Digital Photographers


Neil van Niekerk - 2011
    Seeking to address the various challenges of off-camera lighting, professional photographers and advanced amateurs alike will find a range of confidence-building instruction, beginning with basic how’s and why’s of lighting for creative effect, the types of equipment available and instruction about their proper use, clear definitions of various technical concepts such as managing shutter speed and controlling flash exposure, using ambient light as well as natural sunlight during a shoot, and incorporating off-camera flash into a portrait session. Concluding this lesson plan is a look at five different real-life photo sessions, each employing a different flash technique. Here, photographers get a deeper understanding of each concept put into practice, marrying the elements of lighting with the natural elements presented by the shoot.

The Pragmatic Programmer: From Journeyman to Master


Andy Hunt - 1999
    It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you'll learn how toFight software rot; Avoid the trap of duplicating knowledge; Write flexible, dynamic, and adaptable code; Avoid programming by coincidence; Bullet-proof your code with contracts, assertions, and exceptions; Capture real requirements; Test ruthlessly and effectively; Delight your users; Build teams of pragmatic programmers; and Make your developments more precise with automation. Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best practices and major pitfalls of many different aspects of software development. Whether you're a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you'll quickly see improvements in personal productivity, accuracy, and job satisfaction. You'll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You'll become a Pragmatic Programmer.

Understanding Ecmascript 6: The Definitive Guide for JavaScript Developers


Nicholas C. Zakas - 2016
    In Understanding ECMAScript 6, expert developer Nicholas C. Zakas provides a complete guide to the object types, syntax, and other exciting changes that ECMAScript 6 brings to JavaScript. Every chapter is packed with example code that works in any JavaScript environment so you'll be able to see new features in action. You'll learn:How ECMAScript 6 class syntax relates to more familiar JavaScript conceptsWhat makes iterators and generators usefulHow arrow functions differ from regular functionsWays to store data with sets, maps, and moreThe power of inheritanceHow to improve asynchronous programming with promisesHow modules change the way you organize codeWhether you're a web developer or a Node.js developer, you'll find Understanding ECMAScript 6 indispensable on your journey from ECMAScript 5 to ECMAScript 6.

Working with UNIX Processes


Jesse Storimer - 2011
    Want to impress your coworkers and write the fastest, most efficient, stable code you ever have? Don't reinvent the wheel. Reuse decades of research into battle-tested, highly optimized, and proven techniques available on any Unix system.This book will teach you what you need to know so that you can write your own servers, debug your entire stack when things go awry, and understand how things are working under the hood.http://www.jstorimer.com/products/wor...

Arduino Cookbook: Recipes to Begin, Expand, and Enhance Your Projects


Michael Margolis - 2010
    You'll find more than 200 tips and techniques for building a variety of objects and prototypes such as IoT solutions, environmental monitors, location and position-aware systems, and products that can respond to touch, sound, heat, and light.Updated for the Arduino 1.8 release, the recipes in this third edition include practical examples and guidance to help you begin, expand, and enhance your projects right away--whether you're an engineer, designer, artist, student, or hobbyist.Get up to speed on the Arduino board and essential software concepts quicklyLearn basic techniques for reading digital and analog signalsUse Arduino with a variety of popular input devices and sensorsDrive visual displays, generate sound, and control several types of motorsConnect Arduino to wired and wireless networksLearn techniques for handling time delays and time measurementApply advanced coding and memory-handling techniques

The Calculus Direct


John Weiss - 2009
    The calculus is not a hard subject and I prove this through an easy to read and obvious approach spanning only 100 pages. I have written this book with the following type of student in mind; the non-traditional student returning to college after a long break, a notoriously weak student in math who just needs to get past calculus to obtain a degree, and the garage tinkerer who wishes to understand a little more about the technical subjects. This book is meant to address the many fundamental thought-blocks that keep the average 'mathaphobe' (or just an interested person who doesn't have the time to enroll in a course) from excelling in mathematics in a clear and concise manner. It is my sincerest hope that this book helps you with your needs.Show more Show less

Graph Theory With Applications To Engineering And Computer Science


Narsingh Deo - 2004
    GRAPH THEORY WITH APPLICATIONS TO ENGINEERING AND COMPUTER SCIENCE-PHI-DEO, NARSINGH-1979-EDN-1

The Linux Command Line


William E. Shotts Jr. - 2012
    Available here:readmeaway.com/download?i=1593279523The Linux Command Line, 2nd Edition: A Complete Introduction PDF by William ShottsRead The Linux Command Line, 2nd Edition: A Complete Introduction PDF from No Starch Press,William ShottsDownload William Shotts’s PDF E-book The Linux Command Line, 2nd Edition: A Complete Introduction