Now that we’ve come up to speed with the new beta, it’s time to continue our journey into customizing the prompt. It’s been almost a month since I promised it, and a lot of you are already doing great things with your custom profile. For reference sake, this is our current prompt function, as defined in profile-custom.msh: function prompt { $currentDirectory = Get-Location "MSH $currentDirectory >" } That prompt looks like:
Warning: New research suggests that using Monad (MSH) may make you too efficient. In a recent study, animals that were provided chronic access to MSH worked harder, and ate less. It’s a fun shell, and a fun language – but please, everything in moderation. [Edit: Monad has now been renamed to Windows PowerShell. This script or discussion may require slight adjustments before it applies directly to newer builds.]
As I mentioned earlier, we posted a new MSH beta to BetaPlace. It’s a lot more polished than the one we posted 9 months ago, so I’ll be working with that version from now on. The articles so far haven’t delved very deeply into code just yet (how fortunate!) so there aren’t many breaking changes we need to comply with. However, there have been few – so let’s go over them.
If you were one of the many that missed Jeffrey’s standing-room-only presentations at TechEd, the kind folks at TechNet feel your pain. They’ve decided to host a series of “Best of TechEd” webcasts, and our two presentations are among them. If you want to learn more about the capabilities of Monad, be sure to check these out. **Session 1: Next Generation Command Line Scripting with Monad (Part 1 of 2) (Level 300)
Adam has been fleshing out a great use of Monad – by creating a mini command-line RSS reader! It’s touched on registry modification, XML parsing, internet access, and more. Check it out, if any of those buzz words interest you :) All we need to do is throw AJAX and Web 2.0 into the mix, and we’ll have a home-run IPO! [Edit: Monad has now been renamed to Windows PowerShell. This script or discussion may require slight adjustments before it applies directly to newer builds.
An interesting thread came up on our BetaPlace newsgroup today, asking if MSH supports a SQL-like join command. After all, we do already support the select-object cmdlet, which allows you to pick individual properties for display. Given our display model (that often looks and feels like a SQL grid output,) this is a totally great question. It’s a feature I’ve always wanted in a shell, too. We don’t support the feature natively, but the MSH language sure does.
The new YubNub service looks fairly interesting. It’s a concept that’s been hashed out a million times by individual, isolated programs: use one search interface as a gateway to many others. Given a keyword and a search term (ie: gim porsche 911,) the gateway will format your search term for use in a Google Images search. Internet Explorer supports this via its SearchUrl feature. MSN Desktop Search supports it through its Deskbar Shortcuts (community version here,) and I even wrote a small Javascript application called SearchPad to do the same.
On a recent road trip to Calgary, I started to notice the left channel of my Nomad Zen Xtra becoming flaky. Since I use it in my car stereo, my unlucky passenger usually got the duty of contorting the connection wire “just so” in order to let us hear both channels of sound. Since I already voided my warranty by replacing the hard drive (30gb upgraded to 80gb,) I decided to look into fixing it myself.
I used to have download links here, but they were for an older version of Monad. But I’m still getting plenty of hits per day for it, and needlessly sending people on a wild goose chase. Since Thomas has been doing a great job of keeping his Reskit.net up to date with the latest Monad Download information, I’ll point you to him for the best Monad Download information. [Edit 01/25/06: Removed Beta download links, and instead point to Thomas' continually updated download links.
Preston wrote a piece, pointing to an interesting Web application called “WebCmd”. WebCmd makes your browser act like a console window. You type in commands, it executes them on a remote server, and returns the results. Currently, a-i-studio accomplishes the web-based interactivity via Javascript, with the heavy lifting performed by a server-side Perl script that executes commands. It’s a neat idea, and leads to even better ones (as Preston pointed out.