Advent of Code 2024

Monday, Dec 9, 2024

Every December since 2015, Advent of Code publishes a Christmas Advent calendar loaded to the brim with challenging programming quibbles and trials. Advent of code can be solved in any programming environment, from Microsoft Excel to Rust, if you can write it, you can use it. In fact, my 2020 Advent of Code “challenge” (or “theme”) was a different language every day. Nope, I didn’t finish all 25 problems, though it was a heck of a lot of fun to practice Forth, various assembly languages, code golfing languages like CJam, various Lisps, Standard ML, even a real weird language called ZKL with a .

Continue reading…

Shellcheck and Emacs

Sunday, Sep 8, 2024

Previously I introduced the reader to ShellCheck. In this post I detail how I use Flycheck in Emacs and offer an Emacs function to automatically suppress Shellcheck errors at the current line. I’m an avid Emacs user and it follows that I’ve set up editor customization to exude the most from ShellCheck. If you, dear reader, are not an Emacs user, I cannot help you! Please, for the love of shell scripts, ensure ShellCheck works within your preferred text editor, lest you wish to ship edgecased buggy scripts!

Continue reading…

I hope you use ShellCheck

Sunday, Sep 1, 2024

In this post I hope to convince the reader on the merits of ShellCheck. Stay tuned for more posts about using ShellCheck. On Shellscripting Shell scripting is a of passion of mine. Preferably Bash (here’s a guide). (POSIX sh a.k.a. Bourne shell works too, albeit with more effort thanks to diminished versatility when compared to Bash.) The shell scripting language family has many warts as the languages were designed for both real-time interaction and automation programming.

Continue reading…

Update the NAS to 24.05

Tuesday, Jul 23, 2024

Turns out my NAS is vulnerable to the SSH vulnerability which allows anyone to log into your host with enough time, guaranteed. Dubbed regreSSHion (CVE-2024-6387), it affects a host of different OpenSSH version ranges. If one has OpenSSH 9.8p1 or later, one is totally fine. Unfortunately, the NAS is still on NixOS 23.11. The NAS remains on NixOS, but all my other devices have been migrated off to Debian Testing.

Continue reading…

CPUID instruction and table

Monday, Jul 15, 2024

Here’s a few notes on CPUID and /proc/cpuinfo. I made a table for quick reference. What is CPUID? On x86 and amd64 CPUs, there is a large swathe of differences in features available to the software. Some CPUs ship with AES encryption support, others ship with virtualization support, almost all ship with a collection of SIMD (single instruction multiple data) instructions. The name of the game is to reduce CPU execution times using specialized instructions.

Continue reading…

paste.winny.tech (Sillypaste) is dead

Saturday, May 4, 2024

What’s worse than a fire on a boat? A fire aboard an air balloon. Rip my fly.io app. Affected Apps: sillypaste-db A server hosting some of your apps has suffered irreparable hardware damage. Please migrate your Fly Machines to other hosts and restore volumes from any backups. All good things come to an end, including this pastebin project. If I find myself using it again, I may spin up a fresh database if that opportunity presents itself.

Continue reading…

Test your backups

Saturday, Jan 27, 2024

Figure 1: John from USA - CC-BY-2.0 Watch out, things break, stuff catches fire. Let’s talk about backups. Last post, I stated that I’m going to switch focus away from NixOS commentary. This is still the plan. Today, I am still committed to NixOS thanks to technical debt created - migrations aren’t for free. Until then, enjoy my NixOS posting :). Last fall, I wanted to reformat my laptop’s NixOS deployment from BTRFS (encased within LVM2 itself encased in LUKS) to a ZFS partition plus another swap partition.

Continue reading…