We’re all in this together: Maintaining common tools

Date:August 21, 2007 / year-entry #307
Orig Link:https://blogs.msdn.microsoft.com/oldnewthing/20070821-00/?p=25493
Comments:    23
Summary:In the Windows division, as with any other product group, there is a common "bag of tools" that people tend to rely on to get through the day. Occasionally, somebody will encounter a problem with one of these tools. When I run ProgramQ, I get the message XYZ, and then it appears to get stuck...

In the Windows division, as with any other product group, there is a common "bag of tools" that people tend to rely on to get through the day. Occasionally, somebody will encounter a problem with one of these tools.

When I run Program Q, I get the message XYZ, and then it appears to get stuck in an infinite loop allocating more and more memory until it finally runs out. Is this a bug?

Just a few hours later, the question is repeated. It seems

Resending. Is anybody else seeing this?

First thing the following morning:

3rd time.

The owner of Program Q, please help.

At this point, I felt compelled to explain how it works, but of course I did it by firing up my thermonuclear social skills.

You own Program Q. The source code is in X\Q. Have fun. Let us know what you find.

Fortunately, one of my colleagues chimed in with an explanation.

Raymond's point is that many of our tools are supported by whoever pitches in and helps. Don't be shy.

We're all in this together.


Although the situation described here is purported to have been real, details of the story not essential to the message may have been altered, removed, or exaggerated in order to make the story more enjoyable. The behavior exhibited in this story does not constitute an official position of Microsoft Corporation.

Comments (23)
  1. Rob H says:

    A few years ago I was bemoaning the lack of some hypothetical tool that would have been helpful. The guy in the cube next to me remarked "Lucky you’re a programmer!" I was embarassed because for whatever reason, I hadn’t even thought of just writing the thing.

    Given the demanding tone of the third resend, I fully support your brusque reply.

  2. David says:

    You might have already answered the following question, so please pardon me for asking again: are you an incredible pain to work with?

  3. Andre says:

    I was used to enjoy the nitpicker’s corner, but since you started writing "… does not constitute an official position of Microsoft Corporation" in every post, I’m getting annoyed with it.

  4. Frank says:

    David –

    It might answer your question to see the "Filed Under" annotation on the post, and click on the link that seems to most closely answer your question.


  5. dbt says:

    And on the good side, there are the people who email out a specific detailed problem they’re having with error messages (not in the form of an image pasted into a word document, either) and a potential repro.

    By the time you read their message, there are 3 more replies, all from them, with further elaboration on the repro, a potential fix, and an apology for wasting your time, everything’s fine.

  6. Nat says:

    This situation is similar to the ones where I reply with the phrase:

    "That’s why God invented the ‘Step Into‘ command in the debugger".

  7. Ulric says:

    it’s still pretty frustrating to send out a mail to a team and have absolutely no one reply back.  That eply wasn’t helpful either.  From the gist of the story I would guess the answer is something like "X used to take care of the tool, now he’s gone so there is no owner".  Typically team leaders should reply to these mails.  "Resending" does work sometime when everyone is expecting someone else to reply.  Or the person who knows is on vacation. The "we’re in this together" doesn’t just apply to writing code!

  8. poochner says:

    And there’s nothing like sending out an email asking for help for suddenly making the answer blindingly obvious.

  9. Kip says:

    Can’t you just add “nothing on this blog constitutes an official statement from Microsoft Corporation” to the page template somehow, so that it shows up under every post?  It seems like it would be easier for you, and it would retroactively apply the disclaimer to old posts.

    [The page template doesn’t go into the RSS feed. -Raymond]
  10. Tomer Chachamu says:

    How many e-mails do you recieve a day, Raymond?

  11. Cooney says:

    are you an incredible pain to work with?

    I found that his sarcasm was easier to ahndle when you considered that he was generally right. That and being well versed in reading machine code.

  12. Sohail says:

    Damn straight. I’m tired of whiny programmers who complain that the "tools don’t work"

    I usually respond with "oh, too bad you’re not a programmer" or something. They think I’m joking.

    I’m not.

  13. daniel says:

    Nitpicker’s corner: Raymond, if you plan to publish another edition of "Old New Thing" with the new articles, (http://www.amazon.com/Old-New-Thing-Development-Throughout/dp/0321440307/ref=pd_bbs_sr_1/102-5828417-9750557?ie=UTF8&s=books&qid=1187738993&sr=8-1)

    will it contain the disclaimer on every single

    article? I think it should – if we web readers

    were subjected to the disclaimer I think all future readers, including paper-based readers, should be subjected as well.

    But seriously: the disclaimer turns what used

    to be a pleasant and extremely educational reading into a strange experience. To be honest, people that obsess and keep saying the same thing over and over again scare me…

    With much admiration for all your knowledge and work,


  14. Scott says:

    God, I hate it when people point this out.  Because they’re right.  

    Of course, then you end up dealing with "internal quality" code, which is utterly appalling.  Single letter variables? Check.  Functions that cover pages? Check.  Redundant code that does nothing at all? Double check and check.  Even better when it’s perl scripts, that are inevitably written to the point where they work once, and then never touched again.  

    Good times…

  15. mvadu says:

    Regarding this topic: I regularly come across this quite a few times. Saying "Hi, I tried running your xyz tool, it is saying some thing". They don’t even read the error message. But I am so passionate about my tools (and confident about them), I usually end up going to their seats, showing where they wrongly configured the tool or the wrong inputs given. By that time I usually loose 0.5 hour .

  16. Miral says:

    Firstly, regarding the disclaimer, I think you should say "does not *necessarily* constitute an official position".  Otherwise you’ll get plagued with the nitwits who think you’re saying that Microsoft’s official position is the exact opposite of whatever you say.  (Crazy, I know, but I know they’re out there.)

    Regarding this topic: I’ve had this happen a few times.  On the other hand, I’m occasionally a little possessive about the tools that I do write, so often I end up being the one making changes to them even though we have a similar shared-ownership policy.

  17. Al says:

    Yes, it is amazingly annoying when people just say "it’s throwing up an error box".

    And what does it say, exactly?

    A lot of the time it’ll be something like "you are not allowed to enter numbers" or something. Basically something they can fix themselves if they just read the damn error!

  18. RonO says:

    I have nearly the opposite problem here.  The "common" tools just means that everyone uses them.  The person who wrote them (we’ll call him X) closely guards the source code.  I can’t step through the code myself and it’s hit-or-miss whether X will take a bug report or feature suggestion.  :/  Requests to get access to the source code have been met with "Why do you want access?"  When I say "There’s a bug I want to track down." or "There’s a feature I want to implement." are followed by "That’s not your job.  Send an email to X."

  19. ... says:

    Sounds like open source!

  20. ex-DonH says:

    You might have already answered the following question, so please pardon me for asking again: are you an incredible pain to work with?

    Raymond’s a joy to work with, and a pain in the butt to slack off near.  Take your choice.

  21. Lachlan says:

    The problem with "If you found the bug, you should fix it," is that it can be incredibly inefficient. It falls into the same balderdash of, "If you don’t like the shoe store in your town, you should start your own or quit complaining."

    No, I need shoes so I can run my hardware store. I need this program to work so I can do my job. And while I CAN hack on that program to make it work, I don’t know the program and it’s inefficient for me to stop the work I know well and am assigned and expected to complete to start work on something else. Since most programs HAVE an owner, it’s worthwhile to ask for help. Why bother hacking on something for a day and a half only for someone to later tell you, "Oh, yeah, Bob’s had a patch for that, we just never applied it."

    Asking for help is never a bad thing. Being a dick to those people is.

  22. Miles Archer says:

    There’s a big difference from asking for help and asking multiple times with increasing stridency.

Comments are closed.

*DISCLAIMER: I DO NOT OWN THIS CONTENT. If you are the owner and would like it removed, please contact me. The content herein is an archived reproduction of entries from Raymond Chen's "Old New Thing" Blog (most recent link is here). It may have slight formatting modifications for consistency and to improve readability.

WHY DID I DUPLICATE THIS CONTENT HERE? Let me first say this site has never had anything to sell and has never shown ads of any kind. I have nothing monetarily to gain by duplicating content here. Because I had made my own local copy of this content throughout the years, for ease of using tools like grep, I decided to put it online after I discovered some of the original content previously and publicly available, had disappeared approximately early to mid 2019. At the same time, I present the content in an easily accessible theme-agnostic way.

The information provided by Raymond's blog is, for all practical purposes, more authoritative on Windows Development than Microsoft's own MSDN documentation and should be considered supplemental reading to that documentation. The wealth of missing details provided by this blog that Microsoft could not or did not document about Windows over the years is vital enough, many would agree an online "backup" of these details is a necessary endeavor. Specifics include:

<-- Back to Old New Thing Archive Index