λ ryan. himmelwright. net


Eno River State Park, Durham, NC

Adding --baseurl Argument to My Website Pytests

When I run the pytests for my website, they run against whatever hugo server I have running. While writing a post, this is usually the same machine I’m writing from. When I commit changes, the CI pipeline automatically runs the tests on my gitlab CI runner node. The IP address of the server to test is determined by a BASE_URL constant variable defined in my constants.py file.

Changing the variable in this file, and not accidentally pushing it in git is super annoying. So, I finally sat down one night and moved this variable out of the constants file, converting it to an optional pytest argument.


Custom Resolutions in Gnome Wayland

The other week, I worked from Red Hat Tower (Raleigh). In that office, IT is testing out a few flex-workstations with an ultra-wide monitor (Samsung S65UA), which I decided to try out. It was the first time I used a real ultrawide monitor for an entire workday. Since then, I have continued to occasionally experiment with working in a 21:9 aspect ratio… on my 16:9 monitors.


The iPad Magic Keyboard Case

As mentioned in my previous post, I found myself trapped on the couch, bed, or generally away from my desk when my son was born. However, I still wanted to work on projects when possible. As a result, I started grabbing my 11” iPad Pro more than ever. Using the iPad for nearly everything, I began to wonder… should I get the Magic Keyboard to go with it?


My Obsidian Mobile Setup

I hate typing anything on my mobile devices. If I need to write more than a few words, I prefer to sit down at a computer. However… I recently became a parent, and suddenly found myself trapped on a couch at all hours. From my nest, I didn’t have enough space or mobility to use my laptop easily. So, I needed to start using Obsidian on my mobile devices.


Flashing My Ferris Sweep Using QMK

In my previous post, I detailed the build process for my ferris sweep keyboard. After building it, I needed to flash the keyboard with firmware. Like many custom keyboards, it uses qmk. Here’s how I flashed my 34 key layout on the ferris sweep.


Building My Ferris Sweep

After adapting to the 34 key layout on my ergodox, I felt comfortable enough to start the process of choosing and building my new keyboard. Following some research and deliberation, I selected and built a Ferris Sweep. Here’s how it went.


Building a 34 Key Keyboard Layout

Over the past year and a half, I have been using an Ergodox EZ keyboard and loving every minute of it. It does have a downside tough. As a 60% keyboard lover, it is quite large. So, I have been on the look out for a smaller, split keyboard (I can’t go back to non-split), that I can travel with and use for a portable setup. During this research, I was introduced to 34-36 key split layouts, but wasn’t sure if I could manage one. To test out the idea, I decided experiment with new layouts on my Ergodox…


Gnome Font Scaling Script

Previously, I was using the Pantheon desktop environment on Fedora 35 for my work laptop. I liked how well Pantheon handled font scaling with my 4k monitor, and I figured out how to get the accessability menubar item working in Fedora. This allowed me to easily toggle the scaling factor as I connected and reconnected to different monitors. With that said, I have recently starting using Gnome on the laptop, and miss that feature of Pantheon.


Intro to Python Type Hinting

I have been trying to code daily the last several weeks. Shortly after starting a project in Python, I decided to refactor it to use Python type hinting. Type hinting is a newer feature of the language that I’ve known about, but hadn’t yet used much. So, I gave it a shot.


Traded in my M1 MacBook Air for the 14" MacBook Pro

It’s been about a year since I traded my 16” Macbook Pro for a M1 Macbook Air. Well, I’ve done it again. Three months ago I decided to trade in my M1 MacBook air for a 14” M1 Pro Macbook Pro (Ugh, these names! 😂). Two months ago, the 14” was delivered and I finally made the physical swap. Similar to last time, I didn’t initiate this trade because I had any issues with my current MacBook, or even needed the newer one. But once again… I’m glad I did it.