Chosen links

Links - 24th March 2024

State of the Terminal

In this article, we’ll discuss some of the problems that terminal based applications have historically had to deal with (and what the modern solutions are) as well as some features that modern terminal emulators support that you may not be aware of.

PG Phriday: redefining Postgres high availability

What is High Availability to Postgres? I’ve staked my career on the answer to that question since I first presented an HA stack to Postgres Open in 2012, and I still don’t feel like there’s an acceptable answer. No matter how the HA techniques have advanced since then, there’s always been a nagging suspicion in my mind that something is missing.

But I’m here to say that a bit of research has uncovered an approach that many different Postgres cloud vendors appear to be converging upon. Postgres is about to be transformed into something few of us could have possibly imagined, and I think I see the end goal.

The violence of relentless positivity in the workplace

The relentless demand for employees to express themselves in ways that are necessarily inadequate for affecting organizational change, implicating others in unacceptable behavior, and voicing authenticity is, to my eyes, nothing short of a form of violence. I’d certainly take it over having someone work my kneecaps over with a lead pipe, but I assure you that vulnerable people have absolutely been harmed by this over extended periods of time.


The main reason Web Components aren’t going to save you from the JS treadmill, however, is that the JS treadmill is first and foremost a cultural product.

what mob programming is bad at

Proponents of pairing/mobbing attribute all sorts of benefits to it: higher quality code, more shared ownership, no more need for code review, even (in the most extreme claims) eliminating bugs entirely. Naysayers claim it slows team velocity down, is emotionally exhausting, and only works with very particular personalities. To which the advocates respond that if mobbing doesn’t work, it’s a problem with your company culture.

And things kind of go in circles from there, because you can’t go anywhere from “it’s a problem with the culture”. I’ve made this same mistake in the past too! “Company culture” is the “wizard did it” of software techniques: you can explain the success or failure of anything with “culture”. If you think the only possible problem with your $THING is "bad culture", then you’re saying $THING doesn’t have any problems, which means it’s snake oil.

Unexplanations: sql is syntactic sugar for relational algebra

This idea is particularly sticky because it was more or less true 50 years ago, and it’s a passable mental model to use when learning sql. But it’s an inadequate mental model for building new sql frontends, designing new query languages, or writing tools likes ORMs that abstract over sql.