The Old Computer Challenge
dataswamp.org
dataswamp.org
But on closer reading, this seems instead to be, in effect, a call to migrate everthing to cloud computing, and to abandon having your own computer at all and rely completely on locked-down platform locally. That would not really be something I could get behind.
The escape hatch in the rules, I figure, was more because you're not going to be able trivially to respec any cloud servers you already have for the week.
Maybe a PDP-11/03 or 11/23? Too noisy, I think. And while RT-11 is lovely, I'd be limited to writing text, C, and Fortran. Oh, and PDP-11 assembler (maybe just punch the opcodes in in octal, as it's so easy to translate in your head on a PDP-11).
Amiga 500? Nope, won't run GCC.
A 286 or a 386 is looking more serious. Some of them have a good 8Mb of RAM, VGA output and ethernet. Could even run linux, something like 2.2 from the days when a system worked well with 4Mb RAM.
Any 486 would definitely do it, all the 486/66 boxes just turn on and go (one has been doing daily duty as an autoattendant for maybe 15, 20 years). Starting to get to the point where there's a DVI output, so nice text on an LCD (the massive 27" Diamondvision CRT can stay wrapped up).
Hmmm....now, a Gateway 166MHz Pentium. That's nice, because it's pretty much silent, runs 100Mb ethernet and has a Matrox video card. Zero problems working with that for a week (or longer) except for web browsing (there's always links/lynx et al).
An 800Hz PIII with 512mb of RAM and an Nvidia 7600GT video card would be fantastic - those video cards were the fastest text kids on the block (scroll about 600k characters per second at 160x60 on 1600x1200 framebuffer). XFree86 from 2004 works fine, but a web browser would have to run on a faster box and export the display (which would be cheating). Old versions of Firefox are plenty fast enough, but will crash PDQ on many modern sites.
So really it'd be the modern web holding me back; too slow, bloated, and inefficient to run snappily on pretty much anything short of a 4GHz+ multicore with 8Gb or more of RAM and at least 100Mb ADSL.
Think I'll go cry into a paper tape reader now....
DVI on a 486? Were there any ISA video cards with DVI out?
[0] https://www.google.co.uk/search?q=486+with+pci+slots&hl=en&s...
It's an interesting machine to build and play with, and you can definitely run Linux on it with ELKS.
Back in the day I remember there being a project called “elks”, the embedabble Linux kernel, which attempted to achieve that, but it wasn’t a ‘full’ Linux IIRC.
(Edit - looks like ELKS is still with us, primarily aimed at 8086 - https://en.m.wikipedia.org/wiki/Embeddable_Linux_Kernel_Subs... )
Also, mocp and mpv as audio/video players. Youtube-dl works with mpv.
Config:
cat ~/.config/mpv/config
sws-fast=yes
sws-allow-zimg=no
#zimg-dither=no
vd-lavc-skiploopfilter=all
video-unscaled=yes
ytdl-format=bestvideo[height<=?420] [fps<=?30]+bestaudio/best
More lightweight tools: - Mupdf for cbz/PDF/epub files.
- ImageMagick/Xpaint for image creation/modification.
- Sxiv as the image/gif viewer.
- Sc-im/visidata for spreadsheets.
- Groff+ms||groff+mom/Ted for documents. By "groff" I mean eqn/tbl and so on.
- Gnuplot for graphs, or grap from troff/groff.
- Already said, but swirc+bitlbee. Get the libpurple build of bitlbee, you'll get lots of supported protocols with that build. Yes, telegram-purple does work.The biggest problem in this challenge would be the web, I suppose, as a recent web browser that supports Javascript and all that will easily use more than 1GB of RAM just by itself.
I like the idea, though.
[0] Strictly speaking, I also own a mid-1990s ThinkPad with 24MB of RAM and a 80486 CPU, but that device has no storage except the HDD, no network, not way for me to attach any network or storage, so it's practically useless. :(
You'd be surprised, I've found that 1GB devices are still quite usable on the 'modern' web by adding some swap space and not having too many tabs. Of course that's approaching the lower bound of usefulness these days.
- Ublock Origin is a must. If not: https://github.com/StevenBlack/hosts. Clone it, backup /etc/hosts, append the content of the /hosts subfiles MINUS the localhost and ::1 lines.
- Use a bare window manager, not a DE. Cwm, icewm, doesn't matter. Use lxappearance to set up your gtk theme to something you like.
Great little machine :)
I added a 64GB drive to mine, increased the RAM to the max supported (2GB? 4GB?) and used it for years with Debian, after running it as a hackintosh for a while.
1) Scavenge an old PC from a tag sale, estate sale, thrift store, or eBay. Or see if there's one sitting by the dumpster. A PC from 2004 or so should do nicely.
2) That ThinkPad may have a serial port. Connect it to a PC through a USB-to-serial dongle. If the newer PC runs Linux, you can run PPP or SLIP on it to turn that serial connection into a network connection. For bonus authenticity points, it will communicate at mid-90s consumer internet speeds!
(I wish I could get rid of Firefox from the three, but I need to look up documentation for whatever language I use, usually Haskell, and eww is not a replacement, because it's not multithreaded, Emacs freezes when it needs to format a web page.)
In any case, in early 00s, I was using a 486 machine with 12 MB of RAM with Linux. It was spartan but writing Latex (I think I was using Jed and twm at the time) was possible on it.
Lynx, Links, Elinks, W3M, Netsurf, Dillo HG from mercurial (openssl-dev, fltk-dev and mbedtls-devel as dependencies, I can help with a custom build in a breeze).
The two hardest parts of this challenge:
- 512 MB of RAM: There are unfortunately a lot of programs like to eat up RAM (I am sitting at 3.9 GB used right now on that Thinkpad).
- (not a hard requirement) HDD. HDD is unfortunately painfully slow. I put an SSD in the x200 and that make a world of difference for speed.
The single core CPU only requirement makes finding working hardware quite a challenge. Core2 era chips were usually dual core, and the single core options were mostly put in trash that people have already thrown away.
I used a ZipitZ2 with 32MB and ZRAM, I could even watch MPEG/DIVX videos on it with mplayer and multitask over CLI with streaming music.
Agree with you on RAM and SSD. My wife had an X200 as well until recently with 4GB, and that was mostly unbearable.
The other old system is a tpad R51E, but 2 gig memory with OpenBSD. I may try and remove 1 gig, the 512mb is long gone. But really hoping to have the AMD 333 ready :)
My memory is a bit fuzzy, but I was able to install Lubuntu with LXDE (or maybe it was some other distro with LXDE?), and browse the modern web with Chromium - albeit painfully slowly. Around 15 seconds to load bare-bones pages like HN. I guess it was swapping to disk...
I did test Firefox too, but it performed worse than Chromium.
Lubuntu has changed their goals a bit since then, so YMMV if you wish to use it today:
https://lubuntu.me/taking-a-new-direction/
"we will no longer primarily focus on older hardware"
It's sad to see them change course, but I don't blame them.
You can actually reduce your RAM easily by booting with the mem=512M boot option. Though IME this tends to make even a lightweight distro grind to a halt; you need at least 1G for even the barest usefulness.
I use cwm+st under Void and OpenBSD and it flies.
The biggest hurdle would probably be a modern SSH-client.
You may need a 68040 tho.
Nearly everything kind of worked, except for being kind of slow, but it had an early 2000's AMD CPU which lacked support for even SSE2. That started being an absolute dealbreaker for more than one application.
I can't think of mainstream 64-bit PC CPUs with only a single core, and 32-bit support might be another absolute barrier, depending on your application needs.
Other than that, it might be mostly a matter of dealing with potentially slow performance and lack of storage. The former may or may not be an issue depending on your patience and everyday reality. The latter would become an issue in a longer-term deal, but for a week it might not be that hard.
Source: https://en.wikipedia.org/wiki/Sempron#Models_for_Socket_AM2
When I code anything for fun I don't even need to try it, I'm 100% sure I could use my 2004 laptop for this, it fits the specs except for too much ram and I played around with it as recently as last year.
When I need to visit certain websites that will make the poor computer nearly explode, it's not a challenge for me, it's simply a horrible experience waiting 3 minutes for your page to load (in Chrome, I tried it). Or I need to use lynx.
For work.. I think I might even get by with just needing to wait 5x as long for the compiles. I will get by with using vim and grep instead of IntelliJ. The real problem would be Outlook for the Web and Slack, not the code. (Maybe JIRA, not sure).
But, worst of all, the things I actually enjoy, playing certain video games, that's the only thing that dies right in the water, because they won't run.
So not sure if "challenge" is the correct word. Or my computing needs are simply not so high, most of the time.
[0]: Not sure how to phrase it better, I don't mean to disparage the idea, the author, or anyone doing that. I'm simply _very_ confident that I can predict what will happen for me exactly, on a case by case basis - so it doesn't sound fun to take part.
you know, i have even intentionaly thrown the thing a few times on the (hard) floor, just to show off how sturdy it is :) And baked it on the beach (the fan is cut off since day one)..
Excellent quality, sturdy and durable machine, i haven't seen anything comparable ever since. And it wasn't even expensive..
Since this challenge does not affect work. You're free for a week to find a new fun workflow to do with an old computer. It doesn't need to be the same stuff you usually do. You might not need to be able to load the web, it is OK to stay away from the Web for a couple days off-work, and find something else to do that is suitable for your old machine.
Also, I expected most people to take this as an invitation for some retrocomputing week, but from what I see most people will be running some form of modern UNIX-based system. There is nothing wrong with it, it is just that wouldn't that make it simply feel very much like your normal machines?
I used to have a laptop that was a Celeron 1.4ghz with 1.5gb memory. Even with the lightest weight Linux I could load on it, it wouldn't load most web pages.
This seems to be the biggest challenge to overcome, really. Looking at my daily computer usage, much of what I do is browser-based (email, calendar, CRM, connecting with customers -- heck, even the product my company creates is accessed through a web-based console).
Web pages these days are so much more than just "web pages" -- they're entire programs, effectively, which means they have hefty requirements.
The rest of what I do is console-based, and I can use just about anything with a keyboard, screen, and network connection -- up (down?) to and including my VIC-20.
That's a bit odd. I used a raspi (1GiB aarch64 sbc with WiFi and SD card) as a desktop in college and while it was unpleasant to have Firefox and LibreOffice open at the same time I don't think I ran into anything that flat out didn't load.
The rpi has hardware video acceleration even just a little bit, and the Celeron 1.4ghz laptop I had did not have any hardware acceleration of any kind. That was the difference really between my Phenom II X4 and the Ryzen 5 1400. Aside from obvious architecture differences, if my Phenom II had the video codecs built in, it'd have been plenty fast.
There's more to CPU's than clock speed and basic architecture. Features matter.
Take that part away and it's interesting.
I think that is just a weakness in their rules rather than the overall concept though.
Much more interesting would be an old computer disconnected from the internet. 512mb is enough to get away with it if you're not crazy with your desktop environment although it would be tight now even for fairly conservative people.
I think even 128MB would be enough under cwm+mplayer if the iGPU is at least from 2006/7.
For games, meh. Nethack, Slashem, IF (frotz), MSX emulators with the Metal Gears and the Konami Games, and Mednafen.
Man, I loved that thing. So many hours playing Civ3, Warcraft3, and writing Java code. And that aluminum keyboard was so awesome. It booted successfully as recently as 2 years ago.
Mine has 640MB RAM, close enough for this challenge, I guess.
I also remember it being a lot faster than it was - some of that might be age, but I suspect we used to just be a lot more patient with the slowness of HDD.
Isn't that among the things which should stay at twitter?
At a barest minimum, some names like Terry are unisex. Other names like Andrea are masculine in some countries and feminine in others. Finally, say you, an English speaker, encountered the web site of a person named Fang. Are they a man or a woman?
Pronouns in the bio help resolve confusion in all these cases, and that's before we get into LGBTQ issues.
As many already has mentioned, browsing the web would probably be the biggest issue.
CPU: disabling cores is easy: `echo 0 | sudo tee /sys/devices/system/cpu/cpu{1..15}/online >/dev/null` leaves just the one thread, cpu0. (I don’t know if this approach will speed things up a bit again by disabling Spectre/whatever mitigations; maybe it does, or maybe you need to explicitly disable SMT via `echo off | sudo tee /sys/devices/system/cpu/smt/control` or similar, or maybe you still need to mess around with kernel parameters like mitigations=off.)
Keeping it to its minimum clock speed is easy: `echo powersave | sudo tee /sys/devices/system/cpu/cpufreq/policy*/scaling_governor >/dev/null 2>/dev/null` (2>/dev/null purely for convenience because the write will fail on offline cores and announce that to stderr). This is probably obviated by the next step, but I mention it anyway.
As for what the minimum clock speed is, normally it’s 1.2GHz, but I discovered that if you tell the CPU to use an absurdly (implausibly) low power limit, like `sudo ryzenadj --stapm-limit 100 --fast-limit 100 --slow-limit 100` (100 meaning 100mW), it drops its clock speed to 400MHz. That’s pretty good for old-computer simulation. (For my purposes of reducing power usage: it uses no less power at 400MHz than at 1.2GHz when idle, though under a heavy mixed load it’ll stay under 10W where 1.2GHz can get past 14W. Undervolting might have some effect, I’m not sure, but I haven’t played with that.)
I can report from personal experience that it’s definitely slower with one thread at 400MHz than sixteen threads roaring along at 4GHz (seriously, I’ve found compiling workloads like the Linux kernel and Rust can sustain 4GHz on all cores indefinitely in the current winter ambient temperature of 10–20°C), but still pretty usable.
But that’s only the CPU—it’ll be enormously faster than a genuine old computer with a 400MHz CPU for anything memory- or I/O-bound. I have no idea how to slow down other parts of the system. To be a realistic simulation of an old computer, you’d need to throttle the GPU (amdgpu, don’t even bother with nvidia), memory, storage, and perhaps network. I should try to find out about these at some point (or someone can tell me!) and see if I can reduce power consumption that way.