Time Machine got weirder

Apparently if you put Time Machine on a USB APFS drive instead of HFS, it does crazy shit. I guess it's hidden in a secret partition, and when you list the volume, only the most recent copy is visible? Can someone explain to me the relationship between these directories:

  • /Volumes/Time\ Machine/*.previous
  • /Volumes/.timemachine/*/*.backup
    (mostly empty directories, but one is a weird mount point on the external disk)
  • /Volumes/com.apple.TimeMachine.localsnapshots/Backups.backupdb
    (when do these get written?)

And more to the point, how do I access a file in an old time machine archive from the command line, e.g. to run diff on it?

Also... whyyyyyy? I know they had to extend HFS to allow hard links to directories to make the .backup bundles work, and that's why Time Machine archives on network drives are .sparseBundles impersonating a block device with an HFS file system inside, but did they just lose their damned minds completely when it came to APFS?

Update: Wow, it is all completely insane. Howard Oakley has written a lot on this, and someone made this index of his posts. So here's my summary of a summary of what's going on now:

  • Your system APFS disk makes hourly backups using "snapshots" which are a file-system-level checkpoint. Basically it lays down a marker at a timestamp and all subsequent changes are stored as deltas that can be rolled back.
  • These snapshots are read-only and are only accessible by mounting magic, and are normally left unmounted.

  • Your USB-connected APFS Time Machine drive also uses "snapshots". The backup process is to drop a snapshot marker on that drive, then copy over all changes. Maybe by copying files, maybe by copying a snapshot from the source disk directly.

  • The "/Volumes/Time Machine/YYYY-MM-DD-HHMMSS.previous/" directory is the most recent backup on the external drive, and previous backups are hidden within that as APFS file system snapshots. It gets renamed to the current timestamp as updates are made.

  • When you open your "/Volumes/Time Machine/" drive in Finder, it just lies right to your face. Finder synthesizes a list of available backups and conspires to mount the snapshots as you open the disclosure triangles.

  • Finder makes it look like "/Volumes/Time Machine/YYYY-MM-DD-HHMMSS/" exists. It does not. It is mounted by Finder as needed on "/Volumes/.timemachine/UUID/YYYY-MM-DD-HHMMSS.backup/YYYY-MM-DD-HHMMSS.backup/Data/".

  • Command line utilities are not granted the same background magic as Finder. If you want to access a file with diff or whatever, you first have to open its parent backup in Finder to get it mounted and find the real pathname. You could also mount by hand, but that's really complicated.

  • Even with all of these "advancements", it is still completely normal and expected for the progress indicator on a Time Machine backup to say "about 6 hours remaining" for 14 hours. If there is one thing at which Apple is the all time world champion, it is misestimating completion times to a truly pathological degree.

"The Aristocrats!"

Previously, previously.

Tags: , , ,

DNA Lounge: Wherein we're doing more 21+ events

We're trying something new: starting in April, most of our Friday and Saturday dance parties have transitioned to 21+.

Live concerts will still be all ages, and we will still do 18+ dance parties on weeknights; and we're making an exception for So Stoked, our monthly all ages candy rave. But generally, we're now targetting our large weekend dance parties at grownups.

The reason is the one that you can probably guess: we're making less money at the bar, and that's how we pay our bills.

Before COVID, our weekend dance parties were running around 80% over 21, but when we re-opened after lockdown, some parties dropped to 60%, some as low as 40%.

And another side effect of this is that we started hearing from more of our grownup customers that they didn't want to be partying with teenagers, which may have led to a feedback loop, causing more of the grownups to stay away and lowering percentage even more. Those anecdotes might be meaningless bluster ("nobody goes there any more, it's too crowded") but it's hard to know.

There are other ways to tackle the problem, but they're all bad. For example, you can charge under 21+ customers more for tickets. But a grownup is going to spend $20 or $25 at the door, and then another $20 or more at the bar. Someone under 21 spends approximately $0 at the bar. You gonna try to charge someone $40 at the door if they're under 21? Not gonna happen. Next someone will suggest, "Oh, you should make mocktails!" Sure buddy, someone's gonna drop $14 on a plastic cup of fruit juice. You might also assume that the under-21 crowd eat just as much pizza as older folks do, so surely our restaurant is age-resistant. I assumed that! Turns out, nope. Grownups spend a lot more on pizza, too.

DNA Lounge had been exclusively 21+ from its inception in 1985 through 2008, when we converted to all ages. Making that switch was an enormous and expensive legal battle but we eventually prevailed.

The reason we chose to have that awful fight was for live music. It's hard to book bands in 21+ rooms; the demographic fact is that concert-goers are 18 to 25. And the agents know that, so they will offer the shows to your all-ages competitors instead.

Having adjusted our licenses for the sake of live bands, we eventually started doing under-21 dance parties as well, because we could. That worked out fine for many years. Under 21 dance parties cost us more in security staffing, since at a 21+ party you don't have to worry about catching under-age drinkers, and they're just better behaved in general; but despite those downsides, it arguably helped overall attendanace, since there is a large cohort of 21- and 22-year-olds out there who travel in packs with their 20-year-old friends, so if the friend can't go, none of them go.

But it seems like the needle has swung, and that now it may be doing us more harm than good. So let's see how this works out.

Anyway, as an Old Person who still attends all of these events (albeit for different reasons than most) here are a couple of stories. I swear that these stories had no influence on this decision, I just think they're funny, and maybe you will too.

First story:

    The year was 2013 and we were hosting our very first So Stoked. It was, I believe, our first all-ages event that wasn't a live band. When I heard that we were hosting a candy rave, I completely misinterpreted what the event would be. I assumed it was going to be a nostalgia party, where all of the attendees would be in their 30s or 40s, re-living the glory days of their teens and 20s. We had hosted a bunch of "rave"-oriented events of that sort in the past. But no, this was a legit candy rave, full of teenagers living the life just like people did in the 90s, sneaking out of the house and squatting down between two parked cars to change into mom's stolen lingerie.

    I was sitting on the bench in the lounge, amused and charmed by watching all of this go by, when a girl who could not have been a day over 18 sat down next to me and struck up a conversation. "What brings you out tonight" was, I'm sure, her way of asking, "Why is this old dude here?" I told her who I was, and added, "I haven't seen anything like this in years. I did not know this kind of thing was still going on."

    She misheard or misinterpreted that and thought that was I said was, "I have never been to a rave before, please explain them to me." I just let her continue, and kept nodding, because it was adorable.

    Eventually she concluded with: "I used to be really shy and introverted, but raving really brought me out of my shell. I've been raving for almost THREE YEARS now!"

Second story:

    This was just last month, at Death Guild. I was at the bar chatting with a bartender when a girl, early 20s at the latest, came up to me and said, "Hey, I really like your hair!"

    Me:   Oh, thank you.
    Her:   I think it's really great when someone who's obviously going gray is still making an effort.
    Me:   ...Wow.
    Her:   Like, I think it's really inspiring that someone your age is still trying to be a part of The Scene.
    Me:   ...WOW.

    At that point I left the club, walked North until I reached the nearest fjord, boarded an ice floe, and waited for my bones to turn to dust. The ocean sequesters my carbon now.

By the way, So Stoked, the aforementioned candy rave, is happening tonight. Do stop by! I promise you won't be the oldest person there.


  • Previously