Boost logo

Boost :

Subject: Re: [boost] [xint] Boost.XInt formal review (Chad Nelson)
From: Stewart, Robert (Robert.Stewart_at_[hidden])
Date: 2011-03-07 08:26:04


Joachim Faulhaber wrote:
> 2011/3/5 Phil Endecott <spam_from_boost_dev_at_[hidden]>:
> > Chad Nelson wrote:
> >>
> >> I don't know what culture you [Mathias] grew up in, but
> >> mocking someone's words, questioning his competence, and
> >> finding any excuse to belittle his work is incredibly
> >> offensive in mine. And that's the content of at least
> >> half of your messages to me, when you're not simply
> >> expressing the unbelievably arrogant and self-centered
> >> assumption that you know the best way to do something
> >> that you've never attempted, but that I've put a hell
> >> of a lot of work into developing, and that anything I've
> >> done differently is automatically wrong.
> >>
> >> On the small chance that you really don't know how
> >> insulting your messages are, here's some advice: if you
> >> want your opinions to be taken seriously by anyone with
> >> a spine, try a little respect for the intelligence of
> >> the person on the other side of the conversation, and
> >> assume that he's competent and does things for a reason
> >> until proven otherwise, even if that reason isn't
> >> perfect. It will make people a lot more receptive to
> >> your ideas.
> >
> > Chad has posted a number of outbursts like this in the
> > last few days.

While Chad has apologized for such outbursts, almost profusely so, I do think it important to raise a point that's been troubling me for some time regarding Chad's participation on the list, not just during this review. Chad's default reaction to criticism has too frequently been to lash out, rather contrary to the advice he gives above.

Consider even the tone of his response quoted above. He assumed that Mathias was mocking him, questioning his competence, and finding excuses to belittle XInt. I didn't see that in Mathias' posts. My impression is that Chad thinks his months of hard work and rewriting means that any criticism is an affront to his superior design and implementation skills.

During the development of XInt, however, Chad learned a great many things about modern C++ from members of this list. He has learned about a number of new (to him) techniques and tried to incorporate them into XInt. He has very recently been introduced to CRTP, his partial misapprehension of virtual inheritance, expression templates, and techniques for minimizing allocations. I expected a humbler reaction to the design criticisms given the number of things those on this list obviously know about modern C++. (I don't mean that I expect him to just accept everything others throw at him all while eating humble pie, of course.)

This same problem arose in response to my review comments regarding the documentation. Because he considered what he had done to be superior to many libraries, including several existing Boost libraries, my criticisms were mostly, as I took his response, mere matters of style. My intention was not that he would, of necessity, accept my suggestions unaltered, but rather recognize that if one person found concerns, points of confusion, or omissions, that the documentation could and should be improved to save others the same trouble.

> > We can't go on like this. I propose that the review be
> > stopped now. There should already be enough input for
> > the Review Manager to make a decision. If we carry on,
> > this list will turn into the sort of "flame fest" that
> > we all know happens elsewhere, but not normally in Boost.

I think we've observed at least a partial correction to the problem, so there's no need to stop, but I am still concerned. I hope Chad will think seriously about his tone and tendency to interpret others negatively, and make alterations to his established pattern on this list in order to become a productive member of the Boost community.

Tone is very hard to interpret in the written word, particularly given that English is a second language to so many, and that many native speakers learn the language poorly. We all must take care to interpret others in the best light possible and express concerns when negativity is suspected. I don't expect perfection because I'm not perfect. I do expect a pattern of decency and civility, however (which I hope others see in my own participation).

> Chad is having a hard time in this review. It is not always
> easy to digest loads of criticism and not to take things
> personal. As far as I can see, Chad is very passionate about
> contributing and willing to learn and to admit shortcomings in
> his project. I've seen other people derail under "review
> pressure" on this list. We're all humans, So please have mercy

I think it would be wise to discuss this on the web site as part of the library submission process. We should suggest that would-be submitters review the list archives to see the tenor and content of past reviews. We should, perhaps, refer them to specific reviews so they can see how critical reviews can be. That would go a long way toward preparing them for the (almost) inevitable in their own review.

_____
Rob Stewart robert.stewart_at_[hidden]
Software Engineer, Core Software using std::disclaimer;
Susquehanna International Group, LLP http://www.sig.com

IMPORTANT: The information contained in this email and/or its attachments is confidential. If you are not the intended recipient, please notify the sender immediately by reply and immediately delete this message and all its attachments. Any review, use, reproduction, disclosure or dissemination of this message or any attachment by an unintended recipient is strictly prohibited. Neither this message nor any attachment is intended as or should be construed as an offer, solicitation or recommendation to buy or sell any security or other financial instrument. Neither the sender, his or her employer nor any of their respective affiliates makes any warranties as to the completeness or accuracy of any of the information contained herein or that this message or any of its attachments is free of viruses.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk