(brought to you by boringcactus)

Cactus's Obvious, Intuitive Naming Scheme (21 Mar 2021)

It's well-established that naming things is one of the two hardest problems in computer science (along with cache invalidation and off-by-one errors). So I solved naming. If you've got a project that needs a name, here you go.

The ingredients are simple:

  1. Your name.
  2. The word "obvious".
  3. A good adjective.
  4. The kind of thing you've made.

The canonical example, from which this scheme was reverse-engineered, is Tom's Obvious, Minimal Language. People who haven't used TOML might think that "obvious" is functioning here to describe the language, but various attributes of TOML (non-ASCII keys requiring quotes, substantial distinctions between single- and double-quoted strings, array-of-tables syntax) indicate that "obvious" is merely part of the name template rather than an actual descriptor.

As an example, we can construct a name for this approach to assigning names to things. My name is cactus (for some value of "name", and for that matter "my"), it would be good if this was intuitive, and this is a naming scheme. As such, the name this process assigns to itself is "Cactus's Obvious, Intuitive Naming Scheme", which abbreviates nicely to "COINS".

We can also construct COINS names for other things:

Despite the fact that Tom's Obvious, Minimal Language inspired this naming scheme, it actually suffers greatly from having used it. If I ever get my hands on a time machine, I will go back and tell Tom to call it "My INI-Like Format" instead.