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…
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…
Monday, Jan 15, 2024
Figure 1: The laptop that was having a bad day with NixOS 23.11
More upgrade gotchas. Shucks. If everything goes well, this will be my last NixOS post. Read on to understand my frustration just a little bit more.
My main laptop is a Lenovo Ideapad Flex 5 — simple and cheap device. The keyboard stopped working in the early boot after upgrading to 23.11. The impact: I need to a USB keyboard around to unlock the device from a cold boot.
Continue reading…
Wednesday, Jan 10, 2024
Figure 1: Jamian · CC BY 3.0 Deed (link)
A frequent quip of the unix-beard is shebangs cannot contain multiple command-line arguments. Let’s break it down and see where this assumption no longer holds true.
What is a Shebang? The shebang is the line at the beginning scripts such as Python and Shell scripts that instructs the OS how to execute the script. Looks something like #!/bin/sh or #!/usr/bin/env python.
Continue reading…
Wednesday, Jan 3, 2024
Figure 1: Official image for 23.11
Upgrading my workstation to 23.11 wasn’t as simple as I was hoping. Ran into a few issues.
Performing the upgrade I’m using a flake, so all I should have to run is:
# First edit flake.nix so it points to release-23.11. nix flake update nixos-rebuild boot --flake .# (Then systemctl reboot into the new generation that includes a new kernel.)
Issue #1: pinentry package changes I can’t unlock any keys using gpg-agent (hence cannot use GPG keys for accessing my password database and send signed documents).
Continue reading…
Sunday, Aug 6, 2023
I’ve been using Nix for a year now. It’s been going fairly well, by the way. Here are some misconceptions I’ve had to overcome to become a more productive Nixer.
False: You can’t deploy Nix software to Docker or Kubernetes False. If you can push to a docker registry such as docker.io, you can deploy to Docker or Kubernetes using Nix.
You can use dockerTools.buildImage to build a docker image from Nix.
Continue reading…
Thursday, Jun 8, 2023
Source lives here. Play it here.
In a joint effort, Aliasing and myself have created a novel top-down action rogue-lite for the 2023 Spring Lisp Game Jam. Aliasing is an experienced game dev so in a way, I was along for the ride. Still, I managed to contribute some game mechanics, features, unit testing, CI/CD that deploys to super-rogue.workinprogress.top on every commit. This was a fun devops exercise for me - Aliasing mentioned to me that I helped keep him on track with the addition of automated testing and per-commit deploys to a website (it makes it easy to play-test pull requests).
Continue reading…