Part of growing old is hitting anniversaries of landmark dates, and part of having a blog is reminiscing about those dates and preserving those memories into bits, so here’s a story for you.
This month marks 10 years since my first day at eNIC, the company which ran the registry for the .CC top-level domain (Cocos Keeling Islands). I spent a little over a year and a half there, and it was a crazy time. We got more done, with more innovation, fun, and money than anywhere I worked before or since, and I still look back on it with awe.
It was August of 2000, I was 23, and was working at an e-retailer over on the Eastside. The economy was shit, and I was pretty despondent about the future of that company, so I started asking around if there was anything cool to be worked on. At the time, I had a bit of a rep, and within a day had a couple interesting opportunities in front of me, one of which was eNIC. I knew very little at the time about registries, registrars, or how any of that stuff worked beyond the most superficial understanding of DNS and BIND, but a couple friends worked there, and they had thrown a kick-ass holiday party the year before, so I thought I’d give it a shot.
I still remember my interview clearly. The eNIC office was in 999 3rd Ave, one of the skyscrapers in Downtown Seattle, and I was elated to not be in an suburban business park. I met my friend Corey in the “old” office, which was packed to the gills with people and server equipment while they awaited the build-out of their gorgeous new space on the 44th floor. After a brief tour, I was introduced to the founder, who basically chatted with me for a few minutes about his vision, and said I’d be hearing from him soon. The next day, I got an offer letter for a Senior Engineer position, with an killer compensation package for the time, and I didn’t hesitate in accepting.
Brooke tells me I was super-nervous the first few weeks, as well I should have been, working on tough new challenges at a company that was growing like crazy. Over the next few months, we launched some pretty amazing products, both from the technology side and from the revenue side. My first week, the team launched multi-lingual domain names ( like 喜.cc ) - way before that launched in .COM. We patented and introduced the use of a wildcard at the TLD level ( *.cc ) so we could do pattern matching and appropriately directly traffic for non-existent domains to relevant content, and do tricks like [ups-tracking-number].cc - the same type of behaviors that later bit VeriSign in the ass with SiteFinder.
I built an engine for private-label reseller sites, and a .COM reseller site that was cheaper than anywhere else on the internet at the time. We did shady things that I’m disgusted by years later, like sent fake-invoices invitations to .COM domain owners, and created installers that replaced the DNS resolver on your computer with a custom build of our own. We had a few hundred thousand domains averaging probably $50/each, and we were a money making machine. One of my first projects was writing the domain renewal system, which rang up six figures the first time I ran it. We had people working 24x7, and when we weren’t working, we were all partying pretty hard.
My crowning programming achievements, were two projects called RRP and RI.
The RI (Registry Interface) was a beast of a middleware application written in Java that bridged several disparate ccTLD registries into one common API. Common API patterns seem like a given nowadays, but at the time most registries were running homegrown systems based on everything from RRP to XML-RPC and custom protocols. I remember one registry provider’s system was based on sending email templates back and forth. It was disgusting, but super-satisfying to put into place and power our registrar and reseller sites.
RRP (Registry-Registrar protocol) was a new protocol that VeriSign had created to run the .COM and .NET registries. Without going into too much detail, this was the first step in creating a thin registry, which only contained operational data such as registration dates, nameservers, and glue records, while keeping the thick registrant data at the registrar who registered the domain. Our goal was to launch the same thing for .CC.
My entire functional spec was a copy of RFC-2832, and we had a a timeline of a few weeks to get things launched. My friend Damon wrote the socket wrapper, and I implemented all of the protocol details and business logic. We came up with a clustered server farm architecture with a bunch of RRP app servers, and lots of read-only mysql databases, back when that was exotic. Oh, and it was all written in PERL.
What we launched was rock-solid, and identical in interface to the .COM registry, so all of the registrars selling .COMs could begin selling .CC with barely any work on their end. We got all of the large registrars on-boarded: Dotster, eNOM, Register.com, and the big daddy at the time, Network Solutions. Within a few months of that launch, VeriSign came-a-courting, and acquired us less than two weeks before 9/11, on September 1st, 2001.
After the acquisition, things got weird. On one hand, I was pretty proud that my RRP code passed VeriSign’s QA certification almost immediately, and to find out that the Network Solutions (at the time owned by VeriSign as well) backend was very similar to my RI. And it was fun flying out to Dulles and seeing this massive company working on the same types of problem we were, only with much larger scale, and with 3000 employees instead of 30.
Unfortunately, our nimble 30-person team was no longer so nimble. In fact, besides working on integration, having lots of meetings, and moving offices, we got next to nothing accomplished. Fortunately, Brian, the CEO/founder, had taken his big paycheck and left, and a few months later, I followed him to start working on Spam Arrest. But that’s a story for another year.