TX A cohesive thought is a good starting point
-
2025-10-26 : core.async and virtual threads
In a previous post we explored the introduction of virtual threads into the JVM. One concern about virtual threads was pinning, the sticky association of virtual threads to platform threads due to ...
-
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...