Posts on Technology


Uniqueness in PostgreSQL: Constraints versus Indexes

While doing a bit of database cleaning, I noticed many tables with more than a few indexes and constraints. In particular, a few tables had both a unique index and a unique constraint for the same column. Constraints and indexes come at a cost: they add write overhead with each INSERT and UPDATE and they can take up significant amounts of space. Since a unique constraint and a unique index...

Read more...


Making the Most of Your Logs - DNS with Splunk

Prior to Flatiron, my main experience with logs was limited to scanning the output of tail -f on a flat file during a deploy or the occasional frantic search for strings like “error” when a system malfunctioned. I was excited when I discovered Silver Searcher, and started replacing grep with ag. I find this somewhat comical in retrospect. While manually digging through logs from the command line can be an...

Read more...


Grokking Your Terrain

When you’re working with a small codebase, given enough time, you’ll come up with a decent map of how everything fits together in your head. If you have to add a new feature or debug an issue, you’ll likely have a good hunch of where in the code to start.

Read more...


DevNetSecOps

Network security group automation with Ansible, AWS, git, and Jenkins to move fast with security and auditability.

Read more...


Dobby: A simple hack for on-demand remote execution

Motivation: running long jobs on your laptop sucks At Flatiron, we run a lot of data pipelines. Early on, we were processing fairly small amounts of data, so investing a lot in tooling didn’t seem worth it. But around a year ago, we signed a contract that increased the number of patients we were processing by several orders of magnitude.

Read more...


How I use my experience building ad tech to help fight cancer

Like many engineers, I love doing work that is not only interesting but also helps to make the world a better place. But despite the long list of problems that are being solved with software these days, it can be hard to imagine a direct connection between writing code and making an impact on an issue that is truly meaningful to humanity on a global scale, such as addressing poverty,...

Read more...