iOS Family Sharing users cannot mix authentication schemes

Apple supports two styles of two-factor authentication, that they call (and distinguish as) “two-step” vs “two-factor”.  “Two-step” is their older method, though functionally they’re basically equivalent. If you have multiple accounts on a Family Sharing arrangement, and some use “two-factor” while others use “two-step”, you’re in for a bag of hurt. For example, any time you change… Read more

Things you find googling yourself

In no particular order. The Hotline File Transfer Protocol v1.1.1.  I presume I was interested in, or actively doing, a third party Hotline client.  I did tend to make lots of data transfer clients back then (e.g. HTTP, FTP, even POP3 & SMTP). My little gallery of childhood toys & memorabilia.  I hadn’t forgotten about this… Read more

Rotated Windows

Rotated Windows example screenshot

I’d forgotten about this until I stumbled across a reference to it again recently. This was a little hack I worked on back in 2004, with Mac OS X Tiger (10.4).  Yes, kids, macOS was called Mac OS X back in ye Olden Times. Wow, Slashdot looked even uglier than I remember, back then.  Though… Read more

Undocumented Swift conditional compilation macros

swift/lib/Basic/LangOptions.cpp has most of the conditional compilation macros (called “Language Options” in the compiler internally).  Notably the swift() version macro is absent, and doesn’t seem to be defined anywhere… At time of writing the two undocumented additions, to the os(), arch(), and swift() set, are _endian() and _runtime(). I have no idea if they’re useful… Read more

#if DEBUG in Swift

Sigh. The Swift team give an impeccable impression of a group of people who’ve never actually tried to use Swift. An incredibly basic compiler task is to provide code a way to distinguish between debug & release builds, in order that it can behave accordingly (e.g. change the default logging verbosity, change asserts from fatal to… Read more

EXIF metadata stores random gibberish for dates & times

Warped clock face spiralling ever inwards

I hadn’t ’til yesterday realised that EXIF metadata doesn’t actually store dates & times correctly.  Whoever came up with the spec all those decades ago clearly didn’t know how to work with dates & times correctly.  This is immensely frustrating since now we have countless images taken with timestamps that are collectively gibberish. The problem is… Read more