u/heyitsbarish

Introducing NoMAD-Classic - a NoMAD v1 Universal macOS App

Introducing NoMAD-Classic - a NoMAD v1 Universal macOS App

TL;DR NoMAD v1 is a soon to be deprecated Intel binary and NoMAD-2 is unusable in its abandoned beta state so I used Claude (mostly Opus 4.8 and for some trickier bugs Fable 5) to update the battle-tested and well-documented 1.2.2 release to Swift 5 and compile as a Universal binary for Apple Silicon compatibility.

I remember back in 2017 while working at Facebook as a Helpdesk tech how magical it was when we started deploying NoMAD with our macOS fleet. Demobilized accounts, instant screen unlocks off-network, automatic kerberos renewal. This was cutting edge stuff y'all. As part of the original class of 11,000 laid off in 2022 however, I've since taken root at an organization that uhh, well, I don't think they know what the words "cached mobile account" and "demobilization" are. Obviously I'm not going to give up AirPods seamless device switching, Handoff, and iCloud sync, so despite the complete lack of enterprise macOS support and non-negotiable requirement of Windows x64-only apps to perform my primary job functions, I use a Mac as my primary device and hacked together a user environment that fits my needs with limited friction. This includes using NoMAD v1 to keep my (mostly pointless and sparsely utilized) kerberos tickets valid and provide visibility to my password expiration date.

I started getting the occasional macOS nags about Intel-only app compatibility with Tahoe 26.5, and they're now incessant in the Golden Gate 27 beta. I tried NoMAD-2 but it's so janky and poorly documented, it's clearly an unfinished product with a feature set far too complicated for my actual needs. After spending a few hours in-between actual work tasks playing with the v2menu.nomad.nomad preferences, I realized it was a sunk cost and put my Claude subscription to work building a Universal binary from the NoMAD 1.2.2 source code (the README.MD on GitHub references a 1.3.0 but it ain't on the releases page so ¯\_(ツ)_/¯ ). Opus 4.8 got the bulk of the work migrating Swift 3 > Swift 5 done in a few minutes, then I switched to Fable 5 for a bug preventing the menubar item from expanding. Less than 30 minutes later, including my commute home, I had a fully functional Apple Silicon compatible build of the original NoMAD - NoMAD-Classic.

This was probably more work to do, and even more to post to Reddit about, than a project this niche is even worth. But if you depend on the original NoMAD for your personal environment, or god forbid it's still being deployed to your enterprise fleet in spite of all the modern macOS MDM implementations, then this Bud's for you 🤙🏼

github.com
u/heyitsbarish — 4 days ago

F it we ball

If the me from two years ago met the me of today and saw I spent $1200 for 24TB of useable storage he would kick my ass. Idk, buy the “dip” I guess. Cheers, Adorama.

u/heyitsbarish — 1 month ago