Category Archives: Personal

Giving in…

Of course, some of the hardest parts of being a parent is giving up, giving in and admitting that you’re no longer the freewheeling couple that you once were. Bit by bit, kids chip away at any pretensions you might have of remaining young and/or cool. Thankfully, in my case that isn’t really giving up all that much–I mean, I was never really cool, so it’s not that much of a loss for me. My wife, on the other hand, was quite a bit cooler than me, and so she’s taking it a bit harder. Case in point–after much resistance, my wife admitted that a minivan would be a lot easier to get the kids in and out of than her little purple car. So she caved and now we have a shiny new red Toyota Sienna sitting out front. She hates to drive it, but already we’ve been putting it to good use…

On the plus side, instead of going directly through a dealership this time, friends recommended we use The Amazing Autowoman. Since Heidi is a buyer’s agent (i.e. works for you instead of the dealer), she really focuses on making the buying experience the most painless process possible. I’ve always hated the fact that when you go to buy a car you always end up with overpriced options that you don’t want because “that’s what’s available.” We went looking around the local dealerships to see if they had exactly what we wanted, and none of them did–so, of course, they pushed us to buy something with a different color or thousands more in options. When we called Heidi, we told her exactly what we wanted, she ordered it and we got it for an excellent price! (In fact, what we wanted was the base level of one of the models with NO options. When we got the car, we had to go and buy floor mats because that’s usually one of those options the dealership slips in there and charges you extra for. Definitely cheaper to go to Wal-mart!) If anyone is looking for a car, I defintely recommend checking her out!

Unforuntately, there wasn’t much she could do for my wife. At least we decided to keep her old little purple car so she can zip around when she’s just on her own and pretend…

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 www.cheerwine.com, 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!

Yes, it’s been quiet around here…

It’s amazing how many viruses babies manage to bring into the house. I think we’ve been down with something pretty much continuously since we got back. Fortunately, we haven’t been all sick at once, but this is starting to get a bit old…

Things have also been extremely busy around work. I’ve been working on something that I’m hoping we’ll have at least a mention of at MIX07 and will probably have more to say about later in the year. I realize there are some threads that have been left hanging, so I’m going to try and tie them up in the coming weeks.

And, finally, the mail on my webserver is now working again, so if you’ve wanted to send me feedback on the Contact form and haven’t been able, you’re back in business. Sorry about that!

A belated "five things"…

I thought I’d done this when Bill was kind enough to tag me, but I just found this post tucked away in my “drafts” folder… I know this is well beyond the life of the original meme, but I went through the trouble of writing it, so here are five things you probably don’t know about me:

  • I wrote my senior thesis in college on the role of etiquette in Tom Sawyer and Little Women. (I actually double majored in college and graduated with a Bachelors of Science in American Studies and Computer Science. This may have been the first BS awarded in American Studies at Yale.)
  • My wife and I have a long-standing tradition of reading together out loud at night before we head off to sleep. We started with a number of children’s classics that I had never read as a kid (The Wind in the Willows, Winnie the Pooh) and have since skipped back and forth through a number of different genres. Barnes and Noble’s classics series has been great for this, as we’ve tried out The Count of Monte Cristo, King Solomon’s Mines, several E. Nesbit books and are now starting in to Dracula. When the kids get a little older, we’ll start with them, too, although not with Dracula, of course…
  • I suck at math. Well, I was good enough at faking it to get through multi-variable calculus, but that doesn’t mean that I actually understood any of it. I actually took the GREs twice because I did so much worse on the math section than I did on the verbal and logic sections that I figured that I must have accidentally missed a bubble or something and started answering in the wrong rows. Turns out I didn’t. Second math score was worse than the first.
  • Growing up in the fairly urban, fairly liberal area that is the Research Triangle in North Carolina, there are many ways in which I don’t think I can truly claim to be a Southerner. However, one part of me that will always be Southern is my palate. I constantly mourn the fact that I cannot find any of the following anywhere near Seattle: Chick-Fil-A, Cheerwine, hushpuppies, Brunswick stew, proper cornbread, sliced NC-style BBQ (the kind they make at Bullock’s), creamed corn, Calabash-style seafood, sweetened ice tea or fried okra. Thankfully, we now have Krispy Kreme, red velvet cake is catching on, and I have to say that the Kingfish Cafe’s fried chicken and greens are pretty good.
  • I took piano for nearly seven years and managed to get worse over time, not better. One of the most mortifying moments in my life was when my family was between houses and my mom took me to her friend Mary Lou Williams‘s house to practice. (Mary Lou Williams was artist-in-residence at Duke University at the time, where my mom worked and had become friends with her.) Suffice it to say, if Mary had anything to say about my pathetic use of her piano, I mercifully don’t remember it. (I’m sure she was completely gracious as she always was.)

I think this meme is so dead, there’s no point in tagging anyone. Besides, who’s left that hasn’t done it?

New arrivals…

I’m happy to announce that the Vick family has grown by two whole people! On January 9th, my wife Andrea’s birthday, we were in Guatemala City, Guatemala and became the proud parents of two boys, Benjamín Conley Vick and Samuel Jorge Vick.

Here’s Ben with some wild hair going on:

And here’s Sam:

After many months of paperwork and bureaucratic hell on all sides, we flew down to Guatemala last Monday and they dropped off the boys on Tuesday. After finalizing their visas with the US Embassy, we returned home last Sunday in a trip that was truly a marathon. However, the kids were pretty good about it and slept most of the way (except for maybe the last couple of hours). The true highlight, though, was trying to adjust our car seats (which had been left in Seattle) to our children’s dimensions in baggage claim at SeaTac airport at 1am. The temptation to pull a Britney Spears was mighty strong, but the icy roads outside suggested that it would have been unwise.

Otherwise, we’re just recovering from the trip and trying to start settling in to a regular schedule. At eight months, the boys are pretty good sleepers, but there are always kinks to work out in the system…

Exciting times

As I wrote back in August, my wife and I are adopting twin boys from Guatemala. At the time I last wrote, the adoption papers for Ben & Sam were wending their way through the Guatemalan legal system. The Guatemalan side of things was finalized back in October (making us officially their parents) and then there was just the small matter of getting the US Embassy in Guatemala to approve our papers so we could get visas to bring them back into the country. Well… It ended up taking a little longer than expected (two months instead of two weeks), but we got the word last week that our papers had been approved, so we’re now headed down to Guatemala! Assuming no other hiccups come along (knock wood), we should be back home next week with Ben and Sam, and I’m sure our house will never be the same again…

I’ll post pictures when we get back, but this also means that I’m going to be on paternity leave for a month as well, helping to get things settled (at least, as settled as they’ll ever get) around the house. I’m sure there’ll be some times I’m up at 4am and have nothing better to do than post, but things will likely be quiet on the VB front during that time. But rest assured I’ll be back!

Ten years… Where does the time go?

It’s hard to believe, but it’s been ten whole years since I joined the Visual Basic team. Back in January of 1997 I moved from Access over to OLE Automation with the thought that automation was going to be the central place to be for development tools at Microsoft. A month or two after I’d made the switch, I had a meeting with some random guy named Brian Harry and some other people talking about this great metadata engine they were working on that was going to totally replace OLE Automation. I remember thinking, “yeah, right.” Of course, that metadata engine went on to become the metadata engine for the CLR…

After a year and a half working on OLE Automation (and, I hope, working on the first and last component I’ll ever have to check directly into Windows), I moved over to the Visual Basic compiler team. To say I had no idea what I was getting into was an understatement. We’d just shipped VB 6.0 and were figuring out what to do next…

The last ten years have been a real learning experience. Sure, I did well in my compiler class in college, but let’s face it–I had only scratched the surface of what it means to build a compiler, and I knew absolutely zip about language design (they just don’t teach you that in college). I’ve been blessed by the opportunity to work with a whole lot of really bright people who were patient enough to teach me what I needed to know along the way and to put up with me the times I got things wrong. I’m proud of the products that I’ve contributed to over the years, and am looking forward to the work that’s left to be done. The great thing about working on development tools is that there’s always something new…

Dunno if I’ll still be doing VB ten years from now, but as Fats Waller said, “One never knows, do one?” 

Sometimes you forget you’re not the only one…

One of the teams I’ve been spending a lot of time talking to lately is the folks over in the CLR who bring you IronPython. Overall, it’s been a very enjoyable experience, as they’re a smart bunch of guys who have a lot of experience with building dynamic languages and libraries and such. One of the unexpected benefits, though, has been psychological. After spending the past nine years interacting mostly with languages that were derived from C, it’s amazingly refreshing to talk to people who work in a language that has more of a cultural affinity with our own language.

After all, if the C-style languages do things one way and VB does it another way, it’s a bit like a 4-on-1 situation since you have C, C++, C# and Java all lined up on one side and VB on the other. And as much as we relish being the maverick, it sometimes helps to be reminded that there are more things in heaven and Earth than are dreamt of in Kernighan and Richie’s philosophy. (And this is no knock on those guys, BTW, they did amazing work that’s stood the test of time.) This isn’t to say that VB and Python are amazingly similar–after all, Python is still case sensitive–but still… I think it also helps that the Python folks deal with the same kind of questions that we deal with vis-a-vis our communities and backwards compatibility. After all, unlike C#, we’ve both got a lot of history to deal with!

Anyway, just a thought motivated by some discussions we were having yesterday about lambda expressions. Oh, yes, which reminds me that that’s my next topic…