Ditching Monaco
This month marks the one year since I purchased my 13″ Macbook and I have to say I’ve had fewer problems when my Mac than any other computer I’ve owned.
That also means I’ve been using TextMate as my primary editor for a year which has also been great. I can’t say that I like its functionality that any more than ViM’s but it sure does look better.
I’ve been using OS X’s default fixed width font Monaco up till now which is gorgeous but its been a year now and I’m ready to see what else is out there.
For reference this is a look at what TextMate looks like using Monaco. I’m using the Twilight theme.

The font I ultimately decided on is Inconsolata. It looks great at 14pt.

Note! I did a poor job with the screenshots and its hard to notice a difference but it’s there! Try switching your own terminal to Inconsolata 14pt to see the difference more clearly.
The way Monaco letters are very close together feels a little sloppy in places and while thats certainly part of its appeal, I’m ready to try something a little more defined. Inconsolata feels great so far. I’ve also switched Terminal.app to use Inconsolata and it looks great there as well.
Git Presentation
Last week I gave a presentation on the Git version control system at the OC Ruby Users Group. The presentation went very well and I felt it was the most lively presentation that I’ve ever given, even if questions did push the length over an hour.
The slides I used for the presentation are available for download below. The zip contains a pdf of the presentation and the keynote files. The original version of the slides was provided by Ryan Felton. I expanded and modified them for my presentation.
-
Git Presentation Files - Released on April 27, 2008.
Ruby-Poker 0.2.4
I just pushed out another release of the ruby-poker gem. The only change in this release is some code changes to achieve compatibility with Ruby 1.9.
Initially I had thought that I would not need to change anything for 1.9 because ruby-poker-0.2.2 installed and ran through some quick examples without any trouble. However, I was saved by my test suite when it quickly exposed a problem where I was calling each on a String object. The each method was removed from String in 1.9 so I made a quick change to work around it and once again I’m seeing nothing but dots.

Eager Loading with Ultrasphinx
Ultrasphinx is a great Rails plugin that wraps around the Sphinx full-text search engine. I am using Ultrasphinx to handle search queries on a personal project I’m working on and I ran into a situation where I wanted to eager load associated models for my search results. The method for doing this is not well documented so I’m going to step through how to add eager loading to your Ultrasphinx searches.
I am actually going to show two ways to do this. The first is the way that Evan Weaver, the creator of Ultrasphinx, recommends and the second way is the create a simple plugin that extends the Ultrasphinx plugin. The second way is my favorite because it provides the cleanest integration in my opinion but I’m going to demonstrate both methods so you can choose for yourself.
Advice for the Struggling Programmer
If you’re working on program at 4am and you’re stuck on something for more than 15 minutes GO TO SLEEP.
The answer will come to you in the morning.1
-
Drawn from personal experiences. ↩
