Monthly Archives: September 2008

Goodbye Google Ads

Given that I’m now working for its major competitor, I’ve decided to take down the Google ads from this site. I hope this leads to less clutter and intrusiveness. My goal for this site has been (and still is) for it to be self-sustaining, and I hope it can continue to be through Amazon referrals.


Check out my latest book, the essential, in-depth guide to performance for all .NET developers:

Writing High-Performance.NET Code by Ben Watson. Available now in print and as an eBook at:

First two weeks at Microsoft

It has been an insane first couple of weeks at Microsoft. In actuality, though, I don’t know if I can count it as two weeks of experience. I’ve had two days of orientation, one day for the company meeting (which was awesome, by the way), and two more days for training in Live Search specifically. So really I’ve had only a week of work.

The team I’m working in is great. Everybody really knows their stuff and it’s fairly intimidating trying to comprehend all the knowledge (both project and organizational) that you need to drink from the fire hose. Supposedly, it takes an average of 6 months before most people feel like they’re contributing 100%. That seems like a really, really long time, given how fast things move in the Internet age. So far, I’ve mostly read code (fixed one small bug, and found another), and done online training (of which there is a LOT–you don’t have to do everything, but there’s a an awful lot there to choose from). It’s easy to start feeling caught between wanting to contribute as soon as possible and not wanting to screw up other people’s work.

I’ve also got to come up with my yearly commitments this week–a daunting task when you don’t know anything. :) Thankfully, my lead is a lot of help. There’s a nice big section for personal development and I’m planning on reading Scott Meyer’s Effective C++ and More Effective C++. They’ve been on my list for a while, but now I can get graded on it!

I don’t know if I’ve mentioned it explicitly before, but I’m working on the Webmaster team as part of Live Search. The Webmaster tools are the interface between web site owners and the Live search index. If you have a web site, you should definitely create an account with our tools so you can see how your site is performing.

About Live Search in general…

Over a year ago I briefly tried Live Search as my main search engine, but quickly moved back to Google. About 6 months ago (before I was contacted about the job at Microsoft, incidentally), I decided to look at Live again–HUGE improvement. I have very rarely gone back to Google since then.

There are also some really exciting new features coming for both Live and the webmaster tools, so give them a try now and again in a few months. I can also personally attest to the fact that the Live Search team takes feedback seriously. If you have any issue with your site, or the results of your query–write up a little note and send it to the feedback page, or even send me an e-mail and I can make sure it gets sent to the right people.

P.S. My blog entry about my interview experience did make the rounds and a number of people commented to me on it….weird feeling…more infamous, than famous. Lesson: Make sure you never writing something you wouldn’t mind other people reading back to you. (I don’t think I did…)


Check out my latest book, the essential, in-depth guide to performance for all .NET developers:

Writing High-Performance.NET Code by Ben Watson. Available now in print and as an eBook at:

Converting OLE_COLOR to System.Drawing.Color

I’ve been working on a project using Visual Studio Tools for Office 2008 (VSTO) and at one point I needed to get the colors for categories in Outlook 2007. There are actually 3 colors, and they are returned as uint’s–why the .Net wrappers don’t convert to colors for you, I don’t know (to avoid linking to System.Drawing?).

The important thing is to convert them into the friendly System.Drawing.Color objects I know and love. For this task, there exists a handy ColorTranslator class. There is a FromOle method that does the exact chore you need. Here’s a sample of my code:

 

   1: private void GetCategoryColors()
   2: {
   3:     foreach (OutlookLib.Category category in
   4:         Application.ActiveExplorer().Session.Categories)
   5:     {
   6:         CategoryColor color = new CategoryColor(
   7:             ColorTranslator.FromOle((Int32)category.CategoryGradientTopColor),
   8:             ColorTranslator.FromOle((Int32)category.CategoryGradientBottomColor),
   9:             ColorTranslator.FromOle((Int32)category.CategoryBorderColor));
  10:         _categoryCollection[category.Name] = color;
  11:     }
  12: }

Check out my latest book, the essential, in-depth guide to performance for all .NET developers:

Writing High-Performance.NET Code by Ben Watson. Available now in print and as an eBook at:

Would you rather…

be able to read minds (anyone’s around you. Selectively. You aren’t forced.)

– OR –

be the smartest person in the world (in any field, you’re a genius)

…a question my wife and I pondered as we cleaned the house the other day…


Check out my latest book, the essential, in-depth guide to performance for all .NET developers:

Writing High-Performance.NET Code by Ben Watson. Available now in print and as an eBook at:

Google Chrome – the Good, Meh, Ugly, and This Means War

I just read all about Google Chrome, their new open-source browser, in the comic they put out. No download link at this time, but I’m sure it’s coming. My initial thoughts:

The Good

  • The JavaScript changes seems to make sense. The better garbage collector and speed improvements can’t hurt.
  • The free API to download lists of malware or phishing sites is pretty nice.

The Meh

  • UI changes. Making each tab its own browser entity and putting controls in each tab? That’s it? So what!
  • Some of the search enhancements are interesting, but I don’t think that anyone will care that much in the end.
  • Showing most popular pages…meh
  • Unclear on the plugin model. Will they have their own? Will they run ActiveX (they imply yes). How about Firefox plugin compatibility? All we need is yet another API for writing plugins.

The Ugly

  • A new process for each tab? Are you serious? I understand that it’s (maybe)the only way to completely isolate web pages from each other, but given how many pages some people have running, that means an extra 50 processes on the system. That’s a lot of resources. I know their idea was to consider each web page an application, and of course each desktop application is its own process, but I don’t think we actually treat most web pages like applications. We create new browser tabs and switch pages with wild abandon. Most web sites are NOT applications–they’re reference. They’re just books open to 50 pages at once. (Was process isolation really a problem that needed solving? I almost NEVER have runaway tabs in IE7)
  • Proprietary JavaScript hooks. Sure, it’s open source, but they’re still building things into their version of JavaScript that only work with their browser.

This Means War

  • First front: SilverLight. Gears seems to be a direct assault on the concept of .Net and SilverLight. The technology and scope are different now, but I think ultimately they’re going after the same target: having the rich-client experience in your browser on multiple OSes/browsers.
  • Second front: Firefox: the only people who are going to download Chrome or even understand what it is are the people who use Firefox. If Chrome succeeds, it will be at Firefox’s detriment. Thanks for playing.

Overall, I felt a big “meh” after reading the comic. While many of the ideas are interesting, overall, I don’t see a compelling reason to switch. I’ll try it out when it becomes available, and my opinions will probably change on some things, but Google is going to have to do a lot more to overthrow IE. Maybe their purpose really is to just throw ideas out there and see what sticks, what gets integrated into competing products, etc. We’ll just have to see what happens next. It’s going to be a fun couple of years!

(P.S. Also, please everyone, especially media, start mocking Chrome for it’s “p%%n mode” just liked you mocked IE.)


Check out my latest book, the essential, in-depth guide to performance for all .NET developers:

Writing High-Performance.NET Code by Ben Watson. Available now in print and as an eBook at: