TiBook

To continue with our tradition of hand-me-down Macs, dkbox gifted me his ancient PowerBook3,5 (aka TiBook), which I’m now considering using as my main machine for the upcoming Old Computer Challenge v4 (update: conclusion).

The machine has pretty decent specs (for 2002): a 32-bit, single-core PowerPC CPU clocked at 867Mhz; 512MB of RAM; 40GB of spinning rust; a USB2.0 expansion card; and even digital video output via DVI! Most of that can also be upgraded/expanded.

This post is a bit of a free-form documentation of the machine’s quirks, a TODO list / what-if of a sorts, but also an appreciation of the era’s hardware, software, and design/aesthetics. I might update it at some point to reflect any fixes/upgrades I’ve done to keep it alive.

Hardware

Quick rundown of what exactly we’re dealing with, plus the theoretical maximum of what we’d be able to squeeze out of the machine:

Component Currently rocking Upgrades / limits
Model PowerBook3,5 (A1025)
CPU G4 (7455) @867Mhz @1000Mhz?
Memory 0.5GB (2x256MB) 1GB (2x512MB)
Hard disk 40GB @4200 rpm IDE-to-CF adapter
GPU Radeon 9000 32MB 64MB?
Ext. video DVI, S-Video
FireWire 1x FireWire 400
Network Gigabit Ethernet
Wireles None via PC Card slot
USB 1.1 2x built-in via PC Card slot
PC Card 1 USB 2.0 adapter Good enough?
PC Card 2 Empty (internal) Wireless adapter
Battery None Maybe; dangerous
RTC Battery Dead Perhaps; which?
Screen 1280×854; hot pixels DVI 1920x1080@60Hz
Trackpad Small, single button External mouse
Keyboard Actually decent External

Theoretically the biggest issue with its current state is the lack of battery-backed anything, which not only makes it desk-bound (unless it’s OK to reboot), but also resets the system clock every time it gets unplugged. The latter issue also seems to cause it to require a static IP address, as it frequently has problems acquiring a DHCP lease (which in turn prevents it from updating system time via NTP). So it tends to only be portable in theory. I don’t mind that however; I’ve moved away from using a portable device as my primary computer a long while ago, specifically because I don’t want too much computer in my “real” life.

The actual main issue is the screen (or perhaps the GPU?), which has a vertical line of hot pixels running across - it’s not a complete disaster, but it triggers me. The DVI port works great with an external screen; I was able to get full HD output (1920x1080 at 60Hz). Both mirroring and extended desktop work fine. I will probably continue using it with the external screen.

I’m somewhat annoyed by the spinning rust slowdrive, but for now it’s fine to just be reminded of how absurdly fast modern NVMe storage is, compared even to 2012 standards - when SSDs started to become the norm, and a popular upgrade. There’s an option to employ a CompactFlash adapter, and (depending on which one I get) install up to two CF cards, which would cheaply get me an absurd (by 2002 standards) amounts of fast storage; this has become a very popular choice among Amiga enthusiasts. Some people have also reported success using IDE SSDs with this particular machine.

The fan noise is also a bit annoying, especially after three years of living almost exclusively on ARM.

Software

The machine is currently rocking Mac OS X 10.5.8 “Leopard”, which is the latest and final (2011) update that it can receive. There’s also a limited choice of less official and/or community distributions, such as the 10.6 developer preview, or the “Sorbet Leopard” frankensystem; it can also run Mac OS 9.2.2 (for which it would be a total beast of a machine).

The system comes with Python 2.5 installed, which gives me CentOS 6 flashbacks (YES there are still systems/appliances in production, past OEM’s EOL support, making real money, that run this ancient release). So I’m actually considering that as a primary language for both simple scripting, and more “serious” development (the main alternative being Objective-C & friends; Swift didn’t even exist until 2014).

I use Go for some of my essential or preferred software; however Go, having been released in 2009 - past Apple’s 2006 Intel transition, has never ever been released with support for that platform (or even just the CPU). The community effort / “enthusiast market” is currently not ready.

Web browser choice is easy. There are effectively only two of them, that are “modern” and “good enough” for some very light, casual, slow, and low-expectations browsing: Safari (no longer updated as of 2011), and TenFourFox (a Firefox fork spun off from 45ESR (2016), permanently about to be completely discontinued).

The biggest problem however, is that the machine’s G4 CPU is struggling to keep up with modern encryption (I imagine this has mostly to do with lack of AES acceleration). Both SSH and TLS tax the single core with a lot of work; you can feel the machine struggling, keypress by keypress, over a remote terminal session.

All of the above issues would for example, make it pretty difficult (if not outright impossible) to post regular status updates on my blog, like I did during the Old Computer Challenge v2. I’ve been wanting to post updates from my phone for a while as well (which can’t easily run Git, Hugo, etc), so perhaps it’s time again for some more technological churn? (Now that I see that 2-year-old post mention 2024, I can’t help but laugh at myself.)

Alternative operating systems

Some of the issues could be partially resolved by installing a recent release of an alternative OS that still supports the hardware; the primary candidate would of course be OpenBSD/macppc, which explicitly lists our model as supported.

However, while a different operating system could of course address a lot of security issues (of which many have been known for years), it won’t address e.g. the lack of ppc32 support in Go (as well as many other packages; compare 7.5’s 12309 amd64 packages, vs 9980 on powerpc), the poor performance of modern encryption, or the raw hardware requirements of modern web in general.

It would also mean giving up Mac OS, which (despite of how absolutely amazing OpenBSD actually is,) is still my favourite operating system of all time; and that specific period in its existence (long before #ffffff for UI background was thought a sane choice, W.T.F. Apple!) feels just magical.

The magic of OS X Leopard

So many of the basic guiding principles that made me mostly abandon FOSS desktops for macOS in 2019 are firmly present in this release, that I can’t help but wonder… I was first exposed to the Linux ecosystem around 2002 (having used a couple commerical Unices much earlier in my childhood), and both the software, as well as the community around it, shaped my interests, worldview, values, and professional skillset. Macs at the time were horrendously expensive (the TiBook costed more than a fancy car), and hardly a popular choice, so the odd chance of running into one in the wild was pretty miniscule. But I can’t help but wonder - how could such an experience have shaped my life?

Anyway, while the machine feels slow by today’s standards, the system doesn’t feel “old” or “outdated”; quite the opposite, it feels carefully put together, with little space for pretentious bullshit. Many familiar tools or key shortcuts existed even back then (e.g. Cmd-space to search for things, even though the dialog looks very different). Many of the accessibility tools are also available, but I didn’t even need to enable any of the most direly needed options (like “reduce transparency”), because Apple by that time has already figured out that less transparency is actually better (a trend that has unfortunately been pointlessly reversed). Similarly, the animations / things-that-move are tasteful accents that improve accessibility and visual clarity, unlike the vertigo-inducing “live wallpapers”. Even task switching was already perfect, no need to steal all the worst ideas from the iPad.

The only thing I would really miss is Catalina’s Dark Mode, but I also prefer to stick to Light Mode during the day, and just not use a big screen at all after it gets dark - but this is currently a luxury afforded by the summer season.

I’m definitely planning to give both Mac OS 9 and 10.6 a solid go, and a lot of what I’ve heard about 10.6 is that it managed to bring many under-the-hood improvements, without changing much on the surface - which just makes me wonder if Mac OS didn’t peak around that time.

Overall, this machine and its system are bringing me a lot of inspiration, especially in the face of the ever-hysterical hype cycles, that fewer and fewer people seem actually interested in: VR still didn’t pick up; proof-of-waste is crumbling; generative AI seems to be peaking; I only wish smaller phones were a thing again.

Workarounds

Reset the system clock by polling an HTTP server

Tested on Mac OS X 10.5.8, and contemporary macOS. This will NOT work with GNU coreutils (Linux).

#!/bin/sh
url="${1:-http://1.1.1.1}"
dt="$(curl -fsS --head "$url" | awk -F ': ' '$1=="Date" {print $2}')"
date -f '%a, %d %b %Y %H:%M:%S %Z' "$dt"

Changelog

I might be occasionally updating this post with technical details, corrections, or verified working/broken hardware/software combinations.