Over the last few years, we've had quite a few requests for a writeup on the inner workings of the Ars website. Unfortunately, I'm the least productive writer on the face of the planet, so said writeup never materialized. Until today! I'm going to be writing a series of posts covering the soft underbelly of Ars. It might take a week to get through it, it might take a month.
First, some site history
In the beginning, Ars was driven by Frontpage. On the third or fourth day (using the biblical, largely ambiguous meaning of "day"), news duties were relegated to a popular CGI based system known as Coranto. Coranto basically disappeared from the face of the planet a while after that, though it's since been revived. It was quite powerful, if limited by the inherent inflexibility of static files.
At some point, back when I thought it was cool to reinvent the wheel, we replaced Coranto with a custom PHP news system. At the time, Ars was running on two servers at Rackspace. The PHP based news system was backed by MySQL, ran on the secondary server, and pushed static files to the primary server. I don't remember why I did it that way, and it seems relatively fragile now that I think about it, but having a 2-tier publishing system certainly sounds more impressive than "everything runs on one server".
Shortly after putting the wicked PHP system in place, I started work on a "real" publishing system. The working theory went something like: "once this is built, I'll be able to sell it to other companies and buy a condo next to Oprah on Lake Michigan". I took a rough ASP.NET project I'd started for a college project and set about making it full featured and useful. It never really achieved the "full featured" thing, instead becoming a specialized single purpose Ars app.
In the Fall of 2004, we moved most of the site to the new ASP.NET based system, quietly switching to Windows servers at the same time. All "featured content" went into this system, including a couple of wickedly popular OSX reviews that really stressed everything in new and interesting ways. A hidden viewstate form field is great, up until the state it's tracking is over 1MB.
Oh yes, and even with the spanky new ASP.NET based software, we were still using the PHP based tool for all news content. The tools for the journals weren't quite good enough to handle news duties. It was quite an awesome patchwork of cruft.
reader comments