Rants, rambles, news and notes from another geek

Geek Notes 2005-08-06

Today was the Redmond - Sammamish Mothers & More Summer Picnic at Farrel McWhirter Park in Redmond. This is a really cool park with a fully functional farm on site. Hadley has loved going there to see the animals since we moved here. I was responsible for the barbeque today and was kept busy feeding the 50+ people who came out. My wife Emily was responsible for organizing the event… congrats to her for making it a success.

  • Enterprise Library 2.0 Cometh - I assume all .NET people saw this, but Scott Densmore has started talking about EntLib 2.0. (Six smileys, Scott? Are you kidding me?)
  • The Wall of Sheep - At the hacker conference DEFCON, anyone foolish enough to login to something in plaintext gets their username and passwords shown up on “the big board”. Nice.
  • Cool Ruby Collection Stuff - Martin Fowler shows off a number of cool ruby things and compares them to Smalltalk.
  • I/ON - This is a cool browser, viewer, whatever for finding online videos. Ostensibly for reading videoblogs (think podcast with video), you can apparently find all kinds of interesting stuff with it.
  • Uninstalling GAT If It Refuses To - I’ve run into this myself. You install GAT to play with it, create a package or two and then suddenly you can’t uninstall the damn thing. Kzu explains why and tells you how to fix it.
  • Gartner Talks About MS Recent Security Efforts - Michael Howard talks a bit about an article Information Week magazine about the Blackhat/Cisco issue where a Gartner researcher says some nice things about Microsoft’s recent work on security. Cool. I can tell you from personal experience, security is taken very seriously in Redmond. Don’t believe the FUD.
  • CVS Camcorder Hacked - The “disposable” digital cameras have already been hacked and apparently it only took a few days for the new single-use digital camcorders from CVS to get hacked. No CVS near you? No problem. Get one on Ebay. I’m seriously considering ordering one and giving it a shot.
  • Download Manager in Monad - Very cool… Lee Holmes wrote a cool little download manager in MSH. Lots of interesting MSH techniques to mine in there.

Vim Syntax File for Monad (MSH)

As you probably know, I’m becoming a Microsoft Command Shell (aka Monad, aka MSH) junkie. I’m also a vim guy, and I was sorely missing syntax highlighting for my MSH files in my general purpose text editor.

So I wrote one. Here is it.. in all its glory. This is my first ever syntax file for Vim, so I’m sure it could be improved. Send me any improvements you make, and I’ll update it.

To use this file, first save it to the same directory as your other syntax files (C:\Program Files\Vim\vim63\syntax on my system). Then edit your _vimrc file (in your profile directory) and add the following lines to the bottom:

au BufRead,BufNewFile *.msh set filetype=monad
au! Syntax monad source $VIMRUNTIME\syntax\monad.vim

The next time you open a .MSH file, you should see colors. Woo hoo! (I’m sure Hanselman has already done one for Notepad2, but I don’t use that. )

UPDATE: Apparently the link was broken. I turned it into a ZIP and now it works.

UPDATE: This post is obsolete. Please see ****this post** for an updated version and some better instructions.**

I'm Going to PDC!!

Wow. I was asking to go to PDC this year and didn’t expect it. Generally the people who get to go are Program Managers, Product Managers and Architects… not us lowly Software Development Engineers.

But apparently my argument that a group that creates guidance for developers should probably send a developer to the Microsoft developer conference. I’m not sure what talks I’ll be participating in, but I’m sure I will be a part of the patterns & practices pre-con session. Hope to see you all there.

PDC'05 - Developer

Dude Check Out My Hot Wife!

Sorry. I just saw this pic on my wife’s blog and said, “Damn! She’s hot. And she’s my wife!” (Emily is the one in the white top.) Oh and while you’re there, scroll down for a pic of my son in his princess outfit.

Geek Noise 2005-08-01

Today while I was away goofing off at Tech Ready, my daughter was apparently home with Emily making Bikini Bread. &nbsp_place_holder;That girl says the funniest things sometimes.

  • ![Seatte10_megaton](http://www.peterprovost.org/Files/seatte10_megaton_small.jpg)High Yield Explosive Google Maps - Cool. Type in your lat/long and enter the number of kilo tons you are afraid of and you can see how much damage your house will get. Here’s my local map, centered on Seattle, with a 10 megaton device. Yet another cool (scary?) Google Maps hack.
  • Homeland Security Covert Surveillance Truck - Wow. This is cool. That non-descript white trunk in front of your office may not be what it looks like.
  • 10 Insane Ideas for MS - Josh Ledgard has some wacky ideas for the company. Some sound like they could be pretty good. Some probably aren’t so good. Cool that someone is thinking this way though.
  • Superballs!! - Ever wondered what 10,000 superballs look like bouncing down a hill in San Francisco?
  • More Yamaha Papercraft - A while back people blogged Yamaha’s cool papercraft motorcycles and now they’ve extended it to include “rare animals of the world” and “rare animals of Japan”. I made the Yellow Eyed Penguins for my daughter on Saturday. Fun. [via Boing Boing]
  • DRM in OSX - Wow. A number of influential people are quite annoyed about the reports of the Intel versions of OSX being “Trusted Computing” compliant.

Tech Ready Talks

Today I helped Ron Jacobs and Eugenio Pace with their presentations at Tech Ready. Tech Ready is the annual internal conference for technical field people to learn about all the new stuff going on in Redmond and I was cool to be asked to help out. The first session was with Ron called Patterns & Practices Survival. Ron and I talked about all of the cool things PAG is doing now and in the coming year. Ron is a great speaker and it was fun to be up there with him. He then asked me to help out with his Enterprise Library talk. I then closed up the day facilitating the CAB instructor led labs. All the session were well attended and seemed to be well received. The CAB Lab was full in fact and we have another session in the morning. (I’m not looking forward to the commute to Seattle at 8am, but you gotta do what you gotta do.)

A Day at the Annual Company Picnic

For some strange reason, I remember with fondness those state-fair-kind-of-things that I went to as a child. You know what I’m talking about, rides, fair food, drinks, kids everywhere, sun, water, sun, kids everywhere, more rides, etc.

But now I’m well into my 30-somethings and I’ve decided that I don’t really like them anymore.

Today was Day 1 (of 2) of the Annual Microsoft Company Picnic. Thirty five thousand people (or so) attend this gala, each person picking one of the two days. And as far as I can tell, everyone picked today.

Emily is in Kansas City with her friends, so I packed up Finn and Hadley and headed over to Scott Densmore’s house. Finn was napping right up till the last minute, so I didn’t really get a chance to feed him (more on that later). At the Densmores’ we met up with Jeff Sandquist (of Channel 9 fame) and his family, loaded the girls into Scott’s new car (they have a DVD player and three rows of seats) and headed up to Mountain Meadows Farm in North Bend.

The drive up was uneventful with the exception that I had a hungry one year old in the back seat hollering for food. While rocking out to the tunes in my iPod Shuffle, I was handing raisins and crackers back to him every couple of minutes and occasionally digging his milk cup off the floor behind me. For the most part, it worked. But then we got outside North Bend and saw the line of cars to get in. This line took an hour to get through, and Finn wasn’t getting any happier. I finally found a pack of Smarties in the center console and started feeding those to him. The first one caused a funny look on his face, followed shortly thereafter by a series of grunts–him asking for more.

Eventually we made it through the line, with me yelling at all the jackasses who were shooting up the right lane and cutting in at the front. Come on people, you think we’re in this line for fun? It is always people like that who make the line slow for the rest of us. It drives me nuts.

We got in to the farm and joined the other 20,000 attendees who were milling around. There was lots to do… food, drinks, beer, kids everywhere, sun, water, kids everywhere… sound familiar?

Once we’d fed ourselves and the children it was time to take them to “do the rides”. Rides in this case means those inflatable slides and trampolines that seem to have replaced the steel contraptions of yore. But the lines were terrible, the sun was hot, and the parents were starting to get cranky.

At some point, Laurie (Jeff’s wife) said, “We should just go back to our house and let the kids loose in the kiddie pool.”

Sheer genius!

So we bribed the kids with promises of swimming and ice cream and happily vacated the premises. Loaded the girls back in the Densmore’s Family Truckster and headed back to good ol’ Sammamish. (No traffic this time.)

On the way home Finn passed out as expected, so I went ahead and took him home for a nap. Once he got up, I fed him dinner and headed over to the Sandquists. The girls were going between the pool and the playroom upstairs and Finn was just being his cute self. Compared to the farm, it was heaven. It was a pleasure for me to get to know Jeff better and I always enjoy hanging out with Scott and Lisa. Jeff has been at Microsoft for a while (going on 9 years) and had a lot of history and wisdom to share.

All in all it was a good day, but I think we have decided that next year we will have a private “mini Microsoft Picnic” next year at one of our houses. That sounds like it would be even better.

Geek Notes 2005-07-29

Emily is in Kansas City today with her old college friends. We gave her this as her birthday present… you know, a little get away from the kids and an opportunity to spend some time with friends she hasn’t seen in a while. Of couse, that means I’m home with the terrible two.

  • AltovaXML Engine Now Free&nbsp_place_holder;- Altova has announced a free version of their XML engine that has full XQuery 1.0 and XSLT 2.0 support with .NET interfaces. Nice. [via Kzu]
  • Square Wheeled Bicycle - This is a great picture. See Adam Barr’s post for more links to this strange project.
  • Cool Monad File Regex Trick - I’m loving Monad more and more every day. This trick lets you use Regexes in the “case” part of a switch statement to easily handle all matching lines. Very very cool.
  • The Cisco Security Hooha - Wow. Yet another situation where a major company has gotten law enforcement to help them keep a security problem secret. Kudoc to Michael Lynn for standing up and doing what’s right. He quit his job to tell the story and is now being pressed with serious legal action. Here is some more information. [via Boing Boing]
  • NUnit Converter v0.5 - Jim Newkirk has updated his NUnit -> VSTS Test converter tool.

Oh, and speaking of Monad, it is now much easier to get! (Yippee!) Monad Beta 1 has been included as part of the WinFx beta release. You can get it from the Microsoft Download Center. Go get it!

StartupController 1.0

Lately I’ve been doing a number of demos and stuff using my laptop, which means I have to shutdown, undock, go somewhere, boot up, and then wait for all the apps in my Startup folder to load.

Nine times out of ten, I like having my system starup with Outlook, Omea Reader and a number of other apps already running. That way I can boot up, login, go get a coffee and when I get back, everything is ready to go.

But on those times when I’m about to give a demo or just need to boot up to check something really quick, it is really annoying waiting for all those apps to start. Some of them (notably Outlook and Omea) aren’t the fastest thing to load. So last night I wrote StartupController. It runs after you login and lets you control which apps, if any, will be started. If you do nothing, they will start after a configurable interval. Here’s a screenshot:


It is a pretty simple little app written using .NET 2.0 Beta 2, so you should be able to compile it and use it without any difficulty.


  1. Create a new folder in your Startmenu called StartupController. You can do this easily from a Command prompt with something like this:
    C:> mkdir %HOMEPATH%\Start Menu\Programs\StartupController
  2. Next, create a shortcut to StartupController.exe and put that in the Startup folder.
  3. Then drag any shortcuts that you want to have managed from the Startup folder into the new StartupController folder. Windows will still launch the ones in Startup when you login and StartupController will handle the ones it its folder.

If you find any bugs or have suggestions, please let me know.

Download StartupController_v1.0 (20KB ZIP)

Geek Notes 2005-07-27

Yesterday was the final day of our onsite CAB lab sessions and it was a lot of fun. I think our “students” got a lot out of it, and I can certainly say that we got a lot out of having them here. We learned a lot about things we have done well and things we can do better and I can guarantee that this will have a positive impact on the final version of the block.

  • Lemmings in DHTML - I think everyone else blogged this already, but I just can’t stop playing it!
  • Microsoft Command Shell - I have become a full convert to MSH (aka Monad). It has become my day-to-day shell and I’m not looking back. This is the new shell&nbsp_place_holder;that will ship as part of Windows Vista. Think “object-oriented shell, with the power of Ruby/Perl/etc. and .NET baked in.” Wow. This link will take you to Arul’s blog with instructions on how to get it. (Yes, I know these instructions are dumb. I’m sorry. I wish they’d just post it publicly, but as we all know, I’m not in charge.) I will be blogging a lot more about MSH soon.
  • SQL-like Join in MSH - Speaking of MSH, Lee Holmes put up this post showing a cool trick you can do with MSH. It doesn’t take very many lines of code. Cool eh? This is why I love it.
  • Avoid Setup and Teardown - An interesting post by my good friend Brian Button. This is consistent with my thinking about unit tests. Whenever possible and reasonable, each test should read completely and without having to scroll around and look for stuff. This is actally the same argument&nbsp_place_holder;I’ve been making lately for why I don’t really like the Abstract Test Class pattern either.
  • MutantMaps Firefox Toolbar - Jamie sent me an early version of this to try out a few weeks ago. Very cool stuff. ow I’m wondering when he’ll go ahead and add in the cell tower map mashup.
  • Fun With Spanish Words - I’ve been trying to talk Daniel to write this post for weeks now. You remember the story about the Chevy Nova not selling well in Mexico because Nova meant “doesn’t go”? Well, even though that one is an urban myth, my friends from Argentina tell me that Consolas and Longhorn actually do have interesting meanings there.