September 2006 - Posts

I hate to get sucked into "the next great thing", but I read about this "next great thing" in the San Jose Mercury News last weekend, and downloaded the trial today and gave it a whirl. The toy of the day: MojoPac. It has an unlikely name, but the concept is that you can carry your "digital mojo" with you, on any USB device. Then, on any Windows XP SP2 machine, you plug in the device, and in seconds, you're running your own desktop, with your own applications installed.

(The trial version is free. The retail copy is supposedly $49. I haven't plunked down the cash yet.)

It seemed unlikely, so I gave it a try. Downloaded the trial version, installed it, and it sure works. (IE7 is not currently happy in their latest build, so I went with FireFox, which works great.) Installed Live Messenger, walked to a different computer, plugged in the USB key on which I'd installed MojoPac, and darned if I didn't have my own desktop with my own IM client available to me.

Unfortunately, it's not really aimed at IT professionals (oh, yeah, they give us "lip service" on their site, but clearly, they're aiming at kids who want to carry their saved games to a library computer, and continue playing). I can't see how to control the balance of memory that the MojoPac virtual PC uses. It seems to run rather slowly, even after I followed their optimization steps, on a USB key (of course, what the heck do I want--I'm using incredibly slow hardware, right?)

On the other hand, when I go to visit my parents, and don't want to whip out my laptop to get connected, check email, and IM, this is a great solution. Just stick the USB key into the local computer, and I've got my own environment.

It's not going to replace VMWare or VPC, but MojoPac has some serious legs, I think. It's an engineering feat, and I'd like to know how they did it. In any case, give it a try, and see what you think.

Posted by KenG | with no comments

On a non-technical note...

I've spent the past 15 years working. Period. Occasionally, I'll got outside and get some fresh air on the bike, but for the most part, I've just plain worked for the duration.

I've missed playing the piano (hence the earlier blog entry about the career that wasn't). I finally found an outlet for this unrequited love.

I find myself this weekend (and two weekends hence) playing piano in a 15-piece band for a production of "West Side Story", in lovely Sunnyvale, CA (where I lived for a while in the late 80s). The conductor's an old friend (she played horn for a production I conducted while living here in 1991), and she agreed to let me play two weekends of the run, without attending any rehearsals. (Thanks, Jean!) The first performance this past Thursday was harrowing, but the rest have gone swimmingly. I'm having huge fun, banging away for three hours each night.

If you happen to live in the Sunnyvale area, stop on by and say hi! I'll be here the weekend of Oct 5 - 8. If not, just relish the concept of NOT having to sit for three hours and suffer through my well-intended, carefully styled, but highly inaccurate rendition of West Side Story.

Posted by KenG | 2 comment(s)

Working on a demo using the Office 2007 XML File Formats Code Snippets that I worked on a while back, and needed to get a String value into a Stream--the snippet requires a Stream parameter, and I had a ribbon stored as a project resource (so I get it as a string). I tried several different techniques before I finally gave up and used code like this:

Imports System.Text

Dim stream As New MemoryStream( _
 ASCIIEncoding.Default.GetBytes(My.Resources.CustomUI))

It feels ugly, but it appears to be the only real way to do it.

Posted by KenG | 2 comment(s)
Filed under:

I tried Word 2007's blogging option, and it didn't seem to want to work with our Community Server site -- not quite sure yet what the problem was. In my quest to get it to work, I ran across Windows Live Writer (in beta). It's part of the Windows Live agenda, but it appears to work and is far easier to use than the Web-based editor provided by the Community Server product. We'll see how it pans out, but in my first effort, it seems pretty smooth.

Of course, after a few moments' thought, I realized the real benefit here--offline blogging! Finally, an organized way to create blog posts when offline.

Posted by KenG | with no comments

Latest online articles:

Wasting Energy, and Rotating Things (Code Magazine, Sep/Oct 2006)

In which one finally learns how the home theater turned out, why the air-conditioning bills are too high, and a better way to rotate objects in .NET (without using trigonometry). More...

Advanced Basics -- Predicates and Actions (MSDN Magazine, September 2006)

It's not that I'm lazy, but it really bothers me to have to manually iterate through all the members of a collection, taking an action on each. I wish I could just tell the collection what to do for each member and let it do the iterating. Well, guess what? On a recent exploration of the Microsoft® .NET Framework, I found just the solution to this and other nagging array and list issues. It turns out that the System.Array and System.Collections.Generic.List classes of the .NET Framework 2.0 each provide a number of methods, such as Find, FindAll, and FindLast, that let you avoid writing code to loop through every element of an array or list to find the one or more items you're looking for. You get the ability to "walk" an entire data structure, determining whether each item meets a set of criteria, without having to write the boilerplate code to loop through each row manually. In addition, because the predicate—the focus of this column— is simply the address of a procedure to call that, in effect, says yea or nay on each item in the collection, you can easily change the search criteria at run time. More...

Posted by KenG | with no comments

Last weekend, we went to see a revival production of "A Chorus Line" in San Francisco, on its pre-Broadway tryout. The show was great, and it brought back a lot of memories. I last saw the show in 1982 or so, in Boston. I had seen it in NYC a few years prior, and because the tour was in town, I trotted on in. At the time, I was earning a meager (but honest) living as a high-school math and music teacher, and was entertaining a career change--get the pun?--conducting and playing piano for such touring companies. You may not have known this, but I was pretty darned good at the piano back then.

After seeing the show in 1982, I sent a note backstage for the conductor (was pretty desperate to get out of teaching, I suppose), asking to get together for a chat. Unbelievably, the assistant conductor called a few days later, and indicated that he was leaving the tour soon, and would I be interested in coming downtown for lunch and audition to take his place on the piano? I jumped at the chance. Went down, played my heart out, never heard back from him.

Sometimes, you look back on disappointing moments in your past with regret. I'm sure I was sad at the time. At this point, however, I have to go with the "everything happens for the best" philosophy. Taking off to play piano around the country would have killed (or severely damaged) my now 25-year old relationship at home. It would have meant never picking up the PC and programming, starting in 1984 or so. And it would have meant a lifetime of struggling, and never really succeeding ('cause I was never really all that good at the piano).

My point here (for those of you who haven't given up and moved on to something less personal) is that sometimes, crushing professional disappointments happen. You don't get the job you think you deserve. Someone else gets the contract you really need. In my case, every time this sort of thing happened, it happened for a reason (in retrospect) and things generally turned out fine, or even better, because of it.

I couldn't have wished for a better 25 years. Touring with "A Chorus Line" may have been fun, but I find it hard to believe it could have turned out nearly as well as what actually did transpire.

Funny what a weekend theater visit will get one started on...

Posted by KenG | 1 comment(s)

I know it's not just me. Security expert Keith Brown has also had this problem, and it's currently driving me nuts. Many others have complained about this online, and I'm adding my vote to the others.

The problem? Virtual PCs created using Virtual PC 2004 randomly start refusing keyboard input. I'll be working along for an hour or two, and suddenly, the keyboard is dead. Sometimes, it starts working again a few minutes later. Other times, it simply doesn't. The only solution I've found is to reboot the VPC.

I've seen suggestions from people talking about changing key mappings, using Virtual Server, or using Remote Desktop Connection to get into the VPC. These either didn't help, or won't work (I need to be able to cut and paste content from the VPC into my writing, and would like to continue to be able to drag and drop items from my "real" desktop into the VPC.

VMWare Workstation is looking very attractive, right now.

If you know a solution to this problem, or if you've seen it yourself, please respond. I'd like to try to get at least a few people who have seen this, so that business partner Brian Randell (who has never had this particular problem come up) can pass it along to the team.

Posted by KenG | 1 comment(s)