Friday, February 02, 2007

Every good open source project relies on good names and other cool stuff to keep it running, and rubinius is no exception. We've been trying to come up with a good name for our C API layer for a while now, but we're still stuck with 'RNI' and that's just not good enough.

Now, we're turning to you, intrepid reader — and we're offering a reward. Here's the deal, I'll take submissions for a better name for the C API until midnight (MST) on February 18th (Chinese New Year) then Evan will pick the best name from the batch. All you need to do to submit a book is to enter it in a comment below, you can submit as many names as you like (you're welcome to submit multiple names per comment). The person who's entry is chosen will win their choice of one of these three books:

Carnelian, after the reddish coloured quartz variant. Complimentary to the precious stone theme which rubinius already has going with the garnet, plus carnelian could be considered to be halfway between gemstone and mineral.

First, Bacon, because nothing in the Ruby world is named after it yet. And because _why IS an evil Ruby genius.

Perhaps BFG, for Big Freakin' Gun, to keep the evil genius theme. Or Plan, or Doomsdevice, or just Device, or Lobotomy, or Venom, or Octopus (they are SO evil), or...

As you can see, I believe in giving programming projects completely unrelated names. There's a reason: A good unrelated name will stick after very bit of work with the project.

At work, it took only a few days for the whole business unit to talk about Weasel, my small low-impact internship project, just because it's so cute and fuzzy.

If you want a relevant and yet good name you may choose Wig. It is very good simply because it's simple to SWIG, reminding of the most famous project in the area, which means immediate correct connotations for most programmers that hear the name. It also has a LOT of personality by itself as a name. It also has connotations of disguise, which are in place for a project that allows ruby code to behave like code of another language.

And therefore, Mirror is also suggested, also I'm not sure if it's available.

Vex is suggested for sounding right.

Wireplex.

Facepaint.

Ax.

Nexus.

Bonds or Shackles or Binds (for binding to libraries in other languages) or Bridge or Bridges or Talkie or Cable.

Arnie - I thought of this as soon as I looked at RNI. If you read it like this "R-NI"

Carnie - Add a "C" to the first suggestion. CaRNIe

Caper - This means a leap or hop.

Island - I thought of Capri (which means island) first, but it seems to be taken by NASA for something. I thought of this because the C functions you are calling could be the island and they can be reached in some way. Just like an island.