New Rails Project Best Practices

March 3rd, 2010

Every now and again, our team creates a new Rails app.
The last time we did this, we had a discussion about how we could make our new Rails app easier to maintain and test, as well as reducing the duplication across multiple Rails apps.

Here’s the list of recommendations we came up with:

Cucumber Feature Tests

WebMock

Template

Configuration

Continuous Integration

(you can never have too many tests).

Deployment

REST


Why?

August 20th, 2009

It is with great sadness that I see _why has gone missing.

I’m a great admirer of his many works, including Shoes (a great GUI framework), Hpricot (my HTML parser of choice), HacketyHack (a great way for kids to learn programming), TryRuby (a way to try Ruby in your Web Browser), and of course his Poignant Guide to Ruby.

Why’s Poignant Guide to Ruby was the first Ruby tutorial that I read. I liked its unique style and narrative that, for me at least, introduced Ruby concepts in a memorable way, particularly Dwemthy’s Array (see chapter 6) which introduced me to metaprogramming and DSLs in Ruby.

You can still see the full Poignant Guide to Ruby, with all the great illustrations, and you can still purchase the book from lulu.

Due to the nature of github, his code lives on in forks of his projects.

Please, let us all #clapwithwhy, and I hope he comes back to enrich the Ruby community with his creative genius.


Back to a Mac

July 28th, 2009

I’ve recently switched back to using a Mac after many years using Ubuntu.
I much prefer OS X to Ubuntu, mainly because some of the software it has is not available on Linux, such as iTunes, and TomTomHome.

What surprised me is how many essential applications and functions were missing from OS X (10.5.7), when compared to a default install of Ubuntu (9.04).

Here’s the list of essential software to bring OS X to the same level as Ubuntu 9.04:

Whilst installing all this software, I noticed what a pain it was, compared to the simple ‘apt’ or Synaptic in Ubuntu. If only there was a package management system for OS X that would allow me to install all the software I want.

On top of the essential software above, I installed the following, to get me to my minimum machine specification:

If I ever need to rebuild this Mac, it’s going to be a real pain downloading and installing all those applications again.


Offline Gem Server

July 8th, 2009

I’ve had an offline gem documentation server installed for a while on my machine, after following Jason Seifer’s instructions.

Recently, however, when I installed new gems I got the following error:

invalid argument: –fmt=html

This is, I think, because the hanna gem that provides the rdoc template needs to use a html output formatter, which seems to have disappeared from newer versions of rdoc.
As a solution, I’ve switched to the sdoc gem, which I think has a better rdoc template than hanna.

The full install instructions for my offline gem documentation server are: