The Go/HTTP handler impedance mismatch

When it comes to writing web apps in Go, I have yet to see a clean solution for a very fundamental problem. I see an impedance mismatch between Go idioms and the necessities of the HTTP protocol. It’s by no means exclusive to Go, but this is where it bothers me, so I’ll limit my …

Continue reading ‘The Go/HTTP handler impedance mismatch’ »

The False Dichotomies of Automated Testing

This is the first in a series of posts about automated testing for software developers. I’ve been fascinated by this thing called “programming” since I first learned I could enter BASIC programs into my family’s Commodore 64 when I was 8 years old. I became a full-time software developer in 2006. And I “got religion” …

Continue reading ‘The False Dichotomies of Automated Testing’ »

Announcing Kivik: the general-purpose CouchDB client API for Go and GopherJS

For nearly 3 months now, I’ve spent most of my free time working on a new open-source project: a Go client library for CouchDB and PouchDB. As I’m now putting together the last major feature for a 1.0 release, I feel it’s time to make my work public. So today I am announcing Kivik! View …

Continue reading ‘Announcing Kivik: the general-purpose CouchDB client API for Go and GopherJS’ »

Remembering significant minutiae

Today I reached a meaningless milestone. My most popular post on StackOverflow, the leading Q&A site for programmers, earned its 500th vote*. The post is short, and pretty hilariously insignificant. The question asks how to repeat a simple search-and-replace operation. My answer was essentially to add a single character, the letter “g”, to their code. …

Continue reading ‘Remembering significant minutiae’ »

warn “Use of Perl has been deprecated.\n”;

It’s been just over a month now, since my last day as an employee of Booking.com. Which means it’s been just over a month now since I wrote my last line of professional Perl. This is worth celebrating! Now don’t get me wrong. It’s not that I hate Perl. In fact, I’ve really enjoyed using …

Continue reading ‘warn “Use of Perl has been deprecated.\n”;’ »

Question to fellow programmers: Do you like auto-complete?

I’ve always found auto-complete to be an insanity-inducing feature in my programming text editor. Inevitably, it causes me to type the wrong thing, or hit TAB too many times. Enter-complete I find to be even more infuriating. But auto-complete, especially in text editors designed for programmers, is often very a elaborate feature. It’s often context-sensitive, …

Continue reading ‘Question to fellow programmers: Do you like auto-complete?’ »

How I got go-spew to work with GopherJS

go-spew is a very handy library used for dumping arbitrarily complex data structures in a (roughly) human-readable format. This is immensely helpful when debugging or writing automated tests in programs. Coupled with a package like go-difflib, it can make comparing the expected and actual results of a test not only easy, but into something approaching …

Continue reading ‘How I got go-spew to work with GopherJS’ »

My new project: MinimalPairs.net

I’m working on a new mini-project. It’s in large part inspired by… well, many things. Motivation The most immediate inspiration comes from Patrick McKenzie’s blog, which I just finished reading in its entirety earlier this week while I was in Paris (well, I skipped a few posts that didn’t matter to me). His blog basically …

Continue reading ‘My new project: MinimalPairs.net’ »