• The Old New Thing

    Insightful graph: The ship date predictor


    The best graphs are the ones that require no explanation. You are just told what the x- and y-axes represent, and the answer just jumps out at you.

    One of the greatest graphs I've seen at Microsoft is this one that a colleague of mine put together as Windows 95 was nearing completion. He took each email message from management that changed the Windows 95 RTM date (also known as the ship date) and plotted it on a chart. The x-axis is the date the statement was made and the y-axis is number of days remaining in the project, according to the email. The dotted line is a linear least-squares fit, and the green star is the actual ship date (July 14, 1995).


    Jan 1993
    Jan 1994
    Jan 1995

    What's so amazing about this chart is that the linear approximation predicts the actual ship date with very high accuracy. The slope of the line is 0.43%, which means that if you took the predicted "days remaining before we ship" and multiplied it by around 2.3, you'd be pretty close to the actual ship date.

    In other words, management fairly consistently underestimated the number of days until RTM by a factor of 2.3. (Another way of looking at it is that the development team consistently underreported the number of days to completion to management by a factor of 2.3.)

    Bonus amusement

    Here is a pull quote from each of the announcements, lightly edited.

    Date Revised RTM Remark
    February 1992 June 1993 "Ready to RTM 6/93. Otherwise, I'll be applying for a job at McDonalds."
    April 1992 September 1993 "This is a critical release."
    July 1992 March 1994 "The feature set will NOT be expanded to fill the new schedule."
    September 1992 December 1993 "This product must RTM by the end of 1993. If we miss this window of opportunity, then the value of this product goes way down."
    January 1993 March 1994 "I recently learned that Team X was planning around a Q4 94 ship date!" (Team X provided code to Windows 95.)
    March 1993 April 1994 "We need to formulate plans which get us there."
    August 1993 May 1994 "It's really important for the company that we make this date. This must be our last slip."
    December 1993 August 1994 "This is about as late as we can go without incurring big financial problems for the company."
    February 1994 September 1994 "What determines the ship date is the team's commitment to a ship date. We must make our RTM date."
    May 1994 November 1994 "Software and hardware vendors are counting on us."
    August 1994 February 1995 "Completing this milestone by the end of the year is absolutely critical to the product gaining quick success."
    December 1994 May 1995 "People all over are planning their business on when we release. We must make our current date."

    Today marks the 20th anniversary of the public release of Windows 95. Just one more year, and you'll be old enough to buy a drink!¹

    Bonus reading: Start Me Up (again): Brad Chase (who ran the worldwide launch of Windows 95) tells the story of how Start Me Up became the anthem for Windows 95, and addresses the legend that that it cost $14 million to license the song. (Spoiler: It was more like $3 million.)

    Bonus chatter: The ticket price for the Windows 95 team reunion party is $47.50. This seems like an odd number, but it makes more sense when you buy two tickets (one for you, and one for your partner).

    ¹ In the United States, the age at which it is legal to purchase alcohol is 21.

  • The Old New Thing

    Please enjoy the new eco-friendly printers, now arguably less eco-friendly


    Some years ago, the IT department replaced the printers multifunction devices with new reportedly eco-friendly models. One feature of the new devices is that when you send a job to the printer, it doesn't print out immediately. Printing doesn't begin until you go to the device and swipe your badge through the card reader. The theory here is that this cuts down on the number of forgotten or accidental printouts, where you send a job to a printer and forget to pick it up, or you click the Print button by mistake. If a job is not printed within a few days, it is automatically deleted.

    The old devices already supported secured printing, where the job doesn't come out of the printer until you go to the device and release the job. But with this change, secured printing is now mandatory. Of course, this means that even if you weren't printing something sensitive, you still have to stand there and wait for your document to print instead of having the job already completed and waiting for you.

    The new printing system also removes the need for job separator pages. Avoiding banner pages and eliminating forgotten print jobs are touted as the printer's primary eco-friendly features.

    Other functions provided by the devices are photocopying and scanning. With the old devices, you place your document on the glass or in the document hopper, push the Scan button, and the results are emailed to you. With the new devices, you place your document on the glass or in the document hopper, push the Scan button, and the results are emailed to you, plus a confirmation page is printed out.

    Really eco-friendly service there, printing out confirmation pages for every scanning job.

    The problem was fixed a few weeks later.

    Bonus chatter: Our fax machines also print confirmation pages, or at least they did the last time I used one, many years ago.

  • The Old New Thing

    Microspeak: Stretch goal


    Recall that Microspeak is not merely for jargon exclusive to Microsoft, but also for jargon that you need to know.

    A project will set some goals, which are things it intends to accomplish. It may also set stretch goals, which are things it hopes to accomplish. If you fail to achieve a stretch goal, your project is still a success, but if you make it, your project is even more awesome. A stretch goal could be unrelated to an existing goal.

    Goals for this release

    • Support dynamic widget recolorization.

    Stretch goals for this release

    • Improve throughput by 10% compared to previous version.

    Non-goals for this release

    • Support offline mode.

    But more often, it takes the form of a higher level of achievement for an existing goal:

    Goal: 40% of the programs will land actual spend within 10% of estimate. Stretch goal: 60%.

    Setting a stretch goal is tricky. You want to set it just at the edge of achievability. If you make it unrealistic, then nobody will take it seriously.

    You can think of a stretch goal as an "extra credit" assignment. You won't be penalized for missing it, but making it will earn you kudos.

  • The Old New Thing

    Sorry for the interruption, but it doesn't happen often


    Many years ago, my feature manager and I were called into the project leader's office for some reason or other, I forget exactly what.

    We were about five minutes into the meeting when the project leader's mobile phone rang. This was back in the days when mobile phones were not commonplace, and having one was a way of showing off your status.

    The project leader answered the call, but instead of saying, "I'm in a meeting, can I call you back?" he proceeded to carry on a conversation with the caller as if we weren't there, while we sat there and waited.

    I got up and left his office.

    I went downstairs to the lobby and read whatever newspaper happened to be sitting there for visitors to read while they waited. I think it was The Wall Street Journal, but it could have been The New York Times.

    After finishing a section of the paper, I came back upstairs to the project leader's office. By that time, the project leader had finished his call, whatever it was.

    As I sat down, the project leader said, "Sorry, I don't get calls on this phone often."

    I immediately replied, "That's okay, I don't read The Wall Street Journal often either."

  • The Old New Thing

    Random links on taking better pictures


    I'm always interested in finding simple things you can do to take better pictures. Here are some links I've collected.

    One thing I discovered as a tourist is that if you ask a random person to take your picture (because you're traveling alone or because it's a group picture), they will usually gladly oblige, but they will also do a really bad job of framing the photo.

    Here's what I want: A head-and-shoulders shot of me with the object of interest.


    Usually I'll get this: The photographer has zoomed out because they want to get my whole body (and my sneakers and my backpack that I put on the ground because I don't want it in the picture):

    ¯ ¯

    At least some cropping and zooming can undo that.

    Worse is when the photographer tries to fix the problem by taking a few steps back, thereby changing the relative sizes of the object and me.

    ¯ ¯

    When you take a few steps back, I get smaller but the object of interest remains the same size (since it is further away).

    I've tried a few things, like taking a sample photo to show what I want. ("Just do this again, but I'll be standing there.") It usually doesn't help. The volunteer photographer will take the picture they want.

    I can't really complain, because they were doing me a favor. But I've also learned to set my expectations appropriately and assume that any picture not taken by me will not be framed in a manner I like.

    This upcoming Sunday is National Selfie Day, according to some DJ in Texas.

  • The Old New Thing

    Bitter or acerbic? or does it make a difference?


    One of my colleagues told me that my name came up in conversation, and somebody said that they thought I had a reputation for being bitter.

    My colleague defended me. "Nah, Raymond isn't bitter. He's, I dunno, acerbic."

    "Acerbic? What does that mean?"

    My colleague looked it up.

    "It means, um... bitter."

  • The Old New Thing

    When you inadvertently become a collector of something you really aren't all that into


    As I was heading home at the end of the day, I ran into one of my colleagues who was also going home, and he was carrying a Star Wars-themed metal lunchbox similar to this one. For those who didn't grow up in the United States, these metal lunchboxes are the type of things elementary school children use to carry their lunch to school.

    I remarked, "Nice lunchbox."

    My colleague explained, "Yeah, I sort of ended up as the lunchbox guy. It started when somebody gave me a lunchbox as a semi-humorous gift, and I kept it on my shelf. Then other people saw that I had a metal lunchbox and concluded, 'Oh, he must collect metal lunchboxes,' and they started giving me metal lunchboxes. And before I knew it, I became an unwitting collector of metal lunchboxes."

    The same thing happened to a different colleague of mine. As his first birthday after he got married approached, his new in-laws asked his wife, "What does Bob like?"

    His wife shrugged. "I dunno. He kind of likes Coca-Cola?"

    That year, he got a vintage Coca-Cola serving tray. The next year, he got a Coca-Cola clock. And then Coca-Cola drinking glasses. And so on.

    Eventually, he had to ask his wife to tell her family, "Okay, you can stop now. Bob doesn't like Coca-Cola that much."

  • The Old New Thing

    That's not how you start a boat


    Tomorrow is Opening Day of the Seattle boating season. (Which, as I noted some time ago, is purely a social occasion with no legal significance.)

    One of my colleagues is not much of a boat person, but his wife is. (In fact, she's a commercial fisherman.) They were on board some fancy boat or other as it sat docked. He was up on the top deck—this being a boat so fancy that it had an upstairs and a downstairs—and as the preparations were made for heading out, his wife called out to him to start the boat, since he's up there already.

    Now, as I mentioned, my colleague isn't much of a boat person. But he figured, "These modern boats, how hard can it be? It's probably pushbutton nowadays." So he looked at the control panel and saw a bright red button. "Red button, that's probably the power button, right?"

    The button looked like a letter V with a dot in the middle, or at least that's how it was described to me.

    Immediately upon pressing the button, alarms rang on board the boat, and the Coast Guard called them on the radio.

    It turns out that the V with a dot is not the power button. It is the "man overboard" button. The dot is the person's head, and the letter V represents the two flailing arms.

  • The Old New Thing

    How to find the IP address of a hacker, according to CSI: Cyber


    The episode of the television documentary CSI: Cyber which aired on CBS last Wednesday demonstrated an elite trick to obtaining a hacker's IP address: Extract it from the email header.

    Here's a screen shot from time code 14:35 that demonstrates the technique.

    <meta id="viewport" content="" name="viewport"></m <link href="y/images/favicon.ico" rel="shortcut ic <link href="y/styles.css?s=1382384360" type="text/ <link href="y/mail.css?s=1382384360" type="text/cs <hidden: ip: 951.27.9.840 > < echo;off;>           <!--if lte IE 8><link rel="stylesheet" type="text/ <!--if lte IE 7><link rel="stylesheet" type="text/ <link href="plugins/jqueryui/themes/larry/jquery-u <link href="plugins/jqueryui/themes/larry/ui.js?s=

    This technique is so awesome I had to share it.

  • The Old New Thing

    In the Seattle area, people treat you nicer once they learn your last name is Gates


    One of the team members during the days of Windows 95 happens to have the last name Gates, no relation.

    She says that it's surprising how nice salespeople are to you once they learn what your last name is.

    Go figure.

Page 2 of 137 (1,365 items) 12345»