Thursday, October 30, 2008

PDC2008 Quick Video Link List (Updated: Now with Keynotes)

Last List Update: 11/8/2008 @ 2:20 PM PST (Catalog/List now based on Channel9 RSS feed, which resulted in 9 new entries, including the Keynotes! ;)

Past Update: 11/1/2008 @ 11:25 AM PDT (Fixed MP4, ZIP link issues and now with links, on titles, to the very cool Channel 9 PDC2008 pages)

Because I’m lazy (err… I mean… um… efficient with my time? Yeah… that) I wanted an easier way to get at all the videos for PDC2008. So being a developer, I reverse engineered the PDC video page and hacked together a quick and dirty list of Session and related video/pptx links. ;)

Please note that some of these links may not yet work, may never work, may be changed by Microsoft at any time, YMMV, etc, etc, etc. If it doesn’t work, please try accessing the session via the “one true source.”

Quick Video List, sort by Title (as of 11/8/2008 @ 2:20 PM PST)

TitleWMV-HQWMVZuneMP4ZIPPPTX
BB01 A Lap Around the Azure Services PlatformWMV-HQWMVZuneN/AN/APPTX
BB02 Architecture of the .NET ServicesWMV-HQWMVZuneN/AN/APPTX
BB03 SQL Services : Under the HoodWMV-HQWMVZuneMP4N/APPTX
BB04 Live Services: A Lap around the Live Framework and Mesh ServicesWMV-HQWMVZuneN/AN/APPTX
BB05 Live Services: Building Applications with the Live FrameworkWMV-HQWMVZuneN/AN/APPTX
BB06 Live Services: Mesh Services Architecture and ConceptsWMV-HQWMVZuneN/AN/APPTX
BB07 SQL Server 2008: Developing Large Scale Web Applications and Services WMV-HQWMVZuneN/AN/APPTX
BB08 Microsoft Dynamics CRM: The Appealing Business ApplicationWMV-HQWMVZuneMP4N/APPTX
BB09 Microsoft Office Communications Server and Exchange: Platform FuturesWMV-HQWMVZuneMP4N/APPTX
BB10 Live Services: Deep Dive on Microsoft Virtual EarthWMV-HQWMVZuneMP4ZIPPPTX
BB11 Identity Roadmap for Software + ServicesWMV-HQWMVZuneMP4N/APPTX
BB12 .NET Services: Messaging Services - Protocols, Protection, and How We ScaleWMV-HQWMVZuneMP4N/APPTX
BB13 SharePoint 2007: Creating SharePoint Applications with Visual Studio 2008WMV-HQWMVZuneMP4N/AN/A
BB14 SQL Services: FuturesWMV-HQWMVZuneMP4N/APPTX
BB15 SQL Server: Database to Data Platform - Road from Server to Devices to the CloudWMV-HQWMVZuneMP4N/APPTX
BB16 SQL Server 2008: Beyond RelationalWMV-HQWMVZuneMP4ZIPPPTX
BB18 "Dublin": Hosting and Managing Workflows and Services in Windows Application ServerWMV-HQWMVZuneMP4N/APPTX
BB19 Live Services: Live Framework Programming Model Architecture and InsightsWMV-HQWMVZuneMP4N/APPTX
BB20 Live Services: Making your Application More SocialWMV-HQWMVZuneMP4N/APPTX
BB22 Identity: Live Identity Services DrilldownWMV-HQWMVZuneN/AN/APPTX
BB23 A Lap around SQL ServicesWMV-HQWMVZuneN/AN/APPTX
BB24 SQL Server 2008: Deep Dive into Spatial DataWMV-HQWMVZuneMP4N/APPTX
BB25 SQL Server 2008: New and Future T-SQL ProgrammabilityWMV-HQWMVZuneN/AN/APPTX
BB26 SQL Server 2008: Business Intelligence and Data VisualizationWMV-HQWMVZuneN/AN/APPTX
BB27 .NET Services: Orchestrating Services and Business Processes Using Cloud-Based WorkflowWMV-HQWMVZuneMP4N/APPTX
BB28 .NET Services: Access Control Service DrilldownWMV-HQWMVZuneN/AN/APPTX
BB29 Identity: Connecting Active Directory to Microsoft ServicesWMV-HQWMVZuneMP4N/APPTX
BB30 Live Services: Building Mesh-Enabled Web Applications Using the Live FrameworkWMV-HQWMVZuneN/AN/APPTX
BB31 Live Services: FeedSync and Mesh Synchronization ServicesWMV-HQWMVZuneMP4N/APPTX
BB32 Microsoft Dynamics CRM: Building Line-of-Business ApplicationsWMV-HQWMVZuneN/AN/APPTX
BB33 Dynamics Online: Building Business Applications with Commerce and Payment APIsWMV-HQWMVZuneMP4N/APPTX
BB34 Live Services: Notifications, Awareness, and CommunicationsWMV-HQWMVZuneMP4N/APPTX
BB35 Live Services: The Future of the Device MeshWMV-HQWMVZuneMP4N/APPTX
BB36 FAST: Building Search-Driven Portals with Microsoft Office SharePoint Server 2007 and Microsoft SilverlightWMV-HQWMVZuneMP4N/APPTX
BB37 SQL Server 2008: Developing Secure ApplicationsWMV-HQWMVZuneN/AN/APPTX
BB38 .NET Services: Connectivity, Messaging, Events, and Discovery with the Service BusWMV-HQWMVZuneMP4N/APPTX
BB39 .NET Services: Logging, Diagnosing, and Troubleshooting Applications Running Live in the CloudWMV-HQWMVZuneMP4N/AN/A
BB40 Sync Framework: Enterprise Data in the Cloud and on DevicesWMV-HQN/AZuneN/AN/APPTX
BB41 Live Services: What I Learned Building My First Mesh ApplicationWMV-HQWMVZuneN/AZIPPPTX
BB42 Identity: "Geneva" Server and Framework OverviewWMV-HQWMVZuneMP4N/APPTX
BB43 Identity: "Geneva" Deep DiveWMV-HQN/AZuneN/AN/APPTX
BB44 Identity: Windows CardSpace "Geneva" Under the Hood WMV-HQWMVZuneMP4N/APPTX
BB45 Office Communications Server 2007 R2: Enabling Unified CommunicationsWMV-HQWMVZuneN/AN/APPTX
BB46 Exchange Web Services Managed API: Unified Communications Development for Exchange WMV-HQWMVZuneMP4N/APPTX
BB47 SharePoint 2007: Advanced Asynchronous Workflow MessagingWMV-HQWMVZuneMP4N/APPTX
BB48 Microsoft Advertising Platform: A Lap AroundWMV-HQWMVZuneMP4N/APPTX
BB49 Microsoft Advertising Platform: A Day in the Life of a ClickWMV-HQWMVZuneMP4N/APPTX
BB51 Live Services: Programming Live Services Using Non-Microsoft TechnologiesWMV-HQWMVZuneMP4N/APPTX
BB52 SQL Services: Tips and Tricks for High-Throughput Data-Driven ApplicationsWMV-HQWMVZuneN/AN/APPTX
BB53 SharePoint Online: Extending Your ServiceWMV-HQWMVZuneMP4N/APPTX
BB54 Designing Your Application to ScaleWMV-HQWMVZuneN/AN/APPTX
BB55 .NET Services: Access Control In Microsoft .NET ServicesWMV-HQWMVZuneMP4N/APPTX
BB56 Showcase: Industry Leaders Moving to the CloudWMV-HQWMVZuneMP4N/APPTX
BB57 Microsoft Dynamics AX: Building Business Process into Your ApplicationWMV-HQWMVZuneMP4N/APPTX
BB58 Case Study: Bridging On-Premises with the CloudWMV-HQWMVZuneMP4N/APPTX
BB59 Behind the Scenes: How We Built a Multi-Enterprise Supply Chain ApplicationWMV-HQWMVZuneMP4N/APPTX
ES01 Developing and Deploying Your First Windows Azure ServiceWMV-HQWMVZuneN/AN/APPTX
ES02 Windows Azure: Architecting & Managing Cloud ServicesWMV-HQWMVZuneN/AN/APPTX
ES03 Windows Azure: Cloud Service Development Best Practices WMV-HQWMVZuneMP4N/APPTX
ES04 Windows Azure: Essential Cloud Storage ServicesWMV-HQWMVZuneN/AN/APPTX
ES06 Developing with Microsoft .NET and ASP.NET for Server Core WMV-HQWMVZuneN/AN/APPTX
ES07 Windows Azure: Modeling Data for Efficient Access at ScaleWMV-HQWMVZuneMP4N/APPTX
ES09 Enabling Test Automation Using Windows Server 2008 Hyper-VWMV-HQWMVZuneMP4N/APPTX
ES10 Developing Solutions for Windows Server 2008 Hyper-V Using WMIWMV-HQWMVZuneN/AN/APPTX
ES11 Developing Connected Home Applications and Services for Windows Home ServerWMV-HQWMVZuneN/AN/APPTX
ES12 Exposing Connected Home Services to the Internet via Windows Home ServerWMV-HQWMVZuneMP4N/APPTX
ES13 How to Develop Supercomputer ApplicationsWMV-HQWMVZuneN/AN/APPTX
ES14 IIS 7.0 and Beyond: The Microsoft Web Platform RoadmapWMV-HQWMVZuneMP4N/APPTX
ES15 Web Application Packaging and DeploymentWMV-HQWMVZuneMP4N/APPTX
ES16 A Lap Around Windows AzureWMV-HQWMVZuneN/AN/APPTX
ES17 Windows Azure: Programming in the CloudWMV-HQWMVZuneMP4N/APPTX
ES19 Under the Hood: Inside the Windows Azure Hosting EnvironmentWMV-HQWMVZuneMP4N/APPTX
ES20 Developing Applications for More Than 64 Logical Processors in Windows Server 2008 R2WMV-HQWMVZuneN/AN/APPTX
ES21 Windows 7 Presentation Virtualization: Graphics Remoting ( RDP) Today and TomorrowWMV-HQWMVZuneMP4N/APPTX
ES22 Extending Terminal Services and Hyper-V VDI in Windows 7WMV-HQWMVZuneMP4N/APPTX
ES23 Windows 7: Optimizing Applications for Remote File Services over the WANWMV-HQWMVZuneMP4N/APPTX
ES24 PowerShell: Creating Manageable Web ServicesWMV-HQWMVZuneN/AN/APPTX
ES25 Showcase: Windows Azure Enables Live MeetingWMV-HQWMVZuneMP4N/APPTX
ES29 Showcase: Windows Azure Enables /Nsoftware and Full ArmorWMV-HQWMVZuneMP4N/APPTX
ES30 Datacenters and Resilient ServicesWMV-HQN/AZuneMP4N/APPTX
ES31 Showcase: How HP Built their Magcloud Service on Windows AzureWMV-HQWMVZuneN/AN/APPTX
ES32 Microsoft Application Virtualization 4.5WMV-HQWMVZuneMP4N/APPTX
KYN01 Day One Keynote - Ray Ozzie, Amitabh Srivastava, Bob Muglia and David Thompson WMV-HQWMVZuneMP4N/AN/A
KYN02 Day Two Keynote - Ray Ozzie, Steven Sinofsky, Scott Guthrie and David Treadwell WMV-HQWMVZuneN/AN/AN/A
KYN03 Day Two Keynote - Chris Anderson and Don Box WMV-HQWMVZuneMP4N/AN/A
KYN04 Research in the 21st CenturyWMV-HQWMVZuneMP4N/AN/A
PC01 Windows 7: Web Services in Native Code WMV-HQWMVZuneMP4N/APPTX
PC02 Windows 7: Extending Battery Life with Energy Efficient ApplicationsWMV-HQWMVZuneN/AN/APPTX
PC03 Windows 7: Developing Multi-touch ApplicationsWMV-HQWMVZuneMP4N/APPTX
PC04 Windows 7: Writing Your Application to Shine on Modern Graphics HardwareWMV-HQWMVZuneN/AN/APPTX
PC05 Windows 7: Unlocking the GPU with Direct3DWMV-HQWMVZuneMP4N/APPTX
PC06 Deep Dive: Building an Optimized, Graphics-Intensive Application in Microsoft Silverlight WMV-HQWMVZuneN/AN/APPTX
PC07 WPF: Extensible BitmapEffects, Pixel Shaders, and WPF Graphics FuturesWMV-HQWMVZuneMP4N/APPTX
PC10 Microsoft Silverlight 2 for Mobile: Developing for Mobile Devices WMV-HQN/AZuneN/AN/APPTX
PC11 Microsoft Silverlight Futures: Building Business Focused Applications WMV-HQWMVZuneN/AN/APPTX
PC12 Deep Dive: The New Rendering Engine in Microsoft Internet Explorer 8 WMV-HQWMVZuneMP4N/APPTX
PC13 Windows 7: Building Great Audio Communications ApplicationsWMV-HQWMVZuneMP4N/APPTX
PC14 Windows 7 Scenic Ribbon: The next generation user experience for presenting commands in Win32 applications.WMV-HQWMVZuneMP4N/APPTX
PC15 Windows 7: Benefiting from Documents and Printing ConvergenceWMV-HQWMVZuneMP4N/APPTX
PC16 Windows 7: Empower users to find, visualize and organize their data with Libraries and the ExplorerWMV-HQWMVZuneN/AN/APPTX
PC17 Developing for Microsoft SurfaceWMV-HQWMVZuneMP4N/APPTX
PC18 Windows 7: Introducing Direct2D and DirectWriteWMV-HQWMVZuneMP4N/APPTX
PC19 Windows 7: Designing Efficient Background ProcessesWMV-HQWMVZuneMP4N/APPTX
PC20 ASP.NET 4.0 RoadmapWMV-HQWMVZuneMP4N/APPTX
PC21 ASP.NET MVC: A New Framework for Building Web ApplicationsWMV-HQWMVZuneN/AZIPPPTX
PC22 Windows 7: Design Principles for Windows 7WMV-HQWMVN/AMP4N/APPTX
PC23 Windows 7: Integrate with the Windows 7 DesktopWMV-HQWMVN/AN/AN/APPTX
PC24 Windows 7: Welcome to the Windows 7 DesktopWMV-HQWMVZuneN/AN/APPTX
PC25 Windows 7: The Sensor and Location Platform: Building Context-Aware ApplicationsWMV-HQWMVZuneMP4N/APPTX
PC26 Microsoft Visual Studio: Building Applications with MFCWMV-HQWMVZuneN/AN/APPTX
PC27 Microsoft Silverlight, WPF and the Microsoft .NET Framework: Sharing Skills and CodeWMV-HQWMVN/AN/AN/APPTX
PC29 Microsoft Silverlight 2: Control ModelWMV-HQWMVZuneMP4N/APPTX
PC30 ASP.NET Dynamic DataWMV-HQWMVZuneMP4N/APPTX
PC31 ASP.NET and JQueryWMV-HQN/AN/AN/AN/APPTX
PC32 ASP.NET AJAX FuturesWMV-HQWMVZuneMP4ZIPPPTX
PC33 Microsoft Visual Studio: Easing ASP.NET Web DeploymentWMV-HQWMVN/AN/AN/APPTX
PC34 Open XML Format SDK: Developing Open XML SolutionsWMV-HQWMVZuneMP4ZIPPPTX
PC35 Silverlight Controls RoadmapWMV-HQWMVZuneMP4N/APPTX
PC39 Inside the Olympics: An Architecture and Development ReviewWMV-HQWMVN/AN/AN/APPTX
PC40 SQL Server Compact: Embedding in Desktop and Device ApplicationsWMV-HQWMVZuneMP4N/APPTX
PC41 ASP.NET: Cache ExtensibilityWMV-HQWMVZuneN/AN/APPTX
PC42 Windows 7: Deploying Your Application with Windows Installer (MSI) and ClickOnceWMV-HQWMVZuneN/AN/APPTX
PC43 Deep Dive: What's New with user32 and comctl32 in Win32WMV-HQWMVZuneMP4ZIPPPTX
PC44 Windows 7: Programming Sync Providers That Work Great with WindowsWMV-HQWMVZuneMP4N/APPTX
PC45 WPF: Data-centric Applications Using the DataGrid and Ribbon ControlsWMV-HQWMVZuneMP4N/APPTX
PC46 WPF RoadmapWMV-HQWMVZuneMP4N/APPTX
PC47 Microsoft Expression Blend: Tips & TricksWMV-HQWMVZuneMP4N/APPTX
PC48 Research: Designing the World Wide TelescopeWMV-HQWMVZuneMP4N/AN/A
PC49 Microsoft .NET Framework: CLR FuturesWMV-HQWMVZuneMP4N/APPTX
PC50 Windows 7: Using Instrumentation and Diagnostics to Develop High Quality SoftwareWMV-HQWMVZuneMP4N/APPTX
PC51 Windows 7: Best Practices for Developing for Windows Standard UserWMV-HQWMVZuneMP4N/APPTX
PC52 Windows 7: Writing World-Ready ApplicationsWMV-HQWMVZuneMP4N/APPTX
PC53 Building High Performance JScript ApplicationsWMV-HQWMVZuneN/AN/APPTX
PC54 Mono and .NETWMV-HQWMVN/AMP4N/APPTX
PC55 Oomph: A Microformat ToolkitWMV-HQWMVZuneMP4N/APPTX
PC56 Windows Embedded "Quebec": Developing for DevicesWMV-HQWMVZuneN/AN/APPTX
PC58 Framework Design GuidelinesWMV-HQWMVZuneMP4N/APPTX
PC59 Commerce Server "Mojave": OverviewWMV-HQWMVZuneMP4N/APPTX
PC60-V Driving for software quality through customer feedbackWMV-HQWMVZuneN/AN/AN/A
PC61-V Developing compatible applications for WindowsWMV-HQWMVZuneMP4N/AN/A
PC62-V Hands On Analysis with Windows Performance Toolkit (General)WMV-HQWMVZuneN/AN/AN/A
PC63-V Best practices for signing and verifying code on Windows 7WMV-HQWMVZuneN/AZIPN/A
PC64-V The New COM API for Accessibility and Automation in Windows 7WMV-HQN/AN/AN/AN/APPTX
SYMP01 Parallel Symposium: Addressing the Hard Problems with ConcurrencyWMV-HQWMVN/AN/AN/APPTX
SYMP02 Parallel Symposium: Application Opportunities and ArchitecturesWMV-HQN/AN/AN/AN/APPTX
SYMP03 Parallel Symposium: Future of Parallel ComputingWMV-HQWMVN/AN/AN/AN/A
SYMP04 Services Symposium: Expanding Applications to the CloudWMV-HQWMVZuneMP4N/APPTX
SYMP05 Services Symposium: Enterprise Grade Cloud ApplicationsWMV-HQWMVZuneMP4N/AN/A
SYMP06 Services Symposium: Cloud or No Cloud, the Laws of Physics Still ApplyWMV-HQWMVZuneN/AN/APPTX
TL01 Office Business Applications: Enhanced DeploymentWMV-HQWMVZuneMP4N/APPTX
TL02 Under the Hood: Advances in the .NET Type SystemWMV-HQWMVZuneN/AN/APPTX
TL03 Microsoft Visual Studio Team System: Software Diagnostics and Quality for ServicesWMV-HQWMVZuneMP4N/APPTX
TL04 Microsoft Visual Studio Team System Team Foundation Server: How We Use It at MicrosoftWMV-HQWMVZuneMP4N/APPTX
TL06 WCF 4.0: Building WCF Services with WF in Microsoft .NET 4.0WMV-HQWMVZuneMP4N/APPTX
TL07 Developing Applications Using Data ServicesWMV-HQWMVZuneMP4N/APPTX
TL08 Offline-Enabled Data Services and Desktop ApplicationsWMV-HQWMVZuneMP4N/APPTX
TL09 Agile Development with Microsoft Visual StudioWMV-HQWMVZuneMP4N/APPTX
TL10 Deep Dive: Dynamic Languages in Microsoft .NETWMV-HQWMVZuneMP4ZIPPPTX
TL11 An Introduction to Microsoft F#WMV-HQWMVZuneMP4N/APPTX
TL12 Future Directions for Microsoft Visual BasicWMV-HQWMVZuneN/AN/APPTX
TL13 Microsoft Visual C++: 10 Is the New 6WMV-HQWMVZuneN/AN/APPTX
TL14 Project "Velocity": A First LookWMV-HQWMVZuneMP4N/APPTX
TL15 Architecture without Big Design Up FrontWMV-HQWMVZuneMP4N/APPTX
TL16 The Future of C#WMV-HQWMVZuneN/AN/APPTX
TL17 WF 4.0: A First LookWMV-HQWMVZuneMP4N/APPTX
TL18 "Oslo": Customizing and Extending the Visual Design ExperienceWMV-HQWMVZuneMP4N/APPTX
TL19 Microsoft Visual Studio: Bringing out the Best in Multicore SystemsWMV-HQWMVZuneN/AN/APPTX
TL20 Entity Framework FuturesWMV-HQWMVZuneN/AN/APPTX
TL21 WF 4.0: Extending with Custom ActivitiesWMV-HQWMVZuneMP4N/APPTX
TL22 Concurrency Runtime Deep Dive: How to Harvest Multicore Computing ResourcesWMV-HQWMVZuneMP4N/APPTX
TL23 A Lap around "Oslo"WMV-HQWMVZuneMP4N/APPTX
TL24 Improving .NET Application Performance and ScalabilityWMV-HQWMVZuneMP4N/APPTX
TL25 Parallel Programming for C++ Developers in the Next Version of Microsoft Visual StudioWMV-HQWMVZuneN/AN/APPTX
TL26 Parallel Programming for Managed Developers with the Next Version of Microsoft Visual StudioWMV-HQWMVN/AMP4N/APPTX
TL27 "Oslo": The LanguageWMV-HQWMVZuneN/AN/APPTX
TL28 "Oslo": Repository and ModelsWMV-HQN/AN/AN/AN/APPTX
TL29 Live Labs Web Sandbox: Securing Mash-ups, Site Extensibility, and GadgetsWMV-HQWMVZuneN/AN/APPTX
TL30 Microsoft Sync Framework AdvancesWMV-HQWMVZuneMP4N/APPTX
TL31 "Oslo": Building Textual DSLsWMV-HQWMVZuneMP4N/APPTX
TL32 Microsoft Visual Studio: Customizing and Extending the Development EnvironmentWMV-HQWMVZuneMP4N/APPTX
TL33 Managed Extensibility Framework: OverviewWMV-HQWMVZuneMP4N/APPTX
TL34 Managed and Native Code Interoperability: Best PracticesWMV-HQWMVZuneN/AN/APPTX
TL35 WCF: Developing RESTful ServicesWMV-HQWMVZuneMP4N/APPTX
TL36 Microsoft .NET Framework: Declarative Programming Using XAMLWMV-HQWMVZuneMP4N/APPTX
TL37 Microsoft Visual Studio Team System: Leveraging Virtualization to Improve Code Quality with Team LabWMV-HQWMVZuneMP4N/APPTX
TL38 WCF: Zen of Performance and Scale WMV-HQWMVZuneMP4N/APPTX
TL39 Coding4Fun: Windows Presentation Foundation Animation, YouTube, iTunes, Twitter, and Nintendo's WiimoteWMV-HQWMVZuneMP4N/APPTX
TL40 "Dublin" and .NET Services: Extending On-Premises Applications to the CloudWMV-HQWMVZuneMP4N/APPTX
TL42 Microsoft SQL Server 2008: Powering MSDNWMV-HQWMVZuneMP4ZIPPPTX
TL43 Microsoft XNA Game Studio: An OverviewWMV-HQWMVZuneMP4N/APPTX
TL44 IronRuby: The Right Language for the Right JobWMV-HQWMVZuneMP4N/APPTX
TL45 Microsoft Visual Studio Team System Database Edition: OverviewWMV-HQWMVZuneMP4N/APPTX
TL46 Microsoft Visual C# IDE: Tips and TricksWMV-HQWMVZuneMP4N/APPTX
TL47 Microsoft Visual Studio Team System: A Lap Around VSTS 2010WMV-HQWMVZuneMP4N/APPTX
TL48 Microsoft Visual Studio: Web Development FuturesWMV-HQN/AN/AMP4N/APPTX
TL49 Microsoft .NET Framework: Overview and Applications for BabiesWMV-HQWMVZuneMP4N/APPTX
TL50 Research: BAM, AjaxScope, and DolotoWMV-HQWMVZuneN/AN/APPTX
TL51 Research: Contract Checking and Automated Test Generation with PexWMV-HQWMVZuneN/AN/APPTX
TL52 Team Foundation Server 2010: Cool New FeaturesWMV-HQWMVZuneMP4N/APPTX
TL54 Natural Interop with Silverlight, Office, and Python in Microsoft Visual C# and Microsoft Visual BasicWMV-HQWMVZuneMP4N/APPTX
TL55 The Concurrency and Coordination Runtime and Decentralized Software Services ToolkitWMV-HQWMVZuneN/AZIPPPTX
TL56 Project "Velocity": Under the HoodWMV-HQWMVZuneMP4N/APPTX
TL57 Panel: The Future of Programming LanguagesWMV-HQN/AZuneN/AN/AN/A
TL58 Research: Concurrency Analysis Platform and Tools for Finding Concurrency BugsWMV-HQWMVZuneMP4N/APPTX
TL59 Visual Studio Debugger Tips & TricksWMV-HQWMVZuneMP4N/APPTX
TL60 Improving Code Quality with Code AnalysisWMV-HQWMVZuneMP4N/APPTX
TL61 Panel: The Future of Unit TestingWMV-HQN/AZuneN/AN/AN/A

Source

It seems that many of the other links (MP4, Zune, Zip, etc) are not yet live, so I’ve not included them (yet). one thing I might add is to ping each URL to see if it returns a 404 or not.. but that’s for later.

image

Here’s the code I used (see I told you it was quick and dirty… yes, I know I need to learn to use Linq better…). The majority of the magic is done through my fav HTML parsing tool the HTML Agility Pack.

Public Class MainForm


Private Sub BuildListButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BuildListButton.Click
Dim htmWeb As New HtmlAgilityPack.HtmlWeb

Dim htmDoc As HtmlAgilityPack.HtmlDocument = htmWeb.Load(CatalogTextBox.Text)

Dim links As HtmlAgilityPack.HtmlNodeCollection = htmDoc.DocumentNode.SelectNodes("//div[@class='title']")

Dim ls = New Generic.List(Of HtmlAgilityPack.HtmlNode)

For Each link As HtmlAgilityPack.HtmlNode In links
ls.Add(link)
Next

Dim
q = From link In ls Order By link.InnerText

Dim sb = New System.Text.StringBuilder
sb.Append("<html><body>")
sb.Append("<table>")
sb.Append(GetHeader())

For Each link As HtmlAgilityPack.HtmlNode In q
sb.Append("<tr>")
Dim title = link.InnerText
Dim code = title.Substring(0, title.IndexOf(" "c))

If Not code.Contains("-") Then
sb.Append("<td>")
sb.Append(title)
sb.Append("</td>")
sb.AppendLine(GetVideoLinks(code))
End If

sb.Append("</tr>")

Next
sb.Append("</table>")

sb.Append("</body></html>")

WebBrowser1.DocumentText = sb.ToString


End Sub

Private Function
GetVideoLinks(ByVal code As String) As String

Dim
sb = New System.Text.StringBuilder

If WMVHQCheckBox.Checked Then
sb.AppendLine(GetVideoLink("http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/", code, "wmv", "WMV-HQ"))
End If
If
WMVCheckBox.Checked Then
sb.AppendLine(GetVideoLink("http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/", code, "wmv", "WMV"))
End If
If
ZuneCheckBox.Checked Then
sb.AppendLine(GetVideoLink("http://mschnlnine.vo.llnwd.net/d1/pdc08/ZUNE/", code, "wmv", "Zune"))
End If
If
MP4CheckBox.Checked Then
sb.AppendLine(GetVideoLink("http://mschnlnine.vo.llnwd.net/d1/pdc08/MP4/", code, "mp4", "MP4"))
End If
If
ZIPCheckBox.Checked Then
sb.AppendLine(GetVideoLink("http://mschnlnine.vo.llnwd.net/d1/pdc08/ZIP/", code, "ZIP", "ZIP"))
End If
If
PPTXCheckBox.Checked Then
sb.AppendLine(GetVideoLink("http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/", code, "pptx", "PPTX"))
End If

Return
sb.ToString
End Function

Private Function
GetHeader() As String
Dim
sb = New System.Text.StringBuilder

sb.Append("<thead>")
sb.Append("<tr>")
sb.Append("<th width=0>")
sb.Append("Title")
sb.Append("</th>")
If WMVHQCheckBox.Checked Then
sb.Append("<th width=60>")
sb.Append("WMV-HQ")
sb.Append("</th>")
End If
If
WMVCheckBox.Checked Then
sb.Append("<th>")
sb.Append("WMV")
sb.Append("</th>")
End If
If
ZuneCheckBox.Checked Then
sb.Append("<th>")
sb.Append("Zune")
sb.Append("</th>")
End If
If
MP4CheckBox.Checked Then
sb.Append("<th>")
sb.Append("MP4")
sb.Append("</th>")
End If
If
ZIPCheckBox.Checked Then
sb.Append("<th>")
sb.Append("ZIP")
sb.Append("</th>")
End If
If
PPTXCheckBox.Checked Then
sb.Append("<th>")
sb.Append("PPTX")
sb.Append("</th>")
End If


sb.Append("</tr>")
sb.Append("</thead>")

Return sb.ToString

End Function

Private Function
GetVideoLink(ByVal URLPrefix As String, ByVal code As String, ByVal extension As String, ByVal name As String) As String
Dim
sb = New System.Text.StringBuilder
sb.Append("<td>")
sb.Append("<a href=")
sb.Append(Chr(34))
sb.Append(URLPrefix)
sb.Append(code)
sb.Append(".")
sb.Append(extension)
sb.Append(Chr(34))
sb.Append(">")
sb.Append(name)
sb.Append("</a>")

sb.Append("</td>")
Return sb.ToString


End Function


End Class




Update #1 10/31/2008 @8:00AM PDT:

Link verification added to the code and the list updated. So now only those links that do not return a 404 are active.

Here’s the updated code:

 Private Function GetVideoLink(ByVal URLPrefix As String, ByVal code As String, ByVal extension As String, ByVal name As String) As String
Dim
sb = New System.Text.StringBuilder
Dim url = URLPrefix & code & "." & extension
sb.Append("<td>")

If PageExists(url) Then
sb.Append("<a href=")
sb.Append(Chr(34))
sb.Append(url)
sb.Append(Chr(34))
sb.Append(">")
sb.Append(name)
sb.Append("</a>")

Else
sb.Append("N/A")
End If
sb.Append("</td>")

Return sb.ToString


End Function

Private Function
PageExists(ByVal URL As String) As Boolean
'Code leached and converted from http://blogs.microsoft.co.il/blogs/dorr/archive/2008/09/02/how-to-check-if-a-file-exists-over-http.aspx
Try
Dim
request = System.Net.HttpWebRequest.Create(URL)
request.Method = "HEAD" ' Just get the document headers, not the data.
request.Credentials = System.Net.CredentialCache.DefaultCredentials

'This may throw a WebException:
Using response As System.Net.HttpWebResponse = CType(request.GetResponse(), System.Net.HttpWebResponse)

If response.StatusCode = System.Net.HttpStatusCode.OK Then
Return True
Else
Return False
End If

End Using

Catch
ex As System.Net.WebException
Dim webResponse As System.Net.HttpWebResponse = CType(ex.Response, System.Net.HttpWebResponse)

'// Determine the cause of the exception, was it 404?
If webResponse.StatusCode = System.Net.HttpStatusCode.NotFound Then
Return False

End If

End Try

End Function


Update #2 11/1/2008 @10:50AM PDT:

Fixed an casing issue for MP4’s (Should have been “…d1/pdc08/MP4/” and not “…d1/pdc08/mp4/”)

Fixed an casing issue for ZIP’s (The file extension should have been ".ZIP” and not “.zip”)

Added links on the titles to the very cool Channel 9 PDC2008 page for the given session.

Update #3 11/2/2008 @9:00AM PST:

The source has been uploaded to a new CodePlex project, PDC Resource List Maker.

Please use it responsibly…

Update #4 11/8/2008 @9:00AM PST:

Updated to use the Channel9 RSS Feed, which resulted in 9 additional rows, including the Keynotes.

12 comments:

Rob Gibbens said...

Oh thank you! These have been a pain to download individually.

Anonymous said...

Do you have a link to download the source code and project?

Thanks.

Greg said...

Not yet... I'm still playing with it a little. Will probably post it to CodePlex in a bit...

Neslekkim said...

Great!!, this would be even better if your title was used as description so DownThemAll would pick it up, using ALT text I guess.

Mark H said...

Thanks for this - extremely useful. Any plans on adding keynote download too?

Greg said...

I kind of doubt it (to adding the keynotes).

They are not listed in the catalog URL that I found so I'd have to find another catalog or add them manually and since there are now some really good sites with lists, like http://Channel9.msdn.com/pdc2008, it seems there's be little to be gained from it...

So probably not... but you never know... ;)

Manny Siddiqui said...

I have made the GetRight download file for others to download all of the sessions! Check it out @ http://blogs.techconception.com/manny/2008/11/06/DownloadPDC2008SessionsUsingGetRight.aspx

Anonymous said...

Greg,

A nice use of these links would be to whip up separate RSS feeds for all of these presentations based upon file type. Then folks could pull them down into the player of choice using a podcast client like Juice, nimiq, HappyFish, etc.

Greg said...

@Mark H

Keynotes added! :)

Anonymous said...

Very nice!!! Can you do the same for WinHEC please? :)

the peoples program said...

Thanks Greg! I think this page is perfect the way it is. Very helpful... I would say cleaver not lazy... Thanks again!

Andre said...

Wow! This what very helpful to add to the things I'm trying to learn.

Thanks for sharing!

Andre'