In the BBS (Bulletin Board Service) days, one of the common past times was to connect to a board and browse long file listings in search of neat things to download. When the names of files were restricted to 11 characters (8.3,) you didn’t have much to go by. BBS software soon came up with a meta-file, called “descript.ion,” which mapped file names to longer, more verbose descriptions. During a file listing, the BBS software read this file and displayed these detailed descriptions inline.
I mentioned to many of you during the PDC that we’d be working hard to make our printed hands-on labs available for download. As Adam points out, get ‘em while they’re still hot! We’ve even gone a bit further, and made the “Getting Started” guide and a few quick references available in the documentation pack, available via the Microsoft download center. [Edit: Monad has now been renamed to Windows PowerShell. This script or discussion may require slight adjustments before it applies directly to newer builds.
Although all of you are probably Monad junkies already, I thought I’d point out Thomas Lee’s very helpful Introduction to Monad article. Great stuff! [Edit: Monad has now been renamed to Windows PowerShell. This script or discussion may require slight adjustments before it applies directly to newer builds.]
I’ve been watching Jeff’s progress on this shell for awhile, and he’s finally posted a download. jaMSH is an alternative to the default msh.exe that we ship, and has some very promising features. It uses the GNU Readline Library as its input mechanism, so you immediately get gobs and gobs and gobs of command-editing features. It’s also implemented a fairly rich tab-completion model (filenames, variables, members,) and offers a facility to load cmdlets and providers during startup.
Today, Pubsub brought me Jeff’s post, “In Defense of Verbosity.” In it, he talks about (and praises) the fine expressive balance that Monad allows you to walk between terseness, and verbosity. In an interactive session (where you care only about the output,) terseness is your friend. Take, for example, the following command that finds the 10 most referenced DLLs in running processes: gps | select id -exp modules | group filename | sort count -des | select -f 10
Do you use Monad? Do you want to be ever-present in the corridors that we walk down every day? Here’s your chance! Send a photo of you, your team, your company logo, or even your favourite Monad screenshot to &{ “[email protected]” -replace “AOEU”,"" }, and I’ll post it(*) on our “Shrine of the Customer” bulletin board. (*) I do, of course, reserve the right to not post pictures that would get me fired.
First off, I’d like to welcome the many of you who’ve just discovered Monad, and this blog. The PDC was a great experience – I was glad to have had the chance to talk to so many of you in person. One of the things I almost forget about, now that I basically live in the Monad shell, is how far it raises the bar for the command line, and how enthusiastic its users become.
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. Beta 2 signals our move out of BetaPlace.
In an earlier post, I introduced a download manager in PowerShell. (I have since updated it. If you use the script, you might want to download the update.) The major pain with it, though, is getting the URLs into the text file required by the download manager. “Right-click, copy link location, paste” just doesn’t cut it for more than a few links. To resolve this problem, we’ll write another script to parse URLS out of the locally-saved HTML of a web page.
For those of you going to the PDC, make sure to check these two out: TLN303 - Monad: Advanced Command Line Scripting September 13, 2:45 PM - 4:00 PM 404 AB Jeffrey Snover, Jim Truher Learn about Monad, Microsoft’s next generation command line scripting solution. Monad combines the interactivity of KSH or BASH, the programmability of Perl or Ruby, and the production-orientation of AS400 CL or VMS DCL. http://commnet.microsoftpdc.com/content/sessionview.aspx?TopicID=1bbfa7e1-d4a7-4556-9e52-680bb143f8d6 PNL03 - Scripting and Dynamic Languages on the CLR