of Sock Puppets and Straw Men

Kris foo at bar.com
Fri Nov 23 22:48:51 PST 2007


"David B. Held" <dheld at codelogicconsulting.com> wrote in message 
news:fi87no$8h4$1 at digitalmars.com...
> Kris wrote:
>> [...]
>> As for this weird thing with the sock-puppet, I admit to being entirely 
>> bemused until you owned up to it. Then I wondered if that might be a 
>> double-blind post, but the one above does appear to be you. FWIW, it 
>> seems sad that anyone would attempt to manipulate or subvert the ng like 
>> that ... is it /really/ that important? You call that a 'prank', while I 
>> have to wonder if such behavior isn't grounded in malevolence instead. 
>> Trolling is bad enough, but what you claim to have done is surely several 
>> steps below? Yet, here you are chewing out Jeff N over some token 
>> semantic distinction. I don't get it. That does seem a bit hypocritical 
>> doesn't it? Why don't you have a go at me instead? Or, did you perhaps 
>> think JeffN was me?
>
> Well, the double-standard here is quite amusing.  Both of you accused 
> someone else of deception and trickery when the most obvious reading of 
> the "sock puppetry" does not lead to that conclusion.

Which obvious reading? Can you be more specific about that?


> On the contrary, the puppeteer was most likely insulting Janice as well, 
> which means that you two were feigning stupidity, adding insult to injury, 
> and then making light of it by dismissing your claims as "speculation". 
> Well,

You say "most likely", and then draw an extensive conclusion from that. I 
didn't read the post in the manner you have suggested at all, so can happily 
and honestly disagree with your "assertions" in full.

> obviously, you haven't been a victim of such tricks yet, so it is easy for 
> you to blame the victim (which is what you did, let's not mince

Victim? Surely you're making a rather grand assumption that the person you 
call the 'victim' could never have made that post at all? How do you 
actually know that, Dave? The only way you could be /so/ sure is if you'd 
posted it yourself. Right?

Let me ask you: Did you make that post, David? Be honest about it.


> words).  However, I notice that once Jeff was a victim, he had a wholly 
> different reaction to the situation and did not sit around waiting for 
> someone to accuse *him* of sock puppetry (even though that would be just 
> as silly as both of your accusations).  In fact, Jeff highlighted with his 
> strong words just how serious an offense it is, and now you, though not 
> being a victim, are merely emphasizing Jeff's point: being the victim of 
> an anonymous attack really sucks, in the way that a hit-n-run sucks...you 
> can't even strike back at your attacker.  How is it that an

Again, the only way you could be so sure is if you'd posted it yourself. Did 
you make that post, David? If you didn't, then your assertions are surely 
limited in extent and perhaps entirely baseless? If you did post as 
"wantphango" or whatever, then simply own up to it.


> *anonymous* person can attack a member of the community, and you have the 
> right to *accuse the victim of being the attacker*, but as soon as you 
> have a suspect in sight, it's *obviously wrong to accuse the victim*. 
> *That*, my friend, is a double-standard.

I really have no idea of what you're trying to say here. Sorry :)


> Was it "malevolent" to demonstrate this point?  No more so than it was for 
> you two to blame the victim, which is an all-to-common sociological 
> reaction to crimes in which the suspects have gotten away scot-free.

You're still discussing a 'victim', and it's not even clear of what. Are you 
saying that the troll post was somehow 'attacking' Janice? If so, how? I'd 
like to understand that aspect.


> The reason I targeted Jeff and not you is because you at least had the 
> decency to retract your accusation after Janice protested innocence, but 
> Jeff was not so forgiving, despite having not enough evidence to convict a 
> squirrel of burying nuts.  I have participated in enough electronic social 
> media to know that false-flag operations are the dirtiest tricks of the 
> game.  It *really* sucks to be a victim; and thus, accusing the victim of 
> being the perpetrator is what I consider to be particularly

Faceless conclusions based upon your own interprestions? You're projecting 
shared opinion and knowledge here (with yourself), which is certainly 
groundless. And again, how can you be so positive about this?


> "malevolent".  Since you seem to not have the taste of being a victim
> yet, I can still pull out my sock puppet; and this time I'll be clever 
> enough to post through the web interface...then I'll lay an old 
> blame-the-victim trick on you and let you decide which is more 
> malevolent...blaming the victim or exposing the hypocrisy of doing so.

I see. So, you intend to run around posting under false names with the 
intend to cause some kind of malevolent damage within the NG? That really 
doesn't seem appropriate, but if it happens we can all point to this post 
and have a good idea of who is behind the scenes.


>> Also, I will admit that I have wondered why you made that analogy between 
>> Boost and Tango, since your message appeared to be saying "Hey, the Tango 
>> guys say Yo! Put up or Shutup!" which really couldn't be further from the 
>> truth. Heck, there's even a long recent thread on toString vs toUtf8 in 
>> this regard.
>
> Good library authors can disarm their critics with a good explanation of 
> the design decisions, while authors outside of that set don't feel that 
> justification is necessary, because they are the ones who put their hard 
> work into it.

The connotation here is that perhaps those who do not "disarm their critics" 
are not "good library authors". Thus, since you're implying elsewhere that 
Tango has at least some such people, then the library itself is somehow not 
"good". It's a silly, groundless, and vague accusation. Seems a bit like 
fud, actually. You don't say anything about trolls either :)


> Not all criticism is justified, and some of it is simply bad, but the way 
> it's responded to makes all the difference in the world.

You're using the term 'criticism' as though we don't deal with it every 
single day. Perhaps you should hang out on IRC sometimes, and watch 
carefully how criticism is most often responded to ... the vast majority of 
such criticism results in a change to the codebase. There are exceptions to 
that rule, but that's generally how criticism is responded to. Go and look 
through the tickets also. Heck, log onto IRC and just ask - you couldn't ask 
for a faster way of getting a reality check :)


> It reminds me of the interviewing process at work.  Some candidates simply 
> refuse to answer simple coding questions, because it is "beneath them". 
> Well, maybe it is, but that's all the more reason to give a quick answer 
> rather than rejecting the question on principle.  Without any answer at 
> all, it's impossible to tell whether the question really is beneath the 
> candidate, or they are just stalling because they can't answer it.

That is indeed silly and, thankfully, I've never met such a person though 
I've interviewed hundreds. Do you refuse to answer code questions?

>
> When a critic says: "You should change X", you can say: "No, you're wrong. 
> That's a matter of taste and I can't please everybody" or you can say: 
> "The reason I chose X was because given the alternatives, it gave us the 
> most flexibility as library authors.  Here is what I mean..."  Maybe "You 
> should change X" is a stupid criticism that isn't worth your time to 
> respond to.  Or maybe it's not.  If you have a justification at the ready, 
> it makes you look all the more knowledgeable than protesting artistic 
> license.  If you present the attitude that the criticism is worthless, 
> then other users begin to wonder whether X was actually designed or was 
> merely an accident.

Not all good engineers are good politicians. I imagine few good politicians 
make good engineers. That's the truth, and it's just fine.


> My point is not that Tango is bad (though perhaps your self-congratulation 
> on it is a bit generous).  I haven't seen enough of Tango to say whether 
> it is or not, and the parts I have seen seemed reasonable to me.  My point 
> is that some of Tangos authors are more diplomatic than others; and 
> whether you feel that is fair or not (to have to suffer fools, from your 
> perspective), the reputation of Tango as a piece of work is affected by 
> the attitudes of its contributors (the point I was trying to make, as 
> delicately as possible).  On the other hand, I don't have any user-visible 
> contributions to D, so I'm not jeopardizing anything (the man who has 
> nothing to lose is the most

Tango does not rest upon all of us being diplomats (at all, or all the 
time), so let's stop pretending it matters nearly as much as you've been 
trying to make out.


> dangerous of all).  I happen to think that Sean Kelly is a good ambassador 
> of Tango, and if everything I knew about Tango came from things he said, I 
> would be predisposed to think it's a pretty darned good library.  I 
> suspect a lot of other folks might say the same thing.

Indeed, and good for Sean. Having people with different skill-sets is often 
crucial to the success of any project.


>> As I pointed out in a reply to your post, Tango is changing in order to 
>> have some measure of compatibility with phobos (which you no doubt know 
>> of) and, as a library, it was never intended to be compatible in the 
>> first place.
>> [...]
>
> That's not the point.  The point is that it was clearly designed to be a 
> standard library, or it would not have defined things like Object.d.  So 
> the whole "never intended to be Phobos-compatible" claim ignores the fact 
> that users of Tango are necessarily going to expect a feature set similar 
> to Phobos, if for no other reason than that Phobos is the official 
> standard library.  So whether that was an original design

Actually, it most certainly is the point, Dave. And it's not a "claim" (as 
you say) about "phobos compatability" -- it is a cold hard fact instead. 
Even if a handful of features *are* similar, the organization is entirely 
different, and is thus wholly incompatible at the package level. That 
decision, along with many others, was a concious and fully intentional one. 
Other details aside, we needed to scale the library beyond the stage where 
you can simply dump everything into one folder and call it good.


> intent or not, the Tango developers would have had to be extremely 
> short-sighted to not consider that such compatibility issues would 
> eventually arise.  I would like to give you that much credit, anyway.

Please don't. We considered a slew of options and eventually decided that 
we'd have to be incompatible in a variety of ways in order to make the 
library operate the way we wanted it to.  Again, there was no intent to be 
compatible, since it was not feasible to do so while at the same time meet 
the goals we had set. That was a choice we made. You can contuinue denying 
that all you like, but it really makes no difference whatsoever :)


> If Tango merely offered an alternative implementation to Phobos' features, 
> then your claim would have merit (like OpenGL is an alternative to 
> DirectX).  But the fact that Tango offers a significantly *disjoint but 
> overlapping* feature set from Phobos makes it inevitable that users would 
> want to eat their cake and have it too (in the way that both Qt and OpenGL 
> allow you to draw on the display, and thus both feature graphics 
> primitives, but one is clearly more than an alternative to the other).

Again, Tango very quickly gave up on all notion of full phobos compatability 
in the early stages.


>
> Boost overlaps with but is disjoint from the Standard Library in that it 
> offers smart pointers, binders, and numerics.  It could easily have said: 
> "Well, Boost wasn't designed to be compatible with the Standard Libray, so 
> if you want to mix shared_ptr<> with auto_ptr<>, you're SOL." That would 
> have been just as reasonable as Tango taking that position. But if you 
> look at the interface of shared_ptr<>, you'll see that it accepts a 
> std::auto_ptr<>.  You're not telling me that the design of Tango wasn't 
> forward-looking, are you?  After all, as you say, Tango is now changing to 
> *become* compatible with Phobos...

We're changing some trivial things to be compatible at the runtime layer. 
Things like toString() and so on. The upper layers, like I/O are 
incompatible, as is the structure of the library itself and the package 
layout. In fact, the phobos runtime is changing to look like Tango, since 
there is currently an effort under way to use the Tango runtime instead of 
the existing phobos one. Thus, as I already said, phobos is changing to look 
like Tango. You apparently cut that bit out of my post, because it blows 
huge holes in your entirely inaccurate analogy :)

Specifically related to Tango, your analogy is based on entirely false 
assertions. I suspect  you don't know much about the library, or the history 
behind it? If you did, then you'd understand how irrellevant the commentary 
really is. That's to be expected, but I'm surprised at just how many 
"concrete" conclusions you're managing to draw from thin air. I'd encourage 
you to use Tango and draw conclusions based on some solid experience 
instead? I'm sure people would be happy to answer any of those you may have 
once you dig deeper.

In the end it comes down to a simple (reapeated) notion: we made an early 
decision not to conform with phobos in a manner that could be considered 
compatible. Phobos had frozen in time, and patches sent for the library lay 
languishing somewhere for months and even years. There was little point in 
sacrificing better approaches because of that, and we knew it. Those were 
difficult choices, but we made them and moved on. If you want to ignore that 
and draw your conclusions anyway, you are welcome to do so. Read the 
history, as I've suggested, and you'll perhaps get a better feel for how far 
off your analogy has actually been?

- Kris


p.s. Just out of interest, have you written or designed a library on a scale 
similar to Tango?





More information about the Digitalmars-d mailing list