Genii Weblog

Hammer and tongs

Wed 3 Dec 2003, 05:02 PM



by Ben Langhinrichs
There was an interesting interchange over at Duffbert's site.  Tom did what many of us do on our blogs and offered a bit of code, in this case a subroutine he uses for doing character replacement in a string variable.  I replied with one suggested change, and John Marshall made another critique, and both of us were pretty nice about it, but poor Duffbert must still have felt a bit "piled on", as he semi-jokingly said, "Here I try to help, and what do I get? Nuthin' but grief!".

Nothing out of the ordinary.  Everyday, people like Tom and Ben Poole and Rocky Oliver and Rich Schwartz and Andrew Pollack offer technical advice, snippets of code, technical articles and the like.  People either applaud, or thank them, or raise objections, but generally, they do it nicely.

Similarly, over on the Gold 4&5 forum and the Gold 6 forum, people like Stan Rogers and Rod Whiteley and others offer up code snippets and advice all the time.  Sometimes people challenge their code or assertions, sometimes not, but (unless it is one of those ungrateful wretches who ask question and then take umbrage when the answer isn't to their liking or the code or solution isn't completely done for them) if they do, they usually do it nicely.

Why?  Why are we all so nice?  The answer is simple.  The person offering the advice or code or article is doing it out of the kindness of their hearts, and we try to be nice back.  Even if we disagree, we strive hard to be pleasant and non-judgmental.

This is a problem.  While Miss Manners would be pleased with us all, sometimes niceness is not appropriate.  What if the article is wrong?  What if the advice is horrible?  What if the code sucks?  We can ignore it, or we can gently tug at its loose threads, but it would be horribly rude to tear it to shreds in the context of someone else's blog, or in the full glare of the public eye on the Golf forums.  Yet, there should be a place for such shredding.

Years ago, in the late 1960's, my parents were part of a group called Hammer and Tongs.  I was small, and only vaguely aware of it, but as I understand it, the purpose of this social group was to have one person prepare a thesis in the form of a paper or presentation, and distribute it to the others.  At the actual meeting, he or she would present the ideas and arguments supporting it, and then the feeding frenzy would start.  Like sharks at a shipwreck, they would jab and poke and tear and the goal seemed to spare no mercy for the presenter.  Of course, each person in the group took their turn, but if you think this made them more gentle, you are sadly mistaken.  At the time, I was convinced that my parents were nuts.  Crazy.  Bonkers!

Now, I am not so sure.  Imagine if we, the Domino bloggers and forum contributors and "big thinkers" were to take a similar approach.  In some less personal space than our own blog, and less public than the Gold forum, what if we took turns presenting an article, code library, or concept, with supporting arguments, etc.  Then, rather than having everybody sit back and be nice, invite them all in for the kill.  Tell every blogger and contributor and wiseguy around to take their best shot, and try to parry and twist and defend your thesis or code or concept, but with the understanding that every person joining the fray had to take their turn eventually.

What would happen if everybody felt free to really let loose?  What would result if we were requested to truly challenge the idea or technical concept?  It might not be comfortable, but whatever was left standing would have the strength of tempered steel.  I think this would be a perfect exercise for OpenNTF.org, so long as people agreed to the ground rules.  Unlike my parent's group, we could all participate from our different countries and time zones and perspectives, but we could also all benefit from the ideas that withstood that beating.  Rather than wait for people to voluntarily contribute to an open source effort, and then feel like you can't really criticize their contributions, challenge them to prove their mettle against their peers.  It would be fun - grueling, nasty, and spiteful at times, but all within the rules, so still fun.  What do you think?

Copyright © 2003 Genii Software Ltd.

What has been said:


76.1. Stan Rogers
(12/03/2003 04:44 PM)

I somehow feel obliged to tell you you're full of it by demonstrating the holes in your arguments, but....

This sounds like a right-on kind of idea (and not too far off of the "guild" idea that NTF floated a while back). Peer review is what drives the sciences -- and the lack of same keeps us forever running around in circles. On the one hand, there's the "intellectual property" aspect that keep a lot of the real advances hidden, and on the other we have more than an element of the blind leading the blind down the same dead-end alleys over and over again. (I am merely severely myopic now, thanks to the few who have taken it upon themselves to inform me of my misapprehensions.)

There will always be an element that is unwiling to accept criticism. Personally, I like to be called an idiot unequivocally and immediately if I've taken the time and effort to prove it publicly. A reward for all my effort, as it were. What's the point in trying otherwise?


76.2. Tom Duff
(12/03/2003 05:02 PM)

First off, let's be clear about one thing. I was perfectly OK with the feedback. It showed some things I didn't notice when I used the code, and I'm now wiser.

It's also the last thing I'm sharing with any of you, you ingrates! :-)

Seriously, I like the idea you propose. The key is "ground rules". If everyone is part of the arrangement, then you can accept the critique more readily. I would not be part of a group like that where just anyone could come in and slam the presenter du' jour. That smacks too much of today's attitude of "my opinion is important to you and you have to hear it".


76.3. Ben Langhinrichs
(12/03/2003 08:05 PM)

Stan, you ignorant slut! (Now, there is a reference that will be totally lost on those who did not watch Saturday Night Live in the early days) Clearly, I exaggerate when I say we are all nice to each other publicly, and some of this hammering goes on in the forums and on the blogs. On the other hand, I would love to put my Advanced Notes/Web Coexistence presentation to the test in a less public forum, where I could welcome critiques more readily, instead of here in front of customers and others who might want to attend the session before they find out I am a complete idiot. <grin> Seriously, this sort of heat would make the presentation better, but there is no safe place to stage this such that I would be able to get the benefit of the heat, but also be able to respond to points made without looking defensive. A structured database such as the Partner Forum works a bit better this way, but I think it might be best with a closed group of people who trust each other enough to show more intellectual property, expose their weaknesses a bit more, and take the lessons away without showing their customers that they had to learn the lessons.


76.4. Ben Langhinrichs
(12/03/2003 08:09 PM)

Tom, glad to hear you took it in good humor. I agree tht there would have to be ground rules. Unfortunately, that would probably also mean a closed audience, but it might be worth it. A weblog is a bit too anonymous and open to trolls for this to be successful. You need intellctual honesty both in the critiques and in the defense, and having random people interject other opinions might be valuable sometimes, but it would likely muddy the waters enough to detract seriously from the goal.


76.5. Joe Litton
(12/03/2003 11:54 PM)

I love the idea of subject code and ideas to a fast-forward Darwinian model...evolve or dissolve baby! And OpenNTF ..."OPEN"...is the perfect forum for code and ideas that folks truly wish to share for the betterment of the IBM/Lotus community. Submit come code, beat the crap out of it...sort of break it down and build it back stronger like Marine boot camp or something...and then hopefully end up with a pretty fine chunk of robust and elegant code. Sign me up and hit me with your best shot...."I get knocked down, but I get up again; You're never gonna keep me down" (a slightly newer reference than Dan Aykroyd picking on Jane Curtain)


76.6. Vince Schuurman
(12/04/2003 01:10 AM)

We changed the codebin on OpenNTF a couple of months ago to accomodate comments and ratings. But nobody uses it ..... :(


76.7. Joe Litton
(12/04/2003 10:57 PM)

Vince: Well shucks, I certainly hadn't even thought about the codebin (DUH!). I propose that we as a community start to post code to the codebin and link to it from our blogs, inviting comments, ratings, etc.


76.8. Ben Langhinrichs
(12/04/2003 11:10 PM)

Vince - I didn't know about the changes to codebin, but that sounds like one place to start. In a more informal manner, Tom and I have started doing a bit of this peer review through e-mail, but for code, the codebin sounds like a good start. It may be somewhat public, but let's give it a try.


76.9. Jerry Carter
(12/11/2003 09:22 AM)

The non-linear review cycle of something like the codebin would be ideal. The rating stats (number of vs. value) would help people who are just looking for some good code determine what is worth tucking away for later use.

Julian makes a valid observation, as Vince's experience with codebin seems to illustrate. Finding people willing to test/review code is difficult. Especially in our community where most have their own little fifedom to preside over, a time consuming task in itself.

I think Joe has a great idea... a common archive (a bit like LDD sandbox) that is more readily connected to by blogs would certainly gain viewership and utility with time.

Something to consider.

- Datatribesoftwerks.com