SoylentNews History Log

From DisNCord Community Wiki
Revision as of 21:11, 9 November 2022 by BlackCoffeeDrinker (talk | contribs) (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...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

@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

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

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

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

https://soylentnews.org/article.pl?sid=14/04/09/1925245 - 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

https://soylentnews.org/article.pl?sid=14/03/06/0728230 - 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

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

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

https://soylentnews.org/article.pl?sid=14/07/16/0253256 - 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

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

#define subscriptions (or,  "How we want to work for you!") - Soyle...

#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

https://soylentnews.org/article.pl?sid=14/05/05/0541206

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

https://soylentnews.org/article.pl?sid=14/05/12/0335243

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

https://soylentnews.org/article.pl?sid=14/05/12/0335243

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: https://soylentnews.org/article.pl?sid=15/05/26/062240

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

https://soylentnews.org/article.pl?sid=15/04/01/0212256 - 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

https://soylentnews.org/article.pl?sid=15/03/13/044211

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

https://github.com/SoylentNews/rehash/blob/master/Makefile#L341 - 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

https://soylentnews.org/article.pl?sid=15/05/19/0740226 - 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.

https://soylentnews.org/meta/article.pl?sid=15/06/01/0657256 - 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

https://soylentnews.org/meta/article.pl?sid=16/08/25/073218 - 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

https://github.com/microsoft/ftl-sdk/commit/09fc8aadc86a7fe0d99c9a997b9a7198333bc013

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

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)

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

https://soylentnews.org/meta/article.pl?sid=15/07/13/0255214

Review: Hesiod Name Services System - SoylentNews

Review: Hesiod Name Services System -- article related to Reviews and Meta.

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

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

https://slashdot.org/submission/3326505 - 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

https://wiki.soylentnews.org/wiki/NewName - 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

https://wiki.soylentnews.org/wiki/Confessions_of_an_Ex-Slashdot_Beta_User 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

https://wiki.soylentnews.org/wiki/Archive - 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

https://soylentnews.org/meta/article.pl?sid=17/04/20/1055218 - 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 https://soylentnews.org/article.pl?sid=14/02/13/0412219

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 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

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

https://soylentnews.org/communityreviews/article.pl?sid=18/10/25/0850204

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.