Could be useful for very small LCD displays, or for fitting an entire movie script on your monitor at once. TODO: convert to OpenType Bitmap…
Old-school new-school: Optical Tape Archives
I had come up with this "cursed technique" a while back at work, when I needed to transfer a ~1GB file onto a quite old Linux machine that, for "security reasons" had USB mass storage access as well as the UDF kernel drivers disabled (and I was unable to access it over the network)…
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: …
mcrcon: auto-parse password
alias mcrcon='env MCRCON_PASS="${MCRCON_PASS=$(sed -n -e '\''s/^rcon\.password=\(.\+\)/\1/p'\'' < server.properties)}" mcrcon'
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 …
Javascript: Parsing query parameters
There are at least 2×5×7×3×3×1=630 different things you might unambiguously mean by "parsing" a query string in Javascript: …
Converting SVG to .ico with Python
Just a super rudimentary script that I made which hooks CairoSVG up to Pillow because apparently Firefox doesn't support SVG-formatted browserAction images
Python: "with epoll"
If you're using Python 3.4+, select.epoll
already supports context — you're clear to just write with epoll() as E: …
and everything will be OK. If not, here's how to shim it:
Is Gab a controlled-opposition operation?
This post will be sort of an "archive" of everything about Gab that gives me the heebie-jeebies.
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 …