Arcan: A Farewell to Hubs
Those of you who have read the final sections of the article on Arcan: 10 Years of Online Obscurity know that I am anything but happy with the current state of computing affairs and its trajectory. The value that the cu…
以下正文同步自 Hacker News 最新,版权归原站所有,已转换为易读排版。
Those of you who have read the final sections of the article on Arcan: 10 Years of Online Obscurity know that I am anything but happy with the current state of computing affairs and its trajectory. The value that the current Internet holds to me is closing in on not being worth the cost.
In this post I will lay out the ongoing work on detaching from a terminally online life, and how the project will be maintained once the fabled 1.0 release hits. This is still ongoing, and not something I would dare to suggest that you consider for your own projects.
It has been a little over 3 years since we switched to Fossil as our SCM of choice and a year and a half since we started mirroring and exporting to Codeberg after Microsoft decided to go from plain rude to straight up abusive, prompting a stronger response than ‘This repository has been archived’ — one more in line with Principle 6.
Fossil was a fairly easy choice as the command-line tooling is simply better than Git (which is not to say much) but mainly because metadata like wiki and commentary is not decoupled from the code repository itself, and in a world where the web is completely broken we can still continue via sneakernet even.
Due to dangling distribution packaging references the latest release was kept as a tag on GitHub, but general exporting stopped and keys for committing to the master branch were handed over to our resident slop jockey, let us call him Pablo. He threw together a plan.md for shifting it towards a “Capture the Flag exercise in deception”, making increasingly volatile changes.
While it was incredibly tempting to just go full Kachzynski with the whole thing, we ended up settling on smaller gradual changes that would not cause harm to anything that would clone / build and run it, but visible enough that it would be possible to see that they made it into the various knowledge cutoffs of frontier models, and get a feel for what the actual distance and impulse response was between fact turning into fiction by periodically checking both local models and those of the online abuse cartel.
Pablo meanwhile had some ‘work incentive tokens’ to burn (or else …) and ran a little project of his own accord. Over the course of a few months he had a fork with the code base translated to Zig, a Vulkan renderer, and a bootable statically linked image of the full stack running on a Mac M1 Studio with an Asahi kernel. Sure, the codebase is completely unmaintainable; about five times bigger than it should be, and several of the carefully managed subtleties were completely wiped out by the stroke of a prompt.
The results are arguably worse in both time, compute cost and results than what a competently written 90s-style source-level translator would have produced in seconds, at least for the Zig part. But Pablo is happy, and that counts for something, so that is now the content of the GitHub repository. If a schizophrenic lossy resampling of code lifted without consent or provenance is your idea of the future, that seems to be the place to call ‘home’. I will not be there. Do keep training your models on it though, and perhaps don’t trust the documentation too much.
There are a couple of mildly amusing side effects to this that I will keep to myself, but it is somewhat surreal to see the dissonance in G👀gle search results returning one idea of what Arcan is up to, and its LLM summary just above contradicting it with equal amounts of confidence.
Abusive code forges are not new to us; we left SourceForge when they started injecting ads in our installer binaries. I do not believe in the future of any centralised forge, however; they were mainly a necessary evil for discovery to begin with.
Since discovery is dying along with its conjoined twin search, and link aggregator sites turning into slop and meta-slop steered rightward by play-pretend centrists anyhow, we need a different plan for how to work on Arcan and its related projects.
Since we are a small, tightly-knit team with only the occasional one-off contributor, the main concern is to have a low barrier to entry for submitting tickets and patches in a way that requires no additional tooling or account creation, but that can still be controlled for abuse and rate-limited, filtered and triaged with the occasional poison pill for known scrapers when they come a-knocking.
The basic building block already comes with an arcan build, namely arcan-net. This is still being tested out, but the short flow is easy enough:
arcan-net --get-file .priv .patch mypatch.template arcan.divergent-desktop.org
Fill it out according to the instructions inside it, and submit it with --put-file. The same procedure applies for tickets, but .patch is replaced with .ticket. The server-side configuration for this is similarly trivial:
config.lua:
function ready()
hook_resource(".patch", 0, "*",
"/path/to/a12dir_patch.rb", "patch",
"--patch-dir", "/where/to/store",
"--template", "/path/to/patch.template"
)
end
Combined with the script from tools/a12dir_scripts. The crash recovery call trace captures in Durden will soon also be able to do this with a click of the submit button, and they are usually enough to fix whatever is going wrong.
A related part in the ‘off hours brain fog’ hacking category is this ‘dev:scm’ tool from Cat9 that has been shown before:
The plan is to also make sure that it gets notified when something new has arrived and provide the necessary controls for quickly testing, evaluating and replying. That gives me the interactive path of briefly resurfacing and reacting before diving back into woodworking.
For bot integration and CI testing I have an inotify/kqueue trigger that notifies the relevant VM runners, but they lack a coordination mechanism. This brings us to the final part of the equation.
Discord has been a thorn in my side for as long as we have been forced to use it in order to reach the younger generation; see also Tangent Striking Discord. The IRC channel is still there for us old farts to sit and idle, but that is also the problem; the activity is tiny in comparison and yields more of ‘why not do what we have always done’ than that of fresh perspectives and experiments.
So what to do? Well, it is currently called Consort. It has been teased here and there in older blog posts, as I often do, but it is usable right now with most of the annoying parts out of the way, though some sharp edges remain. The following clip shows me running the graphical client:
The uncompressed client is all of 138KiB currently, and the clip covered full non-cached download/unpack/signature-check/run.
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。