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 third quarter includes a mix of business, personal and open source project updates. All in all, Q3 has been chaotic on many different levels. Not only had the professional side some surprises in store, on the personal side there were also many things going into unexpected directions.
Back in April I picked up a new GPU for my workstation, after the previous AMD card gave up. Well, fast forward to August and all of the suddenly the new XFX QUICK319 – an AMD RX 6700 XT Black – began to smell like burnt wood, and with it the rest of the computer, the desk, and even the wall it’s standing next to. At some point the odor became so strong that I initially suspected it coming from the AC or even from outside. It took me a couple of days to find the source, especially since the AC and the five fans on the open case do a great job of dispersing the smell. While sniff-testing every electric component, I also found out that one charging brick was on the brink of going up in flames.
Long story short, I had to order a temporary replacement for the RX 6700 XT – I picked the cheapest RX 6500 XT available – while I was dealing with the RMA process for the 6700 XT. Since I had to backward the card to XFX in the US and then forward the replacement to me, I had to shell out another ~$200 just for the RMA process.
I made the best out of the situation and used the free time I had while I was waiting for the 6500 to rebuild the workstation – again. This time I went berserk on cable management and made sure every wire was fully taped together and onto the XTIA frame. In addition, I added XTIA’s ultra-widebody kit (the 3-hole stand plus the single-hole stand) that I ordered for the first upgrade but didn’t make use of. Initially I thought that the space between both sides would suffice for proper cable management, with only the 3-hole stands. It turned out however, that especially the PSU cables were blocking much of the ventilation that could have otherwise flowed through it, helping to cool the motherboard’s backside and the attached NVMe drive. Hence I decided to extend the case and give the hardware a little more room to breath.
When the Lian Li Galahad broke down back in April, I replaced it with an Arctic Liquid Freezer II 360. Fast forward to the end of September, I received the following mail from Arctic:
We would like to inform you that during our routine quality checks we have detected a possible problem with certain Liquid Freezer II.
In the affected units, the gaskets were not sufficiently vulcanized causing a chemical reaction to occur between the copper cold plate and the gasket. This reaction may lead to sulfur residue and copper plate deposits. If this has happened, it can lead to a reduction in cooling performance and potential loss of cooling liquid.
You don’t need to worry at all, we have developed a service kit to safely guarantee the 6-year life.
The replacement is done in a few steps and does not require any expertise.
You will receive your free service kit after entering your desired shipping address in an uncomplicated way via the following link: https://www.arctic.de/lf-service-kit-amz
We sincerely apologize and thank you for your trust in ARCTIC.
Speaking about broken stuff, it appears that the camera module of my phone broke. All of the sudden the camera app can’t initialize the camera hardware anymore. I still hear the camera module clacking upon launching the app, the screen however remains black. It doesn’t seem related to a software update as there was none. I’ve previously noticed how sometimes the glass cover of the lens would steam up on the inside, so I’m assuming it has something to do with that.
While I was rarely using the phone’s camera – and I’m actually pretty happy from a privacy perspective that it is now defunct – it’s still useful to have a camera in your pocket. I’m considering getting a waterproof, super portable point-and-shoot that I can add to the key chain. Maybe something like Kodak’s PIXPRO WPZ2, I don’t know yet.
Anyway, after having my AIO, GPU, power brick and smartphone camera break down on me over the course of the past few months, I also noticed that my coffee maker is on the brink of breaking apart. It seems like its beautiful wooden shell began to crack on one side, although I’m not sure when this had started. I only noticed it at the end of August, and so far the crack hasn’t gotten significantly larger. I’m assuming that this kind of deterioration was driven by the expansion and reversion of the materials during heating/cooling. I’m going to fix the cracks asap to avoid having the wood break further.
The Aram hasn’t been in use very much anyway, because there has been no gas available since the beginning of September. I got myself an electric countertop burner, which however takes ages to heat up water. With the Aram requiring a few heat-up cycles, I most of the time resorted to just pull brews with the AeroPress. Only at the very end of September gas became available again, which is when a gas leak was detected in my place, requiring it to be kept cut-off.
It’s frustrating to have so many things break one after another, especially after such a short period of time. It is fortunate though, that I can replace/repair most parts individually without having to replace or send in the whole device/item. Even with especially the GPU issue biting into my days, I still managed to make a few changes and updates to my personal infrastructure.
On cbrspc7 I finally pulled the plug on X and fully switched to
Wayland by rebuilding the system with
-X. No XWayland, no
nothing. For that I had to update a few of the Gentoo packages that I’m using,
that still had X11 dependencies hard-wired – more on that down below under
open source projects. However, unlike what various
sources write online, it is totally possible to run an X11-free desktop system
in 2022. Yes, even with Electron-based apps – at least as long as you care to
compile them on your own. However, since I dropped all Electron apps that I was
still using, by switching from Element to Nheko and by getting rid of
Signal, replacing it with my own, dedicated XMPP server – more on that
in a second – I luckily don’t have to waste any more CPU time on building this
awful piece of software with every app update.
Another update to my infrastructure is the aforementioned XMPP server. So far I’ve been using xmpp.co, which is a public XMPP server. Even though all important conversations are OMEMO encrypted, I still wanted to move these away from proprietary infrastructure onto something I can due diligence. Additionally it turned out that many XMPP clients (especially on macOS, which lots of contacts of mine are using) don’t work well with public services like xmpp.co, as they usually expect some additional XEPs and configurations to be available.
Hence I am now running a dedicated FreeBSD server with ejabberd, onto which I moved all long-term communication. The instance doesn’t persist any chat (although it wouldn’t matter, as everyone is using OMEMO anyway) and automatically wipes uploads (also OMEMO encrypted) and other data on an hourly basis. It also supports a wide range of XEPs, making it possible for me to add accounts for contacts that work with pretty much every available client – even clients on macOS and iOS.
So far the server runs reliable and even push notifications work flawlessly. I’m still using the xmpp.co account as a first point of contact for people to get in touch. In case communication keeps going for weeks and months, I eventually move the conversation to the other account.
Another thing that’s new is a dedicated mailing list server that I’ve initially set up for an idea that came up during a call with a contact of mine. Back then I even wrote about how you can set up your own mailing list on OpenBSD, using Mailman3. However, I’ve extended the setup and began testing the service for a multitude of things and so far I’m quite satisfied with it. I might keep it in the long run, even if the initial idea won’t turn out to be something worth pursuing.
I also gave this site a bit of a makeover during the past quarter. There is now a dedicated projects page that lists all the open source projects I’m currently working on, with individual sub pages that describe the project in greater detail. Hence, the menu section that was previously called Projects has now been renamed to Updates, as it better reflects the content.
Additionally, the journal is now slightly more image heavy, with cover images being displayed on all paginated lists (e.g. the home page).
During Q2 as well as Q3 I also gave the Fediverse another shot. This time I set up my own Pleroma instance, to not run into similar issues I had last time. Long story short, while I did discover a couple of interesting accounts, the network still feels too much like a place that’s fostering argumentative behaviour and is a lot about ideological and political topics. Hence I gave up on it (again) and shut down the instance.
These days I’ve resumed looking into Scuttlebutt, after having tried Planetary nearly two years ago. The main reason for dipping my toes back into it was that I recently stumbled upon Manyverse for Android. So far it doesn’t seem like the network has evolved much from two years back. It took me half a day to actually get Manyverse to a point where it would sync reasonably well with at least a few other devices and people that I tested this with. Compared to that experience, Superhighway84 is light years ahead, heh. ;-)
Anyway, in case you’re active on SSB let’s connect!
Alternatively, feel free to reach out on Superhighway84!
On the business side of things the past quarter was a wild ride. I was dealing with a couple of different things, some successful, some not so much. I made good progress on a few topics I had put on hold in recent months. I’m super excited about how especially one of these projects are evolving and can’t wait to get the first version out. I’ve been working together with an awesome designer, as well as other great tech minds to move things forward. Not only is the overall software architecture looking great, but it’s also amazing to see how quickly the frontend is able to iterate. This is in large parts made possible by Svelte and TailwindCSS. Even though I am not a frontend developer, I can see the benefits this approach has, as compared to traditional React or Vue projects. It has been years since I’ve seen especially the UI side of things move that fast, which is a nice change of pace.
I’m looking forward to post a dedicated update on this, as well as a few other things soon!
Open source projects
There was also some time on my hands to pursue my open source projects. I released a new tool and completely rewrote another one. Besides, almost all repositories have received dependency upgrades/security fixes.
Starting with the biggest update, Journalist was rewritten from scratch and v1.0.0 was released back in August. The most significant changes were the move away from Fever API to a pure RSS feed focused approach, and the use of a full-blown ORM that now supports SQLite3, PostgreSQL and MySQL databases.
Superhighway84 has received a major update to IPFS 0.12, after
go-orbit-db has released an updated version of their library that supports it.
This means that it is now possible to use IPFS 0.12 tooling for creating
an IPFS repository for Superhighway84, without having to keep 0.11 around.
In addition, the Superhighway84 network has grown to three always available instances on the American west coast, in central Europe, as well as in central Asia, in order to make syncing smoother for everyone. The instances dramatically decreased syncing times for both, new installations as well as existing clients.
Nevertheless, IPFS still continues to suffer from a pretty high CPU and memory footprint and the Superhighway84 instances seem to be crashing every couple of weeks due to the large amount of open files and a big memory footprint. I have automatic restarts in place, so it doesn’t really bother me, yet it shows that we’re not quite there yet with IPFS.
Planor received a few updates, with the integration of Fleek being the biggest one. The feature itself doesn’t look like a lot, but it required me to implement my own client library for the Fleek GraphQL API, which I have also released as a dedicated Go package.
go-render got a tiny documentation update that includes an example of how the library can be used.
A new command line (and UI) tool is Cloudcash. Cloudcash offers a quick way to query the current month’s charges for a wide variety of cloud providers, e.g. Amazon’s AWS, DigitalOcean, Vultr and many others. Cloudcash can output the data as text on the command line, or it can also output Waybar compatible Pango markup and even display a dedicated menu bar widget on macOS.
If you’re looking for a lightweight tool that can show you the current’s months charges across multiple cloud providers, then Cloudcash is for you.
addrb also got an update to its template engine and example template,
which now supports listing all phone numbers and addresses, and rendering
birthdays in a consistent, well readable format. With that in place, addrb also
gained the ability to output contact birthdays for the current day using the
-birthdays flag. With that, it’s possible to implement birthday reminder
notifications, as can be see in my dotfiles.
cexec received two updates that fixed stdout/stderr caching as well
as added stdin forwarding. This allows for data to be piped through cexec into
the program that it executes. See this script for an example of
how piping can be done with cexec.
The Gentoo package of KeePassXC has gotten some love from my
side while I was busy recompiling my system with
-X. The updated ebuild now
won’t require X11 dependencies anymore when
-X was set.
The PR was merged and is now available to everyone!
Similarly, I’ve opened a PR for OBS Studio, in which I not only make sure to remove X11 dependencies, but also update it to the latest available version.
There has been a bit of feedback on the PR, but it’s not merged yet. If you’re an avid streamer on Gentoo feel free to check out the PR and test it if you’d like.