Menu Sidebar

Avdi Grimm

Hacker; code documentarian.


Good Haskell article

I still remember one of my biggest Haskell/Yesod “aha” moments: not only does Yesod make sure that routes in your HTML are type-safe, but even image files linked in tags are verified to exist on disk by the compiler. No .jpg, no build, it’s that simple. It’s a level of guarantee that dramatically increases your […]

Google Says No to More End-to-End Tests

Thus, to evaluate any testing strategy, you cannot just evaluate how it finds bugs. You also must evaluate how it enables developers to fix (and even prevent) bugs. Via: Of course, J. B. Rainsberger has been saying this for years. But it’s nice to see Google reinforcing it.

New at

After a few false starts, my other blog/podcast is once again cranking away, with new episodes every week! Here are some of the recent episodes, in case you missed them: An interview with Joe Moore of Pivotal Labs, with lots of great info about how to do remote pair-programming effectively. An interview with Louis […]

HTTP forwarding services for local Facebook development

I’m working on Facebook Open Graph features for a client, and developing these features requires enabling Facebook to somehow crawl my locally-served pages. I asked around for solutions to this problem, and got a pretty long list of replies. I’m listing them here for future reference. All of these offer a pretty similar service: you […]

Older Posts

Virtuous Code

"The three virtues of a programmer: laziness, impatience, and hubris" — Larry Wall

Books and Screencasts

RubyTapas Screencasts

RubyTapas Screencasts

Small plates of gourmet Ruby code.

Confident Ruby

Confident Ruby cover

32 Patterns for joyful coding.

The Making of

Confident Ruby cover

Watch me build an app in Sinatra and Rails

Objects on Rails

Objects on Rails

A developer notebook on applying classic Object-Oriented principles to Ruby on Rails projects.

Exceptional Ruby

Exceptional Ruby

The definitive guide to exceptions and failure handling in Ruby.