« August 2005 | Main | October 2005 »

September 29, 2005

Tacoma Narrows Bridge Work Continues

Interesting article about people working on the catwalk of the new Tacoma Narrows Bridge. "'It’s a long way down,' Gaddy said. 'I counted five seconds before it hit the water.'"

You may not appreciate this, but this is probably the last long-span suspension bridge to be built in the United States for a long while, and it's happening right in my figurative back yard.

Earlier this month the local papers' weekend magazine had a nice story about the bridge. And the official construction website isn't bad. They'll be spinning the cables in October. Spinning the cables! Geeba geeba geeba.

Posted by AdamBa at 10:08 PM | Comments (0) | TrackBack

September 26, 2005

Aliens.msh - A Monad Video Game

In my spare time in the Track Lounge at the PDC, I worked on a simple video game written in MSH. It harkens back to a video game I wrote for the original IBM PC back in 1984, when I was in high school, called "Left, Right and Fire" (which I actually sold to a company, but they went out of business...a different story).

I won't include the full version (it's about 300 lines) in this blog entry; it's available here. I'll put it out under the Creative Commons Attribution license; you can use it as you see fit, as long as you attribute the original to me.

Feel free to paw through the code trying to decipher it; if you have any questions just ask. Please note the styly multi-colored explosions. I was originally going to have the aliens move sideways, but down is easier. The game is also missing logic to notice when it should end. It's a quick program, caveat emptor when imitating it.

To run it, just paste the contents into a .MSH file and run it. The controls are z to go left, x to go right, and space to fire. Of course you can change those easily if you want.

I just want to call out a few sections of the code. The first is the one that gets you the raw UI object, which lets you access the console directly:

$rawui = $host.ui.rawui

Run this through get-member if you want to see what is available.

Next we have this bit of code which initializes an enum with the OR of multiple values:

$keyopt = [System.Management.Automation.Host.ReadKeyOptions]"NoEcho,IncludeKeyDown,IncludeKeyUp"

This is the main key processing loop, which actually uses the $keyopt defined above:

while ($rawui.KeyAvailable) {
  $key = $rawui.ReadKey($keyopt)
  if ($key.KeyDown) {
    switch ($key.Character) {
      ([char]"z") {
        # etc.
      }
    }
  }
}

Then we have the management of a hash table of missiles, which is initialized with:

# hash table of coordinates of active missiles
$missiles = @{}
# current key for $missiles (wraps around at 1000)
$missileindex = 0

and then new entries are inserted with:

$script:missileindex = (($missileindex + 1) % 1000)
$script:missiles[$missileindex] = new-object System.Management.Automation.Host.Coordinates $missilex,$missiley

So $missileindex is just a number that loops around rarely enough that it won't ever hit an existing hash table entry; and the elements in the hash table are Coordinates objects.

There's this little bit:

$keys = new-object object[] $missiles.Count
$missiles.Keys.CopyTo($keys,0)
foreach ($m in $keys) {
  # then later you might call...
  $script:missiles.Remove($m)
}

which allows you to copy the keys of a hash table, so you can walk it and possibly remove elements (if you try to remove from a live enumerator you get an error).

Finally the main timing loop looks (when simplified a bit) like this:

$t = time-expression {
  $script:done = drain_keys
  move_others
}
if ($t.Milliseconds -lt 100) {
  start-sleep -millisecond (100-$t.Milliseconds)
}

It uses time-expression to time each time through the main loop, and then waits until the next 100 millisecond boundary before continuing.

Posted by AdamBa at 08:55 PM | Comments (4) | TrackBack

Microsoft to Donate for Employee Volunteer Hours

At the company meeting last Friday, Microsoft announced a new component of their charitable matching plan. The company already matches cash and product gifts (up to $12K a year). At the meeting, they announced that for every hour that an employee volunteered at a non-profit, the company would donate $17 to that non-profit.

My first thought was why $17...why not $16 or $18. There's a bit of cold calculation around the number $17--as if Microsoft surveyed non-profit workers with a college degree and no experience and came up with some average--that would be missing if the number was $15 or $20.

But let's put aside snide thoughts like that. This is a GREAT benefit and the most impressive thing is that Microsoft proactively went out and tried to find a way to give more money to the community...I don't know of any groundswell among employees pushing for this, probably because I don't know (in my limited experience) of any other company that does this. I think the company was inspired by all the employee hours donated to Hurricane Katrina relief and wanted to find a way to support that. So this is an unalloyed good and should be heartily applauded by everyone.

Posted by AdamBa at 08:45 AM | Comments (4) | TrackBack

September 23, 2005

Company Meeting

Went to the company meeting today. I hadn't been to one in about 10 years.

My first surprise (when I rolled in to building 44 around 9:15, looking for a bus) was that all the buses left by 8:15 am. It did say this somewhere on the website but who knew? So I drove, foolishly took I-90 instead of 520, and got stuck with all the other Microsoft employees getting off the highway (I knew they were Microsofties because I was checking for orange parking passes hanging on their rear-view mirrors).

So I missed part of Bill's speech, which was a shame since I like to hear Bill speak. Then there were a bunch of demos. I guess they were cool but it was basically the exact same demos I had seen at the PDC last week, so not that exciting. Finally they cue up "Eye of the Tiger" with a live DJ scratching and I figured it hadda be the SteveB intro. Sure enough his CEOness comes pogoing on stage and gets us all fired up. I don't really recall what specifically he said, but after his talk I was ready to run through a wall, as always.

I skipped the product fair afterwards. Just computer stuff, b-o-r-i-n-g!! I was most impressed by how they had Safeco set up. There was a huge stage basically behind second base, with giant screens flanking it on the first-to-second and second-to-third base routes. The curtains, screens, lights, etc. were supported by about 100 cables hung from the roof. Chairs all over the infield, and the outfield had the product fair, with plastic decking put down everywhere to protect the glass. Live feed on all the monitors around Safeco. Box lunches and then free soda, wine, beer, popcorn, peanuts and licorice ropes after the meeting.

Someone said there were 18,000 people there. That's 72 person-years. I think Monad in its whole existence has taken less than that.

There was also this tooth-grinding-inducing article in the Wall Street Journal today. Man, why is it that journalists fundamentally can't understand how software is written? They simplify it and come up with bad analogies and the result is such a wildly inaccurate picture of the "before" and "after" of Longhorn...and stuff like this always makes me doubt anything I read about another industry.

Posted by AdamBa at 09:17 PM | Comments (5) | TrackBack

September 21, 2005

eBay Title Keyword Games

The helmet that NASCAR drive Robby Gordon threw at Michael Waltrip is now back for sale on eBay (it was pulled after fake bidding reached $10 million).

But forget the helmet. You can now bid on the image of the helmet on a piece of toast.

Wait there's more. Here's someone selling an e-book of the original bid (probably some quickie ghost-written job)...and then someone is offering a helmet which they took pains to point out (in the title) is not the Robby Gordon helmet (just pure chance it winds up getting hits from people looking for the RG helmet of course)...there's also a couple more people selling Robby Gordon items that have emphasized in the title that it is not the helmet...oh and here's somebody selling a Johnny Cash poster--also helpfully title-qualified as "not Robby Gordon Helmet" (in case you were thinking "Hey maybe this Johnny Cash poster is actually a Robby Gordon helmet in disguise").

Posted by AdamBa at 10:08 PM | Comments (1) | TrackBack

September 20, 2005

A Funny Thing Happened on the Way to the Demo

For the Monad talk for the PDC, we wanted to demo Exchange 12 and Monad integration. We didn't quite get it working, but Exchange was able to demo it during their talk later in the week. That's often how it is when you are trying to demo the latest and greatest bits: the fact that you are demoing on Thursday vs. Tuesday can be the difference between being ready vs. not.

In Proudly Serving I came up with a taxonomy of demos, from Type 1 (demo on a stable product) to Types 2 and 3 (demos on increasingly shaky products that will crash if you press the wrong button) to Type 4 (an app whose only purpose is the demo, separate from the real codebase). In this case we had a legitimate Type 1 demo, but even in that case getting it set up can be tricky.

Anyway, we wanted to be able to show the demo in the Track Lounge as well, so after the talk on Thursday I grabbed Vivek to get it set up.

The only machine I had to demo was my laptop, which is 2 years old and not super high-powered (only 512 MB of memory). The demo was in a Virtual PC image that was 2 gigabytes. So the first thing we had to do was walk over to the Exchange booth in the Product Pavilion (an area in the back of the PDC where various Microsoft groups were showing their stuff) and get the VPC image. This was right in the middle of the show. "Excuse us, can we plug a cable into your hub and copy this 2 gig file off your server? Great. And since my laptop is low on power, can I also plug in to your power strip? Cool. Oh, and then can we stand here for 5 minutes while it copies? Excellent!" We weren't complete street urchins (we were both wearing our nice Microsoft blue shirts) but it still looked strange.

Finally the bits copied. Next we went back to the Track Lounge where it occurred to me that I didn't have Virtual PC installed on my laptop. Of course I could copy it off the Microsoft corporate network, but I had to connect first. The Track Lounge booths had some Ethernet connections (to bypass the somewhat-shaky wireless network) but I also needed a cardkey and a key reader. My cardkey was in my hotel room and the PCCard reader in my laptop as always been flaky. Luckily I was able to get his cardkey from Vivek and a reader from Jeff (another Monader in the booth) and download the ~25 meg Virtual PC setup.

Now I had it all set up...of course it took 15 minutes to boot in VPC, but it worked fine. Vivek had the admin password for the VPC image written down on a piece of paper, but there was some confusion about one of the characters (one of those "Is it a capital S or a 5?" things). Turns out it was set to auto-logon so I didn't worry too much. Until 15 minutes of inactivity went by and it automatically locked itself. I futzed around with various combinations of S and 5 in the password and couldn't get it right.

So, I set off back to the Product Pavilion where an hour before I had copied the bits at Exchange's booth...and discovered that the entire Pavilion was in the process of being torn down and there were no Exchange people to be seen, just somebody from the show staff coiling up the power cables of the machines. $#@!&?? I had a flashback to an incident about 10 years ago (actually almost exactly 10 years ago)...when I first transferred to Softimage they put us up in this apartment building nearby called La Cite. One day I got the parking garage level wrong and when I emerged from the elevator I saw the whole floor fenced off, construction equipment and dust everywhere...of course I panicked and concocted some scenario where the construction crews had moved in that day and towed the car away...made no sense, but I went running off to the security guy, who drove me around in his golf cart until I found the car, safe and sound on a different level.

Now I had to find someone who knew the password. Luckily I saw Vivek sitting in the Data and Systems Track Lounge, and he was able to point me to the person who knew the password. Which it turns out was really close to what I had, but far enough that I never would have gotten it by trial and error.

Then I went back and unlocked the VPC computer and the demo worked great. The end.

Posted by AdamBa at 11:07 AM | Comments (2) | TrackBack

September 18, 2005

Clarification on Business Week Quote

After getting several WTF? emails from people at Microsoft, I need to clarify the intent of my quote in the Business Week article.

This is an excerpt from the article:

"But the more revolutionary features have been dropped, and Vista will arrive three years after researcher Gartner Inc. originally predicted that it would ship. Worse yet, they say, nobody has been held accountable. "People look around and say: 'What are those clowns doing?"' says Adam Barr, a program manager in the Windows group."

As I noted earlier, the quote is an example of a complaint from people outside the Windows team who don't understand the difficulty of shipping a project as large as Windows, and what the current state of the project is (Beta 1 shipped, Beta 2 on the way, final release on track for next year). Mark Lucovsky is an example of this (although a somewhat bizarre one since he worked on NT for years and knows what is involved).

Unfortunately by including the part about "nobody being accountable" as the lead-in to the quote, it makes it sound like I am amplifying complaints about Windows executives. It switches from me being one of the clowns to me being in the group that thinks someone else is a clown.

Jay Greene asked about using the quote and what he said in his email (verbatim) was "it gets at one of the issues that’s been a challenge for the company as it’s gotten bigger. The development process is slower than it used to be." So I don't know where the non-accountability angle came from. Does including an accurate quote in an inaccurate context qualify as a "misquote"? The effect is the same. For the record, I don't think I have ever said anything about Microsoft executives not being accountable and I certainly don't think it's true (to clarify that double negative: I think Microsoft executives are plenty accountable). I'm not a fan of the "10 Crazy Ideas". If anything, people complain that our review system is TOO Darwinian, so accusing someone of not being accountable is bound to annoy them. Yes there is some griping over at Mini-Microsoft about executives being on a different review curve, but I don't know about this, nor do I particularly care.

So the quote went from me defending the Windows team, to appearing to attack it (although people also seem to be missing the fact that I am only reporting what I hear from others, not my personal opinion). So now I've been stressing all weekend about what kind of shitstorm awaits me when I get to work on Monday. Bleagh. How was your weekend??

Posted by AdamBa at 11:29 AM | Comments (4) | TrackBack

September 17, 2005

PDC Day 3/4: Monad Rocks

(A little slow in posting this, I'm now back home).

Day 3 started off well with Bob Muglia's general session. Bob literally bounded up on stage and gave a very energetic talk about Windows Server. He showed the roadmap for the next 3 years and it was: 2005 Windows Server R2; 2006 Server Compute Cluster Edition, WinFX, and Monad; and 2007 Longhorn Server. That's only a sampling of what people in Bob's division work on so it was gratifying to see Monad mentioned. He also had a slide later devoted to Monad, and asked the attendees to commit to writing Monad cmdlets. I was sitting in the back with a big smile on my face.

The rest of the day was mostly showing Monad to people in the Track Lounge. I got an Exchange 12 demo (showing Monad and MMC 3.0 integration) working on my laptop, which really brought the Monad story home. The demo was running Windows Server Enterprise Edition in Virtual PC on my 512 MB laptop -- so it was a little slow, but people still understood what we were doing.

That night there was "Ask the Experts" at dinner. All the Monad people (there were 6 of us there) sat at a table and anyone who wanted to talk to us could come by. I gather Ask the Experts at PDC 2003 wasn't as well organized. There were over 100 tables arranged by very specific expertise, like Visual Studio debugging or Windows Communication Foundation hosting.

The last day had no general session, just more time in the Track Lounge. At 2:30 they announced the show was over, then around 2:45 they turned off the wireless network (signalling that it was really over). I noticed they were selling Find the Bug in the on-site store and I counted 7 copies the first day and 5 the last, so that's at least 2 more sales (or maybe they sold 202 and put 200 more on the shelf). Then it was off to the airport, on a plane that was probably 50% Microsoft people, and then to sleep.

Posted by AdamBa at 10:48 AM | Comments (0) | TrackBack

September 16, 2005

Business Week Articles on Microsoft

Business Week has a package of articles about Microsoft, including one about people leaving Microsoft and an interview with Mini-Microsoft.

The first article has a quote from me about the delays in Windows Vista: "People look around and say: 'What are those clowns doing?'" I get this from people in other teams at Microsoft and it's super-frustrating. I really do think Windows is more complicated than anything else Microsoft is doing. The different hardware, all the features, app compat, old stuff, new stuff...but if you try to explain that it sounds like whining. And I'm sure it's true that people have left Microsoft because of the delays. The only answer that works is shipping the software.

The Mini-Microsoft interview is interesting. Mini's target audience is really inside Microsoft so it could theoretically be an internal blog, but I don't think it would work as well. People get a thrill from anonymously posting in public (especially things like details of level/salary) and that wouldn't happen on the corporate network (besides they might not trust their anonymity there).

Posted by AdamBa at 07:57 AM | Comments (1) | TrackBack

September 15, 2005

PDC Day 2: Lounging

More egyptology. I saw hieroglyphics, temple columns, nice golden status of Egyptian gods. A carving showing hands reaching down from Aten to the pharaoh. And I learned that Curse of Imhotep was true and I was soon going to be eaten by rats. No, I wasn't back at the King Tut exhibit, I was waiting in line to ride "The Mummy" roller coaster at Universal Studios, where the big PDC attendee party was.

The party was very well done. As far as I could tell they had the whole park open just for us, with a bunch of restaurants serving food (all free free free) as well as street performers, drinks, desserts....just another example of how well this conference has been organized. PDC banners by the airport, PDC logo on my hotel key. Even the food has been great. There is a constant supply of it, and there's healthy stuff: fruit, granola bars, trail mix, fruit drinks, even the cookies are Snackwells. A really impressive job. I was talking to one of the planners who said she started working on this last November.

I spent most of the day in the Track Lounge, giving Monad demos and answering questions. It's really a great opportunity for people to talk directly to the produc teams. It's also not super-busy, so you can spend 10-15 minutes with someone. It was also good to see some of our MVPs--Thomas "Monad Rocks" Lee spent some time hanging out with us.

It's funny though, you don't hear much about the outside world (we're not supposed to be surfing the web or reading email while working in the lounge). So people we're talking about Google's blog search and I had no idea what they were talking about.

Well, off to more of the same today.

Posted by AdamBa at 11:02 AM | Comments (0) | TrackBack

September 14, 2005

PDC Day 1: Pharaohs

"Alexander had merely resurrected an age of pharaohs. Their wisdom, truly immortal, now inspired me!"
- Adrian Veidt, in "Watchmen" by Alan Moore

On Tuesday Bill Gates opened the PDC with his keynote. The room was huge; from way in the back, Bill looked like Mike Teevee standing up there. He opened with a good line about the electrical outage the day before: that when he said he wanted Windows to be as reliable as the electric utility, he was hoping we would come up to their level, not the other way around. And the talk started off with an amusing "Napoleon Dynamite" take-off video, featuring the real Jon Heder (and the real Bill, complete with "Vote for Steveo" t-shirt). From then on, however, Bill didn't look super-excited. In fact a lot of the demo wasn't Bill. he spent half an hour at the beginning recapping the past and talking about future opportunity, and 10 minutes at the end giving developers their charge (built on the Windows Vista/Office 12 wave), but the middle 40 minutes if the talk was Office VP Chris Capossela (who did look super-excited and did a great job) giving a demo of Windows Vista and Office 12.

The demos were very impressive, particularly Office 12. Capossela said that when Office asks users what feature they would like included in the next version, 9 times out of 10 the feature is already there--but users can't find it. He said Word 1.0 had 100 commands and Word 2003 had about 1500, including 35 toolbars. So the big work for Office 12 was making the existing functionality more discoverable. Chris showed a bunch of cool stuff, like automatically coloring data to help visualize it. It may already be in Office 2003, but if it was I didn't know about.

So one big change is that clicking on a top-level menu item now changes the entire set of toolbars displayed at the top, and they occupy even more real-estate. Personally having too much of the Word window occupied with buttons 'n' dials stresses me out, but I can see how it helps find things. As Chris said, "every user becomes a power user." And Office also tuned up the UI in innumerable ways, making the whole thing look state of the art.

There was lots of demos of RSS integration, search integratiom, etc. It's easy to see where Microsoft is going with this: make the client experience rich, but also make it dependent on a rich server. The server platform no longer has to just share files and run apps; it has to provide built-in search, workflow, email, etc. This sets the expectations for the server, and Microsoft is there with the integrated solution. For a reminded of how far we have come, Jim Allchin opened his keynote by showing a real live IBM PC XT, 1983 vintage, running Windows 1.0 with Reversi.

It all looks great in a demo. The user has the right RSS feed, the right website, the right link at their disposal, and their productivity zooms. But.

Last night we went to see the King Tut exhibit. One of the exhibits is the gilded coffin of Tjuya, a relative of Tutankhamun 3500 years gone. Looking at her glass eyes staring at the ceiling of the L.A. County Museum of Art, filled with unknowable thoughts, I was reminded of the thousand-yard stare that emanated from Bill's eyes during his talk. See, it's easy for Jim Allchin, Eric Rudder, and everybody working on developer tools to be excited. Microsoft can built the platform, built the tools, open up the world of AJAX and RSS to everyone. That's what the PDC is about. But Bill has other things on his mind as he approaches his second half-century.

Because it's not just about the features anymore. It's about making that great demo happen in real life. You have to hook people up with their information. Knowing that it's out there in the first place, and that people want it. Jim Allchin alluded to this: "You need to find the right information to subscribe to, so you can bring it locally to work with." Bill was more succinct: it's about "connecting peple to the information they care about. It's the Office problem, writ large: people can't even find tools in their desktop applications, let alone find a particle of useful information in a vast ocean of data.

So I think that might have been a bit of a downer for Bill. The pharaohs were not just concerned with the day-to-day of their kingdom; they were halfway between mortals and gods, and had to adjust their thoughts aoocrdingly. Bil Gates is not just thinking about developers, he's thinking about information in general. 30 years in, and there still remains a larger mountain beyond the mountain he can see. It's a wearying thought, and Bill looked weary. Until he got to the last bullet item on the last slide, which said simply, "software is the key". And them, finally, Bill smiled.

Posted by AdamBa at 10:55 AM | Comments (2) | TrackBack

PDC Day 1: Notes

Some quotes from Bill:

  • "We're nowhere near halfway through what we can do with software."
  • "This is the year of transition from 32 to 64 bits."
  • "The client is a place of innovation."

The parts of Chris Capossela's Windows Vista demo that got applause:

  • Alt-tab in Vista showing mini previews of the apps.
  • The "flip 3-D" feature where you can view Windows like a deck of cards.
  • Virtual folder information being stored as XML files.
  • Tabbed browsing in IE 7.
  • Quick tabs on IE (viewing mini views of a set of pages, which can be saved as favorites--very nifty).
  • IE shrink-to-fit printing.

Some things the closed caption typist (who did a heck of a job) got wrong:

  • logs instead of blogs.
  • MSN Surge instead of MSN Search.
  • Our assess instead of RSS (after which he/she gave up and called it RSF for the rest of the talk).
  • Riding software instead of writing software.
  • medi-data instead of metadata.
  • RSS fee instead of RSS feed.
  • chronictivity instead of connectivity.

The parts of Chris Capossela's Office 12 demo that got applause:

  • Data bar for visualization.
  • Automated color gradient.
  • Galleries/live previews.
  • Automatic conversion of first row to table headings as you scroll down.
  • Live preview of new fonts.
  • Converting a bulleted list to graphics (flow chart, circle diagram, etc).
  • "Glow" effect on shapes.
  • Recycle bin in Sharepoint.
  • Right-click option on an email to turn it into a task.
  • Attachment preview in Outlook.

Most interesting quote from Jim Allchin:

  • "For gaming, the personal computer will always be ahead of the power of game consoles, because the platform is extensible.

Bill Gates' final slide for developers:

  • Build on the foundation.
  • Focus on user experience.
  • Build connected systems.
  • Rude the 2006 PC wave.
  • Software is the key.

Posted by AdamBa at 10:51 AM | Comments (3) | TrackBack

September 13, 2005

PDC Day 0: Arrival

I arrived in L.A. yesterday. New sights and sounds, unknown experiences around every corner...and that's just the Westin Bonaventure hotel, in whose trippy confines I am laying my hat. My favorite part of the hotel (although I hesitate to make a call so early, at the risk of slighting some as-yet-unfound imcomprehensible architectural element) is the mirror in the bathroom. There are mirrors on two walls, which meet in a corner, and the sink is angled at 45 degrees so it points towards that corner. So when you shave, and look straight ahead, you see an image of yourself with right and left reversed...or not reversed ("Why do mirrors reverse left and right" is rumored to be a Microsoft interview question).

My second favorite would have to be the sign by the elevator, explaining that it appeared in a scene in the movie "True Lies". This constitutes, so far, the full extend of my celebrity sightings in Cali.

When I was in high school, a friend of mine wrote a short story in which he invented a new color. He included the following priceless phrase, which remains seared into my mind 20+ years later: "I named the new color epson, for no apparent reason." I was reminded of this at registration, when I was asked to choose my t-shirt. The shirts are grey with the PDC logo on the front, in a choice of 3 colors. But what colors...surely epson, if it ever really existed, lives on among these three. I'll attempt to describe them, hampered by my lack of drug consumption. One is a sort of hot fuschia, one is a green I can't really describe (except "it's the same color as the trim on my Gillette MPower razor") and the last one was called "sky blue"...but if I looked up and saw the sky that color I would blench. I agonized over the decision before choosing the antisocial green (which the person handing out the shirts helpfully informed was not the one he would have chosen).

After registering, I walked to the "Big Room", which has the Track Lounges, Hands-On Labs, Store, Exhibit, etc. One area is the Bean Bag Lounge, which features bean bags shaped like the Channel 9 Guy (must be seen to be believed). There are also a couple of life-sized Channel 9 dudes. So I guess I have seen a celebrity in L.A. And for once, he didn't look smaller in real life.

Posted by AdamBa at 11:00 AM | Comments (0) | TrackBack

September 12, 2005

New Build of Monad Available

We posted a new build of Monad today. It's available through the Microsoft Download Center. This means no NDA (which betaplace had) and no need to download the whole WinFX SDK. And, it's Beta 2, a newer build than both of those. Improvements include COM support, which was in a long time ago but was out of Beta 1.

You can download x86 and x64 versions (at some point I'll update the "Get Monad!" info over there to point to these).

Posted by AdamBa at 08:04 PM | Comments (3) | TrackBack

Leaving for the PDC

I am flying down to L.A. this afternoon. My Tools and Languages Track Lounge schedule is:

  • Tuesday 11:30-2:30 and 5:30-9:00
  • Wednesday 2:30-6:15
  • Thursday 12:30-6:30
  • Friday 8:30-11:30

This is really a test post to check that the "PDC05" category makes it get picked up properly by PDCBloggers.

Posted by AdamBa at 11:12 AM | Comments (0) | TrackBack

September 10, 2005

Emailing Executives vs. Blogging

Discussing my Open Letter to Jeff Raikes, a commenter (we'll call him "Bob") asked "couldn't this have been sent to Jeff internally vs a public forum? Isn't Jeff just as focused on doing the right thing for the company and its customers? If so, shouldn't he be receptive to creative suggestions such as this one?"

My thoughts on this:

  1. I'm 100% sure that if I had emailed Jeff Raikes internally he would have either responded, or forwarded the email to someone else to respond. That's the Microsoft culture. Heck, Steve Ballmer responded to email I sent him when I wasn't even working at Microsoft.
  2. When Raikes or someone in his organization responded to me, it would have been internal to Microsoft, therefore covered by NDA, and so he might have been able to talk about future plans or sales data or other non-public information--which would have been a more interesting response from my personal point of view.
  3. But, I wanted the message to be seen by people who worked on Office besides Raikes. Yes, I could have cc'ed the whole Office team, but that is frowned upon at Microsoft. Anyway I don't know who-all would be interested in it, so I wouldn't know who to include on the email. This way people can forward around a link to the post and still have an internal discussion about it.
  4. I also wanted people outside Microsoft to see the letter. If the letter originated as an internal Microsoft email, then technically nobody would be allowed to quote it publicly. Starting with a blog post means the original letter is public, and at least some of the discussion is public. Plus, it shows that Microsoft is open to internal debate, which is one of the greatest benefits of employee blogging.
  5. The downside of blogging it of course is that Raikes and crew can completely ignore it. If I sent direct email, they would need to respond in some way.
  6. But, the response would likely have been "Thanks for the input, we'll take it under consideration." That's not what I'm after. I don't just want credit for a suggestion; I want this to happen. For it to happen it can't just be me pushing for it. It has to be lots of people inside and outside Microsoft. Posting it on my blog increases the risk that it will be completely ignored, but it also increases the potential reward if it actually inspires Microsoft to change (or at least have a serious debate about it).

So that's why I posted it publicly. I'm trying to leverage the blogosphere to effect a change. Hasn't happened yet, but I'm still hopeful. So all you out there: if you like this idea, please link, discuss, forward, comment. Thank you.

Posted by AdamBa at 10:23 AM | Comments (2) | TrackBack

Why Is It Still So Amazing When a Computer Dials a Phone?

The other day I was at a demo of a prototype of a future Microsoft project. One of the features was that it could dial your phone. Meaning you had info about Mary up on your screen, click on this button here, and presto your phone is calling Mary. Then on the other end, when Mary got your call, her computer could pop up information about you.

I've occasionally seen demos like this in the past, and my question is: why do I still keep seeing them? Understand that this wasn't the point of the app; it wasn't a phone dialer. It was just one little feature. But the person doing the demo took pains to point it out. Why bother? I mean they don't demo "Look I press this button here and magically it starts to print" or "hey I click on this URL and zowie zooks, your browser pops up." Those things were worth mentioning in a demo for a while, years ago, but now they've become mundane and nobody bothers, because they're expected. Yet dialing a phone from a computer is still awe-inspiring.

There's a term for this integration: Computer Telephony Integration. My theory is that the reason people keep mentioning it in demos is because it's taking a long long time to happen. Computer Printer Integration and Computer Modem Integration and Computer Firewall Integration and Computer Fax Integration have all been solved, but Computer Telephony Integration is still lurking in the near beyond. It should be a few lines of code in your app, but it isn't. So the people putting together these demos know about the hassle involved in making it work, it has an outsized footprint in their mind compared to the actual screen or feature list real estate that it occupies, and therefore they mention it in the demo.

Posted by AdamBa at 09:47 AM | Comments (1) | TrackBack

September 08, 2005

An Open Letter to Jeff Raikes

TO:
Jeff Raikes
Group Vice President, Information Worker Business
Microsoft

FROM:
Adam Barr
Program Manager
Microsoft

Jeff,

No doubt you're aware of the recent fuss over Massachusetts' decision to require open formats for its official documents. Microsoft's predictable response was to plead confusion, hurt, and sorrow for the innocent users forced to abide by such a policy. I have another idea. Instead of responding like a sad puppy, Microsoft should embrace what Massachusetts is proposing.

I'm not suggesting that Microsoft support OpenDocument. Far from it. As you know, standards move slowly and can be perpetually one generation behind the state of the art. Microsoft is correct that its XML format is more advanced than OpenDocument, and in this case there is no reason for Microsoft to shackle itself to a standards body.

No, I'm saying that Microsoft should go back to the fundamental reasoning behind the Massachusetts decision, and embrace that. Massachusetts is not adopting OpenDocument for its own sake; it is adopting it because it meets a set of criteria the state has established--criteria which Microsoft could also meet if it chose to.

If you look at the "government requires openness" movement, you can classify it into three types of openness:

  • Requirements for open source software
  • Requirements for standards-based formats
  • Requirements for open formats

The first two are cost-saving measures: Either directly by requiring open source software, or indirectly by requiring standards-based format, which effectively lower the unique value proposition of any given piece of software which uses that format, thus presumably lowering the price.

But the third is not about cheaper software. It's about making data available in the case that a supplier goes out of business, or the government wants to process the data in a way that the software provider did not expect, or, most importantly, the situation decades in the future where data has been preserved but a computer that can run today's software has not. As noted on a Massachusetts web site, "if we have a record in a format of 2005, and it must be converted in 2038 into something not yet invented, we need to be able to do that without losing the integrity in the underlying information."

It's apparent that Massachusetts is opting for the third type of openness, because it is allowing PDF as a format. PDF is unquestionably 1) not open source 2) under the complete control of Adobe alone 3) covered by many patents. BUT, the patents are licensed to anyone on a royalty-free, non-exclusive basis for the term of each patent. This is how Massachusetts defines open formats: "Open Formats are specifications for data file formats based on an underlying open standard, developed by an open community, and affirmed by a standards body; or de facto format standards controlled by other entities that are fully documented and available for public use under perpetual, royalty-free, and nondiscriminatory term." (italics mine)

The key point about this third type of openness is that Microsoft can adopt it with no change to its current plans. It can continue to charge money for Office, and it can continue to change the Office file format at will. All it has to do is document it publicly, and license it freely. In particular, Microsoft should take its current Office formats and license them freely, from this day forward. That is what I am proposing to you.

License it freely...I know the knee-jerk reaction is to say "never". But what value is Microsoft deriving from Office's format right now? The format has been reverse-engineered by everyone anyway, even without Microsoft's permission. If you license it freely, you can change from it being a de facto standard to being a real standard, and keep OpenDOcument from encroaching on your turf. Most importantly, Microsoft can stand up and say "Yes, we support openness in governments" and direct the conversation towards open formats and away from open source and standards bodies. Instead of fighting the openness movement, the company can become a thought leader in it.

Remember this doesn't mean Microsoft has to submit its format to a standards body. It can still innovate as it always had, and keep ahead of the competition, just as the new XML formats are ahead of OpenDocument. Microsoft doesn't have to document its formats one second before it ships a new version of Office, which is about six months after people have reverse-engineered the format from the beta anyway.

Look, if you're really concerned about PSS calls from third party software producing sketchy .DOC files, then simply license the format for reading only, not for writing. Most of the benefits of open formats come from everyone being able to read your format, and most of the concerns come from others being able to write your format. Yes it's not what Massachusetts is talking about right now, but look at Massachusetts' stated reasons for wanting open formats: "Simply put, the question is whether, when we look back a hundred years from now, we will be able to read the records of what we did today...the Commonwealth will only certify an Open Format designation when minimal legal restrictions exist on the reading and dissemination of public records." Nothing about being able to write it, and why should there be, so I don't see how they could legitimately complain about patent restrictions on writing the format.

But that's a minor point. The main thing is that Microsoft needs to show some leadership, not reactive PR spin. It needs to license its current Office formats, royalty-free, perpetually, non-exclusively, and it needs to do it NOW.

Thank you.

Adam

Posted by AdamBa at 11:54 PM | Comments (25) | TrackBack

September 07, 2005

PDC Bound

I've been scheduled for my PDC time in the Tools and Language Track Lounge. 19 hours and 15 minutes over 4 days. Yowza! I hear rumors of a blogger dinner on Tuesday night but I will be Track Lounging from 5:30 to 9:00. I will however be able to see both Jeffrey and Jim's Monad talk (Tuesday at 2:45 pm) as well as Bruce on the dynamic languages panel (Friday at 8:30 am). I'll also have my laptop with me in the Track Lounge (which they are encouraging people to do) so I can give Monad demos if anybody wants. We should be wearing buttons that say "Ask Me About [insert your technology here]" so you can identify who knows what.

A glimpse inside Microsoft: there is an official uniform for Microsoft people to wear at the conference: a blue button-down shirt with "Microsoft" above the chest pocket. You've probably seen it or its ilk at other shows. In the old days you would go to a meeting about a conference and they would hand out your shirt, which would be customized with a logo for the conference. Now, the shirt is generic and you go to the company store and buy your own. So a bunch of us trooped over there today to buy ours. You can expense it, and in fact it makes perfect sense to do it this way, but it seems incongruous somehow. Actually anybody can go to the company store and see the shirt, it's called the "Microsoft event shirt". In fact anybody can go to the company store and BUY the shirt. In fact anybody can go to the company store and buy the shirt and then wear it to the PDC. I guess.

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

The New Yorker on Cookies and Software

There was an interesting article in last week's New Yorker (the food issue). It's by the ever-voluble Malcolm Gladwell and it's about designing a better cookie, but it involves a bakeoff between three cookie design teams that are deliberately modeled on open source programming, Extreme Programming, and traditional development. Gladwell doesn't quite know enough about software to deliver his Gopnik-esque comparisons between open source and XP, and the magazine's fact-checkers managed to get Linus Torvalds' name consistently wrong, but he does manage to a) quote Joel Spolsky and b) call him a "software theorist" (which is beyond a Googlewhack, it's a Googlezero, which is how I know the article isn't online yet). It's 90% about cookies and 10% about software but the point is that software theory is leaking into other industries--precisely because nobody really knows the best way to design software, and other industries that feel stuck in a rut are trying to capture that zeitgeist.

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

September 06, 2005

Ctrl-Space

In the category of learning something new every day, I was in a meeting today formatting a document that was being projected on a TV in a conference room (always nerve-wracking as people critique your Word skills...should I double-click to highlight a word, or click-drag over it?) and someone pointed out that you could use Ctrl-space to remove all formatting from highlighted text. Of course I had to try it right there and was amazed that a) it worked and b) I hadn't know about such a basic useful feature in Word.

Walking back from the meeting I was asking everybody I met "Hey do you know what Ctrl-space does in Word?" and nobody knew.

Posted by AdamBa at 09:55 PM | Comments (6) | TrackBack

Fort Clatsop

Our oldest son is into Lewis and Clark, so last weekend I went camping in Astoria with him and our six-year-old, and we checked out some of the L&C sites around the area. The whole story of their expedition is really amazing; the more you learn about it, the more astonishing it becomes.

The main attraction is Fort Clatsop which is a recreation of where the Corps of Discovery spent the winter of 1805-1806. They had people in period costume talking about medicine of the era, how to fire a flintlock musket, etc. Across the Columbia in Washington is Cape Disappointment State Park which features the Lewis & Clark Interpretive Center, an extremely well-done exhibit about the expedition. There's also something going on called the Confluence Project, involving Maya Lin.

The sites are now known as "Lewis and Clark National And State Historical Park", but that's new; Cape Disappointment State Park used to be Fort Canby State Park, and Fort Clatsop was a National Memorial Park. The website keeps talking about "America's newest National Park" but if you are a National Park geek, you know that there are many sites that the Park Service administers which are not full-blown National Parks. You've got your National Preserves, National Historic Sites, National Recreation Areas, etc. So I don't know if you should parse the name as "Lewis and Clark National and (State Historical) Park" or "Lewis and Clark (National and State) Historical Park". But I think it is the latter, so it's actually a National Historical Park, not a National Park. Got that? Actually this page confirms that.

If you're counting just bird National Parks, I've been to Arches, Badlands, Crater Lake, Death Valley, Denali, Everglades, Glacier Bay, Grand Canyon, Haleakala, Hawaii Volcanoes, Mount Rainier, Olympic, and Zion. Still some work to do.

We stayed at the Astoria KOA campground. We were in a tent, mostly surrounded by people in giant RVs. It was a bit daunting to be sitting there, literally roasting hot dogs on sticks over a campfire, watching people cooking on giant propane stoves under pop-up gazebos, with tubs full of food and a ring of tiki torches around the campsite (honest).

On the way home we eschewed the Astoria-Megler bridge (which we had already crossed twice) and the Lewis and Clark Bridge (which we had taken on the way down) and instead took this little 12-car ferry from Westport to Puget Island, and thence across a bridge to the Washington mainland. The ferry takes about 10 minutes and the kids really liked it. However I think it only runs once an hour.

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

September 01, 2005

Massachusetts and Open Formats

News today about Massachusetts planning to dump Office because of it file format not being open. However the articles (Forbes, Inquirer, Financial Times) are pretty vague on why Microsoft's new XML Office formats won't qualify (they are specifically excluded, it says). I'm especially interested in this because it's what the late lamented Open Data Format Initiative was about.

So I went looking for more info on the Massachusetts government site. Here's an Informal comments on Open Formats from January 15, 2005. "It was exactly a year ago - January 13, 2004 - that the Commonwealth of Massachusetts launched a new Open Standards policy regarding the planning, development, and implementation of IT systems."...blah blah blah..."We will extend the definition of Open Standards to include what we will be calling Open Formats", sounds good..."Open Formats are specifications for data file formats based on an underlying open standard, developed by an open community, and affirmed by a standards body; or de facto format standards controlled by other entities that are fully documented and available for public use under perpetual, royalty-free, and nondiscriminatory terms", right, so what's the problem with Office XML? "We have been in a conversation with Microsoft for several months with regard to the patent that they have on, and the license surrounding their use of, XML to define the schema of DOC files in Microsoft Office 2003", OK that's the old stuff..." it is our expectation that the next iteration of the Open Format standard will include some Microsoft proprietary formats." Right, so then what happened?

Then there's this long thing, dated today, which is mostly about using XML for interop, but then at the bottom starts talking about Open Formats, and lists them: OpenDocument ("As of January 1, 2007 all agencies within the Executive Department will be required to: 1. Use office applications that provide native conformance with the OpenDocument standard, and 2. Configure the applications to save office documents in OpenDocument format by default."), plain text, HTML, and PDF. So I guess that's what's new. It doesn't specifically exclude Office so much as not include it. You could argue it doesn't include it because it hasn't shipped yet, but it also states that by 2007 everybody must use OpenDocument, which is veering beyond just using open formats and into using a specific open format.

Posted by AdamBa at 10:22 PM | Comments (8) | TrackBack

Tulane University's Website

This is the emergency page at Tulane University (which is currently also the homepage). It shows the progression of reaction to the hurricane: from being open normally, to planning to close until September 1, to evacuating students to Jackson State, to postponing classes until September 7, to not knowing when classes would resume, to recommending that students return home to wait, to having their emergency team leave New Orleans for Houston so they could begin planning the recovery in a place with power, phones, Internet access, food, and water.

Posted by AdamBa at 10:11 PM | Comments (0) | TrackBack

Doonesbury Mentions Blogging

Doonesbury has been tweaking bloggers this week. At least for the first part of the week, before a segue into Cindy Sheehan. Or maybe it was last week, I know the online Doonesbury used to be a week delayed, but it may be in sync with print now.

Posted by AdamBa at 04:26 PM | Comments (0) | TrackBack