Menu Sidebar

Avdi Grimm

Hacker; code documentarian.

Two years of RubyTapas (free episode!)

It took a tweet from Noel Rappin to remind me, but it seems that today marks two years since the first episode of RubyTapas went live. I started RubyTapas with a simple concept: that Ruby developers might enjoy frequent, short, focused videos on intermediate to advanced Ruby and OO concepts. One new idea, distilled into short enough period to watch during a coffee break.

The other, riskier part of the formula was that developers might value this service enough to pay me $9/month for it in and thus make such a time-intensive product sustainable. Two years and 240 episodes(!) later, it seems they did. At over 2,000 paying subscribers, RubyTapas has been my full-time job for over a year.

So: happy birthday RubyTapas, and thanks to everyone who makes it possible! In honor of the occasion, here’s one of my favorite episodes (#190), now free to watch. It’s about an advanced feature of Ruby’s String#gsub method, and as you’ll see I had some fun making this one.

Also, if you’re not already a subscriber, today you can sign up and get the first two months for the price of one. EDIT: Sorry, this deal is now over!

Boolean Externalities

The other night I spent a long time trying to figure out why an acceptance test was failing. Eventually I tracked it down to the fact that a particular predicate method was returning false, when I expected it to be returning true.

Ultimately I would find that the test failure pointed back to a legitimate oversight in my code. But I wasn’t there yet. First I had to work my way back to the source of the unexpected false.

Read More

How to use Ruby’s English and/or operators without going nuts

Years ago I wrote about Ruby’s English and/or operators and why they are the way they are. I’ve never been completely happy with how I made my case in that article, and more recently I took another whack at it in a RubyTapas episode. However, until now that episode hasn’t been available to the general public. Today that changes; I’ve made the episode freely available and you can watch it right here.

Read More

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.