Friday, September 07, 2007

Guys Weekend - The Potato Gun

Every once and a while my Dad, my Brother and I get together just to goof off outside the scope of normal family visits.  A chance to just relax, swap stories, brainstorm how to change the world, and act well, like kids.

My Brother owns a house overlooking Lake Travis in Jonestown, TX [northwest of Austin], he's got the nice boat, a great entertainment center, you know...all the toys.  What he's lacking is a good guest bed and some food on the shelves [bachelor], but that can all be remedied.  Dad usually arrives on his motorcycle [from Conroe] at the crack of dawn and I'll roll in around noon [from Dallas].

Prior to arriving, my Dad forwarded the following video of a 'potato cannon' to us.  It was to become our inspiration for the trip.  I've linked to it below in case your interested.


Once we saw the video [you can stop after a couple minutes, you'll get the point] the inner child in us was raring to go!  We bought all the necessary components from the local True Value hardware store and the requisite 10lbs of potato's and a can of 'Aquanet'.  Less than an hour [and a few beers] later, we had built the toy d' jour and it was awesome.  You can see some of the pictures below and hopefully Dad will rip the video he took off his camera and get it to us so that we can see it.

This contraption literally shot a potato a hundred yards down the side of Jason's property! 

Now, we realized that we were doing something dangerous [and quite possibly illegal] so we rationalized who would go first.   We couldn't let Jason go first, he as the only one of us with any medical training [over 10 years as a paramedic], if anything went wrong we'd need him.  They wouldn't let me go first because I've got a wife and two kids.  That left Dad.  Dad was barely able to contain himself just waiting for us to quit fooling around and give him the damn thing..

Of course, after all that deliberating [inebriating], Jason goes and sticks his face right up to the combustion chamber just as I am testing the 'spark' for what we thought would be a misfire.  Well, the picture can be found in the group below!  The irony is that we've grown up with guns our entire lives and gun safety has always been a priority.  


Guys Weekend 2007 - The Potato Cannon

We enjoyed ourselves so much that we are going to each make one, with a little different design and definitely with a personal touch.  Jason has already got his Halo design worked out. 

We also spent a lot of time rocking the hilltop on Guitar Hero 2!  I've got to get this, it is still the best game I've played in a long time. I still can't believe they've yet to release the wireless controller for the XBox 360!  What kind of sick joke is that? Anyway, that's what I'm holding out for.  Anyway, Dad won the cards with an all in late in the evening.

I had to cap off the weekend with a hangover and a burning desire to get back to my family [two sick kids] so called in on Sunday.  Dad, Jason [and crew] still took Luscious out on the lake on Monday.  I've yet to hear how that went.

Till next time..

Wednesday, September 05, 2007

Sea of Technology

I'm overdue for a rambling post, so here you go...

Just saw this article: InfoQ - Interview: Dino Chiesa on Microsoft's SOA Strategy (from BizTalk Server Team blog).

Of particular interest is the Microsoft ESB Guidance and the eBook ‘SOA in the Real World’.   By the very nature of BizTalk, much of the work we do falls into the ‘service oriented’ design category. 

However, BizTalk does not an SOA (or ESB) make.  BizTalk can certainly be a core platform for delivering service oriented solutions and it certainly can be a key component for building a service bus. 

This isn't a dive into how to develop service oriented solutions with BizTalk, or how to build an ESB with BizTalk.  Its mainly about what skills you need to develop in order to swim in a sea of technology.

One thing that continues to be evident that it is not really possible to be just a 'BizTalk' developer without having a good grasp on at least the Microsoft technology stack. 

The breadth of the technologies I've had to keep up with just seems to overwhelm compared to back when I was either just the 'UI Guy' (C++, Win32, MFC, a good understanding of the message pump and subclassing windows controls) or a 'Server Guy' (C++, Win32, STL and UI technologies be damned).

This is the short list:

  • .NET Framework - BizTalk is built on .NET and without a good understanding of .NET you won't be able to fully leverage the extensibility of BizTalk.
  • Sql Server - who doesn't  need to store data?  Who hasn't done this badly?  A badly implemented data tier (including data access logic) can quickly become one of the most insidious of bottlenecks.
  • Xml - this is a technology stack unto itself.   A working knowledge of Xml, Xml Schema, XPath and Xslt is pretty much required.
  • SOAP, WS-* - Pay attention to WS-BasicProfile and WS-Security.  The rest are worth a look if your situation calls for it.  Be wary about your interoperability story if you have heterogeneous clients consuming your services.
  • .NET Web Services (a.k.a. ASMX) - if you have any services in production, they are likely of the ASMX flavor.  The initial service workhorse.  Getting at least a passing familiarity of tcp/ip and http protocols really helps to understand what's going on at the 'wire'.
  • Windows Communication Foundation (WCF) - the WCF adapter is baked into the BizTalk 2006 R2 release.  If your writing services today, WCF is the 'foundation' your likely starting with.  Understanding the WCF programming model is key.
  • Windows Workflow - likely successor to the BizTalk orchestration engine.  Actually, Tomas Restrepo has a good post that will make you go hmmmm... check out 'The Future of BizTalk/WCF/WF'.  I've not realized the full potential for WF yet...but I know I want some of the IDE features with BizTalk!  This is an area to keep an eye on for growth.
  • Debugging - learning what to do when it hits the fan, and it will hit the fan.  Its a just a matter of time and it won't always be nice enough to occur in a development environment.  Oh, no siree, it will wait to occur until your businesses critical time of the year/month/week/day, and it will hurt and you will have to fix it. 

And lets not forget the plethora of bits that sit above these on the stack: Enterprise Library, the aforementioned Microsoft ESB Guidance, Testing, Source Control (e.g. TFS or Subversion), Security, the list goes on. 

Oh yeah...that's why they pay us.  Ok, then.  Well, where do you start?  Check out the following resources:

It starts with code.  code.  code.  Build it.  Analyze it.  Learn from it.  Rinse and Repeat. 

Well, I've rambled enough for one night.