Welcome, and the project code-named Monad

Fri, Jun 10, 2005 3-minute read

Welcome, all.

First off, let me introduce myself. I work for Microsoft as a software design engineer. I’ve been at Microsoft for three years now – first working in MSN at Encarta. I recently joined a team that hosts my hobby-turned-full-time-job: Microsoft’s new command-line shell, code named Monad. It’s fascinating technology, so I’ve been planning to set up a blog on the topic.

A firestorm of internet activity today prodded me to get this blog up sooner rather than later.

It all started with a small snippet on Microsoft’s PressPass site:

“we are changing the command line environment in Windows using a new object-oriented command line technology, code-named “Monad,” that will exceed what has been delivered in Linux and Unix for many years. It will take three to five years to fully develop and deliver."

Tom’s Hardware picked it up, as did Mary Jo Foley’s Microsoft Watch. Slashdot ran a story shortly thereafter, which I was quite eager to get home and read. It would have been quite excusable to read Slashdot at work today. In fact – I could have walked up to my manager and started the conversation with, “So, I was just reading Slashdot for the last hour …” In any case, I didn’t have the time. Here’s a filtered version that captures the essence of the discussion although about 50% of it is fairly tangential. You can find two highly under-rated comments from our Architect, Jeffrey Snover.

There are two classes of comments I’ve read that really stick out.

“That quote is just speculation; the shell is pure vapor-ware." Feel that way if you’d like, but there has been a public beta for quite some time now The code is pretty stale, but we’ll be updating the drop within the next few weeks. You’ll absolutely love it. If you don’t feel like installing it, you can also check out some great videos on Channel 9.

“Why does Microsoft need a new shell? Ever heard of Cygwin / 4NT?" I have no qualms in granting that these are excellent shells. I’ve used both for years. I’ve run my domain on FreeBSD (which is dying, from what I hear,) and took myself through university using Debian as my primary work environment. During my internship at GE, I wrote our build system from scratch using 4NT scripts. Despite all of that, a few hours with the shell completely changed the way I think about the command line. After growing accustomed to it, I honestly can’t imagine going back to the way things were. If you use a command line at all, you owe it to yourself to install the new command line. I’ll let you know when we get the new bits up in BetaPlace.

Anyways, just thought I’d offer some more insight from the product perspective. I look forward to writing about it more. Have any questions? Feel free to ask.

[Edit: Monad has now been renamed to Windows PowerShell. This script or discussion may require slight adjustments before it applies directly to newer builds.]