• 2025-10-13 : Lateral joins

    Lately I’ve been making use of lateral joins, which simplify (and in some cases optimize) a few common query patterns. Lateral joins are joins where the right side of a join can reference columns ...

  • 2025-08-21 : Will AI replace programmers?

    There has been a lot of doom and gloom about software development in recent years. Computer science, long one of the most in-demand majors in the job market, is seeing above-average unemployment ra...

  • 2025-06-20 : Building Postgres on macOS

    I recently decided to check out Postgres hacking, and ran into a few issues when trying to build on an ARM Mac. The basic three-step of: ./configure make make check each has a problem that needs...

  • 2025-06-19 : Finding when a line was deleted

    git blame is a very useful tool for finding out when a line in a file was added or changed. I mostly use it through Magit, and it’s helped identify when a regression was introduced on many occasion...

  • 2025-06-16 : What Actually Destroys Employment: A Multifaceted Analysis

    Employment destruction is a complex issue driven by technological advancements, economic imbalances, and structural changes in industries. While technology is often cited as the primary culprit, it...

  • 2025-05-31 : Compile-time vs. runtime with C++ templates

    I’ve been brushing up on C++ via the excellent Learn C++ online resource, and found templates to be one of the most interesting aspects of the language1. Templates are C++’s implementation of gene...

  • 2025-04-04 : SQL query planning

    I’ve been working my way through The Red Book, a reference collection of seminal database papers with commentary by the most prominent researchers of the past few decades. One of the most interesti...

  • 2025-03-01 : Generating classes in Clojure

    I rarely use the gen-class facility in Clojure, but when I do, I usually trip over one issue or another. After finally spending some time to read the documentation and peruse source code, I’ve got ...

  • 2025-02-06 : Better angels of our tariffs

    President Trump’s recent announcement of 25% tariffs on Canada and Mexico (and 10% additional levies on China) has set off apoplectic reactions from the financial press. The Wall Street Journal bla...

  • 2024-12-12 : All the wrong numbers

    One commonly cited reason for the Democrats’ defeat in the latest election is the poor economy. In the lead-up to the vote, 90% of voters rated candidates’ economic positions as “very important” or...