Project Updates Q1 2022

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.

Project Updates Q1 2022

The first quarter has been a good mix of personal, professional and open source projects, with none of the three eating up a disproportional amount of time. That allowed me to pursue multiple things at once.

Personal things

On the personal side I finally managed to build a new audio setup that I’ve been wanting for quite a while now. The MOTU M2, paired with two RØDE M5 condenser mics works surprisingly smooth on my workstation. The only issue I’m facing is the sound volume when using Jitsi in Firefox. For some reason Firefox seems to lower the mic volume significantly in comparison to e.g. Ardour 6, which I use to record audio. Due to this issue I have to increase the gain when joining conference calls so that other participants can hear me.

This new audio setup, paired with my existing camera setup, allowed me to finally launch a pet project of mine. So far the channel solely contains of mechanical keyboard content, but I’m looking forward to extend it into other areas soon. I’m also looking forward to maybe live stream from time to time, depending on whether I find interesting content that I feel is worth putting out there.

Another task I managed to cross off my todo list was an annual stocktaking of my personal belongings. For a while I wanted to put together an overview of all the things I posses, in order to understand how much stuff I have to deal with and plan forward for when I’ll be hitting the road again. So far I’m happy to see that I haven’t accumulated too much, yet I’ll soon be going to take exact measurements of a few things (e.g. my workstation) to plan how traveling with them could look like.

Besides all that, my journal seems to have gained a handful of new regular visitors, which I appreciate. Welcome everyone who has found this place recently! One reason for this seems to have been a post that apparently got picked up by hacker news and a few days later by The Register. I was surprised to see the post generating that much fuzz and I found the different perspectives in the comments interesting to read. One comment that stuck in my head was from someone calling the Gemini community “Internet Amish”, which I found to be an amusing analogy, although a bit insulting towards the actual Amish.

While discussion on hn, lobsters, et al remained fairly lighthearted, I was forwarded a few comments from r/geminiprotocol that were very much the opposite. I was puzzled by how little the very same folks fanboying the protocol actually understood about it – let alone HTTP. It seems like every technology has the potential to become a crypto-bro type community, given enough time, pseudo-elitism and -exclusivity. In fact, browsing through the Reddit accounts of the commenters revealed that many of them were not only active in r/geminiprotocol, but also in subs like r/btc, r/conservatives, /r/ToiletPaperUSA, r/lgbt, and groups like r/StallmanWasRight, which I didn’t even knew were a thing. It seems like generally speaking, the people who flock to Gemini are the ones on far ends of any spectrum, who usually look for cabal-like communities that focus mainly on very specific ideas and ideologies rather than the open discourse. Hence, it’s understandable that these people crave a platform that literally shuns everyone with different ideas and doesn’t natively allow any input to what they put out there, e.g. through comments or discussion platforms.

However, while r/geminiprotocol is probably the least representative part of the Gemini community, other parts are not exactly less toxic either, unfortunately.

Another noteworthy update is that this site is now available as a Tor hidden service under the URL that is displayed in the footer. If you’re using Tor Browser you’re either being notified or even automagically redirected to the Tor hidden service.

All the content is hosted on dedicated infrastructure, meaning that if the clearnet page should ever become unavailable, the site should still be available through its onion URL. In a second iteration, that I’ve been working on every now and then, I’m going to publish this site on IPFS as well. I have tried a few things before, e.g. publishing it through Fleek, unfortunately these services aren’t particularly reliable yet. I might set up own infrastructure for that purpose as well.

With this new Tor Hidden Service in place, I made an effort to further optimize the site for low-bandwidth by further compressing all full-size images using imager. This way the whole deployment procedure became a lot quicker and anyone who opens a linked full-size image should not have to download multiple megabytes any longer. The downside is that some images might display visible compression artifacts, which however shouldn’t be a big deal. It’s not a beauty contest, after all.

Last but not least, another update in regard of this journal is its removal from The Internet Archive a.k.a. The Wayback Machine. I’ve requested my site to be removed by sending a friendly e-mail to info@archive.org, which the folks at the Internet Archive responded to promptly. I might explain the reason behind this some day, in a dedicated post.

Professional things

No big news from that area yet, as most ventures are still on-going. One venture has gained another team member, allowing us [the team] to run things more efficiently.

New opportunities showed up, but it’s unclear whether I and the people I work with are going to pursue them. One reason for that is, that especially project opportunities in the past months seem to consist of largely firefighting in existing ventures and not so much bootstrapping of new ones, which is what we do.

Desktop vibes

Open source projects

Most of my open source projects have received at least some security updates in the past few months, while a handful were pretty actively developed. Even tools like Gomphotherium, that I’ve previously announced to be discontinued have received dependency upgrades and new releases.

Paperwork

Bad news first, even though this probably isn’t a surprise to anyone who watched the progress over the past few years. The Paperwork project is now officially dead. After several attempts to revive it I eventually gave up. While it had a good run back in 2015, with people happily contributing to it, it didn’t really stick. I’ve tried rebuilding the initial MVP on a more sophisticated stack, but it turned out that’s not what people wanted.

Long story short, I have archived all main repos and shut down all communication channels. Its domain is now redirecting to this page.

Offline Wikipedia

Technically this was Q4/21, but since I still worked on that topic up until the beginning of 2022 I’m going to mention it here. Back then I was interested to try out Quickwit, which is a lightweight distributed search engine. Since I had a use case before, I thought it might be interesting to retry it using Quickwit. It turned out pretty cool and I even got some very good feedback that helped me enhance the implementation.

One thing that I was very surprised to find out was how tech illiterate communities like r/selfhosted are, in which I posted a link to this experiment. I was hoping to get some feedback and ideas from these, unfortunately a significant number of the supposed tech folks don’t seem to know DNS standards and punycode, leading to the post drowning in omg I would never click a sus link like that comments and eventually even being removed by the moderators – because they thought it’s malware. Obviously my intentional choice of words for the title didn’t help with all this either and only increased the confusion that started with the domain that I’m using here. Oh well.
井の中の蛙、大海を知らず …

Superhighway84

Superhighway84 is one of the other reasons my journal here seems to have gained a handful of regular visitors. Superhighway84 is an USENET-inspired decentralized internet discussion system, featuring a retro text user interface and powered by IPFS and OrbitDB.

I publicly released the very first version at the end of last year (which is also technically Q4/21), but only after it apparently trended on hacker news it really gained interest from people, which has been increasing ever since.

Superhighway84

So far the project has been going on quite well and there were some pretty cool features that were implemented in that short period of time. I even set up an official homepage for the project, which right now is only an 80s inspired landing page.

I also found a handful of fine people who have published valuable content on this topic, for example a tutorial on how to run Superhighway84 on FreeBSD.

One thing that I would like to add, which came out of the same discussion on Superhighway84, that also inspired me to write the Gemini post, is the question of “why?”. I saw people in the comments on hn, as well as on r/geminiprotocol and on Superhighway84 asking the question “Why is Gemini ‘reinventing the wheel’ but Superhighway84 is not, when it’s just NNTP but on IPFS?”. I would like to answer this outside of Superhighway84 with a copy of the same answer I have given in that specific thread:

Subject: Re: Re: Re: My Gemini Capsule
Newsgroup: alt.comp.gemini
From: mrus@cbrspc7
= = = = = =
Hey there,

On Fri Jan 7 08:43:48 2022 xxxxxxx@xxxxxxx.xxx wrote:

amusing that you wrote it on a thing (protocol, client, service?) you created that could charitably be called the Gemini of NNTP. I’ll admit it isn’t a

If you believe so then I invite you to further elaborate what Superhighway84 actually is and how it functions, as compared to Gemini. Superhighway84 is not “the Gemini of NNTP”.

Does Superhighway84 …

  • … use a homebrew new protocol nobody asked for?
    No, it does not.
  • … use a homebrew format?
    No, it does not.
  • … force you to use new infrastructure in order to participate?
    No, it does not. In fact, you can even launch ipfs daemon with the Superhighway84 database and it works. Of course, you won’t be able to actually interface with it - but even for that you could use whatever OrbitDB client there is to simply read/write to the database.

Superhighway84 combines two things: A platform for discussions and true decentralization. “But there’s Lemmy, and there’s Mastodon”, you might say. True, but these services are not truly decentralized. Have a mod delete your account on any of these services and poof, your “online identify” is gone. Have anyone on these platforms feel like they are in charge of what is allowed to be said and what not and you’ll end up in a similar filter-bubble as you have on Facebook, Twitter, and all the others.

The fundamental difference between Superhighway84 and Gemini is that the former uses well established technology to solve specific problems, while the latter needlessly re-invents the wheel, following pretty much the same patterns/ideas as the technology that’s already in place, with the sole reason to introduce incompatibility with everything else, but ultimately solve nothing at all.

As of right now, there is nothing Gemini does better or fundamentally different that anyone of us couldn’t do by setting up an especially configured nginx and making it serve pure markdown, and completely ignoring PUT, POST, PATCH and delete requests.

Please don’t call Superhighway84 “the Gemini of NNTP” unless it’s meant to be insulting.

Regards

None of the existing platforms solve the core issues that are censorship and de-platforming. Sure, you can host your own Mastodon instance, post stuff on the Fediverse and stay in control of your account and your data. But what is it good for, when a single moderator of a large instance (e.g. mastodon.social) decides to block your instance for all of their users? What is it good for, when your hosting provider decides that he doesn’t agree with what you’re putting out there? What is it good for, when powerful adversaries feel uncomfortable with the things you post and decide to DDoS your instance into oblivion?

These exact same questions apply to NNTP, to Lemmy and to pretty much every federated platform today. Federation is not the same as decentralization. Superhighway84 uses modern, well-established technology to operate fully decentralized and solve these issues.

go-poolsuite

go-poolsuite is a Go library that I’ve built to use with Superhighway84. The library allows to stream music from Poolsuite FM.

I built it so I could implement an easteregg in Superhighway84 that would play 80s style music while browsing the decentralized USENET. Since they don’t offer an official API I had to reverse-engineer the HTTP requests that they use on poolsuite.net.

Hence I reached out to Marty Bell from Poolsuite FM via Reddit, to make sure they were okay with me integrating their music service as a Go library and into Superhighway84. Unfortunately I haven’t heard back so far, which is why there’s not much going on in that repository.

Marty, if you’re reading this …

Call me!

reader

A new CLI tool that I recently released is reader. With reader one can have the readability feature that many modern browsers offer in the command line. reader basically loads the URL it was given, tries to extract the relevant content, cleans it from all the web garbage it usually comes with and renders it nicely on the terminal. In addition, it will output images as colored block renders.

With reader you can browse web pages from the command line in a way that is distraction free and won’t require a JavaScript engine or CSS parsing. In fact, reader internally converts the HTML into valid Markdown and uses Glamour to display that.

reader

If one doesn’t know better, one might even mistake reader for Gemini, from what it looks like. ;-)

net-p2p/resilio-sync

Although this is not a big deal I still thought it might be worth pointing it out. If you’re using Resilio Sync on your Gentoo machine, you’re finally able to update to a newer version, yay!

An update for this package was pending for a while now, hence I decided to open a PR and get the (back then) 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.

collections [ ] · tags [ ]
published [ ] · updated [ ]