SoylentNews History Log: Difference between revisions

From DisNCord Community Wiki
Jump to navigation Jump to search
(Created page with "@BlackCoffeeDrinker @Wiki Volunteer here, talking about how slashdot and soylentnews broke off, one of the major changes of the guard of the 90s So, some context, Slashdot was formed in the very early 90s by CmdrTaco, and CowboyNeal, pretty much the first tech news of the early Internet This was in the days of the dotcom boom, and it got handed over probably a dozen times; it was an Internet landmark, like SourceForge, or Tucows was (RIP tucows) (please ask questions...")
 
m (fix categories)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
@BlackCoffeeDrinker @Wiki Volunteer here, talking about how slashdot and soylentnews broke off, one of the major changes of the guard of the 90s
[[Category:Preservation and Documentation]]
[[Category:History]]
[[Category:Discussion Logs]]
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:02 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>@BlackCoffeeDrinker @Wiki Volunteer here, talking about how slashdot and soylentnews broke off, one of the major changes of the guard of the 90s
</nowiki><br>
<nowiki>So, some context, Slashdot was formed in the very early 90s by CmdrTaco, and CowboyNeal, pretty much the first tech news of the early Internet
</nowiki><br>
<nowiki>This was in the days of the dotcom boom, and it got handed over probably a dozen times; it was an Internet landmark, like SourceForge, or Tucows was
</nowiki><br>
<nowiki>(RIP tucows)
</nowiki><br>
<nowiki>(please ask questions, I'm recounting this all from memory, and some of this is a decade old)
</nowiki><br>
<nowiki>Eventually Slashdot got acquired by DICE Enterainment, after a very long period of changing hands
</nowiki><br>
<nowiki>Like all the original editors were gone
</nowiki><br>
</div>
</div>


So, some context, Slashdot was formed in the very early 90s by CmdrTaco, and CowboyNeal, pretty much the first tech news of the early Internet
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 1:05 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>slashdot's logo was /. because you know...
</nowiki><br>
</div>
</div>


This was in the days of the dotcom boom, and it got handed over probably a dozen times; it was an Internet landmark, like SourceForge, or Tucows was
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:05 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>http:///..com
</nowiki><br>
</div>
</div>


(RIP tucows)
<div style="line-height: calc(100% * 0.75);">
'''emotional support mom friend''' (''Today at 1:05 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>That's not confusing at all lol
</nowiki><br>
</div>
</div>


(please ask questions, I'm recounting this all from memory, and some of this is a decade old)
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:05 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>since browsers back in those days you needed to put http://
</nowiki><br>
</div>
</div>


Eventually Slashdot got acquired by DICE Enterainment, after a very long period of changing hands
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 1:05 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>I wanna say it was right-leaning? Hated microsoft and loved open-source
</nowiki><br>
</div>
</div>


Like all the original editors were gone
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:06 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Well, Gopher was still active, and you'd still frequently find news: and telnet: links
</nowiki><br>
<nowiki>Like, I remember when those were on theopen net
</nowiki><br>
</div>
</div>


BlackCoffeeDrinker — Today at 1:05 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:06 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Much more liberarian than anything else
</nowiki><br>
</div>
</div>


slashdot's logo was /. because you know...
<div style="line-height: calc(100% * 0.75);">
'''sirocyl''' (''Today at 1:06 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>I remember when ftp:// was relatively common, too
</nowiki><br>
</div>
</div>


NCommander Today at 1:05 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:06 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>you mean today?
</nowiki><br>
</div>
</div>


<nowiki>http:///..com</nowiki>
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 1:06 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Yes, news: was common
</nowiki><br>
</div>
</div>


emotional support mom friend Today at 1:05 PM
<div style="line-height: calc(100% * 0.75);">
'''emotional support mom friend''' (''Today at 1:06 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>B zhzhmfskgdzdhkzhldzlhdslhds
</nowiki><br>
</div>
</div>


That's not confusing at all lol
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:06 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Anyway
</nowiki><br>
</div>
</div>


NCommander — Today at 1:05 PM
<div style="line-height: calc(100% * 0.75);">
'''emotional support mom friend''' (''Today at 1:06 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>More so than now?
</nowiki><br>
</div>
</div>


since browsers back in those days you needed to put http://
<div style="line-height: calc(100% * 0.75);">
'''sirocyl''' (''Today at 1:06 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>my thoughts exactly
</nowiki><br>
</div>
</div>


BlackCoffeeDrinker — Today at 1:05 PM
<div style="line-height: calc(100% * 0.75);">
'''emotional support mom friend''' (''Today at 1:07 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Yranhfsksfumfsldgujzxgn
</nowiki><br>
</div>
</div>


I wanna say it was right-leaning? Hated microsoft and loved open-source
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:07 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>DICE had made a lot of unpopular changes, but the straw that broke the camels back was "Beta"
</nowiki><br>
</div>
</div>


NCommander — Today at 1:06 PM
<div style="line-height: calc(100% * 0.75);">
'''sirocyl''' (''Today at 1:07 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>oh no
</nowiki><br>
</div>
</div>


Well, Gopher was still active, and you'd still frequently find news: and telnet: links
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 1:07 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>at some point users revolted because they didn't like changes
</nowiki><br>
</div>
</div>


Like, I remember when those were on theopen net
<div style="line-height: calc(100% * 0.75);">
'''CEO of Email, Inc.''' (''Today at 1:07 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Never goes well
</nowiki><br>
</div>
</div>


NCommander Today at 1:06 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:07 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Like it was this horrid whitespace meme; it turned a very information dense site into a wordpress block
</nowiki><br>
<nowiki>no, it was just bad
</nowiki><br>
</div>
</div>


Much more liberarian than anything else
<div style="line-height: calc(100% * 0.75);">
'''sirocyl''' (''Today at 1:07 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>it introduced gradients and rounded corners, too
</nowiki><br>
</div>
</div>


sirocyl — Today at 1:06 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:08 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>It was like if every page of the print New York Times was double spaced
</nowiki><br>
</div>
</div>


I remember when ftp:// was relatively common, too
<div style="line-height: calc(100% * 0.75);">
'''sirocyl''' (''Today at 1:08 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>it was awful
</nowiki><br>
</div>
</div>


NCommander — Today at 1:06 PM
<div style="line-height: calc(100% * 0.75);">
'''CEO of Email, Inc.''' (''Today at 1:08 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Did it go back then? I noticed Soylentnews looks the same as Slashdot does now
</nowiki><br>
</div>
</div>


you mean today?
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 1:08 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>yes, everything still loaded fine in netscape 3 before that
</nowiki><br>
</div>
</div>


BlackCoffeeDrinker — Today at 1:06 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:08 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Someone should look it up on Wayback
</nowiki><br>
<nowiki>To think we need a screenshot of that
</nowiki><br>
</div>
</div>


Yes, news: was common
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 1:08 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>let me check
</nowiki><br>
</div>
</div>


emotional support mom friend — Today at 1:06 PM
<div style="line-height: calc(100% * 0.75);">
'''sirocyl''' (''Today at 1:08 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>damn archiveorg slow today
</nowiki><br>
</div>
</div>


B zhzhmfskgdzdhkzhldzlhdslhds
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:09 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Anyway, Slash (the underlying software) had been open source at one point, but had been left to die in a old CVS repo
</nowiki><br>
<nowiki>(might have been git? Either way, it was heading towards death)
</nowiki><br>
</div>
</div>


NCommander — Today at 1:06 PM
<div style="line-height: calc(100% * 0.75);">
'''emotional support mom friend''' (''Today at 1:09 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>I'm picturing the pharmacy here which makes it funnier
</nowiki><br>
</div>
</div>


Anyway
<div style="line-height: calc(100% * 0.75);">
'''sirocyl''' (''Today at 1:09 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>... wasn't git, I'm sure. was it?
</nowiki><br>
</div>
</div>


emotional support mom friend — Today at 1:06 PM
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 1:09 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>CVS i think
</nowiki><br>
<nowiki>or SVN
</nowiki><br>
</div>
</div>


More so than now?
<div style="line-height: calc(100% * 0.75);">
'''CEO of Email, Inc.''' (''Today at 1:09 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Oh, so it got abandoned before you picked it up, then?
</nowiki><br>
</div>
</div>


sirocyl Today at 1:06 PM
<div style="line-height: calc(100% * 0.75);">
'''sirocyl''' (''Today at 1:09 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>mercurial maybe?
</nowiki><br>
</div>
</div>


my thoughts exactly
<div style="line-height: calc(100% * 0.75);">
'''CEO of Email, Inc.''' (''Today at 1:09 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>The software I mean
</nowiki><br>
</div>
</div>


emotional support mom friend — Today at 1:07 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:09 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>DICE was still using it, there are some trademark tells like the X-Fry/X-Bender headers
</nowiki><br>
<nowiki>brb
</nowiki><br>
</div>
</div>


Yranhfsksfumfsldgujzxgn
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:10 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>back
</nowiki><br>
<nowiki>Regardless or not, enough was enough, so a bunch of us basically got together in IRC on Freenode
</nowiki><br>
<nowiki>The channel was #alphaslash or something like that
</nowiki><br>
<nowiki>The idea was to create a replacement. A few others had launched, like pipedot.org, which was basically a reimaginating with a new PHP codebase, and technocrat relaunched briefly
</nowiki><br>
<nowiki>I think there was some efforts to see if kurosh5n could be risen from the dead
</nowiki><br>
<nowiki>There were folks who remembered that Slash had been open source at once point, and the original archives were still up (it might still be there https://slashcode.com/)
</nowiki><br>
</div>
</div>


NCommander — Today at 1:07 PM
<div style="line-height: calc(100% * 0.75);">
'''CEO of Email, Inc.''' (''Today at 1:13 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Just redirects to sourceforge 😔
</nowiki><br>
</div>
</div>


DICE had made a lot of unpopular changes, but the straw that broke the camels back was "Beta"
<div style="line-height: calc(100% * 0.75);">
'''emotional support mom friend''' (''Today at 1:13 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>:/
</nowiki><br>
</div>
</div>


sirocyl — Today at 1:07 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:13 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>and oh boy, Slash is a crankly SoB
</nowiki><br>
<nowiki>This was the Perl CMS
</nowiki><br>
</div>
</div>


oh no
<div style="line-height: calc(100% * 0.75);">
'''CEO of Email, Inc.''' (''Today at 1:13 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Perl I'm guessing?
</nowiki><br>
</div>
</div>


BlackCoffeeDrinker — Today at 1:07 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:13 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>the original
</nowiki><br>
</div>
</div>


at some point users revolted because they didn't like changes
<div style="line-height: calc(100% * 0.75);">
'''CEO of Email, Inc.''' (''Today at 1:13 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Yepp
</nowiki><br>
<nowiki>Called it
</nowiki><br>
</div>
</div>


CEO of Email, Inc. Today at 1:07 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:13 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>it required a Makefile.PL and has a CPAN bundle
</nowiki><br>
</div>
</div>


Never goes well
<div style="line-height: calc(100% * 0.75);">
'''CEO of Email, Inc.''' (''Today at 1:13 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>🥖
</nowiki><br>
</div>
</div>


NCommander Today at 1:07 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:14 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>and was written in an era when CPAN expected to be installed as system libraries
</nowiki><br>
<nowiki>But the worst part?
</nowiki><br>
<nowiki>It used parts of mod_perl that aren't $r
</nowiki><br>
<nowiki>oh god did it use parts. It basically kept a scorecard in Apache's shared memory space
</nowiki><br>
<nowiki>to do synchrozation across tasks
</nowiki><br>
<nowiki>it has a cron replacement written in Perl
</nowiki><br>
</div>
</div>


Like it was this horrid whitespace meme; it turned a very information dense site into a wordpress block
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 1:15 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Someone that's good in perl wrote this
</nowiki><br>
</div>
</div>


no, it was just bad
<div style="line-height: calc(100% * 0.75);">
'''CEO of Fish Inc.''' (''Today at 1:15 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Horrifying
</nowiki><br>
</div>
</div>


sirocyl — Today at 1:07 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:15 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>and I mean daemon
</nowiki><br>
<nowiki>Well, how it worked was insane
</nowiki><br>
</div>
</div>


it introduced gradients and rounded corners, too
<div style="line-height: calc(100% * 0.75);">
'''CEO of Email, Inc.''' (''Today at 1:15 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>But why
</nowiki><br>
</div>
</div>


NCommander Today at 1:08 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:15 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>because it generated static pages for everything
</nowiki><br>
</div>
</div>


It was like if every page of the print New York Times was double spaced
<div style="line-height: calc(100% * 0.75);">
'''CEO of Email, Inc.''' (''Today at 1:15 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Huh, I guess that was probably wise when it came out
</nowiki><br>
</div>
</div>


sirocyl — Today at 1:08 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:16 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>You basically had the #1 site on the early Internet, by being run by hobbyest with 1993 tech
</nowiki><br>
</div>
</div>


it was awful
<div style="line-height: calc(100% * 0.75);">
'''CEO of Email, Inc.''' (''Today at 1:16 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Sounds like quite the feat honestly
</nowiki><br>
</div>
</div>


CEO of Email, Inc. Today at 1:08 PM
<div style="line-height: calc(100% * 0.75);">
'''emotional support mom friend''' (''Today at 1:16 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>honestlu
</nowiki><br>
</div>
</div>


Did it go back then? I noticed Soylentnews looks the same as Slashdot does now
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:16 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Like, I can't think of anything than Slashdot. It used to be whenever a server landed on Slashdot - BOOM
</nowiki><br>
</div>
</div>


BlackCoffeeDrinker Today at 1:08 PM
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 1:16 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Slashdot currently has 16 web servers all of which are running Red Hat 9. Two serve static content: javascript, images, and the front page for non logged-in users. Four serve the front page to logged in users. And the remaining ten handle comment pages. All web servers are Rackable 1U servers with 2 Xeon 2.66Ghz processors, 2GB of RAM, and 2x80GB IDE hard drives. The web servers all NFS mount the NFS server, which is a Rackable 2U with 2 Xeon 2.4Ghz processors, 2GB of RAM, and 4x36GB 15K RPM SCSI drives.
</nowiki><br>
</div>
</div>


yes, everything still loaded fine in netscape 3 before that
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:17 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Yeah
</nowiki><br>
</div>
</div>


NCommander — Today at 1:08 PM
<div style="line-height: calc(100% * 0.75);">
'''CEO of Email, Inc.''' (''Today at 1:17 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Well, that's where the "Slashdot effect" comes from
</nowiki><br>
<nowiki>Which became the Reddit hug of death
</nowiki><br>
<nowiki>Idk what the equivalent is now with widespread cdn use etc
</nowiki><br>
</div>
</div>


Someone should look it up on Wayback
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:17 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>this was a codebase as written by the early wizards
</nowiki><br>
<nowiki>not for elegance, but for pure functionality
</nowiki><br>
<nowiki>Like, the only webapp that I can think is more hardcore is the original SF2.5 source code
</nowiki><br>
</div>
</div>


To think we need a screenshot of that
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 1:18 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Besides the 16 web servers, we have 7 databases. They currently are all running CentOS 4. They breakdown as follows: 2 Dual Opteron 270's with 16GB RAM, 4x36GB 15K RPM SCSI Drives These are doing multiple-master replication, with one acting as Slashdot's single write-only DB, and the other acting as a reader.
</nowiki><br>
</div>
</div>


BlackCoffeeDrinker — Today at 1:08 PM
<div style="line-height: calc(100% * 0.75);">
'''emotional support mom friend''' (''Today at 1:18 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Wow
</nowiki><br>
</div>
</div>


let me check
<div style="line-height: calc(100% * 0.75);">
'''CEO of Email, Inc.''' (''Today at 1:18 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>It's funny that they ended up in the same hands
</nowiki><br>
<nowiki>(assuming you mean sourceforge?)
</nowiki><br>
</div>
</div>


sirocyl — Today at 1:08 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:18 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>We didn't have social media like that back then, it was basically articles, and AIM
</nowiki><br>
</div>
</div>


damn archiveorg slow today
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:18 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Yeah
</nowiki><br>
</div>
</div>


NCommander — Today at 1:09 PM
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 1:19 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>2 Dual Opteron 270's with 8GB RAM, 4x36GB 15K RPM SCSI Drives These are Slashdot's reader DBs. Each derives data from a specific master database (listed above).
</nowiki><br>
<nowiki>Lastly, we have 3 Quad P3 Xeon 700Mhz with 4GB RAM, 8x36GB 10K RPM SCSI Drives which are sort of our miscellaneous 'other' boxes. They are used to host our accesslog writer, an accesslog reader, and Slashdot's search database.
</nowiki><br>
<nowiki>16 + 7 + 2 + 3
</nowiki><br>
</div>
</div>


Anyway, Slash (the underlying software) had been open source at one point, but had been left to die in a old CVS repo
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:19 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Remind me to document just how I ended up in Savannah documentation
</nowiki><br>
<nowiki>But, let's get back to it
</nowiki><br>
</div>
</div>


(might have been git? Either way, it was heading towards death)
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 1:20 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Perl that had to manage running on 28 servers
</nowiki><br>
</div>
</div>


emotional support mom friend — Today at 1:09 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:20 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>There had been a few efforts to try and get the original code running. It was "decently documented" for what was an internal codebase
</nowiki><br>
<nowiki>But it was tied to Apache 1.3, it needed a very specific configuration of mod_perl, and more
</nowiki><br>
<nowiki>And this was 2014(ish?), Apache 1.3 was dead and buried at that point
</nowiki><br>
</div>
</div>


I'm picturing the pharmacy here which makes it funnier
<div style="line-height: calc(100% * 0.75);">
'''CEO of Email, Inc.''' (''Today at 1:21 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Were the undocumented parts things your people had to figure out themselves? Or were the original slash people still reachable somehow
</nowiki><br>
</div>
</div>


sirocyl — Today at 1:09 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:21 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>We had no help from the original founders
</nowiki><br>
<nowiki>Anyway, I decided to take on the challenge
</nowiki><br>
<nowiki>Back in middle school, I loved Slashdot, I even tried to run it ontop of Mac OS, going as far as learning how to compile Perl, and Apache, etc.
</nowiki><br>
<nowiki>I never actually got it running, cause of CPAN problems, but I knew pretty much what it was going to take
</nowiki><br>
</div>
</div>


... wasn't git, I'm sure. was it?
<div style="line-height: calc(100% * 0.75);">
'''CEO of Email, Inc.''' (''Today at 1:23 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Heh, your slash adventures started early, then
</nowiki><br>
</div>
</div>


BlackCoffeeDrinker — Today at 1:09 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:23 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>I ran Linux on my macs before we got Mac OS X
</nowiki><br>
<nowiki>I was in middle school? It was the greatest thing to do
</nowiki><br>
<nowiki>I love understanding systems
</nowiki><br>
</div>
</div>


CVS i think
<div style="line-height: calc(100% * 0.75);">
'''CEO of Email, Inc.''' (''Today at 1:23 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>I hear you there, it's fun and satisfying to understand
</nowiki><br>
</div>
</div>


or SVN
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:23 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Like, push comes to shove? I could probably do a LFS type system without the book
</nowiki><br>
<nowiki>Anyway, getting off topic
</nowiki><br>
</div>
</div>


CEO of Email, Inc. Today at 1:09 PM
<div style="line-height: calc(100% * 0.75);">
'''CEO of Fish Inc.''' (''Today at 1:24 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>This idea of using Perl to manage a website sounds horrifyingly similar to this ticketing application I helped support at work for a little bit
</nowiki><br>
</div>
</div>


Oh, so it got abandoned before you picked it up, then?
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:24 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>I bought a linode instance, install MySQL
</nowiki><br>
<nowiki>and started to climb that cliff
</nowiki><br>
<nowiki>I compiled a freestanding version of Perl
</nowiki><br>
</div>
</div>


sirocyl — Today at 1:09 PM
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 1:24 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>I know what you're talking about 😛
</nowiki><br>
</div>
</div>


mercurial maybe?
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:24 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>(because only Python is worse about virtual environments)
</nowiki><br>
<nowiki>Has to be a threading one
</nowiki><br>
<nowiki>I compiled Apache 1.3, with some patching, mod_perl 1.3, and then began the grind of fixing the CPAN bundle
</nowiki><br>
<nowiki>A lot of CPAN was already dying to atrophy by that time
</nowiki><br>
</div>
</div>


CEO of Email, Inc. Today at 1:09 PM
<div style="line-height: calc(100% * 0.75);">
'''CEO of Fish Inc.''' (''Today at 1:25 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>So glad to know I’m not alone https://github.com/bestpractical/rt
</nowiki>
</div>
</div>


The software I mean
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:25 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>bugzilla is another old guard one
</nowiki><br>
<nowiki>... mod_perl too, oof
</nowiki><br>
</div>
</div>


NCommander — Today at 1:09 PM
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 1:26 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>first job was rt + bugzilla + cvs
</nowiki><br>
</div>
</div>


DICE was still using it, there are some trademark tells like the X-Fry/X-Bender headers
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:26 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Although not as bad as Slash
</nowiki><br>
</div>
</div>


brb
<div style="line-height: calc(100% * 0.75);">
'''CEO of Email, Inc.''' (''Today at 1:26 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Wait, is Soylent still apache 1.x?
</nowiki><br>
</div>
</div>


NCommander Today at 1:10 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:26 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>no
</nowiki><br>
<nowiki>that was the itch I couldn't let stand
</nowiki><br>
<nowiki>Like
</nowiki><br>
<nowiki>I said at the bginning "we're going to do that"
</nowiki><br>
<nowiki>and that was the last major thing I did in that code base
</nowiki><br>
</div>
</div>


back
<div style="line-height: calc(100% * 0.75);">
'''CEO of Email, Inc.''' (''Today at 1:27 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Well, 2014. 1.3 would have been fucking ancient
</nowiki><br>
</div>
</div>


Regardless or not, enough was enough, so a bunch of us basically got together in IRC on Freenode
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:27 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Yeah, I'll get back to that
</nowiki><br>
<nowiki>By and large, we decided the risk was "acceptable" since we ended up putting the web frontends behind an nginx SSL terminator
</nowiki><br>
<nowiki>oh god, I forgot about that
</nowiki><br>
<nowiki>Slashdot used to make SSL a paid feature
</nowiki><br>
</div>
</div>


The channel was #alphaslash or something like that
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 1:27 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>yes!
</nowiki><br>
</div>
</div>


The idea was to create a replacement. A few others had launched, like pipedot.org, which was basically a reimaginating with a new PHP codebase, and technocrat relaunched briefly
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:28 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>We wanted to go HTTPS by default, the whole thing was a fucking passion project; it was going to be perfect
</nowiki><br>
<nowiki>Let me find the articles
</nowiki><br>
<nowiki>Like
</nowiki><br>
</div>
</div>


I think there was some efforts to see if kurosh5n could be risen from the dead
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 1:28 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>(before you say WHY... https used to be slow back then)
</nowiki><br>
</div>
</div>


There were folks who remembered that Slash had been open source at once point, and the original archives were still up (it might still be there <nowiki>https://slashcode.com/</nowiki>)
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:29 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>I wrote about this
</nowiki><br>
</div>
</div>


CEO of Email, Inc. Today at 1:13 PM
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 1:29 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>(but also, /. didn't need https)
</nowiki><br>
</div>
</div>


Just redirects to sourceforge 😔
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:29 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>It was considered to be high cost for CPU
</nowiki><br>
</div>
</div>


emotional support mom friend — Today at 1:13 PM
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 1:29 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>I remember we used to host the minimum amount over HTTPS
</nowiki><br>
</div>
</div>


<nowiki>:</nowiki>/
<div style="line-height: calc(100% * 0.75);">
'''CEO of Email, Inc.''' (''Today at 1:29 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Understandable in a way, encryption is expensive
</nowiki><br>
<nowiki>This was before knowledge of the NSA dragnets were public, and also, SSL was seen as relatively pointless by and large; you could still get away with a self signed certificate on the public web
</nowiki><br>
<nowiki>It was really the bandwidth more than anything
</nowiki><br>
<nowiki>Let me find these articles
</nowiki><br>
</div>
</div>


NCommander Today at 1:13 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:31 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>https://soylentnews.org/search.pl?op=stories&author=2
</nowiki><br>
<nowiki>Everything I wrote on SN
</nowiki><br>
<nowiki>Oh fucking hell I forgot about a lot of this
</nowiki><br>
</div>
</div>


and oh boy, Slash is a crankly SoB
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:31 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>https://soylentnews.org/article.pl?sid=14/02/16/2220240 - so it was a major meme on Slashdot how the antique the thing was
</nowiki><br>
<nowiki>Like, we were going to one up old Slashdot so hard
</nowiki><br>
</div>
</div>


This was the Perl CMS
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 1:32 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>https://cdn.discordapp.com/attachments/1014650516854296697/1039970670257377290/image.png
</nowiki><br>
<nowiki>lol
</nowiki><br>
</div>
</div>


CEO of Email, Inc. Today at 1:13 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:32 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>That was actually a Mission Accomplished moment
</nowiki><br>
<nowiki>Cause well
</nowiki><br>
<nowiki>... UTF-8 has a lot of edge cases
</nowiki><br>
<nowiki>When you need to protect against spam
</nowiki><br>
<nowiki>I think we stlil filtered right to left /left to right markers
</nowiki><br>
<nowiki>But I remember my personal driving energy was very much "/. didn't have it, we're doing IPv6"
</nowiki><br>
<nowiki>@N's Life
</nowiki><br>
<nowiki>(talking about how Internet history happened)
</nowiki><br>
<nowiki>Anyway, the "lead" of the project was someone with the handle of Barbassas?
</nowiki><br>
<nowiki>Fucking weird guy, like, he would quote machovili, and absolute control freak
</nowiki><br>
</div>
</div>


Perl I'm guessing?
<div style="line-height: calc(100% * 0.75);">
'''emotional support mom friend''' (''Today at 1:34 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Ew
</nowiki><br>
</div>
</div>


NCommander Today at 1:13 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:35 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Basically threatened to tank the project through mismanagement
</nowiki><br>
<nowiki>I forced him out
</nowiki><br>
<nowiki>I felt like a fucking ass, but I did most of the tech work, I had gotten the site running in the cloud
</nowiki><br>
</div>
</div>


the original
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:35 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>We didn't have a name for it then, itwas litterly li69-342
</nowiki><br>
<nowiki>or something like that
</nowiki><br>
<nowiki>https://soylentnews.org/article.pl?sid=14/04/09/1925245 - oh god, the Slashdot port scanner
</nowiki><br>
<nowiki>SN had code in the web frontend that it would actually portscan connecting hosts for adding to an internal block list
</nowiki><br>
</div>
</div>


CEO of Email, Inc. Today at 1:13 PM
<div style="line-height: calc(100% * 0.75);">
'''emotional support mom friend''' (''Today at 1:36 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>I'm sorry, the what —why
</nowiki><br>
</div>
</div>


Yepp
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:36 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>and yes, I did take advantage of the Unicode
</nowiki><br>
</div>
</div>


Called it
<div style="line-height: calc(100% * 0.75);">
'''emotional support mom friend''' (''Today at 1:36 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Of course you did
</nowiki><br>
</div>
</div>


NCommander Today at 1:13 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:36 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>CmdrTaco actually commented on it, it was an anti-spam measure
</nowiki><br>
</div>
</div>


it required a Makefile.PL and has a CPAN bundle
<div style="line-height: calc(100% * 0.75);">
'''emotional support mom friend''' (''Today at 1:37 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Ah
</nowiki><br>
</div>
</div>


CEO of Email, Inc. Today at 1:13 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:37 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>It made the top of hackernews
</nowiki><br>
<nowiki>... like the first time I was on hackernews ...
</nowiki><br>
<nowiki>... I didn't even register the signifance of that at the time
</nowiki><br>
<nowiki>but this was a codebase
</nowiki><br>
<nowiki>https://soylentnews.org/article.pl?sid=14/03/06/0728230 - I actually wrote up about John's departure
</nowiki><br>
<nowiki>Like we were all on IRC at the time
</nowiki><br>
<nowiki>John had us set up our own IRCd; I would have perferred to stay on Freenode
</nowiki><br>
<nowiki>Slack was a thing at that point, but electron apps were really crummy then
</nowiki><br>
</div>
</div>


🥖
<div style="line-height: calc(100% * 0.75);">
'''emotional support mom friend''' (''Today at 1:38 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>And it thought that was a download
</nowiki><br>
</div>
</div>


NCommander Today at 1:14 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:39 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Look, some of us predate pretty URLs
</nowiki><br>
</div>
</div>


and was written in an era when CPAN expected to be installed as system libraries
<div style="line-height: calc(100% * 0.75);">
'''emotional support mom friend''' (''Today at 1:39 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Gbargbsfhngdjgcn.
</nowiki><br>
</div>
</div>


But the worst part?
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:39 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>I still feel kinda bad about it, but basically, the site hadn't an actual name at that point
</nowiki><br>
<nowiki>We had promised to do a naming contest, there was no leadership
</nowiki><br>
<nowiki>I was paying for it literially out of pocket on Linode
</nowiki><br>
<nowiki>On my personal account
</nowiki><br>
</div>
</div>


It used parts of mod_perl that aren't $r
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 1:40 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>$$$ much
</nowiki><br>
</div>
</div>


oh god did it use parts. It basically kept a scorecard in Apache's shared memory space
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:40 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>I was still at Canonical at the time I think, but I was right at the end
</nowiki><br>
<nowiki>Yeah, it was pricy
</nowiki><br>
<nowiki>John had actually blackmailed us
</nowiki><br>
<nowiki>And sold the soylentnews.org domain without giving it to staff
</nowiki><br>
<nowiki>Matt Angel bought it for 3k
</nowiki><br>
<nowiki>https://soylentnews.org/article.pl?sid=14/03/10/1129232/
</nowiki><br>
<nowiki>Right, we forced him out, and then he sold the domain
</nowiki><br>
<nowiki>Well, I
</nowiki><br>
<nowiki>fucking hell this is a story
</nowiki><br>
<nowiki>Anyway, Matt basically was our venture captilist, and I was the CTO
</nowiki><br>
<nowiki>And I basically said "we're going to incorporate this, and we're going to do it right"
</nowiki><br>
<nowiki>and we did
</nowiki><br>
<nowiki>Fitting, that we got our incorporation papers back on July 4th
</nowiki><br>
<nowiki>https://soylentnews.org/article.pl?sid=14/07/04/2326238
</nowiki><br>
<nowiki>Like, it's surprisingly hard to know how to make a corporation that has no physical assets
</nowiki><br>
<nowiki>Like, its the definition of a .com company
</nowiki><br>
<nowiki>https://soylentnews.org/article.pl?sid=14/07/16/0253256 - rereading this is a trip
</nowiki><br>
<nowiki>Past N did a good job
</nowiki><br>
<nowiki>... wow, I just proved that comments really do help the next person in the future
</nowiki><br>
<nowiki>which uh ... was me ...
</nowiki><br>
<nowiki>I think someone tallied it up? I had written like 100k words in the first two years. It was an absolute meme that the editors would fear whenever NCommander opened the editing console
</nowiki><br>
<nowiki>and it was fast like, we had a private #chillax channel, and I say that "I'm going to write an article" and 3k words later would appear in 20 minutes
</nowiki><br>
</div>
</div>


to do synchrozation across tasks
<div style="line-height: calc(100% * 0.75);">
'''emotional support mom friend''' (''Today at 1:47 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>And well, that checks out
</nowiki><br>
</div>
</div>


it has a cron replacement written in Perl
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:47 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>I should actually see if the quotes database is still up, I'm about 40% of #staff
</nowiki><br>
<nowiki>But Matt and I got it incorporated; and there was a bunch of us out in the northeast so we had a major meet and greet day with a BBQ
</nowiki><br>
<nowiki>and then I brought the party to everyone
</nowiki><br>
<nowiki>https://soylentnews.org/article.pl?sid=14/06/17/0059210 this was one of the big things, like I had drafted up subscriptions, and then the pushback was really bad
</nowiki><br>
<nowiki>Essentially, the original plan was to basically make something akin to SDF
</nowiki><br>
<nowiki>All the editors had legit shell accounts, there was people.soylentnews.org
</nowiki><br>
<nowiki>that actually wasn't an intentional wordplay
</nowiki><br>
<nowiki>Debian has people.debian.org which is used to host personal projects on their namespace; Canonical had people.canonical.com
</nowiki><br>
<nowiki>Looks like they revoked my SSH key; which is fine
</nowiki><br>
<nowiki>Haven't been involved a very long time
</nowiki><br>
</div>
</div>


BlackCoffeeDrinker — Today at 1:15 PM
<div style="line-height: calc(100% * 0.75);">
'''sirocyl''' (''Today at 1:51 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>oh my god
</nowiki><br>
</div>
</div>


Someone that's good in perl wrote this
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:51 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>like I didn't even notice it until jsut now
</nowiki><br>
<nowiki>... right
</nowiki><br>
<nowiki>Let ie be known that I can infact do it to myself
</nowiki><br>
<nowiki>https://soylentnews.org/article.pl?sid=14/05/05/0541206
</nowiki><br>
<nowiki>Like, if I was going to make a remake of the original Slashdot, I was going to make it a pinnacle to the gods
</nowiki><br>
<nowiki>The li694-22 Domain
</nowiki><br>
<nowiki>I've mentioned this on comments, and its on the wiki as well, but we use an internal gTLD for referencing nodes throughout the backend. Every node can access each other at hostname.li694-22. The name itself is a reference to the original private URL which we used for bringing up Slashcode way back before SN was decided as our temporary name. We have full forward and reverse resolution available, and only publish AAAA records for normal services. Oh yeah, about that ...
</nowiki><br>
</div>
</div>


CEO of Fish Inc. Today at 1:15 PM
<div style="line-height: calc(100% * 0.75);">
'''sirocyl''' (''Today at 1:53 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>wait. shelter island?
</nowiki><br>
</div>
</div>


Horrifying
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:53 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>?
</nowiki><br>
<nowiki>Linode
</nowiki><br>
<nowiki>... wow
</nowiki><br>
<nowiki>Is that actually the shelter island area code
</nowiki><br>
<nowiki>Anyway, after incorporation, I had fairly large plans for Soylent, but that's when health things started to get worse
</nowiki><br>
<nowiki>https://soylentnews.org/article.pl?sid=14/05/12/0335243
</nowiki><br>
<nowiki>I had wanted to be able to do actual journalism instead of just a news aggitator
</nowiki><br>
</div>
</div>


NCommander — Today at 1:15 PM
<div style="line-height: calc(100% * 0.75);">
'''sirocyl''' (''Today at 1:55 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Image
</nowiki><br>
<nowiki>wait, 11694 my b
</nowiki><br>
</div>
</div>


and I mean daemon
<div style="line-height: calc(100% * 0.75);">
'''emotional support mom friend''' (''Today at 1:55 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>headpats
</nowiki><br>
</div>
</div>


Well, how it worked was insane
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:55 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Someone needs to remember to run /log when I finish
</nowiki><br>
<nowiki>so the bot grabs it
</nowiki><br>
</div>
</div>


CEO of Email, Inc. Today at 1:15 PM
<div style="line-height: calc(100% * 0.75);">
'''sirocyl''' (''Today at 1:56 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Image
</nowiki><br>
<nowiki>Rockaway Park
</nowiki><br>
</div>
</div>


But why
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:56 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Anyway, SN didn't quite pan out the way I had hoped
</nowiki><br>
<nowiki>Like, I had to justify to the Internet why we were doing things, there was major concerns about freedom of speech
</nowiki><br>
<nowiki>This was in 2014, the Snowden leaks had just happened
</nowiki><br>
</div>
</div>


NCommander — Today at 1:15 PM
<div style="line-height: calc(100% * 0.75);">
'''sirocyl''' (''Today at 1:56 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>mmhm
</nowiki><br>
</div>
</div>


because it generated static pages for everything
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 1:57 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>https://soylentnews.org/article.pl?sid=14/05/12/0335243
</nowiki><br>
<nowiki>Wrong link
</nowiki><br>
<nowiki>Like we ran our own Tor exit node: https://soylentnews.org/article.pl?sid=15/05/26/062240
</nowiki><br>
<nowiki>It got a surprising amount of use
</nowiki><br>
<nowiki>https://soylentnews.org/article.pl?sid=15/04/01/0212256 - the eBBQ
</nowiki><br>
<nowiki>This was a milestone event. This was our first year up
</nowiki><br>
<nowiki>Like, this was a celebration
</nowiki><br>
<nowiki>I hope to play as a 24-hour event, from 0:00 to 23:59 EST, though that might change depending on how I'm feeling. I plan to setup a Skype session so members of the staff can join in and perhaps field a question or two. If anyone wants to live update for me (watch the stream and keep notes on what I've done) or something similar, drop me a Private Message on either the SoylentNews IRC channel or on Freenode (I'll be in #nethack while I'm streaming).
</nowiki><br>
<nowiki>This was in the early days of Lets plays. Twitch was still pretty small ... I don't think I was at Beam yet
</nowiki><br>
</div>
</div>


CEO of Email, Inc. Today at 1:15 PM
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 1:59 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>justin.tv you mean
</nowiki><br>
</div>
</div>


Huh, I guess that was probably wise when it came out
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:00 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>No, it was twitch at this point
</nowiki><br>
<nowiki>I say so as much in the post
</nowiki><br>
<nowiki>This must have been right after I left Canonical, but before I got hired at MCProHosting
</nowiki><br>
<nowiki>Or before they moved me over
</nowiki><br>
<nowiki>There was like a 1-2 month period where I did actual sysadmin work
</nowiki><br>
<nowiki>Note to streamers: For those watching via Twitch, there is a 20-30 stream delay, so if I don't immediately respond, assume that's the reason.
</nowiki><br>
<nowiki>wow
</nowiki><br>
<nowiki>I don't know if that was foreshadowing or not
</nowiki><br>
<nowiki>... I might have been at Mixer at that point?
</nowiki><br>
</div>
</div>


NCommander — Today at 1:16 PM
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:01 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>20 to 30 !?!
</nowiki><br>
</div>
</div>


You basically had the #1 site on the early Internet, by being run by hobbyest with 1993 tech
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:01 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Or it was a sure thing
</nowiki><br>
</div>
</div>


CEO of Email, Inc. Today at 1:16 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:01 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>That was the average
</nowiki><br>
</div>
</div>


Sounds like quite the feat honestly
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:01 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>I never realize it was that bad
</nowiki><br>
</div>
</div>


emotional support mom friend — Today at 1:16 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:01 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>It could go minutes long unoptimized
</nowiki><br>
<nowiki>Packet delay is cummative over the life of the stream
</nowiki><br>
</div>
</div>


honestlu
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:02 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>I rememeber that long stream had A/V desync
</nowiki><br>
</div>
</div>


NCommander Today at 1:16 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:02 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Yeah I think I was already thinking about latency at this point
</nowiki><br>
<nowiki>What got me hired at MCProHosting was a discussion with Matt the CEO
</nowiki><br>
<nowiki>Who was on my hiring call
</nowiki><br>
<nowiki>... I should have questioned that at the time ...
</nowiki><br>
<nowiki>and Matt had asked me questions about it; I had listened low latency experience on my resume
</nowiki><br>
<nowiki>It was in terms of system processing, not networking, but "eh, close enough?"
</nowiki><br>
</div>
</div>


Like, I can't think of anything than Slashdot. It used to be whenever a server landed on Slashdot - BOOM
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:04 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>HAHAHAHHAHA
</nowiki><br>
</div>
</div>


BlackCoffeeDrinker — Today at 1:16 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:04 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>I mean, I didn't know how different they were at the time
</nowiki><br>
<nowiki>I understood things like packet delay due to TCP/IP
</nowiki><br>
<nowiki>But I never really thought about it beyond that.
</nowiki><br>
<nowiki>I should give some context here
</nowiki><br>
<nowiki>In system processing, latency is generally in reference to what is known as realtime processing
</nowiki><br>
<nowiki>Basically, it means you need to do X amount of work in Y amount of time
</nowiki><br>
<nowiki>Most computing is not realtime, but its fast enough for humans not to notice
</nowiki><br>
<nowiki>i.e., keyboard entry is not real time
</nowiki><br>
<nowiki>The big SoB being audio
</nowiki><br>
</div>
</div>


Slashdot currently has 16 web servers all of which are running Red Hat 9. Two serve static content: javascript, images, and the front page for non logged-in users. Four serve the front page to logged in users. And the remaining ten handle comment pages. All web servers are Rackable 1U servers with 2 Xeon 2.66Ghz processors, 2GB of RAM, and 2x80GB IDE hard drives. The web servers all NFS mount the NFS server, which is a Rackable 2U with 2 Xeon 2.4Ghz processors, 2GB of RAM, and 4x36GB 15K RPM SCSI drives.
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:06 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>DMA Audio was a big deal
</nowiki><br>
</div>
</div>


NCommander Today at 1:17 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:06 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Video you can get away with more
</nowiki><br>
<nowiki>(I think this is worth talking about, even though its off topic)
</nowiki><br>
</div>
</div>


Yeah
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:07 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Video was so unobtanium that a different approach was needed
</nowiki><br>
</div>
</div>


CEO of Email, Inc. Today at 1:17 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:07 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Well, by and large, it was geared toward animation, you had Smacker, and then compositing
</nowiki><br>
<nowiki>Kodak used to charge a very pretty penny to make high quality analogue coversions
</nowiki><br>
<nowiki>fuck, I don't think I ever brought up Castle Infinity
</nowiki><br>
<nowiki>I haven't even thought about them in ... has to be decades
</nowiki><br>
<nowiki>Uh, that was the period of my life when you can literially say I had the job title "Architect of Infinity"
</nowiki><br>
</div>
</div>


Well, that's where the "Slashdot effect" comes from
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:08 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>the MMO ?
</nowiki><br>
</div>
</div>


Which became the Reddit hug of death
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:08 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Yeah
</nowiki><br>
<nowiki>I didn't play it back in the Starwave days
</nowiki><br>
<nowiki>But the servers had gotten tossed out
</nowiki><br>
<nowiki>Literially tossed out
</nowiki><br>
<nowiki>One of the diehard fans, Kevin Quilt, dumpster dived for them
</nowiki><br>
<nowiki>and put the game online
</nowiki><br>
<nowiki>They had full source code, and gotten a legal agreement out of Starwave to run it
</nowiki><br>
<nowiki>(it might have been Go? They got bought by Disney)
</nowiki><br>
<nowiki>The game was made by Starwave, then owned by GO, and then Disney
</nowiki><br>
<nowiki>It was a 9x era MMOG, and everything that implies
</nowiki><br>
<nowiki>The original thing ran on NT 3.51, and the client on 9x, and it abused things like IPC and COM
</nowiki><br>
<nowiki>and it did *cute coding
</nowiki><br>
</div>
</div>


Idk what the equivalent is now with widespread cdn use etc
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:10 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>😭
</nowiki><br>
</div>
</div>


NCommander Today at 1:17 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:11 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>case 'ABCD': /* this compiles, because a four byte char can be cast to an int, and VC++6 will not complaint*/
</nowiki><br>
<nowiki>It had this horrid heap manager from a third party company, it used RAD game tools, and a few other bits
</nowiki><br>
</div>
</div>


this was a codebase as written by the early wizards
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:11 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>HAHAHAHA AHAHAHAHAH AHAHAHHAHA YES !! YES!!
</nowiki><br>
</div>
</div>


not for elegance, but for pure functionality
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:12 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>The level editor was a MFC application
</nowiki><br>
<nowiki>oh god, SP4k
</nowiki><br>
</div>
</div>


Like, the only webapp that I can think is more hardcore is the original SF2.5 source code
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:12 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>God VC++6 was amazingly bad
</nowiki><br>
</div>
</div>


BlackCoffeeDrinker — Today at 1:18 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:12 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>that ... that thing was bad, it was a C++ codebase from hell
</nowiki><br>
<nowiki>Because the code started life on VC++4, been poorly migrated to VC++6, and then I kicked it screaming to VC++2005
</nowiki><br>
</div>
</div>


Besides the 16 web servers, we have 7 databases. They currently are all running CentOS 4. They breakdown as follows: 2 Dual Opteron 270's with 16GB RAM, 4x36GB 15K RPM SCSI Drives These are doing multiple-master replication, with one acting as Slashdot's single write-only DB, and the other acting as a reader.
<div style="line-height: calc(100% * 0.75);">
'''SED''' (''Today at 2:12 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Like Hammer:blep:
</nowiki><br>
</div>
</div>


emotional support mom friend — Today at 1:18 PM
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:12 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>VC++2005 didn't compile what VC++6 did...
</nowiki><br>
<nowiki>how did they migrate that ?
</nowiki><br>
</div>
</div>


Wow
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:13 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>How did I migrate it
</nowiki><br>
</div>
</div>


CEO of Email, Inc. Today at 1:18 PM
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:13 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Poorly ?
</nowiki><br>
<nowiki>oh
</nowiki><br>
</div>
</div>


It's funny that they ended up in the same hands
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:13 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>well, it still takes case syntax
</nowiki><br>
<nowiki>No, it was still on VC++6 when I got there
</nowiki><br>
<nowiki>I was in high school at the time
</nowiki><br>
<nowiki>Actually, remind me to come back to castle infinity @N's Life, let me finish SoylentNews
</nowiki><br>
</div>
</div>


(assuming you mean sourceforge?)
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:13 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>I did my final school project on VC++6
</nowiki><br>
</div>
</div>


NCommander Today at 1:18 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:14 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Because I want to recount my last bit
</nowiki><br>
</div>
</div>


We didn't have social media like that back then, it was basically articles, and AIM
<div style="line-height: calc(100% * 0.75);">
'''emotional support mom friend''' (''Today at 2:14 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>So, that first, then infinity
</nowiki><br>
</div>
</div>


NCommander Today at 1:18 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:14 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>This was the last major coding exercise
</nowiki><br>
<nowiki>https://soylentnews.org/article.pl?sid=15/03/13/044211
</nowiki><br>
<nowiki>We had called our branch fo Slash, slashcode 15.03
</nowiki><br>
<nowiki>(you can see the Ubuntu influence)
</nowiki><br>
<nowiki>We didn't do timed releases, I just gave them version numbers to tag
</nowiki><br>
<nowiki>The plan was to do a final Apache 1.3 release
</nowiki><br>
<nowiki>I had gone into what can be described as a manic mood
</nowiki><br>
<nowiki>This was about a year after we launched
</nowiki><br>
<nowiki>And I was going to get us off Apache 1.3, and onto 2.0
</nowiki><br>
<nowiki>(2.2 didn't have all the CPAN modules we needed)
</nowiki><br>
<nowiki>This is not soething you do lightly
</nowiki><br>
<nowiki>Like
</nowiki><br>
<nowiki>this is a fucking effort
</nowiki><br>
<nowiki>mod_perl was wrapped around rehash's codebase like a cancer
</nowiki><br>
<nowiki>And it used a global state table and an API that didn't exist in 2.0
</nowiki><br>
<nowiki>Most of the codebase was clean, the slashd daemon ran without the mod_perl components, but the entire frontend was dependent on it
</nowiki><br>
<nowiki>I had ripped a lot of the static code generators out; it was 2015, we could afford the processing port
</nowiki><br>
<nowiki>It's a thing of beauty when you delete a lot of dead code
</nowiki><br>
<nowiki>Like, I think I purged a good 40k LoC from that beast
</nowiki><br>
<nowiki>and we had a commitment not to use frontend javascript
</nowiki><br>
<nowiki>It was a testimonent to the old Internet
</nowiki><br>
<nowiki>unless its changed, privacy badger was still 0
</nowiki><br>
<nowiki>Back at that time, I actually considered leaving NCommander as a handle to whomever replaced me
</nowiki><br>
<nowiki>Ala dread pirate roberts from the movie, the Silk Road hadn't happened yet
</nowiki><br>
<nowiki>We had a development box, lithium
</nowiki><br>
<nowiki>All the machines were named after elements, starting at hydrogen, and going up
</nowiki><br>
<nowiki>Canonical actually used the same naming scheme
</nowiki><br>
<nowiki>The cdimage build master was called antimony, which was appropiate
</nowiki><br>
<nowiki>To even start porting the monster, I had to sort out the mess of CPAN dependencies
</nowiki><br>
<nowiki>and I still had to have a self-contained Apache build system
</nowiki><br>
<nowiki>https://github.com/SoylentNews/rehash/blob/master/Makefile#L341 - I wrote a massive makefile to do it
</nowiki><br>
<nowiki>Including patching a few CPAN bits to work with mod_perl 2
</nowiki><br>
<nowiki>Well, the makefile was already there
</nowiki><br>
<nowiki>but I really made it there
</nowiki><br>
<nowiki>This was going to be a reproducible build damn it
</nowiki><br>
<nowiki>I also think we migrated to MySQL cluster at the same time
</nowiki><br>
<nowiki>Like
</nowiki><br>
<nowiki>holy fuck
</nowiki><br>
<nowiki>what was I thinking
</nowiki><br>
<nowiki>A little known feature of the codebase is that its built on a plugin architecture which makes expansion easier and allows for multi-hosting. That is to say, we can have multiple sites out of a single installation; i.e., soylentnews.jp and soylentnews.org can both point to the same installation, but show a different mainpage. While we're still somewhat far off from supporting this kind of user-generated content, this upgrade sets the framework for allowing it to happen. The mainpage of SN will remain as it is, but allow the community to form and discuss any topic they wish, all handled under the same familiar interface you use now.
</nowiki><br>
<nowiki>Actually, this is a bit important, there were other slashdot forks, there was slashdot.jp, and barrapuento.com, both on the original Slash code, I think there was a few others, but those were the two I remmber trying to reach
</nowiki><br>
<nowiki>https://soylentnews.org/article.pl?sid=15/05/19/0740226 - we even discucssed i18n/l10n efforts
</nowiki><br>
<nowiki>https://soylentnews.org/meta/article.pl?sid=15/06/01/0657256 - fucking hell
</nowiki><br>
<nowiki>I actually did do both at the same time
</nowiki><br>
<nowiki>Rewrote large amounts of the site to migrate to Apache 2, mod_perl 2, and perl 5.20.
</nowiki><br>
<nowiki>This was a massive undertaking. I did a large part of the initial work, but paulej72, and TheMightyBuzzard did lots to help fix a lot of the lingering issues. Major props to Bytram for catching many of the bugs pre-release
</nowiki><br>
<nowiki>Nexus Support (finally).
</nowiki><br>
<nowiki>Currently we have the Meta and Breaking News nexii, with the possibility of adding more in the future, such as a Freshmeat replacement.
</nowiki><br>
<nowiki>Nexii can be filtered in the user control panel under the Homepage tab. At the moment, this functionality is hosed due to unexpected breakage, but should be functional within the next 24-48 hours
</nowiki><br>
<nowiki>IPv6 support - the AAAA record is live as we speak
</nowiki><br>
<nowiki>Themes can be attached to a nexus independent of the "primary theme" setting; user choice overrides this
</nowiki><br>
<nowiki>Squashed More UTF-8 Bugs
</nowiki><br>
<nowiki>Migration to MySQL Cluster (more on this below)
</nowiki><br>
<nowiki>Rewrote site search engine to use sphinx search and (in general) be more useful
</nowiki><br>
<nowiki>Long comments properly collaspe now
</nowiki><br>
<nowiki>Support for SSL by default (not live yet)
</nowiki><br>
<nowiki>Fault tolerance; the site no longer explodes into confetti if a database or webfrontend goes down unexpectedly; allows for much easier system maintenance as we can offline things without manual migration of services
</nowiki><br>
<nowiki>Improved editor functionality, including per-article note block
</nowiki><br>
<nowiki>Lots of small fixes everywhere, due to the extended development cycle
</nowiki><br>
<nowiki>Like, I did IPV6, mod_perl 2, and database clustering on a single upgrade cycle
</nowiki><br>
<nowiki>and I mean
</nowiki><br>
<nowiki>it worked
</nowiki><br>
<nowiki>@BlackCoffeeDrinker what ... how did I do this?
</nowiki><br>
</div>
</div>


Yeah
<div style="line-height: calc(100% * 0.75);">
'''emotional support mom friend''' (''Today at 2:26 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Not something you'd recommend but it did work apparently
</nowiki><br>
</div>
</div>


BlackCoffeeDrinker — Today at 1:19 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:26 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>you should realize the sheer absurdity of that changelog
</nowiki><br>
<nowiki>That's the fucking marketing statement, not the actual engineering changelog
</nowiki><br>
</div>
</div>


2 Dual Opteron 270's with 8GB RAM, 4x36GB 15K RPM SCSI Drives These are Slashdot's reader DBs. Each derives data from a specific master database (listed above).
<div style="line-height: calc(100% * 0.75);">
'''emotional support mom friend''' (''Today at 2:27 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>O.o
</nowiki><br>
</div>
</div>


Lastly, we have 3 Quad P3 Xeon 700Mhz with 4GB RAM, 8x36GB 10K RPM SCSI Drives which are sort of our miscellaneous 'other' boxes. They are used to host our accesslog writer, an accesslog reader, and Slashdot's search database.
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:27 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>In our year and a half of dealing with slashcode, we had also identified several pain points; for example, if the database went down even for a second, the site would lockup, and httpd would hang to the point that it was necessary to kill -9 the process. Although slashcode has support for the native master-slave replication built into MySQL, it had no support for failover. Furthermore, MySQL's native replication is extremely lacking in the area of reliability. Until very recently, there was no support for dynamically changing the master database in case of failure, and the manual process is exceedingly slow and error prone. While MySQL 5.6 has improved the situation with global transactions IDs (GTID), it still required code support in the application to handle failover, and a specific monitoring daemon to manage the process, in effect creating a new single point of failure. It also continues to lack any functionality heal or otherwise recover from replication failures. In my research, I found that there was simply bad and worse options with vanilla MySQL in handling replication and failover. As such, I started looking seriously into MySQL Cluster, which adds multi-master replication to MySQL at the cost of some backwards compatibility.
</nowiki><br>
<nowiki>OH GOD I FORGOT ABOUT THIS
</nowiki><br>
<nowiki>Right, so because the code was so crankly, if the MySQL daemon ever went down
</nowiki><br>
<nowiki>Everything else would lock up
</nowiki><br>
<nowiki>And I mean, we would have to killall -9 httpd
</nowiki><br>
<nowiki>and this happened fairly often because Linode used to restart boxes regularly for downtime
</nowiki><br>
</div>
</div>


16 + 7 + 2 + 3
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:28 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Indeed how
</nowiki><br>
<nowiki>are you like 5 ppl in one ?
</nowiki><br>
</div>
</div>


NCommander Today at 1:19 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:28 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>https://soylentnews.org/meta/article.pl?sid=16/08/25/073218 - I'm a fucking overachiever
</nowiki><br>
</div>
</div>


Remind me to document just how I ended up in Savannah documentation
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:29 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Those weren't established standards
</nowiki><br>
</div>
</div>


But, let's get back to it
<div style="line-height: calc(100% * 0.75);">
'''emotional support mom friend''' (''Today at 2:29 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Did…that got fixed, right?
</nowiki><br>
</div>
</div>


BlackCoffeeDrinker — Today at 1:20 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:29 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Well
</nowiki><br>
<nowiki>I fixed it by making the database not go down
</nowiki><br>
<nowiki>ever
</nowiki><br>
</div>
</div>


Perl that had to manage running on 28 servers
<div style="line-height: calc(100% * 0.75);">
'''emotional support mom friend''' (''Today at 2:29 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>I mean that works
</nowiki><br>
</div>
</div>


NCommander Today at 1:20 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:29 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Like, the fucking site had to have a 4 nines uptime
</nowiki><br>
</div>
</div>


There had been a few efforts to try and get the original code running. It was "decently documented" for what was an internal codebase
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:29 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Very nice
</nowiki><br>
</div>
</div>


But it was tied to Apache 1.3, it needed a very specific configuration of mod_perl, and more
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:29 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>And for a legacy mod_perl site
</nowiki><br>
<nowiki>in an era before containers or dockerization
</nowiki><br>
<nowiki>Kubernetes hadn't been made yet
</nowiki><br>
<nowiki>Docker still was in its infancy
</nowiki><br>
</div>
</div>


And this was 2014(ish?), Apache 1.3 was dead and buried at that point
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:30 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>we did have red/blue where we'd ship a server with the next version to replace the server that was in prod
</nowiki><br>
</div>
</div>


CEO of Email, Inc. Today at 1:21 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:30 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Like, I had to rewrite the etnire site search engine to do that migration
</nowiki><br>
<nowiki>The original search engine used MySQL FULLTEXT tables
</nowiki><br>
<nowiki>I rewrote it to run sphinx
</nowiki><br>
<nowiki>You'd probably use Elastasearch these days, but ES is the cloud sucks
</nowiki><br>
</div>
</div>


Were the undocumented parts things your people had to figure out themselves? Or were the original slash people still reachable somehow
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:31 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Word tables
</nowiki><br>
</div>
</div>


NCommander Today at 1:21 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:31 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>The primary cause of the slowdown was due to the fact that rehash did large JOIN operations on text columns in MySQL. This is bad practice in general due to performance reasons, but it causes a drastic slowdown with MySQL cluster, which prevents the query optimizer from doing what's known as a "pushdown", and allowing the query to execute on the NDB nodes. This caused article load to be O(n*m), where n was the number of articles in the database and m was the number of articles with the neverdisplay attribute set. The revised queries now load at O(1). Instead it had to do multiple pulls from the database and assemble the query data on the frontend, a process that took 4-5 seconds per problematic query. The problem was compounded that there are limited number of httpd daemons at any given moment, and any database pull that hit a problematic query (which were in index.pl and article.pl) would cause resource exhaustion.
</nowiki><br>
<nowiki>Like
</nowiki><br>
<nowiki>THAT WAS A CRANKLY MIGRATION
</nowiki><br>
<nowiki>June 02 2015
</nowiki><br>
<nowiki>... WTF, I WAS DOING FTL AT THE SAME TIME
</nowiki><br>
</div>
</div>


We had no help from the original founders
<div style="line-height: calc(100% * 0.75);">
'''CEO of Fish Inc.''' (''Today at 2:33 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>HOW
</nowiki><br>
<nowiki>how did you have the time
</nowiki><br>
</div>
</div>


Anyway, I decided to take on the challenge
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:33 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>https://github.com/microsoft/ftl-sdk/commit/09fc8aadc86a7fe0d99c9a997b9a7198333bc013
</nowiki><br>
<nowiki>no, I didn't do it yet
</nowiki><br>
</div>
</div>


Back in middle school, I loved Slashdot, I even tried to run it ontop of Mac OS, going as far as learning how to compile Perl, and Apache, etc.
<div style="line-height: calc(100% * 0.75);">
'''emotional support mom friend''' (''Today at 2:33 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>What weren't you doing at the time?
</nowiki><br>
</div>
</div>


I never actually got it running, cause of CPAN problems, but I knew pretty much what it was going to take
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:33 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>This was right in the Canonical/FTL gap
</nowiki><br>
<nowiki>This was the last passion project, I wanted SN to succeed and to be able to live on this; the job at MCProHosting was the easy paycheck
</nowiki><br>
<nowiki>Yeah
</nowiki><br>
<nowiki>and it was the thing I promised I do
</nowiki><br>
<nowiki>The last thing I said to the community that we were going to modernize this codebase
</nowiki><br>
</div>
</div>


CEO of Email, Inc. Today at 1:23 PM
<div style="line-height: calc(100% * 0.75);">
'''emotional support mom friend''' (''Today at 2:34 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>And well
</nowiki><br>
</div>
</div>


Heh, your slash adventures started early, then
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:36 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Yeah
</nowiki><br>
<nowiki>I honestly remember being utterly disappointed at the time that it didn't go smoothly
</nowiki><br>
<nowiki>The site was migrated over a 2 window period, and then we had about two days of intense debugging
</nowiki><br>
<nowiki>and about another month of smacking the gremlins out
</nowiki><br>
<nowiki>It was like 200k loc when I got it?
</nowiki><br>
<nowiki>I think I cut about 75k loc out of it
</nowiki><br>
<nowiki>Just a lot of dead code
</nowiki><br>
<nowiki>But that was a literial trial by fire
</nowiki><br>
<nowiki>What I didn't realize at the time was hydrogen's earlier failure had not been resolved as I thought, and it gave truly abysmal performance, with 10+ second page loads. As soon as this was realized, I quickly pressed fluorine, our 'normal' frontend server into service, and site performance went from horrific to bad. A review of the logs showed that some of the internal caches used by rehash were throwing errors; this wasn't an issue we had seen on dev, and such was causing excessive amounts of traffic to go to the database, and causing Apache to hang as the system tries to keep up with the load. Two hours of debugging have yet to reveal the root cause of the failure, so I've taken a break to write this up before digging into it again
</nowiki><br>
<nowiki>OH I REMEMEBR NOW
</nowiki><br>
<nowiki>Ok, so the problem was one of the two database nodes was in a failed state
</nowiki><br>
<nowiki>I thought it had been resolved, so I had ended up restoring the DB back into a flakely node which then failed hard
</nowiki><br>
<nowiki>So I was trying to get a cluster running with only half its brain
</nowiki><br>
<nowiki>sorry, frontend
</nowiki><br>
<nowiki>flourine was the frontend
</nowiki><br>
<nowiki>hydrogen and flourine
</nowiki><br>
<nowiki>We had been in a 1x2 configuration, one web frontend, two database nodes
</nowiki><br>
<nowiki>I had put hydrogen back into the service, but due to very very heavy caching with varnish and memcached, we weren't seeing the lag
</nowiki><br>
<nowiki>rehash had modified a lot of the rendering paths so the site would be more dynamic
</nowiki><br>
<nowiki>the cost of processing a request is cheap if you never hit the disk
</nowiki><br>
<nowiki>... I think that's what inspired FTL
</nowiki><br>
</div>
</div>


NCommander — Today at 1:23 PM
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:41 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>^^
</nowiki><br>
</div>
</div>


I ran Linux on my macs before we got Mac OS X
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:41 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>... I actually understood the rules of the game even at that point, I wanted to prove you could do it
</nowiki><br>
</div>
</div>


I was in middle school? It was the greatest thing to do
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:41 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>abuse cache, never the disk
</nowiki><br>
</div>
</div>


I love understanding systems
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:41 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>when you can treat the network as reliable
</nowiki><br>
</div>
</div>


CEO of Email, Inc. Today at 1:23 PM
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:41 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>the Database should be Write only
</nowiki><br>
</div>
</div>


I hear you there, it's fun and satisfying to understand
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:42 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Because each request would enter nginx load balancer, get passed back to an application server, and our dataset was small, only a few gigs
</nowiki><br>
<nowiki>put the whole thing in memory
</nowiki><br>
<nowiki>And I mean the entire blasted database
</nowiki><br>
<nowiki>That's how mysql cluster works
</nowiki><br>
</div>
</div>


NCommander — Today at 1:23 PM
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:42 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>one should only read the DB when the server boots and then only write changes to it - never hit the db
</nowiki><br>
</div>
</div>


Like, push comes to shove? I could probably do a LFS type system without the book
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:42 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Yeah, that's how memcached worked
</nowiki><br>
</div>
</div>


Anyway, getting off topic
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:42 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>yup
</nowiki><br>
</div>
</div>


CEO of Fish Inc. Today at 1:24 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:43 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>And to prevent a bottleneck, each web frontend could connect to any master, because we had no serialization concerns
</nowiki><br>
</div>
</div>


This idea of using Perl to manage a website sounds horrifyingly similar to this ticketing application I helped support at work for a little bit
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:43 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Designed enough system to have that drilled in my head
</nowiki><br>
</div>
</div>


NCommander Today at 1:24 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:43 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>Well, we needed read isolation, but any database has that
</nowiki><br>
</div>
</div>


I bought a linode instance, install MySQL
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:43 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>mysql didn't always have it
</nowiki><br>
</div>
</div>


and started to climb that cliff
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:43 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>if you understand the rules of the game, you can break them
</nowiki><br>
<nowiki>Like, SN gets. apretty good amount of traffic
</nowiki><br>
<nowiki>oh fuck, alexa is gone
</nowiki><br>
<nowiki>but we were up there
</nowiki><br>
<nowiki>https://soylentnews.org/hof.pl - like, you can see it
</nowiki><br>
<nowiki>800+ comments, on a article from 2022 https://soylentnews.org/meta/article.pl?sid=22/07/09/0547216 (incidently, addressing one of the main issues of why I essentially faded out)
</nowiki><br>
<nowiki>and it ran on five relatively small Linodes,
</nowiki><br>
<nowiki>Whole thing used centralized kerberos and hesiod database
</nowiki><br>
<nowiki>We were on LDAP
</nowiki><br>
<nowiki>https://soylentnews.org/meta/article.pl?sid=15/07/13/0255214
</nowiki><br>
<nowiki>https://wiki.soylentnews.org/wiki/The_Slashcott - oh the wiki has useful info
</nowiki><br>
<nowiki>The Slashcott
</nowiki><br>
<nowiki>Here's the original Slashcott
</nowiki><br>
<nowiki>I mean
</nowiki><br>
<nowiki>People were fucking pissed about the state of slashdot
</nowiki><br>
<nowiki>https://arstechnica.com/information-technology/2014/02/slashdots-new-interface-could-kill-what-keeps-slashdot-relevant/ - THANK YOU ARS
</nowiki><br>
<nowiki>THERE IT IS
</nowiki><br>
<nowiki>https://cdn.discordapp.com/attachments/1014650516854296697/1039989964831719514/unknown.png
</nowiki><br>
<nowiki>BETA
</nowiki><br>
<nowiki>^- @Wiki Volunteer @N's Life this is what we revoked against on Slashdot. the Beta interface. Make sure this gets saved
</nowiki><br>
</div>
</div>


I compiled a freestanding version of Perl
<div style="line-height: calc(100% * 0.75);">
'''BlackCoffeeDrinker''' (''Today at 2:49 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>OH GOD I REMEMBER THAT
</nowiki><br>
</div>
</div>


BlackCoffeeDrinker — Today at 1:24 PM
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:49 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>shit, I almost think we should have made this a seperate channel
</nowiki><br>
<nowiki>Damn it
</nowiki><br>
<nowiki>fuck it
</nowiki><br>
<nowiki>We don't get enough discussion here, and we'll pin the start point
</nowiki><br>
<nowiki>and log it with the bot
</nowiki><br>
<nowiki>https://slashdot.org/submission/3326505 - YES
</nowiki><br>
<nowiki>Trying to figure out time zones is starting to make my brain hurt, but apparently in a bit over 6 hours somewhere on the other side of globe from Greenwich the Week of Slashcott will begin, as Midnight arrives for anyone in that zone, and then it travels west, where I will encounter it in about 23 h...
</nowiki><br>
<nowiki>THIS IS WHERE IT ALL STARTED
</nowiki><br>
<nowiki>I mean, look at the old UIDs that came out of the woodwork
</nowiki><br>
<nowiki>AKDT!
</nowiki><br>
<nowiki>https://cdn.discordapp.com/attachments/1014650516854296697/1039990736680128572/image.png
</nowiki><br>
</div>
</div>


I know what you're talking about 😛
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:55 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>https://wiki.soylentnews.org/wiki/NewName - this is how the name came to be
</nowiki><br>
<nowiki>and we did a poll by email, automated, with GPG keys to vote on it
</nowiki><br>
<nowiki>like
</nowiki><br>
<nowiki>... hotdam
</nowiki><br>
<nowiki>https://wiki.soylentnews.org/wiki/Confessions_of_an_Ex-Slashdot_Beta_User there were people who were really really fucking pissed about beta
</nowiki><br>
</div>
</div>


NCommander — Today at 1:24 PM
<div style="line-height: calc(100% * 0.75);">
'''sirocyl''' (''Today at 2:56 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>wow
</nowiki><br>
</div>
</div>


(because only Python is worse about virtual environments)
<div style="line-height: calc(100% * 0.75);">
'''NCommander''' (''Today at 2:57 PM'')
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
<nowiki>https://wiki.soylentnews.org/wiki/Archive - this was the prelaunch archive
</nowiki><br>
<nowiki>The wiki was the first thing to actually get online
</nowiki><br>
<nowiki>Because no one knew how we were going to replace Slashdot
</nowiki><br>
<nowiki>it wasn't clear if running slashcode was even practical; I remember the general sentiment being it wasn't possible
</nowiki><br>
<nowiki>I wasn't the only one who did it, robinld got it working on RHEL ... I guess it would have been 6?
</nowiki><br>
<nowiki>I wiped the database once in pre-launch stuff, like it had been up privately for a few days on golive
</nowiki><br>
<nowiki>and there were a lot of notes, I regret that in hindsight
</nowiki><br>
<nowiki>I think I did it because no one really expected a bunch of development notes to be published publicly
</nowiki><br>
<nowiki>I very much set the standard for transparency
</nowiki><br>
<nowiki>https://soylentnews.org/meta/article.pl?sid=17/04/20/1055218 - not all of them were good decisions
</nowiki><br>
<nowiki>I think we only migrated two machines
</nowiki><br>
<nowiki>Getting moderation to work was hard
</nowiki><br>
<nowiki>Like really hard https://soylentnews.org/article.pl?sid=14/02/13/0412219
</nowiki><br>
<nowiki>It basically assumed there was tens of thousands active users
</nowiki><br>
<nowiki>@BlackCoffeeDrinker https://soylentnews.org/~NCommander/journal/1096 - this is incredible
</nowiki><br>
<nowiki>Like
</nowiki><br>
<nowiki>I can feel the black magic
</nowiki><br>
<nowiki>https://soylentnews.org/~NCommander/journal/1032
</nowiki><br>
<nowiki>and just say I'm a certifiable madman.
</nowiki><br>
<nowiki>.... AHHHHHHHHHHH
</nowiki><br>
<nowiki>I fucked pwned myself across space and time
</nowiki><br>
<nowiki>I actually wrote a postmodern https://soylentnews.org/meta/article.pl?sid=15/06/18/0045246
</nowiki><br>
<nowiki>... ok then ...
</nowiki><br>
<nowiki>um
</nowiki><br>
<nowiki>... you know, I'm going to eat something
</nowiki><br>
<nowiki>Folks, ask me questions
</nowiki><br>
<nowiki>because uh ...
</nowiki><br>
<nowiki>I don't know what I just read, and I wrote it
</nowiki><br>
<nowiki>Sourdough and spam is amazing, change my mind
</nowiki><br>
<nowiki>Maybe should have had some godha to go w/
</nowiki><br>
<nowiki>damn now I raelly want crackers with gohda
</nowiki><br>
<nowiki>I think SoylentNews, and FTL (which immedately followed) was basically an end result of being so fed up with Canonical that I needed to do something functional
</nowiki><br>
<nowiki>to prove that I could
</nowiki><br>
<nowiki>I mean, there was nothing saying I had to do this, I wasn't paid
</nowiki><br>
<nowiki>I mean, we brought in about 5k per year, which for a site that runs no adversiting
</nowiki><br>
<nowiki>is obscene
</nowiki><br>
<nowiki>like its litterally a text aggreator
</nowiki><br>
</div>
</div>


Has to be a threading one
<div style="line-height: calc(100% * 0.75);">
 
'''NCommander''' (''Today at 3:18 PM'')
I compiled Apache 1.3, with some patching, mod_perl 1.3, and then began the grind of fixing the CPAN bundle
<div style="margin-left: 2em; line-height: calc(100% * 1.25);">
 
<nowiki>https://soylentnews.org/communityreviews/article.pl?sid=18/10/25/0850204
A lot of CPAN was already dying to atrophy by that time
</nowiki><br>
 
<nowiki>The other is what I'm calling tentatively calling Root Zone in a Box, a series of shell scripts, instructions and docker containers to automatically recreate a simulation of the DNS root zone, and other core internet functionality to allow testing of potential changes to DNS, as well as help study and debug various issues related to Internationalized Domain Names.</nowiki><br>
CEO of Fish Inc. — Today at 1:25 PM
</div>
 
</div>
So glad to know I’m not alone <nowiki>https://github.com/bestpractical/rt</nowiki>
 
GitHub
 
GitHub - bestpractical/rt: Request Tracker, an enterprise-grade iss...
 
Request Tracker, an enterprise-grade issue tracking system - GitHub - bestpractical/rt: Request Tracker, an enterprise-grade issue tracking system
 
GitHub - bestpractical/rt: Request Tracker, an enterprise-grade iss...
 
NCommander — Today at 1:25 PM
 
bugzilla is another old guard one
 
... mod_perl too, oof
 
BlackCoffeeDrinker — Today at 1:26 PM
 
first job was rt + bugzilla + cvs
 
NCommander — Today at 1:26 PM
 
Although not as bad as Slash
 
CEO of Email, Inc. — Today at 1:26 PM
 
Wait, is Soylent still apache 1.x?
 
NCommander — Today at 1:26 PM
 
no
 
that was the itch I couldn't let stand
 
Like
 
I said at the bginning "we're going to do that"
 
and that was the last major thing I did in that code base
 
CEO of Email, Inc. — Today at 1:27 PM
 
Well, 2014. 1.3 would have been fucking ancient
 
NCommander — Today at 1:27 PM
 
Yeah, I'll get back to that
 
By and large, we decided the risk was "acceptable" since we ended up putting the web frontends behind an nginx SSL terminator
 
oh god, I forgot about that
 
Slashdot used to make SSL a paid feature
 
BlackCoffeeDrinker — Today at 1:27 PM
 
yes!
 
NCommander — Today at 1:28 PM
 
We wanted to go HTTPS by default, the whole thing was a fucking passion project; it was going to be perfect
 
Let me find the articles
 
Like
 
BlackCoffeeDrinker — Today at 1:28 PM
 
(before you say WHY... https used to be slow back then)
 
NCommander — Today at 1:29 PM
 
I wrote about this
 
BlackCoffeeDrinker — Today at 1:29 PM
 
(but also, /. didn't need https)
 
NCommander — Today at 1:29 PM
 
It was considered to be high cost for CPU
 
BlackCoffeeDrinker — Today at 1:29 PM
 
I remember we used to host the minimum amount over HTTPS
 
CEO of Email, Inc. — Today at 1:29 PM
 
Understandable in a way, encryption is expensive
 
This was before knowledge of the NSA dragnets were public, and also, SSL was seen as relatively pointless by and large; you could still get away with a self signed certificate on the public web
 
It was really the bandwidth more than anything
 
Let me find these articles
 
NCommander — Today at 1:31 PM
 
<nowiki>https://soylentnews.org/search.pl?op=stories&author=2</nowiki>
 
Everything I wrote on SN
 
Oh fucking hell I forgot about a lot of this
 
NCommander — Today at 1:31 PM
 
<nowiki>https://soylentnews.org/article.pl?sid=14/02/16/2220240</nowiki> - so it was a major meme on Slashdot how the antique the thing was
 
Announcing UTF-8 Support on SoylentNews - SoylentNews
 
Announcing UTF-8 Support on SoylentNews -- article related to The Main Page and /dev/random.
 
Like, we were going to one up old Slashdot so hard
 
BlackCoffeeDrinker — Today at 1:32 PM
 
https://cdn.discordapp.com/attachments/1014650516854296697/1039970670257377290/image.png
 
lol
 
NCommander — Today at 1:32 PM
 
That was actually a Mission Accomplished moment
 
Cause well
 
... UTF-8 has a lot of edge cases
 
When you need to protect against spam
 
I think we stlil filtered right to left /left to right markers
 
But I remember my personal driving energy was very much "/. didn't have it, we're doing IPv6"
 
@N's Life
 
(talking about how Internet history happened)
 
Anyway, the "lead" of the project was someone with the handle of Barbassas?
 
Fucking weird guy, like, he would quote machovili, and absolute control freak
 
emotional support mom friend — Today at 1:34 PM
 
Ew
 
NCommander — Today at 1:35 PM
 
Basically threatened to tank the project through mismanagement
 
I forced him out
 
I felt like a fucking ass, but I did most of the tech work, I had gotten the site running in the cloud
 
NCommander — Today at 1:35 PM
 
We didn't have a name for it then, itwas litterly li69-342
 
or something like that
 
<nowiki>https://soylentnews.org/article.pl?sid=14/04/09/1925245</nowiki> - oh god, the Slashdot port scanner
 
F%1&£@! Unbelievable: Slashcode Portscanning Disabled - SoylentNews
 
F%1&£@! Unbelievable: Slashcode Portscanning Disabled -- article related to The Main Page and Soylent.
 
SN had code in the web frontend that it would actually portscan connecting hosts for adding to an internal block list
 
emotional support mom friend — Today at 1:36 PM
 
I'm sorry, the what —why
 
NCommander — Today at 1:36 PM
 
and yes, I did take advantage of the Unicode
 
emotional support mom friend — Today at 1:36 PM
 
Of course you did
 
NCommander — Today at 1:36 PM
 
CmdrTaco actually commented on it, it was an anti-spam measure
 
emotional support mom friend — Today at 1:37 PM
 
Ah
 
NCommander — Today at 1:37 PM
 
It made the top of hackernews
 
... like the first time I was on hackernews ...
 
... I didn't even register the signifance of that at the time
 
but this was a codebase
 
<nowiki>https://soylentnews.org/article.pl?sid=14/03/06/0728230</nowiki> - I actually wrote up about John's departure
 
On John's Departure ... - SoylentNews
 
On John's Departure ... -- article related to Soylent and The Main Page.
 
Like we were all on IRC at the time
 
John had us set up our own IRCd; I would have perferred to stay on Freenode
 
Slack was a thing at that point, but electron apps were really crummy then
 
emotional support mom friend — Today at 1:38 PM
 
And it thought that was a download
 
NCommander — Today at 1:39 PM
 
Look, some of us predate pretty URLs
 
emotional support mom friend — Today at 1:39 PM
 
Gbargbsfhngdjgcn.
 
NCommander — Today at 1:39 PM
 
I still feel kinda bad about it, but basically, the site hadn't an actual name at that point
 
We had promised to do a naming contest, there was no leadership
 
I was paying for it literially out of pocket on Linode
 
On my personal account
 
BlackCoffeeDrinker — Today at 1:40 PM
 
$$$ much
 
NCommander — Today at 1:40 PM
 
I was still at Canonical at the time I think, but I was right at the end
 
Yeah, it was pricy
 
John had actually blackmailed us
 
And sold the soylentnews.org domain without giving it to staff
 
Matt Angel bought it for 3k
 
<nowiki>https://soylentnews.org/article.pl?sid=14/03/10/1129232/</nowiki>
 
Right, we forced him out, and then he sold the domain
 
Well, I
 
fucking hell this is a story
 
Anyway, Matt basically was our venture captilist, and I was the CTO
 
And I basically said "we're going to incorporate this, and we're going to do it right"
 
and we did
 
Fitting, that we got our incorporation papers back on July 4th
 
<nowiki>https://soylentnews.org/article.pl?sid=14/07/04/2326238</nowiki>
 
Our Independence Day: We're Officially Incorporated! - SoylentNews
 
Our Independence Day: We're Officially Incorporated! -- article related to Soylent and The Main Page.
 
Like, it's surprisingly hard to know how to make a corporation that has no physical assets
 
Like, its the definition of a .com company
 
<nowiki>https://soylentnews.org/article.pl?sid=14/07/16/0253256</nowiki> - rereading this is a trip
 
The (Very Late) Post-Incorporation Post - SoylentNews
 
The (Very Late) Post-Incorporation Post -- article related to Soylent and The Main Page.
 
Past N did a good job
 
... wow, I just proved that comments really do help the next person in the future
 
which uh ... was me ...
 
I think someone tallied it up? I had written like 100k words in the first two years. It was an absolute meme that the editors would fear whenever NCommander opened the editing console
 
and it was fast like, we had a private #chillax channel, and I say that "I'm going to write an article" and 3k words later would appear in 20 minutes
 
emotional support mom friend — Today at 1:47 PM
 
And well, that checks out
 
NCommander — Today at 1:47 PM
 
I should actually see if the quotes database is still up, I'm about 40% of #staff
 
But Matt and I got it incorporated; and there was a bunch of us out in the northeast so we had a major meet and greet day with a BBQ
 
and then I brought the party to everyone
 
<nowiki>https://soylentnews.org/article.pl?sid=14/06/17/0059210</nowiki> this was one of the big things, like I had drafted up subscriptions, and then the pushback was really bad
 
<nowiki>#</nowiki>define subscriptions (or,  "How we want to work for you!") - Soyle...
 
<nowiki>#</nowiki>define subscriptions (or, "How we want to work for you!") -- article related to Soylent and The Main Page.
 
Essentially, the original plan was to basically make something akin to SDF
 
All the editors had legit shell accounts, there was people.soylentnews.org
 
that actually wasn't an intentional wordplay
 
Debian has people.debian.org which is used to host personal projects on their namespace; Canonical had people.canonical.com
 
Looks like they revoked my SSH key; which is fine
 
Haven't been involved a very long time
 
sirocyl — Today at 1:51 PM
 
oh my god
 
NCommander — Today at 1:51 PM
 
like I didn't even notice it until jsut now
 
... right
 
Let ie be known that I can infact do it to myself
 
<nowiki>https://soylentnews.org/article.pl?sid=14/05/05/0541206</nowiki>
 
The Nuts and Bolts of SN: A Look At The Backend, Part 1 - SoylentNews
 
The Nuts and Bolts of SN: A Look At The Backend, Part 1 -- article related to Code and The Main Page.
 
Like, if I was going to make a remake of the original Slashdot, I was going to make it a pinnacle to the gods
 
The li694-22 Domain
 
I've mentioned this on comments, and its on the wiki as well, but we use an internal gTLD for referencing nodes throughout the backend. Every node can access each other at hostname.li694-22. The name itself is a reference to the original private URL which we used for bringing up Slashcode way back before SN was decided as our temporary name. We have full forward and reverse resolution available, and only publish AAAA records for normal services. Oh yeah, about that ...
 
sirocyl — Today at 1:53 PM
 
wait. shelter island?
 
NCommander — Today at 1:53 PM
 
?
 
Linode
 
... wow
 
Is that actually the shelter island area code
 
Anyway, after incorporation, I had fairly large plans for Soylent, but that's when health things started to get worse
 
<nowiki>https://soylentnews.org/article.pl?sid=14/05/12/0335243</nowiki>
 
What We Are Going To Be: The Manifesto - SoylentNews
 
What We Are Going To Be: The Manifesto -- article related to Soylent and The Main Page.
 
I had wanted to be able to do actual journalism instead of just a news aggitator
 
sirocyl — Today at 1:55 PM
 
Image
 
wait, 11694 my b
 
emotional support mom friend — Today at 1:55 PM
 
headpats
 
NCommander — Today at 1:55 PM
 
Someone needs to remember to run /log when I finish
 
so the bot grabs it
 
sirocyl — Today at 1:56 PM
 
Image
 
Rockaway Park
 
NCommander — Today at 1:56 PM
 
Anyway, SN didn't quite pan out the way I had hoped
 
Like, I had to justify to the Internet why we were doing things, there was major concerns about freedom of speech
 
This was in 2014, the Snowden leaks had just happened
 
sirocyl — Today at 1:56 PM
 
mmhm
 
NCommander — Today at 1:57 PM
 
<nowiki>https://soylentnews.org/article.pl?sid=14/05/12/0335243</nowiki>
 
What We Are Going To Be: The Manifesto - SoylentNews
 
What We Are Going To Be: The Manifesto -- article related to Soylent and The Main Page.
 
Wrong link
 
Like we ran our own Tor exit node: <nowiki>https://soylentnews.org/article.pl?sid=15/05/26/062240</nowiki>
 
SN Tor Site Back Up - SoylentNews
 
SN Tor Site Back Up -- article related to Soylent and The Main Page.
 
It got a surprising amount of use
 
<nowiki>https://soylentnews.org/article.pl?sid=15/04/01/0212256</nowiki> - the eBBQ
 
SN eBBQ ... So To Speak (And Watch NCommander Play Nethack ) - Soyl...
 
SN eBBQ ... So To Speak (And Watch NCommander Play Nethack ) -- article related to The Main Page and Soylent.
 
This was a milestone event. This was our first year up
 
Like, this was a celebration
 
I hope to play as a 24-hour event, from 0:00 to 23:59 EST, though that might change depending on how I'm feeling. I plan to setup a Skype session so members of the staff can join in and perhaps field a question or two. If anyone wants to live update for me (watch the stream and keep notes on what I've done) or something similar, drop me a Private Message on either the SoylentNews IRC channel or on Freenode (I'll be in #nethack while I'm streaming).
 
This was in the early days of Lets plays. Twitch was still pretty small ... I don't think I was at Beam yet
 
BlackCoffeeDrinker — Today at 1:59 PM
 
justin.tv you mean
 
NCommander — Today at 2:00 PM
 
No, it was twitch at this point
 
I say so as much in the post
 
This must have been right after I left Canonical, but before I got hired at MCProHosting
 
Or before they moved me over
 
There was like a 1-2 month period where I did actual sysadmin work
 
Note to streamers: For those watching via Twitch, there is a 20-30 stream delay, so if I don't immediately respond, assume that's the reason.
 
wow
 
I don't know if that was foreshadowing or not
 
... I might have been at Mixer at that point?
 
BlackCoffeeDrinker — Today at 2:01 PM
 
20 to 30 !?!
 
NCommander — Today at 2:01 PM
 
Or it was a sure thing
 
NCommander — Today at 2:01 PM
 
That was the average
 
BlackCoffeeDrinker — Today at 2:01 PM
 
I never realize it was that bad
 
NCommander — Today at 2:01 PM
 
It could go minutes long unoptimized
 
Packet delay is cummative over the life of the stream
 
BlackCoffeeDrinker — Today at 2:02 PM
 
I rememeber that long stream had A/V desync
 
NCommander — Today at 2:02 PM
 
Yeah I think I was already thinking about latency at this point
 
What got me hired at MCProHosting was a discussion with Matt the CEO
 
Who was on my hiring call
 
... I should have questioned that at the time ...
 
and Matt had asked me questions about it; I had listened low latency experience on my resume
 
It was in terms of system processing, not networking, but "eh, close enough?"
 
BlackCoffeeDrinker — Today at 2:04 PM
 
HAHAHAHHAHA
 
NCommander — Today at 2:04 PM
 
I mean, I didn't know how different they were at the time
 
I understood things like packet delay due to TCP/IP
 
But I never really thought about it beyond that.
 
I should give some context here
 
In system processing, latency is generally in reference to what is known as realtime processing
 
Basically, it means you need to do X amount of work in Y amount of time
 
Most computing is not realtime, but its fast enough for humans not to notice
 
i.e., keyboard entry is not real time
 
The big SoB being audio
 
BlackCoffeeDrinker — Today at 2:06 PM
 
DMA Audio was a big deal
 
NCommander — Today at 2:06 PM
 
Video you can get away with more
 
(I think this is worth talking about, even though its off topic)
 
BlackCoffeeDrinker — Today at 2:07 PM
 
Video was so unobtanium that a different approach was needed
 
NCommander — Today at 2:07 PM
 
Well, by and large, it was geared toward animation, you had Smacker, and then compositing
 
Kodak used to charge a very pretty penny to make high quality analogue coversions
 
fuck, I don't think I ever brought up Castle Infinity
 
I haven't even thought about them in ... has to be decades
 
Uh, that was the period of my life when you can literially say I had the job title "Architect of Infinity"
 
BlackCoffeeDrinker — Today at 2:08 PM
 
the MMO ?
 
NCommander — Today at 2:08 PM
 
Yeah
 
I didn't play it back in the Starwave days
 
But the servers had gotten tossed out
 
Literially tossed out
 
One of the diehard fans, Kevin Quilt, dumpster dived for them
 
and put the game online
 
They had full source code, and gotten a legal agreement out of Starwave to run it
 
(it might have been Go? They got bought by Disney)
 
The game was made by Starwave, then owned by GO, and then Disney
 
It was a 9x era MMOG, and everything that implies
 
The original thing ran on NT 3.51, and the client on 9x, and it abused things like IPC and COM
 
and it did *cute coding
 
BlackCoffeeDrinker — Today at 2:10 PM
 
😭
 
NCommander — Today at 2:11 PM
 
case 'ABCD': /* this compiles, because a four byte char can be cast to an int, and VC++6 will not complaint*/
 
It had this horrid heap manager from a third party company, it used RAD game tools, and a few other bits
 
BlackCoffeeDrinker — Today at 2:11 PM
 
HAHAHAHA AHAHAHAHAH AHAHAHHAHA YES !! YES!!
 
NCommander — Today at 2:12 PM
 
The level editor was a MFC application
 
oh god, SP4k
 
BlackCoffeeDrinker — Today at 2:12 PM
 
God VC++6 was amazingly bad
 
NCommander — Today at 2:12 PM
 
that ... that thing was bad, it was a C++ codebase from hell
 
Because the code started life on VC++4, been poorly migrated to VC++6, and then I kicked it screaming to VC++2005
 
SED — Today at 2:12 PM
 
Like Hammer:blep:
 
BlackCoffeeDrinker — Today at 2:12 PM
 
VC++2005 didn't compile what VC++6 did...
 
how did they migrate that ?
 
NCommander — Today at 2:13 PM
 
How did I migrate it
 
BlackCoffeeDrinker — Today at 2:13 PM
 
Poorly ?
 
oh
 
NCommander — Today at 2:13 PM
 
well, it still takes case syntax
 
No, it was still on VC++6 when I got there
 
I was in high school at the time
 
Actually, remind me to come back to castle infinity @N's Life, let me finish SoylentNews
 
BlackCoffeeDrinker — Today at 2:13 PM
 
I did my final school project on VC++6
 
NCommander — Today at 2:14 PM
 
Because I want to recount my last bit
 
emotional support mom friend — Today at 2:14 PM
 
So, that first, then infinity
 
NCommander — Today at 2:14 PM
 
This was the last major coding exercise
 
<nowiki>https://soylentnews.org/article.pl?sid=15/03/13/044211</nowiki>
 
Upgrade Plans: Slashcode 15.03/Rehash 15.04 - SoylentNews
 
Upgrade Plans: Slashcode 15.03/Rehash 15.04 -- article related to The Main Page and Soylent.
 
We had called our branch fo Slash, slashcode 15.03
 
(you can see the Ubuntu influence)
 
We didn't do timed releases, I just gave them version numbers to tag
 
The plan was to do a final Apache 1.3 release
 
I had gone into what can be described as a manic mood
 
This was about a year after we launched
 
And I was going to get us off Apache 1.3, and onto 2.0
 
(2.2 didn't have all the CPAN modules we needed)
 
This is not soething you do lightly
 
Like
 
this is a fucking effort
 
mod_perl was wrapped around rehash's codebase like a cancer
 
And it used a global state table and an API that didn't exist in 2.0
 
Most of the codebase was clean, the slashd daemon ran without the mod_perl components, but the entire frontend was dependent on it
 
I had ripped a lot of the static code generators out; it was 2015, we could afford the processing port
 
It's a thing of beauty when you delete a lot of dead code
 
Like, I think I purged a good 40k LoC from that beast
 
and we had a commitment not to use frontend javascript
 
It was a testimonent to the old Internet
 
unless its changed, privacy badger was still 0
 
Back at that time, I actually considered leaving NCommander as a handle to whomever replaced me
 
Ala dread pirate roberts from the movie, the Silk Road hadn't happened yet
 
We had a development box, lithium
 
All the machines were named after elements, starting at hydrogen, and going up
 
Canonical actually used the same naming scheme
 
The cdimage build master was called antimony, which was appropiate
 
To even start porting the monster, I had to sort out the mess of CPAN dependencies
 
and I still had to have a self-contained Apache build system
 
<nowiki>https://github.com/SoylentNews/rehash/blob/master/Makefile#L341</nowiki> - I wrote a massive makefile to do it
 
GitHub
 
rehash/Makefile at master · SoylentNews/rehash
 
Forked from Slashcode, rehash is the codebase that powers SoylentNews.org, powered by mod_perl 2 - rehash/Makefile at master · SoylentNews/rehash
 
rehash/Makefile at master · SoylentNews/rehash
 
Including patching a few CPAN bits to work with mod_perl 2
 
Well, the makefile was already there
 
but I really made it there
 
This was going to be a reproducible build damn it
 
I also think we migrated to MySQL cluster at the same time
 
Like
 
holy fuck
 
what was I thinking
 
A little known feature of the codebase is that its built on a plugin architecture which makes expansion easier and allows for multi-hosting. That is to say, we can have multiple sites out of a single installation; i.e., soylentnews.jp and soylentnews.org can both point to the same installation, but show a different mainpage. While we're still somewhat far off from supporting this kind of user-generated content, this upgrade sets the framework for allowing it to happen. The mainpage of SN will remain as it is, but allow the community to form and discuss any topic they wish, all handled under the same familiar interface you use now.
 
Actually, this is a bit important, there were other slashdot forks, there was slashdot.jp, and barrapuento.com, both on the original Slash code, I think there was a few others, but those were the two I remmber trying to reach
 
<nowiki>https://soylentnews.org/article.pl?sid=15/05/19/0740226</nowiki> - we even discucssed i18n/l10n efforts
 
Is There An Interest For A Localized SoylentNews.org? - SoylentNews
 
Is There An Interest For A Localized SoylentNews.org? -- article related to The Main Page and Soylent.
 
<nowiki>https://soylentnews.org/meta/article.pl?sid=15/06/01/0657256</nowiki> - fucking hell
 
Site Upgrade To Rehash 15.05 - Changelog and Incident Report - Soyl...
 
Site Upgrade To Rehash 15.05 - Changelog and Incident Report -- article related to Meta, Soylent, and The Main Page.
 
I actually did do both at the same time
 
Rewrote large amounts of the site to migrate to Apache 2, mod_perl 2, and perl 5.20.
 
This was a massive undertaking. I did a large part of the initial work, but paulej72, and TheMightyBuzzard did lots to help fix a lot of the lingering issues. Major props to Bytram for catching many of the bugs pre-release
 
Nexus Support (finally).
 
Currently we have the Meta and Breaking News nexii, with the possibility of adding more in the future, such as a Freshmeat replacement.
 
Nexii can be filtered in the user control panel under the Homepage tab. At the moment, this functionality is hosed due to unexpected breakage, but should be functional within the next 24-48 hours
 
IPv6 support - the AAAA record is live as we speak
 
Themes can be attached to a nexus independent of the "primary theme" setting; user choice overrides this
 
Squashed More UTF-8 Bugs
 
Migration to MySQL Cluster (more on this below)
 
Rewrote site search engine to use sphinx search and (in general) be more useful
 
Long comments properly collaspe now
 
Support for SSL by default (not live yet)
 
Fault tolerance; the site no longer explodes into confetti if a database or webfrontend goes down unexpectedly; allows for much easier system maintenance as we can offline things without manual migration of services
 
Improved editor functionality, including per-article note block
 
Lots of small fixes everywhere, due to the extended development cycle
 
Like, I did IPV6, mod_perl 2, and database clustering on a single upgrade cycle
 
and I mean
 
it worked
 
@BlackCoffeeDrinker what ... how did I do this?
 
emotional support mom friend — Today at 2:26 PM
 
Not something you'd recommend but it did work apparently
 
NCommander — Today at 2:26 PM
 
you should realize the sheer absurdity of that changelog
 
That's the fucking marketing statement, not the actual engineering changelog
 
emotional support mom friend — Today at 2:27 PM
 
O.o
 
NCommander — Today at 2:27 PM
 
In our year and a half of dealing with slashcode, we had also identified several pain points; for example, if the database went down even for a second, the site would lockup, and httpd would hang to the point that it was necessary to kill -9 the process. Although slashcode has support for the native master-slave replication built into MySQL, it had no support for failover. Furthermore, MySQL's native replication is extremely lacking in the area of reliability. Until very recently, there was no support for dynamically changing the master database in case of failure, and the manual process is exceedingly slow and error prone. While MySQL 5.6 has improved the situation with global transactions IDs (GTID), it still required code support in the application to handle failover, and a specific monitoring daemon to manage the process, in effect creating a new single point of failure. It also continues to lack any functionality heal or otherwise recover from replication failures. In my research, I found that there was simply bad and worse options with vanilla MySQL in handling replication and failover. As such, I started looking seriously into MySQL Cluster, which adds multi-master replication to MySQL at the cost of some backwards compatibility.
 
OH GOD I FORGOT ABOUT THIS
 
Right, so because the code was so crankly, if the MySQL daemon ever went down
 
Everything else would lock up
 
And I mean, we would have to killall -9 httpd
 
and this happened fairly often because Linode used to restart boxes regularly for downtime
 
BlackCoffeeDrinker — Today at 2:28 PM
 
Indeed how
 
are you like 5 ppl in one ?
 
NCommander — Today at 2:28 PM
 
<nowiki>https://soylentnews.org/meta/article.pl?sid=16/08/25/073218</nowiki> - I'm a fucking overachiever
 
soylentnews.org is now DNSSEC signed - SoylentNews
 
soylentnews.org is now DNSSEC signed -- article related to Soylent and Meta.
 
BlackCoffeeDrinker — Today at 2:29 PM
 
Those weren't established standards
 
emotional support mom friend — Today at 2:29 PM
 
Did…that got fixed, right?
 
NCommander — Today at 2:29 PM
 
Well
 
I fixed it by making the database not go down
 
ever
 
emotional support mom friend — Today at 2:29 PM
 
I mean that works
 
NCommander — Today at 2:29 PM
 
Like, the fucking site had to have a 4 nines uptime
 
BlackCoffeeDrinker — Today at 2:29 PM
 
Very nice
 
NCommander — Today at 2:29 PM
 
And for a legacy mod_perl site
 
in an era before containers or dockerization
 
Kubernetes hadn't been made yet
 
Docker still was in its infancy
 
BlackCoffeeDrinker — Today at 2:30 PM
 
we did have red/blue where we'd ship a server with the next version to replace the server that was in prod
 
NCommander — Today at 2:30 PM
 
Like, I had to rewrite the etnire site search engine to do that migration
 
The original search engine used MySQL FULLTEXT tables
 
I rewrote it to run sphinx
 
You'd probably use Elastasearch these days, but ES is the cloud sucks
 
BlackCoffeeDrinker — Today at 2:31 PM
 
Word tables
 
NCommander — Today at 2:31 PM
 
The primary cause of the slowdown was due to the fact that rehash did large JOIN operations on text columns in MySQL. This is bad practice in general due to performance reasons, but it causes a drastic slowdown with MySQL cluster, which prevents the query optimizer from doing what's known as a "pushdown", and allowing the query to execute on the NDB nodes. This caused article load to be O(n*m), where n was the number of articles in the database and m was the number of articles with the neverdisplay attribute set. The revised queries now load at O(1). Instead it had to do multiple pulls from the database and assemble the query data on the frontend, a process that took 4-5 seconds per problematic query. The problem was compounded that there are limited number of httpd daemons at any given moment, and any database pull that hit a problematic query (which were in index.pl and article.pl) would cause resource exhaustion.
 
Like
 
THAT WAS A CRANKLY MIGRATION
 
June 02 2015
 
... WTF, I WAS DOING FTL AT THE SAME TIME
 
CEO of Fish Inc. — Today at 2:33 PM
 
HOW
 
how did you have the time
 
NCommander — Today at 2:33 PM
 
<nowiki>https://github.com/microsoft/ftl-sdk/commit/09fc8aadc86a7fe0d99c9a997b9a7198333bc013</nowiki>
 
GitHub
 
Initial Commit · microsoft/ftl-sdk@09fc8aa
 
Signed-off-by: Michael Casadevall
 
Initial Commit · microsoft/ftl-sdk@09fc8aa
 
no, I didn't do it yet
 
emotional support mom friend — Today at 2:33 PM
 
What weren't you doing at the time?
 
NCommander — Today at 2:33 PM
 
This was right in the Canonical/FTL gap
 
This was the last passion project, I wanted SN to succeed and to be able to live on this; the job at MCProHosting was the easy paycheck
 
Yeah
 
and it was the thing I promised I do
 
The last thing I said to the community that we were going to modernize this codebase
 
emotional support mom friend — Today at 2:34 PM
 
And well
 
NCommander — Today at 2:36 PM
 
Yeah
 
I honestly remember being utterly disappointed at the time that it didn't go smoothly
 
The site was migrated over a 2 window period, and then we had about two days of intense debugging
 
and about another month of smacking the gremlins out
 
It was like 200k loc when I got it?
 
I think I cut about 75k loc out of it
 
Just a lot of dead code
 
But that was a literial trial by fire
 
What I didn't realize at the time was hydrogen's earlier failure had not been resolved as I thought, and it gave truly abysmal performance, with 10+ second page loads. As soon as this was realized, I quickly pressed fluorine, our 'normal' frontend server into service, and site performance went from horrific to bad. A review of the logs showed that some of the internal caches used by rehash were throwing errors; this wasn't an issue we had seen on dev, and such was causing excessive amounts of traffic to go to the database, and causing Apache to hang as the system tries to keep up with the load. Two hours of debugging have yet to reveal the root cause of the failure, so I've taken a break to write this up before digging into it again
 
OH I REMEMEBR NOW
 
Ok, so the problem was one of the two database nodes was in a failed state
 
I thought it had been resolved, so I had ended up restoring the DB back into a flakely node which then failed hard
 
So I was trying to get a cluster running with only half its brain
 
sorry, frontend
 
flourine was the frontend
 
hydrogen and flourine
 
We had been in a 1x2 configuration, one web frontend, two database nodes
 
I had put hydrogen back into the service, but due to very very heavy caching with varnish and memcached, we weren't seeing the lag
 
rehash had modified a lot of the rendering paths so the site would be more dynamic
 
the cost of processing a request is cheap if you never hit the disk
 
... I think that's what inspired FTL
 
BlackCoffeeDrinker — Today at 2:41 PM
 
^^
 
NCommander — Today at 2:41 PM
 
... I actually understood the rules of the game even at that point, I wanted to prove you could do it
 
BlackCoffeeDrinker — Today at 2:41 PM
 
abuse cache, never the disk
 
NCommander — Today at 2:41 PM
 
when you can treat the network as reliable
 
BlackCoffeeDrinker — Today at 2:41 PM
 
the Database should be Write only
 
NCommander — Today at 2:42 PM
 
Because each request would enter nginx load balancer, get passed back to an application server, and our dataset was small, only a few gigs
 
put the whole thing in memory
 
And I mean the entire blasted database
 
That's how mysql cluster works
 
BlackCoffeeDrinker — Today at 2:42 PM
 
one should only read the DB when the server boots and then only write changes to it - never hit the db
 
NCommander — Today at 2:42 PM
 
Yeah, that's how memcached worked
 
BlackCoffeeDrinker — Today at 2:42 PM
 
yup
 
NCommander — Today at 2:43 PM
 
And to prevent a bottleneck, each web frontend could connect to any master, because we had no serialization concerns
 
BlackCoffeeDrinker — Today at 2:43 PM
 
Designed enough system to have that drilled in my head
 
NCommander — Today at 2:43 PM
 
Well, we needed read isolation, but any database has that
 
BlackCoffeeDrinker — Today at 2:43 PM
 
mysql didn't always have it
 
NCommander — Today at 2:43 PM
 
if you understand the rules of the game, you can break them
 
Like, SN gets. apretty good amount of traffic
 
oh fuck, alexa is gone
 
but we were up there
 
<nowiki>https://soylentnews.org/hof.pl</nowiki> - like, you can see it
 
800+ comments, on a article from 2022 <nowiki>https://soylentnews.org/meta/article.pl?sid=22/07/09/0547216</nowiki> (incidently, addressing one of the main issues of why I essentially faded out)
 
The BIG Discussion - SoylentNews
 
The BIG Discussion -- article related to Soylent and Meta.
 
and it ran on five relatively small Linodes,
 
Whole thing used centralized kerberos and hesiod database
 
We were on LDAP
 
<nowiki>https://soylentnews.org/meta/article.pl?sid=15/07/13/0255214</nowiki>
 
Review: Hesiod Name Services System - SoylentNews
 
Review: Hesiod Name Services System -- article related to Reviews and Meta.
 
<nowiki>https://wiki.soylentnews.org/wiki/The_Slashcott</nowiki> - oh the wiki has useful info
 
The Slashcott
 
Here's the original Slashcott
 
I mean
 
People were fucking pissed about the state of slashdot
 
<nowiki>https://arstechnica.com/information-technology/2014/02/slashdots-new-interface-could-kill-what-keeps-slashdot-relevant/</nowiki> - THANK YOU ARS
 
Ars Technica
 
Slashdot’s new interface could kill what keeps Slashdot relevant
 
Flashy revamp seeks to draw new faces to the community—at the cost of the old.
 
Slashdot’s new interface could kill what keeps Slashdot relevant
 
THERE IT IS
 
https://cdn.discordapp.com/attachments/1014650516854296697/1039989964831719514/unknown.png
 
BETA
 
^- @Wiki Volunteer @N's Life this is what we revoked against on Slashdot. the Beta interface. Make sure this gets saved
 
BlackCoffeeDrinker — Today at 2:49 PM
 
OH GOD I REMEMBER THAT
 
NCommander — Today at 2:49 PM
 
shit, I almost think we should have made this a seperate channel
 
Damn it
 
fuck it
 
We don't get enough discussion here, and we'll pin the start point
 
and log it with the bot
 
<nowiki>https://slashdot.org/submission/3326505</nowiki> - YES
 
The Individual Midnight Thread - Slashdot
 
Trying to figure out time zones is starting to make my brain hurt, but apparently in a bit over 6 hours somewhere on the other side of globe from Greenwich the Week of Slashcott will begin, as Midnight arrives for anyone in that zone, and then it travels west, where I will encounter it in about 23 h...
 
THIS IS WHERE IT ALL STARTED
 
I mean, look at the old UIDs that came out of the woodwork
 
AKDT!
 
https://cdn.discordapp.com/attachments/1014650516854296697/1039990736680128572/image.png
 
NCommander — Today at 2:55 PM
 
<nowiki>https://wiki.soylentnews.org/wiki/NewName</nowiki> - this is how the name came to be
 
NewName
 
and we did a poll by email, automated, with GPG keys to vote on it
 
like
 
... hotdam
 
<nowiki>https://wiki.soylentnews.org/wiki/Confessions_of_an_Ex-Slashdot_Beta_User</nowiki> there were people who were really really fucking pissed about beta
 
Confessions of an Ex-Slashdot Beta User
 
sirocyl — Today at 2:56 PM
 
wow
 
NCommander — Today at 2:57 PM
 
<nowiki>https://wiki.soylentnews.org/wiki/Archive</nowiki> - this was the prelaunch archive
 
Archive
 
The wiki was the first thing to actually get online
 
Because no one knew how we were going to replace Slashdot
 
it wasn't clear if running slashcode was even practical; I remember the general sentiment being it wasn't possible
 
I wasn't the only one who did it, robinld got it working on RHEL ... I guess it would have been 6?
 
I wiped the database once in pre-launch stuff, like it had been up privately for a few days on golive
 
and there were a lot of notes, I regret that in hindsight
 
I think I did it because no one really expected a bunch of development notes to be published publicly
 
I very much set the standard for transparency
 
<nowiki>https://soylentnews.org/meta/article.pl?sid=17/04/20/1055218</nowiki> - not all of them were good decisions
 
Soylentnews.org is Moving to Gentoo... - SoylentNews
 
Soylentnews.org is Moving to Gentoo... -- article related to Soylent and Meta.
 
I think we only migrated two machines
 
Getting moderation to work was hard
 
Like really hard <nowiki>https://soylentnews.org/article.pl?sid=14/02/13/0412219</nowiki>
 
Reworking Moderation Access - SoylentNews
 
Reworking Moderation Access -- article related to Slash and The Main Page.
 
It basically assumed there was tens of thousands active users
 
@BlackCoffeeDrinker <nowiki>https://soylentnews.org/~NCommander/journal/1096</nowiki> - this is incredible
 
Like
 
I can feel the black magic
 
<nowiki>https://soylentnews.org/~NCommander/journal/1032</nowiki>
 
and just say I'm a certifiable madman.
 
.... AHHHHHHHHHHH
 
I fucked pwned myself across space and time
 
I actually wrote a postmodern <nowiki>https://soylentnews.org/meta/article.pl?sid=15/06/18/0045246</nowiki>
 
Learning From Our Mistakes (Or How To Prevent Another Painful Upgra...
 
Learning From Our Mistakes (Or How To Prevent Another Painful Upgrade) -- article related to Soylent and Meta.
 
... ok then ...
 
um
 
... you know, I'm going to eat something
 
Folks, ask me questions
 
because uh ...
 
I don't know what I just read, and I wrote it
 
Sourdough and spam is amazing, change my mind
 
Maybe should have had some godha to go w/
 
damn now I raelly want crackers with gohda
 
I think SoylentNews, and FTL (which immedately followed) was basically an end result of being so fed up with Canonical that I needed to do something functional
 
to prove that I could
 
I mean, there was nothing saying I had to do this, I wasn't paid
 
I mean, we brought in about 5k per year, which for a site that runs no adversiting
 
is obscene
 
like its litterally a text aggreator
 
NCommander — Today at 3:18 PM
 
<nowiki>https://soylentnews.org/communityreviews/article.pl?sid=18/10/25/0850204</nowiki>
 
My Time as an ICANN Fellow - SoylentNews
 
My Time as an ICANN Fellow -- article related to Career & Education, The Main Page, Digital Liberty, and Community Reviews.
 
The other is what I'm calling tentatively calling Root Zone in a Box, a series of shell scripts, instructions and docker containers to automatically recreate a simulation of the DNS root zone, and other core internet functionality to allow testing of potential changes to DNS, as well as help study and debug various issues related to Internationalized Domain Names.

Latest revision as of 17:21, 28 November 2022

NCommander (Today at 1:02 PM)

@BlackCoffeeDrinker @Wiki Volunteer here, talking about how slashdot and soylentnews broke off, one of the major changes of the guard of the 90s
So, some context, Slashdot was formed in the very early 90s by CmdrTaco, and CowboyNeal, pretty much the first tech news of the early Internet
This was in the days of the dotcom boom, and it got handed over probably a dozen times; it was an Internet landmark, like SourceForge, or Tucows was
(RIP tucows)
(please ask questions, I'm recounting this all from memory, and some of this is a decade old)
Eventually Slashdot got acquired by DICE Enterainment, after a very long period of changing hands
Like all the original editors were gone

BlackCoffeeDrinker (Today at 1:05 PM)

slashdot's logo was /. because you know...

NCommander (Today at 1:05 PM)

http:///..com

emotional support mom friend (Today at 1:05 PM)

That's not confusing at all lol

NCommander (Today at 1:05 PM)

since browsers back in those days you needed to put http://

BlackCoffeeDrinker (Today at 1:05 PM)

I wanna say it was right-leaning? Hated microsoft and loved open-source

NCommander (Today at 1:06 PM)

Well, Gopher was still active, and you'd still frequently find news: and telnet: links
Like, I remember when those were on theopen net

NCommander (Today at 1:06 PM)

Much more liberarian than anything else

sirocyl (Today at 1:06 PM)

I remember when ftp:// was relatively common, too

NCommander (Today at 1:06 PM)

you mean today?

BlackCoffeeDrinker (Today at 1:06 PM)

Yes, news: was common

emotional support mom friend (Today at 1:06 PM)

B zhzhmfskgdzdhkzhldzlhdslhds

NCommander (Today at 1:06 PM)

Anyway

emotional support mom friend (Today at 1:06 PM)

More so than now?

sirocyl (Today at 1:06 PM)

my thoughts exactly

emotional support mom friend (Today at 1:07 PM)

Yranhfsksfumfsldgujzxgn

NCommander (Today at 1:07 PM)

DICE had made a lot of unpopular changes, but the straw that broke the camels back was "Beta"

sirocyl (Today at 1:07 PM)

oh no

BlackCoffeeDrinker (Today at 1:07 PM)

at some point users revolted because they didn't like changes

CEO of Email, Inc. (Today at 1:07 PM)

Never goes well

NCommander (Today at 1:07 PM)

Like it was this horrid whitespace meme; it turned a very information dense site into a wordpress block
no, it was just bad

sirocyl (Today at 1:07 PM)

it introduced gradients and rounded corners, too

NCommander (Today at 1:08 PM)

It was like if every page of the print New York Times was double spaced

sirocyl (Today at 1:08 PM)

it was awful

CEO of Email, Inc. (Today at 1:08 PM)

Did it go back then? I noticed Soylentnews looks the same as Slashdot does now

BlackCoffeeDrinker (Today at 1:08 PM)

yes, everything still loaded fine in netscape 3 before that

NCommander (Today at 1:08 PM)

Someone should look it up on Wayback
To think we need a screenshot of that

BlackCoffeeDrinker (Today at 1:08 PM)

let me check

sirocyl (Today at 1:08 PM)

damn archiveorg slow today

NCommander (Today at 1:09 PM)

Anyway, Slash (the underlying software) had been open source at one point, but had been left to die in a old CVS repo
(might have been git? Either way, it was heading towards death)

emotional support mom friend (Today at 1:09 PM)

I'm picturing the pharmacy here which makes it funnier

sirocyl (Today at 1:09 PM)

... wasn't git, I'm sure. was it?

BlackCoffeeDrinker (Today at 1:09 PM)

CVS i think
or SVN

CEO of Email, Inc. (Today at 1:09 PM)

Oh, so it got abandoned before you picked it up, then?

sirocyl (Today at 1:09 PM)

mercurial maybe?

CEO of Email, Inc. (Today at 1:09 PM)

The software I mean

NCommander (Today at 1:09 PM)

DICE was still using it, there are some trademark tells like the X-Fry/X-Bender headers
brb

NCommander (Today at 1:10 PM)

back
Regardless or not, enough was enough, so a bunch of us basically got together in IRC on Freenode
The channel was #alphaslash or something like that
The idea was to create a replacement. A few others had launched, like pipedot.org, which was basically a reimaginating with a new PHP codebase, and technocrat relaunched briefly
I think there was some efforts to see if kurosh5n could be risen from the dead
There were folks who remembered that Slash had been open source at once point, and the original archives were still up (it might still be there https://slashcode.com/)

CEO of Email, Inc. (Today at 1:13 PM)

Just redirects to sourceforge 😔

emotional support mom friend (Today at 1:13 PM)

:/

NCommander (Today at 1:13 PM)

and oh boy, Slash is a crankly SoB
This was the Perl CMS

CEO of Email, Inc. (Today at 1:13 PM)

Perl I'm guessing?

NCommander (Today at 1:13 PM)

the original

CEO of Email, Inc. (Today at 1:13 PM)

Yepp
Called it

NCommander (Today at 1:13 PM)

it required a Makefile.PL and has a CPAN bundle

CEO of Email, Inc. (Today at 1:13 PM)

🥖

NCommander (Today at 1:14 PM)

and was written in an era when CPAN expected to be installed as system libraries
But the worst part?
It used parts of mod_perl that aren't $r
oh god did it use parts. It basically kept a scorecard in Apache's shared memory space
to do synchrozation across tasks
it has a cron replacement written in Perl

BlackCoffeeDrinker (Today at 1:15 PM)

Someone that's good in perl wrote this

CEO of Fish Inc. (Today at 1:15 PM)

Horrifying

NCommander (Today at 1:15 PM)

and I mean daemon
Well, how it worked was insane

CEO of Email, Inc. (Today at 1:15 PM)

But why

NCommander (Today at 1:15 PM)

because it generated static pages for everything

CEO of Email, Inc. (Today at 1:15 PM)

Huh, I guess that was probably wise when it came out

NCommander (Today at 1:16 PM)

You basically had the #1 site on the early Internet, by being run by hobbyest with 1993 tech

CEO of Email, Inc. (Today at 1:16 PM)

Sounds like quite the feat honestly

emotional support mom friend (Today at 1:16 PM)

honestlu

NCommander (Today at 1:16 PM)

Like, I can't think of anything than Slashdot. It used to be whenever a server landed on Slashdot - BOOM

BlackCoffeeDrinker (Today at 1:16 PM)

Slashdot currently has 16 web servers all of which are running Red Hat 9. Two serve static content: javascript, images, and the front page for non logged-in users. Four serve the front page to logged in users. And the remaining ten handle comment pages. All web servers are Rackable 1U servers with 2 Xeon 2.66Ghz processors, 2GB of RAM, and 2x80GB IDE hard drives. The web servers all NFS mount the NFS server, which is a Rackable 2U with 2 Xeon 2.4Ghz processors, 2GB of RAM, and 4x36GB 15K RPM SCSI drives.

NCommander (Today at 1:17 PM)

Yeah

CEO of Email, Inc. (Today at 1:17 PM)

Well, that's where the "Slashdot effect" comes from
Which became the Reddit hug of death
Idk what the equivalent is now with widespread cdn use etc

NCommander (Today at 1:17 PM)

this was a codebase as written by the early wizards
not for elegance, but for pure functionality
Like, the only webapp that I can think is more hardcore is the original SF2.5 source code

BlackCoffeeDrinker (Today at 1:18 PM)

Besides the 16 web servers, we have 7 databases. They currently are all running CentOS 4. They breakdown as follows: 2 Dual Opteron 270's with 16GB RAM, 4x36GB 15K RPM SCSI Drives These are doing multiple-master replication, with one acting as Slashdot's single write-only DB, and the other acting as a reader.

emotional support mom friend (Today at 1:18 PM)

Wow

CEO of Email, Inc. (Today at 1:18 PM)

It's funny that they ended up in the same hands
(assuming you mean sourceforge?)

NCommander (Today at 1:18 PM)

We didn't have social media like that back then, it was basically articles, and AIM

NCommander (Today at 1:18 PM)

Yeah

BlackCoffeeDrinker (Today at 1:19 PM)

2 Dual Opteron 270's with 8GB RAM, 4x36GB 15K RPM SCSI Drives These are Slashdot's reader DBs. Each derives data from a specific master database (listed above).
Lastly, we have 3 Quad P3 Xeon 700Mhz with 4GB RAM, 8x36GB 10K RPM SCSI Drives which are sort of our miscellaneous 'other' boxes. They are used to host our accesslog writer, an accesslog reader, and Slashdot's search database.
16 + 7 + 2 + 3

NCommander (Today at 1:19 PM)

Remind me to document just how I ended up in Savannah documentation
But, let's get back to it

BlackCoffeeDrinker (Today at 1:20 PM)

Perl that had to manage running on 28 servers

NCommander (Today at 1:20 PM)

There had been a few efforts to try and get the original code running. It was "decently documented" for what was an internal codebase
But it was tied to Apache 1.3, it needed a very specific configuration of mod_perl, and more
And this was 2014(ish?), Apache 1.3 was dead and buried at that point

CEO of Email, Inc. (Today at 1:21 PM)

Were the undocumented parts things your people had to figure out themselves? Or were the original slash people still reachable somehow

NCommander (Today at 1:21 PM)

We had no help from the original founders
Anyway, I decided to take on the challenge
Back in middle school, I loved Slashdot, I even tried to run it ontop of Mac OS, going as far as learning how to compile Perl, and Apache, etc.
I never actually got it running, cause of CPAN problems, but I knew pretty much what it was going to take

CEO of Email, Inc. (Today at 1:23 PM)

Heh, your slash adventures started early, then

NCommander (Today at 1:23 PM)

I ran Linux on my macs before we got Mac OS X
I was in middle school? It was the greatest thing to do
I love understanding systems

CEO of Email, Inc. (Today at 1:23 PM)

I hear you there, it's fun and satisfying to understand

NCommander (Today at 1:23 PM)

Like, push comes to shove? I could probably do a LFS type system without the book
Anyway, getting off topic

CEO of Fish Inc. (Today at 1:24 PM)

This idea of using Perl to manage a website sounds horrifyingly similar to this ticketing application I helped support at work for a little bit

NCommander (Today at 1:24 PM)

I bought a linode instance, install MySQL
and started to climb that cliff
I compiled a freestanding version of Perl

BlackCoffeeDrinker (Today at 1:24 PM)

I know what you're talking about 😛

NCommander (Today at 1:24 PM)

(because only Python is worse about virtual environments)
Has to be a threading one
I compiled Apache 1.3, with some patching, mod_perl 1.3, and then began the grind of fixing the CPAN bundle
A lot of CPAN was already dying to atrophy by that time

CEO of Fish Inc. (Today at 1:25 PM)

So glad to know I’m not alone https://github.com/bestpractical/rt

NCommander (Today at 1:25 PM)

bugzilla is another old guard one
... mod_perl too, oof

BlackCoffeeDrinker (Today at 1:26 PM)

first job was rt + bugzilla + cvs

NCommander (Today at 1:26 PM)

Although not as bad as Slash

CEO of Email, Inc. (Today at 1:26 PM)

Wait, is Soylent still apache 1.x?

NCommander (Today at 1:26 PM)

no
that was the itch I couldn't let stand
Like
I said at the bginning "we're going to do that"
and that was the last major thing I did in that code base

CEO of Email, Inc. (Today at 1:27 PM)

Well, 2014. 1.3 would have been fucking ancient

NCommander (Today at 1:27 PM)

Yeah, I'll get back to that
By and large, we decided the risk was "acceptable" since we ended up putting the web frontends behind an nginx SSL terminator
oh god, I forgot about that
Slashdot used to make SSL a paid feature

BlackCoffeeDrinker (Today at 1:27 PM)

yes!

NCommander (Today at 1:28 PM)

We wanted to go HTTPS by default, the whole thing was a fucking passion project; it was going to be perfect
Let me find the articles
Like

BlackCoffeeDrinker (Today at 1:28 PM)

(before you say WHY... https used to be slow back then)

NCommander (Today at 1:29 PM)

I wrote about this

BlackCoffeeDrinker (Today at 1:29 PM)

(but also, /. didn't need https)

NCommander (Today at 1:29 PM)

It was considered to be high cost for CPU

BlackCoffeeDrinker (Today at 1:29 PM)

I remember we used to host the minimum amount over HTTPS

CEO of Email, Inc. (Today at 1:29 PM)

Understandable in a way, encryption is expensive
This was before knowledge of the NSA dragnets were public, and also, SSL was seen as relatively pointless by and large; you could still get away with a self signed certificate on the public web
It was really the bandwidth more than anything
Let me find these articles

NCommander (Today at 1:31 PM)

https://soylentnews.org/search.pl?op=stories&author=2
Everything I wrote on SN
Oh fucking hell I forgot about a lot of this

NCommander (Today at 1:31 PM)

https://soylentnews.org/article.pl?sid=14/02/16/2220240 - so it was a major meme on Slashdot how the antique the thing was
Like, we were going to one up old Slashdot so hard

BlackCoffeeDrinker (Today at 1:32 PM)

https://cdn.discordapp.com/attachments/1014650516854296697/1039970670257377290/image.png
lol

NCommander (Today at 1:32 PM)

That was actually a Mission Accomplished moment
Cause well
... UTF-8 has a lot of edge cases
When you need to protect against spam
I think we stlil filtered right to left /left to right markers
But I remember my personal driving energy was very much "/. didn't have it, we're doing IPv6"
@N's Life
(talking about how Internet history happened)
Anyway, the "lead" of the project was someone with the handle of Barbassas?
Fucking weird guy, like, he would quote machovili, and absolute control freak

emotional support mom friend (Today at 1:34 PM)

Ew

NCommander (Today at 1:35 PM)

Basically threatened to tank the project through mismanagement
I forced him out
I felt like a fucking ass, but I did most of the tech work, I had gotten the site running in the cloud

NCommander (Today at 1:35 PM)

We didn't have a name for it then, itwas litterly li69-342
or something like that
https://soylentnews.org/article.pl?sid=14/04/09/1925245 - oh god, the Slashdot port scanner
SN had code in the web frontend that it would actually portscan connecting hosts for adding to an internal block list

emotional support mom friend (Today at 1:36 PM)

I'm sorry, the what —why

NCommander (Today at 1:36 PM)

and yes, I did take advantage of the Unicode

emotional support mom friend (Today at 1:36 PM)

Of course you did

NCommander (Today at 1:36 PM)

CmdrTaco actually commented on it, it was an anti-spam measure

emotional support mom friend (Today at 1:37 PM)

Ah

NCommander (Today at 1:37 PM)

It made the top of hackernews
... like the first time I was on hackernews ...
... I didn't even register the signifance of that at the time
but this was a codebase
https://soylentnews.org/article.pl?sid=14/03/06/0728230 - I actually wrote up about John's departure
Like we were all on IRC at the time
John had us set up our own IRCd; I would have perferred to stay on Freenode
Slack was a thing at that point, but electron apps were really crummy then

emotional support mom friend (Today at 1:38 PM)

And it thought that was a download

NCommander (Today at 1:39 PM)

Look, some of us predate pretty URLs

emotional support mom friend (Today at 1:39 PM)

Gbargbsfhngdjgcn.

NCommander (Today at 1:39 PM)

I still feel kinda bad about it, but basically, the site hadn't an actual name at that point
We had promised to do a naming contest, there was no leadership
I was paying for it literially out of pocket on Linode
On my personal account

BlackCoffeeDrinker (Today at 1:40 PM)

$$$ much

NCommander (Today at 1:40 PM)

I was still at Canonical at the time I think, but I was right at the end
Yeah, it was pricy
John had actually blackmailed us
And sold the soylentnews.org domain without giving it to staff
Matt Angel bought it for 3k
https://soylentnews.org/article.pl?sid=14/03/10/1129232/
Right, we forced him out, and then he sold the domain
Well, I
fucking hell this is a story
Anyway, Matt basically was our venture captilist, and I was the CTO
And I basically said "we're going to incorporate this, and we're going to do it right"
and we did
Fitting, that we got our incorporation papers back on July 4th
https://soylentnews.org/article.pl?sid=14/07/04/2326238
Like, it's surprisingly hard to know how to make a corporation that has no physical assets
Like, its the definition of a .com company
https://soylentnews.org/article.pl?sid=14/07/16/0253256 - rereading this is a trip
Past N did a good job
... wow, I just proved that comments really do help the next person in the future
which uh ... was me ...
I think someone tallied it up? I had written like 100k words in the first two years. It was an absolute meme that the editors would fear whenever NCommander opened the editing console
and it was fast like, we had a private #chillax channel, and I say that "I'm going to write an article" and 3k words later would appear in 20 minutes

emotional support mom friend (Today at 1:47 PM)

And well, that checks out

NCommander (Today at 1:47 PM)

I should actually see if the quotes database is still up, I'm about 40% of #staff
But Matt and I got it incorporated; and there was a bunch of us out in the northeast so we had a major meet and greet day with a BBQ
and then I brought the party to everyone
https://soylentnews.org/article.pl?sid=14/06/17/0059210 this was one of the big things, like I had drafted up subscriptions, and then the pushback was really bad
Essentially, the original plan was to basically make something akin to SDF
All the editors had legit shell accounts, there was people.soylentnews.org
that actually wasn't an intentional wordplay
Debian has people.debian.org which is used to host personal projects on their namespace; Canonical had people.canonical.com
Looks like they revoked my SSH key; which is fine
Haven't been involved a very long time

sirocyl (Today at 1:51 PM)

oh my god

NCommander (Today at 1:51 PM)

like I didn't even notice it until jsut now
... right
Let ie be known that I can infact do it to myself
https://soylentnews.org/article.pl?sid=14/05/05/0541206
Like, if I was going to make a remake of the original Slashdot, I was going to make it a pinnacle to the gods
The li694-22 Domain
I've mentioned this on comments, and its on the wiki as well, but we use an internal gTLD for referencing nodes throughout the backend. Every node can access each other at hostname.li694-22. The name itself is a reference to the original private URL which we used for bringing up Slashcode way back before SN was decided as our temporary name. We have full forward and reverse resolution available, and only publish AAAA records for normal services. Oh yeah, about that ...

sirocyl (Today at 1:53 PM)

wait. shelter island?

NCommander (Today at 1:53 PM)

?
Linode
... wow
Is that actually the shelter island area code
Anyway, after incorporation, I had fairly large plans for Soylent, but that's when health things started to get worse
https://soylentnews.org/article.pl?sid=14/05/12/0335243
I had wanted to be able to do actual journalism instead of just a news aggitator

sirocyl (Today at 1:55 PM)

Image
wait, 11694 my b

emotional support mom friend (Today at 1:55 PM)

headpats

NCommander (Today at 1:55 PM)

Someone needs to remember to run /log when I finish
so the bot grabs it

sirocyl (Today at 1:56 PM)

Image
Rockaway Park

NCommander (Today at 1:56 PM)

Anyway, SN didn't quite pan out the way I had hoped
Like, I had to justify to the Internet why we were doing things, there was major concerns about freedom of speech
This was in 2014, the Snowden leaks had just happened

sirocyl (Today at 1:56 PM)

mmhm

NCommander (Today at 1:57 PM)

https://soylentnews.org/article.pl?sid=14/05/12/0335243
Wrong link
Like we ran our own Tor exit node: https://soylentnews.org/article.pl?sid=15/05/26/062240
It got a surprising amount of use
https://soylentnews.org/article.pl?sid=15/04/01/0212256 - the eBBQ
This was a milestone event. This was our first year up
Like, this was a celebration
I hope to play as a 24-hour event, from 0:00 to 23:59 EST, though that might change depending on how I'm feeling. I plan to setup a Skype session so members of the staff can join in and perhaps field a question or two. If anyone wants to live update for me (watch the stream and keep notes on what I've done) or something similar, drop me a Private Message on either the SoylentNews IRC channel or on Freenode (I'll be in #nethack while I'm streaming).
This was in the early days of Lets plays. Twitch was still pretty small ... I don't think I was at Beam yet

BlackCoffeeDrinker (Today at 1:59 PM)

justin.tv you mean

NCommander (Today at 2:00 PM)

No, it was twitch at this point
I say so as much in the post
This must have been right after I left Canonical, but before I got hired at MCProHosting
Or before they moved me over
There was like a 1-2 month period where I did actual sysadmin work
Note to streamers: For those watching via Twitch, there is a 20-30 stream delay, so if I don't immediately respond, assume that's the reason.
wow
I don't know if that was foreshadowing or not
... I might have been at Mixer at that point?

BlackCoffeeDrinker (Today at 2:01 PM)

20 to 30 !?!

NCommander (Today at 2:01 PM)

Or it was a sure thing

NCommander (Today at 2:01 PM)

That was the average

BlackCoffeeDrinker (Today at 2:01 PM)

I never realize it was that bad

NCommander (Today at 2:01 PM)

It could go minutes long unoptimized
Packet delay is cummative over the life of the stream

BlackCoffeeDrinker (Today at 2:02 PM)

I rememeber that long stream had A/V desync

NCommander (Today at 2:02 PM)

Yeah I think I was already thinking about latency at this point
What got me hired at MCProHosting was a discussion with Matt the CEO
Who was on my hiring call
... I should have questioned that at the time ...
and Matt had asked me questions about it; I had listened low latency experience on my resume
It was in terms of system processing, not networking, but "eh, close enough?"

BlackCoffeeDrinker (Today at 2:04 PM)

HAHAHAHHAHA

NCommander (Today at 2:04 PM)

I mean, I didn't know how different they were at the time
I understood things like packet delay due to TCP/IP
But I never really thought about it beyond that.
I should give some context here
In system processing, latency is generally in reference to what is known as realtime processing
Basically, it means you need to do X amount of work in Y amount of time
Most computing is not realtime, but its fast enough for humans not to notice
i.e., keyboard entry is not real time
The big SoB being audio

BlackCoffeeDrinker (Today at 2:06 PM)

DMA Audio was a big deal

NCommander (Today at 2:06 PM)

Video you can get away with more
(I think this is worth talking about, even though its off topic)

BlackCoffeeDrinker (Today at 2:07 PM)

Video was so unobtanium that a different approach was needed

NCommander (Today at 2:07 PM)

Well, by and large, it was geared toward animation, you had Smacker, and then compositing
Kodak used to charge a very pretty penny to make high quality analogue coversions
fuck, I don't think I ever brought up Castle Infinity
I haven't even thought about them in ... has to be decades
Uh, that was the period of my life when you can literially say I had the job title "Architect of Infinity"

BlackCoffeeDrinker (Today at 2:08 PM)

the MMO ?

NCommander (Today at 2:08 PM)

Yeah
I didn't play it back in the Starwave days
But the servers had gotten tossed out
Literially tossed out
One of the diehard fans, Kevin Quilt, dumpster dived for them
and put the game online
They had full source code, and gotten a legal agreement out of Starwave to run it
(it might have been Go? They got bought by Disney)
The game was made by Starwave, then owned by GO, and then Disney
It was a 9x era MMOG, and everything that implies
The original thing ran on NT 3.51, and the client on 9x, and it abused things like IPC and COM
and it did *cute coding

BlackCoffeeDrinker (Today at 2:10 PM)

😭

NCommander (Today at 2:11 PM)

case 'ABCD': /* this compiles, because a four byte char can be cast to an int, and VC++6 will not complaint*/
It had this horrid heap manager from a third party company, it used RAD game tools, and a few other bits

BlackCoffeeDrinker (Today at 2:11 PM)

HAHAHAHA AHAHAHAHAH AHAHAHHAHA YES !! YES!!

NCommander (Today at 2:12 PM)

The level editor was a MFC application
oh god, SP4k

BlackCoffeeDrinker (Today at 2:12 PM)

God VC++6 was amazingly bad

NCommander (Today at 2:12 PM)

that ... that thing was bad, it was a C++ codebase from hell
Because the code started life on VC++4, been poorly migrated to VC++6, and then I kicked it screaming to VC++2005

SED (Today at 2:12 PM)

Like Hammer:blep:

BlackCoffeeDrinker (Today at 2:12 PM)

VC++2005 didn't compile what VC++6 did...
how did they migrate that ?

NCommander (Today at 2:13 PM)

How did I migrate it

BlackCoffeeDrinker (Today at 2:13 PM)

Poorly ?
oh

NCommander (Today at 2:13 PM)

well, it still takes case syntax
No, it was still on VC++6 when I got there
I was in high school at the time
Actually, remind me to come back to castle infinity @N's Life, let me finish SoylentNews

BlackCoffeeDrinker (Today at 2:13 PM)

I did my final school project on VC++6

NCommander (Today at 2:14 PM)

Because I want to recount my last bit

emotional support mom friend (Today at 2:14 PM)

So, that first, then infinity

NCommander (Today at 2:14 PM)

This was the last major coding exercise
https://soylentnews.org/article.pl?sid=15/03/13/044211
We had called our branch fo Slash, slashcode 15.03
(you can see the Ubuntu influence)
We didn't do timed releases, I just gave them version numbers to tag
The plan was to do a final Apache 1.3 release
I had gone into what can be described as a manic mood
This was about a year after we launched
And I was going to get us off Apache 1.3, and onto 2.0
(2.2 didn't have all the CPAN modules we needed)
This is not soething you do lightly
Like
this is a fucking effort
mod_perl was wrapped around rehash's codebase like a cancer
And it used a global state table and an API that didn't exist in 2.0
Most of the codebase was clean, the slashd daemon ran without the mod_perl components, but the entire frontend was dependent on it
I had ripped a lot of the static code generators out; it was 2015, we could afford the processing port
It's a thing of beauty when you delete a lot of dead code
Like, I think I purged a good 40k LoC from that beast
and we had a commitment not to use frontend javascript
It was a testimonent to the old Internet
unless its changed, privacy badger was still 0
Back at that time, I actually considered leaving NCommander as a handle to whomever replaced me
Ala dread pirate roberts from the movie, the Silk Road hadn't happened yet
We had a development box, lithium
All the machines were named after elements, starting at hydrogen, and going up
Canonical actually used the same naming scheme
The cdimage build master was called antimony, which was appropiate
To even start porting the monster, I had to sort out the mess of CPAN dependencies
and I still had to have a self-contained Apache build system
https://github.com/SoylentNews/rehash/blob/master/Makefile#L341 - I wrote a massive makefile to do it
Including patching a few CPAN bits to work with mod_perl 2
Well, the makefile was already there
but I really made it there
This was going to be a reproducible build damn it
I also think we migrated to MySQL cluster at the same time
Like
holy fuck
what was I thinking
A little known feature of the codebase is that its built on a plugin architecture which makes expansion easier and allows for multi-hosting. That is to say, we can have multiple sites out of a single installation; i.e., soylentnews.jp and soylentnews.org can both point to the same installation, but show a different mainpage. While we're still somewhat far off from supporting this kind of user-generated content, this upgrade sets the framework for allowing it to happen. The mainpage of SN will remain as it is, but allow the community to form and discuss any topic they wish, all handled under the same familiar interface you use now.
Actually, this is a bit important, there were other slashdot forks, there was slashdot.jp, and barrapuento.com, both on the original Slash code, I think there was a few others, but those were the two I remmber trying to reach
https://soylentnews.org/article.pl?sid=15/05/19/0740226 - we even discucssed i18n/l10n efforts
https://soylentnews.org/meta/article.pl?sid=15/06/01/0657256 - fucking hell
I actually did do both at the same time
Rewrote large amounts of the site to migrate to Apache 2, mod_perl 2, and perl 5.20.
This was a massive undertaking. I did a large part of the initial work, but paulej72, and TheMightyBuzzard did lots to help fix a lot of the lingering issues. Major props to Bytram for catching many of the bugs pre-release
Nexus Support (finally).
Currently we have the Meta and Breaking News nexii, with the possibility of adding more in the future, such as a Freshmeat replacement.
Nexii can be filtered in the user control panel under the Homepage tab. At the moment, this functionality is hosed due to unexpected breakage, but should be functional within the next 24-48 hours
IPv6 support - the AAAA record is live as we speak
Themes can be attached to a nexus independent of the "primary theme" setting; user choice overrides this
Squashed More UTF-8 Bugs
Migration to MySQL Cluster (more on this below)
Rewrote site search engine to use sphinx search and (in general) be more useful
Long comments properly collaspe now
Support for SSL by default (not live yet)
Fault tolerance; the site no longer explodes into confetti if a database or webfrontend goes down unexpectedly; allows for much easier system maintenance as we can offline things without manual migration of services
Improved editor functionality, including per-article note block
Lots of small fixes everywhere, due to the extended development cycle
Like, I did IPV6, mod_perl 2, and database clustering on a single upgrade cycle
and I mean
it worked
@BlackCoffeeDrinker what ... how did I do this?

emotional support mom friend (Today at 2:26 PM)

Not something you'd recommend but it did work apparently

NCommander (Today at 2:26 PM)

you should realize the sheer absurdity of that changelog
That's the fucking marketing statement, not the actual engineering changelog

emotional support mom friend (Today at 2:27 PM)

O.o

NCommander (Today at 2:27 PM)

In our year and a half of dealing with slashcode, we had also identified several pain points; for example, if the database went down even for a second, the site would lockup, and httpd would hang to the point that it was necessary to kill -9 the process. Although slashcode has support for the native master-slave replication built into MySQL, it had no support for failover. Furthermore, MySQL's native replication is extremely lacking in the area of reliability. Until very recently, there was no support for dynamically changing the master database in case of failure, and the manual process is exceedingly slow and error prone. While MySQL 5.6 has improved the situation with global transactions IDs (GTID), it still required code support in the application to handle failover, and a specific monitoring daemon to manage the process, in effect creating a new single point of failure. It also continues to lack any functionality heal or otherwise recover from replication failures. In my research, I found that there was simply bad and worse options with vanilla MySQL in handling replication and failover. As such, I started looking seriously into MySQL Cluster, which adds multi-master replication to MySQL at the cost of some backwards compatibility.
OH GOD I FORGOT ABOUT THIS
Right, so because the code was so crankly, if the MySQL daemon ever went down
Everything else would lock up
And I mean, we would have to killall -9 httpd
and this happened fairly often because Linode used to restart boxes regularly for downtime

BlackCoffeeDrinker (Today at 2:28 PM)

Indeed how
are you like 5 ppl in one ?

NCommander (Today at 2:28 PM)

https://soylentnews.org/meta/article.pl?sid=16/08/25/073218 - I'm a fucking overachiever

BlackCoffeeDrinker (Today at 2:29 PM)

Those weren't established standards

emotional support mom friend (Today at 2:29 PM)

Did…that got fixed, right?

NCommander (Today at 2:29 PM)

Well
I fixed it by making the database not go down
ever

emotional support mom friend (Today at 2:29 PM)

I mean that works

NCommander (Today at 2:29 PM)

Like, the fucking site had to have a 4 nines uptime

BlackCoffeeDrinker (Today at 2:29 PM)

Very nice

NCommander (Today at 2:29 PM)

And for a legacy mod_perl site
in an era before containers or dockerization
Kubernetes hadn't been made yet
Docker still was in its infancy

BlackCoffeeDrinker (Today at 2:30 PM)

we did have red/blue where we'd ship a server with the next version to replace the server that was in prod

NCommander (Today at 2:30 PM)

Like, I had to rewrite the etnire site search engine to do that migration
The original search engine used MySQL FULLTEXT tables
I rewrote it to run sphinx
You'd probably use Elastasearch these days, but ES is the cloud sucks

BlackCoffeeDrinker (Today at 2:31 PM)

Word tables

NCommander (Today at 2:31 PM)

The primary cause of the slowdown was due to the fact that rehash did large JOIN operations on text columns in MySQL. This is bad practice in general due to performance reasons, but it causes a drastic slowdown with MySQL cluster, which prevents the query optimizer from doing what's known as a "pushdown", and allowing the query to execute on the NDB nodes. This caused article load to be O(n*m), where n was the number of articles in the database and m was the number of articles with the neverdisplay attribute set. The revised queries now load at O(1). Instead it had to do multiple pulls from the database and assemble the query data on the frontend, a process that took 4-5 seconds per problematic query. The problem was compounded that there are limited number of httpd daemons at any given moment, and any database pull that hit a problematic query (which were in index.pl and article.pl) would cause resource exhaustion.
Like
THAT WAS A CRANKLY MIGRATION
June 02 2015
... WTF, I WAS DOING FTL AT THE SAME TIME

CEO of Fish Inc. (Today at 2:33 PM)

HOW
how did you have the time

NCommander (Today at 2:33 PM)

https://github.com/microsoft/ftl-sdk/commit/09fc8aadc86a7fe0d99c9a997b9a7198333bc013
no, I didn't do it yet

emotional support mom friend (Today at 2:33 PM)

What weren't you doing at the time?

NCommander (Today at 2:33 PM)

This was right in the Canonical/FTL gap
This was the last passion project, I wanted SN to succeed and to be able to live on this; the job at MCProHosting was the easy paycheck
Yeah
and it was the thing I promised I do
The last thing I said to the community that we were going to modernize this codebase

emotional support mom friend (Today at 2:34 PM)

And well

NCommander (Today at 2:36 PM)

Yeah
I honestly remember being utterly disappointed at the time that it didn't go smoothly
The site was migrated over a 2 window period, and then we had about two days of intense debugging
and about another month of smacking the gremlins out
It was like 200k loc when I got it?
I think I cut about 75k loc out of it
Just a lot of dead code
But that was a literial trial by fire
What I didn't realize at the time was hydrogen's earlier failure had not been resolved as I thought, and it gave truly abysmal performance, with 10+ second page loads. As soon as this was realized, I quickly pressed fluorine, our 'normal' frontend server into service, and site performance went from horrific to bad. A review of the logs showed that some of the internal caches used by rehash were throwing errors; this wasn't an issue we had seen on dev, and such was causing excessive amounts of traffic to go to the database, and causing Apache to hang as the system tries to keep up with the load. Two hours of debugging have yet to reveal the root cause of the failure, so I've taken a break to write this up before digging into it again
OH I REMEMEBR NOW
Ok, so the problem was one of the two database nodes was in a failed state
I thought it had been resolved, so I had ended up restoring the DB back into a flakely node which then failed hard
So I was trying to get a cluster running with only half its brain
sorry, frontend
flourine was the frontend
hydrogen and flourine
We had been in a 1x2 configuration, one web frontend, two database nodes
I had put hydrogen back into the service, but due to very very heavy caching with varnish and memcached, we weren't seeing the lag
rehash had modified a lot of the rendering paths so the site would be more dynamic
the cost of processing a request is cheap if you never hit the disk
... I think that's what inspired FTL

BlackCoffeeDrinker (Today at 2:41 PM)

^^

NCommander (Today at 2:41 PM)

... I actually understood the rules of the game even at that point, I wanted to prove you could do it

BlackCoffeeDrinker (Today at 2:41 PM)

abuse cache, never the disk

NCommander (Today at 2:41 PM)

when you can treat the network as reliable

BlackCoffeeDrinker (Today at 2:41 PM)

the Database should be Write only

NCommander (Today at 2:42 PM)

Because each request would enter nginx load balancer, get passed back to an application server, and our dataset was small, only a few gigs
put the whole thing in memory
And I mean the entire blasted database
That's how mysql cluster works

BlackCoffeeDrinker (Today at 2:42 PM)

one should only read the DB when the server boots and then only write changes to it - never hit the db

NCommander (Today at 2:42 PM)

Yeah, that's how memcached worked

BlackCoffeeDrinker (Today at 2:42 PM)

yup

NCommander (Today at 2:43 PM)

And to prevent a bottleneck, each web frontend could connect to any master, because we had no serialization concerns

BlackCoffeeDrinker (Today at 2:43 PM)

Designed enough system to have that drilled in my head

NCommander (Today at 2:43 PM)

Well, we needed read isolation, but any database has that

BlackCoffeeDrinker (Today at 2:43 PM)

mysql didn't always have it

NCommander (Today at 2:43 PM)

if you understand the rules of the game, you can break them
Like, SN gets. apretty good amount of traffic
oh fuck, alexa is gone
but we were up there
https://soylentnews.org/hof.pl - like, you can see it
800+ comments, on a article from 2022 https://soylentnews.org/meta/article.pl?sid=22/07/09/0547216 (incidently, addressing one of the main issues of why I essentially faded out)
and it ran on five relatively small Linodes,
Whole thing used centralized kerberos and hesiod database
We were on LDAP
https://soylentnews.org/meta/article.pl?sid=15/07/13/0255214
https://wiki.soylentnews.org/wiki/The_Slashcott - oh the wiki has useful info
The Slashcott
Here's the original Slashcott
I mean
People were fucking pissed about the state of slashdot
https://arstechnica.com/information-technology/2014/02/slashdots-new-interface-could-kill-what-keeps-slashdot-relevant/ - THANK YOU ARS
THERE IT IS
https://cdn.discordapp.com/attachments/1014650516854296697/1039989964831719514/unknown.png
BETA
^- @Wiki Volunteer @N's Life this is what we revoked against on Slashdot. the Beta interface. Make sure this gets saved

BlackCoffeeDrinker (Today at 2:49 PM)

OH GOD I REMEMBER THAT

NCommander (Today at 2:49 PM)

shit, I almost think we should have made this a seperate channel
Damn it
fuck it
We don't get enough discussion here, and we'll pin the start point
and log it with the bot
https://slashdot.org/submission/3326505 - YES
Trying to figure out time zones is starting to make my brain hurt, but apparently in a bit over 6 hours somewhere on the other side of globe from Greenwich the Week of Slashcott will begin, as Midnight arrives for anyone in that zone, and then it travels west, where I will encounter it in about 23 h...
THIS IS WHERE IT ALL STARTED
I mean, look at the old UIDs that came out of the woodwork
AKDT!
https://cdn.discordapp.com/attachments/1014650516854296697/1039990736680128572/image.png

NCommander (Today at 2:55 PM)

https://wiki.soylentnews.org/wiki/NewName - this is how the name came to be
and we did a poll by email, automated, with GPG keys to vote on it
like
... hotdam
https://wiki.soylentnews.org/wiki/Confessions_of_an_Ex-Slashdot_Beta_User there were people who were really really fucking pissed about beta

sirocyl (Today at 2:56 PM)

wow

NCommander (Today at 2:57 PM)

https://wiki.soylentnews.org/wiki/Archive - this was the prelaunch archive
The wiki was the first thing to actually get online
Because no one knew how we were going to replace Slashdot
it wasn't clear if running slashcode was even practical; I remember the general sentiment being it wasn't possible
I wasn't the only one who did it, robinld got it working on RHEL ... I guess it would have been 6?
I wiped the database once in pre-launch stuff, like it had been up privately for a few days on golive
and there were a lot of notes, I regret that in hindsight
I think I did it because no one really expected a bunch of development notes to be published publicly
I very much set the standard for transparency
https://soylentnews.org/meta/article.pl?sid=17/04/20/1055218 - not all of them were good decisions
I think we only migrated two machines
Getting moderation to work was hard
Like really hard https://soylentnews.org/article.pl?sid=14/02/13/0412219
It basically assumed there was tens of thousands active users
@BlackCoffeeDrinker https://soylentnews.org/~NCommander/journal/1096 - this is incredible
Like
I can feel the black magic
https://soylentnews.org/~NCommander/journal/1032
and just say I'm a certifiable madman.
.... AHHHHHHHHHHH
I fucked pwned myself across space and time
I actually wrote a postmodern https://soylentnews.org/meta/article.pl?sid=15/06/18/0045246
... ok then ...
um
... you know, I'm going to eat something
Folks, ask me questions
because uh ...
I don't know what I just read, and I wrote it
Sourdough and spam is amazing, change my mind
Maybe should have had some godha to go w/
damn now I raelly want crackers with gohda
I think SoylentNews, and FTL (which immedately followed) was basically an end result of being so fed up with Canonical that I needed to do something functional
to prove that I could
I mean, there was nothing saying I had to do this, I wasn't paid
I mean, we brought in about 5k per year, which for a site that runs no adversiting
is obscene
like its litterally a text aggreator

NCommander (Today at 3:18 PM)

https://soylentnews.org/communityreviews/article.pl?sid=18/10/25/0850204
The other is what I'm calling tentatively calling Root Zone in a Box, a series of shell scripts, instructions and docker containers to automatically recreate a simulation of the DNS root zone, and other core internet functionality to allow testing of potential changes to DNS, as well as help study and debug various issues related to Internationalized Domain Names.