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.

Why do ship dates change on beta books?

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.

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

Core Data

Learn the Apple Core Data APIs from the ground up. 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 beginning with Core Data through to expert level configurations that you will not find anywhere else. Learn why you should be using Core Data for your next Cocoa project, and how to use it most effectively.

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.

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.

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

Programming Ruby 1.9: The Pragmatic Programmers' Guide

Programming Ruby 1.9

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 time we’ve broken with tradition. This isn’t a third edition. It’s technically a separate book. That’s because it reflects all the new features of Ruby 1.9, and we want both it and the second edition (which covers 1.8) to be available at the same time.

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.

Why do ship dates change on beta books?

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.

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.

Web Design for Developers: Making Design as Easy as Coding

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.

 

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.

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.

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.

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, and 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

 

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

Why do ship dates change on beta books?

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.

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.

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.

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

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.

Programming Ruby 1.9: The Pragmatic Programmers' Guide

Programming Ruby 1.9

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 time we’ve broken with tradition. This isn’t a third edition. It’s technically a separate book. That’s because it reflects all the new features of Ruby 1.9, and we want both it and the second edition (which covers 1.8) to be available at the same time.

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.

Why do ship dates change on beta books?

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.

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.

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.

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

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.

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.

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.

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.

 

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.

 

Geographic Information Systems

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.

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.

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.

 

Java / JVM

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.

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.

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.

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.

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.

IN BETA THIS FALL!

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.

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.

 

Languages/Frameworks

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.

Why do ship dates change on beta books?

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.

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.

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

Core Data

Learn the Apple Core Data APIs from the ground up. 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 beginning with Core Data through to expert level configurations that you will not find anywhere else. Learn why you should be using Core Data for your next Cocoa project, and how to use it most effectively.

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.

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.

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.

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

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.

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.

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.

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

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

Programming Ruby 1.9: The Pragmatic Programmers' Guide

Programming Ruby 1.9

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 time we’ve broken with tradition. This isn’t a third edition. It’s technically a separate book. That’s because it reflects all the new features of Ruby 1.9, and we want both it and the second edition (which covers 1.8) to be available at the same time.

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.

Why do ship dates change on beta books?

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.

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.

IN BETA THIS FALL!

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!

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

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.

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!

 

Mac Programming

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.

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.

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

Core Data

Learn the Apple Core Data APIs from the ground up. 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 beginning with Core Data through to expert level configurations that you will not find anywhere else. Learn why you should be using Core Data for your next Cocoa project, and how to use it most effectively.

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.

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.

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.

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.

Writing Your First iPhone Application

Writing Your First iPhone Application

Now that the iPhone 2.1 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. So how do you get started on the right foot?

Well, the good news is you don’t have to go it alone. Let Bill Dudney, an experienced iPhone developer, show you how to write your first iPhone application in these screencasts. Building iPhone applications is a visual process, and screencasts are a great way to shoulder-surf with an expert. You’ll learn his workflow, his development techniques, and the tricks of the trade.

 

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.

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.

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.

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, and 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

 

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.

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

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.

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. The platform provides a very powerful means of distributing your application to potentially millions of users, but it can also be a bit intimidating.

These screencasts give you a front-row seat to learn from an experienced Facebook developer. You’ll learn how to quickly build a real Facebook application from scratch, and add social features, using the popular Ruby on Rails framework. Follow along with these screencasts, and your application could be the next hit on Facebook!

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.

Writing Your First iPhone Application

Writing Your First iPhone Application

Now that the iPhone 2.1 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. So how do you get started on the right foot?

Well, the good news is you don’t have to go it alone. Let Bill Dudney, an experienced iPhone developer, show you how to write your first iPhone application in these screencasts. Building iPhone applications is a visual process, and screencasts are a great way to shoulder-surf with an expert. You’ll learn his workflow, his development techniques, and the tricks of the trade.

 

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

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.

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

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.

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.

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.

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

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.

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!

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.

 

Web 2.0

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.

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.

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

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.

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.

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!

Web Design for Developers: Making Design as Easy as Coding

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.

 

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

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

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

Debug It!

Some developers thrash around aimlessly looking for a bug without concrete results. Others have the knack of unerringly zeroing in on the root cause of a bug. Are they geniuses? Just lucky? No, they’ve learned the secrets of professional debugging. This book will equip you with the tools, techniques and approaches-proven in the crucible of professional software development-to ensure that you can tackle any bug with confidence.

You’ll learn how to handle every stage of the bug life-cycle, from constructing software that makes debugging easy, through detection, reproduction, diagnosis and rolling out your eventual fix.

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

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

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 remove red-eye from 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.

The RSpec Book: Behaviour Driven Development with Ruby

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 and other Ruby tools to develop truly a