Rants, rambles, news and notes from another geek

Geek Notes 2004-09-03

So I’ve got enough horsepower on my new dev box to run my VPC development environment (yes I still do that) in Virtual Server 2005. Very nice. Now I can leave that giant machine in my office and work from anywhere I want (using my laptop) by using Remote Desktop. All the convenience of a laptop with the power and extensibility of a desktop box.

As a side note, I still can’t get BlogJet to work from campus. Please someone tell me they know the answer… the BlogJet support people don’t seem to be able to help. I’m very bummed.

VirtualPC Default Folder

I just found this gem (again) and didn’t want to lose it this time.

If you don’t like that Virtual PC uses C:\Documents and Settings<profile>\My Documents\My Virtual Machines as the default location for its Virtual Hard Disk files, then you need to do this:

  1. On the host computer, right-click My Computer, and then click Properties.
  2. Click the Advanced tab, and then click Settings under Environmental Variables.
  3. Under System variables, click New.
  4. In the Variable Name box, type myvirtualmachines.
  5. In the Variable Value box, type the path of the folder that you want to use.
  6. Click OK two times, and then close the Computer Management window.

That’s it!

(Taken from MSKB)

Geek Notes 2004-09-01

So… my first Geek Notes since joining the collective. :)

I’m kind of frustrated because I can’t seem to get BlogJet to work from campus. The strange thing is that I can hit the webservice endpoint just fine with a browser, but BlogJet tells me, “Cannot connect to server. Please check your connection or try again later.” Bummer. I’ve submitted a support request to the folks at BlogJet, we’ll see what they say.

  • WsContractFirst Addin v0.3 - I absolutely loved v0.2 and I’m sure v0.3 will just be better. Write your WSDL first and you will be happy, use this tool instead of wsdl.exe and you will be happier.
  • GmailFS - Wow, this is a cool hack. It is for Linux only, but still… the idea of mounting your Gmail mail system as a file system is very cool. I already use my Gmail account for backups, but I have to email it with a particular subject to get it to fire the right filters. This so much better. [via The Daily Grind 450]
  • .NET Service Packs - SP1 for .NET 1.1 and SP3 for .NET 1.0. Get ‘em while they’re hot.
  • Looking Back at 20 Years with MS - Wow. Give this a read. What a cool career he has had. [via simplegeek]
  • Alcohol + Geek == DANGEROUS - I’m talking about isopropyl alcohol, not ethanol (aka booze). Sounds like Will almost burned his apartment complex down.
  • Default Button in ASP.NET - Scott Hanselman collects a number of solutions to this problem in one place. Saved for future reference.

I’m back!

First Day at MS

I’m sure you all read Rory’s post about his NEO experience. Mine was similar but different.&nbsp_place_holder;A lot of information… more than any one human can expect to take at one time.

After that I headed over to meet with my new boss, Jim Newkirk. We got me settled into my office (5/2191), chatted a bit and made sure my logins worked and such. A little bit later Ward Cunningham swung by to say hi (his office is two doors down from mine). Slowly, over the next hour or two, I met many more people on the team, including most of the people on the EntLib team.

I’m still waiting for my “real” machine to arrive, so I’m using a temp laptop for now. I hope they let me keep it, but I’ve been told that SDEs don’t get laptops. Bummer.

Finally Settled in Seattle

What a week it has been.

I spent last weekend finishing the basement on my Denver house so I could put it on the market as soon as we left. We had my entire in-law family over painting, scraping and other good stuff on Sunday night. It was amazing. Many thanks to Neil, Vince, Andrew, Owen, Roger, Meghan and Ellen. Without your help I never would have finished it.

On Monday Aug 23rd, the day we got on the plane to fly to Seattle, I was there, putting finishing touches on a few things until 12:30 PM. At 2:00 PM, we threw eight suitcases, a double stroller, a toddler car-seat and an infant carrier in the back of our rented mini-van and headed to the airport.

I always wondered who used sky-caps, but now I know. People who are traveling with too much shit, that’s who! The sky-cap helped me unload the cars and get all the stuff to the Alaska Airlines desk. They gladly took the suitcases, but we still had to muscle the rest (plus the two kids) through the DIA security checkpoint. Hadley (my 2-1/2 year old daughter) was a dream throughout the entire process. The only part that she didn’t like all that much was when the security man wanted to put her “pink baby” through the X-Ray machine. But it came out the other side and she was happy again.

By the way, if you are ever in line at the security check behind a couple of parents like us, with two kids, two seats, a stroller and their own stuff… please be patient. We are trying. Really. But it is hard.

The flight was much easier than we had feared because my lovely wife Emily had planned so well. A new, never-seen-before toy every 20 minutes will keep&nbsp_place_holder;a toddler in their seat better than anything else. And they don’t have to be big expensive things either. One piece of advice though… remember to buy and put batteries in everything before you get on the plane or at least before you show it to the kid.

We arrived in Seattle, picked up two cars from Avis (no way that much crap was gonna fit in one) and had the sky-cap take it all out to both cars. I tipped him well, though, so I don’t think he minded that much.

I’ve been to Redmond a number of times before, so the drive was fairly uneventful. Picked up our temporary housing keys and headed over to our apartment. It is a nice three bedroom affair in a sprawling&nbsp_place_holder;apartment complex that has hundreds of units. It is basically across the street from the east side of campus, so I’m thinking I may be able to walk to Building 5… not sure yet.

That was Monday. Tuesday was lay around and rest day. And we all needed it. Tuesday night, my dad and his wife arrived to give us a couple of weeks of assistance with the kids. It has only bee 4 days and I already don’t know how we would have gotten this far without them. Many thanks to Grammie and Bompie.

Wednesday and Thursday we left the kids with them and went house hunting with our Seattle agent, Mary Orvis. If you ever need an agent, give Mary a call (and tell her I sent you). She has been working the Seattle real estate scene for 20 years and knows it better than everyone. She’s a lot of fun to work with and with work her ass off for you.

We looked at ten or twelve houses the first day, all south of Bellevue. We went as far south as Maple Valley (too far) and found a couple of nice ones in Renton.

We hit another dozen on Thursday, this time going north. It is a completely different feel up north than down south. South feels like classic suburbia. North feels a lot more “country”. I’ve only been here four days, so I could be wrong, but that is the feeling we got.

We saw a couple of nice ones up there too and some real bad ones. I mean real bad ones. One of them we called the “porno house”. I’ll let your imagination go with that…

Today we took a break from the real estate scene and went with grandparent and kids to explore downtown Seattle. We hit the Seattle Center and Hadley had a blast on the kiddie rides. Unfortunately the monorail was down so we decided to drive over to Pike St. to grab lunch and see the market. But after lunch the kids needed naps, so we skipped the fish-throwing. That’s okay, we’ll be back.

That is pretty much everything from the past week. We are having a good time and the rain isn’t bothering us too much. (Although everyone has been vocal about how it didn’t really start raining until Monday and that we brought it with us from Denver. Fancy that.)

On Monday I’ll be on campus somewhere for New Employee Orientation. I don’t know exactly when, but sometime after that I’ll probably be over in Building 5, my new home.

And now, since the kids are sleeping, I will go to sleep too.

Geek Notes 2004-08-19

Tomorrow is my last day at Interlink. I’m both sad and excited. Sad to leave a wonderful group of people who I know are going to do exciting things in the coming years. Excited to go work wit a wonderful group of people who I know are going to do exciting things in the coming years.

On the home front, the basement is now ready for primer, paint and a few finishing touches. The drywall crew finished the tape, mud and texture this morning and the carpet crew did this install this evening. Since we fly to Seattle on Monday, I don’t think I could have cut this any closer, eh?

  • Krispy Kreme Doghnuts: King of the Doughnut Heap&nbsp_place_holder;- What could the secret ingredient be? Nobody knows, but if you don’t have one of these near you, look for them the next time you travel. We got a Krispy Kreme store in Denver a couple of years ago and now I can’t eat any other kind.
  • Rory Coming to Colorado - Looks like he’ll be here right after I leave, but if you live in Colorado, go see him. He is a funny speaker and the topics look very interesting.
  • Button’s Law of Design Maturity - “The prevalence of Singletons in a design is inversely proportional to the maturity of the design, and the designers.” Sound good to me.
  • Hash Algorithms Broken? - The big news this week is that a number of cryptographic hash algorithms, most notably SHA0, SHA1 and MD5
  • Darrell Norton on Software Factories - SF seem to be the “next big thing”, but Darrell doesn’t think they are applicable most of the time. Interesting thoughts…
  • Undeploy BizTalk Assemblies - Marijn Hoogendoorn has released a nice little tool that can make undeploying BizTalk assemblies a lot easier. It can even undeploy EVERYTHING on your BizTalk machine. Cool.

Generic BizTalk Build System

I was really excited when I first saw Scott Colestock’s NAnt build system for BizTalk 2004&nbsp_place_holder;project (and the update). It was exactly the kind of thing I was looking for on my project.

But I’ve been working with NAnt for quite a while and didn’t really like a few things he’d done. No biggie, everyone has their own style, so I re-wrote it one night.

Conceptually this build script is the same as Scott’s, with two major differences:

  1. It uses a generic build include file driven from a project specific property file
  2. It supports mutiple projects for each project type (i.e. Schema, Map, Orchestration, etc.)

I really like to make my build systems property driven. Ideally, I shouldn’t even have to scroll down a project build file to change its behavior. I think I accomplished that with this build file.

Here is a sample project property file. Assume that we have a solution named Sample.sln and that this file is called Sample.sln.build:

 _place_holder;  _place_holder; _place_holder;  _place_holder;  _place_holder;  _place_holder;  _place_holder;  _place_holder;  _place_holder;  _place_holder;

As you can see, I have pulled all of the dependent information from the main targets file (tools/biztalk.build) and put them in this file. Now when I need to work on a new BizTalk project, I only have to update six lines.

The targets file is way too big to show here (download is below), but the main thing it does differently from Scott’s is to use the task in NAnt to process multiple projects of each type. The only place I was unable to continue this pattern was in the "remove.ports" target, but I think I could do it with a custom NAnt task written in C#. Since that target is only called by "undeploy.pipelines" and since I don't have any pipelines yet, I leave this as an exercise for the reader. (Although I would love it if you sent me the code.)

I hope you all find this as useful and I do. Many props to Scott Colestock for his wonderful trailblazing on this stuff.

The ZIP file GenericBizTalkBuild.zip (11KB) contains the build files and VBS scripts needed for this. Remember, just like with Scott’s system, you must bootstrap your bindings file by doing a traditional deployment and then exporting a binding file!

Enjoy!

Now playing: A Perfect Circle - The Package

Geek Notes 2004-08-17

The basement is rapidly approaching completion. I’ve got a professional drywall crew in there today and tomorrow finishing the tape and plaster and maybe a little texturing. Carpet is confirmed for Thursday afternoon. Almost done.

Now playing: Big Sugar - Dear Mr. Fantasy

Olympic Athletes Banned From Blogging

I thought this was kind of interesting. Today while driving home from work, I heard on NPR that the Olympic Committee has banned the athletes from blogging.

Apparently there is a fear that they will scoop the major news outlets, who of course have paid for their access and would be quite annoyed if some kid blew their story.

Has anyone heard more about this? Sound ludicrous to me.

NPR also mentioned Scott Goldblatt, a US swimmer who is defying the ban to blog his experiences in Athens. Good job Scott!

Now playing: Foo Fighters - Generator

UPDATE 2004-08-18: It looks like I’m not the only one who heard about this. David Arkin, a Canadian journalist, was told by a Canadian athlete that they were told not to blog.

UPDATE 2004-08-20: This story just made SiliconValley.com. Did I really get the web scoop on this? My post was on 8/16.

Geek Notes 2004-08-16

I am really ready to leave now. The manual labor of getting the house ready to go is killing me. Combine that with a newborn and a 2-1/2 year old who gets up twice a night, and I’m done for.

This weekend was very productive for me though. I got the drywall finished, the electrical, some finish work, moved some internet sites, and went to a kick ass going-away party thrown by our good friend Emily Vanderhule. The party was&nbsp_place_holder;a blast, but it sure made Sunday morning’s construction efforts a little bit tough.

  • NMap Broken in SP2 - At least it was until Dana Epp got involved and posted this, this and this.
  • Attaching a Debugger on Startup - Man this is cool a cool registry tweak. A long time ago I was debugging a service and could’ve used this. [via Jamie Cansdale]
  • The Zen of .NET -&nbsp_place_holder;A series of Zen Koans by Scott Hansleman to enlighten your day.
  • NHibernate - Justin Ghetland writes about this promising port of Hibernate, the popular object/relational mapping tool, from Java to .NET. I’ve gotta take a look at this one. [via TSS News]
  • Testing Resource Pools - Martin Fowler reminds us that when we are testing resource pools containing things like threads or database connections, set the pool size to one for testing.
  • Conditional Methods - I remember when I first discovered this little attribute. No more #if statments! A for a new twist, check out Eric’s post on&nbsp_place_holder;Conditional Attributes in Whidbey. Nice.

[UPDATE: I had originally stated that Justin Ghetland was responsible for the NHibernate port, but I was incorrect. Thanks to Szoke for correcting me.]