I have one for $7.68 ($2.56*3). Alas, it was for some minor typos and grammatical errors in SPOCS [1], not "real" math errors in TAOCP. Never plan on cashing it in though. And I can't remember where I stashed it, so there's that too... :)
As the article states, BQL has been around since 2011 so it's most likely available - you can grep for CONFIG_BQL in your /boot/config-* file to confirm.
I'm not aware of any up-to-date list of drivers that support BQL. You could try something like [1], but I'm not sure if it will find all relevant drivers.
from the abstract of a WIP followup to this article (co-authored by stonebraker and andy pavlo) - "We revisit this issue and argue that little has changed since 2005." [1]
i spent a couple of memorable weeks a few decades ago between jobs reading up on erlang, including joe armstrong's (RIP) wonderful phd thesis. when i started, erlang looked "strange" (i hadn't done much prolog in uni). but after being immersed in erlang for a few weeks, when i returned to look at some C/C++ code, they looked positively hideous compared to erlang's higher level functional, and prolog inspired pattern matching syntax.
it supports different commit modes (see [1]) - nosync, async, and sync. you can choose the more expensive but safer async or sync modes if you're willing to tolerate higher commit latency.
i submitted it ~4 days ago with the title "Ken Thompson's 75 year project", but the title was evidently too boring to gain any traction :) (like some others have commented, the raspbian os "revelation" was the least interesting part for me too)
it was cool to hear that he's still working on chess endgames, an interest which goes back many decades too [1].
getrandombytes() in librandombytes uses getrandom() or getentropy() or /dev/urandom (in decreasing order of priority), while getrandombytes() above uses /dev/urandom exclusively.
yes, we use BEGIN IMMEDIATE with a 2 second busy timeout. that has a worst case wait time of 2 seconds, but the 95th percentile wait time is around 100 to 1000 microseconds and the 99th percentile is around 1 to 10 milliseconds. for a high throughput and/or low latency service, a worst case wait time of 2 seconds might be unacceptable, but it's fine in our case.
> Rob Pike didn't really name my favorite editor after me.