Beta Books

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.

You can buy the combo pack of the third edition (which gets the PDF now and the paper book when it’s ready).

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.

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

Core Animation for 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.

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.

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.

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 book will get you started.

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.

NOW IN BETA: 237/275 pages available.

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 teach you how to use Git in this new distributed world.

Programming Ruby 3: The Pragmatic Programmers' Guide

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.

RubyCocoa: Bringing Some Ruby Love to OS X Programming

RubyCocoa

RubyCocoa 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 RubyCocoa, the joy of Cocoa meets the joy of Ruby.

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.

Ubuntu Kung Fu: Over 300 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.

 

Career Development

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.

Learn to Program

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

My Job Went to India: 52 Ways to Save Your Job

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.

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.

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.

NOW IN BETA: 237/275 pages available.

 

Design

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.

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.

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.
 

Facets of Ruby

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)
Agile Web Development with Rails: Second Edition

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.)

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.

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.

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.

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.

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.

Learn to Program

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

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.

Programming Ruby: The Pragmatic Programmer's 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.

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.

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.

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.

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.

 

Fridays

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,

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.

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.

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.

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.

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.

 

Languages/Frameworks

Agile Web Development with Rails: Second Edition

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.)

Pragmatic Ajax: A Web 2.0 Primer

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.

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.

Programming Ruby: The Pragmatic Programmer's 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.

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.

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 write one or two lines of script that look so good they could almost pass for Ruby code!

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

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!

 

Practices

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.

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.
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.

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.
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.

 

Screencasts

Building a Dynamic Website with ExpressionEngine

Building a Dynamic Website with ExpressionEngine

Looking to create, deploy, and manage a dynamic website without all the fuss of programming? ExpressionEngine gets you up and running in no time. It’s a flexible content management system that’s becoming very popular with top web designers.

Throughout these screencasts, veteran web developer and ExpressionEngine guru Ryan Irelan incrementally builds a full-featured newspaper website with ExpressionEngine. You’ll learn how to get started with ExpressionEngine, light up your existing static content, and add must-have publishing features.

You can follow along with each twist and turn as Ryan adds new features to shape the application over time. You’ll also see how he troubleshoots problems that crop up along the way. You’ll not only learn how to use ExpressionEngine from start to finish, you’ll also see ways to streamline your design process.

Creating a Compelling User Interface with Core Animation

Creating a Compelling User Interface with Core Animation

What better way to learn how to create an animated and cinematic user interface than seeing it in action! In these screencasts, experienced Objective-C developer Bill Dudney incrementally builds a Cover Flow application using Core Animation. You’ll learn how to get started with Xcode and use the Core Animation API to add stunning animations to your Cocoa applications.

Erlang By Example

Erlang By Example

Learn how to write Erlang programs by sitting next to an experienced Erlang programmer as he builds an 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.

Everyday Active Record

Everyday Active Record

Active Record models are the foundation of every good Rails application. Learn how to get the most out of the Active Record features that you use on a day-to-day basis from a popular Rails developer and screencaster. In these screencasts, Ryan Bates incrementally builds the models for a Rails application and refactors them over time to address new features. All the code is based on Rails 2.1 features.

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.

 

Starter Kit Series

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.

Pragmatic Unit Testing in C# with NUnit, 2nd Ed.

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.

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.

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.

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 teach you how to use Git in this new distributed world.

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

 

Tools

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!

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.

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.

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.

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!

 

Other

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

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.

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

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.

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.

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.

NOTE: This book is ready to go into beta. We’re just waiting for Apple to lift the legal restrictions.

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.

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.

No Fluff Just Stuff 2007 Anthology: (currently out of stock)

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

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.

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.

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, Mac OS X, Java-based 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.

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!