Creating SQL's "join"-like functionality in MSH

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 …

Read more

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 …

Read more

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 …

Read more

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 …

Read more

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, …

Read more

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.

Sure, …

Read more

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 …

Read more

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 …

Read more

Webcam Control - Use a Webcam to Automate your PC

Download here (40kb)


Using a media PC to control your entertainment center is a great idea, and is becoming much more common. With a little persistence, media PCs sit at the center of a powerful, integrated, and unique entertainment hub. In addition, you can build your own fairly inexpensively - especially when compared to the brand name ones.

Unfortunately, most input to a media PC comes through an infrared or …

Read more

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

[ Download | Readme ]

PerfCompare Overview

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

The most effective performance improvements come under the guidance of a Profiler. Once you’ve identified a bottleneck, PerfCompare’s Performance testing helps you quickly test and compare ideas.

When you want to dig a little deeper, PerfCompare’s …

Read more