Why Explicit Versions Still Don't Solve the Problem
Explicit Versioning, the latest attempt at solving version naming problems, still doesn't quite cover the normal use cases I encounter daily. But it does capture an idea that SemVer doesn't.
A fascinating blog post on explicit versioning is making the rounds. It proposes a new versioning scheme based...
The Illustrated Children's Guide to Kubernetes
Once upon a time, there was a little PHP app named Phippy. The Illustrated Children's Guide to Kubernetes follows Phippy on her journey from a scary hosting provider to a pod on board Captain Kube's ship.
Along with the video, Deis has produced a limited run of the books, in full color with the...
Part-time Coffee Snob
Along with code, I get pretty fanatical about my coffee. It was pretty cool to be quoted in Barista Magazine's article How Customers and Coffee Shops Define Quality Differently.
The article is an interesting analysis of a survey that Hand Ground conducted about coffee shop quality and culture....
Go Quickly - Cleaning Filepaths
One of the more useful, but underutilized, packages in Go is the path/filepath
package. This library contains a dozen or so tools for manipulating paths on the filesystem. Unlike path
, filepath
functions are aware of the filesystem, and the functions are not merely string manipulators.
I've recently...
Go Quickly - 50+ Template Functions from Sprig
Go ships with a powerful template package. But the default template language has only a few functions. Sprig, a library from the authors of Glide, augments the existing functions with almost 60 additional functions.
Go Templates
Go provides a generic text templating language (text/template
) and...
Go Quickly - Converting Character Encodings In Golang
At one point or another, every developer gets stuck converting a pile of files from one character encoding to another. Go's native character set is UTF-8, and the core Go libraries don't come with tools for converting character sets. However, one of the Go extension libraries makes this easy.
The...
Go Quickly - Regexp Templates
Did you know that Go supports Perl-style template expansion for regular expressions? Using this tool, you can capture a regular expression pattern and then expand it into a simple string template. Here's how it works.
package main
import (
"fmt"
"os"
"regexp"
)
func main() {
dst
The Alpine Mistake
Alpine Linux is the new darling of the containerati. This is no big surprise. I too have bought into the story that Alpine's small footprint makes it the perfect fit for the Docker world. But it's not. Alpine is a short play that puts containerization in danger of losing the long game.
Trailer Homes
My Top 15 For 2015
It's been a phenomenal year for technology. The cloud landscape has shifted from VMs to containers. Go has enjoyed a meteoric rise while the venerable PHP has reached version 7. JavaScript continues to surprise us all. IoT seems to have tarnished its reputation. But Android and iOS continue to push...
Configuring Kubernetes on Vagrant
One of the most frequent questions I see about setting up Kubernetes is how one can modify the configuration of a Vagrant/VirtualBox cluster. This, for example, is required to set up an insecure Docker registry or to use Kubernetes extensions like DaemonSets.
Running Kubernetes on Vagrant
Running...