Old Computer Challenge 2023

This article will document my experience participating in Solène's 2023 Old Computer Challenge. You can find other participants of the challenge here.

Feel free to reach out on fedi if you have any feedback or comments!

The Machine: Asus Eee PC 701

mamizou, the Eee PC 701

Meet mamizou, the Eee PC 701 I'll be using as part of this challenge. It has a 900MHz 32-bit Celeron processor, 512MB of RAM, and a tiny 4GB SSD. I got this about a month ago for 80 Canadian dollars, which I consider to be a hell of a steal considering it's in great physical condition and how lightly used the battery seems to be. It came preinstalled with a really strange stripped-down Windows XP install, which I promptly wiped and replaced with a Linux install.

The Eee PC 701 was one of the first machines to kick off the netbook boom of the mid-2000s. I used a Dell Mini 9 as a daily driver during my first few years of college, so I know using this calibre of hardware for modest computing needs used to be possible back in the day. I guess we'll see how viable it is today when paired with appropriate software.

The OS: SliTaz Linux 5.0

Finding a modern Linux distribution that continues to work on older hardware like this was a challenge. I had originally given antiX a shot, and while it would run fine as a Live USB image, it wouldn't install to the Eee PC's measly 4GB SSD. I also tried downgrading to the more slimmed down antiX images, but they wouldn't boot at all, so those were out of the question.

Because of this, I had to look for more aggressively minimalist distributions, and that was when I discovered SliTaz Linux. The full-fat SliTaz live USB image comes in around 50MB which is absolutely absurd for everything you get on that image, and as you'd expect it has extremely lean system requirements as well.

SliTaz reminds me a lot of what running Linux on a netbook was like in the heyday of netbooks, but with the minimum amount of software updates necessary to keep it relevant for today's world. As of the latest 5.0 release, SliTaz is more of a rolling release kind of thing, but as most of the software dates back to the glory days of GNOME 2, XFCE, and LXDE, much of the software in the repositories isn't actively being maintained anymore. I think I've only been prompted to install software updates twice since setting up this machine when I first got it a month ago.

I have not been able to set the governor so that the CPU runs at its lowest clock. I don't know if it's because of the antiquated kernel version (3.16.55), but I can't find the cpufreq folder where it should be. In any case, I think using sixteen-year-old hardware that spends much of its time running at 650MHz is well within the spirit of the challenge. :)

Monday, July 10

Four times a week, I work out to some HIIT videos. I downloaded these for offline use a while back due to how often the Internet connection in my apartment would drop as I was working out, so I pre-emptively converted these to 240p 2.5mbps MPEG-4 videos and watched them in GNOME MPlayer. GNOME MPlayer's full screen mode doesn't work like I expected it to. Videos don't fill the screen if they are smaller than the screen's resolution, but are centered within the blacked-out screen, so I followed along with the workout videos in the middle quarter of the 7-inch display.

I'm using a combination of Midori, a GTK+2 WebKit-based browser, and Bombadillo, a command line Gopher + Gemini browser to stay connected. Midori does a fantastic job of rendering most documents on the modern Web, but it collapses on itself when you try to get it to run a Web application. The one exception to that is Brutaldon, which I am using as my client to interact with the Fediverse. While I would vastly prefer a native GTK+2 client, none of those seem to exist for now (foreshadowing?)

Midori allows you to customize which search engine is used from the toolbar, so to reduce load times to the bare minimum, I configured it to send queries through Duck Duck Go Lite, which has no JavaScript, no images, no ads, and minimal styling. This makes searches super snappy. I can also use the usual !bang commands to quickly turn it into a site-specific search by adding a suffix such as !w for Wikipedia or !scry if I want to look up a Magic card someone's talking about on a podcast.

I spend a lot of my time browsing the smol Web and avoiding Web apps already, so I haven't had to adapt my browsing habits much to the more limited hardware. Primarily, I'm not reading cohost (which is unusable in Midori) or watching YouTube as much as I normally would in a week where I'd use my iPad instead of this Eee PC.

Publishing to my Web site is done via datenshi, the same shell script I have been using for the last decade. This shell script compares the modification date of each Markdown file in a folder with an invisible file's last modification date, and any newly-modified file since the last publish is converted to HTML and fed into a rudimentary template. I then manually take the list of HTML files logged in the console and push them to my server over SFTP. It's low tech, but it's good enough for my needs and exactly the way I want it.

One of my weekly engagements is to organize an online fighting game tournament for some friends in a Discord server. These brackets are organized within Challonge on the Web and are played out through Fightcade. I expected this would be a pretty big obstacle to this challenge, and I was right:

Because of this, I had to resort to using Discord and Challonge on my phone, and booting up the PC to play my matches against the other participants.

Tuesday, July 11

I did foreshadow it a little bit yesterday, but I did start messing around on a side project as part of this challenge. Here's a screenshot of what I'm calling Loxodon, a GTK+2 Mastodon client.

Screenshot of Loxodon, a GTK+2 Mastodon client.

I've been poking around the SliTaz repositories looking for scripting languages with working GTK+2 libraries, and it seems that a lot of them are currently broken, but Perl 5 and gtk2-perl appear to be working, so that's what I went with. It has been almost fifteen years since the last time I tried to write anything substantial in Perl, but it's been fun to get back into it.

It's also been creatively freeing to be working on what is essentially an obsolete base platform that isn't actively maintained. Having coded for Apple platforms for much of my life, everyone knows the base rule that you do what Apple tells you to do, otherwise the technology you depend on may suddenly be pulled from under you a few years later. You are constantly having to keep up with a software treadmill, and that become even more draining if you, like me, disagree with the direction Apple has been headed in with its developer platforms.

When I'm targeting SliTaz and this ancient Eee PC, I don't really have to worry about any of that. I can just use whatever I want to solve my problem however I want and have fun learning things instead of constantly getting derailed by a platform holder's decisions.

Right now, Loxodon is merely a UI sandbox as I get used to using GTK+2 and laying things out. I can't tell if I'm just dumb and can't figure it out, or if GTK+2 just gives you really poor controls for sizing and placing UI elements within containers. I would love to get it into a more presentable state, and then get to work on integrating the Mastodon API client into that UI. I honestly don't think I'll be able to finish this within the week, given how busy this week is for me, but it may be something I continue to work on as I quite like this little machine and don't think I will abandon using it once the challenge ends.

Wednesday, July 12

mamizou sitting on my hotel bed as an episode of Kamen Rider Black plays

A friend of mine hosts a weekly TV night for their Discord server every Wednesday, and it's become a highlight of the week to watch old anime and tokusatsu shows with like-minded weirdos (non-derogatory).

I missed out on last week's TV night due to the heatwave ruining my sleep and needing to catch up on some Zs, and I was going to miss out on this week's TV night too because I had to go on a business trip to Montreal to meet a client.

This indirectly made it easier for me to adapt to my hardware restrictions this week, as I was able to fetch last week's content ahead of time and preemptively transcode it to something the Eee PC could handle, the same 240p 2.5Mbit preset I mentioned for the workout videos earlier in the week.

I got to lay down in the hotel bed with the AC making me freeze for a change, and watch the next chapter in the sukeban feudal period. Not a bad way to spend a night in a hotel room.

Thursday, July 13

Going on this work trip with the Eee PC and one of my Canon point-and-shoot cameras really made me appreciate how nice it is to have a computer with a built-in SD card slot. I don't need to worry about RAW format compatibility or anything, I can just go out and shoot and immediately use them without needing to hunt down a dongle or cable. It's probably faster for me to share photos from my point-and-shoots (such the one I attached for the Wednesday post) through the Eee PC than on any other device I own.

Not much other computing to report on today. Most of the day was spent at the client's office or returning from Montreal and somehow evading a cumulative count of ten tornado warnings impacting downtown Montreal during my stay. By the time I got home, I was too exhausted to do anything else.

Friday, July 14

I spent all evening at a work party and got home too exhausted to do anything on the computer, so nothing to report for today.

Saturday, July 15

We had to reschedule our usual Thursday podcast recording session to Saturday this week since both of us were out of town. We typically use LINE to run the voice call for the podcast and not wanting to inconvenience my cohost, we just went ahead and ran that on my Mac mini as usual.

Gameplay of A-Train running in DOSbox

Upon perusing the SliTaz repositories, I was trying to find some games I could play on the Eee PC this weekend. There weren't that many up there, but one of the standouts on the repository was the DOSbox emulator.

I've been wanting to try out the MS-DOS version of Artdink's railway business simulation game, A-Train, for quite a while now and compare how it plays to the PlayStation version I'm more familiar with. It turns out that it runs beautifully on the Eee PC, largely thanks to its 800x480 screen resolution running many DOS games at their native 640x480 resolutions. It really makes the game's beautiful pixel cityscapes shine.

Sunday, July 16

I was considering the possibility of editing the podcast on the Eee PC, since I know Audacity has been around for an extremely long time and still makes versions available for some pretty ancient computers. Unfortunately, the version packaged in the SliTaz repositories did not appear to launch properly, exiting with a library load error.

This really underscores one of my main issues with the SliTaz Linux distribution: the quality control of packages in their repositories is very questionable. About two thirds of the packages I tried installing through tazpkg were unusable upon installation. I'm not sure if it's because packages are not retested when their dependencies are updated, or what, but the already limited binary software options are even more limited in practice.

I can't complain about the experience when limited to the packages included on the Live USB image, but things get significantly rougher as you branch out of that, and I'm not sure I can recommend the distribution as highly as I had hoped to because of that.

Takeaways and Conclusions

Coming soon...