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: Screencasts
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 recently had reason to submit a one-character documentation fix to Ruby. I know submitting a patch to a high-profile project can feel intimidating, so I recorded the process to show just how straightforward it is.
Today’s freebie answers the #1 most common question I get about RubyTapas!
Since I publish a screencast series, I’m curious what other programming screencasts people watch. So I asked around. Here’s the list, based on feedback as well as my own bookmarks. Railscasts - Ruby on Rails Destroy all Software - Ruby, Python, Unix, … Continue reading
Today’s freebie (episode 55, if you’re counting) covers a simple technique for making a single .rb file work as either a library or a runnable script. In the process, it covers the __FILE__ constant and the $PROGRAM_NAME variable.
At the borders of our systems, mockist testing hits a point of diminishing returns. In this free episode we take a look at when to stop mocking and start integration testing.
Some functions are useful in many different contexts. In this free episode we’ll explore some ways to make them available both to library code and to client code of a library.