λ ryan. himmelwright. net


American Tobacco Campus - Durham, NC

Running VMs with VirtIO 3D Acceleration

While on vacation the other week, the only laptop I brought along was my macbook pro. That being said, I still wanted the ability to jump into Linux while I was away. I needed to virtualize. I’ve used VirtualBox in the past, and while it’s fine for running headless installs, I find that it is not a great experience on macOS when trying to run a full desktop environment. So I downloaded the free trial of parallels desktop 15, and honestly… it was great. Afterwards, I was motivated to improve the experience of VMs running on my (Linux) desktop.


PIA Client Interfering with Podman Containers

Earlier this month, I woke up and tried to start working on my previous post, but quickly hit a snag. I was unable to start the toolbox container I use while working on my website. In fact, none of my podman containers would start.


Running my Website Tests in Parallel with Pytest-Parallel

Not too long ago, I added some basic testing for my website. Now when I push changes to my website’s source repo, automated tests run to verify that the site’s pages are being served, and that the (markdown) links are not broken. It works well enough through the 450 or so generated tests. However, one recent afternoon I realized… I should parallelize them.


Creating Systemd Unit Files using Ansible

In my previous post, I created a systemd unit file to define an application as a service, and configured it to auto-start on my server. I’ve been making a big push to define the provisioning of all my homelab machines/VMs using automation. So the last step in setting up my FoundryVTT server, is to automate the process. Fortunately, creating a systemd unit file is quite easy to do using ansible.


Auto-starting Applications with Systemd Services

Recently, I’ve been hosting a Foundry VTT server (a nodejs app) in a virtual machine on my home network. I would start the application inside a tmux session, by executing a CLI command which worked… fine. However, if the VM restarted or the applications crashed, I had to ssh in and manually run the command again. So, to better automate this tedious task, I created a unit file to define the foundry server as a systemd service. Here’s how.


My Three Required Gnome Extensions

Gnome is the default desktop environment for many Linux distributions, including my distro of choice, Fedora. When Gnome 3 was first released, I had to install a bunch of extensions to get a functional experience. These days, between becoming more familar with the Gnome workflow, and the Gnome team ironing out the rougher edges of the DE, I don’t need nearly as many extensions to get going. However, there are still three which I do not think I could live without.


Trying out Notion

Over the past year or two, my notes and planning systems have been a bit of a jumble. It started when I attempted to switch everything to joplin notes… only to eventually switch back to org-mode (for my work notes) a few months later. Around that same time, I also started using trello to organize my personal and home life task boards. This system has worked well, but feels very disjointed. My notes, goals, and tasks are spread all over the place. This might all be about to change. I’ve started using Notion.


Switching Hugo's Markdown Handler

While writing my previous post, I hit a frustrating issue. After saving a large chunk of the draft, it appeared that hugo wasn’t rendering the new additions. I verified on several computers, including fresh installs. None of them would generate the updated post, despite the source files containing the changes. Ugh.


Rx-580 Upgrade

Earlier this year, I noticed that my desktop seemingly did not connect to my monitor. I used the computer mostly as a server, remoting in via ssh, and didn’t think much of it. I assumed it was either a mis-plugged cable or a configuration issue. A few months later, I started to game a bit more and wanted to use my desktop as a gaming machine again. That is when I realized… it was an actual issue. Long story short, my desktop now has an rx580 instead of it’s old rx560.


Ansible Quickstart

A long time ago, I briefly explained how to configure Ansible, in a post about building a raspberry pi cluster. All in all… it was by no means a great introduction to the basics of ansible.

A month ago, I drafted a progression of examples with notes, to teach a co-worker the basics of writing and using ansible roles and playbooks. After reading through them, I realized it wouldn’t take much to turn them into an actual Ansible quickstart post. So here we are.