Decoration is best, except when it isn’t

I think by now we all know to prefer composition over inheritance. But in a language with a lot of options, what’s the best kind of composition to use? Composing an adventure Consider an adventure game, with objects representing player … Continue reading

Posted in Ruby | Tagged , , | 10 Comments

A Game Development Curriculum

Along with every other hacker on the planet, I got into programming because I wanted to write games. It wasn’t long at all, though, before I learned that the greatest game of all is teaching the machine to do your … Continue reading

Posted in Books, Education | Tagged , , , , | 24 Comments

ActiveRecord Default Association Extensions

How to add helper methods to all associations of a given type, as well as to the model class. Continue reading

Posted in Rails | Tagged | 5 Comments

My authoring tools

Several people have asked about my self-publishing process. I’d really like to write something comprehensive about this, along with code/scripts/config for my whole build stack, but I haven’t had time yet. Until that time, here are some notes on tools … Continue reading

Posted in Books | Tagged , | 1 Comment

Should I rename my gem?

The Ruby community has some diversity challenges. I don’t think the Ruby community is any more biased than other tech communities; if anything, I think Rubyists are more apt to make a big deal over offensive content which would be considered business-as-usual … Continue reading

Posted in Uncategorized | 55 Comments

Stop reading this blog and learn something

Software development is a wonderful field to be a noob in. Perhaps more than any other discipline, there is a wealth of information available for free online–everything from fundamental computer science courses, to the night-by-night learning notes of a master … Continue reading

Posted in Rants | Tagged | 18 Comments

Systems Programming in the Cloud

Tim Bray has an article up about static versus dynamic languages, and why he finds the static ones less annoying for Android programming than for web programming. It’s a good article. Something I’ve noticed over the past few years of … Continue reading

Posted in Uncategorized | 1 Comment

End your OOP Confusion with the Design Pattern Classifier

The Ruby community has seen a renaissance of interest in classic Object-Oriented thinking lately. We’re talking about Presenters, and DCI, and Data Objects. But with these new discussions come new problems. Namely: the dreaded pattern terminology debate. He says it’s a Decorator. … Continue reading

Posted in Humor | Tagged , | 2 Comments

Fancy GitHub Authentication with Omniauth

Configuring Omniauth for GitHub authentication is easy enough. But I needed to optionally add extra permissions to the authentication token. I eventually figured it out, but since I had to piece the steps together from various sources, I thought I’d … Continue reading

Posted in Howto | Tagged , , , , , | 2 Comments

Another Take on Smalltalk-Style Controll Flow (SBPP #6)

The latest Smalltalk-to-Ruby translation in my SBPPRB archive is “Dispatched Interpretation”. It’s one of the bigger ones I’ve tackled so far. I’m not going to go over the whole pattern here; for that you’ll just need to buy a copy … Continue reading

Posted in Smalltalk Best Practice Patterns | Tagged , , , | 2 Comments