Quantcast
 Thursday, October 30, 2003
posted on Thursday, October 30, 2003 2:57:11 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]

Among all of my activities outside of work, Scouting is probably most dear to me.  I'm the Cubmaster for Cub Scout Pack 710 in Sherwood, and both Jacob and Matthew are Cubs.  Julie, as anyone who is involved with the Pack would agree, is the one who really runs things.  I'm mostly a figurehead.  Julie is a den leader, the secretary, and does 90% of the legwork behind my job.  Mostly I get to run the Pack meetings and implement the activities she plans.

This week at our Pack meeting we decided to do some play-acting with a twist.  We live in Sherwood, and Robin Hood is a common theme in our fair town.  We decided to tell the story of the first meeting of Robin Hood and Little John.  In the photo below, that's me on the left, our good friend Vince Meichtry playing Robin Hood, and Julie narrating.

What made this skit particularly fun was the mad-lib element.  Julie gathered a collection of nouns, verbs, etc. to fill into version 2 of the story, complete with props.  The kids were rolling on the floor laughing.

posted on Thursday, October 30, 2003 2:54:16 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]

Joe Long from Microsoft gave a nice talk on the technology roadmap for Indigo, with a nice dose of prescriptive guidance for those of us who need to do distributed application development today but want to be mindful of the future.  The talk was framed around this question: how do we support incremental upgrades of clients and/or servers as we move to Indigo?

Joe suggested two approaches to this problem:

  • We can teach the existing infrastructure new protocols.  For example, if I have a component written that gets deployed and accessed via Enterprise Services (COM+), Microsoft can shim in some new bits under the hood to teach enterprise services how to talk via Indigo.
  • We can teach the new infrastructure about the existing legacy protocols.  For example, if I write a new Indigo service, it could fall back in some fashion to talk via DCOM.

Microsoft is opting for the first approach - move the underlying protocols forward and don't look back.  This does place some constraints on what you do today and what might or might not work in the future.  Joe covered several of the common cases, which I'll briefly discuss here.

COM+ Binary Interoperability

Interesting stuff here - the goal is to not force a recompile of clients or servers by utilizing a bridged service environment.  There are a few requirements for this to work though:

  • Servers must have a type library for metadata
  • Components must be COM+ / Enterprise Services.  Sorry, your ATL DCOM NT Service won't magically be accessible via Indigo.
  • You must be explicit about interface types when used as parameters, i.e., don't pass around IUnknown references.
  • Avoid explicit use of COSERVERINFO.
  • Custom proxy/stub marshalling will not be supported.

MSMQ Binary Interoperability

I was a bit confused on this point, but it appears that Indigo will provide Indigo compatibility by automatically exposing MSMQ servers via web services.

ASMX Web Services

No real concerns about interoperability here, since this is SOAP/XML.

.NET Remoting and WSE

Out of luck - don't expect much help here.

Migrating Code to Indigo

I won't go into extensive detail here - you can check out the presentation yourself if you would like more details.  The gist of changes revolves around instantiation of servers and proxies - everything else can pretty much remain the same if you are writing ASMX web services or Enterprise Services components today.  .NET remoting is mostly orphaned, though porting won't be too difficult.  The use of "new" to create client proxies will not be supported.

Where Should We Host Server Components?

I asked this question at the end of the talk.  In the Longhorn world, as in today, there are two primary hosts for components - IIS / ASP.NET, and Enterprise Services.  Joe's recommendation was to use ASMX web services by default and host in IIS.  If you need Enterprise Services, go ahead and use it but opt for the library component model and still host in IIS if at all possible.

posted on Thursday, October 30, 2003 2:50:21 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [1]

I was able to have dinner last night with two of my oldest (their not old, but you know what I mean) friends: Mike and Becky Sattin.  Becky's new husband Bob also joined us.  Mike and I first met back in the 1978 or 1979 timeframe, and immediately found we had a lot of common interests.  At that point in our lives, we were most interested in playing new computer games on his Apple II computer (Wizardry, Olympic Decathlon, Castle Wolfenstein) and sports simulation board games by APBA.  And we often spent some late nights at his house playing Dungeons and Dragons.

I moved away from Indianapolis in 1982 to Albuquerque, then Omaha. In 1985 I moved back to Indianapolis and finished high school where I had started (North Central HS).  During the move transition from Omaha back to Indy, I lived with Mike and his parents.  I'm forever grateful for the hospitality they showed me during that challenging time.  Becky was away at college at Washington University, and she was one of the key influences that led me to attend there.  While I was living away from Indy, Mike managed to become a very accomplished local musician - his living room was full of guitars, drums, keyboards, and other equipment for his band.  You can listen to some his early music with the band Avanti right here at MP3.com.

Mike moved to Los Angeles around 1987 to follow his muse and take a shot at the music scene there.  We've stayed in touch over the years, and when I lived in LA briefly in the early 90s I was able to see him play often, I think with the band Ptexas Pteradactyls.  He has been involved in a number of bands since then - Superfly Connection and Captain Pants to name a few.

Mike has a number of projects going on right now - he did his own take on White Stripes and is involved with the band Chromosome Tea.  He also works with Little Dawnee Frinta.

posted on Thursday, October 30, 2003 2:47:41 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]
 Wednesday, October 29, 2003

I flew into LA late last night from Portland for the Microsoft PDC conference.  My outbound flight was delayed due to slowdowns in the LA area from the fires, and I didn't get into LAX until around 1:30am.  The night-time descent through the valley and into LA was surreal - we could see the glow from the Simi Valley fires, and the smoke permeated the cabin so much that my eyes watered.  I'm glad I'll be spending most of my time indoors here - the outside world is hazy and the smell of smoke and ash is pervasive.

I lived in LA for a short while back in the early 90s, and one distinct memory of the place is a sequence of one natural disaster after another.  This is a hardluck state...

posted on Wednesday, October 29, 2003 3:02:18 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]

I'm sitting in a great talk by Don Box on Indigo, the new model and implementation for distributed computing from Microsoft.  Don refers back to the software integrated circuit (IC) analogy for object oriented computing, which has its roots in Brad Cox's work on Objective-C back in the 80s.  Great metaphor, but even in the world of hardware that model never worked - ICs tend to be too coupled to other components and are actually soldered on the board to build a subsystem like a video card or motherboard.  It hasn't worked all that well in the software world either - DCOM, CORBA, RMI, etc. are much harder to use than they should be.  And according to Don it is about boundaries - distributed object computing is not respectful of boundaries and results in tightly coupled, difficult to evolve applications.

Don summarized his position with these tenets:

  1. Distributed Objects won't work.  We've tried to make it work, boundaries need to be explicit.
  2. Services are autonomous. Independent versioning, deployment, and security.
  3. Share schema, not class.  Integration is based on message formats and exchange patterns, not classes and objects.  As soon as we start stretching the wire, and allowing services to become autonomous, we have no idea what runtime, what runtime version, etc.  Its all about boundaries.
  4. Policy-based compatibility.  We make explicit assertions about capabilities.

What is Indigo?  A collection of .NET assemblies (DLLs).  The Indigo architecture consists of a Service Model, Messaging Services, System Services, Connectors, and Hosting Environments.  Indigo makes service orientation more explicit, makes boundaries more obvious.

using System.ServiceModel;

[Service] class MyService
{
   [ServiceMethod]
   void f() {}

   public void g() {}
}

If I'm talking to the class from within the same app (CLR), I can call g() on this class.  If I'm talking to my class in a service-oriented way, the only way to access is through f(), and Indigo will sit in the middle as an interception point.  I can't even call f() directly - it is implicitly private.

Indigo is also about unification of remoting models between ASMX, .NET remoting, and Enterprise Services.  Indigo is also about interoperability, and WSE is an intermediate step along the way.  Once Indigo is out the door, WSE will evolve to track the protocol evolution for Indigo users, just as it does the same for ASMX users today.

The penalty for using Indigo and service-oriented computing in general should be low.  They are working extremely hard on performance and, to quote Don, "miniaturization" of this general concept.

Preparing for Indigo:

  • Use ASMX today - the closest thing to the TRUTH today.
  • Use .NET Enterprise Services within your service if you need ES functionality or if you need fast/secure intra-farm ORPC.  FYI, this is where Corillian is today, and right where we should be.
  • Use .NET remoting within your service.
posted on Wednesday, October 29, 2003 3:00:34 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]
 Tuesday, October 28, 2003

Looks like this is really catching on.  Great to see other people joining the fray and sharing session reports, reviews, and other thoughts on gaming.  Tolen Dante has just started his weblog.

Update: Tolen moved his blog to a new site with RSS feeds.

posted on Tuesday, October 28, 2003 3:06:34 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]
 Monday, October 27, 2003

Well, I'm only about 2 weeks late in posting this one.  We hosted a mystery party for Jacob and a few friends two Saturdays ago - sort of like a "How to Host a Murder" game but for kids.  The theme was western, and we asked the party goers to dress the part.  Jacob only invited boys, and there were a few girl parts, so we had to improvise.  Part of the improvisation was having Matthew dress up as a girl - and Grandma was more than happy to help out.  Check out the results for yourself; should make for some great blackmail material somewhere down the road.

The party went very well - we mixed in some games with the mystery puzzle, and everyone played their parts. Jacob is nine now, and thought it seems cliche to say that I can't believe how fast he is growing up, well, I can't believe how fast he is growing up!

Yesterday, Jacob played in his last football game of the season, and his team finished 8-0.  Not a bad season!  Jacob played out the year as the starting center, and was getting much more playing time on defense as well.  Julie and I are sold on the value of this program for Jacob, and we are eager to sign up Matthew as soon as he is old enough.

posted on Monday, October 27, 2003 2:44:20 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]

I found a good price on a used iBook here in town, so Jacob and I went to check it out on Saturday morning before his football game.  There were a few reasons for picking this up:

  • A good platform for experimenting with Rotor and Mono.
  • OSX / Panther / Jaguar just seemed too cool to miss out on.
  • I think it will be a better home for my iPod link and iTunes.
  • I wanted a personal laptop for travel, especially for important tasks like playing DVDs for the boys on road trips.

So far I love it.  I'm playing with some different software configurations (browser, office tools, etc.) to see what works best.  One disappointment - OpenOffice supposedly works, but isn't a native Mac OSX application (it runs under X11).  It also didn't work in a turnkey maner, probably because I'm not using Darwin as my X11 server.

posted on Monday, October 27, 2003 2:38:25 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]

Funagain has posted a copy of the Games Magazine top 100 games.  I can't argue too much with their pick for Game of the Year - New England - I've only played it once but it is a very solid game.

posted on Monday, October 27, 2003 2:34:22 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]
posted on Monday, October 27, 2003 7:17:05 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]
 Friday, October 17, 2003

This has been the lowest volume of posting I've had in a while - sorry for those of you who check here frequently for gaming-related posts.  I've been on the road way too much lately, and things will not be letting up for another month or so.  I do have a backlog of things to talk about, including:

  • Jacob celebrated his 9th birthday last weekend, and I've got some pics from the party
  • The Cubs.  On second thought, I don't want to talk about it.
  • The fantastic work Mikael Sheikh has been doing on his Wallenstein implementation, which he should be making publicly available before too long.
  • More Chess teaching information.  Classes start next week.

posted on Friday, October 17, 2003 7:30:47 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]
 Friday, October 10, 2003

I mentioned a few days ago that I will be teaching chess classes at Archer Glen elementary school where Jacob and Matthew are in 3rd and 1st grade, respectively.  I helped out with the beginner class (1st - 3rd grade) last year - Jack Weeks was the instructor, and he was a great role model.  I will teach two classes a week: the beginner class on Tuesday mornings and the advanced class on Wednesdays.

I feel like I have a pretty good handle on the beginner class; partly because I was involved last year, and partly because I'm comfortable with my ability to teach at that level.  I will focus on basic rules, how pieces move, checkmates, stalemates, etc.  I small amount of strategy and a bit of tactics. I will introduce the tactics of pins, forks, as well as walk through some simple endgame approaches.  Strategies focus on pawn structure, control of the center, and material / position advantages.

I'm a bit more concerned about the advanced class, mostly because of my own abilities.  I've played sense since I was a child, but I've never played competitively and I don't consider myself a very strong player.  The theory makes sense to me, but I just don't have the pragmatic experience. So I'm trying to ramp up quickly by playing as much Chessmaster as possible and by reading some good texts on opening theory.  I'll keep posting reports here as things progress.

posted on Friday, October 10, 2003 6:06:11 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]
 Monday, October 06, 2003

Wow, it sure has been a while since I posted an entry.  I was in Chicago all of last week at our customer conference and got a bit behind.  Matthew had a bye week in soccer this weekend, but I have some pictures from last Saturday where he score eight goals in his game.  We can't help but think it is mostly due to his size and speed, but for his first year playing we are certainly amazed.

One of the parents from the other team jokingly exclaimed "get that 12 year old off the field".  We'll enjoy it while we can.  It sure is doing a lot to boost his confidence which can only help him in the future.

A few other random notes:

  • Jacob's football team continued its undefeated streak, winning over Wilsonville this Saturday.  Jacob had another solid game - no fumbled snaps, and he made three tackles on defense.
  • I volunteer to teach chess at Archer Glen elementary this year.  I'll be teaching two classes a week until spring break - one for grades 1-3, and another for grades 4-5.  This will be fun, though I really need to improve my skills.
  • I'm sitting here watching the Chicago Cubs play in game 5 of the NLDS.  They are up 4-0, and the collective world of Cub fans are crossing their fingers.  It has been waaay too long!
posted on Monday, October 06, 2003 6:29:32 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [1]

My backordered copy of Wallenstein finally arrived from Funagain last week.  I played this for the first time during a trip to New York City last July, and I was anxious to play again.  I'm pretty sure this game is out of print, so I think I'm fortunate to have landed a copy of this game.

My routine when a new game arrives is to dismantle the bits and divide into little plastic baggies.  One of the coolest features of Wallenstein is the combat tower, which is used to resolve combat between two players.  Little wooden cubes are dropped into the top, some get stuck in the tower, and some roll out into the tray.  The player with the most cubes rolling out wins the battle.  It is actually a bit more complicated than that (native farmers might fight on the side of one of the players, for example), but that's the basic idea.  Jacob suddenly became very interested in the game as I showed him the tower and the gameboard and I talked him into trying a two player game.  We used the variant rules posted on the 'geek.  One other note on the rules - make sure you grab the most recent translation from the 'geek!  The version sent with the game from Funagain was almost worthless.

Jacob picked up the game very quickly, but was a bit too aggressive in his attacks.  Rather than focus on expansion first and then picking battles where he had an advantage, he tried to fight me one too many times where I had equal opposition.  The luck of the tower was leaning towards me in these battles and I came out ahead.  He was also slow to understand the victory conditions and didn't get enough strength in his buildings across the region, so I won pretty handily.

posted on Monday, October 06, 2003 6:19:37 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]

Man, it has been a long time!  95 years in fact - 1908 was the last time the Cubs managed to win a post-season series.  In my lifetime, it has been one heartbreak after another.  There was the collapse in 1969, the disaster in San Diego in 1984, and the letdowns in 1989 and 1998.  Not to mention the multitude of losing seasons.  Up until this year, I think I was one of about 120,000 people in the world that had ever seen the Cubs win a postseason game - I was at their only victory in 1989 at Wrigley against the Giants.

Tonight, the Cubs won their division series against the Braves.  Onto the NLCS!

posted on Monday, October 06, 2003 6:11:09 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]