Comment 2 for bug 317136

Revision history for this message
Karl Fogel (kfogel) wrote :

+1 on the shortcut within the launchpad URL-space thing -- great idea!

Here's an idea I've had sitting around in a file for years, waiting for just such an occasion. I sure hope Malone preserves the columnar formatting below, or the diagram won't make much sense:

---------------------------------------------------------------------
  When we generate unique identifiers, users must sometimes manually
  transcribe them. But because certain digits and letters look alike
  (depending on the font), users often mistranscribe identifiers, as
  they're just random sequences with no recognizeable meaning.

  We can reduce mistranscriptions by putting similar symbols into
  equivalence classes. The consuming software would treat all of a
  given equivalence class as the same, so that even when the user
  mistranscribes, the identifier would still work.

  Each column in the diagram below is an equivalence class, giving a
  "base 23" alphabet from which to generate safe identifiers:

                   8 7
                   6 9 1 0 5 3
             2 4 a b c d e f g h i k m n o p r s t u w x z
                 A B C D E F G H I K M N O P R S T U W X Z
                             Q l v
                             q L V
                                 j y
                                 J Y

  For example, if the original identifier were "9sx43y", the software
  receiving it would accept "qsx43y" too (for that matter, it would even
  accept the much further off "G5X4zu", though one would have to wonder
  about the user in that case).

  Base 23 is a high enough base that identifiers will remain short -- at
  10 places, we have 41,426,511,213,648 unique values.