I can’t take credit for this, and I don’t know where it originated. I usually don’t post meme-type content to this blog; but this was simply too good not to share.
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!
Yesterday I had a tiny epiphany about when Emacs calc-mode can be really useful. Here’s a tiny screencast about it.
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
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.