Project updates from the current consecutive three-month period, with info on the current status of my projects and next steps. You might find this interesting in case you’re using any of my open source tools.
The second quarter includes a mix of mainly personal and open source project updates.
Things have been chaotic with my Linux workstation, as it was partially unusable for multiple periods of time, due to hardware failures. Shortly after upgrading the machine, the AMD Radeon Pro 2100 WX GPU died. I bought it used last year when I initially built the workstation and it was kind of foreseeable that it would break eventually. It’s nevertheless annoying to buy into a still very much overpriced GPU market.
It took a few days for the replacement GPU to arrive, but I was lucky to have an
old Nvidia GT 710 around, which I got running using the
nouveau driver. I was
able to continue using Sway/Wayland on the 4K display, but I had to disable any
transparency effects whatsoever. Also browsing the web with Firefox was more or
less impossible with the Nvidia card.
I picked the XFX Speedster QUICK319 to replace the Radeon Pro because it was one of the few cards that was readily available and could be delivered within a couple of days to where I’m currently at. Unfortunately I only got to enjoy the upgrade for only a couple of days, however, before the Lian Li Galahad 240 AIO died. Since I had no alternative available I was basically grounded. I had to order a new cooler, because while I still had warranty on the Galahad I didn’t expect Lian Li’s RMA process to be quick enough for me to be able to wait for the replacement. In order to not have this happen again in the future, I not only ordered a new AIO but also a Noctua NH-C14S, plus a Noctua NF-A14 as a backup solution, which arrived within a few days, even before the new AIO. Thankfully my workstation was offline for only 5 days in total and I was able to do a few things on my luckily-not-yet-decommissioned MacBook during that time.
I wasn’t sure whether the NH-C14S would fit the XTIA Xproto-N with the ASUS ROG Strix X570-I mITX board that I have, but it turned out it does. Even though it looks like that, the heat pipes do not touch the RAM modules. It would have also been possible to mount the Noctua upside down in order to get the NF-A14 fan between the motherboard and the cooler, however I wasn’t sure whether it was a good idea to do so, given that the cooler dissipates the heat towards the pipe tips. Hence I just mounted the fan in a pull configuration on top of the cooler.
Interestingly enough the thermals with the Noctua are significantly better than they ever were with the Lian Li Galahad 240. I’m not sure whether that’s because the Galahad seems to have been broken from the very beginning (see below) or whether the Noctua has superior cooling qualities. So far I haven’t reached 80°C on the Noctua, even with the 5950x peaking at 5 GHz. The Galahad on the other head very often reached temperatures well above 80°C, making the CPU throttle to as slow as 2.8 GHz.
The average temperature with the Noctua, using the
schedutil governor is at
When Lian Li confirmed me that they’d send a replacement for the broken Galahad and also that I wouldn’t need to send back my defective one, I decided to take off the pump’s plastic cover to see if I could find anything that gave away what happened to the pump - and indeed I did find what I believe is the reason for the Galahad to break down after only ~10 months:
Either Amazon sold me a refurbished unit that hasn’t been put back together correctly, or the production messed up here. In any way I’d expect the QC to take care of something as obvious as this. In the end I’m happy the pump only broke down and didn’t actually leak water.
A few weeks later I received the Galahad replacement from Lian Li, as well as
the new AIO that I have ordered together with the Noctua: The Arctic Liquid
Freezer II 360 RGB.
Even though I was satisfied with the Noctua’s cooling performance I nevertheless decided to rebuilt the Xtia with the Liquid Freezer.
The first thing I noticed was that this was still the rev1 version of the Liquid Freezer, not the current rev2. Arctic seems to think it’s okay to sell old products without clearly stating it online. Obviously when ordering a new product at retail pricing you’d expect to get the latest version.
The Liquid Freezer II doesn’t come with a printed manual and Arctic’s website is quite terrible to use. The online manual also doesn’t specify certain things clearly enough, meaning that one has to work things out for themself.
One thing that’s noticeable is the quality of the mounting equipment. Compared to Noctua’s bracket and standoffs, the Arctic parts appear really cheap. At the end of the day, the Liquid Freezer is sold at a $160 price tag, which while being double the price of the Noctua, is still nearly half the price of e.g. a NZXT Kraken AIO, which has a pretty decent mounting equipment and overall quality. Compared to the similarly priced Galahad, the Liquid Freezer’s mount was significantly better, since it at least did not just rely on the plastic brackets the motherboard came with.
Instead of the MX-4 that came with the Liquid Freezer II, I used the Grizzly Kryonaut thermal paste with it. Compared to the Lian Li and the Noctua, the Arctic Liquid Freezer II runs a couple degrees cooler in most situations. However, it’s not significantly better than the Noctua in many cases. Considering the fact that it’s twice as expensive as the Noctua and has a lot more moving parts that might break at some point, I probably wouldn’t recommend upgrading from a NH-C14S to something like the Liquid Freezer. However, compared to the Galahad (before it was dying) the Arctic runs significantly cooler and might be worth an upgrade, especially when running the 5950x regularly above 4GHz. Obviously it’s not a fair comparison though, because my Galahad only had a 240 radiator.
The average temperature with the Arctic Liquid Freezer II, using the
governor is at 32°C. Temperatures seem to peak out at 68°C with the CPU
at 99% utilization and 4.9 GHz clock speed. For comparison, the Galahad’s
baseline temperature was usually around 50°C already.
If I was to start a new build from scratch however, I’d probably either just use an air cooler or I’d build a custom loop which also integrates the GPU, hoping to save some weight by replacing heavy air coolers with small and lightweight plastic blocks – which I might still do for my workstation eventually.
From an aesthetics point of view the Liquid Freezer however clearly beats the Noctua.
Open source projects
Superhighway84 has received a major update to the latest IPFS version, after
go-orbit-db has released an updated version of their library that supports it.
This means that it is now possible to use the latest IPFS tooling for creating
an IPFS repository for Superhighway84, without having to keep an older
While there still seem to be some issues with v0.2.0, I’m looking forward
to have them fixed within the next couple of weeks. If you’re currently running
an older version and you’re not into debugging issues, better skip on
and wait for
I have released a new command line tool called Planor. Planor is a TUI client for cloud services like Amazon Web Services, Vultr, Heroku and Render. It allows checking Code Pipeline deployments, Heroku builds, Vultr instance statuses, Render services and Cloud Watch logs on a lightweight terminal UI.
The reason for building Planor initially was the annoyance caused by Amazon’s
web interface as well as the
awscli. I wanted to have a way to easily check
Code Pipeline statuses, as well as Cloud Watch logs from my command line. Since
I’m not only using AWS but also other services, I decided to make Planor
multi-cloud capable and integrate with the other provides that I personally deal
with as well.
Planor is using the awesome Charm TUI libraries and implements the official platform SDKs most of the time. Initially Planor was released with only AWS, Vultr and Heroku compatibility, but since I’ve switched from Heroku to Render in the past couple of months, I’ve also added a lightweight implementation for it, using my own go-render client library (because Render doesn’t provide one). It’s bare minimums at the moment but will likely be extended over time.
A new CLI tool that I recently released is
possible to run commands and have their stdout/stderr output cached for a
specific period of time. For that,
cexec uses a single-file database
(BuntDB). However, the code is structured in a way that would easily allow
integrating different caching back-ends, like for example Redis.
The idea behind the tool came when I had a process that would periodically
execute a binary, which in turn would download data from the internet and
output a processed version of it on stdout. Since the data didn’t change
that often, but the caller would still require to call the binary periodically
(because with every call it would pick a different part of the output to process
it – it’s a long story), I decided to implement
cexec that would help with
cexec the process can now call
cexec -t 360 /path/to/binary
every 10 seconds without the binary actually being executed every time. Instead,
cexec will return the cached output for at most 360 seconds, after which it
would call the binary again to refresh the output cache for the next 6 minutes.
Not a big deal, but still worth mentioning for anyone who cares. If you’re using
the console based XMPP client profanity on your Gentoo machine, you’re
now able to update to 0.12.1, which allows you to finally create accounts
through profanity! This is especially helpful when your tinfoil hat is as big
as mine and you also like to run profanity through proxychains in order to
have it connect via Tor. (
An update for this package was pending for a while now, hence I decided to open a PR and get the latest version into Gentoo’s official portage repo. Since I’m actively using that package I will keep an eye on the version and, in case it gets too outdated again, repeat this process.
updates projects ] · tags [ open-source hardware planor superhighway84 cexec gentoo ]
published [ ] · updated [ ]