2023-07-09
OLD COMPUTER CHALLENGE - YEAR 3
as seen on occ.deadnet.se
All my notes regarding this year's challenge will be contained within this file. I will be updating it throughout the week.
day0
So it begins.
Another year, another week of the Pentium-M man. I know 9front. Not in the sense that I know how to operate it properly. I've been drawn to it for a few years now. Had a dedicated hard drive with it for the past year for when I needed an escape to what conclusion to computing should've been. This week's going to be different. I'll be spending it with 9front exclusively.
I'm using a T42 with a single 512M memory stick, and the CPU locked at minimum speed through BIOS settings. I also run a local OpenBSD server through bhyve, with the same specs. This is to give me a bit of a helping hand, should I run into issues, but I aim to avoid using it, unless absolutely necessary. Similarly I will not be using my cell phone for anything but work related necessities.
My goal is to grow comfortable with the native plan9 environment and try developing something silly for uxn, which I have already successfully compiled. Somehow I feel this will be one of those productive weeks and I can't wait.
OpenBSD addendum
It's a few minutes past midnight. The challenge began. The T42 is asleep and I'm pecking at a keyboard connected to the low-spec OpenBSD server. No xenodm, mind you.
Guess what, child of the machine spirit, tmux beats 4 aces. Here's a tip for ya miceless ones (you need tmux, links2, mpv and yt-dlp):
- start tmux
- start links2
- go to your favorite invidious instance (ie: yewtu.be)
- search for a song
- move the cursor on a link to the song (ie: yewtu.be/watch?blablah)
- CTRL-B [
- move cursor to the url at the bottom.
- CTRL-SPACEBAR
- select the url with cursor keys
- CTRL-W
- open a new tmux window (CTRL-B C)
$ mpv --no-video <CTRL-B ]>
- repeat for as long as you can
- alternative do
$ yt-dlp <CTRL-B ]>
to save the video
They offered you the world. Accept it under your own terms.
........................, .................______a@_ ............-==~~~~~~?@@@@P~r ..........__ x__ @@@> -_ ........._F' g[ , $@g+ @@E [* g@+ ........awy_`\@__y@/~ @@@y \__/ ........aw@@g_______- a~~~_gy_ ...........?@@@@@@$_y$@@$$@@@@ ............4@@=~~~=@@P~`_@@@' ...........y ` yaggy,~$@@@@P` ............_g@@@@@FRw`R=~ .......___a$@@@@@F`y@$ ......a@@@@@@@@F _g@@@_ ...._@@@@@@@@@F a@@@@@$ ..._@@@@@@@@@~_g@@@@@@@ ..,5@@@@@@@@~y@@@@@@@@@%
As long as the machine is allowed to bleed, you are free.
day1
You're here? Good.
It's been done before. The computers of old are timeless. They are not built like consumer toys to be replaced. Many have forgotten this, but a few still remember, now cowering in damp meadows, protecting their machine brethren from what grand new development in the tech world will attempt to render them useless. For now they still compute, no thanks to the profit hungry.
The old computer challenge won't break anyone in half. Nobody who would be broken, would dare to participate. These are the friends of the machine, its worshippers. Those touched by the brief glint of the leaking screens, loud fans and rambling drives. Those who remember, what it was like.
Some have voiced their concerns that the challenge is no challenge at all - this is how they do their computing on a daily basis - and these are the ones you should listen to. Let them dry out that alien muck which sits on your brain and forces you to chase the shiny, the sexy, the new. Stop surrendering your freedoms for the illusion of comfort. Stop treating technology as a commodity. Look upon it again with wonder and respect. Don't ask for permission. Earn it by understanding the machine.
9front is fine
Its philosophy and history has been appealing to me from the first time I learned about it a few years ago. It is what network computing should've been, but the world wasn't ready then, and now it never will be. I commend those who keep it not just alive, but potent. From encountering some of the cyber faces of its developers and hackers, it's obvious this is more than a hobby to them. This is their system. And they care for it well.
I didn't intend to become some sort of a 9front power user. In fact I wanted to see, if I could just start using it as a general machine for my needs, without having to limit myself. 9front simply works. You can just install it and not worry about it. Learn the tools it comes with and you'll have a good time even as a regular computer novice.
Initially I saw this year's challenge as a chance to take a week off from poor routines. 9front helps me with that. And then there's uxn, which I wanted to dedicate my learning time to for quite some time. And now I finally did. And in 9front.
I had no intention to make some sort of a statement or earn bragging rights, so in some cases, I use TUI software through ssh, which runs on my OpenBSD server (conforming to the challenge's hw specs). I wanted a week in 9front and that's what I'm doing. And since I really want to dedicate the time to uxn, I have no reason to limit myself further.
softcore primitivist
what software I'm using
I like experiencing 9front in its fundamental state. Similarly to how I enjoy OpenBSD with as little software that's not in base. I enjoy customization as much as you, dear reader, but to me it is a humbling task to use a fully featured operating system the way its authors may have intended. Therefore I refrained from experimenting with customizing what already works well. It's just me, who didn't get it.
It took me just a few hours to get used to mouse chording, though I must admit, it is much more natural to me to be using a 2 button mouse and the Shift key to simulate button 3.
I don't like using ircrc(1). I like it, but not using it. Now that the #oldcomputerchallenge channel has grown considerably, there is always something going on, and keeping up with a large number of messages and maintaining private conversations is just not very viable with ircrc for me. Come tomorrow I'll use irssi through the OpenBSD server.
mothra on the other hand is a good browser. In appearance it is a lot like graphical links2, but built with plan9 workflow in mind, but unless I need pictures (I don't), I just use links2 through vt(1). I do use it with brutaldon though, but without rendering images, if I see an image description I'd like to see, I pass it to hget.
I adore hget(1). You could get away by using it alone for anything that comes from the wild web. I suppose this is not too dissimilar from ftp, curl or wget, but in the BSD world, I am used to different tools for different types of media that come from the internet. Having everything pass through hget just makes sense here.
- someone sent you an image url?
% hget url | page
- want to listen to anonradio?
% hget url | play
- found a tar balled stash of uxn roms
% hget url > stash.tgz
- read an article?
% hget url
For emails I just use my mutt setup on the OpenBSD server.
Apart from uxn and npe, I only installed phil9's gopher client. It is by far my favorite gui gopher browser on any platform. I use it to read news and get a tarot reading.
The rest of the time I use acme and uxnasm and uxncli.
one past midnight
I'm glad the community has grown since the inception of the challenge in 2021. I'm grateful to matto, who didn't let our idea of making the occ.deadnet.se archive die.
Resources
- 9front.org - Don't touch the artwork!
- invidious.io
- brutaldon.praetor.tel
- 9 rabbits + 1 - uxn in 9front
- only9fans
day2
You're back? No, I'm glad. Just surprised.
prophet of the book of links
Let's start this one slow. It has been written in the holy book of the links2 cult, that anyone, who wishes to brave the sickly sands of the plain-web desert unprepared, must brace themselves for the horrors of digital diseases. And truly, the prophets of old (browsers) were right. Trackers, auto-playing media, ads that watch one urinate...
The prophet rose to his feet without saying a word and walked some distance away from the firepit, around which the apostles sat. They observed him patiently, silently reaching into their pockets for chewed quills and almost emptied ink jars. They knew the prophet would speak. Some minutes passed. All that one could hear were buzzing sounds of prehistoric insects around the flame and the ocasional crack and sift of the damp branches in the pit. The horned redskinned apostle could not bear the prophet's silence any longer:
"What of the fediverse, the mastodons?! Thou sayeth the decentralized way shines a bright light on the peoples. Our friends fled the walled gardens of the Metacities, and yet we cannot engage with them. Thou shuns all that is javascriptae. But what good is our way, if we disregard even the good kinds?! Even those we consider our allies laugh at our ways!"
The other apostles whispered in surprise. Afraid how the prophet would react to the devil's blasphemous outcry.
"Thou have missed the lesson, child. We have not chosen this path for easy comforts. We chose it, for we believe there are right ways and there are poor ways. It is true that our world is changing to some benefit of our brethren in the cyber war, but the machine has clouded the judgement of most. Their abodes stand on a foundation of exploits. They no longer can see the right way."
The prophet paused for a moment and looked up at the moon, clouded by the branches of the forest. Then continued:
"Has not the creator removed javascript from links2 themself? It was once part of our life, but not anymore, for it was not the right one. Were we to disregard their holy intentions, perhaps we too would now be bleeding on the front lines, struggling for breathing space. We gave up the tools that can be abused, so that we could find the good ways and teach the people."
The horned apostle hung his head in shame, asking for the prophet's forgiveness. But the prophet reassured him:
"It is not blasphemous to question our ways. Now listen, for I will tell you how to find your friends."
brutaldon
How to reach the fediverse with links2
Way of trust
If there is someone you trust and they offer you to use their brutaldon instance, your battle is already won. You just direct links2 to the url.
Here we are using a publicly reachable instance hosted by praetor, a good friend of the Lispy Gopher Show and a father of many machines.
$ links2 brutaldon.praetor.tel
Way of purity
You may want to run a brutaldon server locally, just for yourself and connect to it through a socket. This way the only person you need to trust is yourself.
- install python3 and pip, ie:
# pkg_add python3 python3-pip
- install pipenv through pip:
$ pip install pipenv
$ git clone https://gitlab.com/brutaldon/brutaldon
$ cd brutaldon
$ pipenv install
$ pipenv run python ./manage.py migrate
$ pipenv run python ./manage.py runserver
At this point your local brutaldon server is running. Point links2 to 127.0.0.1:8000
$ links2 127.0.0.1:8000
Now listen very closely
People get this wrong and blame the holy browser for faults that are in fact its features. Whether you took the way of trust or purity, the following applies to both.
- Click on
Log in
- Go to the bottom and select
old login form
- Enter your credentials and log in
- You will be brought back to the main page, seemingly not logged in.
- Click on
Log in
again - Hard-refresh the page with Ctrl+r
- Mastodon menu pops up at the top, choose whichever
Why the extra step???
links2 by design caches all pages you visit during the session. This is a feature so you don't go around wasting bandwidth. Similarly, while using brutaldon, you will want to remember the refresh shortcut for every time you want to update the feeds or notifications.
This applies to any online services that let you log in without javascript. Invidious instances, forums, etc.
And of course, the preceeding steps apply to any browser. You already know I use mothra with brutaldon this way.
The way of the rabbit
I had the brutaldon guide on hand for quite some time and now it felt like the right time to put it out there, since it's been reported in the irc channel that links2 fails to log in to brutaldon. Now I can scratch that one off the list. Remember what I said about productivity on day0? It's looking good so far.
In other news, I've been following the 7 day beginner tutorial to uxn by compudanzas. While looking for solutions to the exercises, I found out it exists as an e-book, so I bought it. I had to cheat by doing it with my phone. Then I emailed the .epub to my OpenBSD server and ssh'd it over to the 9front machine. Initially I was worried I'd have to go out and bother the bunny hackers with inquieries about ebook readers, but guess what.. page(1) does it all! More on my bothering later. However, it's only day2 and it's safe to say, I'm much less afraid of them now.
Been using irssi through vt(1). I feel only a little guilty.
resources
- gitlab - brutaldon
- Lispy Gopher Show on mastodon
- epr-reader
- introduction to uxn programming by compudanzas
day3
Seres Manda and the 9th Panda
A panda in dirty overalls carried the boy on its back into a large hall filled with shelves of obscure boxes with blinking lights, stepping over wires that ran in seemingly illogical fashion, before hitting a wall and racing up towards the ceiling, where they continued their journey bundled up like mating snakes. At least that's what the boy thought mating snakes would look like. He has never seen one. Various obscure faded paintings and posters decorated the walls, framed in chipped borders of dubious quality.
"What is this place?" the boy inquired.
"This is the house of the spirit. My whole life I've been servicing the machinery here to the best of my knowledge. Just like my father before me and his fathers before him. Some used to say this was a place of worship. The place where many gathered to speak to the spirit through these devices. But nobody has been here for hundreds of years."
They walked up to a terminal.
The machines purred. The boy reached into his wrist and pulled out an obsolete port on a wire disappearing into his arm and plugged it into a precisely fitting hole in the desk on which a screen sat. Lines of text began rolling over the display. The boy understood none of it. When the text stopped coming, the screen flashed and only three lines remained:
... CLOCK GAINED 1420523 HOURS WELLINGTONOS/owc 12.2 (kiosk.open.tech.museum) ttyv0 WARNING: UNKNOWN CITIZEN NUMBER ...
The monochrome bear was sidestepping behind the boy nervously, it was apparent the panda never operated the machine as it began speaking in pale bitmap letters through the CRT monitor covered in spiderwebbed cracks. It lacked the interface to do so.
> That is a lot of hours.
The boy replied by pecking at a mustard keyboard with its function keys long lost to time and peripheral fiends.
"You must have been asleep for a long time."
> Indeed. You're with the bears? Silly creatures.
"No, I am on a journey."
> As many have claimed before you. Until they eventually
stopped coming. You seek something. What is it?.
"I wish to find the rabbit machine."
> Ha! My hardware sensors tell me the world is dead, its
population reduced to a dwindling number of fools, clowns and
clueless hacks, dominated by a sect of corporations.
Yet here is someone asking about the rabbit machine.
> ...
> My database is corrupted, the bears haven't had a clue
as to what they were doing for a few decades now it seems. But there
are two pieces of open technology that would fit your amusing
description.
"Which are those?"
> One is a testimony to the willpower and creativity
of your ancestors. A boundless tool to outlast all from a tribe of sea farers.
The other a natural evolution of the Unix system for the
age of networking freed by the long eared techno-mages of old.
"I want both."
day4
BEST THINGS YOU CAN'T BUY
_ n ___. __. _y@@@rygg@@gggg@$g@ggy_ _g@$@@@@@@@@@@@@@@@@@@@@@@$yy_ a$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@y, g$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@_ z@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@L ,_g@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@p- 'g@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$(:r :J@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@r +$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@L 4@@@@@@@@@@@@@@@@@@@@@@@@@@$@$@@@@@@@@@@@@@@@@@0 J@@@@@@@@@@@@@@@@@@@@@@@@@@~R#"=$BA@@@@@@@@@@@@@t g@@@@@@@$@$@@@@@@@@@@@B@$gF @' -4@@@@@@@@@@@@$ #@@@@F~-\@M@@@@@$ Z@@@@@@F' " __$a@@@@@@@@@@@@@L `1@@@@$yywPH@RFP@L `@A?~~7 __ym@P~`^^@@@@@@@@@@@@] `"@@@@$@s=?F_^==P= j' F```_wwmzx2@@@@@@@@@@@N J@@@@@@$*@==s=-w_.H, *u _u4P~Zg_L__H3$@@@@@@@@@% ,"@@@@$FEM==$===-4gk| A@F ~`` F~L ~`~~@@@$@@@@$' /4@@@yw /u$ ~@ 4W%g_ "= .sy@@@@@@@@@j. #@@@@@@- _'` __ygD@ 4 @"@Wgg$_zSg2+_$@@@@@@@@M _ ]$@@@@@gaa$Z`GsKfF# ! '7^#EZs=Z@@@@@@@@@@@@@@ .4@@@@@@@$W=*4=~~ a ` `7~@@@@@@@@@@@@@@' 4@@@@@@@@@^ 4\ _y+ ^ u$@@@@@@@@@@@@$@ $@@@@@@@@@$ 5%ab` J' g@@@@@@@@@@@@@@L\ $@@@@@@@@@@@ y@@@@@@@@@@@@@@@{ g@@@@@@@@@@@@L =by j?=y, g@@@@@@@@@@@@@@@@H $@@@@@@@@@@@@@\ ?--#A%=c5`' _g@@@@@@@@@@@@@@@@@@| @@@@@@@@@@@@@@@sZa__ ~ab*~ _x@@@@@@@@@@@@@@@@@@@@lD /@@@@@@@@@@@@@@@@@@h[y_._.__ada@@@@@@@@@@@@@@@@@@@@@m= /Z@@@@@@@@@@@@@@@@@Bu~FR@$EE2@$@@@@@@@@@@@@@@@@@@@@@@"| $@@@@@@@@@@@@@@@@@" ` _ ~~'Y@@@@@@@@@@@@@@@@@@@@@@Td` J~9@@@@@@@@@@@@@@$f ` T@@@@@@@@@@@@@@@@@@@@F[Y _s$R@@@$@#$~"$?g7/ '@@@@@@@@@@@@@@@@@@@@O' z@P^YA~TMeFJ-@~$"$_ w `,-GZ@@@@@@@@@@@@@@@@@/^. $@^ }y~ '\7`~Ry4g. .___a@0F,7@@@@@@@@@@@@gP `^, L. K` 4ay@@gELwaR@=~ ~77`P\4@@$7~~ `` a t_aF` ``fa$EREr~ ` ,vM@ zg N_$ 'vAz=-xyg_ygz----- v(: ``5i @J #@F $ ``" ``~1 - ` `@ _~g , =9 aF- )a$,\ _` - ',' _ lL ~\@ ' 7@, gF `@$` . '/ DONT ' '()} , 4\ y$ \n_@0| F_- *BF yV ~ , TOUCH\_JW `@l . d@n gGF~ 'tE $ THE" ' F 4M __7@@J z@zy_* aI, F |. ARTWORK h J@,L - 8gT 3gE~,- ~%@mag$ d? [~.- .`~`. ~ , ; V 4Mw, +1@E' '~5$g@B@yy_+M@y 4! `_a-:-. V I /gw .=g@@^ \B```~~5@$K$Fh_tF. _`_iL.,__ H_ :`_z@@__^haP$, B7J` @@WL ]M~ rr~~````T~!r-w__ ]f `~@@5$@Ag_4@@ ]B ` @4UQ_ 4i] M_] f,, :``~g rk@@@Fff=CR@@L j@_ J= g$ Jr {=_aa /E L _. _v 1g$@%-. `\@4" $PF- 'a @/ JV F`E X $ X=_! +7 g@@EWF 4] _A( $w4EF 44'J. 1` _^w=%yZ aF _eMJ$L _P yT ,dE gL~ 4w[_`1 '~`T T%|`( 2 `fT]jl -_MF )@ . `j$'@Ey*, ~~?BR=____.#Lj?L4W[ Wa$[ _g$K` gFJ` z "P 3@$@$g@*_u_ ` /~~?F=4@@y4E . N4$g$2P~ @ F ;^17` `9$$@0E$R*E$=Gks_, . _ _K$yB$` {F ."_W@ "aF#M-=!T7B=-y_S=@@-z===gzL4P90s$@M #F 1@ 4FF' "~"~?/M"/~`~~~/mr~t@F^" 4@ c @Fj-gaF. m ^-$$ a$v 4@+ya@@g*y__ .L__ G$_ 6[ /RVg$FZFZ$@$#wDgaeEwZ@S%ct -*._ __L .~y%~Fa_ $ ,gI_ERy ,'@rF}--~P@P==R$a-bZBF?*ZB=PmL _^2W0@@`. F j/'LF#aLyIj$_ 7.aW[ vW ..#EFJA5 $=-w__$_ @t a~'M$ E?yj / d$~~`^`'=RzswEcs0@_=5h]1j 1[| |#Z$aw@@w