Our Green Steno Pads
Posted by Dave Luebbert, 6/13/05 at 8:05:00 PM.
A bit about programmer best practices at Microsoft and how they could be adapted for use with an Instant Outliner:
When I started to work with Charles Simonyi, he taught me to keep a steno notebook at my side. Anytime I found a design issue, some problem in the code, made a change in the code, made a to-do-list or had an idea that could improve the product, I would write that down on the right side of the steno sheets with an empty check box next to each item.
A few times a day we would visit each other (and he would make the rounds with other members of our team) and discuss the items on our notebooks. When we'd resolve an issue or transmitted an issue to the person who could best think about it, we would put an X through its check box.
I just looked at my steno book entry for August 14, 1986 when I was writing code for the Mac Word 3.0 stylesheet implementation. Here were a few of my entries that represent my work for the first day or so starting with the 14th.
for file format reorg
eliminate level 10
exchange PNest and PDxaLeft1
restore sprmCDocPic
add Aldus PLC
change file next in FIB dop to be a STTB (reserve space)
need to expand ftc in CHP to 16 bits by exchanging location of kul and ftcTop
Does the style copy belong in ReplaceCps rather than in the cid procedures?
Need to make it possible to read styles for Glossaries
RtfIn
needs font mapping
style sheet stuffing
storing headers and footers
The funny looking abbreviations in the notes are examples of Hungarian Notation in action. They name data objects and procedure names in the Word code we were writing.
Notice the outline nesting of the different discussion topics on the page. (Interesting that one of the entries on the page mentions that we were going to give up on trying to record more than 9 levels of an outline in Mac Word 3 documents).
We're using the Instant Outliner like we used to utilize our steno notebooks 19 years ago. It documents our thoughts as we develop the software. We get answers for our concerns much faster.
Instead of using a check box to mark items that don't concern me any more, I collapse it leaving it behind as a breadcrumb trail to remind that I passed this way once. If I've made a bad choice in my development work or need to remember what I actually decided to do or what I actually did do, the subheadings left behind in my outline will help me.
I'm guessing there will be programmers in twenty years who will be consulting their opml collection to remember what they used to do.