Switching to Picom (Compton) on the MATE desktop

You may have read some convoluted (and outdated—Compton was abandoned in 2017) tutorials on the matter like MakeTechEasier's, or perused the excellent Arch Wiki article's page on it to some despair, but if you are just a layperson who installed the MATE desktop for e.g. Ubuntu 20.04 (Fossa) and wants a slightly faster (i.e. GPU-accelerated) environment, there is a workaround that doesn't take too long to set up: …

Python: Using XOFs for general-purpose Random

As always, one's own stack overflow answers make the best blog posts. In this case, we craft a version of random.Random with a few modifications: Pulls its data from an arbitrary stream (in our case, a DRBG such as a hash function or deterministic CSPRNG) Wastes noticeably fewer bits when generating random integers Has fixed code for .shuffle, on the offchance CPython ever changes theirs, and to make it …

JS: Tail-call optimized recursive setTimeout

If you're writing some code on a time-delayed-loop in JavaScript, there are 2 main options: setInterval setTimeout, recursively However, each has a potential downside: setInterval schedules the code to run at the given interval, regardless of whether the last invocation has completed. This means that, if the function takes longer than the delay to execute, it'll schedule the next invocation before the current invocation is finished, which can lead …