Gentoo Home Lab and Cluster

Written by: Robert R. Russell on Monday, April 28, 2025.

First, what happened to FreeBSD?

Well, death by a thousand cuts for keeping a couple of video games working.

Is it a cluster or a home lab?

Let me back up a little bit. I was able to get 7 Dell® Optiplex Mini 3070s and a Dell® Optiplex Mini 3050 from a computer recycler for free. Unfortunately they did not have power supplies, a lot of memory, or any storage but I have been slowly purchasing replacements for those components.

Specs

Mini 3070 Mini 3050
Processor Intel® i5-9500t Intel® i5-7500t
RAM 32GB DDR4-2400MT/s
Storage 1TB NVME m.2 flash

Lab or Cluster?

Well, it is going to do stuff for both tasks. I have the option of using the machines for several different tasks. Some of those tasks are more suited towards one side or the other.

©2025 Robert R. Russell — All rights reserved


Xen

Written by: Robert R. Russell on Saturday, October 26, 2024.

I have been working on a few projects that involve a bit of virtualization. For this round I decided to try Xen instead of KVM. Mostly because I am interested in experimenting with unikernel development. After some looking around, minikernel development for bare hardware aka KVM or QEMU is kinda a thing but more work is done for Xen than for other options. There still isn’t a lot of good documentation about how to convert an operating system kernel to work with Xen outside of the Xen, Linux, and Mini-OS source code.

©2024 Robert R. Russell — All rights reserved


The term “Systems” language is a bit useless.

Written by: Robert R. Russell on Monday, February 5, 2024.

This post was prompted by a discussion about including Rust in the FreeBSD base system.

I don’t think the term systems language is as usefull now as it was several years ago.

Why?

What is a system?

That question has several answers. Possible answers include:

System’s have different requirements.

Not all of these programs interact with each other or the operating system in the same way or necessarily have the same requirements. For example changing a users password on UNIX systems can generally be done without direct system calls, but forcing the kernel to reload its active partition tables generally does. So the requirements for the programming languages we might use to implement those two tasks can vary.

In those two examples Perl is an adequate tool for user management and has been used so historically. I don’t know of any disk partitioning software written in Perl.

Kernels and System Libraries

In my and probably a lot of other people’s minds this is what the term systems programming language has meant. It is a programming language you use to write the most basic parts of an operating system in.

Kernels require:

System libraries require:

Management utilities and such.

Alternatives

I suggest using the requirements needed from the programming language instead of more general terms like “scripting” language or “systems” language.

©2024 Robert R. Russell — All rights reserved


Thoughts

Written by: Robert R. Russell on Friday, January 12, 2024.

Just some random thoughts

This post is going to be a bit of a stream of conciousness post.

I have switched my lab to FreeBSD and 1 Windows box from previously running mostly Linux boxes and one Windows box.

Why? Debian is way to out of date and Fedora-GNOME isn’t going in a direction I agree with.

Consequences:

FreeBSD supports ZFS and GPT now. This has vastly simplified the learning curve compared to last time I tried one of the BSDs several years ago.

I am using XFCE4 as my X11 environment now. While Plasma hasn’t coppied all of GNOME’s worst traits right now. They have switched to a more flat UI designed that I don’t appreciate. I am not getting older so I find the higher contrast of an older more classical Windows style of UI to be more useable.

One thing I don’t like about using FreeBSD right now is the number of bugs caused by differences between the FreeBSD Virtual Terminal system and Linux’s Virtual Terminal system. Vim and Neovim both tend to have redraw problems which makes files hard to edit. Wierdly Emacs has much fewer problems.

The other reason I am moving to Emacs is VSCode’s extension ecosystem doesn’t work well with FreeBSD. VSCode not working is a problem for me.

Programming Languages:

I am working on a few programming projects to migrate some functionaly I am missing on FreeBSD. I am writing some of the code in Rust and some in C. It has definitely been a learning exercise. The biggest difference right now between the two so far is where most of my thought process has been used.

C might be okay, but I much prefer Rust. The approachability of the two standard libraries is a huge chunk of the difference. Non ASCII string handling is a lot simpler in Rust than C.

©2024 Robert R. Russell — All rights reserved


Groff vs LaTex

Written by: Robert R. Russell on Thursday, April 13, 2023.

I have been needing to digitize some old print documents. Between trying both groff and LaTex to do that I do have a few thoughts on using both of them. If you have simple documents and you want a useable HTML output then use groff with the MS macro set. Don’t use the MOM macro set. It doesn’t produce reliable HTML output.

LaTex is better if you have a larger document or need more complex references. LaTex doesn’t make things easier for outputing html though.

©2023 Robert R. Russell — All rights reserved


Site Migration Mostly Completed

Written by: Robert R. Russell on Thursday, January 26, 2023.

Excluding a couple of images that I need to migrate over the conversion of my old posts from WordPress to Hugo is completed.

©2023 Robert R. Russell — All rights reserved


Thoughts on Hugo After a Week or Two

Written by: Robert R. Russell on Wednesday, January 25, 2023.

It works.

Because themes are dependent on the sections each site uses for the homepage I ended up having to work on my own theme.

There isn’t any automated migration tools for wordpress content. So content migration takes a while.

©2023 Robert R. Russell — All rights reserved


OpenWRT on X86_64 Again

Written by: Robert R. Russell on Tuesday, January 24, 2023.

Why?

Short answer security updates in OpenWRT 22.03.3 and performance problems related to this bug.

After some indepth research I have two options, either use a git version of OpenWRT until a new version comes out using a 5.15 or newer version of the Linux Kernel, or I can convert the wrt1900ac over to a “dumb” AP and using something else as the router.

I have decided to use OpenWRT on an older X86_64 machine as the primary router. I am using OpenWRT both because it works and my assistant network manager is only familiar with the OpenWRT interface.

©2023 Robert R. Russell — All rights reserved


Voip PBX Options

Written by: Robert R. Russell on Sunday, January 22, 2023.

They are all some version of a pain in the backside.

©2023 Robert R. Russell — All rights reserved


Softphones Suck

Written by: Robert R. Russell on Friday, January 20, 2023.

Over the last few years I have been using various VoIP systems for work. So far I have come to one conclusion about softphones. They all suck.

Everybody wants you to use their proprietary softphone. This causes two problems. No support for standards and inconsistent features. The first is the bigger issue in my opinion. It guarantees that you have to uses their proprietary softphone app. Without the freedom of choosing your softphone application you are stuck with the features your telphony provider provides.

©2023 Robert R. Russell — All rights reserved