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.
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.
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.
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.
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!
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.
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.
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
custom format for your
PS1 prompt. A default setting for Vim.
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!