The Pragmatic Bookshelf
By programmers for programmers
Sort by: Title | Release Date
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
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 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
This is the second edition of Agile Web Development with Rails. It covers Rails 1.2.
The Rails team recently released Rails 2. Some of the changes they made break Rails 1.2 applications, so we’re busy working on a brand new edition of this book. You can find details over here.
However, it will be a while before the paper version of the new edition is ready. In the meantime, and while stocks last, you can still buy the paper version of this second edition book at a 50% discount.(If you’re looking for code or errata for the first edition of this book, you’ll find them here.)
Dec 2006
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.
You can buy the combo pack of the third edition (which gets the PDF now and the paper book when it’s ready). But if you need a paper book now, we have a special offer. While stocks last, we’re selling the paper version of the second edition at half price.
And, if you bought the second edition book or PDF from us prior to the announcement of this third edition and after March 9, 2008, you qualify for a free update to this edition. Visit your home page to pick up the coupon.
Oct 2008
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.
Jan 2008
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
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
Core Animation for OS X
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.
Jun 2008
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
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
“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
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.
Sep 2008
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.
Jul 2008
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
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
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
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.
Apr 2008
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
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
This is the second edition of this Friday, which has been rewritten to use the Google Maps V2 API.
May 2006
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
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
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 book will get you started.
Oct 2008
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
Learn to Program
Maybe you’ve always wanted to learn how to program computers, but couldn’t find a book that made sense. Maybe you’re already a programmer, and you’d like to fill in the gaps or help your spouse or partner see what you do. Or, perhaps you’d like to get your child started.
This is the book for you. Using Ruby, you’ll learn to program with no previous experience, create your own utilities and applications, take control of your computer, and build a foundation to understand large, professional applications
Jan 2006
Manage It!
![]() |
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
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
My Job Went to India
This book isn’t about India. It’s about you. You’ve already lost your job. You may still be drawing a paycheck, but the job you were hired to do no longer exists. Your company has changed, the technology has changed, the economy has changed, and the ways you can add value have changed. Have you adapted to these changes? Or are you at risk?
You need to architect your career, and this book will show you how.
Sep 2005
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
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
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
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 leep agile practices in balance.
Apr 2006
Pragmatic Ajax
Now there’s no need for you to choose between the ease of deployment of a web page and the interactive features of a rich desktop application. Ajax redefines the user experience for web applications. Your application can provide a compelling user interface delivered plug-in free using modern web browsers. This book shows you how to make Ajax magic, exploring both the fundamental technologies and the emerging frameworks that make it easy.
Mar 2006
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
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.
NOW IN BETA: 170/250 pages available.
Aug 2008
Pragmatic Unit Testing in C# with NUnit, 2nd Ed.
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.
Aug 2007
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.
Sep 2003
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.
Sep 2003
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 teach you how to use Git in this new distributed world.
Oct 2008
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 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
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 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.
Third Edition is Now Available
Ruby is in a period of transition. Ruby 1.8 is the current release for production use. A new version, Ruby 1.9, is available for those who like to live on the leading edge. Ruby 1.9 is an incremental change, but does include some incompatibilities with 1.8. If you want a paper book now, or if you prefer reading about the stable version of Ruby, then the book on this page is for you. If instead you want to read about the new features in 1.9, then check out the Third Edition.
Oct 2004
Programming Ruby 3
This is the Pickaxe book, named for the tool on the cover. The original PickAxe was the first English-language book on Ruby. Each edition of the book tracks the latest Ruby release, and each is the definitive reference to Ruby. This third edition maintains that tradition, and has been updated to reflect the new features of 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.
Did You Buy the Second Edition 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.
Sep 2008
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 write one or two lines of script that look so good they could almost pass for Ruby code!
Dec 2007
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
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
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.
Jun 2006
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!
![]() |
“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
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
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 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
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
























































