A little adventure with Haskell and Go

I recently decided to brush up on my functional programming skills. My day job increasingly involves building and operating large-scale distributed systems and I became interested in the intersection between this and functional programming. There are all sorts of reasons why using a functional programming language to build distributed systems is beneficial, but I won't ... more


FLOSS alternatives for the post-PRISM era

In this post, I'll describe a few alternative FLOSS programs for any proprietary software you might be using to handle your sensitive data. Exactly how FLOSS makes life harder for peeping toms I'll describe in a follow-up post. (Edit: You'll find  that follow-up post here.) Background In recent months we've learned about how the national ... more


Git – A New Training

Git continues to encroach upon the space of existing version control systems. More and more development projects are opting for Git over the likes of CVS and Subversion. But Git is not an easy system to handle. You'll need someone to give you a nice, gentle introduction. I've long since elbowed out all other version ... more


Ruby on Rails – A New Training

In May, I spent a week in Hamburg giving a training in Ruby on Rails. I've already been a team-member on two Rails development projects, and it was as much a joy to teach as it is develop. Ruby is a multi-paradigm, general-purpose programming language that particularly encourages simplicity and elegance in its users. Rails ... more