Boost logo

Boost :

Subject: Re: [boost] [xint] Boost.XInt formal review (Chad Nelson)
From: Chad Nelson (chad.thecomfychair_at_[hidden])
Date: 2011-03-07 11:05:43


On Mon, 7 Mar 2011 08:26:04 -0500
"Stewart, Robert" <Robert.Stewart_at_[hidden]> wrote:

>>> [...] 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,

I'm confident to the point of arrogance. It's a personality flaw that I
know and detest in myself, and I've worked for years to mute it. I'm
also by far the best programmer that I'd ever met before I joined this
list, which exacerbates the problem greatly because I've never before
had any reason to be humble in that area.

To make things worse, XInt is the product of not just passion, but
obsession. No completely sane human works on something like that for
twelve or more hours a day, seven days a week, for months on end. There
were several factors that contributed to that, but they're irrelevant.

So when I joined this list and offered XInt, I subconsciously expected
to be welcomed with open arms and lauded for my contribution. Instead,
the masterpiece I was so proud of was torn apart and left in a bloody
heap. Six times.

None of that excuses my behavior, only hopefully explains it. I didn't
realize how I was reacting until a few days ago, and I've tried very
hard to divorce my emotions from the library and deal with it
objectively since then. I think I've been fairly successful, but that
may be unwarranted confidence talking again.

> rather contrary to the advice he gives above. [...]

The traits you hate in yourself are always the ones you react to most
strongly, and negatively, in others.

I long ago learned that there's no point in crying over spilt milk. I'm
extremely embarrassed by the episode, both this part and last year's,
but I'm not going to beat myself up over it. I can only hope that
others who witnessed it will forgive me and put it behind them as well.
If not, I'll live with the consequences.

> During the development of XInt, however, Chad learned a great many
> things about modern C++ from members of this list. [...]

For which I'm grateful.

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

The people on this list vary in skill, and often even several people who
seem equally skilled have given me exactly the opposite advice -- your
advice to make the fixed-length integers an entirely separate class,
for instance, directly contradicts the instructions that I was given to
unify the three separate integer types that I had earlier (standard,
nothrow, and fixed-length), which is exasperating. Even more so because
I *had* it that way, and was told I had to change it.

Humble, especially in matters of programming, doesn't come naturally to
me, and things like that just reinforce my subconscious opinion that as
its creator, my vision for the library should take precedence. As I
said, that's a personality flaw. It has sometimes been useful, but I
strongly dislike it, and I'm trying to overcome it. I suspect I'll
still be trying up to the day I die.

> 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. [...]

Your criticisms were overwhelmingly correct. I've adopted almost all of
them already -- if you'd like to see the current state of the
documentation, I'll send it to you -- and noted the larger ones for
when I have time to do them. But your criticisms of certain parts,
especially the top half of the index page, *are* matters of writing
style. That part has a specific and non-technical purpose, and I didn't
realize that people didn't recognize that until last night. Please refer
to the last quarter or so of last night's message,
<http://permalink.gmane.org/gmane.comp.lib.boost.devel/215787>, for
details.

Your saying that my "complete and carefully maintained documentation"
comment was excessive stung, regardless of whether it was correct or
not. I reacted badly to that. I'm sorry that I did, and I publicly
apologize if it offended you. I still feel that the statement is
accurate, and that the additional sections suggested by you and others
will only enhance what was already very complete documentation, but
that is merely an opinion.

> 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.
> [...]

If I don't, I'd appreciate being told, hopefully privately. It's not
always easy to see things in yourself.

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

I think that's a good idea. I don't know that it would have helped me
initially, because in my confidence I would have assumed that XInt was
special in that regard, but it would have made it easier to understand
and deal with it afterwards.

-- 
Chad Nelson
Oak Circle Software, Inc.
*
*
*



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