box.matto.nl
Enjoying Open Source Software

Xorg-less on a thirteen year old netbook

Last week was the 2024 edition of the Old Computer Challenge. The first edition was in 2021, which was initiated by Solène.

You can read the original announcement on the website of Solène. For more information, see occ.deadnet.se.

I decided to go this year without Xorg, and just work on the console of a thirteen year old Acer Aspire One 522 POVE6.

Motivation

The enshittifacation is everywhere. The siren call of ads and influencers tries to lure us in. The soul-sucking algorithms and dark patterns of big tech steal our most private details, which are then sold to the highest bidder and used to trick us into purchasing planet-destroying meaningless stuff.

We'll fight back. Like Gandalf, we will put our cane firmly into the ground and tell big tech they Shall Not Pass. Let them eat their own solyent green, because we are not going to do that anymore.

We don't need flashy new computers and bloated software. A machine and some software that does the most essential is enough. This wisdom can not be obtained by reading some articles. It must be experienced. That is why we do the challenge.

During the Old Computer Challenge we will take a step back, and see things from a new perspective.

Acer Aspire One 522 POVE6

This is a laptop from about 2011. It has an 10.1 inch display with a resolution of 1280x720. It comes with an old fashioned spinning disk.

Some other specs:

  • CPU: AMD C-60 APU with Radeon HD Graphics
  • GPU: Wrestler Radeon HD 6290
  • RAM: 768MiB

As you can guess, this is not a fast machine.

The keyboard is not terrific, but usable. The key travel is good. The key caps are totally flat, no indention or any other shaping. The arrow keys are very tiny, but that helps to keep up the muscle memory for not using them :)

The mouse works. As far as I can tell from having copied some text, the trackpad is OK.

The battery still had some life in it, fully charged it could run for about 70 minutes.

Photo of the Acer Aspire One next to a ThinkPad X201
Photo of the Acer Aspire One next to a ThinkPad X201

Text only

This years edition of the Old Computer Challenge I will use a non-graphical environment. No Xorg, no X11.

It helps to see things from a different perspective. Besides that, there are some other reasons:

  • By choosing a text-only environment, it is probably easier to keep the enshittifacation at bay. The coming days will show if this indeed is the case.
  • A text-only environment brings us closer to the original Unix computing experience.
  • It takes me out of my comfort-zone :)

Not running X is easy on FreeBSD, because the default install is text only. One has to install Xorg c.s., which I didn't do on this laptop.

Operating system

I wanted to enter the challenge with an OpenBSD machine. However, the WiFi chip of this Acer Aspire is not supported by OpenBSD, so I installed FreeBSD 14.1.

I installed it with ZFS as file system.

Display driver

The display driver is loaded by adding the following line to /etc/rc.conf:

kld_list=radeonkms

With the default font, this results in a display of 45 lines with 159 characters.

Most of the time I switched terminals with Alt-Ctrl-F1, Alt-Ctrl-F2, and used a few terminals at the same time. Sometimes I used Tmux, but this eats the two bottom rows of the screen real estate.

Mouse

During some debugging over IRC, it was useful to be able to copy and paste with the mouse. Normally I would use tmux for that, but to prevent losing the IRC connection, I had switched console with Alt-Ctrl-F2.

Adding these lines to /etc/rc.conf will give a working mouse in the terminal:

moused_port="/dev/psm0"
moused_type="auto"
moused_enable="YES"
moused_flags="-m 2=3"

I didn't use this for very long, because I had some embarrassing unintended pastes in an IRC buffer. Just placing your palms on the palm rests was the cause of this. I commented out the moused_enable line and when in need of a mouse I could always use onestart to start it.

Emacs

To be able to use the Backspace and Delete key, I had to add the following line to my ~/.emacs:

(normal-erase-is-backspace-mode 1)

My goal was to use Emacs as much as possible.

IRC

IRC is an important part of the Old Computer Challenge experience. The #oldcomputerchallenge channel in Libera.Chat brings together a diverse group of wonderful people. The conversations are inspiring and fun.

I use rcirc, which is an IRC client that comes with Emacs. It works fine, I use it with the ZNC bouncer, to prevent some FOMO. The only downside is that I haven't found out how to use the rcirc/ZNC combo with multiple IRC networks.

The smol web

Elpher is a wonderful Gemini- and Gopher client for Emacs.

Sometimes I use lynx to quickly open a Gopher URL.

eww is the default web browser in Emacs. I have also installed lynx and links. The user experience is not that much different, apart from the key bindings.

Of course, there is only text, no images or videos. Which is mostly good, it keeps out a lot of the enshittifcation. On IRC somebody posted a link to a screenshot. Viewing this of course, is now off limits.

Given the small height of the display, reading gopher- , gemini-, and web pages require more scrolling than I'm used to.

RSS feeds

RSS feeds are wonderful to keep up with your favorite blogs. Websites in the smol web are not promoted by Google, Bing, and so on. RSS feeds are therefor essential.

I use the RSS-to-nntp service from gwene.org to follow a number of feeds. To get some different experience, I installed Elfeed on this laptop. Elfeed is a fine RSS reader for Emacs. Both methods works fine.

Gopher

I love to hang out in Gopher space. I love the format, and the content/noise ratio is very good.

To keep up with blogs there are RSS feeds, to keep up with phlogs there are aggregators. Bongusta and moku-puna are some great aggregators. When I don't have much time, I just visit my own, called phlog roll, that only follows a few phlogs.

See: gopher://box.matto.nl/1/phlogroll

Gemini

I haven't visited the Gemini-verse for some time. Recently I have added Antenna to my jump table, and visit it at least once a day.

The reading experience is the same as with Gopher, and again the content/noise ratio is good.

Jump table

I make use of the webjump package in Emacs. This is a rather old package, but it still does its job fine.

In the jump table -actually, it's a list- I have a number of favorite places that I like to visit daily.

One great aspect of it, it that it doesn't care what kind of URL you put in it, it can be a gopher link, gemini link, or a web link.

I freely mix all three the three types in it.

Email

I use Gnus for email. A FreeBSD jail is the central mail-sever in my home network, running Dovecot as IMAP server and sendmail as SMTP server.

Jabber

With the Emacs jabber mode I make use of the Jabber server of SDF.

Short notes

For short notes I use M-x remember. Again, an old Emacs package.

This works fine out-of-the-box, only the date format needs to be set to more sensible format:

(setopt remember-time-format "%A %d %B %Y %H:%M")
(global-set-key (kbd "C-c r") 'remember)
(global-set-key (kbd "C-c C-r") 'remember-notes)

Battery

Emacs can show the status of the battery. Just add the following to your ~/.emacs:

(display-battery-mode 1)
(setq battery-mode-line-format "[%b%t minutes] ")

Toot

Unfortunately, mastodon mode doesn't work in Emacs on the console. It persists in wanting to render some images.

toot is an TUI client for the Mastodon protocol, written in Python. The installation went easy, there is now a FreeBSD package for it. If I remember correctly, previously I had to install it using pip.

Lisp development

It seems a nice experiment to do some Lisp development during the Old Computer Challenge.

Currently, this website is generated by a Common Lisp application that I build in a FreeBSD jail on my small jail server, using Clisp.
To gain a better performance, I compiled it with some minor modifications in SBCL.

For fun, I also created a jail with CCL. In this jail, CCL builds the entire website from the Markdown sources in 12 seconds. I installed CCL on the Acer Aspire 522 and again let it build the entire website. This took 103 seconds.

The Acer Aspire One 522 has an old fashioned spinning disk. The writing to the disk of the HTML files could be a cause for the longer build time. To test this out, I created a 5Mb ramdisk, mounted it and let the script write the HTML files to the ramdisk.

This didn't change much, time reports now 102 seconds.

Using Quicklisp I started building a new project using the hunchentoot webserver. When writing and testing functions the lack of performance is not important. I did get some work done, coding on the laptop is fine, except that some Emacs key bindings collide with the terminal and can't be used.

Experiences

The lack of video playback didn't hurt me much, I seldom watch videos. It is sad to see that the art of writing good old fashioned HowTo's is almost disappeared, and people tend to make videos in stead.

Not being able to see images was a bit more a pain, certainly when people on IRC shared links to screenshots and other interesting stuff.

Using Emacs on the console (terminal) is a bit PITA, because several key bindings collide with the terminal. It requires searching for alternative key bindings, testing and installing those, and add them to your muscle memory. This is an investment that only is sane when one intends to use Emacs on the console for a long time.

Mastodon

Mastodon without images is something else, this is quite a showstopper for me. I haven't done any statistics, counting or other kind of research, but it seems that 75% of the toots come with an image or video. Going through the timeline without being able to view those, is not a great experience. I couldn't get myself engaged this way.

Laptop

I enjoyed working on the Acer Aspire, although it is not a fast machine. On the console, it is responsive enough.

What I like the most in this laptop is the form factor. It is a bit bigger compared to my old Acer Aspire ZG5, and also somewhat heavier, but it is still a nice small laptop.

The keyboard is not as good as the keyboard on the Thinkpad X201, but this a very high standard. Most laptop keyboards don't come close to the X201 keyboard.

The key travel on the Acer is good enough, Touch typing is fine, and I can get quite some speed on it, only the layout is a bit cramped and needs a bit to get used to.

Final words

The lack of a browser with capabilities to process JavaScript, and display images and videos, added a layer of tranquility.

Although in everyday life I try to keep away from enshittificated sources, and try to keep away from sensational news and stuff like that, there was still a difference.

This was a bit surprising, I have been using text mode browsers like eww, lynx and links for many years. But, for example, in eww, it is easy to change the view of the current page by hitting '&' (shift-7 on my keyboard). This command lets eww open the current page in Firefox.

My conclusion is, that I still let myself to be lured too much into opening pages in Firefox, and have to look into that.

Reading the phlogs, gemtexts and blogs was an important part of the OCC experience, which I enjoy a lot. This year I was somewhat less active on IRC as I would have liked. Still, I enjoyed to be part of it and enjoyed the general mood.

A second conclusion is, that in the months before the challenge, I have focused too much on only Gopher and must visit the Gemini sphere more. I already added Antenna to my jump list. I have to search for more aggregators and add these to my jump list too.

Finally, it was not enough of a culture shock, working on the console. For at least two decades I have been trying to use the mouse as little as possible, and adjusted my tools and workflow accordingly. Regarding from this view, I have to come up with something completely different for future challenges.

I enjoyed being part of the challenge, being part of the community and thankful for everybody involved.

I hope to see you in the #oldcomputerchallenge channel on Libera.Chat next year!

Tags:

⇽ Create small Common Lips projects with cl-project Self hosted pastebin and file dropper for text browsers ⇾