Retrieving the Time Machine Estimated Full Backup Size for MacOS Tahoe

Well, it’s been a little while since I last looked at sizing Time Machine backups on MacOS and, with MacOS 26 (‘Tahoe’), the magic incantation needed to pull that information out has changed.

Open up a terminal and enter the following…

log show --predicate 'subsystem == "com.apple.TimeMachine"' --info | grep "will be in backup of all sources" 

…and this will print out a number of records from previous Time Machine sessions thus…

2025-11-17 08:59:01.989807+0000 0xdd79ec   Info        0x0                  27411  0    backupd: (TimeMachine) [com.apple.TimeMachine:SizingProgress] Estimated a total of 3112764 files (13.52 TB) will be in backup of all sources
2025-11-17 09:54:37.554473+0000 0xde7d23   Info        0x0                  27411  0    backupd: (TimeMachine) [com.apple.TimeMachine:SizingProgress] Estimated a total of 3113582 files (13.51 TB) will be in backup of all sources
2025-11-17 10:54:38.754477+0000 0xdfb366   Info        0x0                  27411  0    backupd: (TimeMachine) [com.apple.TimeMachine:SizingProgress] Estimated a total of 3119251 files (13.51 TB) will be in backup of all sources
2025-11-17 11:54:25.417194+0000 0xe0dd3f   Info        0x0                  27411  0    backupd: (TimeMachine) [com.apple.TimeMachine:SizingProgress] Estimated a total of 3123208 files (13.51 TB) will be in backup of all sources

Another look at Douglas Adams’ office

Another snippet of video and another quick look at Douglas Adams’ office space. Unlike my last post about Adams’ office, I’m having a little trouble narrowing down the source program – though the uploader of the original clip suggests that it may have been recorded around February 1995. If that’s true, then that suggests it was originally shown on a non-BBC channel as I cannot find anything in the BBC genome that references Adams during that period.

Continue reading “Another look at Douglas Adams’ office”

Leaking Pipes with Swift and External Executables

Observed with MacOS 12.4/Xcode 13.4.1/Swift 5

There are quite a lot of tutorials out there covering the basics of running external executables from within Swift and, with very little effort, it’s quite easy to throw together something like this…

import Foundation

let wrappedUname = Process()
wrappedUname.executableURL = URL(fileURLWithPath: "/usr/bin/uname")
wrappedUname.arguments = ["-v"]
let unameOutputPipe = Pipe()
let unameErrorPipe = Pipe()
wrappedUname.standardOutput = unameOutputPipe
wrappedUname.standardError = unameErrorPipe
do{
    try wrappedUname.run()
} catch {
    print("Unexpected error: \(error).")
}
wrappedUname.waitUntilExit()
let unameOutput = String(decoding: unameOutputPipe.fileHandleForReading.readDataToEndOfFile(), as: UTF8.self)
let unameError = String(decoding: unameOutputPipe.fileHandleForReading.readDataToEndOfFile(), as: UTF8.self)
print("Output: " + unameOutput)
print("Error: " + unameError)
Continue reading “Leaking Pipes with Swift and External Executables”