<?xml version="1.0"?>
<?xml-stylesheet href="/transform" type="text/xsl"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:bibo="http://purl.org/ontology/bibo/" xmlns:bs="http://purl.org/ontology/bibo/status/" xmlns:ci="https://vocab.methodandstructure.com/content-inventory#" xmlns:dct="http://purl.org/dc/terms/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xhv="http://www.w3.org/1999/xhtml/vocab#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" lang="en" prefix="bibo: http://purl.org/ontology/bibo/ bs: http://purl.org/ontology/bibo/status/ ci: https://vocab.methodandstructure.com/content-inventory# dct: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# xhv: http://www.w3.org/1999/xhtml/vocab# xsd: http://www.w3.org/2001/XMLSchema#" vocab="http://www.w3.org/1999/xhtml/vocab#" xml:lang="en">
  <head>
    <title property="dct:title">UUID Vexillology</title>
    <base href="https://doriantaylor.com/uuid-vexillology"/>
    <link href="document-stats#E21RPjKMf5sjLV-8JPgl9L" rev="ci:document"/>
    <link href="elsewhere" rel="alternate bookmark" title="Elsewhere"/>
    <link href="this-site" rel="alternate index" title="This Site"/>
    <link href="http://purl.org/ontology/bibo/status/published" rel="bibo:status"/>
    <link href="" rel="ci:canonical" title="UUID Vexillology"/>
    <link href="lexicon/#EzqXIsriaILFcWjXdS7FbI" rel="dct:audience" title="Software Developer"/>
    <link href="person/dorian-taylor#me" rel="dct:creator" title="Dorian Taylor"/>
    <link href="#EKyUijmhNSh4IPDRFl5_0L" rel="dct:hasPart"/>
    <link href="#EaSbqx-4wT6oO2aC3q31BJ" rel="dct:hasPart"/>
    <link href="#EmFOKylfSpUBXcSD3SnXVJ" rel="dct:hasPart"/>
    <link href="person/dorian-taylor" rel="meta" title="Who I Am"/>
    <link about="./" href="3f36c30c-6096-454a-8a22-c062100ae41f" rel="alternate" type="application/atom+xml"/>
    <link about="./" href="f07f5044-01bc-472d-9079-9b07771b731c" rel="alternate" type="application/atom+xml"/>
    <link about="./" href="this-site" rel="alternate"/>
    <link about="./" href="elsewhere" rel="alternate"/>
    <link about="./" href="e341ca62-0387-4cea-b69a-cdabc7656871" rel="alternate" type="application/atom+xml"/>
    <link about="verso/" href="3f36c30c-6096-454a-8a22-c062100ae41f" rel="alternate" type="application/atom+xml"/>
    <link about="verso/" href="this-site" rel="alternate"/>
    <link about="verso/" href="elsewhere" rel="alternate"/>
    <meta content="uuid-vexillology" datatype="xsd:token" property="ci:canonical-slug"/>
    <meta content="This is just an idea at this stage, and I'm confident I'm not the first to consider it: using flags and/or heraldry to make long, generated identifiers more memorable. (Disclaimer: no examples yet!)" name="description" property="dct:abstract"/>
    <meta content="2012-01-12T23:13:33+00:00" datatype="xsd:dateTime" property="dct:created"/>
    <meta content="uuid-vexillology" property="dct:identifier"/>
    <meta content="2012-01-12T23:13:06+00:00" datatype="xsd:dateTime" property="dct:issued"/>
    <meta content="2012-01-19T21:18:28+00:00" datatype="xsd:dateTime" property="dct:modified"/>
    <meta content="2022-05-31T04:18:52+00:00" datatype="xsd:dateTime" property="dct:modified"/>
    <meta content="2022-05-31T15:10:50+00:00" datatype="xsd:dateTime" property="dct:modified"/>
    <meta about="person/dorian-taylor#me" content="Dorian Taylor" name="author" property="foaf:name"/>
    <meta content="summary_large_image" name="twitter:card"/>
    <meta content="@doriantaylor" name="twitter:site"/>
    <meta content="UUID Vexillology" name="twitter:title"/>
    <meta content="This is just an idea at this stage, and I'm confident I'm not the first to consider it: using flags and/or heraldry to make long, generated identifiers more memorable. (Disclaimer: no examples yet!)" name="twitter:description"/>
    <meta content="https://doriantaylor.com/file/chernoff-rageface" name="twitter:image"/>
    <object>
      <nav>
        <ul>
          <li>
            <a href="document-stats#E21RPjKMf5sjLV-8JPgl9L" rev="ci:document" typeof="qb:Observation">
              <span>urn:uuid:db544f8c-a31f-4e6c-b8cb-57ef093e097d</span>
            </a>
          </li>
        </ul>
      </nav>
    </object>
  </head>
  <body about="" id="EEGkOLT0FTI7H0g1IQNHUI" typeof="bibo:Article">
    <p>For a number of years I have been using <a href="http://en.wikipedia.org/wiki/Universally_unique_identifier" title="Universally unique identifier &#x2014; Wikipedia" rel="dct:references"><acronym title="Universally Unique Identifier">UUID</acronym>s</a> as <a href="working-titles-get-random-cryptonyms" title="Working Titles Get Random Cryptonyms" rel="dct:references">intentionally meaningless names</a> for objects like <abbr title="World-Wide Web">Web</abbr> pages, to be able to publish them without having to name them right away. When I finally decide on a name (which usually entails deciding on the document's title), I simply redirect all requests from the <acronym title="Universally Unique Identifier">UUID</acronym> to the new, human-readable address. This way I don't lose any inbound links that may have accrued in the interim.</p>
    <h2><acronym title="Universally Unique Identifier">UUID</acronym>s For Greater Living</h2>
    <p>The humble <dfn>universally unique identifier</dfn> is actually a pretty clever invention. The problem the <acronym title="Universally Unique Identifier">UUID</acronym> solves is that objects (on computers) often need to be addressed by name, but it is too onerous to come up with a scheme for doing so. It is also important that no two objects receive the same name anywhere in the world. The <acronym title="Universally Unique Identifier">UUID</acronym> makes such collisions extremely unlikely by being so huge, numerically, that an accidental duplicate would effectively take forever to generate.</p>
    <p>The problem with <acronym title="Universally Unique Identifier">UUID</acronym>s, however, is that they look like this: <samp>38f9b5ee-c1d7-44f5-b294-295db67998fd</samp>&#x2014;wholly unfit for human consumption. They exhibit no mnemonic value because they aren't supposed to. Even after years of exposure to abstruse alphanumeric strings, I can never remember more than the first few digits&#x2014;and it doesn't take more than a few hundred objects named this way for the first few digits to start to collide. This is a known problem that <a href="key-continuity-for-kindergarteners" title="Key Continuity for Kindergarteners" rel="dct:references">I have considered before</a>: that it would be useful to turn this computerrhea into something more memorable.</p>
    <p>My previous work along this line of inquiry was around <a href="http://en.wikipedia.org/wiki/Cryptographic_hash_function" title="Cryptographic hash function &#x2014; Wikipedia" rel="dct:references">cryptographic hashes</a>, which is a similar problem with a different goal: to visually match a symbol we have with one we are given. This problem differs in that we want to pick an individual object out of a lineup. Here are some examples of the <em>very</em> primitive proof-of-concept I did for the hashes, in which I mapped bits in the symbol to blocks of grey, adapted to <acronym title="Universally Unique Identifier">UUID</acronym>s:</p>
    <table class="figure" style="margin: auto" id="E5P9HDIT3vUtu7JlE6rxgL">
      <thead>
        <tr>
          <th>Symbol</th>
          <th>Image</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td><samp>98538aca-57d2-4a54-9057-7120f74a75d5</samp></td>
          <td><img style="display: block" src="file/98538aca-57d2-4a54-9057-7120f74a75d5" alt="" rel="dct:hasPart"/></td>
        </tr>
        <tr>
          <td><samp>2b25228e-684d-44a1-be08-3c3445979ff4</samp></td>
          <td><img style="display: block" src="file/2b25228e-684d-44a1-be08-3c3445979ff4" alt="" rel="dct:hasPart"/></td>
        </tr>
        <tr>
          <td><samp>6926eac7-ee30-44fa-9a0e-d9a0b7ab7d41</samp></td>
          <td><img style="display: block" src="file/6926eac7-ee30-44fa-9a0e-d9a0b7ab7d41" alt="" rel="dct:hasPart"/></td>
        </tr>
      </tbody>
    </table>
    <aside role="note" id="E2HcJqXsuflVLZ-yUeebzL">
      <p>Revisiting this little excursion made me realize that <a href="key-continuity-for-kindergarteners" title="Key Continuity for Kindergarteners" rel="dct:references">my other examples regarding <acronym title="Secure Hash Algorithm">SHA</acronym>-256 hashes</a> are <em>wrong</em>, because at two bits per block (four shades of grey) there should be 128 blocks, i.e. twice as tall or wide as those above, which, at &#x221A;128/2 = 8 blocks square. Also, they look <em>way</em> too much like <a href="http://en.wikipedia.org/wiki/QR_code" title="QR code &#x2014; Wikipedia" rel="dct:references"><acronym title="Quick Response">QR</acronym> codes</a>.</p>
    </aside>
    <h2>Perhaps We Can Make This More Interesting</h2>
    <p>I thought to myself how it would be more memorable if instead of pixel grids, the data in these symbols drove geometric shapes, like <a href="http://thevash.com/" title="Vash" rel="dct:references">Vash</a> or <a href="http://en.wikipedia.org/wiki/Chernoff_face" title="Chernoff face &#x2014; Wikipedia" rel="dct:references">Chernoff faces</a>:</p>
    <figure>
      <img style="display: block; margin: auto" src="file/chernoff-rageface" alt="" title="ME GUSTA" rel="dct:hasPart foaf:depiction"/>
    </figure>
    <p>Almost a good idea, but what about <a href="http://en.wikipedia.org/wiki/Vexillology" title="Vexillology &#x2014; Wikipedia" rel="dct:references">flags</a>, or <a href="http://en.wikipedia.org/wiki/Heraldry" title="Heraldry &#x2014; Wikipedia" rel="dct:references">heraldry</a>? It should be feasible to cram 128 bits of entropy into a mishmash of stripes, lozenges and heraldic critters. These things don't have to be conspicuously exact like cryptographic hashes, they just have to be close enough. <acronym title="Universally Unique Identifier">UUID</acronym>s also have a discernible anatomy and come in five different flavours: two based on time, two on hashes and one random. One could incorporate the season or time of day the symbol was minted (in the case of time-based <acronym title="Universally Unique Identifier">UUID</acronym>s) into the generated image. Plenty of fun to be had with it.</p>
    <p>Anyhow, this is born onto the back burner, because I have <em>way</em> too many projects going on at the moment. If anybody tries this though, let me know.</p>
  </body>
</html>
