Hi! I'm Avdi Grimm, and this is my software development blog. More...
Books and Screencasts
Small plates of gourmet Ruby code.
32 Patterns for joyful coding.
The Making of Cowsays.com
Watch me build an app in Sinatra and Rails
Objects on Rails
A developer notebook on applying classic Object-Oriented principles to Ruby on Rails projects.
The definitive guide to exceptions and failure handling in Ruby.
- Emacs Reboot
- RubyTapas Samples
- Smalltalk Best Practice Patterns
- Study Notes
- Stuff Worth Buying
- Stupid Ruby Tricks
Category Archives: Ruby
Continuing our series on Rake, today we look at one of its most powerful (and little-known!) features Continue reading
In this episode, we teach Rake how to intelligently discover the right source file for a given target. Continue reading
How to pick out all the files we want, and none we don’t, using Rake’s FileList class. Continue reading
Part one of a series on the Rake build utility. In this post we start with Rake basics. Continue reading
Lately I’ve been handling configuration entirely through environment variables for my apps, as the 12 Factor App recommends, and I can’t recommend this approach enough. As a constraint it helps me think about what parts of a given app actually need to … Continue reading
Sometimes when rescuing an exception in Ruby, it’s useful to handle the error scenario by raising another, different exception. As an example, we may want to add domain-specific failure information before passing the error on to client code. begin # … Continue reading
As I posted a few months ago, the good folks at TekPub recently took my hours of footage of a weekend coding project and turned it into a tightly edited hour-and-fifteen-minute screencast. Well, as you might have heard, TekPub has … Continue reading
Sometimes on RubyTapas I serialize larger projects into bite-sized pieces. In this episode, you can see a slice of the outside-in TDD process I use as I develop part of my gem-love project. You’ll see me thinking about messages before … Continue reading
It’s been a while since I posted a freebie. Today’s is episode 59. It covers one of the most interesting (to me) classes in the Ruby core libraries: Enumerator.
I don’t post code on here nearly as often as I should. Here’s some code I just finished for a future RubyTapas episode. It implements a thread-safe, optionally bounded, timeout-enabled queue class suitable for communication between threads. Please throw rocks … Continue reading