2023-07-17
This post is a recap of my week doing the Old Computer Challenge 2023 (v3). For context, see my earlier post from day 1, or Solene's original post about the idea.
Old Computer Challenge 2023 day 1
Old Computer Challenge V3 Part 1 (Solene)
---
As the week of the challenge comes to a close, I'm already feeling like I want to extend it, and I'm typing this on my 'old computer', so maybe that says something.
I thought about titling this post "Old Computer Challenge 2023: The Good, The Bad and The Ugly," and I can see how I'd break down this post into those three sections, and I have definitely jotted down some "uglies" that I'll mention.
I often work on my computer late at night, so on midnight of the first day of the challenge I pulled out a Chip computer and tried to fire it up and get it working. After some back-and-forth between that and my other Pocket CHIP computer, I eventually discovered that I could use the Chip computer inside the hull of my Pocket Chip case. I used this lightly for a few days, then messed the thing up when I tried to keep updating Debian. The process to re-flash the Chip computer is very convoluted. And though I'd love to walk through and get my Chip computers useable again, I didn't want to deal with that, so chose a different thing to try: I pulled out my old Raspberry Pi 1B computer from 2013 and decided to see if I could install Void Linux on it and run it for the week.
I found it pretty straightforward to install Void Linux since I've now done it many times on many systems. I wrote a tutorial on setting this up on the Pi that you can consult. I'll also mention that if you're already familiar with Void this Pi setup doesn't require you to walk through the void-installer setup system.
Setting Up Void Linux on an Old Raspberry
Basically, unlike the Chip which had a distinct feel and operating system from my daily everyday laptop and my studio laptop, I now had yet another Void Linux setup with the i3 window manager. I think it's probably nice to have different systems and setups for different computers, but there is also clearly something to be said about having consistency. And because it was the same system I could really compare.
Out of the box Void on the Pi doesn't come with a GUI / X running. At first I installed my absolute basic needs, just a few programs like git and fish-shell, and I already had vi through busybox. I installed offpunk and amfora and w3m and links so I had a variety of text-based web browsers and gemini clients. And they all seemed to work fine and not much slower than my incredibly faster i7 laptop. Even startup of this old underpowered device went fast enough, maybe 10 seconds from power to the command line. I thought about basically just doing command line for the week. Beyond the above, it's now high summer and I use my bike to get around, and it's constantly alternating between high heat and rain this week, so checking the weather was very important to me! I can check the weather using curl wttr.in and I also installed ansiweather, or I can check the weather through Chilly Weather on gemini. I also installed Rogue, my favorite / most-consistent game that I have been playing for years, one of my fave games.
Void Linux on Raspberry Pi 1B, running i3 window manager, showing Lagrange, Feh and Terminal (jpg)
I read the news and kept up with blogs and gemini logs via offpunk and amfora. I prefer offpunk for http and amfora for gemini, so I kind of jump back and forth between the two. I've written about the gemi.dev domain and their great resources like NewsWaffle, so with this I was able to read the New York Times, which I read every day. I worked a little on editing some text, easy in Vim with github, so this was all pretty much the same for me as my regular everyday laptop.
But a day or two later I decided to do the full GUI setup. I wanted to use a full web browser and look at images. And that's when I added i3 and X to see what that was like. I immediately noticed a slower system, which makes sense. But this is when things started to become annoyingly slow. I didn't even bother with Chromium or Firefox as I knew it'd be painfully slow, so I installed dillo and netsurf as my GUI web browsers, and Lagrange as my GUI gemini client.
Even with mostly command line usage it was nice to now be able to have multiple workspaces open. In particular, toot tui command line Mastodon client isn't very pleasurable to use. I then downloaded w3m-img, which is the w3m command line browser with inline images added. I really like seeing everyone's posts in one screen at a time (I know it's "toot" but I can't bring myself to say it). toot tui I find hard and slow to read. w3m to view brutaldon.org client was maybe the best command line viewer of mastodon for me, but still hard to visually parse with my eyes. w3m-img was unfortunately too annoying as the pictures are all full-sized, so everyone's profile pic was huge, when I just wanted to ignore those. I installed Tootle, though it would occasionally quit and just seemed too slow and buggy for regular use. What I ended up doing was logging into the brutaldon.org web-based client with the netsurf web browser. It was slow to scroll, annoyingly so, but it works and let's me view many many posts at once, so I can quickly scan with my eyes, it's easy enough to read, and that's what works best for me.
I also wanted a desktop photo viewer! I installed feh, the basic image viewing program, and I also used it to set a background image for i3.
Writing this gemini log is easy and fast enough jut in vim, which I opted for instead of my normal neovim, just because vim is lighter weight on my tiny sd card. I tried using just busybox vi but I missed some of the keybindings I'm used to. Logging into Ctrl-c.club`s tilde server, and reading our messageboard, iris, of course was no problem.
Did I cheat? You bet. Especially at the beginning of the week, I was checking my work email and doing professional work on my regular laptop. Later in the week I experimented with doing some of my research work on the Pi, which went okay, though slowly. But there was an upside to that. I found that due to the time it took to look things up, it was harder to goof off on the Pi, and so I avoided social media except for approximately once-daily Mastodon check-ins.
The elephant in the room: I continued to use my phone this week for communication, maps, instagram. Probably would have been best to take a social media and phone break too, but I was too wedded to communicating with my partner and friends and family this way. And I'm performing in my city this week, so needed to spend some time promoting the gig on social media.
For entertainment, I wanted to play some games, and not just Rogue. I downloaded Pico-8, the raspberry pi edition, but I couldn't get it to run. It was built for Debian-based systems. However, I found that I could decipher what libraries were missing, and I downloaded and installed those directly via Raspberry Pi's firmware github repo.
sudo wget https://github.com/raspberrypi/firmware/raw/master/opt/vc/lib/libbcm_host.so -P /usr/lib/ sudo wget https://github.com/raspberrypi/firmware/raw/master/opt/vc/lib/libvchiq_arm.so -P /usr/lib/ sudo wget https://github.com/raspberrypi/firmware/raw/master/opt/vc/lib/libvcos.so -P /usr/lib/
Then run the Pico8 executable and it should now run on Void.
I launched it, smiling at my success. I have made a number of Pico8 games, and played many, for the past 7 years. On launch, Pico8 warned me that it would run at <30fps. I persisted anyway. I launched splore, the games browser, that lets you see games people have placed online. You can download or run them directly in the Pico8 program. Sure enough, games were a bit slower, especially the 3D ones, so I may stick more to the puzzle games, but still, it was fun and it's great this can work as a coding environment for making 2d games. I didn't need to do much web development work this week, but I think this could be tolerable if I'm mostly writing markdown, HTML and CSS without javascript.
Next I tried to watch a movie. I'm a big fan of the 1962 french film La Jetee by Chris Marker. If you're not familiar, it's a video novel told with a soundtrack over a series of still images like a slideshow movie. It's one of my favorite science fiction films. I downloaded yt-dlp, a command line tool, to download youtube videos and media from many other platforms. I pulled down the movie. I hadn't really spent time configuring sound on my Void system, and sound notoriously can be a pain to get going on Void. I specifically chose this movie because I figured even if sound didn't work and I didn't want to try to solve it I could read the subtitles, and if the movie skipped, it wouldn't matter because it's essentially just a slideshow. I was wrong. The movie took a long time to open and was agonizingly slow to play via mpv. I didn't really understand it because I thought I had played videos on my Pi previously, but maybe not. I remember running a slideshow on this computer a decade ago, when I was still figuring out the command line and Linux systems. Maybe my video on Pi computers were on later Raspberry Pi 3 systems. I'd love to hear from folks whether you can play video on a Pi 1 or if my experience was typical. In any case, I gave up watching La Jetee.
I downloaded some other games. I'm a fan of bsd-games, a collection of perhaps 30 or 40 games played in the command line, bundled into a single download, from the 80s I believe. Through this, I have backgammon (which is really fun to play this way, and comes with a great tutorial, teachgammon), boggle, cribbage, hangman, milles borne, robots (dalek), tetris-bsd, snake, and a number of other games. I also installed dune-buggy (kind of like Canabalt, or other simple platformer endless runners). These are all command line games. I didn't really try to install any other GUI games other than Pico-8. I used this Pi many years ago as a MAME emulator system to play old nintendo games and the like, so I suppose I could try installing that again but I didn't do it yet as I already have a handheld Anbernic retro game system.
In terms of reading, writing, being entertained - this system works for me. Void Linux is a great distro, and it's incredible they maintain repositories of software that can work for fast new computers and old minimal ARM computers as well, and still update the software repository. It's not as big a catalog as Debian, but it's plenty big, and the developers and community are helpful for troubleshooting or helping with packaging software. For "consuming" image and video content such as social media, the Raspberry Pi 1B is not a great system. For even my professional work, I'd need to be a bit careful. The system occasionally restarts X and all my programs close. I have to login and re-open whatever I was last in. This happened about once an hour or so, always when I was multitasking with multiple workspaces, so probably I could learn to avoid it by sticking to mono-tasking. It's not constant, and thankfully vim has the swap backup that auto-saves everything you write, but it's still annoying when X quits abruptly and restarts.
I was particularly interested in trying out this challenge because I've gotten more interested in permacomputing and resisting consumption, especially of computing devices. I'm heartened to know that this relatively recent old underpowered device can still browse websites I've made, is still very much a useful computing device with tools I find extremely useful. One of my next projects is to work on some simple command line and file browser tool for viewing collections of images and text. I'd love to have a system that can last and last and be resilient, to resist brittleness, by falling back on basic command line programs to do the lifting, essentially coding via gluing together basic long-running linux software. I'm looking forward to testing this out in the weeks ahead.
---
To leave a comment, email lettuce at the ctrl-c.club domain and state comment and the post title in your subject. Please list your name you'd like credited for the comment.