« August 2007 | Main | October 2007 »

September 30, 2007

The Halo Story

Although I've never played the games, I recently spent some time reading the Halo story, both on Wikipedia and the Halopedia (which runs MediaWiki, the same software that runs Wikipedia). They are both good sources of information; as might be expected, the Halopedia is more complete, but the Wikipedia pages are better edited.

Ignoring their appeal as games (which is evidently excellent) and reading them purely as science fiction, the story and backstory behind Halo is very detailed and quite good. New Mombasa and its space elevator, the Halos, Reach, the SPARTAN-II project, "glassing"--this is all great stuff (and quite grim at times). In fact a lot of the story IS told in books; the games themselves are only small windows into the larger story.

As a Jack Vance fan I'm not crazy about the names of the people (and aliens), but some of the ships have great names: the human ships Forward Unto Dawn, Pillar of Autumn, and In Amber Clad, and the Convenant ships Ascendant Justice, Seeker of Truth, and of course High Charity...like many things on Wikipedia, it's easy to get slurped into a vortex and spend hours reading about all this.

Posted by AdamBa at 09:45 PM | Comments (3) | TrackBack

September 25, 2007


On Monday we moved into our new space, remodeled as discussed in earlier posts about Workplace Advantage. There are still a few flat-panel displays to be hooked up, but it's basically complete. Today they ordered some food and invited families to come visit, so the kids got to run around the place a little bit and write with markers on the walls (which are designed for that).

It's only been two days but so far there haven't been many surprises sitting in the team space. You have unwanted interruptions from people yelling, but you also have the chance to quickly get questions answered, or move around to work together briefly. The exact protocols for this should work themselves out. One thing is that because of our teaching schedules, there will rarely be more than 4 of us in the room (the room seats 8 but there are only 7 of us now).

The space itself is quite nice (lots of windows) and the rest of the building looks dandy, especially the common spaces. This is a photo of a couple of people engaging in some impromptu bonding in the EE lounge:

Our General Manager was kind enough to go out and buy the hardware and software to enable that.

Posted by AdamBa at 09:15 PM | Comments (0) | TrackBack

September 24, 2007

Day of Clearing

Last Friday a bunch of us from Engineering Excellence participated in the United Way of King County's Day of Caring, an opportunity to work on community service projects. Our specific project was clearing blackberries from Rattlesnake Lake park.

For those not in the Seattle area, I'll explain that blackberries are one of the joys of late summer around here. They grow everywhere; there isn't a park or trail that isn't infested with delicious nuggets of blackberryness. Unfortunately it really is an infestation; the most common species of blackberries are not native to the area. Some may say let the plants battle it out and we can eat the winners, but they do take over rapidly (and can be a big pain to exterminate if they get into your garden).

So we drove to Rattlesnake Lake to de-infest a small part of it. Rattlesnake Lake is east of Seattle near North Bend, near the outlet mall and the Twin Peaks tourists. It's actually maintained by Seattle Public Utilities, which owns the entire Cedar River watershed as a water supply for the city, and runs Rattlesnake Lake next door as compensation for restricting access to the Cedar River (there's a nice Education Center that talks about the watershed). Rattlesnake Lake is very scenic; it's also the starting point for a nice hike up to Rattlesnake Ledge (comparable to Little Mt. Si), and also the Iron Horse Trail, which heads west 105 miles over an abandoned railroad line (the term "Iron Horse Trail" seems to be a common one in this situation), including a 2.3 mile tunnel near Snoqualmie Pass.

We were assigned an area near the shore of the lake, given pruners and shovels, and put to work. If you've seen blackberry patches you'll know the type: about 8 feet high and full of vaguely malevolent, thorny blackberry plants. You go in with the pruners and try to get the plants down to about knee height (while avoiding any other plants have managed to survive), then dig down with the shovel to get out the "crown", where the roots meet the plant just below the surface. If you uproot the crown then you can basically leave it all lying on the ground, it won't re-root from there. But if you just trim the plant at ground level and leave the crown in place then it will grow back quickly. Unfortunately although the crown is easy to get to, it's hard to extract because the roots are strong.

We attacked the blackberries and after about 4 hours of work (interrupted by lunch) we had made a small but noticeable dent in them, possibly visible by satellite (go to this view here; in the middle of the picture, on the north shore of the lake just above where the image switches to in color, there's a clump of green that intrudes onto the grassy area. We were weeding behind that clump, the blackberries look smoother and only slightly darker than the grass, compared to the lumpier trees). A later crew will come in and plant native plants in the area.

This is some dialogue:

Adam [observing that a certain section had been trimmed down, but not completely cleared of crowns, while most people had moved on to another part]: Hmmm, I think we are over-multitasking.
Another EEer: Yes, we didn't stick to a proper definition of "done" for this section.
A normal person: Do you really talk like that away from work?

One problem with blackberries is that they have big thorns on them. New growth isn't that bad and can be handled with my garden gloves, which have rubber palms and fingers. But clearing away the Old Man of the Blackberry Patch with rubber gloves will get you lots of pokes. I went looking on the web for gloves that claim to be tough enough for the task and it basically came down to two (once I got past all the people selling accessories for the Blackberry mobile device): the Garden Armor glove and the Bionic Rose Glove. Oop, there's another one from West County Gardener. They are all about $40; I don't need them, but I may buy them anyway. I'll show those thorns who's boss.

Posted by AdamBa at 09:57 PM | Comments (2) | TrackBack

September 17, 2007

Wikipedia > Search?

About a month ago I finally changed my browser home page to Wikipedia, abandoning the search engine which had previously occupied that spot.

Although of course I still sometimes wind up switching over after I start the browser, it is much less frequent than then times I had to switch to Wikipedia to find what I wanted. I find that a lot of my searches are looking for information on a particular topic, and the Wikipedia page is usually a good place to start (most search engines will return the Wikipedia page near the top of the search results anyway, but why bother with the intermediate step). One of the big early benefits of Google was its inbound link counting, so that if you searched for an organization where you knew the exact name but did not know the URL, it would almost always put it at the top of the results. Wikipedia also does this well since it is going to find the entry for that organization (and chances are high if you care about it, it has an entry) and that entry will include a link to the real website, if you care (which you often don't after reading the Wikipedia entry). Wikipedia writers have also done a pretty good job of creating redirects, so "tokenring" redirects you to "token ring", the real entry. And searching for something like "ACM" brings you to the Association for Computing Machinery page but with a link at the top to the disambiguation page. The only thing that they really need is a spell-checker, so that searching for something like "Seattle Children's Theater" would at least suggest that you wanted "Seattle Children's Theatre" instead.

I also find that Wikipedia often works better when I'm looking for a quote or fact that returns far too many hits when I try to remember specific phrases in it. For example, I knew that in the past somebody had claimed that learning BASIC as your first programming language would warp your brain. But I couldn't remember enough of the specific phrase used to find it via searching for things like "BASIC warped", "BASIC damaged", etc. So I went to the BASIC Wikipedia page and lo and behold there was a link to a 1975 letter by Edsger Dijkstra titled How do we tell truths that might hurt? with the quote "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."

Wikipedia just passed 2,000,000 entries in the English dictionary, which continues to be one of the signal accomplishment of the World Wide Web. I also noticed that Wikipedia has a tag for Article that need to differentiate between fact and fiction which shows, perhaps, that the faceless faces behind it have a sense of humor.

Posted by AdamBa at 06:51 AM | Comments (0) | TrackBack

September 11, 2007

"The Sound of Music" Was Great!

Two more weekends. Everybody should go see it. This week there is a Thursday evening show also, and next week Wednesday and Thursday.

Posted by AdamBa at 08:36 AM | Comments (0) | TrackBack

September 09, 2007

Dave Cutler Wins the Bill Gates Award

At the Company Meeting, it was announced that Dave Cutler won the new Bill Gates Award, which is meant to recognize those who have made the absolute highest contributions to Microsoft (the award will be given only in years in which a suitable candidate emerges, and Bill has promised to return to present it. It is different from the Gates Award for Global Health, which is given by his Foundation and is sometimes referred to incorrectly as the "Bill Gates Award"). I have previously written that Microsoft has too many of these awards; Cutler earlier this year won a TCN Award which was meant to be the supreme award for contributions to Microsoft, but now the Bill Gates Award is the new ultra-supreme award for contributions to Microsoft. Notwithstanding that, Cutler certainly deserves any accolades that Microsoft chooses to heap upon him; if you want to show that an engineering honor really has meaning you have to give it to Cutler first, then everybody else can get in line behind him.

I had the privilege of working under Cutler for about 4 years, working on the first two versions of Windows NT. Looking back, I can appreciate how lucky it was that I spent some of my formative years in that group, where Cutler had imposed quality engineering discipline as a basic fact of existence. I know that sounds sappy and I'm not usually given to such mawkish sentiment, but in this case it is justified. In the overlay of The Soul of a New Machine onto the early development of NT, Cutler obviously fills the Tom West role of gruff-but-caring leader, but he was also in there everyday hacking on the core of the kernel.

Earlier in the Company meeting they showed a quick snippet of Cutler walking on stage to accept the TCN Award, accepting the applause with the typical expression he displays in such situations (which is best described by quoting Porky Pine: "I almost feel like smiling myself"). And I felt a big goofy smile creeping onto my face. Cutler was not actually at the Company Meeting to accept the award, but he recorded a nice thank you message.

When Bill Gates was introducing the winner of his eponymous award, he mentioned something about how if you ever broke the build you certainly knew Dave. Which leads me to my favorite Dave Cutler story. At one point during the development of NT, Cutler decided to sit in the build lab and personally supervise all checkins to the source code tree, to inspire people to be a bit more careful about breaking the build. Well, one fine day there was a break in the Build Verification Tests, which was eventually traced down to my code (breaking the BVTs, which tended to ferret out interactions between different components that might be hard to find on your personal test machine, was considered somewhat of an occupational hazard and not in itself evidence of shoddy work). I debugged the problem in the lab and figured out that the problem was not initializing a variable to zero. So I told Cutler I would go back to my office to fix it, which I promptly did by zipping across the hall, checking out the file, adding an "= 0" to the declaration of the variable, then checking it back in. After I returned to the lab and announced that the problem was fixed, Cutler synced the files onto the official build machine and started to build it--at which point it was revealed that my change didn't even compile. It turns out that the variable in question was a 64-bit integer, which back in the day was a struct with two 32-bit integers in it, so the initialization had to look like "= { 0, 0 }". Of course it was obvious that I had not even compiled the change before checking it in, which was a no-no. Cutler decided to just fix it and check it in directly from the build machine (which was unusual). Every checkin has a comment associated with it (which is stored permanently), and when Cutler checked it in he started typing the comment "fix Adam's fuc"...but then gave me a mischievous grin, backspaced that out, and just wrote "fix build break".

My other favorite Cutler story happened one time when Paul Maritz was standing the lobby of building 2 with some external customers, and here comes Dave Cutler stomping along the well-worn path between the build lab and his office, scowl firmly affixed to his face as he mulled over some engineering transgression committed by the troops. Paul Maritz, in a possibly ill-advised move, stopped Cutler and introduced him to the customers. I happened to wander by at this moment and remember thinking to myself, "Well, that's the end of Microsoft's relationship with whatever company those guys are from." But Cutler stopped, smiled, extended his hand, and chatted with them for several minutes as if he had not a care in the world.

And Cutler was also the person who originated the Weekly Integration Meetings, or WIMs which long before they turned into an excuse to order piles of catered food on Fridays, were simply a Tom Westian attempt to integrate the team members who had come from Digital with the Microsoft newbies like myself. Cutler has a bit of a reputation as a grumpy guy, but while it's true that he doesn't suffer fools gladly, in my experience he was never anything but friendly and helpful.

So congratulations to Dave, and I mean it when I say it couldn't happen to a nicer guy.

Posted by AdamBa at 09:23 PM | Comments (3) | TrackBack

September 06, 2007

Software + Services = ?

Today we had the Microsoft Company Meeting, where we all gather at Safeco Field and hear about what the company has done and what the company will do.

Ray Ozzie was one of those who gave a speech. After seeing him talk at this event several times I realize that I have the same reaction each time: he's a great presenter who speaks with passion, in complete sentences, and apparently off-the-cuff (there was a prompter for the speakers, but from my perch in the left-field nosebleed seats he did not appear to be looking at it). But when he's done you think back and realize you're not sure exactly what his main point was. In this case he was talking about how important "software + services" was for the future of Microsoft. Which made me realize, once again, that I'm not really sure what that phrase means.

Ray did say "When I say 'software + services', a lot of people think I just mean Search." OK, I didn't think that; to me s+s clearly implies that Windows and Office, for example, will change in some important way. I did glean one nugget, which is that s+s involves storage in the cloud, done in a way that it is secure, is available to me on all my devices, can be easily shared with those I designate, and all that. But is it ONLY storage in the cloud? Wouldn't that just imply that Windows added a cloud storage API (which doesn't seem like much more than an installable file system with quality-of-service and payment added on) and then a web-based architecture for cloud storage providers to plug in to (those two parts being the "application API" and the "driver model", respectively, for cloud storage)? There must be something else.

Being in Engineering Excellence, I'm particular interested in the implication that this is going to be a dramatic change in how we engineer our software. Ray put up the standard list of sea changes throughout Microsoft history (GUI in 1990, Internet in 1995, large-scale services in 200x) and implied that s+s/SaaS (which he seems to view as equivalent, although they taste different to me) was the latest such change. But a fundamental change in the customer experience with our software does not always mean a fundamental change in how we engineer it. Although the Internet was obviously a dramatic change for users in the mid-1990s, we didn't change how we engineered our software in the mid-1990s. Conversely, something like the switch to multi-core likely IS going to be a fundamental change in how we engineer our software, even though a user may not even notice (if we do it right, anyway). It's not yet clear to me whether the switch to s+s is going to involve a change in how we engineer, mostly because I still don't understand exactly what is involved. I was discussing this with another EEer and we agreed that such an engineering change would be a perfect focus for next year's EE/TwC Forum IF it turns out that there is something meaty to talk about.

So I wrote the above and then I was thinking "Didn't I write something similar before?", so I looked for it to link to, and lo and behold it was after Ray Ozzie's speech at LAST year's company meeting, and it basically said exactly the same thing. So in the last year, at least, I haven't figured it out.

In other Company Meeting news, Microsoft announced that they are going to start a very basic bus service, free to employees, between 5 locations around Seattle and main campus. At least I think they go to main campus. They also announced 3 new office spaces on the Seattle side of the lake, further evidence of how scattered our Puget Sound workforce is becoming, making the bus service less effective. But it's still a great idea and depending on the routes and the frequency, could really help with parking on campus. I think they said they had 14 buses and there are 5 routes and they are probably one hour roundtrips, so that's about a 20 minute headway. Which is a bit too long, but not by much. Like a lot of these things, it's good to try it out and we can improve it as needed.

Posted by AdamBa at 08:41 PM | Comments (9) | TrackBack

September 04, 2007

Hey Genius!

Microsoft has a new site for college recruiting at hey-genius.com.

I like the idea that we're going for here, which is to try to be a bit irreverent (go check out the site to see just how irreverent it is). The site redirects to our existing college recruiting site to get to the real meat (job listings, campus visit calendar, etc), but it has some of its own content. And there's a discussion forum, which is good. Even if it just takes the kinds of questions that now occur on jobsblog (which mentioned "Hey Genius" today) and moves them into this Forum, that could be very encouraging to potential hires. To me Microsoft feels like an old t-shirt, to the outside world it can appear like a giant impenetrable fortress, so why not put a friendly/goofy face on it (although I think we could deliver a stronger message to potential college hires than just "waahh we're wild and crazy developers!").

I'm not crazy about a couple of things. I think the biggest foopa they make is on the very first page, where they imply you need an IQ of 140 to get a job at Microsoft. I know this is a "joke", but you never get a second chance to make a first clickthrough impression, and to me it comes across as elitist and unnecessary (the "high brainwidth/low brainwidth" joke is decent, but it would have to be a lot funnier to make the first page acceptable. To paraphrase Roger Rabbit, you can only do it if it's funny).

Also, in the "Genius 2 Genius" section you can take a challenge to write test cases for a sort routine, which I think is a fantastic idea for the site. Unfortunately the challenge itself, which is written in Flash, hangs both IE and Firefox (interestingly, when it hangs Firefox I get a general message about Firefox crashing; when it hangs IE I get a message saying that the Flash player hung. This is mostly one of those "Why are you telling me, I just want the POC to work" messages, although the IE one then allows Microsoft to direct you to Adobe's site to download the latest Flash player, not that that actually fixes anything. And I don't think the more specific hang attribution is an evil Microsoft plot; I'm sure there is some API Firefox could call to get the same effect). Anyway the obvious message is if you create a new site with little games in it, make them work.

You should check out the site if you are curious, or want to make fun of it, or just want to find the place where the wigged-out Pilgrim says "Marry! I doth spot a brainacopia."

Posted by AdamBa at 09:39 PM | Comments (0) | TrackBack

September 03, 2007

"The Sound of Music" in Bellevue

Starting next weekend, The Attic Theatre is presenting The Sound of Music at the Meydenbauer Center in Bellevue. You can buy tickets here.

From the blurb: "The timeless, beloved classic based on the book The Story of the Trapp Family Singers by Maria von Trapp. Set in 1938, "The Sound of Music" follows the story of Maria Rainer, a free-spirited nun who is hired by a widower, Captain von Trapp, to care for his children. Maria teaches the children to sing and although the Captain is engaged to a wealthy socialite, he and Maria fall in love and marry. Their happiness is soon threatened when the Nazis invade Austria." In the process they sing a bunch of your favorite songs (I was poking around and found this page from the National Archives detailing The Real Story of the von Trapp Family).

My son is playing Friedrich, the older von Trapp boy, so I've seen a lot of the rehearsals and the show should be great for the whole family.

Posted by AdamBa at 09:38 PM | Comments (0) | TrackBack