New Kivik web site

Just a quick note to mention the new web site I launched this weekend for Kivik, my open-source CouchDB driver for Go. will be the future home of all Kivik related news, rather than cluttering this blog with such details as I have in the past.

My Reservations about the Agile Principles

As a software developer, I’ve read the Manifesto for Agile Software Development countless times. It’s sort of a high-tech analog to the Hippocratic Oath for software people. Its full text is: We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: …

Continue reading ‘My Reservations about the Agile Principles’ »

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

Automated Testing False Dichotomy #2: All vs None

This is the second installment in my series The False Dichotomies of Automated Testing. If you’ve ever met a recent test convert, you’ve probably heard them talk about the mythical creature that is “100% test coverage.” As with most benevolent mythical creatures, this one is highly sought after, and possibly even worshiped. It is claimed …

Continue reading ‘Automated Testing False Dichotomy #2: All vs None’ »

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

Configuring CouchDB 1.6.1 with LetsEncrypt free SSL certificate on Debian 8 (jessie)

Enable jessie-backports, if not already enabled on your system. As described here: echo deb jessie-backports main | sudo tee /etc/apt/sources.list.d/backports.list > /dev/null aptitude update Install certbot as described here: sudo aptitude install certbot -t jessie-backports Configure a web server, so certbot can communicate with the outside world. I use lighttpd. sudo aptitude install lighttpd …

Continue reading ‘Configuring CouchDB 1.6.1 with LetsEncrypt free SSL certificate on Debian 8 (jessie)’ »