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.
- 2024-07-02: tested DVI-to-HDMI adapter with an external screen; corrected Python 2.5; corrected video memory.
- 2024-08-17: added workarounds; added conclusion, after using the machine as a daily driver during the OCCv4.