On Porting Beanstalkd to Scala

Beanstalkd is a notable and mature job queue. It’s written in C, rather sparsely commented, and moderately complicated. I wanted to add some functionality and discovered reading the code pretty tricky. The soundest way to learn what some system is doing is to rewrite it. At least for me.

So, I did.

In Scala.

Read More »On Porting Beanstalkd to Scala

The Right Place; The Right Time

In the Army, we had this saying: be at the right place, at the right time, in the right uniform. We also learn to do extensive risk mitigation. I’ve taken a lot of this to heart to learn that in the worst case, you end up in the wrong place at the right time, or the right place at the wrong time. With a bit of mitigation, you can get it to wrong place, before the right time; or, right place, before the right time.

Read More »The Right Place; The Right Time

Building Things

I tend to build things differently from other people. It’s an annoying fact about myself that I can’t seem to accept. One, what I build tends to be robust, extendable, and, non-idiomatic (I hate idiomatic code). Two, what I build tends to be more complex than it needs to be, right now.

Read More »Building Things

The Growth of a Programmer

Writing software is hard. I’m reminded of that every time someone asks me to teach them. The basics are convoluted, the syntax weird. It’s 100% logic that you have to hold in your head while you craft words that semantically make little sense, unless you’re a compiler or interpreter.Read More »The Growth of a Programmer