75 comments

[ 3.0 ms ] story [ 135 ms ] thread
In the first half of the 2010's, I still used an old 32-bit desktop PC well past its best before date. It had more RAM and storage than the specs of the challenge, though.

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.

(comment deleted)
I've no intention of taking this challenge but that doesn't mean that I haven't imposed some restrictions on myself in the past! Up until 2018 I was using a Phenom II X2 unlocked to quad core. It was fast enough for its purposes overall but the main problem was that the browser and websites were so far on it because it didn't have any built-in video codecs. Doing a video call on Google Hangouts at the time was enough to peg the CPU at 100% on all four cores!

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.

> 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.

Yes, that was the conclusion I came to as well. Websites are no longer documents. They're software. Too bad.
> with 1.5gb memory. Even with the lightest weight Linux I could load on it, it wouldn't load most web pages.

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.

That's because of this: https://en.wikipedia.org/wiki/VideoCore

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.

I wasn't running any hardware accelerated stuff except for video games. That would (I guess unintuitively) take up more memory.
OH I don't mean GPU accelerated, I mean that there are video codecs built into the CPU so they don't have to be done in software. That was the killer for my Phenom II.
My main laptop is a Thinkpad x200 (Intel Core 2 Duo) with 8GB of RAM. I like the idea of her challenge, and I have a T61/T61p hanging around two that I have thought about toying with.

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.

A good SSD would take some of the bite out of that 512MB RAM requirement. Swapping to SSD is much less painful than swapping to a slow laptop HDD.

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.

ZRAM makes 512MB really bareable, as if you had 1GB.

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.

I also still use an X200 and only rarely feel the need to upgrade. There are some sites that load a little slow, probably some activities I can't do, but mostly I just get stubborn and paraphrase Office Space: "Why should I change, [this future] is the one that sucks!"

Agree with you on RAM and SSD. My wife had an X200 as well until recently with 4GB, and that was mostly unbearable.

Heh, the only issue I noticed with my X200 is if I am forced to use Zoom, I cannot do anything else on it. Besides that, I can't tell a noticable difference between my x200 and my much more modern Desktop rig.
I have the same setup [0]! My main PC is a slightly more well-equipped Haswell rig, but I certainly love my x201 to death. I've also got maxed out memory, though I upgraded to an SSD some time ago (a swan-song upgrade on a device like this). I still prefer taking the x201 on trips if I need to get stuff done, even though I have a maxed out T460s sitting in the dock, ready to go.

[0] https://sync.toast.cyou/index.php/s/yXJFd3T5HJejDBa

I'm a little bit embarrassed to admit I don't have any computer that low-spec. My most puny device is an Asus EeeBox, which has an Atom N270 (32bit, single-core, two threads) and 1GB of RAM.[0]

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. :(

> 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.

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.

- Install ZRAM on your Linux distro

- 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.

That atom powered Eeebox was great. It worked in bright sunlight, super portable and light. I used it as a field mapping unit, with a GPS plugged into it, and off line maps. When in WiFi space I could download maps etc. ( I used Ozzie Explorer to digitise paper scanned maps and as GPS interface.) It worked until 2018 when unfortunately... broke the screen.
You're thinking of the EeePC, the Netbook (I happen to own one as well, still working). The EeeBox was a desktop PC, although I think internally it used pretty much the same hardware.
Eeepc 901.

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.

Here are some ideas:

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 am using Asus netbook with 1GB RAM, 32GB SSD (and vanilla Ubuntu) quite regularly, and use it to write Haskell programs. Frankly the small disk is more of a concern, but I have to be mindful of memory also. If I run Firefox, Emacs and GHC together, there is a high chance that I run out of memory (and more likely than not, Linux OOM will kill a wrong process after a 20-minute system freeze).

(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.

> (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,

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).

Would be interesting, but my old ThinkPad X31 has a dead battery and a broken charger.

As many already has mentioned, browsing the web would probably be the biggest issue.

Time to dust off my old 2003 12" Powerbook G4!

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.

My first new personal laptop! It's funny I was amazed how small it was, but picking it up recently it feels like a giant brick.

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.

I've got a 2004 14" iBook G4 I was thinking the exact same thing about. Diablo II and Simcity 4 ran just peachy on it last time I got it out during COVID lockdown.
At first impression this seemed nice; a call to use a less capable machine for a while, which would certainly make developers more understanding of people with lesser hardware, reduce e-waste, etc.

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.

(comment deleted)
Looking at the other comments here, it sounds like the sticking point for many is that the migration of everything to cloud computing already happened, and the problem is webapps assuming you can easily devote tons of RAM to them.

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.

For each webapp you can use a local lightweight alternative.
i am still useing sometimes an eee-PC 701, 900mhz, 2gb ram, 4gb ssd, 16gb sdcard, as work/everyday linux machine. web, email, python, C/++, vim, whatever. That means what, 12 years? Waw. Original battery still holds 1+hours. Now on archlinux 32bit, about 2 years old. And all is fine. Sometimes also i teach python classes, and that is being carried around and vga-projected.
How do you survive the keyboard long term?
it just works? Maybe coz i don't pound it, it doesnot need to. The right arrow sometimes misses, but only sometimes. And i had to fix/glue the touchpad buttons, they started to come out.

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..

Thanks. I didn't mean the quality of the keyboard which seems to be very high from your reply. I meant when I typed on the eee my hands started to hurt quickly, the spacing of the keys seemed to small to comfortably use my 6 finger typing system.
I suggest you Void Linux, it has a musl build. It may run far better than Arch.
I used a Samsung netbook for many years until it broke during an upgrade attempt. They were surprisingly capable.
The battery on mine's pretty much dead, I've replaced the keyboard and power supply over the years and it keeps on going. I'm running Haiku OS at the moment, but Void, antiX, EXE GNU/Linux, Q4OS Trinity, Refracta and even (once it finishes booting) MX Linux will run acceptably on it.
> 512 MB of memory (if you have more it's not a big deal, if you want to reduce your ram create a tmpfs and put a big file in it)

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.

You understimate what we accomplished with 512MB of RAM in early 00's. Use a lightweight DE, or no DE at all.

I use cwm+st under Void and OpenBSD and it flies.

Yes, 512MB might still be usable with a 32-bit distro, as was used in the early 2000s.
My Athlon had 256MB and it ran Kopete and KDE3 fine.
I had 128 and was still fine, in fact I remember the first day i felt it was so fast lol
My old Sun 3/60 ran X11R4 with twm just fine in 24MB... and I had to walk up hill to school in the snow, both ways!
I remember the insane improvement I got from upgrading my Amiga 1200 from 18 to 130 MB RAM. If I'd still had it, then I'd be more than happy to use that -- I tried something similar around '05 and a 50 Mhz 68030 was more than enough for most of my daily stuff back then.

The biggest hurdle would probably be a modern SSH-client.

There are SSH and TLS clients for the Amiga in Aminet.

You may need a 68040 tho.

If you looking only at distros like lubuntu ... but there are barer, like puppy linux!
I plan on joining, at least watch the fun. I do have 2 old systems, the oldest is AMD 333 32bit with NetBSD on it, but the system needs a serious upgrade on NetBSD (I think it is 6.x). I am hoping I can get that ready by the 10th. (cdrom flaky)

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 :)

Running Samsung Dex with Termux with tmuxinator, spacemacs, taskwarrior with karmawarrior, frotz, aerc, rdk77's elinks and bluetooth keyboard
I can fit on an 8mb (doesn't matter) machine no problem. ssh->tmux on my VPS, no need to change a single thing.

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.

512MB are enough to play 720p video with a good video card and good mpv/mplayer settings.

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.

Bitlbee does wonders for inter-communicating with people.

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.
My main laptop is in the shop so my Tadpole Viper has been my daily driver for a little bit. 1.2 GHz UltraSparc IIIi with 2 GB of RAM running OpenBSD 6.9. As others have remarked, the lack of a broadly useful web browser is the main pain point.
The problem is they allow VNC in their rules. Which means you can just remote into a regular computer.

Take that part away and it's interesting.

I think that is just a weakness in their rules rather than the overall concept though.

I like ideas like this but in my current situation this is simply kinda dumb[0]:

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.

> pronouns she/her

Isn't that among the things which should stay at twitter?

Absolutely not.

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.

A first-gen Pi should be perfect for this.
As a keeper of pretty much every computer I've ever owned, I think the Nascom-1 from 1979 (2MHz Z80, 768 bytes of RAM, no, that's not a misprint) is out even if it does have a video display and full-size keyboard.

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....

>Any 486 would definitely do it... Starting to get to the point where there's a DVI output

DVI on a 486? Were there any ISA video cards with DVI out?

There was motherboards with PCI for 486.
I've built an 8088 "PC" replica with modern components on a backplane architecture (try searching "Xi 8088").

It's an interesting machine to build and play with, and you can definitely run Linux on it with ELKS.

Could you run Linux on a 286?

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... )

386 was the first x86 linux would run on (because the 286 memory management was...interesting). We did plenty of custom systems on linux 0.99/1.01, typically with 386/16's and 4Mb RAM (seeing off quite a few SCO-based setups in the process).
Doesn't Linux require an MMU for virtual memory, which the 286 doesn't have iirc?
wow, an 7600GT sounds like overkill for a p3, I remember I bought a p3 with a geforce 2 and later upgraded to geforce 4, but did not experience too much of an uplift, because the cpu was the limiting factor
For graphics mode, certainly - but for plain text/framebuffer CPU is much less of a factor and I've never found anything faster that a 7600GT.
I have a new very powerful laptop: ASUS Zephyrus G15 (GA503QM), AMD Ryzen 5800HS, 16GB of 3200MHz DDR4 RAM, 500GiB NVMe, NVIDIA GeForce RTX 3060 that I’ll probably literally never use (seriously, I wish they’d make powerful laptops without dedicated GPUs, but they basically don’t exist as a class—I think a couple by Tuxedo are all I found of the 4000H-series). I’ve been playing with ways of reducing its power consumption. I use Arch Linux. I’ve got it down to about 6.2W at its best and can easily keep it under 9W on my typical workloads without getting too aggressive.

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.

Awesome idea. I love the idea of giving some love to old hardware. Obviously your experience will vary depending on what you're using it for, but I'm interested to see what experiences people will share. I predict people will find creative ways to perform tasks with the limitations of old machines, which is always exciting to read about.
I see most of the comments here being around specs, I think that leaves the more interesting bits out of the convo.

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?

Several years ago (Maybe around 2014?), I set up an old Toshiba Satellite Pro 4600 laptop, just to see how usable it was. It had a 1024x768 LCD panel, a Pentium III, and 128MB of RAM - which I upgraded to 512MB. I used the stock mechanical HDD, although in retrospect I think an IDE-to-CF adapter is the way to go (IDE-to-SD adapters exist, but they are slower than a decent CF card).

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.