3 years of freelancing fun

30 Jan 2010

I realized a couple of days ago that it was January of 2007 when I dove into the crazy world of freelancing full-time. It has been quite an adventure. In that time I’ve worked on a number of fun projects with an amazing assortment of awesome clients, launched two different products (Catch the Best in 2007 and Rails Kits in 2008), and learned a whole lot about how to (and how not to) run a business. It’s been a blast.

I just wanted to pause for a second to thank all the clients that have entrusted their projects to me, and to thank those who have worked with me in various roles on those projects.

Also, with the new year I have some new plans afoot… First, I’m thinking of hiring my first employee to help with the workload that I have. In the second half of 2009 I kept busy enough to need long-term help from a few excellent sub-contractors, and now may be a good time to double the size of my payroll. :)

Second, I have at least one new Rails Kit coming out soon, and perhaps a couple more by the end of the year.

Third, I have an idea for a new product that I think developers would love, and I’m dying to launch it—I just need to find the time to build it. :)



Holiday Projects

26 Nov 2009

For some reason I find myself starting new projects on holidays. Perhaps it’s mental decompression, or just an excuse to have some fun. Either way, today’s holiday project was a little smaller than usual—I’m already done!

It’s a tiny Sinatra app for allowing people to anonymously submit tickets to your Unfuddle account. You could use this for letting clients submit work requests, beta testers to submit bugs, or whatever.



Quick Tip: MongoMapper::DocumentNotFound

21 Nov 2009

If you’d like to get a 404 response when you encounter a MongoMapper::DocumentNotFound error, which is the default response for ActiveRecord::RecordNotFound, simply toss this in your initializer where you set up your Mongo connection (I use config/initializers/mongo.rb):

ActionController::Base.rescue_responses[‘MongoMapper::DocumentNotFound’] = :not_found



Want to go to RubyConf?

13 Nov 2009

If you’d like to go to RubyConf next week, but you don’t have a ticket, you’re in luck! Sadly, I can’t go, so I have a ticket available for sale for $250. Drop me a line at ben at this domain if you’re interested.

Update: Sold!



An EngineYard Cloud Gotcha

16 Oct 2009

I’m still loving the EngineYard Cloud for my client deployments. I encountered one snag today, though, when cloning an environment for staging: Custom chef recipes do not get cloned along with the rest of the environment.

This means that if you have uplaoded/deployed custom chef recipes for, say, a production environment, and then you clone that environment to one called, say, staging, your custom recipes will not be automagically available in the staging environment. This could be bad if your application depends on something like MongoDB being installed by your chef recipes. :)

The fix is simple. Just upload your recipes using the ey-recipes tool to the new environment once you create it from scratch or via a clone. I would argue that it makes sense to clone the recipes along with the rest of the environment, but at least the workaround is easy.