Journal

Opinions and experiences I’d like to share.

On using uutils

Beginning with commit 879f3af in January 2025, I have been using uutils on my NixOS machines.

Uutils is a Rust rewrite of the GNU coreutils and the experience has been nothing but wonderful. I’ve encountered zero bugs, and everything is snappy.1

How to enable it?

For NixOS, the process is quite easy. You can simply add the non-prefixed versions to your system’s packages. These binaries are then used in place of the GNU coreutils:

systemd-homed first impressions

One of the priviliges of starting my new job is that I am issued a laptop with the freedom of installing any distro I like. Usually, this process is a no-brainer — I pull out my trusty NixOS boot stick, format the drive as bcachefs & install, and git clone my configuration with which I rebuild the system to my preferences. Easy, right?

Now, a company laptop isn’t the same as my other, single-user laptops;

OpenWRT Meshing

After moving to a new, larger apartment, I had a problem: the office had a terrible Wi-Fi connection, and the office was so far away from our DSL gateway that laying a long ethernet cable was out of the question. Fortunately, during a trip to the USA, I found something I couldn’t pass up: a TP-Link Archer A71 at Goodwill for a whopping $6.99.

For less than the price of a fast food meal

For less than the price of a fast food meal

Building an Outdoor Meshtastic Solar Node

Meshtastic has taken off in my hometown. After my first post detailing the build of my first Meshtastic node and chatting with new users in the area, I decided to continue “investing” into our network, especially as I live in a high-rise apartment with access to outdoor stairwells, I have an excellent line of sight view of the city.

Assembly

There are quite a few awesome solar nodes on Reddit, many of them hacked into the enclosures of solar-powered outdoor LED lights. While many of these probably function and look fine, I’ll be honest: I didn’t want to take the risk that the solar panel or batteries couldn’t power the node long-term. I’d rather spend a little more money for a purpose-built case than possible have to hunt down and gut parts of questionable quality.

My first Meshtastic Node is now Online!

I believe the first time I head of Meshtastic was during the COVID pandemic, probably through one of Andreas Spiess’ videos. I thought the Idea was neat (I was deeply into DIY electronics then as I am now), but I quickly decided the project wasn’t for me. I wasn’t aware of LoRa’s range nor did I have the money as a broke college student to go out and build a transciever with no other people to talk to.

Glycine GL0388 – Cheap Homage or a Modern Classic?

It started with Black Friday Curiosity

One cool evening in mid November I decided to head back to Drop.com. Considering my new job and the upcoming black Friday deals I figured it would be the perfect time to check up on my once1 beloved drop-shipping site. It was here that a watch caught my eye: the Drop + Glycine Combat Sub “Soda”, pictured below.

Reference No. GL0196

Drop + Glycine Combat Sub "Soda"

Reference No. GL0196 Drop.com

Fixing Silverblue Permissions

error: stat of /var/log/boot.log failed: Permission denied

I came across an interesting error, persistent on installations of Fedora Silverblue which were installed in a similar timeframe of each other around February 2023. Anytime I checked affected systems’ health with systemctl status, I would notice that logrotate had failed. While logrotate is useful for systems with long uptimes or high log outputs such as servers, the affected boxes were sporadically used desktops. Nonetheless, this really bothered the perfectionist in me. Here’s a log excerpt for the logrotate unit from an affected system:

How Sudoku saved an Experiment

My girlfriend, a researcher in animal nutrition, pitched an interesting problem to me. Her task was to create a feeding plan for four pigs with six different types of feed, with the following constraints:

  1. Each pig must recieve its feeds in a different order.
  2. On a day of testing, no two pigs should receive the same feed.

My first idea was to start off each pig with a different feed, shifting every pig’s feed each day. Unfortunately this was still undesirable, as even though each pig started and ended on with a different feed, the general order remained the same, which created the risk for carry-over-effects to happen.

WPA3 Troubles

After doing a clean install of OpenWRT 21.02.0-rc3 and configuring WPA3 I expected some devices to have trouble re-connecting to the fresh Wi-Fi network, the least of which was my trusted ThinkPad X230. Of course, the problem was quickly diagnosed: the culprit turned out to be WPA3 and 802.11w Management Frame Protection.

Here’s an example of the errors I was getting from kernel 5.10 on NixOS:

...
[  543.019577] wlp3s0: authenticate with b0:95:75:48:e3:14
[  543.023547] wlp3s0: send auth to b0:95:75:48:e3:14 (try 1/3)
[  543.025935] wlp3s0: authenticated
[  543.040980] wlp3s0: associate with b0:95:75:48:e3:14 (try 1/3)
[  543.045495] wlp3s0: RX AssocResp from b0:95:75:48:e3:14 (capab=0x431 status=31 aid=0)
[  543.045506] wlp3s0: b0:95:75:48:e3:14 denied association (code=31)
[  543.068859] wlp3s0: authenticate with b0:95:75:48:e3:14
[  543.072621] wlp3s0: send auth to b0:95:75:48:e3:14 (try 1/3)
[  543.455699] wlp3s0: authenticate with b0:95:75:48:e3:14
[  543.455711] wlp3s0: send auth to b0:95:75:48:e3:14 (try 1/3)
[  543.602675] wlp3s0: authenticated
...

Look out for code=31.

Initial Commit

This is my first blog post.

Not sure if anybody will be interested in reading this, but it’s better to share my opinions with the internet instead of somebody who doesn’t want to listen, right?


Update, 2023-07-15: I am now using hugo for building this website, as I’ve had good experiences using it for other organizations. In the future I plan to publish more often.