Attention trumps experience

It’s always bemused me that I did better in electronic engineering than computer science.

I studied them simultaneously, receiving degrees in both after five years (some classes counted towards both, thus why it wasn’t seven or eight years).

I grew up playing on, dabbling with, and programming computers. From BASIC II to Hypercard to RealBasic and onwards. I don’t recall ever questioning the apparent inevitability of going to university to study computer science, and then into a permanent career in software development. It was as if I were born to it.

In contrast, I chose to do electronic engineering basically on a whim, while I was choosing my university course. I had effectively zero background in it. It just looked interesting.

Though I observed the curious results – the unexpected inversion in my academic grades – it took me quite a while to learn the lesson. I did better in EE despite my inexperience because I paid attention. It was interesting and I knew I was starting from scratch there, so I worked hard at it. I gave it more time.

I’ve increasingly appreciated the importance of this as I’ve gathered other life anecdotes. Why does the new hire straight out of school often do a better job than the senior engineer? Why do “fresh eyes” on a long troublesome area of the project suddenly find all sorts of bugs and flaws that had been overlooked?

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 per se, but it’d certainly been a long time since I’d look at it.  In hindsight I’m really glad I took the time to take these photos – most of this stuff is long gone now, so the photos are all the remains to pique my nostalgia.
  • Apparently I discovered some ‘fix’ for Apple breaking dial-up modems in a Mac OS X Jaguar (10.2.4) update.  I vaguely recall that, though I’m pretty sure that’s not the only time I’ve had to fix stupid regressions in Mac OS X by reinstalling frameworks, kexts, etc from a prior OS build.  Sigh.
  • I’m listed in the National Park Foundation’s 2015 donor list.  I’m also in the 2016 one too, though it doesn’t show up in a web search [yet], and expect to be in the 2017 one as well.
  • Steven Troughton-Smith gives a call out to me (among others) in his little SceneKit demo program and his pretty impressive “OpenWorldTest” (i.e. Minecraft tech demo clone).  I don’t recall have any specific contribution, but way back when Steven & I did chat a bunch about SceneKit, and other topics.
    • It tickles me now, though I haven’t talked to Steven much in years, that his name appears increasingly often in pretty high profile places (e.g. the ATP podcast mentions him almost every episode lately).  He’s certainly made a name for himself.
    • Someone called “Taka Taka” has also run with OpenWorldTest a bit, to add VR support among other things.  Nothing to do with me any more than Steven’s original version – I mention it just because it’s cool.
  • I’m cited in the USF Maritime Law Journal (alas a broken link as I write).  Yep, I’m a big mover & shaker in the legal circle… which is to say, Marisa had an article published there and thanked me for supporting her as she wrote it. 😉
  • In reference to my hacking on CoreGraphicsServices, Nat! (no other name given, as far as I can see) wrote a journal entry about how some people in the Apple community can be, well, wet towels.
  • A bajillion years ago I wrote the Keychain Framework, a relatively clean ‘Cocoa’ (Objective-C & Foundation) framework that wrapped Apple’s C-based libraries for keychain access & basic security functionality (which is in turn an implementation & based on the CDSA ‘standard’ that nobody but Apple appears to have ever actually implemented).  Anyway, apparently it’s used in SQLEditor.  I’m pretty stoked – I sunk a spectacular amount of time into that framework, for very dubious benefit in hindsight. 😕
  • And another old pet project that shows up is my Mailcash plug-in for Apple Mail.  This was an implementation of Hashcash, which I still think is a neat idea for reducing email spam, by making senders ‘pay’ for every email like a virtual stamp.  I have no idea if anyone ever really adopted it, nor if my Apple Mail plug-in still works at all.  Presumably not – I recall Apple Mail breaking plug-ins repeatedly over the last ten years or so, since I wrote Mailcash.
    • Oh how easy it is to date an open-source project when it’s still hosted on Sourceforge.  Poor, sad, lost-its-way Sourceforge.

Curiously, there’s several other open-source projects of mine on Sourceforge that don’t show up in a web search for my name:

  • Build Installer, a template for software installers that build the software from source on the user’s machine – assuming they’ve installed Apple’s developer tools, that is.  From memory this was inspired by the tedious and error-prone nature of various open-source projects, w.r.t. how they distributed & installed their software on Mac OS X.  Sadly, nothing much has changed – there’s now brew & such package managers, but in my experience they make just as a big a mess as doing it manually & ad-hoc did.
  • DePC, a tool for stripping files of those nasty DOS-based file extensions, and instead setting the files’ type & creator codes correctly.  Sigh… I lost that battle.  To this day I still think that was a bad choice, that Apple made, to cave in to file extensions.  They’re still ugly and error-prone.
  • Mission to the ISS, the horrible group project I did with various folks in university, for the CSE32PRO (3rd-year Computer Science Project) class.  Back in 2004, I’d guess, based on the open-source release being in January 2005.  That was a fun project in many ways, though the end result was a bit embarrassing – we ran out of time, during the class, to actually finish it properly, so for example the underlying algorithms that control the simulation are fundamentally step-based, but are stepped every time the user provides any input, so high user interaction makes the simulation run faster than intended, with silly and sometimes outright broken results.  Sad panda.

Encrypted RAID volumes in El Capitan

Apple crippled Disk Utility in El Capitan, in their usual name of making good functional things pretty & pretty useless.

Luckily I’m far from the first person to need to create RAID and/or encrypted CoreStorage volumes, in El Capitan.  Florian Knapp has a concise summary of how to set up an encrypted RAID volume.  Tom Nelson (of About.com) has a slightly more detailed tutorial for managing the RAID part.

Now I just wish the hard drive industry would actually push capacities up, like they once did, so that I don’t have to resort to striped RAID sets just to make a disk big enough for Time Machine backups.  It feels like we’ve been effectively stuck at 6 TB for many years now, and affordable 8+ TB drives aren’t really on the horizon (Seagate & Western Digital have offerings, but historically have been bad brands for drive reliability, e.g. Backblaze’s data, plus my own personal experience with their drives).

Update:  macOS Sierra partially restores Disk Utility’s functionality, though not enough to be useful.  It adds a “RAID Assistant” which lets you create unencrypted RAID volumes.  The core Disk Utility app can also initiate manual repair of RAID mirrors, and delete RAID volumes.

It’s something of a mystery why you cannot create encrypted RAID volumes with the RAID Assistant.  It doesn’t offer any encrypted file systems as initialisation options, and attempting to erase the unencrypted RAID volume in Disk Utility, to replace it with an encrypted version, fails with the bullshit error message:

An internal state error occurred
Operation failed…

No shit.

Furthermore, encrypted RAID volumes (or more precisely, any RAID volume that’s part of a CoreStorage Logical Volume Group) don’t get recognised as RAID volumes in Sierra’s Disk Utility unless you connect the underlying drives while Disk Utility is running.  Even then it’s hit or miss whether it’ll correctly recognise not just that it is a RAID set but also that there’s an encrypted CoreStorage volume on the set.  And I’m not even going to try testing if it can actually repair a RAID mirror in that configuration.

To be clear, RAID volumes that don’t have CoreStorage volumes atop them seem to work fine.  It’s evident that Apple simply don’t support encrypted RAID volumes.  Maybe in next year’s macOS – it must be hard adding support for things you already fucking supported until you pointlessly removed support for it.

FWIW, here’s a howto from Macworld on how to use the new RAID Assistant, if encryption isn’t something you want.