Naming a datastoreI've spent most of the past 7 months writing a key-value data store, and its first release will be soon. (Why am I writing a data store? Because my online backup service needs to store 200,000 key-value pairs for every $/month of revenue, and existing data stores aren't optimized very well for very large numbers of very small records.) Before it can be released, however, it needs a name.
So far I've been using the entirely unimaginative "kvlds" — short for "key-value logging data store" (like some other people, I decided that log-structured storage provided me with the right tradeoffs) — but it has been suggested to me that a name containing vowels might be more easily pronounced.
Looking around at some other NoSQL projects, a few options come to mind:
- Naming after a prophet: Phineus?
- Naming after a fictional villain: Project Sauron?
- Naming after a city: Vancouver Cabinet?
- Naming after a random household object: FridgeDB?
I know I have many very imaginative readers; do any of you have a great idea for a data store name? Please leave a comment below or send me an email.
Vancouver politics, xkcd style
(Format and stick figures obtained from xkcd. Any similarity to comments recently made by prominent Vancouverites with the initials M.G. and J.G. is purely in the mind of the author.)
My zero-equity co-founders(This blog post is derived from a talk at the Vancouver Startup Hackathon 2010.)
One of the unusual aspects of my online backup startup is that I'm a sole founder. Despite such commentary as Gabriel Weinberg's Will single founders please stand up? and Ray Grieselhuber's The Royal We: Single Founder Startups, single-founder startups are still unusual and carry with them some stigma — Paul Graham, for instance, famously argued that having one founder is a vote of no confidence from all the founder's friends who didn't join in.
I started work on Tarsnap in late 2006, and over the course of 3 years I have written about 38 thousand lines of code. (The missing year is split between time I spent doing cryptographic research which redefined the field of key derivation functions and time I've spent writing a key-value store which I hope to release soon.) This is an average of roughly one thousand lines of code per month, which is pretty much the limit to how quickly I can write high quality "never need to look at this again because it will never break" code.
In addition to the code I wrote, the Tarsnap client software uses 33 thousand lines of code from libarchive; this would have taken me at least 3 years to produce, and — seeing as archive-processing code is full of messy format-parsing and special cases — it's exactly the sort of code I'm not good at writing.
The Tarsnap server code, on the other hand, relies on Amazon S3 for durable back-end storage (as I wrote in an earlier blog post, Tarsnap synthesizes a log-structured file system on top of S3); my estimate is that this would take me 25–50 thousand lines of code and at least two years to replicate, and — seeing as testing distributed systems is very difficult without distributed hardware — a non-trivial capital expenditure, too. (I'm sure that S3 as a whole is much larger than the size I quote, but Tarsnap only needs a relatively small proportion of the features S3 provides.)
Jeff Bezos often speaks of Amazon Web Services as supplying "undifferentiated heavy lifting" — or "muck" — to startups, since everybody needs storage, compute power, and bandwidth, yet those are very rarely what differentiates one startup from the next; open source software, in contrast, is often extremely differentiated, but is no less useful to the particular startups which can benefit from it. Web Services and Open Source Software, while being almost polar opposites, still have one vital element in common: They can allow one founder to do what would otherwise require several. If I stepped out of a time machine into the year 2000, it would take three Colin Percivals to launch Tarsnap, not just one.
Tarsnap is not a single-founder startup. Tarsnap is a single equity founder startup. To coin a phrase, I have two zero-equity co-founders: Amazon Web Services, and libarchive: They each save me just as much work as a co-founder would, and they don't even ask for a share of the company. Who are your zero-equity co-founders?