Here’s a variety of essays that I’ve written on several subjects, ranging from programming in Ruby and C to my thoughts on games I like to play.

C Memory Management and You

Mankind has been plagued by C memory management for centuries. I’ve come to rescue mankind by writing a little tutorial that will answer many newbie’s questions about pointers, memory, malloc(), and more. Read more.

C Reference Counting and You

Manual memory management using malloc() and free() works nicely, but can become tiresome. Enter reference counting — makes memory management a lot easier. Read more.

ERB and the Context Object

With Erubis, it is trivial to create a context object that makes variables accessible as instance variables in templates. It is not obvious, but you can do exactly the same with ERB as well, with a bit of work. Read more.

How nanoc’s Rules DSL Works

nanoc has recently gained an entirely new way of specifying how pages should be processed. Instead of describing processing instructions in YAML, they are now described using pure Ruby. This essay explains how these rules are implemented so that you can use the same idea in your projects. Read more.

Myst Online and Me

When I started playing Myst Online: Uru Live, I was very excited. After playing the game for over a year, my enthousiasm has mostly disappeared. Here’s why I don’t like playing it much anymore. Read more.

On Requiring Parens in Ruby

I have been rethinking my idea of requiring parentheses in Ruby for a while, and I’ve come to the conclusion that requiring them is the wrong answer to a problem I didn’t even explain well. Read more.

TDD Bypasses Your Brain

Test-Driven Development can result in an overreliance of tests. True 100% code coverage is a myth, and mindlessly modifying code until all tests pass is bound to introduce bugs for which no tests exist. Read more.