Multi Mac OS X Rescue Drive

Recently someone posted a great idea in a Facebook group for users of old Macs — but apparently wasn’t interested enough in the community to describe how it was accomplished. The idea is to have an external USB drive with multiple Mac OS installers on it, so you can restore or recover a wide range of Macs. Although all the instructions are online, they’re scattered across different sites that have to be pieced together. Here’s my attempt to collected everything you need to make a multi-OS recovery disk for almost any Mac made in the last 15 years.

Multi-boot Mac OS Recovery USB Drive

Things You’ll Need

  • A working Mac with a relatively modern OS (I used a 2008 MacBook Pro running a patched High Sierra)
  • The install media (disk, disk image or installer app) for each OS revision you’ll want (see links at the bottom)
  • At least 100gb external USB drive (an actual drive — not a USB key)
  • Optional, the DosDude patchers for any Mac OS you may want to shove on an unsupported Mac
  • Optional, but recommended, the latest Combo update for each Mac OS you may be installing. (I’ll include links to download these at the bottom of this post)
  • Moderate proficiency with Apple’s Disk Utility and just a little bit of Terminal comfort

Note: You’ll notice that these instructions stop at Mojave. So do I. You could argue that Catalina’s murder of 32-bit apps was necessary for the ARM-transition — and maybe that was right for Apple, but you can read why I don’t think its great for consumers.

Prepping the Drive

Warning: Throughout this process you’ll be completely wiping and over-writing drives and partitions. Always double check your target before confirming any action — you don’t want to accidentally wipe out the wrong volume. If you can, disconnect any drives you won’t need.

  • Launch Apple’s Disk Utility and select your USB drive on the left.
  • Using the toolbar at the top, format the entire drive (not just a partition) choosing the GUID partition scheme. Just use the default Format — usually Mac OS Extended (Journaled) — since we’ll be over-writing it later.
  • You should now have a big, empty USB drive with a single partition.
  • Using the toolbar at the top, click the Partition button, and add 4 partitions. For Disk-based installs, 7GB will work. For App-based installs, you’ll want 20GB partitions. Again, the default Format is fine. At this point, it may be tempting to add more — you can, but I found that Disk Utility is dumb if you add too many at once. You can add more later, but note that the total number of bootable partitions is 9.
  • Hit Apply and wait while the partitions are configured. When done, you should have 4 partitions you made, and a 5th partition of the remaining space. You can revisit this step when you want to add more than 4 operating systems, but I recommend you leave yourself a spare partition for OS Updates and other App installers you may need when rescuing a Mac.
It took multiple trips to the Partition window to get this many created successfully!

Writing the Bootable Partitions

There are three different techniques you’ll need to follow, depending on the era of the Mac OS, and whether you want to Patch it. I’ll cover each in brief, but depending on path, you may want to read up on other sources about the particular OS or Patch you care about — I’ll include links where I have them:

Writing Disk-based Installs

  • Early OS X used a 4-CD install approach and aren’t included in this tutorial. I’m still working on a disk emulator solution for this.
  • Starting in OS X Tiger, there was a DVD-based installer, but I haven’t been able to find a bootable image, and all my attempts at making this have failed.
  • I skipped Leopard, since it was a bit of a stinker. Everything that runs Leopard also runs Snow Leopard — and since it was my favorite OS X release, I started there.

Using either a bootable Mac OS X DVD, or a good disk image of the DVD:

  1. Pick a partition on your USB drive to host the new install and change the drive label like “Snow Leopard” or “Mountain Lion” (this isn’t strictly necessary if you’re doing this first, since it will be over-written, but the practice becomes important as you go along so you don’t over-write the wrong partition!)
  2. In Disk Utility, select the partition you picked, and press the Restore button in the toolbar at the top.
  3. Disk Utility will ask for the restore source — choose the Mac OS X DVD, or if using an image, click the “Image” button and find your Mac OS X disk image.
  4. Wait while the image is written to the partition.
“Restore” an Installer Disk Image to a Partition

The process is the same for Snow Leopard, Lion, Mountain Lion and Mavericks. And its really that easy — you might want to customize the partition’s boot entry a little, but I’ll cover that later.

Writing Un-Patched App-Based Installs

  • Yosemite seemed to be an awkward transition between disk-based and app-based installs; the only distribution I could find was an Install package, which didn’t work for any method. I had to skip this release.
  • El Capitan was the first true app-based deployment, and Apple actually documents how to write it to a USB volume — as they did with every subsequent release. We’ll be leaning on their help for non-patched partitions.

With the macOS Installer app handy in your Applications folder:

  1. Choose the partition you want to write, and give it a good drive label in the Finder, like “ElCapitan” — it’ll be easier if you leave spaces out, since we’ll be typing it in the Terminal.
  2. Launch Terminal
  3. Enter the command Apple specifies for the OS you’re writing, substituting your drive label for MyVolume value. Since I used “ElCapitan” in my example, the command will look like this — but remember this is different for each release. I’ll included a cheat sheet below.
    sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/ElCapitan --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app
  4. Wait while the image is written.

That’s it — but now you’re really going to want to customize the boot entry, so read on.

Writing Patched App-Based Installs

  • Starting with macOS Sierra, Apple really started tightening the screws on killing off older Macs with (sometimes artificial) hardware restrictions. Fortunately, a legend named DosDude1 has work-arounds — although be aware there are some caveats where older hardware may actually been unsupported, or have issues. Check his compatibility info for each release.
  • There is no harm in running a patched install on a machine that doesn’t need patches — you can skip patching post-install if you don’t need them. There’s no reason to have patched and unpatched install partitions.

With the macOS Installer app handy in your Applications folder, and the related DosDude patch available on the same computer:

  1. Choose the partition you want to write, and give it a good drive label in the Finder, like “High Sierra”
  2. Launch the DosDude patcher
  3. Click the first big icon to find the macOS Installer
  4. Click the second icon to choose the partition you just picked
  5. Click “Start Operation…”
  6. Wait while the image is written.
DosDude1 not only patches, but also writes the bootable partition. Genius!

If it fails, check your partition (re-format just the partition if necessary), and your macOS Installer app and try again — sometimes it can be a little touchy.

That’s it. You probably won’t need to customize the new partition’s boot entry, since the later OSes did a good job of this, but if you want to, read on.

Customizing Each Partition’s Boot Entry

  • For some versions of Mac OS, you might want to change the icon that shows up in the Finder for each partition. In most cases, double click on the Volume in the Finder and you’ll find an Installer or Folder that has a nice looking icon. Click on the Icon and choose “Get Info” from the File menu (or press Command+i). In the Info window, click on the icon (top left) and choose “Copy” from the Edit menu (or press Command+c). Now click on the Volume icon and “Get Info” on that, click on its icon and choose “Paste” for the Edit menu (or press Command+v).
  • The drive label you picked for your paritions will get over-written during the imaging process, and you’re free to rename it in the Finder — but that value gets ignored by the Mac’s boot loader. Some of them are really generic, like “OS X Installer”, which doesn’t really help. For older installers, where you need it most, a simple Terminal command will fix it. Launch Terminal and enter a command like:

    sudo bless --folder /Volumes/ -label

    Subsitute with the partition name and with the name you want to see in the Mac boot loader. For example:

    sudo bless --folder "/Volumes/Mac OS X Lion Install ESD" -label "Lion Install"
  • Note: If you want to customize newer Installs, there’s an extra step, which is documented here.

Using your USB Multi-OS Installer

Macs have a built-in boot loader that will enumerate available bootable media (including partitions) automatically. You don’t need to do anything fancy with an EFI partition. To use:

  1. Turn off the target Mac
  2. Plug in your new USB Drive
  3. Hold the Option key on the keyboard
  4. While still holding Option, turn on the Mac
  5. Continue to hold Option until you see icons start to appear for the different boot possibilities
  6. Select the one that is appropriate for the Mac you’re trying to rescue and boot from it

Some very old Macs may not be able to handle the partitions on your drives — those old Macs probably can’t use any of the Operating Systems on your drive anyway.

Additional Ideas

  • You can have up to 9 bootable partitions on your USB drive, so you can return to the Partitioning instructions and continue to add new partitions inside the remaining space.
  • Even if you max out the 9 bootable limit, you’re likely to be left with one big partition that isn’t bootable. I use this partition to keep Combo Update installers, and app installers that I frequently use on rescue Macs.

Finding the Bits

As of this writing, the bits for all the recent OS X or macOS releases can still be found online — some even from official sources. I recommend you download everything you think you might need and archive it somewhere for the day they disappear…

Mac OS X 10.4 Tiger
Mac OS X 10.6 Snow Leopard
Mac OS X Lion 10.7
Mac OS X Mountain Lion 10.8
Mac OS X Mavericks 10.9
Mac OS X Yosemite
Mac OS X El Capitan 10.11
macOS Sierra 10.12
macOS High Sierra 10.13
macOS Mojave 10.14

Managing Social Media: Facebook

The Delete Facebook movement has been around for a while now, and I have to admit, the idea is tempting. The downside of allowing a single company to have such an outsized view into our lives has become increasingly obvious, while the benefits have dwindled. By design, Facebook is more than just a social network – its evolved over the years to become something of an Internet hub. Sure, there’s a lot less people playing Farmville, but it’s still the closest thing to a ubiquitous messaging platform we have on the Internet, so it’s hard to just turn it off. Short of writing a letter and putting it in the mail, Facebook is the one place where I can get a message to most of my extended family. And there are things to be said too (both good and bad) about Facebook Groups, where strangers with common interests can meet and create connections — most of my hobby projects have been significantly helped by members of one Facebook group or another.

So quitting Facebook might be going a little too far for most of us, but maybe putting some limits on Facebook’s reach can help. Here are some easy steps you can take to control Facebook’s visibility into, and impact on, your digital life.

Delete the App from your Phone… Then Put it Back

Facebook’s mobile app, whether on Android or iOS, has a staggering privacy impact. Except on the latest OS versions, most of these permissions, once granted, are permanent, and accessible in the background. Recent improvements to underlying platforms have revealed numerous “bugs” that have all the appearance of spying on users – even while the app is not in use. For example, Facebook helpfully asks for access to your Address Book to facilitate “finding friends” but can use that information at will to quietly strengthen its social graph (the powerful database that makes Facebook so interesting to advertisers and political parties.) Recently a former engineer reported that Facebook experimented with uploading all your pictures in the background to “improve performance” when you chose to post a picture on their site.

Obviously, it’s nice to have your social network in your pocket – it’s convenient and helps pass the time. But, giving away all your personal data seems foolish. Fortunately, there is a work-around, and its actually quite nice. By design, your mobile web browser is a “sandbox” – websites can’t get the same permissions as Apps can, so they’re intrinsically safer. And to make it more convenient, both Android and iOS allow you to “pin” a website to your home screen so that you can launch it just like an App. The experience is slightly diminished from the full App, but its remarkably elegant, and significantly less intrusive.

The process is slightly different for each platform, but it amounts to:

  • Open Facebook in a web browser
  • Find the browser’s menu, and choose the option to Pin to your Home Screen
  • Find the new Facebook “App” icon on your Home Screen and launch from there
  • Use Facebook more-or-less as normal

A nice side effect of this change is that Notifications go away. You can always launch the “App” to see what’s new, but you won’t get things pushed to you constantly. Facebook Messenger is a separate app, which seems to have less privacy issues, so it can remain installed to allow message notifications.

Put Facebook in a Box

This tip applies to both your phone and your laptop or desktop computer, although the process is a little different. It requires you to get used to having multiple web browsers – and keeping Facebook in a secondary one.

Firefox believes that good fences make good neighbors

My strong recommendation is to use Firefox as your daily driver – it has an extension that can limit Facebook’s reach automatically. Chrome and Edge both are reasonable for privacy, Brave is better, but in other ways all of these browsers contribute to Google’s unreasonable control over the evolution of the Internet – but I’ll get to Google in another post. Suffice it to say, choose your main web browser and make sure you’re signed out of Facebook (and Instagram) completely on it. When you visit facebook.com from that browser, you should get prompted to sign-in – otherwise, assume Facebook is tracking you all over the web.

(Update: if you have to have Chrome, check out these extensions to help keep you safe.)

Facebook uses a browser fingerprint it establishes when you sign-in to their site, combined with tracking that same fingerprint detected through their pervasive advertising network, to piece together your browsing history — this is why Facebook ads seem like they’re reading your mind: they really do know everything you do online. Never use “sign in with Facebook” to log into a non-Facebook website or service. This is another way they track your activity. Your main web browser should be anonymous to Facebook at all times.

Once you’re confident that your primary browser is Facebook free, install and setup a secondary web browser that can be signed in with Facebook. Use this secondary browser for your Facebook community, and limit other web surfing. On a computer this is really easy – your computer comes with a web browser that should be your secondary browser:

On a phone this is a little harder, because you can’t completely change the default browser – the built-in engine will still handle embeds and links no matter what you do. But you can still follow the same pattern – create the Home Screen shortcut “App” using the built-in browser and install another browser to do most of your surfing.

Prune Your Timeline

Aside from its privacy issues, Facebook also functions as sewage run-off for some of the Internet’s worst information pollution. Political viewpoints turn angry during an election year (or pandemic) and sometimes it gets to be a little much. You may learn things about your social network that you wish weren’t true – or maybe you just need a break from all the memes.

Sometimes you have no choice but to just remove connections (de-friend people) if they won’t listen to reason. But often a genuinely decent person has just listened to a little too much Fox or NBC News and you need to take a break from the partisanship. It’s OK to “snooze” people or unfollow them. This allows you to stay connected, without having to get inundated with their ideology.

I don’t mean to suggest we shouldn’t hear ideas and perspectives that are different from ours – in fact, I believe it’s healthy to hear both sides of a debate… as long as both sides are rational, thoughtful and based, at least in part, on objectively verifiable reality, or reasoned interpretations of events. But not all opinions are created equal, and not all sources of information are valid. I’d advocate first for a loving attempt to reason, out of concern for a friend, but I’d also advocate (especially as my kids are moving into an online world) for a limitation of the pollution you expose yourself to online.

The Facebook timeline algorithm is tweaked for engagement (sucking you in) and for maximizing advertising impressions (keeping you on the site so you see more ads). It’s not a good source of information, any more than if everyone in town went to the same park and all started shouting our opinions at each other. Prudently manage who and what shows up on your timeline, or ignore the timeline entirely, in favor of personal interactions or Facebook groups that are healthy for you.

Set App Timers

If you use the Facebook app, or a dedicated browser, both Android and iOS will allow you to limit your time in those apps. You can use this for any App that you find yourself mindlessly scrolling through more than you want to. In iOS, it’s called “Screen Time”, in Android it’s called “Digital Wellbeing”, but in either case you can find it in Settings, and easily set a timeout in minutes per day. Of course, you can over-ride it if you need to, but it’s a good reminder to manage what you’re consuming in a given 24 hour period, and make sure you’re including other interactions and sources of information.

Protecting Your Brain

We don’t let our kids use social media yet – their brains are still forming, and they don’t have all the tools they need to discern what they may read online. But adults aren’t immune from the cognitive biases that can trick our brains into unhealthy patterns. Facebook is a relatively new kind of media – one that empowers peer-to-peer sharing and information dissemination much faster than what we had a generation ago. It has many incredible benefits but inherits all the same problems of previous kinds of media, while introducing a slew of others that humanity isn’t really equipped yet to understand. There are efforts underway to understand and improve how this kind of media works, but until those things mature and inform the evolution of the Internet, it’s up to us as users to think about and manage how we interact with technology and other people using it.

Church Streaming 2.0

Even though we knew it was probably going to happen, when the lock down order came in from the governor, we didn’t really get a lot of time to adjust. The kids were in school one week, and at home the next. Church was meeting in person on one Sunday, and exclusively online the next. A series of probably-Providential events had happened before this, none of which were deliberately timed by me, but all of which turned out to be helpful in getting our little country church online in time.

At the start of 2020, we didn’t even have Internet in our church building — we would upload sermon audio using a 4G hot spot. That audio was recorded on a 2008 iMac that I found on Goodwill Auctions for $140, and I had just replaced the 2006 Windows Vista eMachine that was in the pastor’s office with a 2009 iMac that I got for $80. With this “new” hardware installed, we decided it was time to petition the church leadership for a stable Internet connection. No one was opposed philosophically — they’d just never had a need before. At the February board meeting, they agreed to my proposal, and later in the month, I camped out at the church for a day and a half to wait for, then help, the Internet installer figure out how to connect our 160+ year old church building to the digital world.

The lock down order came only a couple weeks later. The Internet was unreliable, because the rural infrastructure near our location had issues, the more-than-a-decade-old iMacs were far too under-powered for their new task, and a decent webcam was suddenly very hard to find either online or in near-by brick-and-mortar stores… but in a little over a week, we managed to cobble together a streaming system, do some basic training for the pastor’s family, and hold our church’s first online service. All while hoping this would be a very temporary situation. It was not.

At some point in the summer, it became obvious that the system was too fragile for reliable live streaming, and it became more pragmatic to have a pre-recorded service in-the-bag. This created a more fault-tolerant, less stressful experience, but it didn’t change the chewing-gum-and-bailing-twine nature of the system: it all just barely worked, because none of the pieces were ever intended for the tasks that had been thrust upon them. While it became safe enough for most church members to attend an out-door service this summer, others who are at higher risk to the virus, could not attend — and with colder weather looming and no vaccine in sight, it became apparent that online church was going to be a reality for at least a little while longer. The pastor asked for some options for a more permanent system.

I priced out three bundles — good, better and best; cheap, not-as-cheap, and spendy. The elders settled on a combination of pieces that straddled the mid-range. I got to switch from trolling Goodwill, to a picking out a choice refurb from Backmarket (a great place to get used high-end hardware). The new Mac Pro is commonly called the “trash can” for its cylindrical design — Apple later admitted the look left them “designed into a corner” then basically abandoned the high end market for most of 7 years. Its from 2013, but was way over-powered for the time, and still outperforms most of the stuff you’d find at Best Buy today.

We switched from the commercial Windows software, vMix, to an open source package that runs native in macOS called OBS — a favorite of video game streamers and YouTube stars. It starts up in a fraction of the time, and handles virtually limitless inputs with ease. Switching to an HDMI camera with optical zoom, instead of the cheap USB webcam, allowed us to position the rig at the back of the sanctuary — instead of consuming the front half of the room — which made it significantly easier to connect to the sound board, and have an independent audio mix, which will improve both the in-house and online experience, once we tune it.

Ben helped me set everything up, and we even rigged up an iPad based remote control, so if needed, one person can run both the in-house video screen and the online stream.

This week, we’ll do some training on the new system, and probably work out a few kinks, then I’ll report back to the hospital for a follow-up surgery for a blood-clot related issue I’ve been dealing with all summer. Next Sunday, I hope to be worshiping from bed at home while recovering from this thing once-and-for-all!

NextStep/OpenStep NFS File Share with a Raspberry Pi

I recently restored a NeXTstation computer — the grandfather of Mac OS X computers (and therefore the great grandfather of iOS). It joins a network of historical Mac computers in my basement, but was woefully disconnected from them. A crude file transfer between a G4 Cube running OS X 10.4 could be established relatively easily using FTP, but I wanted NeXT to really fit into the neighborhood.

Every computer in the house can reach a common file share running on a Raspberry Pi, which serves up a folder over SMB and legacy AFP (AppleTalk), with an ethernet-capable OS 9 machine bridging to the LocalTalk-only Macs from the early days. Unfortunately NeXTStep and OpenStep support neither SMB nor AFP (technically one version of NextStep had a crappy AppleTalk implementation, but not the version I’m running.) What Next did support was NFS — Network File System. And fortunately so does the Raspberry Pi…there’s just a little modification required to make it work with old versions.

Setup your server as Host on the local system first

After following the steps here to enable NFS and establish a share (using the same folder as AFP and SMB), a fellow nerd on Facebook provided some steps to force support for older clients (NFSv2):

  • Edit the file /etc/exports that you made when you enabled NFS, and decorate your share with some less secure options (at your own risk — obviously don’t expose this to the Internet!) I also had to assign an fsid. Here’s what my export looks like:
    /srv/A2SERVER/A2FILES *(rw,fsid=1,all_squash,insecure,sync,no_subtree_check,anonuid=1000,anongid=1000)
  • Edit the file /etc/default/nfs-kernel-server as sudo
  • At the bottom, add the line RPCNFSDOPTS="--nfs-version 2,3,4"
  • Run exportfs and make sure no errors are reported.

On both OpenStep and NeXTStep, you’ll want to set up a Host for your server. This can be done in NextAdmin/HostManager.app — assuming you’ve already got networking setup. Instructions for setting up the network are here, and Sophie Haskins has a good blog entry about some of the hurdles to NextStep networking.

On NeXTStep 3.3, the NFSManager.app GUI was not able to successfully mount the share — I had to do it from the su command line:

  • Launch Terminal.app
  • Type su and hit enter — provide a password if needed.
  • Enter a mount command like:
    mount serverhost:/pathto/yourshare /Net/localmountpoint
  • So, for example, my server is on a Host named NetPi and the shared path is /srv/A2SERVER/A2FILES (since the path is also used by A2Server’s AFP share) and I want to mount it to a local folder on my NeXTstation called NetPi, so my command is:
    mount netpi:/srv/A2SERVER/A2FILES /Net/netpi

If you want this to run at every boot, use Edit.app as root to add your mount command to the end of the file /etc/rc.local
But be 100% sure your mount command works before you do — this can prevent booting if its wrong. To be on the safe side, include a time-out and limit retries like:
mount -o rw,bg,mnttimeo=8,retry=1 serverhost:/pathto/share /Net/localmountpoint/

In OpenStep 4.2, the NFSManager.app GUI did work, and Sophie’s blog shows how to use it. And just as a point of interest, following the same HostManager.app steps to tell NeXT about a LaserJet 4 compatible printer on the Network let’s it print too!

In OpenStep you can use the GUI, in NextStep the command line works best

Why you shouldn’t buy a Mac in 2020…or maybe ever again.

Sad Mac iconThis week Apple surprised no one by announcing they were beginning their transition to “Apple silicon” in their Mac computer line-up. If you don’t know what that means, its sufficient to understand that they are moving from Intel-based computers, to a processor and related architecture of “their own” design.

I put quotes around “their own” because, despite their announcement, everyone knows that “Apple silicon” is derived from the ARM processor — a family of chips most often used in phones and other mobile devices. ARM has been around a long time, and Apple invested in the company back during the Newton era. Intel has obviously been around even longer, but Apple’s use of Intel chips is the stuff of relatively recent history.

This marks the 4th processor migration for Apple, from the Motorola 6502-based Apple I and Apple II computers, to the Motorola 68000 family in the early Macintosh line-up, to the Motorola (and IBM) PowerPC of 1990s processor-war infamy. With each generation, Apple struggled to position themselves against the WinTel (Windows + Intel) hegemony. It wasn’t until 2006, when they transitioned to Intel, that Apple finally found their footing.

Since Steve Jobs’ hostile take-over of the Macintosh project in the early 80s, Apple’s philosophy on computing has been fairly “closed.” Jobs envisioned the computer as an appliance for average people, not a tinker toy for nerds. In the original Mac, this meant unusual screws and an absence of hardware expansion slots. On the iPhone, it meant a “walled garden” where only Apple-approved apps on the Apple-hosted App Store could be installed (unless you were willing to do some serious hacking.)

It took a long time to prove this philosophy out — it was almost a full generation before non-nerds were doing most of the computer shopping. But in many ways it paid off. Macs have a reputation of being stable, reliable machines, and iPhones are the mobile device most people want to own. iOS really represents the logical outcome of Apple’s trend toward locking things down: its an operating system that users aren’t supposed to know anything about, on hardware that customers aren’t supposed to be able to open.

On the Mac, though, there’s always been another layer: under the simple, friendly veneer of the user interface is a powerful Unix shell. And under the sleek case is fairly standard, commodity hardware. The implications of this for the Mac is that despite Apple’s attempts to end their life prematurely, people with a little know-how can keep their Macs running for years. Unlike phones, where people feel compelled (either by fashion trends, or security concerns) to buy a new one every couple of years (don’t do it!), an Intel Mac can last a decade or more as a useful, performant machine. Obviously this is a problem for a company that primarily sells hardware…

Case in point: this is being written on a 12 year old Mac that Apple tried to stop updating in 2016.

Apple zealots will tell you that the move to ARM will let Apple build smaller, faster machines with better battery life. They’re not wrong — ARM rocks for mobility. What they won’t admit is that the move away from commodity hardware will let Apple control the lifecycle of these new computers the same way they intentionally keep the lifecycle of their phones shorter than necessary:

  • With an Intel-based hardware platform, upgrades made for Windows PCs mostly “just work” in a Mac
  • With an Intel-based hardware platform, many parts can be sourced from other manufacturers to provide for repairs that Apple will no longer supply
  • With an Intel-based hardware platform, users can boot Windows (or Linux) to run software that isn’t compatible with “older” Macs
  • With an Intel-based hardware platform, the developer community can create patches to circumvent artificial end-of-life moves from Apple designed to keep you from upgrading to the newest MacOS

It remains to be seen whether the heroic hackers of the world will be able to bring these benefits to new ARM-based Macs, but if Apple’s plan is to make Macs more like iPhones (which it evidently is), you can bet they won’t help us.

The move from PowerPC to Intel was a painful one for the Mac community. Software we owned stopped working, or had to be run through short-lived and poorly performing compatibility tools. Then there was the swallowing of our pride as we collectively had to admit that Intel really did outperform the G4s and G5s we were so proud of. But ultimately, the benefits for consumers outweighed the costs: it was the right move. Arguably, the move to ARM is significantly less urgent — granted, Intel’s track record over the past few years hasn’t been great, but they’re still putting out decent performance at a reasonable price point. Besides, the average Mac user doesn’t care what kind of silicon they’re running on — and they shouldn’t need to. But they should care if a company is deliberately steering them toward a platform of aggressive planned obsolescence and a treadmill of re-buying things they don’t really need.

I’ve put more than two dozen used Intel iMacs and MacBooks back into service for churches, students, teachers and missionaries — all well past the date Apple would like them to be running, and all stable, reliable and with half of them running Windows 10 at least part of the time. They’re really great machines, and I mourn the end of this era. Maybe Apple’s new products will be better than I think; I’m sure they’ll be sexy pieces of hardware. I just hope they don’t become sexy pieces of garbage in a couple years…

Air Hockey Scoreboard Project

Last year, our church got a donation of an air hockey table, for use by the youth group. It was in nice shape, save for the electronic scoreboard, which wouldn’t keep score. It would light up and make sound when powered, but the score was stuck at “88” to “88.” We resolved to see if we could fix it.

The electronics were wrapped in a plastic banner that crossed the middle of the table, and had only a few wires running to it — one from a puck “catcher” on each side of the table, with a simple switch that was pressed when the puck was present, and one modified ethernet cable running to a small control panel that let you start a timer, or reset the game. Our initial hope was that it would just be a wiring problem, that Ben and I could fix together. It turned out to be much more complicated.

All the wiring was fine, and via various traces, ended up connected to a small logic board — this turned out to be the cause of the problem: it was dead. The board had a part number, but no amount of Internet searching could find a source for a replacement part. We theorized that the actual logic being performed was fairly simplistic, and that we might be able to replicate it with a Raspberry Pi Zero — roughly the same size, and equipped with sufficient GPIO pins to map to the existing wiring. Connecting the puck catchers was easy, and with a little Python code, we could count score and show it on a connected SSH Terminal. The control panel was a little more difficult, but we managed to find a solution for some of its basic functions. The remaining problem was the seven-segment LEDs that actually show the score.

For those we called in some help from an engineering student we know, and managed to come up with the logic to light the LEDs by reverse engineering an array of bit values that could be toggled via the Pi’s GPIO. In theory it was going to be possible to restore displays, and 90% of the functionality of the system. In practice, it didn’t work out that way.

The seven-segment LEDs work in pairs-of-pairs: two LEDs for each player, and double that to mirror the value on the other side of the board. 4 LEDs, with 8 wires each makes for 32 tiny wires that needed to be run. Only half that needed to go the GPIO, since the other half were just mirrored values, but that’s still a lot of wiring — turns out there’s a reason most electronics use a printed circuit board. I briefly entertained designing such a board, and paying to have it printed, but we were still going to run into voltage problems. Once the LEDs were running, very little voltage remained in the little Pi for the blinking lights and buzzers that make the experience fun.

After literally months of soldering, brainstorming, and frequently ignoring the now very-messy project out of frustration, we decided to abandon the banner, and go all in on a Raspberry Pi 3B+ with an add-on display. The logic still worked fine for score-keeping, although I had to come up with a new routine for displaying the score in ASCII characters that filled the screen. The girls each composed a little ditty that gets bleated out by the buzzer when someone wins the game, and Ben designed a mounting shim and 3D printed it. We removed one of the two support poles for the scoreboard, and mounted the Pi to the other — neatly running the wires up the pole. I used plastic cement to attach a reset button and the buzzer to the side of the Pi’s case, providing the key features of the original control panel.

After a successful beta test, we refined the design and improved the crude graphics a little, then installed our new system in the Air Hockey table using most of the original wiring. Its not perfect, but its quite elegant — and I was pleased by how much we all learned putting it together.

Hobby Horse

Susan Kare's original happy MacFor the record, I was 39 years old before I had a hobby.

I mean, I do things outside of work and school, but none long enough to move from amateur to hobbyist. Then, when I got around to picking out a hobby (or maybe it picked me), it ended up looking a lot like my profession.

It’s not though. Its technical, but there’s no way I’ll ever get paid to do it. It’s nerdy, but not in a way that has any commercial value. And its geeky, but not the kind of geeky that redeems itself. And it took 39 years and moving to rural Ohio before I actually had the spare time.

If you want to read about it, there’s a new section of the website and a separate RSS Feed: the Restoration Museum. For everyone else, normal posts will remain in this category.

That Time I Talked to Apple’s Co-Founder

In the fall of 2000, I signed up for a fledgling online auction site called eBay. I wanted to find a relatively obscure piece of Apple Computer kit I’d always wanted, called a Newton MessagePad. I didn’t quite understand how eBay worked, so I offered the maximum I’d be willing to pay on 6 different listings… it was probably a full hour before I realised I’d just committed to buying 6 Newtons! Fortunately, I was out-bid on 5 of them, and only had to pay for one.

Nonetheless, I was a proud owner of a Newton MessagePad 120 — proud, that is, until I learned about the MessagePad 2100. The grand-father of portable computing, killed off in its prime by Steve Jobs in his return to Apple Computer in 1997, the Newton remains an audacious and ambitious piece of computing history.

In 2002, after saving up, I managed to get my hands on an upgraded MessagePad 2000 and began my first experiments with wireless networking and different kinds of after-the-fact hacks and expansions to the long-dead platform. An impressive community of hobbyists had sprung up to keep Newton alive, adding Bluetooth, Wifi, MP3 playing and web surfing. It may have been my first experience in coaxing new usefulness out of abandoned hardware.

I didn’t do much for the community, but I did talk about it a lot — on this very home grown website, and other early-Internet forums. Enough, I guess, that a writer for Wired Magazine found me and scheduled an interview for an upcoming article in his series about the culture of Apple fans. That article appeared a couple months later, and you can still find it if you search the right keywords.

18 years later, that article got me invited to speak at a Worldwide Online Newton Users Conference. Turns out there’s still interest in the little green machine, and more than 70 nerds were gathering online to share their recent hacks, collections and uses for Newt. Of the participants in attendance were some of the original Newt dev team, a well-known tech journalist, and the remaining co-founder of Apple Computers, Steve Wozniak.

Steve was mostly a silent observer — in fact, at first we weren’t quite sure it was really him. At the outset, I challenged the participant bearing his moniker to turn his camera on and prove it. I’m sure we were all delighted when the real deal himself appeared and shared his memories of Newton. He receded back into silence until we had a break. As other participants shut their cameras off to attend to biological needs, I decided to go for broke:

“Is Woz still on?” I asked

A couple seconds of silence…

“Yup! I’m here! I’ve been here listening the whole time!”

“Would you be willing to take a few questions?”

“Absolutely!” says the fabled millionaire, as his camera springs back to life.

He held court with us for 20 minutes. I asked a series of off-the-cuff questions to start the impromptu interview, mostly about nerdy things, but we also talked about teaching kids computers, Covid-19, and travel. After a few minutes I yielded the floor so other participants could pile on. It ended too quickly and Woz remained a silent participant for the rest of the event, but it sure was cool! He’s remarkably down to earth — just one of the nerds, who likes experimenting with technology and talking about his passions. In fact, that’s how Apple started.

The slides for my little talk are hereDownload

They’re mostly just memories, as this event will be in a couple years. But don’t ever doubt the power of technology — and community — to have an impact on people’s lives. The Newton community made a documentary on just that, and its worth watching.

How to Read the News Online

This post is probably long overdue. I’m guilty myself of scrolling through Google News and letting an algorithm decide what I should see. But now, more than ever, its important to get the best information possible. Outlined here will be my attempt to provide some tips to escape the echo chamber, see past ideological spin, and find better sources of information online.

I should start with the caveat that of course this isn’t perfect. But its preferable to the norm…

App and website developers build for “stickiness” — that’s a primary goal. The longer they can keep you inside their experience, the more you are worth to them. That worth is often in advertising dollars, but its always in data: user and behavior information that lets providers create better personas (digital “voodoo dolls“) of their audiences. To restate that more clearly: the main goal of your favorite news app or website is not to inform you — its to make money off you. The longer you stay inside their experience, the more you are worth to them.

With this in mind, its easy to understand how content is created and prioritized. Content creators want to develop content that is interesting to their audiences. Content selection algorithms want to provide content that you resonate with — even when that’s not good for you. The “news” system is designed to affirm your biases, and reinforce the beliefs that brought you there.

Even information aggregators, like Facebook, YouTube and Twitter are running algorithms trying to find what you like and give it to you. They’re everywhere, and they’re cloyingly sycophantic. About once a day Google News offers me a bikini pic of a celebrity along-side other headlines — they know I’m an adult male, and they’re sure I want to see that content. All it takes is one tap to confirm that interest, and tip the algorithm toward more of it.

So if you’re ready to escape the fun house mirror that is Internet news, here’s what to do:

  1. Dump your current News app or go-to website. Google News, Apple News, MSN News, Fox News, CNN news… whatever you use, its all the same. I’m not even talking network bias yet, I’m just talking about algorithm-driven content providers. They’ve all got to go.
  2. Identify raw sources. In the US almost all news comes from the Associated Press first. Each network gets those stories, and puts their own ideological spin on that news. Skip the spin, and find the source: AP, and Reuters are both good for North America.
  3. Identify alternative sources. I’m not talking about fringe sites with extreme beliefs, I’m talking about a source of news that is further removed from the reach of your country’s political parties. In the US, the BBC or the CBC are reasonably impartial observers of what’s happening in your country. Find world news sources that aren’t reported from within your country — you’ll still get the big news items, but the context will be improved.
  4. Once you’ve selected better news sources, find their RSS feeds. OK, I know that sounds like techno-babble, so let’s break out of the numbered list and explain…

RSS stands for Really Simple Syndication (or Rich Site Summary), and its been a backing technology for the web since 1999. If you listen to podcasts, you use it regularly. An RSS feed is just the content from a site, none of the ads, none of the tracking technology, and none of the algorithms. Just the raw content.

Increasingly sites are hiding or obscuring their RSS feeds, because they want you on their site in your browser or on their app, so they can track you. But so far, no one has succeeded in removing it entirely. If you’re technically inclined, you can use tools in your browser to find the feed URL, but if not, there’s easier ways to get it.

I use a service called InoReader. They have a pro version, but the free one has everything you need to search for RSS feeds from the news sources you trust. Once you create an account in InoReader, you can add your selected news sources directly. The content is sucked out of the site via RSS, in aggregate, anonymously and automatically, then made available at the InoReader website or on the InoReader app on your phone or tablet, in a neatly organized fashion. Its a curated news stream that breaks the algorithms that taint the information you’re getting.

InoReader’s RSS Based News Feed

Like I said, its not perfect. InoReader knows what you’re reading — but because it serves raw feeds, it can’t alter them without detection (you can always look at the RSS directly to see if they’re changed; in 4 years of monitoring, I’ve never seen it happen.) Another challenge is that sometimes news sites only publish the first sentence or two into their RSS feed, and you have to click through to their website to read the whole article — but when you do, you can visit as a signed-out, anonymous reader (there are other work-arounds, for those comfortable with deploying a little open source software.) And of course, your critical thinking skills are always needed for any media you consume.

But even with the challenges, and the little bit of extra work it takes to make good selections, the difference is night-and-day. Do this for awhile, then compare the real headline with the liberal and conservative spin carried by other sources, and you’ll realize just how bad things are.

The dangers of the filter-bubble are real, and the increasing polarization in the US (and Canada too!) is a very real result. If you’re going to use technology, you should use it responsibly. The onus is on you to consume information that challenges your beliefs, educates you, and makes you more empathetic toward people who are different than you. Popular “news” technology does the opposite.

Update 10/5/2020: Associated Press feeds are increasingly difficult to find. This person has a solution — scroll to the bottom of his associated-press-rss repo to find a working URL.

Getting to Know Your Digital Voodoo Doll

Cambridge Analytica LogoIf the Cambridge Analytica scandal told us one thing, its how poorly people understand how data is being used. Although the folks at CA may not have had the most altruistic of intentions, they were really only exploiting what was freely available. That they used some data Facebook didn’t intend them to use doesn’t change the fact that the data was there for the taking. People volunteered it willingly, so it was inevitable that it would be put to use.

What is probably less clear in this tale of targeting was that they weren’t really targeting you or I. Rather, the technology allowed them to identify what kind of people we are like, and target people of that kind. This aggregate group identity makes up a persona — a fictional person that has traits and attributes, gathered from the self-provided data of real people, that are useful for addressing many actual individuals that are similar to that persona.

This is not new. In fact, in programming, type inheritance is a powerful concept that is useful for generalization. What’s new in the last decade or so is the volume of self-identified human data, and a few primary keys that allow that data to be associated with unique donators. Lots of web sites have data on you as a mostly anonymous visitor. There’s identifying information, for sure, but nothing you deliberately confirm or setup, so its a “weak link”. When a website requires you to create an account, then they truly have uniquely identifying information for tracking you within the properties that account uses. Facebook is mostly unprecedented because of the scope of that account. As an identifier, its used far beyond the actual Facebook website — its used on other Facebook properties (WeChat, Instagram) and on millions of partner sites that use Facebook log-in, or Facebook data sharing (when you see “Like on Facebook” on a website that is not Facebook, they are sharing data using your identity as a key.)

The effect is that activities spanning the web are opted-in to Facebook data collection, whether you’re aware of it or not. Suddenly a single primary key has a rich repository of information about billions of individuals. Realistically, it would take an incredible effort to actually target a single individual, but it does become very easy to group individuals based on activity. Individuals who “Like” a Republican candidate, individuals who participate in discussions about vaccinations, individuals who view religious videos, etc…

The field of psychographics is the emerging social science of identifying groups based on these common activities, then determining what methods are most effective at influencing the individuals within those groups. Facebook helps out even more, due to a built-in concept called Graph Relationships. These are the links between individuals that can be used to tie people to groups even if those linked individuals provide no explicit data that identifies them as part of the group. You may not have shown any visible interest in a particular political candidate, but if you’re linked to many people who have, you may find yourself targeted as part of that group.

https://www.businessinsider.com/explainer-what-exactly-is-the-social-graph-2012-3

This self-identification increases with your social network, and with your activity. If you’ve seen ads for something you recently thought about (but could swear you didn’t write down or say out loud) the odds are good that you’ve been targeted based on your activities or affiliations, and advertisers “knew” you would be interested in that product or service, because other people like you are interested in it.

I recently saw this concept described as a digital voodoo doll, and the analogy is apt. Advertisers and other influencers aren’t interacting with you directly, instead they’ve created an avatar that is like you, they’ve experimented to determine how best to impact those like you, and then they’ve launched their digital onslaught against the group. When the voodoo doll gets really precise, its called micro-targeting, and you really should be scared of it.

So what can you do about it? Well knowing the importance of identifier keys, you can participate in the web more strategically. It may be easier to sign up for a new service with your Facebook account (keeping track of multiple passwords is hard!), but know that when you do, Facebook gets all that data. Use different keys (new accounts) for different services, to reduce the chance of your activity being linked. You don’t have to quit Facebook entirely, but be careful what you indulge within their scope of view.

On that topic, there are ways to keep fences around that garden. FireFox has an extension that does just that — blocking Facebook tracking on sites not owned by Facebook. The same cautions should apply to any service whose tendrils extend beyond their own .com front-end. Microsoft, Amazon, Google all offer useful developer tools for web creators — in exchange for data collected from those sites. Diversify your digital activity: use different services for different features, and don’t mix and match. For example, Microsoft hosts our email, but not our voice commands. Amazon gets our voice commands through Alexa, but doesn’t store any of our documents. Opt out of data collection when given the choice.

As tech providers find newer, more clever ways to collect data, and the legal framework struggles to keep up, be aware of how you’re inevitably being targeted. Information is neutral — it doesn’t have a bias. Human beings, on the other hand, are biased. If something is presented as information but appeals to your natural bias, question the source — odds are that you’re being manipulated.

The dream of the Internet was that information could be shared instantly and freely with everyone. Those altruistic nerds that invented it may have forgotten that someone has to pay for technology somehow, and perhaps unknowingly, we backed our technology revolution into an ad-supported model. Being willing to pay for content that isn’t ad sponsored seems to have a tendency to inspire a little less subterfuge in the content provider. If you want to learn something new, or engage with a community on a topic, consider private online services — even those that aren’t free, or require a little more work.

There’s no quick fix for Facebook, or Google or even Apple. To make the Internet a better place, its citizens must be aware, involved and active. You can be online without responding to your baser instincts for affirmation or attention, but if you find the dopamine rush too irresistible, you might be better off closing those accounts after all…