Powered by the KIRK HINRICH stack
The set of technologies used as a foundation for a piece of software is sometimes called a stack. The most famous is LAMP (Linux, Apache, MySQL, Perl/PHP/Python). A trendier option is MEAN (MongoDB, Express.js, AngularJS, Node.js). And there are tons more, mostly tounge-in-cheek jokes at the absurdity of reducing a stack to a catchy acronym (at least, I hope that's what they are). There is even the LeBron stack: LevelDB, Browserify, and npm. In Basketball GM, I use npm a little and I indirectly use LevelDB through IndexedDB in Chrome, but sadly it'd be quite a stretch to say I'm using the LeBron stack.
What stack am I using? Nothing coherent or well established. Just a hodgepodge of things that somehow happens to work. But that's just not a catchy answer, so I set out to find a cool name for my stack. The LeBron stack is a fun name, so I figured I could try to find another NBA-inspired name.
Here's the strategy:
- Make a list of potential acronyms
- Make a list of the technologies used in Basketball GM
- Come up with a formula for the score and use it to find a sweet acronym
For the potential acronyms, I used a list of all the active or Hall of Fame NBA players, first and last names treated separately.
For the technologies, it's a little more complicated. I tried to come up with a good one for each letter of the alphabet, but that was too difficult. I only came up with technologies for 15 letters. And some of those were really stretches, so I added a score for each technology based on its relevance, from 0 (barely relevant) to 10 (absolutely critical).
To score the potential acronyms, I took the average of the score for each letter (-5 for letters with no corresponding technology) and applied a penalty for short acronyms (otherwise JJ would come out first, since JavaScript is a 10).
I applied my scoring algorithm to my list of names and was pleasantly surprised to find a pretty high scoring name at the top: HINRICH, with a score of 7.7:
- HTML5
- IndexedDB
- NoSQL
- Require.jS
- IndexedDB
- Chai
- HTML5
And then I was absolutely shocked to see #2 on the list with a score of 7.5:
- Knockout
- IndexedDB
- Require.js
- Knockout
Shut it down!!!! My search is done.
Think you can do better? Here's the code and data. But I think the KIRK HINRICH stack will be hard to beat.