λ ryan. himmelwright. net


Eno River State Park, Durham, NC

Automated Nativefier App builds

Most applications we use today are fancy web pages, wrapped up in a desktop shell. Many people even forgo desktop builds, instead opting to run webapps simply as another tab in their web browser (Ex: Slack, Discord, Notion). Personally, I prefer to have dedicated windows opened for my essential tools. As a result, I love using nativefier to create desktop versions of my favorite web-based applicatons. The only problem is… it can be a pain to setup. Lets fix that.


Decided to get an Ergodox

For the past month, I have been learning to type… on my new keyboard! I decided to purchase an ergodox-ex and have been using it ever since. I still love my HHKB, so why did I get a new keyboard? And why… the ergodox?


Setup Optfine with Minecraft Flatpak Install

Over the past few months, I started to play Minecraft (Java) on my desktop again. After upgrading my graphics card, I wanted to install some shaders. However, unlike when I was in college, I now install and play minecraft using flatpak. While flatpak makes installing minecraft convenient, it also complicates enabling mods like Optifine. So… here’s how it’s done :) .


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.