feature image
Karl Matthias bio photo

Karl Matthias

DevOps, sysadmin, coder. Principal Systems Engineer at Nitro. Portland, Oregon.

Twitter

Google+

Github

View all articles

Latest Articles


Building Tiny, Reliable Docker Container Images

Building good, clean Docker container images is a bit of an art, and there is a lot of conflicting advice out there about how to do them properly. ...

Continue statements with Labels in Go (golang)

Flow control of nested loops can be a pain. And because Go uses for loops in great abundance, you hit this problem more often than in some other la...

Writing Testable Code in Go (golang)

If you are coming from Ruby or another dynamic language you are used to mocking and stubbing extensively for testing. This works fabulously well in...

MessagePack vs JSON in Ruby

MessagePack (shorthand: msgpack) gives us a big performance boost when serializing data to our data store. JSON is the reigning champ for data seri...

Cassandra vs MongoDB For Time Series Data

This is how we got a big win by switching from MongoDB to Cassandra for managing our time series data. Background MyDrive has an AWS cloud-host...

A Pattern for Wrapping C Function Calls in Rust

In my recent project, I found an idiom that seems pretty useful for instantiating new objects that wrap the functionality of an external C function...

A Week with Mozilla's Rust

I want another systems language in my tool belt. I want a language where I can be much more productive than in C: one in which I do not fear the co...

Magritte: Running sub-processes easily from Ruby

At MyDrive we have a few hefty binaries written in C++ that are used as part of our main telematics data processing pipeline.  One of these is buil...

CoffeeScript Testing on Travis CI

I have recently been working on Troll-opt, a powerful but simple command line parser for Node.js that was inspired by William Morgan’s Trollop gem...

A Works-Anywhere Config For SSH Tunneling

TL;DR: This article proposes a simple solution to DNS and jump hosts that allows you to use short names on the ssh command line without impacting a...