Slashcode is a perl-based web automation package which represents a novel approach to organizing public discourse using electronic democracy. Similar to everything, and written and maintained, in fact, by some of the same people.

Slashcode sites are organized around stories, which can be commented on by users. These comments can then be rated by other users (although no user can rate comments in a discussion in which they participated, among other restrictions), and the sum of ratings (positive and negative) done on a given user's comments is retained by the system, and referred to as that user's karma.

Users are chosen to rate comments (called "moderating") at random from the pool of currently active users who are not especially new to the system, have non-negative karma, are regular but not fanatic visitors, and have not opted out of the moderation system. They can only moderate a small number (generally five, though configurable) of comments at a time - and this option expires after a short period of time (3 days, configurable). Subjectively, the likelihood of being able to moderate is extremely low on a given day, week, or month. This mitigates agenda voting and drive-by voting.

In addition, there is a second layer, called "metamoderation", in which any user may rate the moderations done to ten randomly selected, previously moderated comments. This hopefully mitigates what abuses of moderation still occur.

The net effect is that users of Slashcode-based sites may read the comments attached to stories with the highest-rated comments sorted to the top. This generally has a profound effect, perhaps recreating the first exhilirating days of non-electronic democracy, before the disciplines for subverting it matured into competency, as remarkably intelligent responses, often more interesting than the story itself, are prominently displayed, while the spam, trolls, and other garbage which have characterized unmoderated public forums since the opening of the internet are sorted down to the depths of the page, never to be seen again, except by the curious.

Not everyone agrees that such systems work, however, the consensus is that they work better than anything else ever has. There are interesting parallels between public electronic forums and other, less modern entities, such as government. The rise and relative success (even under significant scale demands) of electronic democracies of the Slashcode/Everything family may have significant and far-reaching implications for other more traditional "real world" democracies, as these practices are refined, and more people begin to ask why these rather common-sense advances aren't being applied where they could do some real good.

Slashcode is a sort of Frankenstein of the web. While it is very adept at handling high user situations, it is also a horrid combination of poor perl skills and too much free time.

For instance, contained within every HTML header of a site using Slashcode is a random quote from the Fox TV Show, Futurama. Such quotes, straight from the source code, include:

"Bender: Bite my shiney metal ass!"
"Fry:If this is some kind of scam, I don't get it. You already have my power of attorney."
"Fry:Make up some feelings and tell her you have them."

There are over one hundred of these, which user.pm picks from at random, assuring unnecessary code bloat, and a large waste of CPU cycles. This is especially apparent when between 1 and 5000 simultaneous users read the Slashcode using page at any one time, causing this code to run for each and every page view, by each and every user..

In addition to this, taking only from examples user.pm, we shall observe some of the most helpful, insightful comments I've yet to observe:

"# BENDER: Oh, so, just 'cause a robot wants to kill humans # that makes him a radical?"
"# do we need to do this too? i am leaning toward No. -- pudge"
(The code is still next to this comment, leading me to believe it was never resolved. Yet another waste of CPU time.)

Many of the comments in Slashcode consist of either: A) Chatter between developers, or B) Random, useless quotes. In fact, while one may think you would erase these before releasing such an important piece of server software, it appears a distinct lack of professionalism taints the developers. To make matters worse, its creator, CmdrTaco constantly complains about a lack of submitted patches. He seems to believe that, due to the fact he has open sourceed his "creation", he is entitled to help with it.

While Slashcode has some useful things, such as its intriguing "friends" system, overall it is a poorly hacked together piece of software. I am currently amazed that it has held up under the strain of the major sites that use it, such as Slashdot itself.

As far as using it goes, I'd suggest you avoid it like the black plague. Instead, go look at Kuro5hin's Scoop system; not only does it remain written in perly goodness, but it is much better executed. It also contains many more neat features, and doesn't waste CPU time like some sort of horrible electronic vampire.

(Note: The preceding examples were meant to be just that: examples. If one is to download the Slashcode, you'll see that there are many, many more such problems in it. For this, I kept things simple, and took examples from only one (out of more than 40) of the source files: user.pm.)

Log in or register to write something here or to contact authors.