Ever had to maintain a large platform used by many developers over many years?

Read first: 2 years ago I gave up on Silverlight.

I read inexperience into that post.

It’s very difficult to build a big platform and maintain all of the functions over time. Subtle changes to core logic, or derived classes can blow a framework out of the water. I’m of the “seal by default” mindset (although I didn’t get brainwashed by working at Microsoft). Every time you allow someone to inherit or derive, you’ve taken on an additional burden of support. Did you imagine all of the scenarios that would be used by the consumers? Doubt it. Did you imagine that they’d call function X, then Y, and overload Z? Doubt it. Wait for real-world feedback, then decide what’s right. It makes early adopters suffer a bit more, but the long term adopters will thank you for a stable consistent platform.

Interesting is the number of Microsoft responses, including ScottGu (they do actually use the Internet folks!)

What do you think? To seal or not to seal? That is the question (methods/classes/etc.)

Google I/O 2009 Keynote Online

Keynote video from the Google I/O Developer 2009 Conference is here:


Good summary of news of day one here on TechCrunch.

Is HTML5 (and all of the associated features) going to make Flash and Silverlight generally irrelevant? It’s certainly in the back of my mind.

A few thoughts as I watched the first segment this evening…image

Vic Gundotra (VP of Engineering at Google): “Never underestimate the web.” “The web has won.” “A more powerful web made easier.” (Has he seriously tried doing multi-browser development?) “100x performance in last 9 years in JavaScript performance.” Build exploitive applications (of HTML5). (Do I leave older browser users behind Vic?) Canvas is clearly better than Flash / Silverlight. Plug-ins just suck. [Paraphrasing] The Google-internal profiling tool looked slick. 

Matthew Papakipos: “Explosion in 3D applications.” I’ve seen a lot of 2.5D – but no real increase in true 3D applications. You? Using "GPU” rather than your CPU leaves your app free to run code efficiently on the CPU. Need 3D in major browser vendors – but no mention of Microsoft (unless they’re considered “others”). “Still in the early phase.”

Vic: Where’s IE8 and HTML5? “We eagerly await to see evidence of that [HTML5 in IE8].”  

What excites you about their announcements? Or maybe worries you?

Political science and cows

Get a laugh here: Essence of Political Science.

A few examples:


You have two cows. At first the government regulates what you can feed them and when you can milk them. Then it pays you not to milk them. Then it takes both, shoots one, milks the other and pours the milk down the drain. Then it requires you to fill out forms accounting for the missing cows.

Pure Anarchy

You have two cows. Either you sell the milk at a fair price or your neighbors try to take the cows and kill you.

Pure Capitalism

You have two cows. You sell one and buy a bull.

Real World Communism

You share two cows with your neighbors. You and your neighbors bicker about who has the most "ability" and who has the most "need". Meanwhile, no one works, no one gets any milk, and the cows drop dead of starvation.

MIT’s: Obama, One People

Really cool visualization of the mobile phone activity around inauguration day on January 20, 2009.

Make sure you watch the HD versions as the LD versions are difficult to follow (and even in HD the text is still too small – it would have been much more interesting to be able to easily read the time/date graph).


The World view reminds me a bit of War Games though …!