using rustified fish

Rust, the language, has been moving ever deeper into infrastructure development. Rust is being used to write new code (see the drama going on within the Linux kernel developer community as an example). Rust is also being used to replace existing infrastructure, a prime example being the Rust Coreutils being written to replace the GNU Coreutils. The biggest draw to use Rust is its promise of safer memory usage compared to either C or C++ (and yes, they are separate languages and should not be called C/C++). Another draw appears to be better performance between equivalent versions of the same tools, with the performance lead going to the Rust-based rewrites. The biggest draw is that it’s fired up the imaginations of a new generation (if you will) of software developers. It’s all good, even for a very old dog such as myself.

An important re-write in, or migration to, Rust is the fish shell. The fish development team announced in 2024 that they would be migrating to Rust with the version 4 release of fish in 2025. They’ve now reached the point where they announced their first beta release of the shell. I cloned their Github repository and quickly compiled a local copy of the beta release to experiment with. So far, based on my admittedly limited testing, they’ve done an excellent job. Being a beta release I’m sure there are obscure corner cases where this new and major port will have some bugs, but for day-to-day use, so far, the Rust-based beta is indistinguishable from the older C++-based release.

Links

fish — https://fishshell.com

fish on github — https://github.com/fish-shell/fish-shell/

stepping up to linux mint 22.1

It’s been several days since I stepped up to Linux Mint 22.1. No fuss, just a bit of exploring to tweak the desktop look to use the new Cinnamon styling. I was also pleased to be able to change the size of my menu and have it stick, once set. I’m still using the Papirus icon theme and Nerd Fonts for everything. Linux Mint is still based on Ubuntu 24.04, which is fine as far as I’m concerned. All the software tools I use are reasonably current but not bleeding edge; for example Python on Linux Mint 22.1 is version 3.12.3, while the absolute bleeding edge is version 3.13.1. Even Python 3.12 is at 3.12.8, which tends to irk me as to why the distribution can’t at least keep up with its latest Python baseline. I suspect it’s due to Ubuntu itself.

I do much prefer this release over anything I could get from Microsoft. Everything in my house is either macOS or Linux, split about 50/50. I spend the majority of my time on a Linux system, which explains why I won’t purchase a new Apple computer in the future. I’m going to run everything I have until it literally dies and can’t be upgraded or fixed. For example, my primary Linux system is a Minis Forum UM250 with an AMD Ryzen 5 PRO 2500U CPU. That AMD CPU was launched in 2019. I got the UM250 system in 2020 with Windows 10 Pro preinstalled. It ran for about a year with Windows 10 until I started to get indications that Microsoft wanted to upgrade to Windows 11, but wouldn’t allow the UM250 to upgrade because the little system didn’t have TPM 2.0 installed. It was at that point I purchased a new SSD for the system, swapped it in, and switched to Linux.

My transition to Linux Mint wasn’t straightforward. I tried Pop!_OS and Fedora before finally settling on Linux Mint. The biggest annoyance with both was their insistance of installing and activating brltty, a special Braille driver for the blind. I can certainly appreciate making computers available to the visually challenged, but I’m not one of those (yet), and there wasn’t any way to easily disable the feature for regular use. The brltty driver interfered with my ability to use my USB ports for embedded (IoT) development. I was able to uninstall it for Fedora, but Pop!_OS had it so deeply embedded in the OS that any attempt to remove it would cripple the desktop. In the end for Pop!_OS I had to use systemd to disable the service. Considering how much aggravation I went through for that one problem, I was quick to switch away to Linux Mint, and that’s where I’ve lived ever since.

I have a solid computer with a no-drama operating system that reliably does its job, day-in and day-out. I don’t want or need anything more than that.