Emulating Mac OS X Developer Preview
After getting the first consumer release of Mac OS X 10.0 running in an emulator, I was curious if I could get one of the earlier, pre-Aqua UI, builds running.
From my own trials and what I could find online, it seems the first Developer Preview can’t boot on QEMU, but people reported success with DP2 and newer…
Success! DP2 works in QEMU.
It’s easy to see right off the bat how this operating system is a bunch of different technologies duct taped together…
It’s very surreal to see Mac OS X without a dock and a UI that’s really NeXTSTEP with a Mac OS 8 like coat of paint on it. As John Siracusa says in his article on DP2, “Actually using DP2 is akin to logging into a demented Xterm running a poorly designed window manager theme meant to look something like Mac OS.”
The “File Viewer” is especially rough. I’m not sure if it was an issue with the install on my emulator or if this was how it behaved on real hardware at the time, but I had a hard time even browsing to and launch applications. Instead, I was happy to find that I could use the ‘open’ terminal command I’m familiar with from modern releases of Mac OS X to launch applications and open the “File Viewer” in a particular folder.
I’m curious if Mac developers were actually productive in this environment considering how limited everything was. I suspect it involved heavy use of the embedded Classic Mac environment to get anything done.
Nerdy note: here I’m running a virtualized Mac OS 9 in a virtualized on Mac OS X which is itself running in an virtual G3 PowerPC computer in an emulator that’s compiled for x86 which is being translated on the fly via Rosetta 2 to my MacBook’s native M1 Apple Silicon instructions. Whew. Can’t believe it works.
internet commons and the open web
DHH in his Hey World blog:
When I started working with the internet in 1995, it truly did feel like a commons. You were free to put up your own site, on your own server, whether your purpose was business, art, or simply being there. […] The time when the internet had enough mainstream interest and presence to be a big factor for a lot of people, but before it had been majorly enclosed by Big Tech and the dominant platforms.
[…]
This is why we need to keep zooming out in the fight for the internet commons. See it as part of a broader struggle for an internet free of gatekeepers and enclosure.
[…]
Open pastures on internet commons, not enclosed or captured by any one company.
I may not agree with every bit of this post, but the core of its message in support of an open and unenclosed internet really does resonate with me. It was the 32nd Birthday of the proposal for the World Wide Web that motivated me to restart my blogging efforts here and host this content in a place that’s available on the open web and syndicated using standard technologies, rather than posting directly to enclosed networks.
I think it’s important to keep the web open and this is one way that I can participate in that.
I recently learned about the --dirstat flag for git diff and found it to be really helpful to gain some insight into changes per directory in a large codebase. I created a simple zsh function:
function git_dir_stat_before() {
h=`git log --before=$1 | head -n 1 | awk '{print $2}'`
git diff --dirstat=changes,cumulative,1 $h...master
}
which can be used to calculate stats over a particular timeframe, like this for 2 years of commit history:
git_dir_stat_before 2.years