Friday, August 28, 2009

BBC News: File-sharers' TV tastes revealed

The BBC have a story based on some download statistics for TV & film that makes interesting reading. If the TV network executives read this and think "threat" rather than "opportunity" they are missing a trick. What if they uploaded the torrent themselves simultaneously with transmission including the adverts? Nobody is going to bother with an illegal version if this one is available immediately and is of high quality. Only a hardcore pirate would bother with an ad-free version because this would lag slightly behind the official version in terms of time to release, but crucially the number of seeds, and hence the download speed, would be significantly lower.

Yes people could zap through the ads, but that is no different to "TIVO" on broadcast anyway and only a schmuck watches things live these days anyway. If only 2% of people sat through the ads, that is still 1 million people you don't have today in a demographic you would normally struggle to reach.

There is a secret power in "global" as well. Advertisers talk about "playground repeats", which is when slogans and jingles are repeated in the school yard. If your adverts start to permeate the global culture a synergy emerges where the phrases and concepts become a lingua franca in online conversations.

Infrastructure requirements: a laptop, a big disk, and a decent uplink; not bad if you want to reach more than 50 million people worldwide. If it really takes off you could even do away with that expensive array of radio towers.

A halfway solution is no good. Custom players, region and DRM locking, proprietary standards, etc... will always be a niche play against the power of free. Open it up and let the community build the software and hardware to support it. Stick to what you know: making TV shows.

I don't pretend that this is a good solution for films, but it is perfect for TV.

Friday, August 21, 2009

ASP.NET File Permissions

Short Story:

Use Process Monitor to help resolve ASP.NET file permission problems.

Long Story:

I have some files on one machine that I would like to make available through one of our company websites. We use IIS for our hosting, so I created a file share on the machine with the files and linked to it using a Virtual Directory. Now when resources are accessed via IIS they do so as the IUSR account (unless other authentication options are enabled), so I added read permissions for this user to my files security settings and to the sharing permissions (I always forget to do both), but it did not work. There may be some fancy ASP logging that tells you why, but I have always struggled to get the ASP logs to do anything very useful. Several smart people on the Internet recommended using Process Monitor from Microsoft (previously from Sysinternals). Everything that the Sysinternals guys make is made of pure awesome, and this is no exception. It allows you to search for the ACCESS DENIED operation (a CreateFile function call), and this shows all of the relevant details, including the user credentials used. In my case it was IUSR, or actually /IUSR_, which is some sort of domain equivalent. Exactly the user I had set the permissions for, so why wasn't it working?

Running Process Monitor on the file hosting machine instead reveals the problem: the file access was impersonating a different user, namely /$. It seems that this is the default behaviour across machine boundaries unless you are explicitly impersonating a designated user, in which case those credentials are passed intact.

The fix I chose may not be the recommended solution, but it worked for me: explictly impersonate IUSR to force the credentials to be passed across the machine boundary. To do this you need the IUSR password, which can be obtained by following this helpful advice. Whatever you do, don't change the IUSR password or you may unwittingly open a portal to a new dimension of pain.