GitHub: Block the Bullies
github.com
github.com
In all fairness, the guy was being a dick (no pun intended) to Zed. However, Zed should have kept the insults to the troll and left Github, Powerset, Engine Yard, and the Ruby community out.
Thankfully, they've fixed the problem now and I don't have to worry about it anymore.
No other language community in the world behaves like this.
Real trolls ship.
Oh wait, he did that shit to himself while I watched.
Compare and contrast Scientology with Psychiatry. Both communities make similar value propositions: improve mental health.
Scientology is optimized to gain and keep converts and to spread like a viral meme.
Psychiatry is optimized to achieve good treatment outcomes.
Scientology makes more money despite being a less effective form of therapy.
Virality itself is adaptive, so the Ruby community thrives and survives despite being a mediocre technology. Everything about ruby is optimized for gaining converts, attention and cohesion. Hard technical merit is less important in this case than community cohesion, growth, and publicity. Flamewars bring the ruby community publicity and this leads to growth which leads to the survival and replication of ruby.
Erlang and C++ survive on hard technical merits. They take a different evolutionary strategy that requires less propaganda / groupthink.
Just look at the life cycle of communities as if they were a species and it all makes sense.
This seems really questionable to me. If we assume 13 psychiatrists per 100K people in 2005 ( http://answers.google.com/answers/threadview?id=523453 ), and just count Europe and the US, that's ~80K psychiatrists, and if they average 120K USD per year, that's nearly 10 billion USD. Scientology had a worldwide income of less than 400 million in 1993 ( http://webcache.googleusercontent.com/search?q=cache:jD-Xo-q... ), so it would have had to grow by 20 times to rival psychiatry circa 2005.
I think psychiatry (leaving aside everything but actual practicing psychiatrists) probably dwarfs Scientology in total income.
We haven't shouted this from the rooftops primarily because we're tired of this being the story when it should have focused on the bullying and our addressing of the problem.
If Zed hadn't written a blog post detailing how he fucked everything up (in all his greatness, apparently) it wouldn't have gotten such exposure and would likely have died out.
He had to make his point with a hammer or it wouldn't have mattered. And it's unfortunate that it took a hammer to make the point. I'd even go so far as to say this feature isn't actually all that important. Zed Shaw just MADE it important.
Can you explain where in my blog post I claim I'm great? I think all I did was explain what was happening and how this was someone who bothered me in the past and followed me to github, and then there was nothing I could do about it.
And then you claimed it was all to improve the github experience. Cmon.
Next time, actually read what I write instead of just imagining you read it after seeing a stream of tweets and your buddies on reddit tell it to you 4th person in some comments. For example, I didn't contact github because I knew one of the peole working there was in on the joke. If you read what I wrote you would have known that, idiot.
For the record, this isn't true no matter how many times you repeat it. You should have emailed us and we would have taken care of it without a holiday weekend filled with unnecessary drama.
What it looks like from an outsider: He said, (s)he said.
I don't know if Zed is right. I don't know if you are right. What I do know is Zed Shaw ranted and got stuff fixed. Apparently, their was some merit to what he was saying, and at least the majority of his story can confirmed to be true. As for the employee, it's just as easy for you to be misinformed or simply ignorant of the truth as it is for Zed to be wrong. No malice, just mistaken.
> This is what Debian maintainers are doing, but there's a very specific reason why they do this and it's not a "culture clash". It's embrace and extend which they probably learned from Microsoft. You see, if you have to adapt your software and processes to their weird layout and packages, then you can't get off their platform. It is sadly pure business and has nothing to do with open source, quality, or culture.
> It's simply a tactic to make sure that you are stuck on Debian.
Whether you like Debian and agree with their technical decisions, or not, it's a non-profit completely based on open-source code. There is no business, and there is no motivation to lock you in to Debian, and there is no desire to do so, either. Complaining about Debian in technical terms is fine; making stuff up about the project is beyond the pale.
After that episode, I became much more inclined to take what Zed has to say with a large grain of salt.
Like I said, it's essentially a he said, she said match. github, if anything, let themselves get pulled into it. Just fix the problem and move on. The only they've done is make note of what they disagree with (and frankly, their denials don't match up with what Zed accused anyways).
I learned a long time ago that as a company, you should avoid getting into a pissing contest on the forums.
hmm, couldn't it be that some other customer service people would actually do their job about your issue? How do you know it would all be channeled through this one guy that was in on the joke? In any case if they did ignore your request, you could still do the whole crashing thing...
> Can you explain where in my blog post I claim I'm great?
Maybe people still remember this: http://web.archive.org/web/20090218021137/http://zedshaw.com...
Sure you try to mask it as an attempt to be funny, but even if
"it’s all an act" that acts make the person.
Now I am off to http://bellard.org/ to clean my mind a bit.The cart should not be put before the horse by implying that this missing feature was simply used as an excuse to be negative. What's the perverse incentive here, that it's actually in GitHub's interest to prevent users from blocking each other?
"The squeaky wheel gets the grease" and public shame were invented way before the Internet, so this makes no precedent. It's just one of the myriad ways in which things get done. Ever had a boss?
To be fair, in this case, that does appear to be exactly what happened. Github had a problem. Someone exposed it and then Zed used his considerable influence to "force" github to fix it.
Its unfortunate for many reasons, not the least of which is that they either were, or were perceived as (which is just as bad for the customer), so out of touch with the user base that such action was necessary.
>it also creates perverse incentives
No, it was created by a general disregard for customer service. The attitude that an issue is fine to ignore unless it is boiling over is what created the incentive, that was ages ago.
I don't see how that makes github "out of touch" nor do I see how this situation was created by a "general disregard of customer service." Granted this might be true, but it doesn't sound like it had anything to do with this particular incident.
Perhaps so, but Zed Shaw is not the one that set it. The age of the phrase "the squeaky wheel gets the grease" is measured in decades, not days.
Sad that they still haven't added a requirement that you accept an invite to become a collaborator, or at least a profile setting on your account that requires that confirmation.
That's one way to look at it..the other way is that they just designed coded, tested and rolled out a feature a day or two after a fairly hostile and accusatory customer complaint.
As it stands, when you are added as a collaborator to a project it shows up in exactly one place — your private, logged in dashboard. It doesn't show up publicly anywhere.
Bypassing confirmations keeps the workflow simple for the professionals who use GitHub and want to collaborate with ease.
Your average professional developer isn't trolled on a regular basis, nor would they go about adding "tech stars" to their repos just to have a big name on there or because they wished that person was a contributor - it's unprofessional and rude. So just dismissing yourself from the projects you are maliciously or mistakenly added to seems much simpler than having to confirm each one.
> The optimal way to use confirmations is often not hitting "Reject" to requests you don't want. Just do nothing.
and didn't read carefully. I was probably pointing out that if trolling is not the common case then that system is not in fact optimal (which I think we agree on), without realizing you didn't claim it was the optimal system but only the optimal system-which-uses-confirmations. Sorry about that.
You must make a contribution to a project before you show up in any kind of public fashion.
Or does Github track pushes by the pusher's Github username?
It should be fairly trivial to script account creation, project creation, and marking someone as a collaborator. As such a troll could simply automate the process of creating accounts and junk projects and then add the victim as a collaborator to them. The result is a useless dashboard full of crap that the victim has to manually remove themselves from. The troll succeeds in screwing with the victim by wasting lots of time. If permission had to be explicitly granted there would be no change to the dashboard and all of the confirmation messages could be ignored, or ideally bulk deleted from the incoming message queue. I don't have any idea if there's flood prevention mechanisms built into github to prevent this, but with unlimited public projects on the free accounts it seems like an avenue of abuse for trolls.
But remember that Undo > Confirmation. Always.
Remember that reputation is important. Always.
And you explicitly telling people about how being a collaborator works isn't a scalable way for people to find out. And it sounds like this question/issue has come up before. Perhaps it can be made clearer somehow?
In any case, thanks for clarifying when you become visible as a collaborator, even if only in this one comment to me.
[1]: http://news.ycombinator.com/item?id=2606063
[2]: http://news.ycombinator.com/item?id=2605804
For me, it was pretty obvious because it doesn't show up on the profile under 'Public Repositories', only on the dashboard in a list of projects you have access to.It's easy to say "oh just add it to the UI", but to actually do it is another story. Before you know it you've got hundreds of preferences, and then people will be complaining that there's too many options and it's too confusing (a-la facebook privacy settings). Honestly, GitHub's preference pages already need some work, so I for one am glad they don't add drop downs for every person's pet feature.
Regardless, it doesn't matter now. Now you just remove the project and block the user (or, presumably, just blocking the user might remove the repo... either way), so that's that.
Also; with the "professionals" thing - I totally get what you mean, and it's abundantly clear you guys are doing things for the right reasons, but the tone kind of jarred with me a little bit there. Nothing drastic, but I'm a person first, a professional second...
I got "dong markup" in my RSS reader from pull requests to zedshaw/mongrel2 today. So, the trolling was very much in public view.
So, there are ways to publicly troll someone on GitHub, even if not in this precise way.
How long until you get clued in that maybe the problem is not with the end users but with your UI?
I don't participate on github so I did't think you'd just stuff all of those notices on the dashboard. That sounds like a pretty broken UI IMHO.
> But remember that Undo > Confirmation. Always.
That's your opinion and it's very clear from this thread that a significant number of people strongly disagree with it. I will concede that Undo in this context has much less friction, likely for most github users. I wouldn't necessarily agree that it's better and certainly not always.
I must admit to having been persuaded by Aza Raskin, in his widely-read article "Never Use a Warning When You Mean Undo".
But a worse interface that makes the software easier to code is one thing; a worse interface that makes the software more easily comply with the law is an entirely different trade-off.
Not exactly, the legal audit trail can be messy and it doesn't matter one bit so long as it's accurate. In the case described change one is logged and the undo constitues a second change which is also logged. Change one incurs liability for the user and change two simply increases the liability for the user (sorry I can't go into specifics) even though it's correcting a problem. In my experience it's very difficult to create a user interface where the "undo" action clearly indicates the consequence of the change in these scenarios. Preventing unnecessary changes via a combination of up front documentation and confirmation provided the better user experience, and legal liability reduction, in my experience and based on some user feedback.
> But a worse interface that makes the software easier to code is one thing; a worse interface that makes the software more easily comply with the law is an entirely different trade-off.
Believe me, not confirming user actions would have been less code and easier to build and maintain in this case. Legal compliance on my part would have been maintained in either case. Allowing my users to quickly and easily build up liability would be doing them a disservice however. Adding some friction to those transactions was agreed to be the better option by everyone involved.
I think the idea that confirmation vs undo is subjective. We can go on and on for hours and come up with examples and counter examples. The particular context of the action likely determines which provides the better user experience in total (not just on that one screen or interaction but via the consequences of the action as well). I would certainly prefer that if I'm using a system like facebook that it confirm I really want to make my home address and phone number public before it does so rather than letting me check a box and it's done. The same goes with a money transfer where an undo may not even be possible after some amount of time. Not prompting for confirmation certainly makes the transactions move faster (less friction) and undo is easy enough in many cases, but does that frictionless transaction have the best outcome for my users? Not always. The blanket statement that "undo > confirmation. Always." is just plain wrong, not that you made it of course.
These are very smart, efficient and pragmatic solutions. It's also a demonstration of what is meant by "good execution".
Good for Github for going ahead and doing it. I know of some companies who would have dug their heels in and ignored the issue, or stubbornly maintained that it wasn't needed.
What they've implemented is adequate, but I'd rather see something much stronger, like active confirmation from both parties before being added to a project.
It wasn't submitted to let people know about the feature, it was submitted to stir the pot.
EDIT: I wasn't trolling. Not even a single response?
He seems to inflame conversations for the sake of inflaming them. That's all. He likes the attention.
The court jester may make a good point every now and then, but he's still a clown.
This place is awesome with the anonymous posters.
The rest of the world is glad I wrote it.
You see, if you had involved deeply with any hot new tech community, like node.js, instead of Rails, you would have had the same problem with that community.
I've only met Zed once, it was at EuroDjangoCon in Prague a few years ago. Zed did a keynote speech, and afterwards in the lobby as he sat down near me, I told him how much I enjoyed it, just expecting the usual "thanks, glad you did" or whatever. What actually followed was a nearly two hour conversation, over lunch, on topics from music to education to my dumb startup idea. Zed talked with passion and intelligence on all three, and seemed genuinely interested in what I was doing - and I'm just some dumb schmuck programmer he's never met before.
I see a lot of what is said about Zed online, and I think it's sad, because in real life, he's a fucking stand-up guy.
All of the incidents I have read about have been legitimate problems, but I personally would have handled all of them very differently.
This particularly incident, for example, probably could have been solved simply by e-mailing github. In Shaw's case, he assumed they were in on it. I'm sure he had his reasons, and certainly the troll behind dongml gets no sympathy from me but I don't think blaming github and dragging them into this was appropriate.
Honestly I've never understood why some people (seemingly) defend him unconditionally. It sounds like he's a really stand-up guy in real life, but I'm still willing to call out my friends when I think they've gone too far.
-Niki Yoshiuchi
Next time you want to call me a "whore", why don't you email me and meet me in person like a man instead of pretending like you are one online.
I've been to ONE meetup in the city, and aftewords someone mentioned you were there. Jesus.
EDIT: Just sent you an email, hopefully it went to the right place. Couldn't find one on your website or your HN profile (or your twitter account).
You see, this is what pisses me off about you whiners claiming I'm stirring up drama. I didn't say a damn thing to you until you started insulting me in these comments. I didn't say a damn thing to you. The only contact I've had with you is one tweet. Yet, here you are insulting me as if you know me personally and I've treated you poorly.
Then what do you think I should do? Oh that's right, not be a drama queen and just shut up and let you call me goddamn whore. 'Cause if I stand up to you, I'm causing drama, but you coming here and insulting me is totally alright and just a nice Tuesday evening.
Secondly, I'm not criticizing you for standing up for yourself. Don't try to frame this as if you're a poor victim of the internet. This is a discussion forum. I'm not an anonymous troll, my identity is in my profile.
You dramatized things in the first place, not by standing up for yourself. The beer offer still stands.
Given that you responded in such a dramatic fashion to something that genuinely didn't involve you in any way whatsoever, why are you criticizing Zed for reacting strongly to a far greater provocation?
I think it's just built up over time. I've never met Zed. I don't quite understand how he's built such a following -- it's quite possible it's because he's a nice guy who helps people. It strikes me from what I've read by him and about him that this SEEMS unlikely, but again, I do not know him.
The opinion that drove my response was that this was a monstrous waste of resources for github. Zed has influence and his blog post provoked a reaction that was unnecessary. We don't know how widespread this problem is on github. This is the first time I, or anybody I've spoken with, has even heard of anyone having this problem. Running a startup (I imagine), especially one with as much success as github, is almost certainly incredibly difficult. Reading a blog post rant by someone with influence has got to be a real bitch. And they handled it with grace and patience. Which is more than I can say about myself and Zed.
Oh, because then he wouldn't get any publicity. Doing support and keeping a startup in a good position despite outspoken users (who don't pay for the service) is a completely thankless job. I give github a ton of credit for responding well over a holiday weekend to what amounts to a screaming child. Not many other companies would do that.
That's why github rocks.
I read your post and pretty much all I hear is a vaguely undirected bitterness and some jealous whining, and I DO NOT UNDERSTAND WHY.
Seriously, Dont worry yourself on their behalf.
If Github didn't want to implement that feature, they wouldn't have done it.
Zed has about as much power over them as I do over you.
Whatever other characteristics he may have, Zed certainly has a knack for bringing forth the shrieking sister in a certain type of personality.
Maybe a zedblock plugin for firefox would be cool instead?
Even better would be to just integrate it into firefox. But then you'd still have to put up with the character whilst using other browsers.
Which means a WC3 draft would be more appropriate, so that all of the browsers could implement it. I imagine WHATWG have already got something in the works though. They've been doing a lot of good work with the whole html5 thing.
Does it bother anyone else that github appears to be following a Concerned father approach here? I guess it's not that bad. Other internet forums have moderators and such, but github isn't really about the project - but the individual. So I'm not sure how letting other people moderate for you would work within the github garden.
</nonsense>