Jason's Writing

Occasionally I write about something I’ve done or my thoughts on a particular topic.

Whenever I play Spot It!, I find myself wondering how each card manages to share exactly one symbol with every other card. There must be an algorithm behind it; figuring out how to distribute the symbols manually would be a nightmare. (There are 57 total symbols, 8 on each card). Well, the other day, after a few games with my son, I sat down with a pencil and paper to figure it out. …
About a year ago, I subscribed to the weekend edition of my local newspaper. It’s been a great way to stay informed, and it’s kept me focused primarily on my community. I can’t recommend reading your local paper enough. …
Yesterday I started building a holiday light map. I was putting up Christmas lights and thinking about how my family and I enjoy driving around in the evenings to see other people’s decor. It occurred to me that it might be nice to have a map marking the particularly good light displays. My brain, always eager for a little coding side project, immediately went to work, considering the possible features and narrowing in on a minimal, easy to build set of capabilities. …
Hyperlinks are a key feature – perhaps the key feature – of the Web. They allow separate pages, from separate authors, to reference each other. But whenever I read blog posts or news articles or anything that I’m not merely skimming for an answer, I find all the hyperlinks incredibly distracting.
I’ve always been fascinated by technology; it’s so shiny and exciting, so full of potential uses. But sometimes those many uses are too much. Sometimes we use technology simply because it’s there, and it gets in the way of what we truly care about doing. As my time and mental energy have become more scarce, and as technology has become more addictive and manipulative, my attitude towards the digital world has changed.
I taught an undergraduate computer networking course this summer. Since it was my first experience as an instructor, everyone who hears about it seems to ask the same question: “So, do you like teaching?” …
In this day and age, we’re fortunate to have access to just about any information with a simple web search. While the online treasure trove of knowledge is incredibly useful, it can be a pain to sort through all the content and find something that’s accurate, specific, and up-to-date. I’ve recently had several experiences that have reminded me how wonderful it is to have high quality, easily available, curated documentation. …
Recently, the U.S. Federal Communications Commission (FCC) established a process by which consumers can demonstrate that, contrary to what their carrier claims, they don’t have adequate cell service in a specific geographical area. In other words, you can prove that Verizon (or whatever carrier you use) really does have terrible service in your neighborhood despite what their coverage maps say. …
I grew up reading all the time (thanks, Mom!), devouring series like Harry Potter, Eragon, and The Hunger Games as fast as I could get my hands on them. As I got older, though, I began replacing reading with other activities like socializing, tinkering with computers, or even just doing homework; by the time I finished my undergrad, I was only reading a non-assigned book every year or two at best. …
The amusing story of how trying to be clever got me blocked from accessing all ACM pubications.
When I tell people that I’m working on a Ph.D. in computer science, they often follow up with a logical question: What are you hoping to do with that? Since I’m still not entirely sure what job I’ll end up in, I typically have to do some explaining. This post attempts to articulate my reasoning for pursuing a Ph.D., both for curious friends/family and for my future self, who will surely question the decision many times.
It didn’t take long after getting my Keyboardio Atreus for me to try out home-row mods. I used them for several months and really wanted to like them – it’s so convenient to have all your modifiers on the home row – but I could never get the timing configuration right. In their place, I discovered combo mods, which are almost as convenient and much less error-prone.
I bought a Keyboardio Atreus in early 2021 – here are my thoughts on it.
Armbian’s Ubuntu 20.04 server image for the ROCKPro64 works great – even the ZFS DKMS module installs without a hiccup! However, it has no built-in fan control; this post explains how I got it set up.
For the last year and a half I ran my personal website using Grav CMS with my own Webfolio theme. However, it’s now a super simple static site built with Hugo. In this post, I explain why I decided to make that switch.
After a failed attempt at self-hosting a few years ago, I eventually decided to give it another shot. It’s been a fun, satisfying adventure, and I highly recommend you try it as well.
I bought a ROCKPro64 single-board computer to use as a home server. Once it arrived, I quickly discovered that setting up ZFS on it was going to be a bit tricky. After a few hours of troubleshooting, I finally figured it out – here’s how to get it working.
I wrote a basic C++ linked list implementation to sharpen my skills, and I quickly found myself in need of a good way to test my code. I found Catch2, a simple C++ testing framework, and then used Gcov to ensure that my tests were covering all the code. By no means am I an expert, but I’ll go ahead and share what I’ve learned so far.
When I found myself sitting at a computer writing code for 40 hours a week for the first time, I started looking for ways to make my computer work more comfortable and efficient. After a bit of research, I figured out how to remap a modifier key (e.g., Ctrl, Alt, etc.) plus i/j/k/l to the arrow keys.