When last we left off, Slashdot had grown beyond my ability to maintain it as a hobby, as well as beyond the simple DEC Alpha Multia 166 that had served it so well for the first week or two, and then immediately buckled under the traffic. Here in Part 2, we ride the wave of Slashdot's growth from early '98 until whenever my wrists get tired enough that I stop yakking until next week.
A lot of things happened in parallel in the late winter and spring of 1998. We switched over from Ariel, the Alpha, to Triton (yes this is a Little Mermaid thing- all of my machines were named after Disney cartoon characters for many years until I started naming them after anime chars- my current laptop is Lum), a cobbled together from leftover parts dual Pentium. It had more RAM and a bigger hard drive. (As an aside, We're planning on auctioning off the case for charity- the guts are long gone, but stay tuned for more information) Triton itself actually lasted for a year or more serving initially as the entire Slashdot. It later was shipped to California and continued to serve web traffic even after we added a second machine for database traffic.
During spring break of 1998 I rewrote Slashdot from scratch. I looked into PHP and Perl. I researched MySQL and Postgres. And based on what existed in 1998, I chose what was the best for my needs. And while cool kids drove to Florida and saw boobs, I stayed up all night and rewrote almost all of the site from scratch. The new system used mod_perl, making it possible to NOT recompile the whole site for every single page request. And replacing flat text files with an actual honest to god SQL database made performance screamingly fast (for at least a few days anyway) until traffic increases squished us again.
It wasn't but a few weeks later before we were politely asked to get the hell off our network. The traffic being consumed by Slashdot was essentially saturating our ISPs entire T1 during the afternoon. The folks at the MacNet were good to us, but enough was enough. We packed up the box and mailed it to California. Since then, I have never physically touched a computer that was running Slashdot. Hell, I've never even seen them in person. Originally it was distance that made it impossible to see them, but today the SourceForge netops staff maintains the hardware. Frankly it's for the best- I tend to break things when I touch them. Our provider forbids photography inside the colocation facility, so if anyone asks, I've never even seen what the installation looks like. What a stupid policy that is.
The new code made another huge change which was to have long term repercussions. Originally all Slashdot content came from my travels through the internet, and my inbox. After April of 1998, submissions were sent to us via a web form and maintained using a nifty little web interface I hacked together. At the same time, a few friends were given administrative accounts, and among them was Hemos. Up to that point I had posted every single story that appeared on the site. A by-line was added, and the load was distributed. A number of Slashdot volunteers came along in the following months, and several continued to work with us for years more.
We toyed with a number of ways of making some cash around this time as well. The ad agency I worked at tried to sell ads. We partnered for awhile with a couple of different ad selling networks. Eventually we formalized the creation Blockstackers- a corporate shell for Slashdot and later, Everything2. By the end of the summer, Nate had coded our own Ad Server (known as AdFu) and were selling our own ads. Our ad server was a hack, but having worked with a number of mainstream ad systems over the years, it had serious advantages- not the least of which was very high performance.
When the fall semester started up again, I quit my day job and ran Slashdot as my only job... besides school which for that last 3 months hardly counted.
It was right around this point that we created user accounts. For nearly a year all posts had no authentication... but now you could reserve your name. I got UID #1, and to this day can trump this debate in the frequent (and inane) discussions you see in stories where people brag about their low user IDs. Mainly user accounts were created in response to spam. At this point we started having the occasional DDoS and crapflood of our forums. It was a pain in the ass, and led to a long series of security changes including our now infamous moderation system. At first there were a couple dozen friends who could moderate. I used their moderations to find a few hundred more moderators, a system which worked for several months until the comment volume exceeded their available time.
I finished college in the fall of 1998 and was able to dedicate every minute of my life to Slashdot. The moderation system was expanded to include 'Mod Points' and any eligible Slashdot reader could moderate by simply being a regular, positive contributor to the site. Meta Moderation followed soon on. By this point, Slashdot had pretty much all the core functionality that it has today- it didn't visually change for like 5 years after that when we finally redesigned the site.
In the following months the site was pulling down enough money that all of us were able to quit day jobs and work on Blockstackers related projects. During this time we never had a month in the red- we never had debt. We always broke even. Of course, when you live and work in a burnt out dump in a very small town, that's not that hard to do! At this point it was Me running Slashdot, Dave doing Sysadmin work, Kurt in charge of HR/Bizdev etc, Jeff in charge of sales/marketing and Nate working on E2. We hired CowboyNeal around that time as well. Everyone helped everyone else: I'd write HTML for Nate or he'd hack some odd code for me. Looking back it was probably the most creatively satisfying period in Slashdot's history. Ideas could be implemented quickly. Cash was tight, but we could always afford beer. Life was good.
First post had become a huge problem- since it took several minutes for comments to appear, there would often be 5-10 of them. So I wrote a task that would post a random templated first postish looking thing to every story before anyone else could see it. After a real post appeared, it would delete itself. It was called fpsBeDamned. It ran for several months until a few people noticed them disappearing, and accused me of deleting comments. As the FAQ says- we really don't delete comments except for the incredibly rare DMCA or Secret Service mandated events. So important was the rights of the bot, that I eventually disabled it. It was a fun experiment tho, and I really started learning about the sorts of things people will do to screw with a public system, and what I would need to stop it. I also became increasingly aware that I was going to need a lot of help and hardware to deal with it.
Which takes us to mid 99... it was time to go corporate. Which we'll talk about next week.