Followup, Of Sorts

Many Twitter responses to yesterday’s post about sorting problems:







In the end, it’s probably best to remind ourselves that the whole concept of “order,” as we perceive it, is merely a layer of artificial augmented reality that our brains came up with. If we realized that everything’s that’s ever happened and every will happen is random, and that there’s no plan for anything in the universe, we’d probably all just freak right the hell out and forget to eat those sugars and proteins that our brains like so much.

These Tweets and others jarred a memory loose. I actually did solve my comic book database’s sorting problem, by creating multiple “Title” fields to serve multiple purposes. The record for an issue of “Avengers West Coast” had:

  1. A field containing the title as it should appear when printed (“Avengers West Coast”)
  2. A field containing the title as it should appear in a super-condensed multi-column report (“AVENWC”)
  3. A field used exclusively for sorting purposes (“West Coast Avengers”)

Yes, this was another book that Marvel renamed midway through its run. But by sorting on the third field, Issue #47 of Avengers West Coast Volume 2 naturally followed issue #46 of West Coast Avengers Volume 2 without any trouble.

I was quite proud to have figured that out. It also informs my philosophy that sometimes, we delay the discovery of a great solution to a problem by insisting that it be simple and elegant. In Game Boy terms: we’re playing Tetris, and we’re so determined to set up a move that clears four rows at once that we pass up dull, but effective, drops of one row or two. I remember the moment late at night, in front of my DOS machine (hey, it was the late Eighties), when I realized that all of this extra Turbo Pascal code (hey, it was the late Eighties) I’d been writing to compress title strings and alias one title onto another just a big waste of my time and the CPU’s.

This is making me nostalgic for the days when I had some sort of huge programming project to work on..code that I build, maintain, and enhance for years and years, just for my own use and my own pleasure. My first big project was an Apple II operating system. My second was the comic book database. My last one was the CMS and desktop app that ran my blog from the mid-Nineties until 2007 or so. Since then, all I’ve done are little one-off AppleScript, Ruby and Perl scripts to help me finish simple, repetitive tasks quickly.

Maybe this is my way of nudging myself to start to learn Swift in earnest, beyond the usual “Jackdaws love my big sphinx of quartz”-style test app I build when I need to test a language or a development environment.

iOS app development has always intimidated me, though. It feels like I shouldn’t look back after a year’s worth of effort and only then realize that I could have made a million dollars if I’d spent that time writing a different kind of app.