Mike's Blog

Notes to myself, shared with the world. A collection of projects, thoughts, and ideas — mostly about computers.

See all my blog posts, sorted by year, in my blog archive.

Subscribe
How to Find a Humidifier that Actually Works

How to Find a Humidifier that Actually Works

Unfortunately, it’s really hard to find good advice about humidifiers on the internet. A quick google search for something like “humidifier advice” seems to find mostly SEO spam – things like “5 Tips When Buying a Humidifier” that contain useless tips and affiliate links to generate ad revenue. On top of that, it’s pretty easy to find complaints about problems with various humidifiers (e.g. in reviews), but hard to find solutions. Humidifiers produce dust, they’re impossible to clean, they grow mold, or they don’t actually improve humidity. Even some of the most frequently recommended humidifiers, like the Honeywell HCM-350, are despised by some consumers.

I live in Colorado, a state known for its dry air at 5,280 ft elevation. And I like to use a humidifier at night to keep my nose and throat from getting dry when I sleep. Over the course of the past two or three years, I’ve done a decent amount of research (including this YouTube video) and I’ve tried a few different humidifiers. I think I finally have a sense of what works, and I’m hoping to make this information easier to find by sharing it here! If you want to use a humidifier but don’t know where to start, or if you’ve been disappointed with problems from a humidifier you’ve tried, maybe I can help you find something that works!

Continue reading…
Solving Wordle with Programming

Solving Wordle with Programming

Wordle is one of the latest crazes to hit Twitter. You might have noticed it – it’s the thing everyone’s posting with the yellow and green boxes. Wordle is a game where you have to guess the word of the day. Each time you guess, it’ll tell you if each letter appears at the spot you guessed, somewhere else in the word, or nowhere in the word. You win by guessing the correct word in 6 guesses or less.

Continue reading…
Iterating on Club Leaderboards

Iterating on Club Leaderboards

Iteration is an important part of my development workflow, and it’s an important part of the way we work at Strava. Over the course of my own career, I’ve learned to really value the process of incremental development. By shipping relatively small changes quickly, we can gather feedback, observe important metrics, and continue the cycle with targeted improvements. Ultimately, this helps us continually deliver athlete value on a rapid timeline.

Continue reading…
What are Dev Containers, What are GitHub Codespaces, and Why Should You Care? A Practical Intro

What are Dev Containers, What are GitHub Codespaces, and Why Should You Care? A Practical Intro

GitHub Codespaces made waves when GitHub introduced the feature several months ago. Codespaces promises a lot. It solves configuration headaches, it creates disposable environments, it can provide better performance than the laptop you’re working on, and it can better enable remote collaboration. I was interested to dip my toes in the water and see what it’s like to work with Codespaces, but that can be a little tricky to do if you don’t have access to a GitHub org that’s paying for Codespaces. Fortunately, as it turns out, there’s a very accessible alternative that’s free and easy to try, and it’s a great way to get a taste of what the Codespaces experience might be like.

Continue reading…
How I Modified a Thule Bike Trailer Hitch for an E-Bike with a 12mm Axle

How I Modified a Thule Bike Trailer Hitch for an E-Bike with a 12mm Axle

Thule makes several popular bike trailers, including the Cadence and Chariot. The trailers come with the Thule ezHitch to attach easily to most quick-release or solid axle wheels, and Thule also sells an adapter to make the ezHitch fit on thru-axle wheels. This covers most common bicycle setups, but it leaves out many e-bikes, which often use 12mm solid rear axles. And that’s really unfortunate because towing a trailer is a great way to use an e-bike! I figured out how to modify a Thule ezHitch to fit on my e-bike with a 12mm solid axle, and I’ll show you how I did it below.

Continue reading…
Dell Latitudes are Great Laptops (and they run Ubuntu well)

Dell Latitudes are Great Laptops (and they run Ubuntu well)

I’ve written before about my own search for The Ultimate Developer Laptop back in 2019. I chose to buy a Dell Precision 5510, but I also mentioned a few other laptop models that work really well with Ubuntu. Laptop series like Dell XPS, Dell Latitude, and Lenovo ThinkPad. Well, I actually own a Dell Latitude E7450, and I’ve recently started using it a lot more often. It’s a small, lightweight laptop made with high-quality parts, and it runs Ubuntu flawlessly. Mine doesn’t have a discrete graphics card either, so I don’t have to bother with graphics drivers in Ubuntu. The overall experience is super-smooth, and it puts a smile on my face to use this computer!

Continue reading…
Docks and Ubuntu

Docks and Ubuntu

Laptop docks are great! As I wrote about in The Ultimate Developer Laptop and My Home Office Setup, I’ve been using a Dell TB16 thunderbolt dock for about two years now, and I really love it. The dock makes it so much quicker and easier to connect my laptop to all the peripherals on my desk. And that’s important to me because it makes it feel easy to take my work to another part of the house or go work on the deck – I don’t feel tied down to my desk.

Continue reading…
DisplayLink Docks and Ubuntu

DisplayLink Docks and Ubuntu

Can you use a DisplayLink dock with Ubuntu? And, more importantly, should you? I recently researched this for a dock I wanted to buy for myself, and here’s what I found.

Continue reading…
My New Bash Prompt (PS1)

My New Bash Prompt (PS1)

I recently spent some time improving my bash prompt. I already had a lightly customized prompt, but wanted to see if I could find something I liked that provided even more information.

Continue reading…
Scalaing Club Leaderboard Infrastructure for Millions of Users

Scalaing Club Leaderboard Infrastructure for Millions of Users

Sometimes, we work on shiny new features that (we hope) athletes will notice and love. Other times, we need to work on back-end improvements that are unlikely to be noticed at all, but are usually just as important as the other things we work on. Some recent work I did for our club leaderboards fell into the latter category — unlikely to be noticed, but really important for the scalability and reliability of strava.com.

Continue reading…