Well, as most of you probably realize, this site is running on the last release of the slashdot code, which you can get here in it's original form, or here as patched by James Turinsky. I know you all love slashdot, and the gang over there, for their tireless work in favor of Open Source software. They get heaps of respect, for that, and for running the best internet news site hands down.
But there's a dark side lurking behind all this. The Code. Some of the old-timers will remember when slashdot was suffering it's worst growing pains, with constant downtime, slow response, and apparent ability to beat any server it was run on into a helpless pulp. This is entirely comprehensible to me now, as I've seen The Code. Frankly, it's a wonder slashdot ran at all. Read on for my professional opinion.
The Good
* It works, mostly
Despite having no useful instructions for setup or maintenance, and bugs coming out it's ears, if you're sufficiently clever to get the thing up and running, and you fix a couple of the most glaring errors, well, the thing does work. So a point for that I guess.
* Administration is very easy
There's a very nice interface for administration. Basically everything you could need to do for day-to-day management of a dynamic news site is right there in a web interface for you. All the way down to being able to define large chunks of the actual HTML that will appear in the code. This part is very sweet, and I've used the idea myself in recent projects.
* It's fairly innovative, and fills a niche
I haven't seen anything quite like this for running a dynamic site. Imitators have come along (such as squishdot and PHP-Slash) which are based on the slash concept, but Slash was here first. So points there too.
The Bad
* The License
God only knows what the license really is. Malda's README states that the license is unclear, and that if you use the code, you have to link to slashdot. Ok, but it's been a while now, and for a site that's so fervently pro-OSS, you'd think he'd get around to open-sourcing his own damn code! Malda swears up and down that the code will remain free, but really, until it's in writing, who knows.
* The Lag
The code as released is 0.3, which is roughly slashdot circa 10-12 months ago. Those who keep up with the site will realize that featurewise, this is a long time ago. Moderation was in it's infancy, and a lot of things don't work right. Repeated requests and haranguings on the slash-help mailing list have brought reperated promises of "RSN." Frankly, I don't think anyone really believes it anymore. We might see an 0.4 before we're running kernel 4.4, but I doubt it. Doesn't anyone at BSI know how to run a CVS server?
The Ugly
* Slash.pm
Ok, so the main library for everything is called Slash.pm. There are two identical copies of it. Yup, that's right. TWO. One is in the main directory, for use by slashd and dailyStuff, and the other is in public_html/ for use by the rest of the site scripts. This is just wrong. Put it in one place, and try "use lib" Duh.
* mod_perl
Despite Rob's pleasure with mod_perl, the site is really not using most of it's power. It's basically running as a mod_perl interpreted CGI, which only saves you the overhead or starting a new perl interpreter for every request. Nice performance boost, sure, but for a site like this, there's so much more that could be done. For example, why not have one main "traffic" CGI that handles all requests under the site root, and uses libs for all the functions? This can be compiled right in with apache at startup and run as fast as a native apache module. There's so much more, but I won't go into all the gory details here. Suffice it to say, it's wasting power.
* Email functions
This is one of the ugliest bits. SMTP routines crop up in no less than three places, that I've seen so far. And do they deign to use any of the wonderful perl SMTP libs already written and debugged (like Mail::Sendmail)? Uh uh. They're all identical, cut-n-paste homebrew SMTP clients (that apparently Nate wrote). Blah.
* Overall code ugliness
Lots of global variables, lots of global functions, lots of default EXPORTing of crap. Overall, it's a huge crusty, kludgy mess. I wonder what the codebase they're using now looks like? Part of me hopes it's been rewritten from the ground up, but most of me expects it's just had more features (meta-moderation? karma?) bashed onto the existing mess.
Well, it's all well and good for me to bitch and moan, but what am I going to do about it? Well, I'm going to fix it. Stay tuned here for more news of the HackSlash Project, as the situation warrants. And if you've seen the code, and you have ideas or want to contribute, email me at malda@slashdot.org or post below.
You are an illiterate geek phillistine and you don't know good literature when you see it. Did you not like the pretty pictures on the cover? boo hoo hoo! Go back to reading your stupid comic strips.
BONANXA BUS LINES, INC.
A COACH USA COMPANY
POST OFFICE BOX 9527
PROVIDENCE, R.I 02940-9527
For a healthier environment while you travel with us-No Smoking Please.
A Coach USA(R) Company
Experience
Bonanxa
New England's Finest Bus Line
INFORMATION AND SCHEDULES FOR BONANZA'S
ROUTES CAN BE OBTAINED BY CALLING 1/888/751-8800
OR VISIT US AT www.bonanxabus.com
Package Express
Package Express shipments often arrive the same day. Economical, too.
BAGGAGE OR LUGGAGE-A luggage tag must be affixed to each piece of baggage or luggage clearly
indicating the NAME AND ADDRESS OF THE OWNER. As an added precaution, the owner's name and complete
permanent address should be contained INSIDE each piece of baggage.
THANK YOU FOR TRAVELING WITH
(R)BONANXA
New England's Finest Bus Line
A COACH USA COMPANY
IT'S A PLEASURE TO SERVE YOU
WITH SAFE, RESPONSIBLE
TRANSPORTATION AND
CONVENIENT DEPARTURES.
Hey Wipo, I've got a riddle for you! who's a fucking idiot? you!!!! TRUE!! ! ! !
fuck you wipo! jump off a fucking cliff!
Fascinating. Please tell me more.
nasty adj: oralse.cx.
Yes, but you are the greater loser! As a consolation prize, have some oral sex!
oralse.cx!! Nasty!
Well, as most of you probably realize, this site is running on the last release of the slashdot code, which you can get here in it's original form, or here as patched by James Turinsky. I know you all love slashdot, and the gang over there, for their tireless work in favor of Open Source software. They get heaps of respect, for that, and for running the best internet news site hands down.
But there's a dark side lurking behind all this. The Code. Some of the old-timers will remember when slashdot was suffering it's worst growing pains, with constant downtime, slow response, and apparent ability to beat any server it was run on into a helpless pulp. This is entirely comprehensible to me now, as I've seen The Code. Frankly, it's a wonder slashdot ran at all. Read on for my professional opinion.
The Good
* It works, mostly
Despite having no useful instructions for setup or maintenance, and bugs coming out it's ears, if you're sufficiently clever to get the thing up and running, and you fix a couple of the most glaring errors, well, the thing does work. So a point for that I guess.
* Administration is very easy
There's a very nice interface for administration. Basically everything you could need to do for day-to-day management of a dynamic news site is right there in a web interface for you. All the way down to being able to define large chunks of the actual HTML that will appear in the code. This part is very sweet, and I've used the idea myself in recent projects.
* It's fairly innovative, and fills a niche
I haven't seen anything quite like this for running a dynamic site. Imitators have come along (such as squishdot and PHP-Slash) which are based on the slash concept, but Slash was here first. So points there too.
The Bad
* The License
God only knows what the license really is. Malda's README states that the license is unclear, and that if you use the code, you have to link to slashdot. Ok, but it's been a while now, and for a site that's so fervently pro-OSS, you'd think he'd get around to open-sourcing his own damn code! Malda swears up and down that the code will remain free, but really, until it's in writing, who knows.
* The Lag
The code as released is 0.3, which is roughly slashdot circa 10-12 months ago. Those who keep up with the site will realize that featurewise, this is a long time ago. Moderation was in it's infancy, and a lot of things don't work right. Repeated requests and haranguings on the slash-help mailing list have brought reperated promises of "RSN." Frankly, I don't think anyone really believes it anymore. We might see an 0.4 before we're running kernel 4.4, but I doubt it. Doesn't anyone at BSI know how to run a CVS server?
The Ugly
* Slash.pm
Ok, so the main library for everything is called Slash.pm. There are two identical copies of it. Yup, that's right. TWO. One is in the main directory, for use by slashd and dailyStuff, and the other is in public_html/ for use by the rest of the site scripts. This is just wrong. Put it in one place, and try "use lib" Duh.
* mod_perl
Despite Rob's pleasure with mod_perl, the site is really not using most of it's power. It's basically running as a mod_perl interpreted CGI, which only saves you the overhead or starting a new perl interpreter for every request. Nice performance boost, sure, but for a site like this, there's so much more that could be done. For example, why not have one main "traffic" CGI that handles all requests under the site root, and uses libs for all the functions? This can be compiled right in with apache at startup and run as fast as a native apache module. There's so much more, but I won't go into all the gory details here. Suffice it to say, it's wasting power.
* Email functions
This is one of the ugliest bits. SMTP routines crop up in no less than three places, that I've seen so far. And do they deign to use any of the wonderful perl SMTP libs already written and debugged (like Mail::Sendmail)? Uh uh. They're all identical, cut-n-paste homebrew SMTP clients (that apparently Nate wrote). Blah.
* Overall code ugliness
Lots of global variables, lots of global functions, lots of default EXPORTing of crap. Overall, it's a huge crusty, kludgy mess. I wonder what the codebase they're using now looks like? Part of me hopes it's been rewritten from the ground up, but most of me expects it's just had more features (meta-moderation? karma?) bashed onto the existing mess.
Well, it's all well and good for me to bitch and moan, but what am I going to do about it? Well, I'm going to fix it. Stay tuned here for more news of the HackSlash Project, as the situation warrants. And if you've seen the code, and you have ideas or want to contribute, email me at malda@slashdot.org or post below.
thus, (TACO=SHITHEAD) = TRUE!!!!
You are an illiterate geek phillistine and you don't know good literature when you see it. Did you not like the pretty pictures on the cover? boo hoo hoo! Go back to reading your stupid comic strips.
I think I have proved my point.
TRUE!!!
lame lame lame taco knows he's lame
Fascinating. Once upon a time, I saw a blimp. It was in the air.
man patch
man finger
Congratulations. You are a worthless scumbag with half a brain! And satan is raping your ass right now.
goat goat goat goat!
g0at! taco = goat = TRUE!
The proof is ...
USA USA USA!
Also she is currrently sucking onto my micropenis.
= TRUE!
And I have proof!
you = shit
I think I have proved my point.
hello! I am a shit-head!
I = goat
I think I have proved my point.
Next edition of the IRREFUTABLE TRUTH:
Larry Wall = pedophile
It will be ripped by a goat!
It's time for a COMMUNIST REVOLUTION! you slashdot fuckers.
I think I have proved my point.
I would to say is shit!
AMENIA!!NEW YORK!!! hello lameness, your name is malda
Hello! Shit! Eat!
BONANXA BUS LINES, INC.
A COACH USA COMPANY
POST OFFICE BOX 9527
PROVIDENCE, R.I 02940-9527
For a healthier environment while you travel with us-No Smoking Please.
A Coach USA(R) Company
Experience
Bonanxa
New England's Finest Bus Line
INFORMATION AND SCHEDULES FOR BONANZA'S
ROUTES CAN BE OBTAINED BY CALLING 1/888/751-8800
OR VISIT US AT www.bonanxabus.com
Package Express
Package Express shipments often arrive the same day. Economical, too.
BAGGAGE OR LUGGAGE-A luggage tag must be affixed to each piece of baggage or luggage clearly
indicating the NAME AND ADDRESS OF THE OWNER. As an added precaution, the owner's name and complete
permanent address should be contained INSIDE each piece of baggage.
THANK YOU FOR TRAVELING WITH
(R)BONANXA
New England's Finest Bus Line
A COACH USA COMPANY
IT'S A PLEASURE TO SERVE YOU
WITH SAFE, RESPONSIBLE
TRANSPORTATION AND
CONVENIENT DEPARTURES.