Monthly Archives: April 2007

Beta 1 of Orcas is out (for those domiciled under igneous formations…)!

My +1 link postings are always the last ones in to the pool, but in case you haven’t seen it elsewhere, Beta 1 of Visual Studio Orcas is now available for download! This has a large majority of the Orcas features for VB in it, although there are still some features that will be coming in post-Beta1 (lambdas, nullable types, etc.) because of the way the schedule came together. (You can find more details about new features in Beta1, such as “Intellisense everywhere” on our team blog.)

I’ve been writing a LOT of Visual Basic code in the past couple of months, and this is making me excited to work towards getting off of VB 2005 and on to Orcas…

Check it out!

A little belated crow to eat on ‘Battlestar’…

I just realized that I’ve been a little amiss in making amends for some unkind words I had for Battlestar Galatica a few years ago. Right after my wife and I stopped watching, apparently, the writers decided to get their act together and really amp up the quality of the series. Thankfully, my wife’s writing mentor’s son (how’s that for a chain of connection) does the music for the show, and so he managed, through his mom, to convince us to come back a take another look. Once the plot seemed to stop meandering and really ground itself in the present day struggles in our world, I think the whole show really came alive. It still tends to drag at points, but we’re back watching it and were genuinely bummed when the last season ended “until 2008.”

So let me just belatedly eat my words… (munch, munch) I guess maybe the Cylons do have some kind of a plan after all…

A gift of cheer…

In my “five things you might not know about me” blog entry, I mentioned that one of the things that I missed about no longer being in the South was the absence of Cheerwine from my life. What is Cheerwine, you ask? Well, it’s a soda somewhat akin to cherry Coke, although with quite a distinctive flavor. The story I had always heard about it was that it was invented at a time (WWI, I believe) when there was rationing of sugar. The soda company was looking for a sweetener, and found that the only thing they could get a supply of was some cherry flavoring that was normally used for cough syrup. They put it in their cola and the rest is history!

I have no idea if this is true or not, and this may sound absolutely disgusting, but I certainly love it. Looking at, it appears they’re based in Salisbury, NC, which would make sense since I usually had Cheerwine while visiting my grandparents who lived in Charlotte, just down the road. So there’s definitely a sentimental angle to it as well. For a little while, a local (Seattle) grocery story actually stocked Cheerwine in their “specialty” bottle section, but then it disappeared and I only have it when I come home.

However, Chris Williams, a VB MVP and all around great guy, read my blog entry, thought to himself “hey, I sell that in my store,” and decided to send me a six pack. So I’ve been very gratefully indulging in my nostalgic drink. Maybe I’ll head downtown and get some Krispy Kremes and then I’ll really feel like I’m back home…

What do I actually do…?

Back in December, when discussing my bout of writer’s block, I said that I should probably write an entry “What the Hell I Do [at Microsoft],” since I think that the question is sometimes a little murky (even to me). Most of my career I was just a “developer” or “manager,” but now that I am an “architect,” things are a little more complicated.

As far as I can tell, “architect” is such a general title at Microsoft that it’s practically meaningless. It can mean totally different things in different organizations. In my case, being an “architect” seems to mean:

  1. I’ve been around a long time.
  2. I’m a developer (more or less).
  3. I don’t manage anybody.

(For those paying close attention, my title when I started this blog was “Technical Lead,” which was an even more meaningless term, especially since I used to be a “Technical Lead” on Access when I was much, much, much more junior. And I believe that my title will soon change to “Principal Architect,” which only means that if you’re an internal Microsoft person, you’ll have a general idea of what my career ladder level is.)

I should also be clear that I am an architect working on Visual Basic, not the “architect of Visual Basic.” There are at least three other people who work on Visual Basic that share the title of “architect” with me, all of whom do wildly different things. Basically, we’re just a bunch of senior developers who didn’t want to manage people but were useful enough to keep around anyway.

So that’s my title, but what do I actually do? Well, my standard cocktail party answer is “go to meetings and write emails.” And (very) occasionally write blog entries. However, if you wanted to pin me down a bit more, I tend to spend my time doing the following:

  • Attending language design meetings. We tend to have two hour design meetings every week on Monday and Friday to talk about Visual Basic language design. This is where we hash out new ideas, work through details, and deal with followup issues. With where we are in Orcas, it’s mostly followup issues at this point, but we should start gearing up to do some early thinking about post-Orcas soon.
  • Writing the language specification. This is a seasonal activity, so to speak, since it’s really only done later in the release cycle when the various individual feature specifications have settled down. It’s sort of a last formalization step for all the features and a chance for me to do a pass through everything we’ve decided. I’m actually just about to start this for Orcas.
  • Doing community stuff. This includes blogging, going to conferences and giving talks. I don’t do a huge amount of this in any one year, but it’s something I’m trying to do more of.
  • Writing code. Amazingly enough, I still do this. It tends to be what we call “long-lead” work, though, stuff that’s maybe a little further than prototype but not real production. For example, I did a lot of work on getting the first couple of LINQ CTPs (the pre-Orcas CTPs) out the door. And I’m doing a lot of work right now on some other code that might appear a little at MIX and (I hope) a lot more at the PDC.
  • Answering questions. As the longest serving member of the language team, I get a lot of random questions from people about design questions, past and present.
  • Talking to other teams. Whatever I’m working on usually interacts with other teams in some way, shape or form. With LINQ, I spent a lot of time talking with the C# team and SQL team. With the stuff I’m working on now, I’m spending a lot of time talking with other teams. Coordination is frequently the name of the game.
  • Trying madly to keep up with my email. Like the rest of the universe.

Of course, what anyone does at Microsoft always tends to be a moving target, so I’m sure I can write this same entry each year and it’ll be a little different each time. I guess that’s what keeps life interesting!