Dude
“Dude, I just discovered something totally awesome and you need to check it out.” I say this a lot. It occurred to me that I should just have a dude page with all the stuff that I use during the course of normal development. So, without any further ado, here is my dude list.
Authentication
Clearance, another tool by Thoughtbot, is definitely my favorite authentication plugin. It comes stock with sign up, email confirmation, sign in and password recovery. It is now available in engine form, which makes it even more awesome.
Consuming Web Services
This is probably really obvious, since I created the library, but I think HTTParty is the easiest way to get the job done.
Deployment
Both locally and in production, I use Phusion’s Passenger, a.k.a. mod_rails. Locally it is awesome to not have to script/server when I go to work on an app and there is nothing more simple to setup and deploy to in production. I’m a huge fan. I also use Capistrano, but that is pretty much a given in our community.
Editor
I’m die hard TextMate. It hasn’t been updated a lot in the past few years, but that doesn’t make it any less awesome. The bundle system in TextMate is pimped and GetBundles is the easiest way to install bundles.
Exception Tracking
Hoptoad is just great. I don’t really have a lot to say, but the app just works and gets out of the way.
File Uploads
Formerly, attachment_fu was my preferred attachment plugin, but I’ve now happily switched to Paperclip. The great thing about paperclip is that it pipes to ImageMagick directly instead of using the beast that is RMagick. And yes, it has S3 support if you are curious.
Gem Creation and Management
Jeweler by Josh Nichols is my new favorite way of creating gems and releasing new versions. It was originally built for GitHub and now even supports Rubyforge. I was beginning to tire of releasing new versions of my gems, but discovering Jeweler renewed my passion.
Pagination
Pagination is a part of almost every app and as such, will paginate is always the first gem I add to a project.
Parsing XML and JSON
Crack is the easiest way to parse XML and JSON. If you need something more robust, you can use the JSON gem or read this article on parsing xml with ruby that I wrote. It covers the most common xml parsing libraries. If you are looking for something to map XML to ruby objects and typecast values, you can try my HappyMapper project.
Performance Monitoring
Once your app starts to grow, it becomes absolutely essential to monitor performance. Thought I’m not a huge fan of the interface for new relic, they provide the most actionable data, bar none.
Testing
I started with test/unit, then switched to test/spec, then to rspec, and I am now very happily using shoulda. I occasionally still use fixtures, but I am really loving Factory Girl
Version Control
I love and use Git. Git is super fast and the fact that you can commit offline is killer. Most people’s favorite feature is the branching. I enjoy that as well, but the speed and offline stuff is probably my favorite. GitHub is amazing and I’ve also written an article on setting up your own git repositories.
Topic Not Covered?
Curious about what I use for a topic that I didn’t cover here?
Let me know and I’ll try to get back with you or update this list.


