An 'Access Hero', sorta

by Michael S. Kaplan, published on 2004/12/21 03:11 -05:00, original URI: http://blogs.msdn.com/b/michkap/archive/2004/12/21/328259.aspx


A little over two years ago, Microsoft Access had its tenth anniversary. As a part of that celebration, they asked people who have been involved in Access both inside and outside of Microsoft to come in and talk about some of their experiences, and they dubbed these people Access Heroes. I was asked to write such a story but the timing was such that by the time they had the prose from me, it was too late to get it in. I was a little bummed since I had told some people about it, but realized I could not really wait until the 15 year or the 20 year. I eventually just got over it.

Then recently someone had seen that Access Heroes site and they wondered why I was not there since I had used six versions of the product in various capacities both inside and outside of MS and act as the Technical VP for the Pacific Northwest Access Developer's Group. I told them the why, and they asked why it couldn't be posted here at this site now.

Having no good retort for that, I dug up the prose and now post it here for all to enjoy.

Its not the funniest of the "Access Heroes" posts (the add-in that developers put on Barbara Wilson's office that put up a message box when she it both mouse buttons wins my vote for that), and only a small part of it is even (jokingly) international, but it was fun to remember the bug reports discussed here one again.

These days, I write code in C, C++, and C#. But I still use Access to hold the half-gigabyte source data that we use for collation (there is no databse tool for ease of transportability between machines, working offline, and querying in the world, and not even Bill Vaughn will convince me otherwise!).

Enjoy!

Letting Off Steam During the Product Cycle

By Michael Kaplan, Software Design Engineer for Windows Globalization

When Jean Philippe asked me to think of the most interesting thing I could remember from my time working with Access, I had to give it a little bit of thought. After all, I had been working with Access for five versions and eight service packs, and I had been a member of the actual Access development team in charge of wizard development for over three and a half years. But in the end I decided it might be good to show a lighter side to the Access world. And that is the basis of my story.

At Microsoft, bugs are a serious business, as is the reporting and tracking of them. Of course, everyone needs to have a little bit of fun and blow off a little steam, right?

An excellent (non-MS Access) example of this was back in the beginning of 1995, in a now almost famous bug was entered into the Visual C++ bug database. In fact, you can probably find the text of the description of this bug with an easy search on the Internet. The title of the bug was:

"Build done" signal makes no sound

The report went something like this:

Visual C++ makes an audible signal when a build completes.  When no developer is in the room, this signal doesn't make a sound.  To reproduce:

1) Start a build.

2) Leave the room.

3) Note that the chime does not make a sound.

A program manager explained the difficulty in resolving this hilarious issue, with an oblique reference to Schrödinger’s Cat:

The problem is that while you're out of the room your build is neither finished nor unfinished.  It stays in a state of flux until you return and collapse the quantum uncertainty by observing it.

Perhaps we could link the build finished event to a cat in a box?

The funniest line was one of the last in the report:

I placed my machine in the forest at the edge of the campus. I started a 'rebuild all' and ran out of the forest towards my mailroom. My build normally takes 3 minutes. After 5 minutes I had not heard anything, so I returned to my machine. Unfortunately a tree had fallen on it.

My coolest bug along these lines was one that had to do with the fact that there was no assigned base address for the Microsoft Layer for Unicode (code named Godot). Since it wrapped several hundred APIs and called a bunch more, dynamic fixing of this at runtime from the shared base address that all binaries share could lead to minor performance problems. So it was both fun and functional to be able to put in the bug:

All your base are belong to Godot

Now when I was in the Office world, bugs were usually taken quite seriously. Still, at least once during each product release cycle there always seemed to be one of these “joke” bug reports that would appear. The products were released long ago and I personally think they are pretty awesome, so it looks like quality did not suffer from these brief moments of silliness. When I was asked if I had any stories to share, these bugs immediately came to mind. So, here are the ones that I know about from Access:

Access 2000 – Remember those buzzwords!

The bug title was simple; it read:

OfPERF: Cafeteria lines are moving too slowly

The prefix at the beginning of the title is self-explanatory: it was entered as an “Office performance” issue, which at the time of the Office 2000 release was a metric to which everyone in Office was paying attention. Everyone knew “performance” was a buzzword that concerned people on the team, which made it the perfect time for someone with a clever spirit to point out performance problems with the lines in the lunchroom cafeteria.

But it could not stop there -- there was one person who noted that they tried to reproduce the reported problem with lines in the cafeteria late in the afternoon and was unable to do so (someone else suggested looking during lunch time, instead, duh!). Since the development had not yet done the performance work for Data Pages, someone suggested that perhaps DAPs were involved? Another contributor decided to declare it “By Design” as part of an evil plot to keep people from going to the cafeteria, while others suggested that it would help if marketing could come with a spin to convince employees that it was a feature to help them get their work done when lines were too slow or to help them take a break when lines were slow enough to keep people away from their desks. In the end, it was marked by design, with a note that they could look into this issue for Office 19!

Now I did not directly participate in the bug (maybe I was too shy), but I did keep an eye on it to watch all of the contributions over the month that the bug was active. My favorite was the report of a GPF (General Peristalsis Fault). Glad I did not hit that bug myself.

Access 97 – In the forefront? Backwards compatibility!

Access 97 was an important release (aren’t they all?), and it was also the first release that really tried to integrate Access into Office. One of the big issues that everyone in Office was concerned about was backwards compatibility – how well does the code that worked in a prior version work in Access 97? It was the perfect setup for a joke bug report.

What was the bug? I could not recall the title of the bug report, but someone noticed that the one-pint milk cartons that were available for free in the kitchens had a different shape (formerly a short and fat variety, they were now tall and thin). Someone decided to immediately mark it as “By Design” since there was no actual change in the volume of milk, but others were taking backwards compatibility a lot more seriously – after all, who knew what kind of dependencies people might have on the older carton shape to fit into particular holders or corners? People could accidentally drop the cartons on their keyboards if they were not prepared for the changed shape, right? The crowd from User Assistance pointed out the myriad of issues with documenting the change and the localization team worried about the milk used by people in other cultures that might not prefer milk from cows. It was simply out of control!

Although I thought it was pretty funny at the time, I can’t recall what my favorite contribution to this joke bug report was. Though I remember that everyone was claiming that it wasn’t as good as the bug from the version before Access 97….

Access 95 – Pure, unadulterated fun in a bug report

Sometimes, blowing off steam does not involve trying to make the work you are doing relate to the joke you are trying to tell. And there is no better proof of this then the joke that was entered into the bug database for Access 95. But it was actually so funny that I admit to looking it over a few times over the years when I just wanted a good laugh.

The title of the bug was deceptively simple and went something like:

There is no Mountain Dew in the Building 25 Cafeteria

So simple, so elegant. And everyone got involved! Whether it was the brave (or maybe just feisty) soul who ported the bug over to the VBA bug database and brought it up as a possible cause for a performance degradation in a particular build, or the even braver soul over on the VBA team who carefully looked in the kitchen in their building and saw no shortage of Mountain Dew – so he had to mark the bug “Not Repro.” Of course, after the bug was ported back to the Access bug database with that resolution, it had to be re-activated since the bug named the place and the VBA developer did not follow the repro steps explicitly enough! Eventually they did get the problem resolved, and I think I remember that they even marked the bug “Fixed” at that point.

[Author’s note: the Access team is no longer in Building 25; perhaps in their new digs they were able to keep on top of the Mountain Dew situation? <grin>]

My favorite contribution was from the developer who had a miniature refrigerator in his office. He resolved the bug “Fixed” and let the person who reported the bug know that he had a “private build” with the fix in his office if it was needed. I wonder how many people took him up on that and robbed his personal stash of soft drinks!

There were a lot of other fun things that happened while I was doing stuff with Access. I remember...

I treasure the memories of all of it, and was glad I got to work on, with, and for Access all of those years. But to me the funniest cross-discipline, cross-team, and sometimes even cross-division thing that would happen would be those joke bugs. They somehow put it all into focus. 

Not to mention that to this day when I am in the cafeteria in Building 25 I will check for Mountain Dew even though I do not drink it. You never know whether I might have to re-activate that bug....

Happy anniversary, Access!

 

This post brought to you by "∞" (U+221e a.k.a. INFINITY -- sometimes known as a "best fit" to the number 8)


no comments

referenced by

2005/03/12 Performance gains at the cost of your own components

go to newer or older post, or back to index or month or day