Blog Archive

Coding Standards (especially in Golang)

This is about design philosophy and how to approach your work. Every line of code should be to a standard you would be proud to publish under your own name, because git is forever.

TDD (Test-Driven Development)

TDD is not just about writing tests before code -- it is about alternating between tests and code so that you write code in discrete, testable units and capture every insight as an automated check that lives in your codebase forever.

Managed Secrets

Secrets management is an important job, but it sucks. A look at why UX is the key to a successful secrets system, and how Managed Secrets provides a YAML interface to your secret storage backend.

Using CircleCI as if it was a Maven Repo

A trick for using CircleCI 1.x build artifacts as a Maven repository by fetching dependency artifacts and installing them into the local Maven cache.

Dynamic Binary Toolkit: Tools that automatically keep themselves up to date!

A system for building self-updating command-line tools that automatically download, verify, and replace themselves with the latest version using checksums and GPG signatures.

Access and Identity that Just Works

A hands-on guide to spinning up an n-way multi-master LDAP directory for centralized access and identity management, covering server setup, replication, ACLs, and schema configuration.

LocalEnv

A simple trick to link your IDE terminal with your project's virtual environment, so command-line tools automatically use the same Python and libraries as your IDE.

One Shot OpenStack Liberty Installer

A single script that creates a full OpenStack Liberty cloud from nothing, demonstrating an infrastructure-as-code approach to cloud deployment.