# Tuesday, 20 May 2008

Napster just launched a digital music store that is DRM free and has 6 million MP3s to download for $ 0.99. It will not have the proprietary DRM from Apple or Microsoft on it.

"Music fans have spoken and it's clear they need the convenience, ease of use and broad interoperability of the DRM-free MP3 format," said Napster CEO Chris Gorog, "and they want to be able to find both major label artists and independent music all in one place.  Napster is delighted to deliver all of this and more with the world’s largest MP3 catalog."

This is bad news for Apple.  Apple got strong in this business because the record labels wanted DRM on the songs and Steve Jobs gave them one, one that will only work on the iPod. Jobs argued to the labels that in order to make Apple's DRM software, FairPlay, effective, it had to be proprietary. The labels agreed and the iPod was released in October 2001 along with iTunes as the first legal digital music download store. Jobs won't license FairPlay, so all music sold on iTunes can be played only on iPods. This lack of interoperability, combined with the iPod's overwhelming dominance, gives Apple a stranglehold on the digital music marketplace. How big is this stranglehold? 22% of all music sold in 2007 was sold on iTunes.

So the empire strikes back. In July 2007, Universal said it would selectively choose which songs (or albums or artists) were sold on iTunes, rather than granting iTune blanket access to the entire catalog. (This was a major blow to Apple.) In August 2007, Universal announced the plan to offer DRM-free tracks through non-Apple retailers. Amazon and Napster are now selling DRM free music in an attempt to break the stranglehold Apple has with its proprietary system.

Is this the beginning of the end of the iPod? Time for Apple to respond. It would be nice if they licensed FairPlay. Something has to change. it will be fun to see what does.

posted on Tuesday, 20 May 2008 11:19:04 (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Sunday, 18 May 2008

On Monday I will be speaking before representatives of the US House of Representatives about legacy systems. The question is to invest in brand new systems and technology or just to kind of glue together things on top of old systems. The question boils down to one of public policy, should the Congress pass laws mandating this, or should they give some autonomy (and budget to attract some talent) to their in-house IT staffs.

I am working with the Association for Competitive Technology on this issue. We feel that scraping the old and leapfrogging over a generation of technology or two is the best bet. Get some creative destruction on Capital Hill from new IT systems.  Treat the IT departments like a business, not a governmental agency. Give them budgets and goals and have them develop the applications and processes required. A little autonomy can go a long way.

posted on Sunday, 18 May 2008 22:01:39 (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Thursday, 15 May 2008

Cable company Comcast acquired Plaxo yesterday for about $150 million. Comcast did for the same reason Microsoft wanted to buy Yahoo, eyeballs. Plaxo has a lot of members, and a popular new feature called Pulse, gives Comcast a toehold in Silicon Valley.

Was this a wise move? Probably not. Plaxo was on the block for a long time and nobody would touch them. Google was rumored for a while, then Facebook. The problem is that Plaxo is not relevant anymore. With the movement this year behind both OpenID and Data Portability, your social grid should be your to manage and in a new environment where profiles, contacts and your data is portable across platforms (Facebook, Yahoo, MySpace, etc), it is the API and applications that matter, not how many contacts you have.

Plaxo will most likely die a quiet death inside of Comcast within a few years. The good news, no more Plaxo spam.

posted on Thursday, 15 May 2008 10:57:54 (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Tuesday, 13 May 2008

Thursday, May 15, 2008
WPF Beyond the Basics: Playing Tricks with the Visual Tree

You must register at https://www.clicktoattend.com/invitation.aspx?code=126267 in order to be admitted to the building and attend.
The Visual tree is one of the core concepts of the WPF framework. All things visible in a WPF application are objects from the Visual tree. In this talk I'll give a quick overview of the Visual Tree and then get into interesting ways of manipulating it. We will also look into the styling and templating aspects of visuals. The ideas presented here should be immediately useful to custom-control developers and application developers in general. The session will be very hands-on with cool demos and live coding! The techniques discussed here were used in my blog posts on ElementFlow, GlassWindow, Drag 'n' Drop with attached properties, Genie Effect, etc.

Pavan Podila
Pavan Podila has worked on a wide variety of UI technologies with current focus on WPF/Silverlight, Flash/Flex and DHTML. He has a Bachelors and Masters degree in Computer Science with specialization in Graphics and Image Processing. He has been working with .Net since 2004 and WPF since 2005. In the past he has worked with Java Swing, Eclipse plugins, AJAX UI frameworks and Trolltech Qt. His primary interests are in 2D/3D Graphics, Data Visualization, UI architecture and computational art. He blogs actively on http://blog.pixelingene.com.

Thursday, May 15, 2008

Reception 6:00 PM , Program 6:15 PM

Microsoft , 1290 Avenue of the Americas (the AXA building - bet. 51st/52nd Sts.) , 6th floor

B/D/F/V to 47th-50th Sts./Rockefeller Ctr
1 to 50th St./Bway
N/R/W to 49th St./7th Ave.

posted on Tuesday, 13 May 2008 07:38:08 (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Monday, 12 May 2008

You may already know this but the beta of .NET 3.5 SP1 and Visual Studio 2008 SP1 are out today. You can download and install the beta from here. See ScottGu's blog for some release and install notes here.

It fixes a lot of bugs and rolls up a ton of service releases, etc, but this is not your ordinary service pack. SP1 of .NET Framework 3.5 actually adds brand new functionality to the .NET Framweork. For example the ADO .NET Entity Framework and ADO.NET Data Services (formerly code-named "Astoria") both ship new with the .net 3.5 SP1.

This changes the definition of a "service pack" since we have new functionality added. Since these are new features it will not break anything old and it is ok to install over your current 3.5 installation. But we really have .NET Framework 3.75. Download and enjoy.

posted on Monday, 12 May 2008 14:46:37 (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Sunday, 11 May 2008

About 13 years ago, Microsoft ruled the Earth. Windows 95 shipped to much fanfare and people were talking about a "monopoly" and how nobody could remove Microsoft from their top position- ever. Then came Netscape and the Internet, then the .com boom and then Google. Now everyone counts Microsoft out. (Mary Jo Foley and I don't agree, but that is a topic for another day.)

There was a time when GM ruled the Earth. Their market share was so dominate we could not envision a world without them. Their profits were larger than most European countries' GDP. First came the Japanese, then the Koreans (and soon the Chinese will come.) But the real death kill was the environment. Now everyone (including non-car owner me!) wants a Tesla. Now everyone counts GM out and they are probably right to do so. They will survive but struggle for relevance.

There was a time when AT&T ruled the Earth. They even had a real monopoly, but I am talking about post monopoly. They were big and had infrastructure and controlled a large portion of the long distance market. Then came Voice Over IP. Vonage was the early trend setter, then cable/fiber companies, then Skype. People keep asking me what my "work" or "home" phone number is and I say either call my cell or Skype me since I don't pay long distance or have a land line. Companies like VOIPo are just killing AT&T and other telcos. (Congratz to VOIPo for hiring such a smart CTO!) The telcos are now irrelevant. 

It has long been argued that this is all good. It is "Creative Destruction"  or the process of something new killing something old. The term was coined by Joseph Schumpeter in his 1942 book called Capitalism, Socialism and Democracy to be a "process of industrial mutation that incessantly revolutionizes the economic structure from within, incessantly destroying the old one, incessantly creating a new one."

The role technology plays in the process of creative destruction is simply amazing. I can list ten more examples but you get the point. I watch with sheer excitement when Microsoft feels that it has to "bet the farm" on some new technology or Google has to buy YouTube to stay relevant, or how they all bow to the Facebook alter (and Facebook will be made irrelevant by someone new just like Friendster and MySpace before it.) I love how 13 years go Yahoo was predicted to take over the world (along with Excite and others that have gone away) and now it is struggling for survival. My old employer Zagat is struggling to stay alive (I only half like that with my unexpired stock options still on the line <g>).

Technology is the most powerful creative destruction force and will continue to be so. The reason why I am not on the Al Gore bandwagon (despite my insistence of taking the subway everywhere) is because I have faith that the problems we are facing here in 2008 of the environment or health care will be solved with technology, motivated by the powerful market force of creative destruction. We now have a Tesla, the sexiest car on the planet. We now have targeted chemo-therapy based on your DNA, making it far more effective. What is next? I don't know but I sure what to watch it all play out.

posted on Sunday, 11 May 2008 11:55:21 (Eastern Daylight Time, UTC-04:00)  #    Comments [1] Trackback
# Thursday, 08 May 2008

Breaking new on CNN:

"Bill Gates one of the world's richest men, a philanthropist and humanitarian was denied an entry visa to Myanmar today in his effort to help with the victims of the Cyclone. The Military junta was worried Bill would try to buy the country. Bill Gates was very disappointed and was quoted as saying "I just wanted to help a few million people." So instead he decided to help a different million people, those who hate their friends sending them Twitter updates. Bill bought the company with some pocket change and closed it down to save humanity the pain of tech geeks micro-blogging about picking their noses. Microsoft's stock jumped 100% on the news."

Since Bill did not really save the world from Twitter, I will tell you why I don't Twitter.

1. Everyone wants to be a Microcelebrity. Get (micro) famous on Facebook, Flickr and Twiter? Only an ego the size of Silicon Valley thinks that people actually care about our daily lives. I know that I live a dull life and don't feel the need to boost my ego to Twitter and think that you actually care about it. I don't want to be a microcelebrity, if I can't get a role in a movie opposite Cameron Diaz, then screw it, I will just go back to what I am good at: writing code.

2. "I use Twitter so my wife knows if my flights are delayed." People who are way smarter than me give me this excuse. The only person who cares about your flight is the person who is picking you up at the airport, so why broadcast that to the whole community? Ever hear of an airline alert? Far more reliable then your 3G network. I use airline alerts and I take public transportation to and from the airport to offset the huge airline CO2 emissions.

3. "I use Twitter to update my status." What makes you think that anyone cares about your status? Also in the post 9/11 world, should you be broadcasting to potential criminals and terrorists your whereabouts? My DPE just checked into the San Francisco Marriott last night, maybe criminals want to go and rip him off (since they know he has iPods and expensive stuff with him due to his Twittering). Worse yet I travel to places where they kidnap businessmen for ransom or worse (like in Pakistan), should I updating my status to them?

4. "Twitter is good for Conferences." If you need to read Twitter feeds to know where the cool parties are, you should stay in your room coding and eating room service.

5. "Twitter is fun." Yes fun for people who would rather play baseball on an XBox than outside with a real ball. Twitter is a time suck and you could be using that time to ether be working (if you are Twittering at work) or just going and doing something fun. If you are doing something fun, disconnect and enjoy it. I don't care what you are eating for dinner, the score of the baseball game, or how is traffic on the I-95.

The last reason why I won't use Twitter is that it is going to fail. Meaning, micro-blogging may succeed and eventually I will have to do it  (but I have still resisted Facebook!), but Twitter won't be the platform we use. First of all it is slow and times out all the time since it is built on Rails and Rails just doesn't scale. Even if they rewrite the site, someone else will move in for the kill. Remember Friendster? They never overcame the damage of their performance problems. Second, most likely we will just alter our Blog feeds to have have micro-RSS feeds and anyone can build a client for it. No need for a central server.

posted on Thursday, 08 May 2008 10:28:38 (Eastern Daylight Time, UTC-04:00)  #    Comments [3] Trackback
# Tuesday, 06 May 2008

We're looking to hire a few good .NET developers. Instead of the traditional way of sending in CVs (resumes), I figured we can do this Web 2.5 style. Resumes are so 20th century and Web 1.0. What can we learn about you with just a resume?

Below are 10 things I want you to send me: some easy, some hard, some fun, some coding challenges. There are no right or wrong answers this is just a way for us to get to know you. Some questions will take you 5 seconds, some may take you 5 minutes, and at least one will take you an hour (#7, but it is fun). I am looking for what drives you, where you want to go, and of course your approach to problems and how you craft a solution. For the coding questions, good coders are easy to find, I am looking for a coder who in creative (one guy once solved a TSQL problem better than the actual official solution and now I use his answer as the new solution) but also through. (Hint: check your own work a gizillion different ways, I have gotten compile errors back in the past!) I am also looking for some who takes pride in their work and goes the extra mile (or kilometer). (Hint: things like good Unit tests also give you bonus points.) After we get to know each other via this process, then I will look at your CV and we can do the traditional interview.

Good luck and HAVE FUN!

1. Send me a link to you online. Your web page, blog, MySpace profile, user group you are a member of, or a site that you worked on. Anything to get me acquainted with you. If you are reading this blog you already know me, so it is only fair. :)

2. List your top 5 values. (Why do you get out of bed in the morning? What makes you tick?)

3. List the top 3 blogs that you read and tell me why.

4. Tell me what programming language you want to learn next and why.

5. List the top 3 new features you want to see in the next version of the .NET framework (4.0) that has not been announced and tell me why you want to see them.

6. Write a short essay on the greatest failure (canceled or late project, bad code breaking the build the night before a major demo, etc) in your professional career.

7. Listen to this podcast. Reflect on it and give me your reaction to it.

8. Send me an ASP.NET project from Northwind that uses the Model View Controller design pattern. (Not the ASP .NET MVC framework.) Use the categories, products, and sales. Be creative. Bonus points if it is real easy to install.

9. A TSQL Challenge. Give me a script to solve the following problem. (Run this setup here.) There are no real wrong answers, but the more efficient and bulletproof the query is the better. No cheating and no cursors! Don't Google the answers (we'll know.) Assign rooms to classes based on capacity using the Classes and Rooms tables. Rules: each class should have a room (and NULL if a room is not available). No class can be in a room where there are more students than capacity. No room can be used twice.

The results of your SQL statement should be something like this:


10. Create a data driven ASP.NET page using the Telerik controls. Tell me something that sucks about the control you used. (I already know what is great about them.) Bonus if you find a bug. (We'll send you a .NET Ninja tee shirt if you do.)

posted on Tuesday, 06 May 2008 21:41:07 (Eastern Daylight Time, UTC-04:00)  #    Comments [1] Trackback