Menu Sidebar

Avdi Grimm

Hacker; code documentarian.

New RubyTapas Freebie: Immutable Iterators with Tom Stuart

Tom Stuart expands my mind every time I read or watch something he’s done, so I can’t tell you how excited I was to have him do guest episode on RubyTapas. Subscribers saw this episode back in December, but today I’m freeing it up so anyone can enjoy it.


Some of my other favorite things that Tom has done:

Like what you see? This is just a taste of RubyTapas! Sign up today to get two videos a week, along with full source code and transcripts. Or click here to learn more.

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 confidence in the code at barely any cost.

via Guest post: Haskell at Front Row | FP Complete.

Detailed Haskell experience reports from real-world apps are still pretty rare, so this was an interesting read.

Breaking open toys in Smalltalk

For a lot of people, having to work inside the “walled garden” of a VM, with its own GUI and everything, is one of the biggest barriers to learning Smalltalk. Today I made a little video about one way that working in this environment can actually be empowering.

By the way, full disclosure: I cheated a little bit, because someone told me where I should look for the message whitelist. But! Nobody told me how to trace from the GUI all the way back back to the class and method the whitelist is found in. I was able to work that out for myself, and pretty quickly too. This is one of the benefits of working in a highly explorable and reflective development environment.

As before, the Smalltalk I’m using is Pharo 4.

In which I make you hate Ruby in 7 minutes

Per the roadmap I laid out the other day, I’m making a concerted effort to work on my meager Smalltalk knowledge. One of the best ways to cement knowledge is to pass it on, so I thought I’d make a little video showing some of the stuff I’ve been impressed with so far. In this video I TDD a method, with an emphasis on some of the development aids that the Pharo environment is able to offer.

For more on Pharo Smalltalk, check out:


Newer Posts
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.