How is your knowledge of knots? Despite being an Eagle Scout, I would have to answer: very poor. While I’m confident that just about everyone knows the Overhand knot, the Reef knot (or Square knot), a shoelace knot (or more), and a Slip knot. As a Boy Scout, throw a Bowline into that mix. And yet, if I was tasked to tie a knot outside the context...
Introduction Back in 2013, Marc Scott wrote a great blog post: Kids can’t use computers…and this is why it should worry you. If you haven’t read it, I highly recommend it! In my opinion, Scott’s take was true in 2013, and even more true now, over a decade later. An arguably-too-brief summary of the post is: despite the...
Just ran into a scenario that reminded and motivated me to post a second “Hardware Highlight”. Once again, this falls squarely into the bucket of discovering that someone manufactures a little piece of (non-computer) hardware that just perfectly solves a particular problem, and it’s cheap! Once again, this is not an ad. If you’re like me, you’ve...
I subscribe to the idea that in many cases, people don’t need new laptops. In fact, in the spirit of refuse, reduce, reuse, repair, recycle as a means to help the world, one might argue that people not only don’t need new laptops, they shouldn’t get new laptops. I think this is particularly true in cases like mine, where most of my development...
Sometimes, you discover that someone manufactures a little piece of (non-computer) hardware that just perfectly solves a particular problem; plus, you can get for well less than $1. Today, I want to highlight one of my favorite examples of this type of discovery.
Some of you have likely heard of the Happy Hacking Keyboard (HHKB). It’s an expensive keyboard built for programmers, that has developed a small cult following of sorts over the years for some of its opinionated design choices (e.g., Topre switches). Eiiti Wada, the CS professor who collaborated on the design of the keyboard, is well known for...
I recently came across a good excuse to write another toy server in Rust. This time, rather than Axum, I wanted to try the new async Rocket. And, inspired by Matthias Endler’s zerocal, I also decided to give Shuttle a try.
I’ve been wanting a PC upgrade for a while, and after my brief experience with Framework, I decided to do a new workstation PC build. This article is inspired by Michael Stapelberg’s posts and contains the exact component list and some reasoning in case you’re considering a similar build.
If you are at a company which owns their own hardware to run GitHub self-hosted runners, you know this can save your company a significant amount of money. However, there are a fair amount of nuances to watch out for. In this post, one thing to watch out for when restoring a Python virtualenv from cache.
I wanted to run a simple benchmark of two common stacks as a way to get a sense of baselines between Python and Rust for a backend web server. For Python, a common choice is FastAPI and SQLAlchemy. For Rust, a common choice is Axum and SQLx. How do they compare?
When I heard Framework was finally releasing an AMD-based version of their 13-inch laptop, I was excited and almost instantly pre-ordered. The framework’s build quality and design is excellent. Unfortunately, I experienced something similar to this ongoing issue when using an external display, which is a dealbreaker.
My post about writing documentation for your house surprisingly ended up on the front page of Hacker News for the better part of 48 hours, ending up with 722 points and 319 comments at the time of this post. This was in and of itself very exciting for me, and it was also fun to see the traffic impact of that rank on my website. In this post,...
Not long ago a good friend of mine was hired to teach a “Freshman Success” class at a local high school. This was the first time she’d be teaching the class. She is an excellent teacher, and I’m confident she made an impactful semester. But, it got me thinking, what would I want to teach a high school freshman about to set them up for success?
Have you considered writing technical documentation for your house? As a first time homeowner, there have been numerous times where I wish I had some documentation to reference for a whole slew of scenarios. As an engineer, I write documentation all the time to answer these questions and build up a knowledge base other team members can refer to....
Just about everyone who maintains software has some opinions on how to manage releases. Some prefer fully automated release. Others prefer a slightly more manual approach, with custom automation for their preferred workflows. There are a variety of opinions on how to write release notes. Everyone has their own style. This post is sharing what my...
As a first-time homeowner, I heard that a home warranty could be a good idea, so I got one. It sounded great, with a similar pitch as insurance: pay a premium, and the warranty will cover up to $15,000! But, then I was shocked by the fine print. Check your policy for these dark pattern before you buy.
When faced with tasks in life, many people fall into two approaches: quality or quantity. Sometimes this is framed instead as fast or slow. There is some tension between the two mindsets—a gradient between “move fast and break things” and “slow is smooth; smooth is fast”. I find I typically lean towards the slower end of the spectrum.
As an engineer, you’re always refining which tools are in your toolbox. Here’s a big list of software I enjoy using in 2023. It’s different than in 2022, and I expect it will be different again in 2024. Everything in this list I probably touch within a month. Many tools are part of my daily workflows. Here they are in lexicographical order.
I’ve added a webring (via openring-rs) to this blog. For those of you who remember the webring in the older days of the internet, openring is a kind of a modern take at webrings.
Just wanted to make some notes on “Resolving the Great Undo-Redo Quandary”. It was high on HackerNews, but I missed the window to post.
I’ve recently been playing with Pipewire. Here’s a quick tip if you want to create a “virtual microphone” that you can use to link audio from programs like OBS to a virtual microphone for video call software like Zoom or Meet.
Part of the beauty of git is that it is distributed. I’ve often hosted projects on more centralized services like GitHub or GitLab. I’ve also hosted some repos on private servers using just plain git and ssh. But, for a while now I’ve wanted to host mirrors of projects on my own servers, but still have some access control and a web interface. No...
If you’re hosting a mumble server, it’s nice to get a server certificate so that your server is trusted by default. This means that people joining your server won’t have to manually accept a self-signed server certificate.
It’s always interesting how some toys rise and fall in popularity. Pogs were popular just before my time, but haven’t made a comeback. I grew up with the craze of Pokemon cards, and Magic: The Gathering, the latter of which seems to still be popular with my nephews. Rubik’s cubes seems to be another game that has lasting enjoyment, and my nephews...
If you use Zoom on Linux, you may have noticed that about a month ago, they pushed an update which scaled the UI elements to be very large. There are a couple of suggestions on reddit for how to address this.
Usually you want asynchronous communication for remote work. But when you don’t, consider Mumble as a potential tool for maintaining a community-like feel for synchronous communication and serendipitous interactions.
Cable lacing is a technique for managing cables by lacing them together or to harnesses using a series of running lockstitches. This is done using waxed cord or flat lacing tape, often made of nylon or polyester. Where most people reach for plastic or Velcro zip ties to do this job, I’ve found that spending some time to use string is quite...