Team Geek: A Software Developer's Guide to Working Well with Others


Brian W. Fitzpatrick - 2012
    And in a perfect world, those who produce the best code are the most successful. But in our perfectly messy world, success also depends on how you work with people to get your job done.In this highly entertaining book, Brian Fitzpatrick and Ben Collins-Sussman cover basic patterns and anti-patterns for working with other people, teams, and users while trying to develop software. It's valuable information from two respected software engineers whose popular video series, "Working with Poisonous People," has attracted hundreds of thousands of viewers.You'll learn how to deal with imperfect people--those irrational and unpredictable beings--in the course of your work. And you'll discover why playing well with others is at least as important as having great technical skills. By internalizing the techniques in this book, you'll get more software written, be more influential, be happier in your career.

Programming in Scala


Martin Odersky - 2008
     Coauthored by the designer of the Scala language, this authoritative book will teach you, one step at a time, the Scala language and the ideas behind it. The book is carefully crafted to help you learn. The first few chapters will give you enough of the basics that you can already start using Scala for simple tasks. The entire book is organized so that each new concept builds on concepts that came before - a series of steps that promises to help you master the Scala language and the important ideas about programming that Scala embodies. A comprehensive tutorial and reference for Scala, this book covers the entire language and important libraries.

Feynman Lectures On Computation


Richard P. Feynman - 1996
    Feynman gave his famous course on computation at the California Institute of Technology, he asked Tony Hey to adapt his lecture notes into a book. Although led by Feynman, the course also featured, as occasional guest speakers, some of the most brilliant men in science at that time, including Marvin Minsky, Charles Bennett, and John Hopfield. Although the lectures are now thirteen years old, most of the material is timeless and presents a “Feynmanesque” overview of many standard and some not-so-standard topics in computer science such as reversible logic gates and quantum computers.

Eloquent JavaScript: A Modern Introduction to Programming


Marijn Haverbeke - 2010
    I loved the tutorial-style game-like program development. This book rekindled my earliest joys of programming. Plus, JavaScript!" —Brendan Eich, creator of JavaScriptJavaScript is the language of the Web, and it's at the heart of every modern website from the lowliest personal blog to the mighty Google Apps. Though it's simple for beginners to pick up and play with, JavaScript is not a toy—it's a flexible and complex language, capable of much more than the showy tricks most programmers use it for.Eloquent JavaScript goes beyond the cut-and-paste scripts of the recipe books and teaches you to write code that's elegant and effective. You'll start with the basics of programming, and learn to use variables, control structures, functions, and data structures. Then you'll dive into the real JavaScript artistry: higher-order functions, closures, and object-oriented programming.Along the way you'll learn to:Master basic programming techniques and best practices Harness the power of functional and object-oriented programming Use regular expressions to quickly parse and manipulate strings Gracefully deal with errors and browser incompatibilities Handle browser events and alter the DOM structure Most importantly, Eloquent JavaScript will teach you to express yourself in code with precision and beauty. After all, great programming is an art, not a science—so why settle for a killer app when you can create a masterpiece?

Linux Pocket Guide


Daniel J. Barrett - 2004
    Every page of Linux Pocket Guide lives up to this billing. It clearly explains how to get up to speed quickly on day-to-day Linux use. Once you're up and running, Linux Pocket Guide provides an easy-to-use reference that you can keep by your keyboard for those times when you want a fast, useful answer, not hours in the man pages.Linux Pocket Guide is organized the way you use Linux: by function, not just alphabetically. It's not the 'bible of Linux; it's a practical and concise guide to the options and commands you need most. It starts with general concepts like files and directories, the shell, and X windows, and then presents detailed overviews of the most essential commands, with clear examples. You'll learn each command's purpose, usage, options, location on disk, and even the RPM package that installed it.The Linux Pocket Guide is tailored to Fedora Linux--the latest spin-off of Red Hat Linux--but most of the information applies to any Linux system.Throw in a host of valuable power user tips and a friendly and accessible style, and you'll quickly find this practical, to-the-point book a small but mighty resource for Linux users.

C++ Coding Standards: 101 Rules, Guidelines, and Best Practices


Herb Sutter - 2004
    This happens automatically when following agood, simple set of guidelines.*They improve development speed, because the programmer doesn't need toalways make decisions starting from first principles.*They enhance teamwork by eliminating needless debates on inconsequentialissues and by making it easy for teammates to read and maintain each other'scode.The coding standards introduced by this book are a collection of guidelines forwriting high-quality C++ code.***They are the distilled conclusions of a rich collective experience of the C++community. Until now, this body of knowledge has been available only asfolklore or spread in bits and pieces throughout books.

Growing Rails Applications in Practice


Henning Koch - 2014
    

The 8088 and 8086 Microprocessors: Programming, Interfacing, Software, Hardware, and Applications


Walter A. Triebel - 1991
    This volume offers thorough, balanced, and practical coverage of both software and hardware topics. Develops basic concepts using the 8088 and 8086 microprocessors, but the 32-bit version of the 80x86 family is also discussed. Examines how to assemble, run, and debug programs, and how to build, test, and troubleshoot interface circuits. Provides detailed coverage of floating-point processing and the single instruction multiple data (DIMD) processing capability of the advanced Pentium processor. Includes added material on number systems, logic functions and operations, conversion between number systems, and addition/subtraction of binary numbers. Includes new advanced material such as floating Point Architecture and Instructions, Multimedia (MMX) Architecture and Instructions, and the hardware and hardware architecture of the Pentium 3 and Pentium 4 processors. Covers the Intel architecture microprocessor families: 8088, 8086, 80286, 80386, 80486, and the latest Pentium(R) processors. Illustrates commands of the DEBUG program and how to assemble, disassemble, load, save, execute, and debug programs on the IBM PC. Introduces the contents of the 8088's instruction set. Explores practical implementation techniques, covering the use of latches, transceivers, buffers, and programmable logic devices in the memory and I/O interfaces of the microcomputer system. A valuable handbook for self-study in learning microprocessors, for electrical engineers, electronic technicians, and all computer programmers.

Thinking in CSS


Aravind Shenoy - 2014
    Instead of wandering through loads of theory, we will understand CSS more practically so that we can design a webpage using CSS. We have used Notepad for the examples in this book. Alternatively, you can also use Notepad++ or any advanced editor. All that you need to do is copy the code and paste it into Notepad. Upon execution, you will get the output as depicted in the screenshots. Screenshots are provided for each sample code. Coding gets better with practice. The examples in this book are compatible with almost every browser. Instead of using the verbatim code, you can modify the code and see the change in the output, thereby understanding the subtle nuances of CSS. By the end of the book, with practice, you can achieve better things and get more acquainted with CSS.

Regular Expression Pocket Reference: Regular Expressions for Perl, Ruby, PHP, Python, C, Java and .NET


Tony Stubblebine - 2007
    Ideal as a quick reference, Regular Expression Pocket Reference covers the regular expression APIs for Perl 5.8, Ruby (including some upcoming 1.9 features), Java, PHP, .NET and C#, Python, vi, JavaScript, and the PCRE regular expression libraries. This concise and easy-to-use reference puts a very powerful tool for manipulating text and data right at your fingertips. Composed of a mixture of symbols and text, regular expressions can be an outlet for creativity, for brilliant programming, and for the elegant solution. Regular Expression Pocket Reference offers an introduction to regular expressions, pattern matching, metacharacters, modes and constructs, and then provides separate sections for each of the language APIs, with complete regex listings including:Supported metacharacters for each language API Regular expression classes and interfaces for Ruby, Java, .NET, and C# Regular expression operators for Perl 5.8 Regular expression module objects and functions for Python Pattern-matching functions for PHP and the vi editor Pattern-matching methods and objects for JavaScript Unicode Support for each of the languages With plenty of examples and other resources, Regular Expression Pocket Reference summarizes the complex rules for performing this critical text-processing function, and presents this often-confusing topic in a friendly and well-organized format. This guide makes an ideal on-the-job companion.

Statistics for Management


Richard I. Levin - 1978
    Like its predecessors, the seventh edition includes the absolute minimum of mathematical/statistical notation necessary to teach the material. Concepts are fully explained in simple, easy-to-understand language as they are presented, making the book an excellent source from which to learn and teach. After each discussion, readers are guided through real-world examples to show how book principles work in professional practice. Includes easy-to-understand explanations of difficult statistical topics, such as sampling distributions, relationship between confidence level and confidence interval, interpreting r-square. A complete package of teaching/learning aids is provided in every chapter, including chapter review exercises, chapter concepts tests,"Statistics at Work" conceptual cases, "Computer Database Exercises," "From the Textbook to the Real-World Examples." This ISBN is in two volumes Part A and Part B.

Just for Fun: The Story of an Accidental Revolutionary


Linus Torvalds - 2001
    Then he wrote a groundbreaking operating system and distributed it via the Internet -- for free. Today Torvalds is an international folk hero. And his creation LINUX is used by over 12 million people as well as by companies such as IBM.Now, in a narrative that zips along with the speed of e-mail, Torvalds gives a history of his renegade software while candidly revealing the quirky mind of a genius. The result is an engrossing portrayal of a man with a revolutionary vision, who challenges our values and may change our world.

The Art of UNIX Programming


Eric S. Raymond - 2003
    This book attempts to capture the engineering wisdom and design philosophy of the UNIX, Linux, and Open Source software development community as it has evolved over the past three decades, and as it is applied today by the most experienced programmers. Eric Raymond offers the next generation of hackers the unique opportunity to learn the connection between UNIX philosophy and practice through careful case studies of the very best UNIX/Linux programs.

What Every Web Developer Should Know About HTTP (OdeToCode, #1)


K. Scott Allen - 2012
    We'll cover resources, messages, cookies, and authentication protocols. We'll look at how HTTP clients can use persistent and parallel connections to improve performance,and see how the web scales to meet demand using cache headers andproxy servers. By the end of the book you will have the knowledge tobuild better web applications and web services.

The Soul of a New Machine


Tracy Kidder - 1981
    Tracy Kidder got a preview of this world in the late 1970s when he observed the engineers of Data General design and build a new 32-bit minicomputer in just one year. His thoughtful, prescient book, The Soul of a New Machine, tells stories of 35-year-old "veteran" engineers hiring recent college graduates and encouraging them to work harder and faster on complex and difficult projects, exploiting the youngsters' ignorance of normal scheduling processes while engendering a new kind of work ethic.These days, we are used to the "total commitment" philosophy of managing technical creation, but Kidder was surprised and even a little alarmed at the obsessions and compulsions he found. From in-house political struggles to workers being permitted to tease management to marathon 24-hour work sessions, The Soul of a New Machine explores concepts that already seem familiar, even old-hat, less than 20 years later. Kidder plainly admires his subjects; while he admits to hopeless confusion about their work, he finds their dedication heroic. The reader wonders, though, what will become of it all, now and in the future. —Rob Lightner