Sort by: Title | Release Date

A Peek at Computer Electronics: Things you Should Know

A Peek at Computer Electronics

Are you a programmer or computer enthusiast? Do you feel comfortable with methods, functions, and variables? Do you wish you knew more about how the computer made it all work? Now you can. From basic electronics to advanced computer hardware, you’ll learn the magic behind the gear that makes it all run.

If you’re into tinkering, or ever thought about it, this book explains the basics of how it all works

Aug 2007

Advanced Rails Recipes: 84 New Ways to Build Stunning Rails Apps

Advanced Rails Recipes

With the help of a community of Rails chefs in the kitchen, here are 84 new ways to kick your Rails apps up a notch. Advanced Rails Recipes is a collection of practical recipes for spicing up your web application without a lot of prep and cleanup. You’ll learn how the pros have solved the tough problems using the most up-to-date Rails 2 techniques so you can deliver your stunning web app quicker and easier.

  • Watch Mike Clark run through some of the highlights of the book in an exclusive video (33Mb, Quicktime)

May 2008

Agile Coaching

Agile Coaching

Discover how to coach your team to become more Agile. Agile Coaching de-mystifies agile practices—it’s a practical guide to creating strong agile teams. Packed with useful tips from practicing agile coaches Rachel Davies and Liz Sedley, this book gives you coaching tools that you can apply whether you are a project manager, a technical lead, or working in a software team.

Aug 2009

Agile Retrospectives: Making Good Teams Great

Agile Retrospectives

See how to mine the experience of your software development team continually throughout the life of the project. The tools and recipes in this book will help you uncover and solve hidden (and not-so-hidden) problems with your technology, your methodology, and those difficult “people issues” on your team.

Jul 2006

Agile Web Development with Rails, Third Edition

Agile Web Development with Rails, Third Edition

Rails just keeps on changing. Rails 2, released in 2008, brings hundreds of improvements, including new support for RESTful applications, new generator options, and so on. And, as importantly, we’ve all learned a lot more about writing Rails applications in the last few years.

So here’s the Third Edition of the Jolt Award winning book that shows you a new approach to web development, updated for Rails 2. Sam Ruby joins the team to add his world-class knowledge of web application development, making this the most up-to-date and authoritative Rails book out there.

Mar 2009

Augmented Reality: A Practical Guide

Augmented Reality

Augmented Reality is the fusion of real and virtual reality, where computer graphics objects are blended into real footage in real-time. AR creates the illusion that virtual, computer-generated objects exist in the real world. All you need is a computer and a webcam. Learn new ways to interact with your computer. The possibilities are endless: data visualization, immersive environments, and, of course, gaming. This book will show you how, and teach you about game development at the same time. You can run the included demos, or use the ARTag API to customize your own AR applications.

For various technical reasons, the eBook version is a PDF: epub and mobi versions of this title will NOT be available.

Jan 2008

Becoming Productive in Xcode

Becoming Productive in Xcode

Xcode is the development environment used to create iPhone and Mac applications. There’s a lot you can do with Xcode, and it’s easy to get distracted by all the knobs and levers. But you’re using Xcode for one simple reason: You want to build iPhone or Mac applications as quickly as possible. Whether you’re a new iPhone developer seeing Xcode for the first time, or wish you were more familiar with the shortcuts, these screencasts will make you a more productive (and happier!) Xcode programmer.

Feb 2009

Beginning Mac Programming: Develop with Objective-C and Cocoa

Beginning Mac Programming

You already know the reasons to get into Mac programming: millions of users rely on the Mac as their primary operating system. If you are searching for a new job, acquiring a skill set, or simply inspired to develop software for the Mac, Beginning Mac Programming is the practical and straightforward introduction to the basics you need to create innovative applications that people will seek out, discuss, and rely on. Beginners welcome!

Audience: this book is aimed at folks without any previous experience programming. For a book aimed at experienced programmers, please see Cocoa Programming: a Quickstart Guide.

Mar 2010

Behind Closed Doors: Secrets of Great Management

Behind Closed Doors

Great management is difficult to see as it occurs. Great management happens in one-on-one meetings and with other managers—all in private. It’s hard to learn management by example when you can’t see it.

Find out what goes on Behind Closed Doors and see how a skilled manager turns around a tricky management situation in seven weeks. You’ll learn how to provide and use feedback effectively, and become a better coach and mentor peers and team members. As you begin to build a cohesive, “jelled” team you’ll learn how to use your influence across the organization and make better choices daily to survive and thrive.

Sep 2005

Best of Ruby Quiz

Best of Ruby Quiz

Sharpen your Ruby programming skills with twenty-five challenging problems from Ruby Quiz. Read the problems, work out a solution, and compare your solution with others. This book is a collection of highlights from the first year of Ruby Quiz challenges. Inside, you will find expanded content, all new solutions, and more in depth discussions of Ruby Quiz problems and solutions. This is the book for anyone who really wants to improve their Ruby skills.

Mar 2006

Building a Dynamic Website with ExpressionEngine

Building a Dynamic Website with ExpressionEngine

ExpressionEngine lets you design, deploy, and manage a dynamic website without fuss. It’s a content management system that lets you do things your way. You don’t need to be a programmer, a database administrator, or a top-notch web designer to use ExpressionEngine. Learn how to light up your content from Ryan Irelan, a veteran web developer and ExpressionEngine guru.

Jul 2008

Classy Web Development with Sinatra

Classy Web Development with Sinatra

Sinatra is a small Ruby web application framework that packs a big punch. It’s also a lot of fun! You can use Sinatra to write tiny, focused web applications and lightweight REST services very quickly. And sometimes a lean and mean web app is all you need. If you haven’t given Sinatra a look, now’s a great time to get a fresh perspective on web development. Learn how to get the most out of Sinatra from Adam Keys, an experienced Ruby and Sinatra developer.

Jan 2009

Cocoa Programming: A Quick-Start Guide for Developers

Cocoa Programming

Apple’s Cocoa frameworks let you write powerful and attractive applications for Mac OS X or the iPhone. With this book plus your existing knowledge of object-oriented programming you can take advantage of Cocoa and create compelling, feature rich, compliant Mac applications for this industry-leading environment.

  • If you need a jump start using Xcode (the IDE used for Mac OS X programming), have a look at Mike Clark’s two-part screencast series.

Audience: this book is aimed at experienced programmers who are new to Cocoa and the Mac. For an entry level book, please see Beginning Mac Programming

Apr 2010

Coding in Objective-C 2.0

Coding in Objective-C 2.0

Objective-C is the programming language for writing native iPhone and Mac applications. It’s also the language that Apple uses to build their own applications and frameworks. So, if you know Objective-C, you have a lot of power at your fingertips. But if you’re new to C or object-oriented programming, then Objective-C can seem a little awkward at first. These screencasts by Bill Dudney, an experienced Objective-C programmer, will help you quickly get up to speed on Objective-C 2.0 basics.

Jul 2009

Core Animation for Mac OS X and the iPhone: Creating Compelling Dynamic User Interfaces

Core Animation for Mac OS X and the iPhone

Have you seen Apple’s Front Row application and Cover Flow effects? Then you’ve seen Core Animation at work. It’s about making applications that give strong visual feedback through movement and morphing, rather than repainting panels. This comprehensive guide will get you up to speed quickly and take you into the depths of this new technology.

Oct 2008

Core Data: Apple's API for Persisting Data on Mac OS X

Core Data

Learn the Apple Core Data APIs from the ground up. With Core Data, you can concentrate on designing the model for your application, and use the power of Core Data to do the rest. This book will take you from Core Data fundamentals to expert configurations that you will not find anywhere else. Together we’ll walk through a fullfeatured application based on the Mac OS X Core Data API.

Oct 2009

Creating a Compelling User Interface with Core Animation

Creating a Compelling User Interface with Core Animation

Core Animation adds that “wow!” factor to your Cocoa and iPhone applications. It’s not just cool, it also improves the user experience to make your application a cut above the rest. Learn how to create an animated and cinematic user interface with Core Animation from Bill Dudney, an experienced Cocoa developer.

Sep 2008

Data Crunching: Solve Everyday Problems using Java, Python, and More

Data Crunching

Learn how to approach real-world legacy data conversion problems, see which programming languages are better at data-handling tasks, design, build, and test programs for searching log files, converting data sources, configuring other programs, and more!

Apr 2005

Debug It!: Find, Repair, and Prevent Bugs in Your Code

Debug It!

Professional programmers develop a knack of unerringly zeroing in on the root cause of a bug. They can do that because they’ve written a lot of buggy code and then gained experience fixing it. This book captures all this experience—use it, and you’ll find you write fewer bugs, and the ones you do write will become easier to hunt down.

Nov 2009

Deploying Rails Applications: A Step-by-Step Guide

Deploying Rails Applications

Until now, the information you needed to deploy a Ruby on Rails application in a production environment has been fragmented and contradictory. This book changes all of that by providing consistent, levelheaded advice you can trust. You’ll get the inside angle from those that have built, deployed, and maintained some of the largest Rails apps in production, anywhere.

May 2008

Design Accessible Web Sites: 36 Keys to Creating Content for All Audiences and Platforms

Design Accessible Web Sites

“Accessibility” has a reputation of being dull, dry, and unfriendly toward graphic design. But there is a better way: well-styled semantic markup that lets you provide the best possible results for all of your users. This book will help you provide images, video, Flash and PDF in an accessible way that looks great to your sighted users, but is still accessible to all users.

Dec 2007

Desktop GIS: Mapping the Planet with Open Source Tools

Desktop GIS

From Google Maps to iPhone apps, geographic data and visualization is quickly becoming a standard part of life. Desktop GIS shows you how to assemble and use an Open Source GIS toolkit. You’ll find strategies for choosing a platform, selecting the right tools, integration, managing change, and getting support. You’ll get a good introduction to using the many tools available so you can visualize, digitize, and analyze your own mapping data.

Oct 2008

Developing Facebook Platform Applications with Rails

Developing Facebook Platform Applications with Rails

With more than 60 million users, Facebook provides a captive audience for developers. More than 12,000 Facebook applications have been launched so far: Is yours next? It could be, with this book. You’ll see how to develop Facebook Platform applications quickly, using the popular Ruby on Rails framework. You’ll learn to use Facebook technologies such as FBML and FQL, and you’ll see how to leverage Rails and the Facebook Platform to make your application a success.

Sep 2008

Domain-Driven Design Using Naked Objects

Domain-Driven Design Using Naked Objects

Domain-driven design (DDD) focuses on what matters in enterprise applications: the core business domain. But applying the DDD principles can be easier said than done. Enter Naked Objects: an open-source Java framework that lets you build working applications simply by writing the core domain classes while Naked Objects takes care of the rest of the application infrastructure for you. This book shows how you can rapidly develop and test domain applications, and then deploy to either conventional architectures or onto Naked Objects itself. Get ready to write some of the best business software of your career.

Dec 2009

Enterprise Integration with Ruby

Enterprise Integration with Ruby

Learn how the power and elegance of Ruby can make it easier to get enterprise-level applications to work together. See how Ruby can be used as the glue to combine applications in new ways, extending their lives and increasing their (and your) value to your company.

Apr 2006

Enterprise Recipes with Ruby and Rails

Enterprise Recipes with Ruby and Rails

Every web site project is really an enterprise integration project in disguise. Ruby on Rails makes it easier than ever to create complex and good-looking web sites, but there’s plenty of life beyond the rails. The 50+ recipes in this book not only show you how to integrate lurking legacy material using Ruby and Ruby on Rails, but also how to create new and highly functional applications in an enterprise environment. You can build completely new applications by enhancing and combining existing components in creative, compelling new ways.

Nov 2008

Erlang in Practice

Erlang in Practice

Learn how to write Erlang programs by sitting next to an experienced Erlang programmer as he builds a full-featured application from the ground up!

In these screencasts, Kevin Smith incrementally builds a distributed chat system using Erlang. You’ll learn first-hand how each aspect of the Erlang language fits together into a real-world application, starting with Erlang primitives and ending with an OTP application.

Oct 2008

Everyday Active Record

Everyday Active Record

Active Record models are the foundation of your Rails application. With a well-designed layer of models, your application is solid. You can make business logic changes easier, keep the integrity of your data in check, and better optimize the interaction with your database. Learn how to get the most out of the Active Record from Ryan Bates, one of the most experienced Rails developer (and screencasters) in the community.

Sep 2008

Everyday Scripting with Ruby: for Teams, Testers, and You

Everyday Scripting with Ruby

Are you a tester who spends more time manually creating complex test data than using it? A business analyst who seemingly went to college all those years so you can spend your days copying data from reports into spreadsheets? A programmer who can’t finish each day’s task without having to scan through version control system output, looking for the file you want?

If so, you’re wasting that computer on your desk. Offload the drudgery to where it belongs, and free yourself to do what you should be doing: thinking. All you need is a scripting language (free!), this book (cheap!), and the dedication to work through the examples and exercises.

Jan 2007

Everything You Know About CSS is Wrong!

Everything You Know About CSS is Wrong!


This title is published by our friends at SitePoint. Please visit them for additional resources.
SitePoint ErrataSitePoint CodeSitePoint Discussion

Everything You Know About CSS Is Wrong! is an eye-opening exposé on CSS as we know it today. You’ll discover a fresh approach to coding Cascading Style Sheets where old hacks and workarounds are just a distant memory.

Oct 2008

ExpressionEngine 2.0: A Quick-Start Guide

ExpressionEngine 2.0

Whether you’re building a small site or a large corporate undertaking, ExpressionEngine is becoming the tool of choice. With this Quick-Start Guide, you’ll get hands-on experience with ExpressionEngine 2.0 by building a complete web site from start to finish. You’ll learn techniques and best practices for customizing and optimizing your sites, including working with new ExpressionEngine 2.0 features, templates, and site search.

Apr 2010

ExpressionEngine Techniques

ExpressionEngine Techniques

Why work through common problems on your own when you can skip the trial and error and jump straight to a solution that works the first time? Learn the latest techniques the pros use to build full-featured websites with ExpressionEngine from Ryan Irelan, an ExpressionEngine guru. Each of these video tutorials teaches you how to solve a particular set of problems with ExpressionEngine, quickly and efficiently.

Mar 2010

From Java To Ruby: Things Every Manager Should Know

From Java To Ruby

You want your development team to be productive. You want to write flexible, maintainable web applications. You want to use Ruby and Rails. But can you justify the move away from established platforms such as J2EE? Bruce Tate’s From Java to Ruby has the answers, and it expresses them in a language that’ll help persuade managers and executives who’ve seen it all. See when and where the switch makes sense, and see how to make it.

Jun 2006

FXRuby: Create Lean and Mean GUIs with Ruby

FXRuby

FXRuby is one of the most popular libraries for developing graphical user interface applications in Ruby. This book is the quickest and easiest way to get started developing GUI applications using FXRuby. With a combination of tutorial exercises and focused, technical information, this book goes beyond the basics to equip you with proven, practical knowledge and techniques for developing real-world FXRuby applications. Learn directly from the lead developer of FXRuby and you’ll be writing powerful and sophisticated GUIs in your favorite programming language.

Read an interview with the author and excerpt at InfoQ.com

Apr 2008

Getting Started with XQuery

Getting Started with XQuery

If you’re thinking of XML as hard-to-read text files, it’s time to start thinking in terms of XML as content.

This Friday will show you what XQuery is, how it’s different from other approaches, the new possibilities it opens up—and how to harness its power,

Mar 2008

GIS for Web Developers: Adding Where to Your Web Applications

GIS for Web Developers

There is a hidden revolution going on: geography is moving from niche to the mainstream. GIS for Web Developers introduces Geographic Information Systems (GIS) in simple terms and demonstrates hands-on uses. With this book, you’ll explore popular websites like maps.google.com, see the technologies they use, and learn how to create your own. Written with the usual Pragmatic Bookshelf humor and real-world experience, GIS for Web Developers makes geographic programming concepts accessible to the common developer.

Oct 2007

Google Maps API, V2: Adding Where to Your Applications

Google Maps API, V2

This is the second edition of this Friday, which has been rewritten to use the Google Maps V2 API.

May 2006

Google Web Toolkit: Taking the Pain Out of Ajax

Google Web Toolkit

Google Web Toolkit unifies client and server code into a single application written in one language: Java. GWT lets you create a web application in much the same way as you would create a Swing application—creating visual components, setting up event handlers, debugging, and so forth—all within a familiar IDE.

Aug 2006

Grails: A Quick-Start Guide

Grails

Java web development is notoriously tedious, but help is on the way: Grails. Using the principle of convention-over-configuration and the dynamic Groovy programming language, Grails takes the pain out of web development and brings back the fun. This book will get you up and running with Grails by putting it to use in constructing an original, working application from start to finish.

Oct 2009

Groovy Recipes: Greasing the Wheels of Java

Groovy Recipes

If you’re a busy Java professional who needs quick solutions to everyday problems, then Groovy Recipes is for you. The Groovy language and Grails web framework give you seamless integration with your legacy Java code while adding the flexibility and dynamism of a scripting language and giving you modern, agile, time-saving techniques. Groovy allows you to write code the way you always thought you should—you’ll never look at Java the same way again.

Feb 2008

Hello, Android: Introducing Google's Mobile Development Platform

Hello, Android

Android combines the ubiquity of cell phones, the excitement of open source software, and the corporate backing of Google and other Open Handset Alliance members. The result is a mobile platform you can’t afford not to learn. This second edition is completely updated for Android 1.5 (Cupcake) and Android 1.6 (Donut).

Nov 2009

Insider Guide to GitHub

Insider Guide to GitHub

GitHub is where the action’s at: you can host your public and private projects there, use it to collaborate on projects in a truly distributed way, and expand your social coding network. But to really get the most out of this great resource, you need an experienced guide to show you the ropes. Learn how the pros use GitHub from Scott Chacon, a long-time Git user and GitHub insider.

Dec 2008

Interface Oriented Design

Interface Oriented Design

Learn by pragmatic example how to create effective designs composed of interfaces to objects, components and services.

You’ll learn what polymorphism and encapsulation really mean, and how to use these ideas more effectively. See how to create better interfaces using agile development techniques, and learn the subtle differences between implementing an interface and inheriting an implementation. Take a fresh, modern view of Design By Contract and class responsibilities. Understand the basis of a service-oriented architecture, including stateful versus stateless interfaces, procedural versus document models, and synchronous versus asynchronous invocations.

Jun 2006

iPhone SDK Development

iPhone SDK Development

Jump into application development for today’s most remarkable mobile communications platform, the Pragmatic way, with iPhone SDK Development. This Pragmatic guide takes you through the tools and APIs, the same ones Apple uses for its applications, that you can use to create your own software for the iPhone and iPod touch. Packed with useful examples, this book will give you both the big-picture concepts and the everyday “gotcha” details that developers need to make the most of the beauty and power of the iPhone OS platform.

Sep 2009

Land the Tech Job You Love

Land the Tech Job You Love

You’ve got the technical chops—the skills to get a great job doing what you love. Now it’s time to get down to the business of planning your job search, focusing your time and attention on the job leads that matter, and interviewing to wow your boss-to-be. Land the tech job you love.

Jun 2009

Language Implementation Patterns: Create Your Own Domain-Specific and General Programming Languages

Language Implementation Patterns

Learn to build configuration file readers, data readers, model-driven code generators, source-to-source translators, source analyzers, and interpreters. You don’t need a background in computer science—ANTLR creator Terence Parr demystifies language implementation by breaking it down into the most common design patterns. Pattern by pattern, you’ll learn the key skills you need to implement your own computer languages.

Dec 2009

Learn to Program, 2nd Edition

Learn to Program, 2nd Edition

For this new edition of the best-selling Learn to Program, Chris Pine has taken a good thing and made it even better. First, he used the feedback from hundreds of reader e-mails to update the content and make it even clearer. Second, he updated the examples in the book to use the latest stable version of Ruby, and also to use code that looks more like real-world Ruby code, so that people who have just learned to program will be more familiar with common Ruby techniques.

Not only does the Second Edition now include answers to all of the exercises, it includes them twice. First you’ll find the “how you could do it” answers, using the techniques you’ve learned up to that point in the book. Next you’ll see “how Chris Pine would do it”: answers using more advanced Ruby techniques, to whet your appetite as well as providing sort of a “Rosetta Stone” for more elegant solutions.

Apr 2009

Manage It!: Your Guide to Modern Pragmatic Project Management

Manage It!

Jolt Productivity award This book is a reality-based guide for modern projects. You’ll learn how to recognize your project’s potholes and ruts, and determine the best way to fix problems—without causing more problems.

NEW: Watch an in-depth interview with author Johanna Rothman

And congratulations to Johanna for winning a 2008 Jolt Productivity Award.

May 2007

Manage Your Project Portfolio: Increase Your Capacity and Finish More Projects

Manage Your Project Portfolio

Too many projects? Want to organize them and evaluate them without getting buried under a mountain of statistics? This book will help you collect all your work, decide which projects you should do first, second—and never. You’ll see how to tie your work to your organization’s mission and show your board, your managers, and your staff what you can accomplish and when. You’ll get a better view of the work you have, and learn how to make those difficult decisions, ensuring that all your strength is focused where it needs to be.

Aug 2009

Mastering Dojo: JavaScript and Ajax Tools for Great Web Experiences

Mastering Dojo

Imagine a true thin-client web application environment, with no browser incompatibilities, no plugins, and an interface that’s closer to a desktop app. You can have it all, today. Welcome to The Dojo Toolkit.

Mastering Dojo walks you through the whole range of modern web programming problems, from bringing simple web pages to life with widgets and animation, to designing and building an enterprise-class, single-page Rich Internet Application (RIA).

Are your web pages becoming more and more complex, with hundreds of lines of sprawling JavaScript as clients demand modern Ajax designs? Or maybe you’re about to enter the new world of single-page, Rich Internet Applications? Dojo is the unified toolkit that you need to get the job done.

Jun 2008

Mastering Rails Forms

Mastering Rails Forms

Forms are crucial to how users interact with your site. You can slap a form on a web page in record time with Rails, but basic forms just get you by. For a better user experience, you’ll want to customize your forms and create interplay between your models. Learn how to take your forms to the next level from Ryan Bates, one of the most experienced Rails programmers (and screencasters) in the community.

Nov 2009

Metaprogramming Ruby: Program Like the Ruby Pros

Metaprogramming Ruby

As a Ruby programmer, you already know how much fun it is. Now see how to unleash its power, digging under the surface and exploring the language’s most advanced features: a collection of techniques and tricks known as metaprogramming. Once the domain of expert Rubyists, metaprogramming is now accessible to programmers of all levels—from beginner to expert. Metaprogramming Ruby explains metaprogramming concepts in a down-to-earth style and arms you with a practical toolbox that will help you write great Ruby code.

Feb 2010

Modular Java: Creating Flexible Applications with OSGi and Spring

Modular Java

Attack complexity in your Java applications using Modular Java. This pragmatic guide introduces you to OSGi and Spring Dynamic Modules, two of the most compelling frameworks for Java modularization. Driven by real-world examples, this book will equip you with the know-how you need to develop Java applications that are composed of smaller, loosely coupled, highly cohesive modules.

Jul 2009

No Fluff Just Stuff 2006 Anthology

No Fluff Just Stuff 2006 Anthology

Take 13 of the world’s best trainers and speakers and ask them to write a chapter on something they care passionately about. The result? A book on software development unlike any other. Fifteen chapters covering the range of modern software development topics, from Domain-Specific Languages through Aspect-Oriented CSS to learning from the past.

Jun 2006

No Fluff Just Stuff 2007 Anthology

No Fluff Just Stuff 2007 Anthology

New for 2007! If you can’t get out to an excellent conference with the best speakers and thinkers in the industry, then we’ll send them to you.

Once again, some Sixteen of the world’s best trainers and speakers are writing chapters on things they care passionately about. You’ll find topics from the latest conferences including Groovy, JavaScript, Continuations, Web services and REST, JVM Byte Code, and Agilty

Apr 2007

Payment Processing with Paypal and Ruby

Payment Processing with Paypal and Ruby

Building a top-notch web site requires a lot of technical expertise. Keeping track of changing requirements and new technologies, not to mention the competition, can keep you on your toes. Processing payments is a small, but important part of a successful site.

Oct 2006

Pomodoro Technique Illustrated: The Easy Way to Do More in Less Time

Pomodoro Technique Illustrated

Do you ever look at the clock and wonder where the day went? You spent all this time at work and didn’t come close to getting everything done. Tomorrow, try something new. Use the Pomodoro Technique, originally developed by Francesco Cirillo, to work in focused sprints throughout the day. In Pomodoro Technique Illustrated, Staffan Nöteberg shows you how to organize your work to accomplish more in less time. There’s no need for expensive software or fancy planners. You can get started with nothing more than a piece of paper, a pencil, and a kitchen timer.

Nov 2009

Practical Programming: An Introduction to Computer Science Using Python

Practical Programming

Welcome to computer science in the 21st century. Did you ever wonder how computers represent DNA? How they can download a web page containing population data and analyze it to spot trends? Or how they can change the colors in a color photograph? If so, this book is for you. By the time you’re done, you’ll know how to do all of that and a lot more. And Python makes it easy and fun.

Apr 2009

Practices of an Agile Developer

Practices of an Agile Developer

Want to be a better developer? This book collects the personal habits, ideas, and approaches of successful agile software developers and presents them in a series of short, easy-to-digest tips.

You’ll learn how to improve your software development process, see what real agile practices feel like, avoid the common temptations that kill projects, and keep agile practices in balance.

Apr 2006

Pragmatic Project Automation: How to Build, Deploy, and Monitor Java Applications

Pragmatic Project Automation

Pragmatic Project Automation shows you how to improve the consistency and repeatability of your project’s procedures using automation to reduce risk and errors.

Simply put, we’re going to put this thing called a computer to work for you doing the mundane (but important) project stuff. That means you’ll have more time and energy to do the really exciting—and difficult—stuff, like writing quality code.

Jul 2004

Pragmatic Thinking and Learning: Refactor Your Wetware

Pragmatic Thinking and Learning

Software development happens in your head. Not in an editor, IDE, or design tool. You’re well educated on how to work with software and hardware, but what about wetware—our own brains? Learning new skills and new technology is critical to your career, and it’s all in your head.

In this book by Andy Hunt, you’ll learn how our brains are wired, and how to take advantage of your brain’s architecture. You’ll learn new tricks and tips to learn more, faster, and retain more of what you learn.

You need a pragmatic approach to thinking and learning. You need to Refactor Your Wetware.

Sep 2008

Pragmatic Unit Testing in C# with NUnit

Pragmatic Unit Testing in C# with NUnit

Pragmatic programmers use feedback to drive their development and personal processes. The most valuable feedback you can get while coding comes from unit testing. Now in it’s second edition, Pragmatic Unit Testing in C# with NUnit, 2nd Ed. will show you how to do software unit testing, of course, but more importantly will show you what to test.

For various technical reasons, the eBook version is a PDF: epub and mobi versions of this title will NOT be available.

Aug 2007

Pragmatic Unit Testing in Java with JUnit

Pragmatic Unit Testing in Java with JUnit

Pragmatic programmers use feedback to drive their development and personal processes. The most valuable feedback you can get while coding comes from unit testing.

Let your Java code tell you what’s working and what isn’t. You’ll learn how to test using JUnit, but more importantly, you’ll learn what to test.

For various technical reasons, the eBook version is a PDF: epub and mobi versions of this title will NOT be available.

Sep 2003

Pragmatic Version Control using CVS

Pragmatic Version Control using CVS

Pragmatic Version Control is available in two different flavors: using CVS and using Subversion. Click on the links to each book for more details, code from the books, errata, reviews, ordering information, sample chapters, and a free printable summary card.

For various technical reasons, the eBook version is a PDF: epub and mobi versions of this title will NOT be available.

Sep 2003

Pragmatic Version Control Using Git

Pragmatic Version Control Using Git

There’s a change in the air. High-profile projects such as the Linux Kernel, Mozilla, Gnome, and Ruby on Rails are now using Distributed Version Control Systems (DVCS) instead of the old stand-bys of CVS or Subversion.

Git is a modern, fast DVCS. But understanding how it fits into your development can be a daunting task without an introduction to the new concepts. Whether you’re just starting out as a professional programmer or are an old hand, this book will get you started using Git in this new distributed world.

Dec 2008

Pragmatic Version Control using Subversion

Pragmatic Version Control using Subversion

Revised content to reflect all the major changes to Subversion 1.3 New chapter on Subversion’s optional file locking to help you manage unmergeable binary files New sections covering path-based security for both the svnserve and Apache networking servers New advanced topics chapter covering programmatic access to Subversion and advanced repository management

May 2006

Programming Clojure

Programming Clojure

If you’re a Java programmer, if you care about concurrency, or if you enjoy working in low-ceremony language such as Ruby or Python, Programming Clojure is for you. Clojure is a general-purpose language with direct support for Java, a modern Lisp dialect, and support in both the language and data structures for functional programming. Programming Clojure shows you how to write applications that have the beauty and elegance of a good scripting language, the power and reach of the JVM, and a modern, concurrency-safe functional style. Now you can write beautiful code that runs fast and scales well.

May 2009

Programming Cocoa with Ruby: Create Compelling Mac Apps Using RubyCocoa

Programming Cocoa with Ruby

Programming Cocoa with Ruby brings together two enthusiastic development communities. Ruby programmers will tell you how productive they are with just the right amount of code. Cocoa developers know the importance of a clean, intuitive interface.

Now, through Programming Cocoa with Ruby, the joy of Cocoa meets the joy of Ruby.

Jul 2009

Programming Erlang: Software for a Concurrent World

Programming Erlang

Learn how to write truly concurrent programs—programs that run on dozens or even hundreds of local and remote processors. See how to write high reliability applications—even in the face of network and hardware failure—using the Erlang programming language.

Jul 2007

Programming Groovy: Dynamic Productivity for the Java Developer

Programming Groovy

Groovy brings you the best of both worlds: a flexible, highly productive, agile, dynamic language that runs on the rich framework of the Java Platform. Groovy preserves the Java semantics and extends the JDK to give you true dynamic language capabilities⎯programming in Groovy feels like you’re using an augmented Java. Programming Groovy will help you learn and take advantage of the latest version of this rich dynamic language, so you can be a more productive Java Platform developer.

Apr 2008

Programming Ruby: The Pragmatic Programmers' Guide, Second Edition

Programming Ruby

The Pickaxe book, named for the tool on the cover, is the definitive reference to Ruby, a highly-regarded, fully object-oriented programming language. This Second Edition has more than 200 pages of new content, and substantial enhancements to the original, covering all the new and improved language features of Ruby 1.8 and standard library modules.

What Version of Ruby are You Using?

Ruby is in a period of transition. 2009 saw the release of Ruby 1.9.1, the next generation of the language. Ruby 1.9 has many enhancements and new features that make it the Ruby of choice for new projects. If you want to use Ruby 1.9, then check out our new book Programming Ruby 1.9.

Alternatively, if you want to continue to use Ruby 1.8, then use the book on this page.

For various technical reasons, the eBook version is a PDF: epub and mobi versions of this title will NOT be available.

Oct 2004

Programming Ruby 1.9: The Pragmatic Programmers' Guide

Programming Ruby 1.9

Ruby is the fastest growing and most exciting dynamic language out there. If you need to get working programs delivered fast, you should add Ruby to your toolbox.

This book is the only complete reference for Ruby 1.9, the very latest version of Ruby. (If you’re still using Ruby 1.8, you’ll want to check out the original PickAxe.)

For various technical reasons, the eBook version is a PDF: epub and mobi versions of this title will NOT be available.

Did You Buy the Second Edition of the Original PickAxe from Us?

If you bought the second edition book or PDF from us, we have some significant savings for you. Visit your home page for details.

Apr 2009

Programming Scala: Tackle Multi-Core Complexity on the Java Virtual Machine

Programming Scala

Scala is an exciting, modern, multi-paradigm language for the JVM. You can use it to write traditional, imperative, object-oriented code. But you can also leverage its higher level of abstraction to take full advantage of modern, multicore systems. Programming Scala will show you how to use this powerful functional programming language to create highly scalable, highly concurrent applications on the Java Platform.

Jul 2009

Prototype and script.aculo.us: You Never Knew JavaScript Could Do This!

Prototype and script.aculo.us

Tired of getting swamped in the nitty-gritty of cross-browser, Web 2.0-grade JavaScript? Get back in the game with Prototype and script.aculo.us, two extremely popular JavaScript libraries, that make it a walk in the park. Be it AJAX, drag and drop, auto-completion, advanced visual effects, or many other great features, all you need is to write one or two lines of script that look so good they could almost pass for Ruby code!

Dec 2007

Rails Development for the Facebook Platform

Rails Development for the Facebook Platform

Since the Facebook Development Platform was released in May 2007, more than 12,000 Facebook applications have been launched. You can distribute your Rails application to potentially millions of users on Facebook. But to do that, you’re going to need to play by the rules. Learn how to design your Rails app for Facebook from Mike Mangino, an experienced Rails and Facebook developer.

Sep 2008

Rails for .NET Developers

Rails for .NET Developers

Rails for .NET Developers introduces the joy of Ruby on Rails development to Microsoft .NET developers. This book demonstrates the essential elements of both the Ruby language and the Rails application framework, geared especially for developers already fluent in the Microsoft .NET platform.

Nov 2008

Rails for Java Developers

Rails for Java Developers

Many Java developers are now looking at Ruby, and the Ruby on Rails web framework. If you are one of them, this book is your guide. Written by experienced developers who love both Java and Ruby, this book will show you, via detailed comparisons and commentary, how to translate your hard-earned Java knowledge and skills into the world of Ruby and Rails.

Feb 2007

Rails for PHP Developers

Rails for PHP Developers

Are you a PHP developer interested in the Ruby on Rails framework? Rails for PHP Developers kick-starts your Rails experience by guiding you through learning both Ruby and Rails from a PHP developer’s perspective. Written by developers with deep experience using PHP, Ruby, and Rails, this book leverages your existing knowledge of PHP to learn Rails application development quickly and effectively.

NEW: PHP to Rails reference. See how to write the most common PHP functions in Ruby and Rails. Now online at: railsforphp.com/reference

Feb 2008

Rails Recipes

Rails Recipes

You’ve read the tutorials and watched the online videos. You have a strong grasp of all of the ingredients that make up a successful Rails application. But ingredients don’t just turn themselves into a meal. Chad Fowler’s Rails Recipes is a collection of recipes that will take you step by step through the the most cutting edge Rails techniques, mixing the ingredients to create world-class web applications. Learn how to do it, and how to do it right.

(Note: this book was written for Rails 1.x. Most of the recipes are still appropriate for Rails 2, perhaps with some tweaking. Advanced Rails Recipes is a newer book, written for Rails 2.0.)

Jun 2006

Rapid GUI Development with QtRuby

Rapid GUI Development with QtRuby

See how to use the powerful Qt3 library to create cross-platform GUI applications for Linux and OS X in Ruby.

Sep 2005

Release It!: Design and Deploy Production-Ready Software

Release It!

Jolt Productivity award “Feature complete” is not the same as “production ready.”

Whether it’s in Java, .NET, or Ruby on Rails, getting your application ready to ship is only half the battle. Did you design your system to survive a sudden rush of visitors from Digg or Slashdot? Or an influx of real world customers from 100 different countries? Are you ready for a world filled with flakey networks, tangled databases, and impatient users?

If you’re a developer and don’t want to be on call at 3AM for the rest of your life, this book will help you.

Mar 2007

Scripted GUI Testing with Ruby

Scripted GUI Testing with Ruby

If you need to automatically test a user interface, this book is for you. Whether it’s Windows, a Java platform (including Mac, Linux, and others) or a web app, you’ll see how to test it reliably and repeatably.

Many automated test frameworks promise the world and deliver nothing but headaches. Fortunately, you’ve got a secret weapon: Ruby. Ruby lets you build up a solution to fit your problem, rather than forcing your problem to fit into someone else’s idea of testing.

This book is for people who want to get their hands dirty on examples from the real world—and who know that testing can be a joy when the tools don’t get in the way. It starts with the mechanics of simulating button pushes and keystrokes, and builds up to writing clear code, organizing tests, and beyond.

Aug 2008

Security on Rails

Security on Rails

Security on Rails provides you with the tools and techniques to defend your Rails applications against attackers. Do you have a well-developed plan to test your application from a security perspective? Do you need more sophisticated access control? With Security on Rails, you can conquer the bad guys who are trying to exploit your application. You’ll see the very techniques that hackers use, and then journey through this full-fledged guide for writing secure Rails applications.

Dec 2009

Ship it!: A Practical Guide to Successful Software Projects

Ship it!

Many software projects run into trouble, and many never ship at all. Others run like well-oiled machines. This book shows you the basics of how to get your project well on the road to success.

Ship It! bucks current fashion trends and marketing hype; instead, you’ll find page after page of solid advice, all tried and tested in the real world: a collection of tips that show you what tools a successful team has to use, and how to use them well. You’ll get quick, easy-to-follow advice on modern techniques and when they should be applied.

Jun 2005

Simply JavaScript

Simply JavaScript


This title is published by our friends at SitePoint. Please visit them for additional resources.
SitePoint ErrataSitePoint CodeSitePoint Discussion


Packed with full-color examples, Simply JavaScript is all you need to start programming in JavaScript the right way. Learn how easy it is to use JavaScript to solve real-world problems, build smarter forms, track user events (such as mouse clicks and key strokes), and design eye-catching animations. Then move on to more powerful techniques using the DOM and Ajax.

Sep 2007

Source Control Made Easy

Source Control Made Easy

Git has significantly changed the way teams develop software. Its distributed nature and lightweight branching and merging have made it possible for developers to massage their code bases in ways they couldn’t have imagined before. However, Git has a reputation for being hard to learn. And when folks transition to Git, they often settle for using a handful of commands and treat Git just like their other source control system. But because of its different approach to source control issues, many of the techniques and terminology we have learned in other source control systems do not translate cleanly when using Git. To begin to use Git effectively, you need to understand the underlying concepts.

In this 49-minute screencast you’ll learn Git in a different way: By not learning about Git itself. Instead, Jim Weirich takes you on a journey of how you might design and build a source control system from scratch. Along the way you’ll gain a deeper understanding of the first principles behind Git so things begin to make more sense.

This screencast is for people who haven’t used Git yet and are thinking about it, and for people who have just started using Git, but are still in the “magic incantation” stage of learning. It’s a great introduction to source control for your manager, too! No prior experience with Git or source control systems is required.

Oct 2009

SQL Antipatterns: Avoiding the Pitfalls of Database Programming

SQL Antipatterns

If you’re programming applications that store data, then chances are you’re using SQL, either directly or through a mapping layer. Well, here’s a sad secret – most developers aren’t SQL experts, and most of the SQL that gets used is inefficient, hard to maintain, and sometimes just plain wrong. Why learn all this the hard way? This book shows you all the common mistakes, and then leads you through the best fixes. What’s more, it shows you what’s behind these fixes, so you’ll learn a lot about relational databases along the way.

Jun 2010

Stripes: ...and Java Web Development Is Fun Again

Stripes

Tired of complicated Java web frameworks that just get in your way? Stripes is a lightweight, practical framework that lets you write lean and mean code without a bunch of XML configuration files. Stripes is designed to do a lot of the common work for you, while being flexible enough to adapt to your requirements. This book will show you how to use Stripes to its full potential, so that you can easily develop professional, full-featured web applications. As a bonus, you’ll also get expert advice from the creator of Stripes, Tim Fennell.

Oct 2008

TextMate: Power Editing for the Mac

TextMate

TextMate is a powerful tool for programmers, web designers, and anyone else who regularly needs to work with text files on Mac OS X. TextMate focuses on pragmatic automation, which means it will save you time—time that’s always in short supply. See how your lowly text editor can become a hard working member of your staff.

Jan 2007

The Art & Science of CSS

The Art & Science of CSS


This title is published by our friends at SitePoint. Please visit them for additional resources.
SitePoint ErrataSitePoint CodeSitePoint Discussion

Beautifully presented in full color, this book will teach you how to apply innovative CSS-based techniques to create visually stunning headings, forms, menus, navigation, backgrounds, and much more…

Mar 2007

The Art & Science of JavaScript

The Art & Science of JavaScript


This title is published by our friends at SitePoint. Please visit them for additional resources.
SitePoint ErrataSitePoint CodeSitePoint Discussion


We’ve assembled seven of the greatest minds in modern JavaScript to teach you the most inspirational techniques you’ll ever use. From creating impressive mashups and stunning, dynamic graphics, to more subtle user-experience enhancements, you’re about to be amazed by the true potential of this powerful language.

Jan 2008

The CSS Anthology: 101 Essential Tips, Tricks & Hacks, 2nd Edition

The CSS Anthology


This title is published by our friends at SitePoint. Please visit them for additional resources.
SitePoint ErrataSitePoint CodeSitePoint Discussion


The CSS Anthology: 101 Essential Tips, Tricks & Hacks is a compilation of best practice solutions to the most challenging CSS problems. The second edition of this best-selling book, now in full color, has been completely revised and updated to cover the latest techniques and newer browsers, including Firefox 2 and Internet Explorer 7.

Aug 2007

The Definitive ANTLR Reference: Building Domain-Specific Languages

The Definitive ANTLR Reference

ANTLR v3 is the most powerful, easy-to-use parser generator built to date, and represents the culmination of more than 15 years of research by Terence Parr. This book is the essential reference guide to using this completely rebuilt version of ANTLR, with its amazing new LL(*) parsing technology, tree construction facilities, StringTemplate code generation template engine, and sophisticated ANTLRWorks GUI development environment. Learn to use ANTLR directly from the author!

May 2007

The Passionate Programmer: Creating a Remarkable Career in Software Development

The Passionate Programmer

This book is about creating a remarkable career in software development. In most cases, remarkable careers don’t come by chance. They require thought, intention, action, and a willingness to change course when you’ve made mistakes. Most of us have been stumbling around letting our careers take us where they may. It’s time to take control. This revised and updated second edition lays out a strategy for planning and creating a radically successful life in software development (the first edition was released as My Job Went to India: 52 Ways To Save Your Job).

May 2009

The Pragmatic Programmer: From Journeyman to Master

The Pragmatic Programmer

Straight from the programming trenches, The Pragmatic Programmer: From Journeyman to Master cuts through the increasing specialization and technicalities of modern software development to examine the core process—what do you do, as an individual and as a team, if you want to create software that’s easy to work with and good for your users.

This is the title that got us started in the book business. It’s published by Addison-Wesley, but we’re offering for sale here simply because people come looking for it.

Enjoy!

Dave & Andy

Oct 2001

The Principles of Beautiful Web Design

The Principles of Beautiful Web Design


This title is published by our friends at SitePoint. Please visit them for additional resources.
SitePoint ErrataSitePoint CodeSitePoint Discussion


Tired of making web sites that work absolutely perfectly but just don’t, well, look very nice? Using The Principles of Beautiful Web Design, you’ll see just how easy it can be to create aesthetically pleasing and usable web site designs.

This gorgeous, full-color book will guide you through the complete design process, from getting inspiration and sketching ideas out, through to choosing a color scheme, designing the layout, and selecting effective imagery.

Mar 2007

The RSpec Book: Behaviour Driven Development with RSpec, Cucumber, and Friends

The RSpec Book

Is your team trying to do TDD and failing? Are you finding your test suites bloated and difficult to read, understand, or maintain? Business applications today are plagued with features that are never used, highly coupled code that is hard to change, and expensive test suites that aren’t run any more because they are brittle and unreadable.

RSpec, Ruby’s leading Behaviour Driven Development tool, helps you do TDD right by embracing the design and documentation aspects of TDD. It encourages readable, maintainable suites of code examples that not only test your code, they document it as well. The RSpec Book will teach you how to use RSpec, Cucumber, and other Ruby tools to develop truly agile software that gets you to market quickly and maintains its value as evolving market trends drive new requirements.

Apr 2010

The Ruby Object Model and Metaprogramming

The Ruby Object Model and Metaprogramming

Metaprogramming lets you program more expressively. This makes your code easier to write and easier to maintain and extend. Learn both the hows and whys of metaprogramming Ruby from Dave Thomas, one of the most experienced Ruby programmers in the western world.

Dec 2008

The Ultimate CSS Reference

The Ultimate CSS Reference


This title is published by our friends at SitePoint. Please visit them for additional resources.
SitePoint ErrataSitePoint CodeSitePoint Discussion


Almost every web site created today is built using CSS, which is why a thorough knowledge of this technology is mandatory for every web designer. There are plenty of good resources to help you learn the basics, but if you’re ready to truly master the intricacies of CSS, this is the book you need.

Feb 2008

The Ultimate HTML Reference

The Ultimate HTML Reference


This title is published by our friends at SitePoint. Please visit them for additional resources.
SitePoint ErrataSitePoint CodeSitePoint Discussion


Sitting at the foundation of every site is HTML—the only language that’s essential to a web site’s existence. On the surface HTML may seem simple but there’s much more to it than meets the eye. With different versions, many infrequently used elements and attributes, and varying ways that browsers interpret the language, only this comprehensive and up-to-date reference, has it completely covered.

May 2008

ThoughtWorks Anthology

ThoughtWorks Anthology

This collection of essays covers a wide range of issues facing software developers today. In this book, you’ll find a treasure trove of pragmatic advice to improve the effectiveness of your development efforts.

You’ll find essays on testing, controlling a project, the creation of domain specific languages, issues of build and deploy, programming languages, techniques for software development, and more!

Mar 2008

Ubuntu Kung Fu: Tips, Tricks, Hints, and Hacks

Ubuntu Kung Fu

Ubuntu’s rise to power has been rapid, historic and well-deserved. It’s the best Linux distribution ever, but most people only use a fraction of its power. Award-winning Linux author Keir Thomas gets down and dirty with Ubuntu to provide over 300 concise tips that enhance productivity, avoid annoyances, and simply get the most from Ubuntu. You’ll find many unique tips here that can’t be found anywhere else. You’ll also get a crash course in Ubuntu’s flavor of system administration. Whether you’re new to Linux or an old hand, you’ll find tips to make your day easier.

Sep 2008

Using Map Kit

Using Map Kit

Using the new Map Kit framework available in iPhone 3.0, you can embed customized maps within your iPhone application. In this screencast you’ll learn how to build an iPhone application from scratch that displays a map of recent earthquakes, shows custom annotations with callouts, and automatically zooms to a region of interest.

Jun 2009

Using memcached: How to scale your website easily

Using memcached

memcached is a high-performance, distributed memory object caching system, used to speed up dynamic web applications.

memcached was developed to enhance the speed of LiveJournal.com’s one million users with 20 million dynamic page views per day, providing faster page load times for users and better resource utilization.

May 2008

Web Design for Developers: A Programmer's Guide to Design Tools and Techniques

Web Design for Developers

Web Design for Developers will show you how to make your web-based application look professionally designed. We’ll help you learn how to pick the right colors and fonts, avoid costly interface and accessibility mistakes—your application will really come alive. We’ll also walk you through some common Photoshop and CSS techniques and work through a web site redesign, taking a new design from concept all the way to implementation.

Dec 2009

Writing Your First iPhone Application

Writing Your First iPhone Application

Now that the iPhone SDK has officially been released and the Apple App Store is open for business, it’s time to write killer mobile applications! To do that, you’ll need to use several powerful (and possibly unfamiliar) tools: Xcode, Interface Builder, Objective-C, and then the iPhone SDK itself. It can all be a little overwhelming at first. Learn how to write your first table-based iPhone application from Bill Dudney, an experienced iPhone developer.

Jul 2008