This Week on C9: Live Wave 3, Coding4Fun - the book, Johnny Chung Lee, and Rise

Download this episode

Download Video


This Week on Channel 9, Dan and Brian discuss this week's developer news including:

- Windows Live Wave 3 updates (0 - 1:20)
- Dan's Coding4Fun book is out, includes cool endorsement from Alex Albrecht, co-host of Diggnation (1:20 - 2:57)
- The Coding4Fun book contributors include some very cool people including Brian Peek, Johnny Chung Lee, Gabor Ratky, Clint Rutkas, and Dan Fernandez (2:57 - 5:22)
- Dan does a live demo of InnerTube, a sample app to download multiple videos from YouTube, converts them to MP4 and/or WMV and add them to Zune and/or iTunes (5:22 - 13:06)
- Spec# Design by Contract MSI is now available for Visual Studio 2008, via Alvin Ashcraft (13:06 - 15:10)
- Yochay Kiraty's Windows Developer Blog launches, shows off Windows Vista Bridge samples (15:10 - 15:40)
- The new free ASP.NET Charting control includes pie charts, line graphs, bar charts and lots more (15:40 - 16:45)
- Sarah Perez on Channel 10 gives a rundown on Silverlight 3 including h.264 support, 3D, GPU, and more (16:45 - 18:39)
- Live Labs: Seadragon AJAX - Build Deep Zoom applications directly with AJAX (18:39 - 19:55)
- Rob Miles's Coding4Fun article on using the .NET Micro Framework to control Holiday Lights based on RSS feeds (19:55 - 21:14)
- Charles Torre video with Rico Mariani - Answering Niner questions (21:14 - 22:10)
- Brian's Pick of the week: RiSE - Research in Software Engineering, the team that does Spec#, Chess, Pex, etc (22:10 - 23:22)
- Dan's Pick of the week: Video clip of Johnny Chung Lee's TED Demo showing off his Wiimote hacks (23:22 - 29:50)

** - News we just missed - the Channel 9 Dev team and the Mix Online team just published Oxite, an open source Content Management System built using ASP.NET MVC





Available formats for this video:

Actual format may change based on video formats available and browser capability.

    The Discussion

    • User profile image
      The TED video is awesome. Thanks for that.
    • User profile image

      Very happy to see the Spec# release. Looking forward to giving it a run around this weekend.

      I've often wondered how Microsoft measures the return on investment when it comes to things like Channel 9. Should the pointy nosed bean counters ever start pounding on Charles' and the rest of the 9er crew's doors demanding a blood sacrifice then I will happily get on a plane, come to the 'States and explain to them - with diagrams - why Channel 9 rocks and from my perspective represents the best outreach / programming community initiative I've experienced from Microsoft in 15 years of programming on Windows.

    • User profile image
      Best TED videos: Vilayanur Ramachandran on the brain and phantom limbs and Joshua Klein on crows. I can listen to Vilayanur's talk hundreds of times in a row, just because of his awesome accent.

      That Vista Bridge API is a gift sent from the Gods. This has been frustrating me so much, and finally, a solution. Thanks for the link, guys.
    • User profile image
      Thanks for the kind words and support dot_tom.
    • User profile image
      Hey, that's hitting a little close to home. But, no worries, I'm hard headed. I still love you all!!!  Typing on the iPod a sucks a$$ Smiley
    • User profile image
      I've got nothin' but love for ya, Minh! Hope you know I was only kidding. Smiley
    • User profile image
      Hehe... Of course. I literally LOL'ed when I saw it.
    • User profile image
      woah! does jonny work at microsoft?
      charles, pleeease interview him Smiley
    • User profile image
      I have to agree! Great show this week. Also congrats to Dan for publishing his first book.
    • User profile image
      Cool video. BTW, I downloaded InnerTube and after a little bit of tewaking I was able to compile it, but can't get it to work. Anyone succeeded?
    • User profile image
      Hey Giovanni, what was the issue you ran into? I'd be happy to help debug Smiley
    • User profile image
      Thanks man Smiley
    • User profile image
      This is probably a stupid question, but how do you get the vertical line connecting the curly brackets in the c# editor? It shows in the coding4fun sample.
    • User profile image
      It's a good question as it's not a default feature of Visual Studio 2008. I'm using CodeRushX, a free add-in built by the DevExpress team (Covered on a previous This Week on C9 episode). It's awesome, I highly suggest you download it now as it has a ton of features from code navigation, refactoring, and more.

    • User profile image

      Hi Dan,

      Thank you for helping out. I am using VS Express 2008. I added the SmartThread dll (v 1.0) and since I don't have (or want) an iTune library, I commented out its references. InnerTube seems to compile fine. I can launch it and it looks I can add feeds as needed, but when I click on refresh feeds the apps stops working (I get the Windows message "InnerTube has stopped working") and it exits. I could probably try debugging it, but my debugging skills are very basics.

      Edit: i tried debugging and the code stops on file InnerTubeService.cs at line 202:

      XmlTextReader xr = new XmlTextReader(wc.OpenRead(youTubeUrl));

      The debugger says:

      System.Net.WebException was unhandled by user code
        Message="The remote server returned an error: (400) Bad Request."
             at System.Net.WebClient.OpenRead(Uri address)
             at SharedUtilities.InnerTubeService.ConvertYouTubeXmlToObjects(Uri youTubeUrl, Setting setting) in C:\Users\giovanni\Documents\Visual Studio 2008\Projects\InnerTube-7380\CSharpBookVersion\InnerTube\SharedUtilities\InnerTubeService.cs:line 202
             at SharedUtilities.InnerTubeFeedWorker.UpdateFeeds(Object state) in C:\Users\giovanni\Documents\Visual Studio 2008\Projects\InnerTube-7380\CSharpBookVersion\InnerTube\SharedUtilities\InnerTubeFeedWorker.cs:line 302
             at Amib.Threading.Internal.WorkItem.ExecuteWorkItem()

      Thanks for your help

    • User profile image

      Thanks giovanni, this is very helpful, it looks like the URL for the feeds that are added aren't XML files, hence the bad request. I suspect it's a bug where, if your using a username to add a feed, YouTube needs to encode that username in a particular way to display it correctly.

      To help understand the issue, can you copy and paste your InnerTube.xml file which you can find at $username$\Videos\InnerTube\InnerTube.xml (on XP at Documents and Settings\$username$\Videos\InnerTube\InnerTube.xml) . The InnerTube.xml file will have the URLs that the code above is tryign to call and we can figure out why one of them is bad.


    • User profile image
      Dan, Enjoy the read... and thank you for your help.

      <?xml version="1.0" encoding="utf-8" ?>
      - <ArrayOfInnerTubeFeed xmlns:xsi="">" xmlns:xsd="">
      - <InnerTubeFeed>
        <FeedName>Most Viewed Videos</FeedName>
        <FeedVideos />
      - <InnerTubeFeed>
        <FeedName>Search for: 'Microsoft'</FeedName>
        <FeedVideos />
    • User profile image
      Thanks Giovanni,

      It looks like I have a bug in the code that builds the FeedUrl for custom searches. The easy way to fix this is to

      1. Open the XML file
      2. Go to the second InnerTubeFeed and change the FeedUrl from "" to

       As you can see, I've changed the "vq=" to "?q=" which is a well-formatted XML result.

      Apologies for that, but thanks for finding the bug! Let me know if you can't get it to work

    • User profile image
      That works, thanks! I really need to learn some XML...
    • User profile image
      Silverlight 3? Hmmm. So if you're going to add a bunch of stuff to Silverlight I guess that means the target size for the redistributable is going to increase from the original 4Mb and therefore the excuse that you had to leave out this or that vital API because of size constraints is going to go away?

      In which case, is there any chance that text layout could be fixed because it seems (at least to me, maybe someone knows better), that text layout is completely crippled in Silverlight 2.

      When I saw that you only have Textblock but no FlowDocument and FlowDocumentPageViewer class in Silverlight 2, I figured that's OK, they don't want to bloat the download so they left it to the app developer to provide their own classes for doing layout that more complex than TextBlock can manage. Except you can't because there's no way to measure text. In particular the FormattedText class is absent from Silverlight. You can do some basic measurement by putting text one word at a time into a TextBlock object and reading back the ActualHeight/ActualWidth properties, but that doesn't help you much because you don't have other information needed for vertical layout such as the baseline. Important metrics are also missing from the FontFamily class.

      Kindof sucks that a really important core class like FormattedText got left out when there are controls like DataGrid in the main install that could have been provided as a separate assembly for the few people that will use that instead of their own or a 3rd party control.

    Comments closed

    Comments have been closed since this content was published more than 30 days ago, but if you'd like to send us feedback you can Contact Us.