3 years of entropy

2 minute read Published:

I've been blogging and writing code on GitHub, i.e. maintaining a "public developer profile", for roughly 3 years. I do some reflection.

Speeding up numpy-based pitch detection with numba and scipy

6 minute read Published:

Doing some Python profiling and optimization to make a numpy.correlate-based Python music transcriber faster using numba and scipy.

My path to SRE

13 minute read Published:

Wherein I describe my path from grungy 12-year-old, to mediocre software dev, through the corporate IT/DevOps hellscape, onwards to more interesting SRE positions.

Vertica on EC2 performance optimizations

3 minute read Published:

Disabling hyperthreading, upgrading the kernel, and the noop scheduler for SSDs on EC2 instances with CentOS/RHEL 7.

8 months of pq

6 minute read Published:

A post announcing the 1.0 release of pq, my Rust command-line protobuf deserializer, and how the codebase evolved over the last 8 months.

Type-erasing unsafe traits in Rust

2 minute read Published:

In Rust, traits can be object-safe and non-object-safe. There are workarounds to make unsafe traits safe - this is how I did it.

Deploy Rust and Go on CentOS

7 minute read Published:

Some build and deploy ideas for Go and Rust static binaries on CentOS: systemd units, rpms, etc.

Terraform tips and tricks

6 minute read Modified:

I've spent the last 2 months trying to explore the depths of Terraform (for AWS). Here's a compilation of neat things I discovered along the way.

Configurable datastructures with C macros

3 minute read Modified:

Using C macros to create basic datastructures with configurable data types and storage backends using gcc switches.

Ngrepping the Vertica network protocol

2 minute read Published:

How I used ngrep to reverse-engineer the Vertica wire protocol from JDBC and contribute it upstream to Python and Ruby-native Vertica libraries