Monthly Archives: June 2006

IPTV: Democracy Player

Update (2nd July): Since this post I have reverted back to using Juice Receiver which although not designed for video has fewer glitches. If anyone knows of a more reliable solution please let me know.


IPTV is about where podcasting was when I started manually downloading podcasts in the summer of 2004 [i.e. in its infancy]. Within only two years podcasting has made a small dent in the nation’s listening habits, with high awareness in the high spending demographics that advertisers salivate over. Will IPTV do the same?

Already we have several aggregators; the one I recommend trying is Democracy Player. It is open source and runs on all popular operating systems, but did not work with on my install of Vista Beta 2.

Like iPodder Lemon before it Democracy Player installs with several pre-selected channels, which just like iPodder downloaded large quantities of utter garbage to my hard disk. I suggest deleting the pre-selected channels, clicking on Channel Guide and using the iTunes like interface to select from popular listings. As the following screenshot shows I am trying out ABC news, Ricky Gervis, and TWIT’s h.264 feed:

These are early days for the software and this player does work perfectly as a media server. I view the content from xbmc over a SMB share, which works fairly well but all the media is deposited into one folder with often cryptic file names. Hopefully a future build will create a directory for each feed like Juice Receiver does for podcasts. Finally it is worth noting that Democracy Player uses Bittorrent under the hood so downloads should be fast – there are no custom port settings yet so I have temporarily enabled UPnP on my NAT Router.

Book Review: .Net 2.0 Generics

Is it possible for book to have a more niche title? Interestingly to broaden the market appeal examples are in both C# and VB.Net; I find it hard to believe anyone interested in reading a book on Generics cannot read C#.

You have already read about Generics in Jeff Richter’s CLR via C# and possibly Jesse Liberty’s Visual C# 2005 too. Today the standard developer quote about Generics is that they are easy; just use List<T> and be on your merry way. Amazingly just that one BCL Generic has removed almost all type-unsafe code from our assemblies.

Recently I was binding a GridView to a custom collection. Naturally the collection implements List<T>, but I wished to sort the GridView on several columns. After expecting auto-magic in GridView to do the sorting for me, it was disappointing remembering about ObjectDataSource – this means we still need to do manual labor so I looked for a reusable solution. Long story short after pinging GridView whiz Marcie 60 seconds later this book was on my desk.

Reading of chapters 1->7 is required reading for anyone wishing to remain a senior .Net developer/ architect. This readability book is not on par with work by say Richter or Esposito, and where is the bold highlighting in code samples that point us towards the salient snippets? Other than these complaints, the book fulfilled its purpose and I now have a much deeper knowledge of generics. Until my comfort level increases List<T> the mainstay of my Generic usage, but I suspect that as time progresses we as a community will leverage them much more.

Before Marcie kicks me in the face I must return her book. Hence I’ll be putting an order into Amazon for my own copy, as I need to revisit a few of the more technical areas to solidify my knowledge. IMO $25 with free shipping is a bargain for this knowledge, please buy via my link and put another $2 into the Lockwood retirement fund, LOL!