Chapter 1. Slash: An Overview

This chapter is a whirlwind tour of Slash. It begins with a short history of Slash, then explores a typical site through the eyes of an average user. It explains the life cycle of a Slash Story, from user submission to published glory, and ends with a skeletal view of the underlying software. Subsequent chapters put meat on these bones. This chapter draws the broad outlines of the map and the major thoroughfares.

The Slashdot Story

The Slash Story begins with Slashdot, one of the most successful news and technology sites on the web. Slashdot’s motto says it all: “News for nerds. Stuff that matters.” Back in 1997, Rob “CmdrTaco” Malda started a website known as Chips & Dips, served from his student account at Hope College in Michigan. That summer, Malda spent his time writing and updating static HTML files. Every few days, he’d start a new page. Computer programmers like to talk about scalability, the idea that a resource can keep up with increasing demands. Editing HTML by hand is time-consuming and tedious, and quickly scales beyond the attention span of a typical programmer. Computers are fully capable of handling these mundanities.

The site grew in popularity. Malda and his friend Jeff “Hemos” Bates registered the slashdot.org domain and moved to a dedicated machine in October 1997. They took the opportunity to automate parts of the publishing process. Malda started learning Perl and enlisted the help of other friends (Patrick Galbraith, Cliff Wood, Jaime McCarthy, and Jonathan Pater) to add templates and a web interface for editing Stories. Soon, they were adding features like madmen—the distinctive visual look of the site, user polls, remote administration, and user comments.

The site became a place to test new ideas, and the coders had to learn to cope with a perpetually growing userbase. Malda discovered mod_perl and MySQL, and by April 1998, had ported the software for extra speed and features. His self-confessed first (significant) Perl program grew into a powerful tool for running Slashdot. Somehow, the site put up with a traffic load that could often choke other servers, occasionally eating the entire bandwidth allotment for the city of Holland, Michigan.

These humble beginnings were nothing new, either on the personal or technological levels. Many Horatio Alger stories have come from the heady Internet days of the late 1990s. Some remain. Many modern websites have gone through a similar evolution, from static pages to templates, flat files to database-driven content management systems. Slashdot was different in two important ways.

The Rise of the Weblog

The Internet was once the domain of technically-savvy researchers and students. Only a privileged few were able to enter this freewheeling meritocracy. As with most communication technology, it would soon enter the hands of the common people. A missionary in Bohol can keep in touch with his family and friends via email, and with his supporters through a web page hosted, for free, by a California company.

He still faces several technical barriers, though. He has to know enough HTML to write his web page. He needs access to the machine hosting his site. He must constantly come up with new things to say, or people will stop reading. Solving these problems means that anyone, anywhere, with Internet access, can find his information at any time, day or night.

While the Slashdot crew coded away, several other programmers had similar ideas. Would it be possible to build a program to manage a web site, where people could organize and create things through a web browser instead of HTML editors and FTP clients? What would the resulting site look like? Where would they find fresh content, and what would keep people coming back for more?

One type of site is called the weblog.[2] This can be anything from a journal to a stream of consciousness commentary or even a full-blown news site. The important features are a steady stream of fresh content and a willingness to link to other existing sites as a raison d'être. Think of the Captain’s log on Star Trek and how it usually served to introduce and frame the upcoming story, and add in a very quick feedback loop.

Weblogs tend to be simple, personal, and immediate, but this is not required. For the most part, weblogs are simple and straightforward. People can publish their thoughts, even for the first time, with almost no training. Within these constraints, sites such as http://advogato.org/, http://blogger.com/, http://www.livejournal.com/, and the venerable http://slashdot.org/ each serve a different niche.

The main similarities between Slashdot and other news-type weblogs (for example, at the O’Reilly Network, http://www.oreillynet.com/weblogs/) is the concept of a Story. A Story is usually a link to another web site with a bit of commentary. Built to support a “news” site, Slash formally defines Stories as simple blocks of HTML containing a headline and introduction, an opinion column, a media review, or anything else. Stories are organized by topic and are placed in logical Sections. Readers can comment on Stories and on the comments of other users. An underlying database tracks and manages all of this data. Slash’s job is to present everything in a format that’s both easily navigable and searchable. Moving closer to personal weblogs, Slash 2.x added user journals. These allow users to record their own thoughts and allow comments from other users. This feature has already proven quite popular at Use Perl (http://use.perl.org/).

Slashdot may not have been the first weblog, and it is admittedly not perfect, but its powerful and flexible user comment system was almost unheard of at the time, and is rarely equaled even now. Imagine a city newspaper with letters to the editor attached to every story, in which newsmakers and reporters alike regularly respond! The freewheeling, corner-pub-for-geeks atmosphere the editors try to cultivate doesn’t hurt, either. The comment system comes for free with Slash, but the community takes some work.

The Slash Code

Since the Slashdot crew were fierce Linux and Free Software proponents, it was inevitable that readers would ask for their own copies of the Slashdot code. Malda deferred, for a while. It was ugly. It had been patched and repatched to fit the needs of Slashdot alone. It would be nearly impossible to install elsewhere. Besides, running the site was more important and interesting than cleaning things up for a release. People continued to ask.

As the site’s influence increased (an interview in Wired magazine! a giant monitor wall at MIT displaying the page! John Carmack posting comments!), imitators and clones appeared. Several new sites began to imitate Slashdot’s rather distinctive look. PHP, Java, and even other Perl hackers wrote their own Slash-like software, clearly inspired by what was possible.

Then came Slash, the Slashdot Like Automated Storytelling Homepage. It was hard to read and even harder to install, but it was--more or less--the same software that actually ran Slashdot. Malda and perpetual poll option Jonathon “CowboyNeal” Pater had actually delivered the goods. This original release had a not-entirely undeserved reputation for unreadability. People downloaded it anyway, and a hardy few used it to build their own sites.

Slash Matures

Slashdot has always believed in free speech. Even after user accounts were added in August 1998, users without accounts were still allowed to make stunningly brilliant, if anonymous, comments. Of course, the same mechanism that protects a free-speaking whistleblower gives bored 15, 25, or even 85-year-old readers the chance to spew inanities, vulgarities, and redundancies, even in a Story memorializing a computing pioneer. The Slash developers realized that a little community moderation was in order.

The point of moderation is to pick out hidden gems on the sandy beach of comments. A secondary goal is to mark the dross clearly enough, so that only people who want raw, unfiltered opinions can see it. Originally, a hand-picked crew of long-time readers performed this filtering. The ranks swelled as the experiment continued. Finally, Slashdot opened the floodgates to all registered users in good standing. In theory, the community as a whole would develop coherent standards to separate the wheat from the chaff.

In June 1999, Slashdot announced that it had been sold to a technology and online-content company called Andover.Net. Having turned down several other offers, Malda and Bates negotiated a shrewd deal. They would maintain editorial independence, while receiving the financial backing to continue doing what they loved. This brought another round of upgrades and additional authors, and kept the site running.

If Slashdot has proved one thing about Internet communities, it’s that there are at least as many opinions as there are participants. While many thousands of people enjoy reading Slashdot without ever posting, thousands do comment. Meta-moderation came about to help curb possible abuses of rogue moderators and to test the grand experiment. Again, users in good standing could review existing moderations, judging them as fair or unfair. In theory, the system balances itself. In practice, site administrators can tweak dozens of variables to modify the system.

With these powerful new features, users again clamored for fresh code. Perhaps remembering the pain of the last releases, Malda again deferred. Andover.Net decided to make Slash a business project. They hired two noted and very capable Perl hackers, Chris “Pudge” Nandor and Brian “Krow” Aker, to oversee the project, and launched the Slashcode site (http://slashcode.com/) to help the process. Things were still rough, but they improved quickly after the release of Slash 0.9 in January 2000.

Today, Slash is much more than a weblog. It’s a web application platform, to throw around a buzzword or two. It separates presentation from content, has a database abstraction layer, performs powerful caching, hooks directly into the Apache web server, and can be extended to do just about anything a web application could be expected to do. It can serve content in various languages, perform various maintenance tasks automatically, and, if tuned correctly, serve millions of pages per day.

Perhaps best of all, it’s free in every sense of the word. You can download it at no charge. You can modify it to your heart’s content. You can sell it, if you find buyers, and you can distribute your changes.[3] This was true of the earliest releases and has not wavered in subsequent releases (Slash 1.0 escaped in March 2000, with Slash 2.0 following in May 2001).

The power of Slash to spread a message, to start discussions, and to build communities around the world is available to anyone willing to learn.



[2] To be fair, this term is almost as broadly defined as “peer2peer” or “copy prevention circumvention device.”

[3] For more information about these rights, see the COPYING file in the Slash distribution. The Free Software Foundation (http://www.fsf.org/) and Open Source Initiative (http://www.opensource.org/) web sites explain the philosophical and pragmatic reasons behind this concept, respectively.

Get Running Weblogs with Slash now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.