A while ago I picked up a Sun Ultra 5 on eBay. For a long time now, Iāve been really curious about non-x86-based CPU architectures and finally decided that Raspberry Pis and other ARM devices were no longer interesting enough to sate that curiosity.
Having recently set up network-booting infrastructure in my homelab, I figured it would be fun to dive into the rather interesting Sun network-booting procedure to restore this old computer to good working order.
Anyone who routinely experiments with different operating systems (or frequently breaks their OS install) knows how annoying it can be to pull out a USB drive, flash it with an OS installer, and proceed with the installation.
At first glance, network booting an OS seems to be a headache all its own, largely due to decades of out-of-date and conflicting documentation each part of which is focused on a different process and frequently is OS-specific.
I promise you, itās actually very straightforward and will hardly take an afternoon to set up.
In October of 2023, I wrote the first article on this site. I outlined how I put together this site on AWS and discussed a few considerations I had, especially related to cost.
Now that Iāve been running the site for about a year and a half, I think itās a good time for an update.
In January of last year, Gunnar Morling announced the One Billion Row Challenge. Because I live under a rock, I didnāt learn about it until fairly late last year, but the challenge is seductively simple: calculate the min, max, and average of one billion measurements.
The top submissions of the official contest all ran in under two seconds, with the top ten running in less than ten seconds. The goal Iāve set for myself is to eventually put together a solution that solves the puzzle in under ten seconds.
Reproducibility is a real problem in software development. All too often, developers find themselves in a situation where something works on their coworkerās machine, but not theirs.
Picture this scenario: youāve just joined a new team that uses a tech stack thatās non trivial to set up (letās say GStreamer). Youāre new to this stack and donāt really know where to start.
They donāt have any CI set up.
They donāt use dev-containers.
Bonus points: the documentation is all woefully out-of-date and mostly exists within the brains of veteran engineers on the team.
As a result, it takes you the better part of a week to get a working dev environment. There must be a better way.