Packaging Python code with XAR

5 minute read Published:

Using the Facebook XAR (executable archive based on SquashFS) to package my Python transcribe project in a single file.


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.


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


Provision and orchestrate GCE with Terraform and Ansible

6 minute read Published:

Using Terraform and Ansible to provision Google Compute Engine servers, and orchestrate them with Ansible to install Zabbix