All Articles

Check cluster size of FAT32 disk in Linux

After venturing into retro gaming by way of an Anbernic RG35XX and a PowKiddy v90, I decided it was time to dust off my old Nintendo 3DS XL and get it a bit more battle ready to do some retro gaming. Part of the spring cleaning was to upgrade the […]

Time zone conversion with PHP

I do not like time zones. They’ve been a fairly regular pain point in my career, especially early on. There was even a time when I built something and totally forgot that time zones existed and well, it was a mess. For the most part, time zones don’t cause me […]

Parsing arguments in shell script

I write a good amount of shell scripts, but I tend to use arguments pretty sparingly. Because of this, my implementation to handle said arguments tends to be pretty weak. Some good examples are the arguments needing to be passed in a specific order and a lack of using long […]

Schedule queries with MySQL

While researching the most performant way to delete a high volume of rows in MySQL, I happened upon some syntax that I had never heard of before. This syntax allows you to run a query on a schedule, without the need of any external code. As a rule of thumb, […]

Removing unneeded Firefox ESR language packs on Debian

I went to run an apt upgrade today and came to realize that I had over 60 language packs for Firefox ESR installed. Seems somewhere along the way I accidentally installed these language packs, or perhaps installed the meta package firefox-esr-l10n-all that pulls in every single language pack that’s available. […]

Fastify not working in Docker

I’ve been using Express since it’s inception and while I’ve never really had any issues with it, I’m also always up for messing around with something new. That something new (to me at least) is Fastify. A recent project of mine included building an extremely lightweight API to power some […]

EmuDeck not working after renaming micro SD card

Recently, while cleaning up the SD card I use on my Steam Deck, I decided that the name “UNTITLED” wasn’t good enough, and that I would rename it to something more descriptive. What I didn’t anticipate is that all of my EmuDeck / Emulation Station games would cease to function. […]

Horizontal and vertical alignment with Scriptable

While I am a huge fan of widgets on iOS, most apps miss the mark in terms of what they offer via their widgets. Because I’m not one to settle, I have been on a quest to build my own widgets so that I can get exactly what I desire. […]

Wait for open port before running command

There comes a time in every software engineer’s life, when they need to run a command, but only after a port has been opened by a completely separate process. Sure, you could sit around and wait for the port to open up before running your command, but what’s the fun […]

Enabling and disabling unattended upgrades on Debian and Ubuntu

The unattended-upgrades package on Debian is absolutely fantastic. It takes cares of the stable packages that can be installed safely automatically, leaving you with fewer manual upgrades that you have to deal with yourself. Sadly though, I ran into an issue recently where the unattended-upgrades script was running in the […]

git error: path is unmerged

While attempting to update my dotfiles locally on my MacBook Pro, I ran into a bit of a dilemma with one of my files that I had edited but never committed. Not a big deal, I can just run git stash and apply the changes again later. No such luck […]

Key is stored in legacy trusted.gpg keyring

One of the more noticeable things to come out of me switching from Arch Linux back over to Debian, is that I’m rarely running into any issues. Because I’m not running into any weirdness, it’s been at a detriment to my blog, as my time on Arch was a constant […]

2.4 GHz devices with Eero Mesh Wi-Fi

I’m a big fan of our Eero Mesh Wi-Fi 6 setup, even with the subscription service that will probably eventually lead to replacing it with something that doesn’t have an up sell like that. It’s been one of the best setups we’ve had, handling both multiple story and single story […]

My favorite tech purchase of 2022

I’ve gotten my hands on some great tech items this year. Venturing into smart garage door openers, a handful of new Apple goodies, and even leaning into “play” a lot more thanks to Valve’s Steam Deck. While those items are all well and good, and have been serving me quite […]

Node.js REPL history

Node.js has included a persistent history with it’s REPL (real-eval-print loop) for quite some time now. It’s a fantastic quality of life feature, and it even supports reverse-i-search. The other day, I got to wondering, where the heck does this history even live? Turns out, it’s just living in a […]

Disabling Command+Q for macOS Terminal

I don’t just use the command-line, I live on it. With doing some much on the CLI, I always have the Terminal app running, regardless of my host operating system. Sadly, on macOS, I do find myself accidentally hitting Command+Q from time to time, which abruptly bails me out of […]

Show hidden files with tree

The tree command is one of my favorites. As the name of the command suggests, it simply lists the contents of a directory in a tree-like format. Think of it like ls *, which outputs the contents of each directory, but instead of a flat list, the files are shown […]

Convert a buffer to a string in Node.js

Buffers are powerful stuff. They make it easy to work with raw binary data, and streaming data can leverage them. Many third-party Node.js dependencies leverage buffers in one way or another, especially libraries dealing with data transport. So what the heck are we supposed to do with a Buffer when […]

Generating UUIDs with MySQL

Universally unique identifiers (UUID) are one of my favorite things. They are easy to generate, without collision, and they make it easy to expose an identifier to end users without it being so obviously guessable, like an automatically incrementing integer value. While they are fantastic, the ability to generate one […]

Reinstalling packages on Debian and Ubuntu

My recent migration from Arch Linux to Debian (testing) has been an extremely smooth one, but not without it’s issues. A small issue I ran into early on was a problem with totem, the video app, crapping out. While I’m not sure exactly what the heck went wrong, the quick […]

No sound from iOS games without headphones connected

While I’ve had iPhones and iPads in the past, and have been back on iOS from Android for the last year, there are still some things that I’m ignorant to. One of those things, is why most of the games I played on my iPhone only played sounds when I […]

Like query operator in Jira's JQL

Jira’s query language (JQL) is a query language similar to SQL. That being said, the syntax for doing something similar to SQL’s LIKE statement is nothing like how you’d do it in SQL. While deviating from the syntax that was used for inspiration isn’t uncommon, it’s quite peculiar that the […]

How to install Node.js 19 on Ubuntu 20.04 LTS

Periodically, I check my site analytics to see which posts are getting the most traffic. It never ceases to amaze me at how many posts documenting older versions of Ubuntu, as far back as 16.04 LTS, still receive regular traffic. While they may not be evergreen forever, there’s something to […]

Apple TV remote volume not working

We love the Apple TV, but ever since upgrading to the Apple TV Siri Remote, we’ve run into situations where the volume controls just decide they are done working. The speculation is that it has something to do with the hand off to and from Apple AirPods somehow messing things […]

A month after switching to Debian, I know I made the right call

A bit more than a month ago, I wrote about switching from my beloved Arch Linux to my other beloved, Debian. After taking the month of September to settle in and figured out if I had made a horrible mistake, I’m happy to report that I feel like I made […]