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’ »

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’ »

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”;’ »

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’ »