Monthly Archives: December 2003

Biculturalism, VB and C#

One more thing that might not really last the month until I get back, so I’ll get it out now… One of the recurring questions/debates that goes around the web is “why have two languages (i.e. VB and C#) when one would do?” This is a question that begs an involved discussion but I think Joel Spolsky’s discussion of the separate cultures of Unix and Windows provides an excellent starting place. Replace “Unix” with “C/C++/C#/Java” and “Windows” with “VB” and I think he starts to capture the essence of the reasons why VB exists.

Maybe in February I can elaborate on my thoughts on this, although I’m not sure I can explain it better than Joel does. I thought this particularly captures my feelings in response to people who say that “C# and VB are the same language with slightly different syntax”:

What’s left is cultural differences. Yes, we all eat food, but over there, they eat raw fish with rice using wood sticks, while over here, we eat slabs of ground cow on bread with our hands. A cultural difference doesn’t mean that American stomachs can’t digest sushi or that Japanese stomachs can’t digest Big Macs, and it doesn’t mean that there aren’t lots of Americans who eat sushi or Japanese who eat burgers, but it does mean that Americans getting off the plane for the first time in Tokyo are confronted with an overwhelming feeling that this place is strange, dammit, and no amount of philosophizing about how underneath we’re all the same, we all love and work and sing and die will overcome the fact that Americans and Japanese can never really get comfortable with each others’ toilet arrangements.

Couldn’t have said it better myself…

Ship gifts

As I prepare to do my final packing for Africa (weight limit: 33 lbs for 4 weeks, ug), I’m reminded of the quaint tradition of ship gifts at Microsoft and wonder again why ship gifts tend to be so bad. Ship gifts, in case it isn’t obvious, are gifts that the company gives a development team when a product finally makes it out the door.

I’m reminded of this because the duffel bag that I’m packing is pretty much the only ship gift that I’ve gotten in nearly 12 years at Microsoft that I think is actually worth a damn. As a gift for shipping Access ’97, everyone got these really nice High Sierra duffel bags with a tasteful “Access’ 97” sewn into the bag. The duffel is really great — besides being rugged, it also expands from normal size up to a bigger size in case you buy stuff on your trip or need a little extra space. I’ve taken the bag all kinds of places and it was my primary bag on my last really long trip, my monthlong honeymoon to Spain four years ago.

In comparison, the 8 or 9 other ship gifts have either been entirely forgotten or were so cheap and/or useless that they’ve been tossed out. I know, I know, the old adage about looking a gift horse in the mouth applies here, and it’s not like Microsoft doesn’t pay me a living wage. So what am I complaining about? Mostly the waste. I mean, for shipping Access ’95, we were given a pretty decent letterman’s jacket that was marred by, excuse my French, a butt-ugly Access logo that I think was supposed to be purple but ended up looking more pink. Some sewing minded coworkers managed to get the logo patch off without destroying the jacket, but who’s got the time (or the equipment for that matter)? Instead, it’s been taking up space in my closet for the past eight years because I can’t bring myself to throw it out or give it away.

In a lot of ways, ship gifts are just a part of the love affair that corporate America as a whole has with cheap, useless and/or ugly swag. And I do think most of the time it’s just a huge waste, fueled by everyone’s love of getting something, even a crappy something, for nothing. (And based on my own behavior at trade shows, this is the pot calling the kettle black.) I think we’d all be a lot better off either getting high quality useful stuff that we’re not going to toss or leave in the hall closet for years or just not getting anything at all. It’s not like we need most of this stuff.

But, then, that’s just my $0.02…

Bandwidth is a terrible thing to waste

I noticed this morning that starting somewhere around Dec. 20th, the bandwidth being consumed by my blog made a huge spike. A quick browse of my server log suggests some culprits. It looks like someone(s) or something(s) have been making automated sweeps of my blog from all kinds of different IP addresses. It’s not a search engine like Google or anything — just periodically all the front page links of my blog will be hit.

I don’t have time to track this down before I leave, but I am taking a few minor steps to try and limit the amount of bandwidth this is consuming. Forthwith, the month view and category view of my blog will only show titles rather than the entire entries. (I also fixed a bug that resulted in the category view not being sorted by date/time, which indicates to me most people aren’t using that view anyway.) I also reined in the number of entries that are returned by a category RSS feed — I was returning 50 items, which appears to be some number left over from the original BlogX codebase. I lowered it to a much more reasonable 10 items, which is what you get on the main RSS feed.

Anyway, hopefully nobody will notice nothing. When I get back I’ll delve further into the mystery of who’s scanning my site so regularly…

Year-end reassessment

Sam Gentile has a post in which he ruminates on “my blog [...] and the place it plays in my life.” I don’t know what motivated Sam to do his thinking, but I am finding myself starting to do some end-of-year thinking about blogging and other subjects. The serious thinking is going to be postponed until after I get back from Africa, but I have been doing this blogging thing long enough to have some idea of what its about and to start to form some opinions as to what I’d like to do with it.

My book will also be close to being published when I get back, which will give me an opportunity to think about how I feel about the whole authoring thing and where I want to go with that. And taking a whole month off from work also provides an excellent chance to “hit the big red switch” and do some thinking about where I and VB might be going. (No worries, I’m not thinking of making a career change or anything radical like that. It’s just a good time to do some reassessing and thinking about the future. Mmmmmm…. Orcas… Longhorn…)

Guess we’ll just have to see…

And let me add…

…that while normally New York is a wonderful and crazy town, New York at Christmas is a wonderful and insane town. Just when I thought I’d never seen so many people in the same place at one time before, we’d go somewhere else and it would be even worse. One of those things in life you want to do once and then say “Been there, done that.”

We went to New York with my wife’s family, which included my 6 year old niece and 9 year old nephew. We did a bunch of “kids in New York” stuff like going to the Radio City Music Hall Christmas show and going to see the tree at Rockefeller Center. The most fun thing was going ice skating at Wollman Rink in Central Park. Beautiful scenery and my niece was a complete natural at skating (it was her first time).

I think, though, the most impressive sight I saw was the Christmas house in the Bronx. Absolutely insane. Pictures don’t even do it justice. You just have to see it to believe it.

A plug for “Code Generation in .NET”

I just wanted to put in a quick plug for Code Generation in .NET, Kathleen Dollard’s new book. Besides being an author, Kathleen’s also a passionate VB user and we’ve had many discussions over the years about the design and progress of the language. She’s also incredibly passionate about code generation and given some of the detailed emails that she’s sent me on the subject, this book can’t help but be great. If you’re doing code generation in .NET, I’m sure this is going to be the book to buy.