Posted on September 24, 2019
You probably know how to spell “go.” G. O. Simple.
But do you know how to spell “Go”? The name of the popular programming language invented by Google.
It might also seem simple. Capital G, lowercase o. Also simple. right?
Well, if posts on StackOverflow are an indication, apparently it’s not so simple.
Continue reading `How to spell "Go"` →
Posted on February 28, 2018
You’re building a complex piece of software. Then it comes time to deploy, so you spend a couple weeks stuffing it into a Docker container or a .deb or .rpm package, and debugging the build and deployment process. Then you add some sort of monitoring or logging, set up email or SMS alerts to tell you when it crashes, and probably a dozen other things to make it “production ready.
Continue reading `Dancing Skeletons` →
Filed under:
Programming
Posted on February 7, 2018
Just over a month ago I started a new job. After over a decade as a programmer, I’m now managing programmers at Bugaboo.
And now I don’t know if I had a good day anymore.
I first verbalized this in a discussion last week with my wife.
Me: How was your day?
Continue reading `I don't know if I had a good day anymore` →
Filed under:
Management
Programming
Work
Posted on December 26, 2017
Last night I finished reading Be Slightly Evil by Venkatesh Rao. In one of the final chapters, the author, along with some guest contributors, discusses the status dynamics of holding the door for others. Without drawing any firm conclusions, the questions are raised:
Does holding the door for another person elevate your status relative to them, or lower it?
Continue reading `Riding Shotgun` →
Filed under:
Psychology
Posted on December 3, 2017
Just a quick note to mention the new web site I launched this weekend for Kivik, my open-source CouchDB driver for Go.
http://kivik.io/ will be the future home of all Kivik related news, rather than cluttering this blog with such details as I have in the past.
Continue reading `New Kivik web site` →
Filed under:
Go
Programming
Posted on October 18, 2017
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` →
Filed under:
Opinion
Programming
Work
Posted on September 25, 2017
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 discussion to the problem as it affects Go.
Continue reading `The Go/HTTP handler impedance mismatch` →
Filed under:
Go
golang
http
Programming
Posted on September 4, 2017
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.
Continue reading `Automated Testing False Dichotomy #2: All vs None` →
Filed under:
Go
Programming
Work
Posted on August 24, 2017
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.
Continue reading `The False Dichotomies of Automated Testing` →
Filed under:
automated-testing
best-practices
Programming
Work
Posted on April 22, 2017
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!
Continue reading `Announcing Kivik: the general-purpose CouchDB client API for Go and GopherJS` →
Filed under:
couchdb
Go
pouchdb
Programming