Mike Kasberg

Husband. Father. Software engineer. Ubuntu Linux user.

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.

Iterating on Club Leaderboards

17 Dec 2021 · on The Strava Engineering Blog

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

06 Nov 2021 · Software Development

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

10 Sep 2021 · Tutorials

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)

12 Aug 2021 · Technology

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

09 Aug 2021 · Technology

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

07 Aug 2021 · Technology

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)

28 Jun 2021 · Programming

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

26 May 2021 · on The Strava Engineering Blog

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…

My Dotfiles Story: A Journey to Chezmoi

12 May 2021 · Technology

When you’re a developer (or perhaps even a normal power-user), you seem to acquire a bunch of custom config, scripts, and tools over time. Often, these are little snippets. A one-liner command alias that you paste into ~/.bashrc. A custom format for your PS1 prompt. A default setting for Vim.

Continue reading…

How to Install Pi-hole on Orange Pi / Armbian Boards

11 May 2021 · Technology

I’ve already written a review of the Orange Pi Zero. As it turns out, this little board is perfect for running your own Pi-hole! It’s probably even better than a Raspberry Pi! The cheapest Raspberry Pi you can get with a wired ethernet connection is the Raspberry Pi 1 Model B+, which is listed for $28.95 at PiShop.us (as of May 2021). In contrast, you can get an Orange Pi Zero 512MB for $16.99 + ~$4.00 shipping from AliExpress, or a couple dollars more with a case. (You can also find these items on Amazon, but shipping is more expensive there.) In total, you can save about 30% compared to the Raspberry Pi! Of course, the Raspberry Pi model Zero W might be cheaper, but isn’t a good choice for a Pi-hole – it loses some network stability and speed because of its wireless connection. The Orange Pi Zero, on the other hand, has a wired ethernet connection and performs great!

Continue reading…