Stories
Slash Boxes
Comments

SoylentNews is people

Log In

Log In

Create Account  |  Retrieve Password


The Nuclear Letter

Posted by NCommander on Friday March 07 2014, @01:12AM (#147)
4 Comments
Soylent
[ Editor's Note: This is an email transcript between myself, John, and our head of sys at that time. Aside from redacting emails, it left unedited. While I do not sound the most professional in this email, this was after days of frustration and I finally reached the breaking point and lost my temper. To my knowledge, everything in this email is factual, and reflects events as I perceived them at the time. It should be read in context with the #staff transcript, John's resignation, and my summary of events ]

Replies inline.

On Wed, Feb 26, 2014 at 4:14 PM, Rajstennaj Barrabas
<REDACTED> wrote:
>
>         I'm told that my decisions are not communicated clearly, and that as a
> consequence I am perceived as a bad leader for not making any.
>
>         Zak's choice of OS stands. He has technical reasons, he's got community
> consensus, and it's his group so it's his decision to make.
>

Where is this consensus? What are the technical reasons. Where was the
discussion. Where *are* the logs? Where is an IRC discussion, email
thread, or anything. I've been pinging zford until I brought this to
your attention, and I've been on IRC constantly for the last week on
both Freenode and here.

I said I would accept the decision *if* there was consensus, or if I
was overruled by vote. However, by definition, there can not be a
consensus if there has been no discussion. The *only* reason I'm aware
of the centos decision was because I got automated emails from Linode,
not because anyone said anything.

What really irritates the crap out of me right now is you have gone on
and on how we are going to be a consensus made by the community. The
community (as in the greater community involving staff and readers as
a whole) wouldn't have known about this, and to prevent airing our
dirty laundry, I haven't said anything, but if you want to see the
*real* community hands at work, I'll air this from the fucking
montanas.

The fact that you can write this is an email Jon really is fucking
hypocritical. As I've said before, my problem here is how you've gone
on and on about how we will make decisions. The reason the fucking
site got launched is that I sat down and made it happen, decided a
plan, picked the hosts, etc. What major decisions have we successfully
made from them? We're in damn bubbles flubbing around with our heads
so far up our asses its not even funny because we can't communicate
with the way things are; we don't even have a proper mailing list for
all staff.

I'm going to make this clear, this situation *has* to change, or we
will die because we have our collective heads so far up our ass we
will never see daylight.

>         When I said that I don't micromanage the overlords, I mean that I won't
> override their decisions, I will instead remove them from their position. This
> situation doesn't come close to that level of action.
>

What happens when two teams deadlock? Who mediates the discussion?
Ideally, dev and sys should be using the same OS. One might argue that
decision of what we build on is dev's and sys's role is to build the
production version of was dev comes up with. This is a decision that
impacts multiple teams, and its been made in a void. I can easily get
a poll from current members of dev on their opinion. As far as I can
tell, only two people have talked about this, out of four members of
sys, and aside from myself, no one in dev.

>         If Michael wants Zak to revisit this decision, he needs to show that either a)
> Zak is going against community consent, or b) present a list of reasons why
> choosing Ubuntu is more valuable than CentOS, and convince Zak and his
> community that his choice is better.
>

Jon, this is quite possibly the biggest load of bull I've read in
awhile, and we discussed it on phone on exactly these two points. I'm
giving Zak the benefit of the doubt here, and assuming that my words
have not been relayed, or my desire to discuss this has not been made
clear.

a. By definition, a decision that I find out about due to Linode
sending AUTOMATED emails due to the issues w/ cloud hosted CentOS can
not be considered community consent. I have asked about this, received
two short and terse emails about it, and that was that. Jon: I made
ths point to you on the phone, and I'm am utterly shocked that you are
considering this consensus. Maybe I'm sounding like a broken record,
but this isn't a management system, its a barely organized
clusterfuck.

You said that a decision must be made by consensus. I've hilighted and
illustrated what I believe a consensus requires, and the fact of the
matter is that by writing this email, and *loudly* making the point.

b. Part of the previous emails I have made have hilighted my concerns
with CentOS, and I have considerable technical reasons why I feel
CentOS is not a great fit here. Furthermore, at this point, I think
its not unreasonable to ask what technical or political benefits
CentOS brings. So far, the *only* two reasons I've heard for CentOS is
its what Zak knows, and that 389 Directory Service is suppodsely only
available for Fedora and CentOS. As I would have pointed out in a
decision of any time, that package is available supported in Ubuntu
12.04 (apt-get install 389)

We've had considerable issues with Linode due to the use of CentOS;
its clearly not popular for use with VPS or cloud providers as the
image itself has had issues due to /dev/shm, and is now having issues
being backed up. While these aren't problems specific to the use of
CentOS, I'm questioning the wisdom of not using something we know is
problem free.

I've not seen one person beside myself ask zford for a justification
on why a change is necessary. I was handed a PDF explaining the
technical aspects of how to build the final production cluster. What I
have seen is what essentially has been a declaration that this OS has
been changing. That document did not include anything relating to
operating system decision, and I had assumed based on earlier
discussions we'd be staying on Ubuntu 12.04. When that document that
posted to the wiki, a line was added about CentOS, which I never saw.

I would like to re-iterate on this point, as you currently have an
Ubuntu Core Developer *ON STAFF*, as well as access to Canonical
Corporate Support if we ever needed it. CentOS is a *community*
supported rebuild of RHEL, and can only fix bugs that Red Hat
Corperate fixes. For most other distros, if anyone comes up with a bug
fix, I can land it. Unless we're paying for RHEL corperate support, we
are in a worse position with CentOS than we are with any other distro.

>         It's important to have a working development process - we need to show the
> community that they can contribute, and to start improving the site. Therefore,
> we will not revisit the OS question for some time, perhaps as long as two
> weeks. When development changes flow smoothly from contributers to dev to
> production, we can consider making changes.
>
>         Michael has to come to grips with this.
>

That's fucking rich. You do realize I work in open source, with a LOT
of volunteers, and have to make a balancing act between corporate and
uncooperative, and I'm the one who has to "get a grip"?

I said that I would accept changing OS after a proper discussion has
been made, and a form where I can bring up the various issues I have
with CentOS. Please show me where any discussion on this was made on
an email I was either Cc-ed on, a chat in a public IRC channel which I
acknowledged it.

Incidently, this seems to be a good time to clarify the dev teams
operating system position. The dev team will be standardizing on
Ubuntu as our platform for the foreseable future, as we have already
gotten Slash working on it, it provides a good environment for
developers to work on (including basically all the DEs anyone could
want), and it is what the development VM, *and* development cluster
(which is clearly dev's domain) will be running.

The sys team is free to use whatever they like for systems within
their domain, but must understand that any support and help with Slash
will be limited as we're not personally using it. I'd be willing to
have a discussion on changing the operating system which clearly lists
specific technical problems with Ubuntu, reasons on why CentOS is a
superior system to work on for developers. Assuming the majority of
the community thinks its worthwhile to invest resources in changing
the environment over and recreating working settings, we can work out
a reasonable timefame to do so.

Until doing so, we'll be staying on what we've been using, known to
work, and easy to support.

(and if this sounds like soar grapes, let's make it clear that my hand
has been forced and yet I'm still willing to have the discussion. and
that's a fucking lot more than you've given me. However, until this
discussion happens, you can expect very little help from us as none of
us are using slash on CentOS, or know of what problems may lurk.)

>         Zak has to communicate better. This situation arose from Zak sending a PDF
> which omitted the wiki information. Zak is a manager, he has to describe and
> frame his decisions clearly and definitively to others. Zak also can't avoid
> communicating - dealing with people is part of his job, so he needs to make
> firm decisions without avoiding conversation.
>

Let's not distort facts here. The PDF was sent first, I provided some
feedback on SSL and IPv6, then I signed off on it both as a member of
sys (that I agree with the architecture), and as a member of dev (that
our development can support this layout), the PDF was copied to the
wiki, THEN the CentOS line was added. The only reason I found out
about the CentOS business is because Linode started generating emails,
and then I send an email to Zak asking him about it.

I brought this to both your and Mattie's attention that I was
concerned about communication. I discussed the matter in depth with
mattie, with a clear note that after today, this discussion needs to
be email only due to TZ differences. I was offline on Wednesday due to
Panama->NYC flying. Looking at my email and IRC backload, I've seen no
progress on discussing things.

>         Zak and Michael: Play nicely or I'll tie your tails together and hang you from
> the clothesline!
>

Jon: Look around you, and tell me this is a healthy setup for this site.

You're tone in this email makes it clear you have no idea what the
problems going on here, especially given the other email you sent
here. And this isn't a matter of sour grapes, this is you
fundamentally missing the point I tried to raise on Saturday. However,
as you've already cleared Zak's decision, it appears the sys team will
be using CentOS. Dev has not had a discussion if it will follow sys, I
have no desire to raise it with dev, but if the item is raised by
someone taking the time to write out a long email explaining why
CentOS is the best thing since sliced bread and our lives are better
for using it, I'll make sure its properly moderated, sent to all
active devs, and personally explain at length why I think its a bad
idea, and have the floor be open to others. If the general consensus
from the dev team is a strong advocation for, we can work out a
migration plan, and determine the best process to switching to CentOS,
having identified any possible problem points (like Linode itself)
well in advance.

>         Mat Peck (Mattie) is general manager, he handles the day-to-day operations of
> the site. There will be an announcement in my journal today. He will handle
> disputes and has full authority to adjudicate between overlords.
>

Why then are you involved in this discussion? If this is *really* the
case, Mattie should have been one to send an email like this.

>         Mattie is also the current head of dev, with Michael second in command, with
> the understanding that leadership will transition to Michael as fast as Michael
> can learn management skills. Mattie will defer to Michael on decisions of a
> technical nature, Michael will defer to Mattie on matters of management style.
>

I'm mostly willing to defer at this point because Mattie getting shit
done. Jon, you told me personally that during our bringup, I "pissed a
lot of people off", and "overruled you at times", and I agreed to have
Mattie as manager. Given your handling of this situation and our
recent management woes, I think its better to have pissed off people
and having someone who knows what they're doing running operations.

I'd like to know who specifically I pissed off, so I can go make
amends to them, and make it clear what's going on. I'm done playing
games because I'm beginning to question if these people existed. As
for the "overruled you at times", can you honestly say that if we were
running like this during launch week, do you think we will have gotten
out the door? To be frank, if I overruled you, its because I have the
experience to develop a project like this, and our inability to make
even simple decisions or discuss it.

>         In public, I will announce Michael as head of dev, but this is the nuanced
> real situation.
>

There's truth and then there's reality. While Mattie on paper may be
the head of dev, realistically, I don't think he's going to have much
success in this role. He'd be far more successful managing entire
project into one collective well oiled machine. Dev is mostly informal
with drive by contributions, and slight encourgement that I give
various people in channel. As such, I've gotten a steady patches and
repair work which has helped reduced my workload. Until we get someone
else willing to put significant effort and not drive by contributions,
the dev team exists more as a theoretical concept then an actual team.

Furthermore, there's a concept of "code talks", where if you don't do
something and just bring it up (or demand it), you will likely either
be ignored, or run into resistance. I can ask nicely and sometimes get
someone to do something because I've got respect in that position. I
suspect mattie will have significantly more trouble in this
department.

>         Mattie is a long-time professional manager with many years experience, and has
> successfully managed large and small groups. He's also ex-military and knows
> when to take charge and make decisions.
>

And who was working with me on this situation before you went and
wrote this email. I ended up taking today off from SoylentNews because
I was seething by time I was done with it. I do respect Mattie's
opinion, and ability to get shit done.

>         Based on my vision of SoylentNews being a vehicle for people to grow, and
> perhaps to grow into new areas, I've asked Mattie to train people as managers.
> We have many brilliant and highly technical people who simply have little
> experience managing people, and Mattie's job is to help them learn and grow.
> The first practical example of this is Mattie training Michael to run dev.
>
>         Mattie is a resource - use him.
>

I have been. However, by butting in here, I've had to draw my line in
the sand, and I talked to Mattie before sending this email. I'm
curious if you talked to him before sending yours.

I'm pretty sure I know the answer on that one already.

>         That is all. I have spoken Let it be said, let it be written.
>
>         R. Barrabas
>

Michael

> ==================================================
>
> It is much easier to get forgiveness than permission.
>
>

DRAFT: The Moderation Talk

Posted by NCommander on Tuesday March 04 2014, @04:14AM (#125)
17 Comments
Answers

NOTE: This is just a draft copy of my post, likely still incomplete. Once edited and reviewed, I'll post to the main index.

Ok, so first, I want to apologize that this is a few days late. Due to real life insanity (involving, but not limited to, 30 hours of flying, horrible jetlag, and seasickness), I wasn't able to get this discussion started when I promised, so please accept my deepest apologizes. Anyway, here's the moderation discussion, as promised. I've made it clear multiple times that the current algo is something of a temporary hack. I've been reading comments on my journal, and on the articles we've had discussing in-depth.

Before we begin, there are a couple of things I'd like to go into first before we go into rewriting the algorithm. A lot of people have suggested alternative moderation systems (i.e., something Reddit like, or a tag-based system) instead of trying to "fix" slash's system. While I'm not inherently object to replacing moderation wholesale, it would require someone to actually implement a new system, get it setup somewhere, let people review it, and then perhaps roll it out to the site. As the saying goes, talk is cheap. I'm personally not going to replace what I see as a "good enough" system without the community deciding that they want it, and that requires that said system exists to be evaluated. If someone is seriously interested in still perusing this, I invite them to drop by #dev, and discuss it 1:1.

*big exhale*

Right, now that we got that out of the way, I'd like to address what I've seen the biggest concerns towards moderation. I recommend that people read my writeup about the current system before diving in, as I will be referring that post considerably.

I've got some pretty graphs here that show how points are being spread through the system, and that, for the most part moderation is mostly working as adversed.

*FIXME, put graphs here*

Point expiration: Oh boy, people really have let me know about this one. I've written a fair bit about this, but to sum-up, modpoints with a short half-life *are* a good thing. On Soylent, we post upwards of 10-20 articles a day, and once an article is no longer in the "top 10" so to speak, the number of new comments essentially drops into single digits. With a smaller userbase, we need lots of mod points in circulation to make the system work, and even then, generally half to 3/4th of all modpoints expire out without being used.

*graph to points expiration table*

That's not to say that the current four hour period isn't short. My largest concern at the moment is that any large increases of mod point expiration has something of a cascading effect. At any given moment, we have a specific number of slots of people who can be moderators, and if someone doesn't bother to moderate at all, that slot is effectively taken until the points go "POOF". I'm tentatively willing to increase the duration to six hours, to relief some of this pressure, and then see how moderation spreads are affected. Any large scale increases in the expiration however means making more of the userbase eligible to moderate at a given time. I'm open to thoughts on this one.

How Mod Points Work Today

Posted by NCommander on Tuesday February 18 2014, @07:04AM (#36)
45 Comments
Code

So, given my last journal, a writeup on how they work today. For the most part, my original story on this topic is true, but I changed a fair bit since then and now, nor did I go much into the thought process in how it was divined.

In contrast to the original system, the current one wants to keep a specific number of moderation points always in circulation, with the concept that mod points are a constantly moving and fluid item. Moderation simply doesn't work if there isn't enough of the damn things, and having too many wasn't a problem at all (Overrated exists for a reason).

The original idea is we should dynamically generate our pool of modpoints based on our activity levels, so the original implementation of this script took the comment counts for the last 24 hours, with the basic notion that every comment should have the potential to be moderated at least once. This number was multiple by two, and provided our baseline moderation count. Since we were based our mod point count on a 24h window, mod points were set to expire every 24 hours instead of every 72. At this point, I hadn't realized the fundamental problem with the slashcode moderation system; my thoughts were "need lots of mod points", "this is incredibly complex, I can do better". That realization came as I was stripping the old one out of slash.

As part of this, I also changed the eligibility requirements for moderation. Instead of having a specific number of tokens, I wanted only users who were active to get mod points. The ability to retain drive by moderations by lurkers was something worth maintaining, and part of what I suspect makes up the bulk of Slashdot moderations.

I also wanted to avoid the problem of "moderator burnout", or users getting mod points too frequently, and just being turned off from moderation. I know that happened to me on slashdot, and others as well who ignored modpoints (or chose to become ineligible). As such, I wanted there to be a cooldown on how frequently someone can get modpoints.

That being said, I didn't want everyone and their mother being moderators all at once, so I decided that 30% of all active users (defined (at the time) as anyone active within the last 24 hours) who had neutral or better would be eligible for modpoints.

Version 1 was fairly simple. It basically took the comment count for the last 24 hours, multiple by 2, this is the minimum number of modpoints that exist at all times. Take all users who were active in the activity_period, take mod_points_to_issue/(elligable_moderators*.3), and hand out those points equally. As a failsafe, the system will hand out ten mod points minimum (the underlying thought here being that I don't just want to get one or two modpoints; more is better, so lets take Slashdot's 5 and multiple it by 2).

And for the most part it worked. When we were in closed alpha on Thursday, we opened the test site to 100 users to try and test it in something resembling real world logic. And, for the most part it worked, because everyone was very highly active. You might see the mistake with that logic when applied to a production site.

Come go-live. User counts surge through the roof, active users are flowing in (can't believe we hit 1k users in a single day), and the moderation script starts handing modpoints in the thousands. At one point, there was close to 2000 modpoints in circulation at any given time).

For that moment, moderation was working well. Then users started going offlining, and EODing, or worse, users were getting modpoints when they signed off, and not seeing them until they signed in. The script was happy, 30% of users were moderators, but there were a lot of +1s. When I looked at the database, most people who had modpoints hadn't been signed in for hours.

Suddenly in a flash of inspiration, I saw the mistake. Slashdot could get away with handing out users with no activity level because even with 80% of their system being moderators, most people would be inactive at any given time. With our 30%, there simply weren't enough modpoints in the hands of active users.

So, in an attempt to salvage the situation, I did a critical adjustment on how the damn thing works. Activity periods for users was seperated into a new variable, and dropped to 1 hour (then five minutes, so any logged in user has a chance), and process_moderation had its crontab shorted to five minutes (it used to run hourly).

To keep modpoints constantly in circulation, expiration time was dropped to four hours, so only people who are active RIGHT NOW were moderators, especially since our editor team had posted 20 articles that day already. Whenever a user looses his points (via expiration or using them all), their slot is freed up, and a new user immediately gets modpoints.

That change in logic underpins version 2 of this script. Now the minimum count is what we hand out, except in the very rare case that we need more modpoints in circulation, in which case, the active users start getting more and more (up to a cap of 50, then it spills past 30 of users). For the most part, it seems to be working, comment moderation scores are generally going up, but it may still require further tweaking to make it work well. I generally am not seeing as many +3-5s as I like, but its right now a whole hell a lot better than it used to be.

I'm open to any thoughts, criticisms, or whacky ideas relating to how mod points are being dished out. Let me hear them below.

How Mod Points Worked In Stock Slash

Posted by NCommander on Tuesday February 18 2014, @06:26AM (#35)
3 Comments
Code

So for the curious (or the morbid), I thought I'd do a bit of a writeup on how modpoints worked in the stock slashcode. To my knowledge, this is how they work on slashdot.org today, and all other Slash sites.That being said, caveat emperor. I'm not QUITE sure I understood the code correctly, and I'm writing this from memory, but if enough people want it, I'll fish the old code out of git, and paste it here.

In stock slashcode, every user has something called a "Token" count, which represents their chances at getting modpoints. The best way to think of tokens is like chances at winning a raffle. Keep this in mind, as it will become relevant in short order. Tokens are (theoretically) generated from various clicks in the site UI,and are granted off some serious voodoo involving magic numbers, and other such insanity.

My best understanding is tokens are only issued after a specific random number of clicks are hit, and are later pulled out of the access log by the process_modertion slashd script. But more on that later. The logic that does this is fairly uncommented perl spread across several perl modules, so its rather hard to keep track off.

Tokens convert to modpoints on a strict ratio (if I remember correctly, its 8 tokens becomes one mod point, so you need at least 40 tokens to be eligible to receive modpoints, stock slash only hands out modpoints in increments of five).

Having tokens is not however enough to make you eligible for mod points, it only represents your chances at getting modpoints. When process_moderate kicked, it would go through and essentially dump the entire user table for users that had tokens, were willing to moderate, was not banned from moderation and within the 80% percentile of oldest accounts. This is where metamoderation comes into play. (note: this was true when metamod existed, firehose replaced it, and I have no idea how the logic (if at all) has been changed to handle that)

For users that had been metamodded, those acted as a weight, either increasing or decreasing your chances at getting modpoints in the system. For moderations that were good, you got additional chances in the index, and the reverse decreased them. It also appears that your individual metamods were (somehow) taken into account, but I haven't quite pierced the logic of that. As the metamod module is broken, I never looked to see how it works in practice.

Now, none of this promises you'll actually GET modpoints. As I said, its a raffle. And its a raffle that includes accounts that been inactive but still have tokens. At this point, random users are choosen to get modpoints, which then converts your tokens to modpoints. If you get picked more than once, then you get another increment of 5.

So far, so good? Right now, you might be asking what's the problem with that. Aside from being perhaps a bit longwinded, there seems to be nothing wrong. The problem isn't that the algorithm is wrong, its fundamentally broken.

If you want a hint, I recommend checking out http://slashdot.jp or http://barrapunto.com/ (which are the only other slash sites still on the net that I know of), and look for +5 comments. Take your time, I'll wait.

The problem comes from what ISN'T in the algorithm; it takes no account into how many modpoints MUST be in circulation. I had the advantage of being a frequent poster on macslash.org while it was still around. In the years I was active on that site, I can count the number of +5 comments I saw on one hand. +4s were almost just as rare.

For a comment from an normal user to get to +5, it needs four seperate people with mod points to vote it up four times, and it needs that many people who 1. have modpoint 2. want to use them 3. want to use them on THAT comment.

That's a lot of freaking ifs. While this site was still in closed-testing, the stock modpoint algorithm ran from Monday to Friday until I ripped it out and replaced it with my version of it. In that entire time, it issued a grand whooping total of 10 modpoints (5 to my dummy account which I use for account testing, I don't remember where the other 5 went). At that point, we were getting about 20 comments per article.

In short, the stock modpoint method is not only broken, it is fundamentally broken, and it only works on Slashdot because their userbase is large enough that it works out of dumb luck. Even then, I question that as a lot of good comments never seem to get to +2 or +3, let alone the higher tears. This is was prompted the rewrite, which I'll document in my next journal.

UTF-8 TEST

Posted by NCommander on Sunday February 16 2014, @09:08PM (#20)
15 Comments
Code

Testing some UTF-8:

占星術を科学的でないと考える米国人の割合が減少しているという米国立科学財団(NSF)のリポート(/.J記事)に対し、実は「占星術

Dev Notes

Posted by NCommander on Friday February 14 2014, @07:58AM (#5)
5 Comments
Code

Current dev notes:

Admin privs work, sec levels are as such
100 = editor
500 = editor with security (can use security page)
1000 = admin
10000 = su_admin