Making Haskell Talk to PostgreSQL Without Suffering
How to eliminate the three performance taxes that make database queries slow: encoding overhead, round-trip latency, and N+1 query patterns.
I'm Ian, a software engineer and entrepreneur based in The Netherlands. I'm an engineer at Mercury, a financial technology company that develops bank products for startups of all sizes. I write about engineering, cooking, and life.
How to eliminate the three performance taxes that make database queries slow: encoding overhead, round-trip latency, and N+1 query patterns.
Archived from Informatikr (originally published January 18, 2012). Describes how the Haskell Redis client Hedis achieves automatic and optimal pipelining by combining lazy I/O with a synchronous-looking API, getting the best of both synchronous and asynchronous approaches.
Local benchmarks revealed HTTP/3 can be 50-100x slower than HTTP/2. QUIC's userspace implementation loses to decades of kernel TCP optimizations on high-bandwidth, low-latency networks.
Type systems verify properties of programs. Production correctness is a property of systems. The gap between these is where the interesting failures live.
When you salt matters as much as how much you salt. Understanding the timing changes everything.
A look at the Trump administration\
An exploration of how institutional decisions and systemic policies can cause widespread harm with less accountability than direct violence, examining cases from healthcare to education where bureaucratic choices have life-altering consequences despite being treated as mere business decisions.
A poem
A collection of memories