What's notable is that the Rifters trilogy just progresses in intensity and in the overall gloom. Starfish is light reading compared to Behemoth, which is sitting for me on the last chapter, because I couldn't finish it.
HN user
arronax
Of course there are "bad queries" where you query for things you don't need, join on the wrong columns, etc.
You can inject a hint into the query, forcing it to use a plan that would not otherwise be used, for example. Although, fixing a plan through a baseline is way cleaner. Mostly, I just meant that as an extreme example of something you can do, not something you should do. And yes, the only reason to re-write the query is when the query itself is bad in that it asks for unnecessary data or misses a join column. Admittedly, that's an extremely dirty and dangerous thing to do, as it uncouples app from db, but it is possible.
While pinning a single plan or disabling parallel operations is a valid quick fix, I'd recommend trying to actually understand why the optimizer is doing what it's doing. It's all "just" a simple math of execution node costs. The problem with plan hints, or disabling parallel, is that unless you have a perfect understanding of where the data will be in, say, a year, you may just have created another problem, just delayed. Some column will go from 10 to 10,000 unique values and your good plan will become way off. And at the end, perhaps you just need to tell PG that an index access is not 4 times as expensive as a plain heap scan.
ps fighting the optimizer is the worst
Oracle DB is, or was, very close to that with its query profiles, baselines, and query patches. It wasn't automatic back in 2014 when I last worked on it, but all the tools were there. Heck, it was possible to completely rewrite a bad query on the fly and execute a re-written variant. I suppose it all stems from the fact that Oracle is regularly used under massive black boxes, including the EBS.
Also, the problem with automatic indexing is that it only gets you so far, and any index can, in theory, mess up another query that is perfectly fine. Optimizers aren't omniscient. In addition, there are other knobs in the database, which affect performance. I suppose, a wider approach than just looking at indexes would be more successful. Like Ottertune, for example.
I co-authored a (technical) book entirely in vim.
The problem for me was that distraction was still one alt+tab away. Ultimately, what worked for me best was writing in very boring and rather inconvenient conditions. Waiting at a car wash, or in a car shop worked best.
Our developers started using RR and had some good results. Not a silver bullet, but a nice addition to the toolbox. Some writeup here https://www.percona.com/blog/2021/04/12/replay-the-execution...
One of co-authors here. Yes, I expected that to be a huge problem, but, at least for Ubuntu (or, I guess, deb packages), it seemingly wasn't. Which is a pretty big deal, as I doubt a lot of people compile their own PostgreSQL. Trying to push PG on ARM platform to a limit would be an interesting exercise, though, and could necessitate a custom build.
I had experienced loss both of smell (completely, kitty litter smelled like nothing) and taste (not completely). You still sense if something's salty, for example, but it's very remote. As an anecdote, the aubergine paste, which is usually off-putting and bitter to my taste (but smells nice) started tasting like nothing, really, so I happily ate my wife's supply. Soy sauce also seemed far less salty than usual. Taste remains, but very far, and smell is just lost. Very bizarre experience, would not recommend.
There are also MySQL operators from Oracle, Presslabs, and Percona. Vitess is much more than just MySQL in k8s, and not everyone will be able to switch to it easily (if at all).
Not sure how closely it can simulate a siege at Helms Deep, but Stronghold back in 00s seemed to be quite good overall at depicting siege warfare.
bluetooth/pulseaudio not snappy and reliable
Without patching of pulseaudio, microphone on a bluetooth headset doesn't work anyway. I'd take not snappy but working any day, really. Maybe in Pulseaudio 14 this will get resolved, there are a couple of proposals/drafts already.