Glasscode Released
BBSes, Half-Empty, Glasscode, and my sanity.
Just a bit more than a year ago, me and my good friend Isaac Oates (author of the Eternity BBS software from long ago) sat down and decided to create a website. We were missing the days of BBS yore, where discussion flowed with intellectual posts about all kinds of topics, trolls were sparse, and flames were hearty. We wanted it back. The root of all evil seen in online posting today, Isaac and I decided, was that people were not caring what all of their peers thought of them, and were not in anyway motivated to think through their posts. We also saw alot of the current weblogs out there restricted in what could be posted, and by whom. They were also confusing to the newbie (granted, half-empty is overwhelming right now), and we wanted anyone and everyone with a Internet connection to be able to stop sucking information out and start dumping some back in.
We wanted to create an online community (the kind that Katz has recently been raving about) that would have no limits on discussion and would by its nature make people want to get involved. It would allow the users to get an ongoing rush of content, or eliminate the content down to just being about, say, Birds. It would let the users know what other people thought of them. It would allow for the obvious identification and silencing of blatant trolls. It would be fun to use, and would be addictive.
We started chipping away last January, at the turn of the millenium. Unfortunately, Isaac was sucked away into the depths of UIUC, unable to continue the project. Fortunate or not for myself, this was a project stuck in my head and would not leave me alone until it was finished.. I'm sure most of you can relate. I became addicted to it, adding piece after piece, rethinking the architecture and rating/point system over and over again.. making myself a self-proclaimed psychologist of my users-to-be. "Should points be a reward, or a punishment?" .. "Will they rate stuff down they disagree with?" .. "How much of a focus should be on points, and how much on content?"
I spent most of my second semester freshman year at Cornell (when not doing homework or intoxicating myself) coding this beast. I rebuilt it from the ground up several times, and knew the source code much better than my Chemistry book (and boy, do my grades show this fact..) Summer came and went, and every night after seeing friends I would return home and sit in front of the screen hacking and tweaking away. I saved some cash and got it running on a overclocked Celeron off of e-bay. Half-empty had only one user, one voice, but this would all change soon enough.
I forget the exact day in September, probably the day after we got our cable modem, when I proclaimed to my housemates that we were going to test roadrunner's bandwidth and see what would happen. Knowing that I couldn't afford a real connection, my plan was to open the site, get a gigantic flood of users somehow, and pray that one of them sees what I'm trying to do and decides to help me out. I plugged it in, started it up, set up the DNS, and half-empty.org became live.
Now I needed some users.. I decided the most complicated part of the system (and the most discussable) was the moderation system, which still wasn't perfected. I wanted feedback about both the setup I was doing and the site itself, so I posted a kuro5hin article announcing the site and briefly mentioning the system. I had a steady stream of people checking it out then, the server was stable, and I was happy. A request was made for more information about the specific math involved, so I bit and typed up the in depth explanation linked above. A bunch of "Ideas" (half-empty's content) got posted, and discussion took place with only a few minor bumps.
About 100 people signed up that night. The next day, I was minding my own business when I heard a "Oh shit." from my housemate in the other room.. sure enough, we were about to get semi-Slashdotted (mind you, this was a cable modem) I killed my PC, grabbed the RAM out of it, slapped it into the server, prayed, and surprisingly it survived. I had 500 new users in two hours. The posts were coming in at a pretty crazy rate. (This was the only time that I saw the rate of input that I've envisioned since I started working on the project.)
Within a week or so, roadrunner took notice, and pulled the plug. I thought it was over for a while until I got an e-mail from Tim Wilde of dyndns services.. he had been a member of half-empty during the time it was up, and didn't want to see it fade away. Putting me into their slice of "cool stuff" on their budget (as Tim put it), half-empty would survive. I went into a coding spree for 48 hours, fixing any big bugs I could since the site was going to be dead for a few days. Tim arrived, put the box into the cage and plugged it in, and half-empty was back.
Of course, most of the folks who had been there originally had drifted away because of the downtime. The site has managed to addict a handful of people, however, and we've been trudging on ever since. There have been creative stories and plays discussed, politics, coding, and even a dirty joke or three :) It's become apparent that the moderation system, if nothing else, has caused people to read, preview, edit, and post their thoughts. I'm happy with what it's become, and can only hope that the mentality there will remain the same while the userbase gets larger.
So, today I've reached the end of this road, and probably the beginning of another. I've released the source to Glasscode, and (hopefully) have made it straightforward to setup and install. It's a Java-based servlet application, with many of the features seen in slashcode, with additions such as skinning, appending to posts, selective archiving, user tiers, category permissions and overviews, and plenty more. It provides a component based system for adding new types of content, and there is even an skin development kit to aid in the creation of new skins (which when accepted by the central server will be available to all Glasscode based sites.)
Hopefully this hasn't been too drawn out of a story to culminate in a software release.. I'm hoping that you've been entertained by my struggle against the need to code that most of us have learned to accept and embrace. One thing that many hackers need to learn that computers are just tools, tools which will be ultimately used by people. Linux, Gnome, Glasscode, and all software is there to help people do things or think in ways they couldn't before. With this in mind, Happy Hacking :)"
It would be nice to see Slashdot adopt some new form of moderation... one that actually makes sense.
How many Slashdot readers have been moderated down with a (-1 Off Topic) because the moderator failed to read the (on topic) thread that they had been replying to. This can be real humourous when the original comment in the thread was moderated up.
Or my favorite: A comment gets scored as a (5 Interesting) and yet NOBODY replies to the thread that the (5 Interesting) comment begins. If it were really interesting, don't you think that it would generate SOME sort of response?
The moderation system on Slashdot is simply no longer viable for a community of this size.
The problem with any public moderation system is that it tends to promote posts that agree with general consensus, and stifle any other opinion. I have seen this time and time again on slashdot, and it leads to a closed minded discussion based on a single idea of what is right and what is wrong.
This is especially apperent on topics based around opinions, such as politics. As someone with a many opinions that do not agree with the far left majority of slashdot, I consistently see perfectly valid points and opinions moderated down, or never moderated up, just because they do not agree.
By only seeing one side of the story it is impossible to get a fair view of the situation, and a now biased personal opinion cannot form. This manifests itself into a closed minded group of people, moving farther and further in one direction, leaving reason and individuality behind.
You're kiding right? The only reason Slashdot posted this was to kill em off! Distributed DOS attack stylez.
;)
Just Kiding. Does appear to be down however
How we know is more important than what we know.
I fully support this effort and other efforts. This is why:
Slashdot is where it is because of community. At first, it may have been the editors doing most of the work picking out cool stuff. Nerds of different flavors showed up because it was cool stuff, and started discussion groups. Soon, the editors didn't really need to start looking for cool stuff, the readers started submitting it. It's barely neccessary for me to look at ZDNet, Salon, or the AP wire, since SlashDot seems to always pick up on the best stories in a short amount of time.
Slashdot isn't entirely community driven, however. The editors do take some editorial liscense, deciding what is post worthy, what is front page news, editing submissions, etc. Occasionally, a story will only get posted because of the massive number of submissions, against the editor's tastes, but this is rare. The posters don't know what's going on - they just see a little "reject" flag next to their submission. This is probably one of the most frustrating parts for someone who is just starting that level of participation - no feedback from the editiors, besides a binary responce and a 6-month old FAQ.
This particular project doesn't seem to be "SlashCode, but with X!!!" Instead, he is making an effort to allow the community to decide how things are organized. I think it's a laudible experiment.
Just like voting systems, no post-and-moderate system will make everyone happy. This particular one may not even scale well. But we need the experiementers, and this one seems to have a good start.
Well, it's hard to argue such vague points, but it's slow because it's being slashdotted, it's ugly because i'm a programmer not a graphics artist .. some people like it anyway .. (download the skin SDK), the moderation system isn't too important, and as for it being bloated.. well, whatever. :)
--
Moderation systems are normally designed for the purpose of promoting the quality of a forum. It's interesting then, that the most prominent moderation system uses a method that assigns subjective opinion a quantitative value. "Scoring" a post "up" or "down" is inherently flawed in that you are allowing an individuals subjective opinion to 'grade' the post, rather than a more effectively classifying or categorizing a post.
Filtering these forums based on this flawed quantitive value will obviously result in quality posts being ignored. Slashdot does offer some kind of categorization of the post, but it still relies upon scoring to order and filter posts.
Another factor to consider in moderating systems is accountability. Slashdot, and many others, use an anonymous moderation system. kuro5hin does not follow this poor practice. Everyone can moderate, and everyone is accountable. You can view who has moderated your posts and view the value they selected.
So let's tie this together. We want a system that reflects a true subjective and qualitative analysis without the impedance of scoring. We want a system that is accountable. "Grading" a post becomes "Classifying" a post, and filtering becomes organizing. For example, let's say the categories to classify a post include the following:
If subjective categories such as "interesting" or "boring" are available, so be it. They are simply classifications. Opinion is important, but if we base our filtering on grades that do not accurately reflect content, we loose any advantage we gain through moderation.
So, what would a forum look like with this system? It could be displayed in exactly the same way we see /., but instead of showing a score, we provide a link to show the categories and number of people that moderated the post. For example:
The Ozone needs an fsck!11 Jan 2001, ^chewie
Informative(11), Boring(1), Pro(1)
The Ozone is in serious need of repair! The US Department of...
...and so on. (Man, I hate mozilla keybindings...*sigh*). Thus, you have the system I propose as a base. Quantitative measurements are possible, but should only reflect actual physical facts about the post, such as size, number of links, number of moderations, etc.
assert(expired(knowledge));
I'm going to GPL it fairly soon, I just didn't want to see someone open up a clone of half-empty and oust me before things got started (via better advertising.. remember nebby == poor college kid) I'm not going to enforce it on banner ads or anything like that, really. The only situation I'm worried about like I said is a clone of half-empty.. the rest I could care less about.
--
Well, one thing I am slightly bothered by is that moderators shouldn't be the ones judging on or off topicness; interesting (as a personal interest), overrated (again, personal judgement), insightful (personal), etc.
I can trust a moderator to make judgements concerning themselves, but not for the judgement of the community.
Metamoderation is a way to determine if a person can moderate intelligently, hopefully.
I can't agree to your view that a +5 interesting doesn't get comments. A really powerful, interesting, insightful, whatever, comment, doesn't need to be provocative or controversial. It doesn't need to generate comments, though obviously it would be nice if it did; I always enjoy getting comments!
Geek dating!
GPL Deconstructed
Actually, there once was a time when /. was pretty devoid of trolls. Taco and Hemos used to post in open forums. People posted patches in response to Ask Slashdot questions. Technical arguments by industry experts were common.
/. was lame and that trolling was okay.
/. from lameness. I wish they could know that /. wasn't dumb until they arrived. But I can understand - I didn't have much perspective when I was 14 either.
Then the trolls arrived. At first they posted genuinely - and since everything they said was mindless drivel, they decided that
So trolls will tell you that they're doing a good job saving
Slashcode may not be the best model in many other cases. For instance, I run a slash-ish site for book reviews, focusing on reviews of free books. The selectivity-about-topics part of Slashdot is obviously completely inappropriate for this kind of site, since the equivalent of a Slashdot article is a book, and there's no reason to exclude books. Also, a particular book is likely to be discussed only sporadically, not in a Slashdot-style feeding frenzy, so I didn't need Slashdot's mechanisms for getting rid of first-post trolls, but I did have to implement a system for people to ask to receive e-mail notifications when discussion is posted about a book they're interested in.
A lot of things are a matter of taste and culture, and one size does not fit all. A lot of Slashdotters are paranoid types who have filled the margins of their copy of Cryptonomicon with conspiracy theories. So it makes sense that Slashdot allows anonymous posts. However, for most discussion sites, the single simplest thing that can be done to get rid of trolls is simply to disallow anonymous posting -- make people at least put their nick on their posts, if not their real name and e-mail. For book reviewing, it's particularly important to have some idea of who the reviewer is and what his qualifications are.
BTW, this last issue -- does the person posting know their posterior from a cavity in the earth? -- is, in my opinion, the place where Slashdot is the most deficient. It's fine when you're reading discussion on a computer topic, since most Slashdotters are computer nerds, and mistakes get pointed out really quickly. But it's a big problem in the science section. A lot of the people posting there got their ideas about science from Star Wars. You get ridiculous stuff like people saying that asteroid mining can be accomplished by "dropping" asteroids into the Earth's atmosphere, where air drag will slow them down and let them crash to the surface. So this is an example of how one design doesn't necessarily work for everything that even one discussion site tries to do.
The Assayer - free-information book reviews
Find free books.
...have a filter to prevent excessive whitespace in a post? Come on, Cowboy, time to update the lameness filter. How hard is it to check for an excessive number of consecutive <br>s?
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
Would it help if we took a new look at the browsing system, rather than moderation? What if we were able to add a rule to the display options such that you don't see any posts moderated as "-1 Troll"?
Better still, what if you like to read Slashdot for a good laugh, don't mind if the topic strays a bit, and really don't like those posts that make you learn something. It would be nice if you could add virtual adjustments for each level of moderation: +1 funny, +0 offtopic, and -2 informative.This way, you can filter out the things you don't want to see, while bringing back in some of the ones you weren't interested in.
The next step from there would be to open everything way up: you've gone part of the way from crude "good / bad" descriptions to a more meaningful content based description. You can augment that by adding in more adjectives for moderation. These adjectives don't have to be so much in terms of good vs bad, but rather as adjectives are meant to be: descriptions.
Political. Poetic. Surreal. Sublime. Yet Another Microsoft Bashing. Yet Another Linux Stroking.
You get the idea.
The final step would be to make moderation a much more common occurance, because you would have to gather much more input to determine which posts have which attributes. I'm not sure where the line there should be -- on one hand, it's tempting to say all users can always moderate once they get the 20 karma points or whatever it is. That would probably be a black hole for system abuse though. Maybe a second tier? Those above, say, 30-50 points {?} could moderate all the time, while those between 20 and that upper tier cutoff would get to periodically like they do now. I'm not sure, it would have to be fleshed out if the idea got anywhere near that far.
In any event, I've been disappointed in the moderation system for months now, and some sort of change would be very welcome.
Does this count? As they say, read the FAQ... :)
DO NOT LEAVE IT IS NOT REAL
I give kudos to Slashdot for being one of the only commercial sites on the web that does this.
- I don't care if they globalize against free speech. All my best free thoughts are done in my head.
Bwahahahaahha!
/., being marked a troll is beyond funny :)
:)
... even if the SQL parts run as fast, the Java will lag heavily in the REGEXPs, and will be no where near as clean as PERL at representing them in code.
/.'ed loads. But it would be very interesting to do a performance comparison under ideal conditions.
Most of my posts make it to 5 (check my karma if you don't believe me). Especially considering how rarely I post to
Honestly, i don't see why an observation about the performance of GlassCode isn't a valid comment when the code itself is released.
Yes, I'm an anti-Java person. I think i'm a pretty well justified one, in general. I honestly have yet to see the Java system that performs as advertised. Now maybe GlassCode really is just under the weather and is usually better, but you'll forgive me. My last two anecdotal Java experiences were:
- Using the SameTime (IBM's message client, used a lot internally there) Java client on Linux. The beast took 90 megs of space (RSS). By contrast, the SashXB SameTime client (which my group wrote), took only 30 megs, and ran much more responsively (this was on GHz pIII's, running IBM's absolute-latest JITC-based JRE). And the SashXB version was written in JavaScript on top of Mozilla
- Using JAlice, the new version of the Alice virtual reality tool (built at CMU). They have terrible problems with pausing and catching in the middle of rendering (they had to totally give up on the laughable Java3D, and write JNI around DX8, which kinda misses the whole point, doesn't it?). It would render smoothly for a bit, and then just freeze for a significant fraction of a second, a couple times a second. They're still fighting the problems.
For the record. If you want to write it in Java, write it in C or C++. Don't give me the cross-platform BS, there are plenty of cross platform large C/C++ projects (all the Quakes; GNOME; Mozilla; the kernel). Carmack himself said (paraphrase) "I like the discipline being cross-platform brings to code". Arguing for Java on the basis of ease-of-coding (basically saying "I like GC") is a cop-out -- you're trading away a lot of speed because you're too lazy to manage your memory (I agree, it's tough. Everyone who writes code should be forced to pass CMU's OS class, 15-412, or restricted to writing HTML/JS/VB and nothing more complicated...). But even if Java was compiled just like C, it would be a lot slower, due to some fairly subtle language level tradoffs (basically the heavy reliance of Java on dynamic type and function resolution, and the fact that almost every primitive operation in the language requires doing such resolution).
But if you can write it in a language specialized to the task, do so. PERL can be gobbledygook hard to read. It can be quite elegant if coded well. But either way, I guarantee you the PERL will allow a much more concise representation of the problem. Compared to Java accessing SQL
I agree, it was unfair of me to rag on GlassCode under
In any complicated system, there are any number of factors that can affect performance. People have a nasty tendency to focus on one "obvious" bottleneck (program speed in web apps, cpu speed in PC apps, buffer size in comm apps), completely neglecting all the other, usually more important, factors.
Now who's trolling? Perl does seem to attract more than its share of sloppy programmers (slackers like languages that do your string management for you__________________
Back when he started this project, I bet he could not have just walked into say slashcode's development group and rewritten the entire mod system without somebody stopping him. You have a lot more freedom when you write your own project to do whatever you want with it.
-- "So they told me that using the download page to download something was not something they anticipated." - Bill Gates
We started chipping away last January, at the turn of the millenium.
Wow, you coded all this in ten days? We need more programmers like you!
---------------
Yes! That guy!