ObjectSharp Blogs

You are currently viewing

Dan's Blog

Junior's Thoughts on all Things .NET


Monad, it isn't just danom backwards anymore.

I'll be the first to admit that I haven't been paying a whole lot of attention to Longhorn. I went to the token meeting, I listen to Barry and Dave, but that's about as far as my indoctrination goes. However, maybe today that changes. I started to read a couple articles on the Monad Shell (MSH).

The Monad Shell is Microsoft's kick at the powerful shell engines you find in the *nix systems. As a recent graduate from the academic world which is ruled by the *nix systems, I've always held that a decent shell engine is what Windows lacked the most (I've also added a decent file search engine now).

MSH introduces the new concept of a Commandlet (Cmdlet), these cmdlet's are the new .exe, .bat, or .com with a twist. The cmdlets are in fact .NET libraries, more closely related to a DLL than an EXE.

With the help of reflection and metadata inside the class, MSH will validate and map command line parameters to the properties of your class/cmdlet. Metadata is also the mechanism that MSH uses to identify a normal class library from a cmdlet.

So far this all sounds somewhat interesting, and maybe useful, but the best is yet to come.
Piping. Microsoft has done something great here, they have taken the already great idea of piping and improved it 100%. Gone are the days of piping text, here are the days of piping objects. Here is one of the examples from the WinHEC presentation. get-process | where “handlecount –gt 400” | sort handlecount | out-chart processname,handlecount I think its pretty self-evident what is happening here except perhaps the last piping command. out-chart will apparently output the results into an excel chart using the associated values of processname and handlecount. All of these commands now return an output stream that contains and object, not just a flat string representation of what SHOULD have be an object. The cmdlets have access to more than just the single output stream as well, by default they have the output stream, and an error stream. Also available are verbose, debug, and progress streams.

Seamless Navigation. I haven't tried this myself, but it would be nice if it turns out to be true. Microsoft claims that the new shell will enable seamless navigation between the: File system, Registry, AD, and WMI. Lets hope that's the case.

Now, I just need to find a place to install longhorn so I can try all this great stuff out.

The slides from WinHEC can be found here.

Anyone played with this yet? Let me know what you think/thought.

Comments

  • dan May 29, 2004 2:08 AM

    Don't forget to link to Barry and Dave :)

  • dan May 29, 2004 5:29 PM

    good call :)

  • dan June 22, 2004 10:09 AM

    The current version of Monad (available at http://betaplace [login "mshPDC"]) will run on W2k, XP, W2K3, or LH. I think it is only "supported" on XP, W2K3 and LH but it should work on them all. We run nighly tests against them all.

    Please download the bits and let us know what you think. The current bits are very SDK focused though there is enought to "get a feel" for what is coming. We are tentatively planning another drop in July which will have much more focus on the self-host experience. Most of the language will be there in that release.

    Jeffrey Snover
    Monad Architect

  • dan July 13, 2004 8:27 AM

    I really would like to download the bits so i did the survey(twice). The problem is that i did not got an answer for some days now. *sad*

    Any ideas?

  • dan July 13, 2004 11:04 AM

    Martin, I'm not really sure. I used the information that Jeffery provided about a month ago (found it in some slides from PDC). It took only a day or two for them to get back to me. So I guess I would just wait longer, or try again.

    Worse comes to worse, Jeff left his contact information above, write him.

    I've just got back from vacation and have been playing with monad for the last couple days, very impressed. I will post some more stuff in a few days.

Anonymous comments are disabled