Stop Using Single Point Estimates

Estimating how long it will take to develop software is difficult. Fortunately, as an industry we’ve moved away from big-planning-up-front, exhaustive Gantt charts and toward a more agile approach. Unfortunately, we’ve stuck with single point estimates which have some significant disadvantages when compared to range estimates.

Are You a Good Programmer?

If someone asks you to recommend a good programmer, who comes to mind? Do you consider yourself a good programmer? What criteria do you use to judge?

Please Steal My Startup Idea

Every restaurant menu item in the world is searchable by its ingredients.

Sanely Updating Your Gems

If you followed my advice in the previous post, your Gemfile would look something like this:

source :rubygems
 
gem 'rails', '3.0.3'
gem 'devise', '1.1.5'
gem 'redgreen', '1.2.2'
gem 'capybara', '0.4.0'

There’s nothing wrong with this except that if you wanted to keep your gems up to date frequently it would be tedious to manually change all of these versions. Fortunately, we don’t always have to be this exact with the version numbers.

The No-Nonsense Guide to Managing Gem Versions

If the Ruby code you write never leaves your computer, then this article is not for you. But if you find yourself sharing Ruby code with others, or deploying your Ruby code to a web server, then you have a problem. And that problem is gem versions. Sooner or later, the version of a gem on your computer will not match the version of that gem on your production web server, and your cute little disruptive social media web app will fail in a steaming pile of 500 errors.

Crash Course in Web Typography

Thoughtbot recently started up a fantastic design group called Design with Boston. Last Thursday I gave a presentation there called “Crash Course in Web Typography” and I’ve put the slides online.

Tutorial for Adding Tabs to Rails Using Tabulous

This tutorial shows you how to make a simple Rails application from scratch that has both tabs and subtabs.

Introducing Tabulous: Tabs in Rails

If you’re like me, most of the Rails applications you’ve written use tabbed navigation. And if you’re like me, you find that writing the code to handle tabs becomes increasingly more boring with each new application. So I wrote tabulous. Tabulous aims to solve this problem once and for all with a quick and easy way to set up and manage your tabs.

Roadmap for Learning Rails

If you have no prior development experience, one of the worst things you can do when learning Rails is to just dive in. Some of the concepts build on each other, so jumping in would be like signing up for a calculus class before you’ve learned algebra. Sure, you could muddle through it, but most of your time would be spent trying to figure out why things aren’t working.

Rack::Plastic Helps You Write Rack Middleware

Back in November I participated in the CodeRack Rack middleware contest. Besides submitting entries that were stupid and downright dangerous I actually managed to create some middleware of value.