Tuesday, May 15, 2007

Follow the leader

First, some disclaimers.
  1. I work for Microsoft, on Microsoft Office Live
  2. I do not work on C#, VB.Net, or even in Developer Division (DevDiv)

Ok, on to the point. Jeff Atwood recently posted about some frustration he's dealing with regarding the differences between C# and VB.Net. Here's the article: C# and the Compilation Tax

I noticed something when I worked at GeoAge (How's that for link love to the company that had to lay me off?). We were a VB.Net shop, and I'm pretty sure they still are. I was a C# dev at heart. One thing that I hated about using both languages was that Intellisense was a lot better in VB than in C#. Autocomplete in particular saved me thousands of keystrokes a day at work.

Then I started playing with VS 2005. Turns out that in 2005, C#'s intellisense seemed to take a huge cue from VB, and we had equivalent completion, and intellisense.

I've developed a theory. The VB team focuses a lot of energy on making developing code easier, while the C# team devotes time to making the language more powerful. I think the C# team then capatilizes (one version back) on the work from the VB team. Probably under a lot of pressure from their customers, since they see how much more productive VB devs can be.

So, I expect that in the next version or two of VS, we'll see background compilation in C#, and see the My namespace make it into C#. Those are my predictions.

Just hold on Jeff, and hopefully the C# team will make you happy. Of course, by the time they do, the VB team will have some new thing that makes their devs more productive, so you'll be wanting more from the C# team. It's a vicious cycle, but I think it makes C# a better language, and the .NET platform stronger. If you can deal with being a cycle back in productivity.

Funny SR71 Blackbird story

Someone sent this out on the MS pilots alias today. Go read it, it's short, and pretty funny.


Tuesday, May 08, 2007

Office Live is having a contest! Win $10K

I'm not eligible, of course, even though I'm an Office Live customer, and own a small business. Guess that's just the price of being a MSFT'ie.

Anwho, here's the info on the contest:

Enter the Capture More Customers Sweepstakes - $10,000 Grand Prize
Can potential customers find YOU in the Internet jungle?

Enter the Microsoft Office live Capture More Customers Sweepstakes and instantly receive a $50 Microsoft Office Live adManager* credit toward launching your first search campaign – PLUS have a chance to win these great prizes:

$10,000 in cash for your business
Customized search marketing plan for your business created by experts at “The Search Agency” ($500 value)

Enter today!

Need a Web site? Click here to learn more about the FREE Microsoft Office Live Web site offer.

Wednesday, May 02, 2007

If you're planning to use us an excuse to visit the Pac NW, better hurry

Courtney and I made a deal about a year ago. When we decided to take the job at MSFT, we agreed that we would site down one year later, and have a conversation. This conversation would revolve around whether or not we were happy living in the Seattle area.

Moving out here was a big change for us, and a particularly tough decision for Courtney, since she's never lived farther than 45 minutes away from her parents and grandparents. Obviously, we're more than 45 minutes away now.

A couple of weeks ago, the weather here changed. The sun came back out. You wouldn't believe the difference I noticed in Courtney's happiness level. I'm sure she saw the same in me. It's not like either of us was really pissed or anything, but we were both less cheerful than we're used to. This prompted us to start our discussion a couple of weeks early.

We've decided that we don't like living in the Pac NW, and that Microsoft isn't enough of a reason to stay here. It's actually a really tough decision for us, because both of us really enjoy working for MS (me more than Courtney). Both of us really miss our family and friends back in Florida, too, though.

Not to mention the financial burden of having a household in Florida and here, and our total inability to ever afford a house here (450k for a condo, anyone?). So, we're moving.

I'm trying to work a deal with my current team to let me work remotely, from Florida. This poses some challenges, not insurmountable (we do have a team in India and one in China, after all).

We will be moving no later than December, and we're hoping to move closer to August or September. It all depends on what happens with my current team, and with the feelers I put out for jobs at other teams in MS and other companies.

I'll keep you posted.

Saturday, April 14, 2007

My current 'coolest reason to work at Microsoft'

So, I've done something new. I caused a feature to be added to a shipping Microsoft product. One that almost all my friends use on a daily basis.

We had a meeting with the MSBuild team a while ago, before we started converting our existing build system over to use MSBuild. In that meeting, we told the guys (Dan & Vlad) that we were wishing for a particular thing during our conversion. We were wishing that it was possible, in MSBuild, to know what directory we had called MSBuild.exe from. There are a lot of things you can tell in MSBuild, like the directory of the current project, and a bunch of other well-defined directories. But, you couldn't tell what directory you called msbuild.exe from.

I present to you a new property. I wish it was called the Cullen property, but it's not. They're adding it to the 'Orcas' MSBuild, which is shipping with .NET 3.5, whenever that ships. I think they called it MSBuildExecutionDirectory or something like that.

I didn't even know they were adding the property, I happened to see an email on an internal alias that said something to the effect of "We added this cool property cause the guys on Office Live asked for it". That was me!

Now, when my friends start using the next version of VS, they will be using something that I asked for, and was put in the product basically just because I asked for it. What other company can you work at and do that?


I was watching Walk the Line again today. When I turned it on, something stuck me. It's amazing to me that a guy could have written songs 40 years ago that still appeal to people now. I *love* all of the music in that movie. Johnny Cash wrote some great songs.

I know there have been other artists that have written songs that stuck around a long time, but my impression, at least, is that most of them are still appealing to the people that heard the music when they were young. Generally, the music doesn't appeal to those people's children.

I certainly don't expect that Mikayla will be a fan of Rage Against the Machine when she's 29. I doubt she'll even understand what the songs are trying to tell her. Not so with Johnny Cash's music. I still get his message, and still hear his voice in the music.


Tuesday, April 03, 2007

New computer goodness

I just bought a bunch of new stuff for my computer. Well, I actually only got two things, but it's going to make my home pc feel like a new machine.

I got a smoking hot new video card. This is the first video card i've had that's 'top o the line'. Well, almost top of the line. Top of the line was like $900, and I don't care about my computer that much anymore. It's an nVidia 7950GT. Like that means anything to my readers, right?

Here's the deal: Games have these sliders all over the place, which let you specify what level of detail and visual goodness you want in the game. Currently, most of my sliders are way to the left (little detail), and I run games at a low resolution (1024x768) compared to what I have my desktop set at (1600x1200).

Tomorrow, assuming the new card arrives, I'll be able to pump up my resolution to 1600x1200, and turn ALL the sliders all the way to the right. That means I'll be seeing sweat bead, and flies buzzing when I'm playing. yay for me!

I also got a new motherboard, since this new video card wouldn't work with my existing one. Luckily, I found a motherboard that supports my current CPU, so I don't have to get a new processor. The mobo also supports the newer Intel chips, though, so when I'm ready (next year's tax return, maybe), I can get the new quad processor chip from Intel, and more than double my computing horsepower. I'm totally stoked, and can't wait until tomorrow.

Disable Aero for better game perf in windowed mode

I've finally made the full switch to Vista. At work, at home, everywhere. Well, except for my crappy work laptop, which dies when it thinks about running Vista's eye candy goodness.

I had to wait a lot longer than I wanted to fully switch over. VS 2005 wasn't fully supported on Vista until recently, and at work, we have a critical piece of internal software that doesn't work on Vista.

That's actually a good lesson, and one that Raymond Chen would push for us all to learn. Don't use undocumented APIs* in your app, because they may go away in the next version.

So, one thing I've noticed is that Aero really slows down framerates of games, if you play in windowed mode. I personally notice this a lot with World of Warcrack, and I've heard on some internal aliases about people experiencing the same thing with their XNA apps.

Here's the fix: right click on your game executable, and select properties. Then go to the compatability tab, and check the box 'Disable Desktop Composition'. That's aero. Now, when you run the game, Vista will switch you to Vista basic, and then execute your game. When you exit the game, aero comes back.

This has been working for me for quite a while now, but there was one thing that was bothering me. Every time I switched off Aero, I got a windows alert that the color scheme had been changed to Vista Basic. I hate getting toast, and I have this compulsion to click the 'x' on toast messages. I found myself racing WoW, to click the x before the game loaded. No more! If you click in the body of the toast, you get another window, with the option to hide the toast message forever! I feel liberated. Really, I do.

Why does Aero affect frames per second (FPS) in games? I'll tell you why. Or at least, my theory why. Aero uses DirectX. Most games use DirectX. That means that when you have aero running, it's competing for resources with your game. More consumers = less resources for each one.

Normally you don't notice this, since normally, you're not using your graphics card to it's full extent. Throw in a modern 3d game, though, and your graphics card starts sweating a bit. Aero on top of the game will kill your framerates. I've seen/heard of drops of 20-30%.

So, disable Aero for better perf in games tha tyou run windowed mode.

Saturday, March 10, 2007

We have job openings

If you're interested in working on cutting edge software services, drop me a line. We need testers (SDE/T) and devs (SDE). Contact me at cullen DOT waters AT Microsoft DOT com