Ross's Blog

My long term compute plans

Addressing my last Linux post

Last year I posted about not wanting to do Linux advocacy anymore. I stand by that statement because Canonical and Redhat’s tyranny over the landscape has been even more aggressive since I last wrote. The twin combination of people who want to infect my system with Rust and replace X11 with Wayland have hit a critical mass and unfortunately according to at least one pull request I’ve read, it seems that Debian is looking to make uutils the default.

I love Debian and it’s little cousin Devuan. I’ve run both, and I’m a big fan of both. I still use Mint LMDE for any projects I run where I need to make use of my graphics card because there isn’t a system as rock solid as Debian. But as I iterated in that last post, I’m done dealing with groups that tell me what to run on my systems.

So I’ve been doing a lot of searching and thinking about what I want to do.

Valid Options

As I see it, there are a number of realistic options (Sorry Linux from Scratch, I’m not doing it):

Gentoo

Gentoo is a source code based distribution and the basis of Chrome OS. From what I’ve heard, people that run it, love it. For me, I use really old hardware, and I don’t want to compile on it. There are most likely ways to deal with that, but I’m just not into that idea. It also seems very complex. Complexity is the root of most problems, so I think I’ll pass, but I really like the principles behind gentoo.

Nix OS

This is a declarative build package system. I want to like Nix, but the issue with it is the same as Gentoo: Complexity. Every Nix guy I’ve talked to spends 15 mins trying to explain flakes, but gives up and says, “so… like I’m not very good at them, but they are better. Trust me”. I value simplicity.

A BSD variant

So I a have a little beater laptop that I use for experimenting. I’m trying out FreeBSD and OpenBSD on the weekends. FreeBSD seems to like my hardware. OpenBSD is fighting it. I love everything about the Unix philosophy and other than hardware compatibility issues, I’ve been pleasantly surprised with these. I’ve been told that you should come to BSD because you love BSD and not because you hate Linux. I can see why, so I am going to continue to play, but I’m not there… yet.

Alpine

I used to hate Alpine when I was working at XFR. It felt constrained, limited. But then I found out that Alpine on desktop is way nicer than Alpine in docker. It’s got a lot of stuff going right for it.

In short, it’s all I need for a system.

Outcome

I’ve been daily driving Alpine for the past few months and I just like it. I have to echo the sentiments from Drew Devault on This point. Alpine really is low drama because it really has to be. It’s meant to be the basis of Docker containers. It needs to be rock solid, stripped down, and minimal. Add too much, and in a kubernetes cluster, you can spend easily hundreds in extra storage fees.

Furthermore, if Alpine ever goes a way I don’t like, it’s got an apk caching feature where I just download the packages that I want to an install onto a box and make it into the repo for my other installs. I can lock my version to a mirror made by my own installs without having to rsync the entire package mirror. It’s so nice!

Now the Rustaceans have made it clear that they are coming for the Linux Kernel, so I’ll be looking at BSD’s future with great interest, but until the Kernel goes off the rail, I love my little Alpine system and I hope I get to run it for a good long time.