MSH and YubNub -- A community commandline

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.  The difference is that YubNub keywords are contributed by anybody, and available to anybody. 

Fixing the headphones on a Nomad Zen Xtra

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 remember hearing about headphone problems on the internet, so I searched and stumbled upon this wonderful how-to guide on fixing the headphone problems.

Updated Monad (Microsoft SHell) released to BetaPlace!

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.]

A Web-enabled, Monad front end: Monad hosting.

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.) If we could have a fully-functioning web terminal over SSL, who needs SSH? In addition, who needs to worry about having access to a terminal emulator in order to securely administer thier machine? Although it appears that this demo gets us 90% of the way to running VI, it’s really more like 0.01%

Customizing your environment -- Aliases, and Dot-Sourcing

Since it takes a little while to get approved by BetaPlace, I’m going to hold of on the answer to prompt customization until next time. However, we do have some more cool things that will help you customize your environment.

The MSH shell is designed to be both verbose, and pithy. (Jeffrey’s Channel9 interview quote springs to mind.) We enable this through the use of aliases, like many other shells.

Getting started - customize your prompt

Ok, so I’ve talked about how great the Monad language, and command-line interface is. I’ve also said that it changes the way you think about the command line.

How so?

Well, let’s play with the shell for a bit. If you haven’t already downloaded it, you can get it from BetaPlace:

  1. Go to http://beta.microsoft.com
  2. Log in using the guest ID, mshPDC
  3. Follow the download directions

Launch the shell, and you’re greeted with the friendly prompt:

Welcome, and the project code-named Monad

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.

Webcam Control - Use a Webcam to Automate your PC

Use Business Cards to Automate Your Media PC … with a webcam as the input device

PerfCompare - A C# micro-benchmarking and performance analysis tool

PerfCompare is designed to help you test, compare performance, and micro-benchmark small snippets of C# code.

Incremental Rubik's Cube Solution

This is a study guide to help you learn to solve the Rubik’s cube. It starts simple (6 moves, completes the cube in about a minute and a half,) and incrementally advances in complexity.

Link to the piece here: Incremental Rubik’s Cube Solution