Morning Coffee 161

  • Huge perk of the new job: new hardware. I had to give up my Dell workstation but I got a Lenovo T61p dual core widescreen laptop, an HP dc7800 dual monitor quad core desktop and a Polycom CX700 IP phone. I’m really digging the Lenovo’s integrated fingerprint reader – no more password login – but I’m most impressed with their integrated driver management software. Sure beats the heck out of hunting for dozens of updated drivers all over the place like most vendors for you to.
  • Minor downside to all my new toys: I spent most of my first week on the job installing and configuring said new toys.
  • Caps will face the Flyers in the first round of the playoffs which starts Friday. I have a feeling that I’ll be feeling poorly Friday around 3pm and have to head home early. 😄

DyLang Stuff

  • Apparently, Michael Foord isn’t getting enough exposure on this blog. 😄 He left a comment to remind me to mention the IronPython URLs link blog he writes along with Mark Rees and Seo Sanghyeon.
  • Speaking of Michael, his employer Resolver Systems just launched a new product: Resolver One Quant.
  • Still speaking of Michael, he’s quoted in the InternetNews article Python Fans Take Aim at the Enterprise.
  • My teammate Jimmy Schementi posts a preview of his spare time project “Silverlight on Rails”. This RoR plugin lets you declaratively specify if you want your RoR controller code to be accessed remotely via AJAX and run on the server or if you want that code to be downloaded to the client and run in SilverLight. Very cool stuff.

Other Stuff

  • Don Syme provides some insight into the F# producization process. There’s going to be an update to the “Research release” later this month and a CTP of the “Product release” later this summer (Brian McNamara has the CTP details). I am looking forward to these releases, though I’ll probably be too busy w/ IPy to experiment much with them.
  • Speaking of F#, Matt Podwysocki continues his adventures with F# with a look at tuples, records and discriminated unions. Of the three, I find discriminated unions the most interesting since there isn’t anything like it in other languages I’ve used.
  • Gregori and Chris both announce the release of Unity 1.0. Congrats guys! But if I don’t have time to hack around with the latest F# release, you can imagine I won’t be getting to Unity any time soon…
  • Jeff Atwood recommends you build your application UI first. Furthermore, he does a good job selling the value of paper prototyping as well as introducing the concept of PowerPoint prototyping. Money quote: “You don’t want something too powerful.”
  • Via LiveSide I discovered James Hamilton’s blog. Normally, hardware infrastructure isn’t really my bag, but I find his ideas around using ISO standard shipping containers as modular data center building blocks fascinating. For example, check out this post that suggests sticking modular data centers in condos would be cheaper than building data centers! Subscribed.
  • Speaking of ISO, you may have heard Open Office XML was ratified as an ISO standard. Obviously, there was a lot of controversy around this, but Miguel de Icaza lists of what he considers major community wins from the standardization process. Anything that “pushed Microsoft into more open directions” is a good thing IMO.

DLR Resources & Jobs

I’m back home from PyCon, but between digging out my inbox, finishing transition reports and doing my mid-year career discussion I’m a little busy. But I did want to point at a couple of recent posts from the IPy team blog:

Things I Didn’t Miss About Traveling

In my MSIT role, I only made two business trips, a training session with Thomas Erl and Tech Ed last year. I did travel for two presentations last fall, but both of those were on the conference’s dime, not Microsoft’s.

In other words, even though I haven’t even officially started on the Dynamic Languages team yet, by going to PyCon this weekend I’ve already halfway to matching my total Microsoft sponsored travel of the past eighteen months. I used to travel all the time – the architect evangelist role I was in when I started this blog had about 35-40% travel. But boy I am rusty. Well, rusty maybe isn’t the term, but I had forgotten how much of a pain it is to travel:

  • When I got to SeaTac Thursday, the Alaska Air desk was mobbed but everyone was just standing around waiting. Their computers had crashed and they were waiting for them to come back up. I asked an Alaska Air employee what the back up plan was, you know in case the computers didn’t come back up. “None” was the response. <sigh> I (and everyone else) ended up wasting a good half an hour before the system was operational.
  • My flight was around 30 minutes late taking off and we had to circle Chicago O’Hare for a good 30 minutes before we could land. Plus it took 15 minutes for them to get the cabin door open.
  • Internet service at the conference and my hotel has been pretty iffy. I’m not surprised by problematic wireless access at a conference (though it was greatly improved by the end of day one), but I wasn’t expecting hardline access in my room to be so bad. Speed has been pitiful when it worked at all. I called tech support (after the hotel staff uselessly sent up an “engineer” with a network cable) and waited on hold 30 minutes before giving up and leaving me a message. They called me back literally 3 hours later, by then it was after midnight. I was still up since I’m on west coast time, but come on!

Once I actually got here, the conference has been great (specifics on that in a future blog post). A lot more stuff than I’d like is going over my head so far, since I don’t have a grounding in Python’s language model yet. But getting to meet folks and chat face to face is the most important reason for going to these conferences in person – most of the presentation content will end up online anyway. I’m also getting to hang out with my new team – we all went for Chicago style deep dish Pizza last night. I think I’m going to fit in just great with them.

However, there’s one other huge difference between traveling now compared to traveling “back then”: I didn’t have kids before. Leaving my wife behind was hard enough. Leaving behind my kids as well is even harder. Explaining to Patrick and Riley that “Daddy has a business trip” and so I won’t be around for the weekend as usual was exactly no fun. I’m taking a few days off in the job transition to make up for it. Hopefully, I’ll be able to bring the family along on a few trips in the future, like I did for DevTeach. OSCON, for example, has been in Portland five years – that’s just a few hour drive from Redmond.

But maybe I should wait until I officially start the new job before planning my next trip.

Joining the Dynamic Languages Team

After nearly two years in MSIT and six years focused on architecture across three different roles, I’m moving on to a new job in the Developer Division. In a couple of weeks, I’ll be joining the Dynamic Languages team as a program manager. This is the team who ships IronPython, IronRuby, the Dynamic Language Runtime and Dynamic Silverlight. After seeing all the their cool work at Lang.NET this year, I just had to be a part of it.

As you might imagine, I’m pretty excited about this opportunity.

In the short term, I’ll be primarily focused on IronPython, which is marching towards their 2.0 release. Towards that end, I’m attending PyCon 2008 in Chicago this weekend, though I don’t officially change jobs for a couple more weeks. Longer term…well let’s just say I’m going to be really focused on doing my part to get IPy 2.0 out the door and after that we’ll see where things lie. This is a pretty big shift for me, so I’m explicitly trying to focus on short term work for the first six months in order to absorb as much knowledge as possible from the folks I’ll be working with like Jim Hugunin, John Lam, Martin Maly, Jimmy Schementi and a bunch of others who I haven’t met yet.

While this is a pretty big role shift, I haven’t given up my passion for services and/or architecture. In other words, this isn’t the last you’ll hear about Kitchen Sink Variability, the ROI of EA or my perspective on Nick’s Shared Integration Model. Obviously, with the job focus change, I expect focus on my blog to change as well. I’m not exactly sure how blogging fits into this new role, though the Dynamic Languages team is pretty open and many other members blog (as linked above) so I doubt I’m going anywhere. I’m going to try and keep blogging Morning Coffee, but I’m guessing it won’t be quite as regular as it has been in the past. Unfortunately, I am going to stop coding F# for a while (sorry, Don!) I can’t focus on learning two languages at once and obviously Python is my new top priority.

I wasn’t in my MSIT architect role that long, but I feel that the “in the trenches” experience will serve me greatly for years to come. And of course, I will miss my teammates, especially Dale  who regular readers might remember from filling in around here occasionally.

Morning Coffee 104

  • I’m presenting at a an internal training conference today and tomorrow, so my Morning Coffee roundup posts will be lighter than usual. On the other hand, I’m taking a bus downtown to the convention center, so I might write something more substantial on the way there and back. Or maybe I’ll just read.
  • My wife’s blogging will also be light, because she’s got her nose buried in a book. If I do read something to or from the conference, it’s not that book because she won’t let me near it until she’s done! 😄
  • Speaking of “that book”, Werner Vogel drops a few details about how well Amazon handled 1.3 million pre-orders that were delivered on Saturday (including our copy).
  • First drop of IronRuby is available. For now, you can get it from John Lam’s blog. Unlike IronPython, IronRuby will be hosted at RubyForge, not CodePlex, but the site isn’t set up yet. Other big news is that the IronRuby team will be accepting external contributions. Are these encouraging signs to the Ruby community?
  • More MS Research goodness: a new drop of Spec# is available. I’ve written about Spec# before, but haven’t had the time to dig into it. (via Larkware)
  • Scott Hanselman takes the red pill. Congrats!
  • Speaking of Scott, he forwards on advice to remove a programmatic crutch. Good advice. Not to go all Petzold on Visual Studio, but I would guess the IDE is the biggest crutch out there. As for giving up compulsively checking email, if that’s a goal Scott, I think you might have joined the wrong company…