I use a lot of old machines. I'm typing this article on a Dell D630 running a Core 2 Duo T8300 with a whopping 4G of RAM. I have a second one with a T7700 that's otherwise identical. I love these old systems for a lot of the same reasons …
read moreMinified JS and Mathematical Notation
I studied computer science in college. I earned my BS in 2019, and entered the workforce working for a big company on an embedded OS. Quite honestly, while some of the classes that I took provided some useful information and set my mindset in a positive direction at school, there …
read moreAdventures in Keyboard Layouts: Workman
I've been using the Workman keyboard layout since 2019. It's been a pleasant experience, for the most part, and I've learned a lot about what makes a good keyboard layout and why people use them. But why did I choose to uproot my own muscle memory? Why did I choose …
read moreShould I Have Used Hugo Instead of Pelican?
Shortly after I finished transitioning to Pelican, I started to do some research about what the most popular static site generators are. Normally, I would advise doing this the other way around, but my main reason for the shift was familiarity with Pelican combined with a desire to write more …
read moreShell Prompt Update
As you can tell from the subtitle of this blog, I don't use Bash anymore. In fact, I switched away from Bash a long time ago now, for a myriad of reasons. I'll probably touch on some of those here, but the basic point is that my old post about …
read moreDesktop Configuration Management with Ansible... and Git!
A couple months ago, I wrote about how I had started using Ansible for desktop configuration. I still do, but it's a bit more nuanced now than it was then. There's a few reasons why, but really the most important one was that making any sort of configuration change ended …
read moreAndroid Studio is a Disaster.
Android Studio is a great example of what not to do when building a development environment for a device.
To be clear, they get some things right, but by and large the whole system is kind of bad, and encourages experimentation while simultaneously punishing it.
A Good Toolchain
Before I …
read moreThe App-Light Lifestyle
Sometimes, you can say a lot with few words. Sometimes, you can also do a lot with few apps. I don't use big apps like Facebook, Twitter, Instagram, not just for privacy reasons, but because they don't fit my lifestyle. I use email, a browser, the camera, a calendar, and …
read moreRust in the Kernel: Is It an Issue?
Starting this one with another disclaimer, I'm not a Linux kernel developer (though I have worked on kernels before) and my knowledge of Rust mainly lies in application programming. If that's a deal breaker for you, skip this one. If it's not and you want to hear yet another random …
read moreTrying out Aerc for Email
My first interaction with email on the command line was back in high school, when I first started playing around with Mutt. Honestly, I liked it a lot and it did a lot of things that more "fully featured" email applications didn't seem to get right. It was fast, launching …
read moreThe Case for Tiny Software
Quick disclaimer before getting too far, this article is targeted at a slightly less technical audience than usual, so if I'm explaining a lot of (what you consider to be) basic stuff, that's why.
Today's world is filled with "Apps" which run on "Phones". Let's just think about this for …
read moreReduce, Reuse, Repair, then Recycle
A common saying among people in the modern world is a sort of slogan for encouraging people to send their used things to the recycle bin rather than the trash, "Reduce, Reuse, Recycle". Unfortunately, those first two steps often get ignored, which is exactly what leads to that phrase being …
read moreWhy Am I Prototyping the Habit Changer in Rust?
I got asked recently why I decided to make a prototype of something in Rust, and I'm not happy with how I responded. There's a lot of reasons why I'm not happy with my answer, but the crux of the matter is that I didn't fully represent the circumstances that …
read moreTesting Novel Software Configurations Using QEMU
Since late 2009, I've been volunteering at the church I attend. I started by simply running the mixing board and recording the church service audio, but as time went on my role has expanded greatly. I've since started managing some of the computer systems surrounding the A/V system, for …
read moreDev Log 3: Proof of Concept
I took a week's break from the habit changer app.
Honestly, I didn't mean to, but life happens I guess.
Today, however, I spent the majority of the day working on the prototype, and I have something that mostly works! There are a few things I want to mention first …
read moreBlogging via Pelican and an Intro to Static Site Generation
I've posted a series of articles talking about my transition away from hand-coded HTML to Pelican. However, in all of this, I haven't really talked about my own workflow and how I handle writing and posting to the blog. Now that I've more or less finished transferring everything over to …
read moreOrganizing and Tagging Photos
I take a lot of photos. I like to think I'm OK at it, but for a long time I always stumbled when it came to organizing them properly.
In the beginning, I used Shotwell to pull photos off my camera and into folders. This worked OK, but Shotwell is …
read moreVirtual Memory Inspired File Management
In my opinion, this is one of the coolest tools I've ever made.
Maybe you agree, maybe you think the desktop site is cooler, but this pretty much universally solved a whole load of problems I was facing all at once, and it's not even that complicated under the hood …
read moreTransition to Pelican: Part 3
The desktop site is here!
This was the original form of my blog when I first ported it from Blogger to GitHub Pages in 2018. However, the history goes back further than that. Originally, this was the interface created for the computer science club site at my university. We were …
read moreHabit Changer Dev Log 2
Hello again, it's been a few days!
I actually took somewhat of a weekend break in the middle there, but now we're back with more habit changer work. However, during that time I managed to complete the data structures for the core habit system, a prototype algorithm for how to …
read moreHabit Changer Dev Log 1
In my last post, I talked about a new app I wanted to develop, and while I said the next post would probably be the post after next, here I am one day later with my first draft design of the app.
Basic Idea
To recap yesterday's post, I want …
read moreHabit Changer Dev Log 0
Since I have a blog, and since I write software, I figured I should finally combine the two.
Wow! What uncharted waters!
In all seriousness though, a friend of mine asked me months ago to write a diet app for him that would track more than just calories. He wanted …
read moreWhy Oh Why Did I Fork DWM?
I started this fork a long time ago. In college, I wanted to change the color of the titlebar as my laptop battery's state of charge changed. I wrote this after patching a bunch of things, and after discarding some of the formatting that the Suckless folks …
read moreDesktop Configuration Management with Ansible
If you read some of my other articles, you might be able to guess that my systems are all set up in a pretty unique and custom way. I use my own window manager, a copy of Emacs that's heavily customized, I use my own photo system, while this post …
read moreManaging Tasks with Org Mode
I have ADHD. Personally, I see this as somewhat of a mixed bag, and I know for sure a number of other people with ADHD see it the same way. It's not so much an inability to focus as it is a difference in how focus is achieved. It means …
read moreTransition to Pelican, Part 2
Pop OS and Updates
I recently bought my grandmother a new PC, just this past year. She had been using a mid-2007 iMac 24". The Mac enthusiasts among you may realize how out of date this is. It last received software updates in 2018, and ever since it's whined about a pending OS update …
read moreRunning an Unfederated XMPP Server For Fun (but Not Profit)
Since late 2018 or early 2019, I've been running a personal XMPP server. It's not federated, and there's only about 4 or 5 users, but I've learned a lot in the process of maintaining it.
Background
When I was in college, I had a number of friends who would text …
read moreGNOME Shell is a Great Tablet UI
GNOME Shell is a pretty great tablet UI. It's not the most polished one ever, but it works really well, in spite of targeting desktop first these days.
I honestly wish I could get it on my (up-to-date) Surface RT.
This all started from a post I did a couple …
read moreWhat Happened to the Tablet Revolution?
Not that many years ago, there was a significant amount of worry from people in the PC world. There was a new, disruptive marketplace segment that threatened to wipe out the PC world entirely. The tablet takeover is all but irrelevant now, and PCs remain (in one form or another …
read moreTransition to Pelican
In my last post in the tech blog, I talked about how blogging tech is hard, and generally whined about how I managed my site for way too long. My conclusion was that it was my own fault and I should do better. Eventually, I implemented the changes I had …
read moreBlogging is Hard.
Update (2022-08-23): This post was written long before I started using Pelican, and the entire post was originally shown via the desktop site. If you see mentions of the technology showing this post/blog and you want the full experience of what that looked like (and you're on a desktop …
read moreZsh Scripts are Dumb
1. Background
As you can probably tell by the existence of this blog, I’m what most people in the tech world call a "power user". I make use of all sorts of little hacks and tricks to make my computers run faster, and do what I want rather than …
read moreLisp: Recursive Glory!
Recently I've been toying a lot with the idea of doing more lisp programming to solve some of the tasks I generally would do with Python or BASH. Lisp often gets written off as old or weird, and while it is old and weird, it's certainly not past its usefulness …
read moreCode Style and How to Write for Reading
Recently I was browsing through YouTube, and it kept suggesting this video about programming mistakes, with one of those paper-cutout like CG thumbnails. My first impression was that it was one of those "let me show you how to code" videos, like so many of YouTube's suggestions to me are …
read moreANSI Color Block Graphics
Before reading, please note that anything surrounded by 'm/ and /' is to be interpreted as regex. If you are not familiar with regex, or REGular EXpressions, please visit this CodeProject page. If you know a little, but don't know the syntax I'm using, visit the PerlDoc page for regex.
Introduction …
read moreWeb Programming a Desktop with Javascript
One of the things which most people in web programming have to deal with is the problem of interactive content. The oldest methods for solving this were through the use of Java applets, and Flash content. There are other ways to accomplish this too, with software such as QuickTime, Real …
read moreMaking Bash Prompt you with Information
In the world of Linux and Unix, one of the most powerful tools available is the command line. Those of us who are lucky enough to have Bash at our disposal will probably know of many of its varied powers and features. These include the ability to modify and rerun …
read more