Boost logo

Boost :

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


Chad Nelson wrote:
> "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.

I understand the big fish in a small pond problem. Boost can be amazingly humbling in that regard.

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

I do hope you can regain some perspective on XInt versus other parts of your life!

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

You learned the hard way just how small your pond had been.

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

So far I see a very promising difference.

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

Don't I know it!

> > I expected a humbler reaction to the design criticisms given
> > the number of things those on this list obviously know about
> > modern C++.
>
> 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.

That you took someone's (strongly expressed?) opinion as "instructions" was clearly a mistake. If they convinced you, then you should stand by the decision. If not, you shouldn't change for their sake. Obviously, researching the list to discover how well received a poster's opinions are and how much in line their suggestions are with existing Boost opinion and practice will help you maximize the chance of acceptance.

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

Humility is not innate to most. How it manifests varies, of course.

Your vision for the library should be paramount. It is your library and you must maintain it. However, recognizing that you don't know everything, you should be remain open to being convinced by superior arguments.

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

I understand the idea of marketing. I also understand that what you wrote was in some ways inconsistent (see my "staccato" comment), overstated (see our "complete" discussion), or misleading (see the "fast" discussions). For example, on the "fast" part, if you had said that portability was your first priority, but that speed was a close second, you would have gained your point without the negative backlash that ensued.

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

You didn't offend me and I'm sorry that I phrased it in a way that "stung."

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

We'll have to disagree. As I said, if there were points of confusion or omission, then the documentation wasn't complete, according to my definition. Since such deficiencies can arise due to maintenance in the future, it would be better to let Boost's reputation for documentation speak for your library (assuming acceptance, of course).

_____
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