Free Microsoft E-Books!

Yes,  you read that right, free! Microsoft has lost their minds and is now giving away a rather large collection of e-books, yours for the taking.

They cover quite a range of subjects too, including ASP.Net, Office, SharePoint, SQL Server, Visual Studio, Windows, Azure, Phone 7, and Server. As you would expect they come in PDF format, but it gets better! They  also have them in MOBI and EPUB formats, so if you have a device that supports them you get a full featured experience. (I know Kindle uses the MOBI format and Apple’s iBook EPUB, not sure what other readers use).

You can get these goodies from:

http://social.technet.microsoft.com/wiki/contents/articles/11608.e-book-gallery-for-microsoft-technologies.aspx

Looks like I have many more late nights of reading ahead of me. Oh well, I guess three hours of sleep a night ought to be fine for anyone. 

The MVP Program–My Experience

Recently I saw two posts in which former participants writing about issues they perceived in the Microsoft MVP program. I’d like to take moment  to contrast their experience with mine, specifically commenting on posts made in the post by Onuora Amobi titled “My year as a Microsoft MVP and the 7 reasons Microsoft need to fix their MVP program”. I’ll then add a few thoughts about Rob Eisenberg’s post “How I Lost, Regained, and then Turned Down an MVP Award”.

Unfortunately, these gentleman had a bad experience with the MVP program. This is disappointing, as I truly believe the MVP program is great, based on my own experiences. Let me respond to the 7 points made in the first post, and contrast them with my experiences as a SQL Server MVP since 2008.

What’s the Point?

Mr. Amobi stated “The MVP program seemed rather pointless”. To me, the point was quite clear from the outset. The information and tools provided to me allowed me to further enhance my ability to be a conduit for the community. I had contacts to pass information to from the community, and vice versa.

Additionally the MSDN/TechNet subscriptions gave me the ability to further enhance my knowledge of Microsoft products. Just recently I’ve been practicing setting up a scale-out deployment of SSRS. No way I would have been able to have 3 different Windows Servers plus 3 SQL Server licenses without the benefit. I’m now going to be able to pass this information on to the community in the form of new presentations, blog posts, and the like.

Quality Control

Here the author echoed a point form the Rob Eisenberg’s post in which he met an MVP who had limited knowledge of Technology X, the subject of this MVPs award. However, this person had continually posted and retweeted information about Technology X.

A major consideration of the MVP Award is about reaching the community with information about Technology X. Getting information into the hands of people who use that technology. Microsoft judged that this person was doing an effective job of helping the community, and hence the award. Technical competence is certainly important, but it’s not the only criteria for getting an MVP award.

Lack of Communication

Mr. Amobi complains there were no opportunities to participate. Yet he passed up the main chance of the year to  communicate with the teams, the MVP Summit. For me the summit is the place I learn new things, give feed back to the teams, and learn things covered by my NDA. It’s where I learn what new technologies I should be focused on so I’ll be ready to help the community when they are released. Perhaps if he had attended he would have had the chance for the interaction that he desired.

Being an MVP also helped solidify relationships with other areas in Microsoft. The developer evangelist for our region, Glen Gordon, checks in with the MVPs in this area regularly. He often participates with us in events, or provides assistance for our Code Camps and SQL Saturdays.

NDA for what?

The author says that during his year he didn’t have any opportunities for calls or interactions with the teams, and hence no reason for his NDA. In addition to the summit, our SQL lead sends out weekly e-mails in which he lists upcoming conference calls / interactions with product teams, almost all of which are covered under NDA.

For him to get none of these notices is disappointing. Clearly someone dropped the ball. Our lead in the SQL group (who just moved to a new assignment) was very good about us getting this information. I hope Mr. Amobi didn’t wait for the end of his year to point this out. I’ve made it a point to make friends with as many of the Developer Evangelists, other MVPs (including those in other disciplines) and other MVP leads. This not only gives me multiple ways of reaching out, but more importantly has let me make some great friends.

Career Impact

Mr. Amobi didn’t see any benefit, career wise to being an MVP. For me it’s had a huge impact. Through my MVP award I was given the opportunity to participate in not one but two books. My current job at Pragmatic Works is also a direct result of being an MVP.

Arbitrary Renewals

The author first makes the assertion that his award wasn’t renewed because he was asking questions such as the ones in his post. I really can’t speak to that, but if it were the case many long time SQL MVPs wouldn’t be here anymore. As a rule most of us are pretty opinionated, and have no issues speaking out when we see problems with the program, or what Microsoft is doing in general.

That said, I have no inside information on the people who decide who gets an MVP award. Perhaps he’s right, and they did indeed drop him for the reasons he states.

He then makes a statement that I consider rather risky.

“I’ll put my Web or FaceBook or Google or Twitter or Technology stats up against any MVP and I guarantee that I represent the voice of thousands of Microsoft consumers way more than they do.”

I know MVPs who are “household” names in the SQL world.  I’m not doubting the reach of Mr. Amobi, clearly he has made significant contributions for which I applaud him. And in the consumer realm he may even be right. But in my opinion statements like the above degrade the conversation into a “mine is bigger than yours” contest.

Now let me speak to the arbitrariness of the award. In the other article I sited by Rob Eisenberg he complained the process of getting the award is a black box. He’s exactly right, it is. It’s a combination of achievements plus subjective judgment on the part of the Microsoft product teams.

That’s done for a very specific reason. If there were a set formula you would have people who would game the system, do things just to meet some minimum requirement in order to gain the perceived benefits of being an MVP. At that point it would cease to be an award and instead become another credential.

I much prefer the current system. I have a much greater confidence that the people who get the award are deserving people who are interested in helping the community, and not just trying to get the award as another notch on their career belt.

It’s clear that this is not an important program to Microsoft

Based on my experiences this could not be further from the truth. Just in money alone Microsoft has made a huge commitment to the program. But what really speaks to me is the involvement of he very highest level of Microsoft management. Had he attended the summit he would have seen Steve Ballmer himself addressing the crowd. When the CEO along with a slate of vice presidents takes time to address the audience it speaks volumes about Microsoft’s commitment.

True, as an MVP I had to pay part of the cost. Budgets are tight for everyone. I felt the program was so important though I paid for two of the last three summits out of my own pocket. But it was an investment in me and my career. I made contacts and solidified relationships that are mutually beneficial for me and my fellow MVPs.

Another word or two…

I’d like to take just a moment to address a few points from Rob Eisenberg’s post. He was upset that his MVP lead apparently didn’t know enough about his accomplishments, and seemed insulted that he should have to fill out a spreadsheet detailing his activities.

I know our SQL MVP lead has to deal with at least 300 just in our discipline. I’m not sure the exact number, but there’s just no humanly way possible that even with a fantastic relationship they could be expected to know every single contribution a person makes to the community over the course of  year. I made it as positive an experience as I could. It was a great time to update my resume, to add my community involvement, book authoring, etc.

I would like to say Rob makes a point about open source, although I do see some shifting of Microsoft’s involvement with open source. They established the CodePlex site, and use it as a conduit for distributing the SQL Server sample databases. They are now giving support for jQuery, and most recently announced support for Hadoop. 

While I wish they could move a bit faster, they do have a very tricky legal tight rope to walk. Many licenses in the open source world require that should code be used from that project derivatives must also be open source. For a company who makes money selling software and guarding trade secrets, this is not the ideal situation.

There is one point I totally agree with Rob on though. The format of the spreadsheet was pretty lame. 

The mystical MVP program

It saddens me that the two gentleman had such negative experiences. I wish a better job could have been done to keep talented people like these in the program. I am glad though they continue to be supportive of the community.

As for me, becoming an MVP was one of the highlights of my life, both personally and professionally. It opened doors for me, giving me a chance to fulfill a dream of becoming an author. It opened the door to become an employee of one of the most prestigious BI consulting firms in the world.

Most importantly, it has allowed me to make friends with some of the top professionals in not just the SQL community, but other disciplines such as .Net and SharePoint. The level of excellence these people have make me strive even harder to stay on top of my game.

For me, my MVP experience has been nothing but positive, and I will continue to serve as long as I can. 

Posted in Microsoft, MVP. Tags: , . 6 Comments »

Revisting the Outlook Save All Attachments Macro

Back in 2007 I created a post on an Outlook Macro to save all attachments for an e-mail. Some people were having a problem downloading the file (not sure why as it worked for me) but to help out thought I’d repost the code in full.

Note I have not tried this with Outlook 2010, so use at your own risk.


Option Explicit


Public Sub SaveAttachments()

  'Note, this assumes you are in the a folder with e-mail messages when you run it.
  'It does not have to be the inbox, simply any folder with e-mail messages
  
  Dim App As New Outlook.Application
  Dim Exp As Outlook.Explorer
  Dim Sel As Outlook.Selection
  
  Dim AttachmentCnt As Integer
  Dim AttTotal As Integer
  Dim MsgTotal As Integer
  
  Dim outputDir As String
  Dim outputFile As String
  Dim fileExists As Boolean
  Dim cnt As Integer
  
  'Requires reference to Microsoft Scripting Runtime (SCRRUN.DLL)
  Dim fso As FileSystemObject
    
  Set Exp = App.ActiveExplorer
  Set Sel = Exp.Selection
  Set fso = New FileSystemObject

  outputDir = GetOutputDirectory()
  If outputDir = "" Then
    MsgBox "You must pick an directory to save your files to. Exiting SaveAttachments.", vbCritical, "SaveAttachments"
    Exit Sub
  End If
    
  'Loop thru each selected item in the inbox
  For cnt = 1 To Sel.Count
    'If the e-mail has attachments...
    If Sel.Item(cnt).Attachments.Count > 0 Then
      MsgTotal = MsgTotal + 1
      'For each attachment on the message...
      For AttachmentCnt = 1 To Sel.Item(cnt).Attachments.Count
        'Get the attachment
        Dim att As Attachment
        Set att = Sel.Item(cnt).Attachments.Item(AttachmentCnt)
        outputFile = att.fileName
        fileExists = fso.fileExists(outputDir + outputFile)
        Do While fileExists = True
          outputFile = InputBox("The file " + outputFile _
            + " already exists in the destination directory of " _
            + outputDir + ". Please enter a new name, or hit cancel to skip this one file.", "File Exists", outputFile)
          'If user hit cancel
          If outputFile = "" Then
            'Exit leaving fileexists true. That will be a flag not to write the file
            Exit Do
          End If
          fileExists = fso.fileExists(outputDir + outputFile)
        Loop
        
        'Save it to disk if the file does not exist
        If fileExists = False Then
          att.SaveAsFile (outputDir + outputFile)
          AttTotal = AttTotal + 1
        End If
      Next
    End If
  Next
  
  'Clean up
  Set Sel = Nothing
  Set Exp = Nothing
  Set App = Nothing
  Set fso = Nothing
  
  'Let user know we are done
  Dim doneMsg As String
  doneMsg = "Completed saving " + Format$(AttTotal, "#,0") + " attachments in " + Format$(MsgTotal, "#,0") + " Messages."
  MsgBox doneMsg, vbOKOnly, "Save Attachments"
  
  Exit Sub
  
ErrorHandler:

  Dim errMsg As String
  errMsg = "An error has occurred. Error " + Err.Number + " " + Err.Description
  Dim errResult As VbMsgBoxResult
  errResult = MsgBox(errMsg, vbAbortRetryIgnore, "Error in Save Attachments")
  Select Case errResult
    Case vbAbort
      Exit Sub
      
    Case vbRetry
      Resume
      
    Case vbIgnore
      Resume Next
      
  End Select
    
End Sub

'Found this code in a google groups thread here:
'http://groups.google.com/group/microsoft.public.scripting.vbscript/browse_thread/thread/7187886c3c83a570/c278a2753e9e7ceb%23c278a2753e9e7ceb
'or http://shrinkster.com/l0v
Public Function GetOutputDirectory() As String
 
  Dim retval As String 'Return Value
  
  Dim sMsg As String
  Dim cBits As Integer
  Dim xRoot As Integer
  
  Dim oShell As Object
  Set oShell = CreateObject("shell.application")

  sMsg = "Select a Folder To Output The Attachments To"
  cBits = 1
  xRoot = 17
  
  On Error Resume Next
      Dim oBFF
      Set oBFF = oShell.BrowseForFolder(0, sMsg, cBits, xRoot)
      If Err Then
        Err.Clear
        GetOutputDirectory = ""
        Exit Function
      End If
  On Error GoTo 0
  
  If Not IsObject(oBFF) Then
    GetOutputDirectory = ""
    Exit Function
  End If
  
  If Not (LCase(Left(Trim(TypeName(oBFF)), 6)) = "folder") Then
    retval = ""
  Else
    retval = oBFF.self.Path
    
    'Make sure there's a \ on the end
    If Right(retval, 1) <> "\" Then
      retval = retval + "\"
    End If
  End If
  
  GetOutputDirectory = retval
  
End Function


Unmixing the MIX 10 Content

Every year Microsoft puts on a big conference called MIX, this year was MIX 10. It’s a big developers conference focused mostly on Web development, although this year also had a fair amount of information on the new Windows Phone 7 platform. Microsoft is also kind enough to make the sessions available for free download to anyone interested after the conference is over. As of this blog post the average quality WMV recordings are up, and the high quality ones should be up soon. You can download them at http://live.visitmix.com/Videos .

To make downloading easy I suggest using FireFox with an add-in called Down-Them-All. Yes, I know, you’re probably a die hard Microsoft guy and use IE all the time, but you probably have FireFox installed for testing purposes. Go grab the Down-Them-All add-in. Then go to the Mix website (link above), right click anywhere in the webpage, and pick “DownThemALL!”. In the dialog that pops up it will show all the downloadable content on the page. Set the directory to “Save files in:” in the lower part of the dialog (for the average quality WMV files you’ll need about 12.4 gig), then under filters you can pick Videos to get all the WMVs. You could also go to the fast filtering area and set something like *.pptx to download all the slides. Click “Start!” and the downloads will begin. Then go get coffee. And lunch. And probably dinner as well, as this will take a while.

Once you’ve got it all downloaded you’re left with a lot of files with the session names as the file names. CL01.wmv, CL02.wmv, etc. I find it much easier if the file names also contain the text of the session description. That way when I’m looking over the media inside my Zune library or even just browsing in Windows explorer it’s easy to pick something to watch. So using the column mode capabilities plus a simple macro in a text editor called UltraEdit (easily the best software purchase I’ve ever made in my life) I quickly put together a batch file to rename all the files for me. Here is the contents of it:

rename CL01.wmv "CL01 – Changing our Game – an Introduction to Windows Phone 7 Series.wmv"
rename CL02.wmv "CL02 – Authoring for Windows Phone Silverlight 4 and WPF 4 with Expression Blend.wmv"
rename CL03.wmv "CL03 – Prototyping Rich Microsoft Silverlight Applications with Expression SketchFlow.wmv"
rename CL06.wmv "CL06 – Designing Bing – Heart and Science.wmv"
rename CL07.wmv "CL07 – Microsoft Silverlight 4 Overview – What’s in Store for Silverlight 4?.wmv"
rename CL08.wmv "CL08 – Microsoft Silverlight 4 Business Applications.wmv"
rename CL09.wmv "CL09 – Developing with WCF RIA Services Quickly and Effectively.wmv"
rename CL10.wmv "CL10 – Stepping Outside the Browser with Microsoft Silverlight 4.wmv"
rename CL13.wmv "CL13 – Overview of the Windows Phone 7 Series Application Platform.wmv"
rename CL14.wmv "CL14 – Windows Phone UI and Design Language.wmv"
rename CL15.wmv "CL15 – An Introduction to Developing Applications for Microsoft Silverlight.wmv"
rename CL16.wmv "CL16 – Building Windows Phone Applications with Silverlight Part 1.wmv"
rename CL17.wmv "CL17 – Building Windows Phone Applications with Silverlight Part 2.wmv"
rename CL18.wmv "CL18 – Windows Phone Application Platform Architecture.wmv"
rename CL19.wmv "CL19 – Development and Debugging Tools for Building XNA Games for Windows Phone.wmv"
rename CL20.wmv "CL20 – Distributing and Monetizing Windows Phone Applications and Games.wmv"
rename CL21.wmv "CL21 – Building Windows Phone Games.wmv"
rename CL22.wmv "CL22 – Building a High Performance 3D Game for Windows Phone.wmv"
rename CL23.wmv "CL23 – Designing and Developing for the Rich Mobile Web.wmv"
rename CL24.wmv "CL24 – The Microsoft Silverlight Analytics Framework.wmv"
rename CL25.wmv "CL25 – Microsoft Silverlight Media  – Moving at 60fps.wmv"
rename CL26.wmv "CL26 – Introducing the Silverlight Rough Cut Editor.wmv"
rename CL27.wmv "CL27 – HTML5 – Cross-Browser Best Practices.wmv"
rename CL28.wmv "CL28 – In-Depth Look at Internet Explorer 9.wmv"
rename CL29.wmv "CL29 – HTML5 – High-Performance Best Practices for Web Sites.wmv"
rename CL30.wmv "CL30 – Building Innovative Windows Client Software.wmv"
rename CL50.wmv "CL50 – Search Engine Optimization for Microsoft Silverlight.wmv"
rename CL51.wmv "CL51 – Building an Accessible Microsoft Silverlight Experience.wmv"
rename CL52.wmv "CL52 – Microsoft Silverlight Optimization and Extensibility with MEF.wmv"
rename CL53.wmv "CL53 – Flash Skills Applied to Microsoft Silverlight Design and Development.wmv"
rename CL54.wmv "CL54 – Software and Web Entrepreneurs – Go Big with BizSpark and WebsiteSpark.wmv"
rename CL55.wmv "CL55 – Dynamic Layout and Transitions for Microsoft Silverlight 4 with Microsoft Expression Blend.wmv"
rename CL56.wmv "CL56 – A Case Study – Rapid WordPress Design and Prototyping with Expression Web 3.wmv"
rename CL58.wmv "CL58 – Accessing Web Services in Microsoft Silverlight.wmv"
rename CL59.wmv "CL59 – Unit Testing Silverlight and Windows Phone Applications.wmv"
rename CL60.wmv "CL60 – Silverlight Performance on Windows Phone.wmv"
rename DS01.wmv "DS01 – The Laws of User Experience.wmv"
rename DS02.wmv "DS02 – Treat Your Content Right.wmv"
rename DS03.wmv "DS03 – Running with Wireframes – Taking Information Architecture (IA) into Design.wmv"
rename DS04.wmv "DS04 – Lifecycle of a Wireframe.wmv"
rename DS05.wmv "DS05 – Total Experience Design.wmv"
rename DS06.wmv "DS06 – Touch in Public – Multi-touch Interaction Design for Kiosks and Architectural Experiences.wmv"
rename DS07.wmv "DS07 – The Art Technology and Science of Reading.wmv"
rename DS08.wmv "DS08 – Creating Great Experiences through Collaboration.wmv"
rename DS09.wmv "DS09 – Peanut Butter and Jelly – Putting ‘Content Management’ Back into Context.wmv"
rename DS10.wmv "DS10 – Service Design Goes Social.wmv"
rename DS11.wmv "DS11 – Great User Experiences – Seamlessly Blending Technology and Design.wmv"
rename DS12.wmv "DS12 – Total Experience – A Design Methodology for Agencies.wmv"
rename DS13.wmv "DS13 – The Elephant in the Room.wmv"
rename DS14.wmv "DS14 – The Democratization of the Design Industry.wmv"
rename DS15.wmv "DS15 – The Type We Want.wmv"
rename DS16.wmv "DS16 – An Hour With Bill Buxton.wmv"
rename EX01.wmv "EX01 – Cloud Computing Economies of Scale.wmv"
rename EX02.wmv "EX02 – The Mono Project.wmv"
rename EX03.wmv "EX03 – Modern Web Form Design.wmv"
rename EX04.wmv "EX04 – Robots at MySpace – Massive Scaling a .NET Website with the Microsoft Robotic Studio.wmv"
rename EX06.wmv "EX06 – 10 Ways to Attack a Design Problem and Come Out Winning.wmv"
rename EX07.wmv "EX07 – Principles of Microsoft Silverlight Graphics and Animation.wmv"
rename EX10.wmv "EX10 – Building a Next-Generation Web Application with Microsoft ASP.NET MVC 2 and jQuery.wmv"
rename EX11.wmv "EX11 – Using Storage in the Windows Azure Platform.wmv"
rename EX12.wmv "EX12 – Creating Effective Info Viz in Microsoft Silverlight.wmv"
rename EX13.wmv "EX13 – Microsoft Surface Goes Social – Research Project at the University of Linz.wmv"
rename EX14.wmv "EX14 – Understanding the Model-View-ViewModel Pattern.wmv"
rename EX15.wmv "EX15 – Build Your Own MVVM Framework.wmv"
rename EX16.wmv "EX16 – Securing Microsoft Silverlight Applications.wmv"
rename EX17.wmv "EX17 – IronRuby for the .NET Developer.wmv"
rename EX18.wmv "EX18 – Developing Natural User Interfaces with Microsoft Silverlight and WPF 4 Touch.wmv"
rename EX19.wmv "EX19 – The OpenRasta Framework for Building RESTful Applications.wmv"
rename EX20.wmv "EX20 – Building Great Standards-Based Websites for the Big Wide World with Microsoft ASP.NET 4.wmv"
rename EX21.wmv "EX21 – Syncing Audio Video and Animations in Microsoft Silverlight Applications.wmv"
rename EX22.wmv "EX22 – Six Things Every jQuery Developer Must Know.wmv"
rename EX23.wmv "EX23 – Building Facebook Apps with Microsoft .NET and Deploying to Windows Azure.wmv"
rename EX25.wmv "EX25 – Design the Ordinary Like the Fixie.wmv"
rename EX26.wmv "EX26 – From Comp to Code – A Design Communion.wmv"
rename EX27.wmv "EX27 – Do You Speak My Language? Microsoft Translator and the Power of Collaboration.wmv"
rename EX28.wmv "EX28 – Building Rich and Interactive User Experiences in SharePoint.wmv"
rename EX29.wmv "EX29 – Building Platforms and Applications for the Real-Time Web.wmv"
rename EX30.wmv "EX30 – SVG – The Past Present and Future of Vector Graphics for the Web.wmv"
rename EX31.wmv "EX31 – Developing Multiplayer Games with Microsoft Silverlight 4.wmv"
rename EX32.wmv "EX32 – Smooth Streaming Live in HD – From Camera to Screen.wmv"
rename EX33.wmv "EX33 – Smooth Streaming Live in HD – 2010 Olympic Winter Games.wmv"
rename EX34.wmv "EX34 – Participating in the Web of Data with Open Standards.wmv"
rename EX35.wmv "EX35 – Opening Up Opportunity with Twitter.wmv"
rename EX36.wmv "EX36 – How jQuery Makes Hard Things Simple.wmv"
rename EX37.wmv "EX37 – Adding the Where to the When of Social Applications.wmv"
rename EX38.wmv "EX38 – Building Large-Scale Data-Centric Applications with Silverlight.wmv"
rename EX39.wmv "EX39 – The Tale of JavaScript. I Mean ECMAScript..wmv"
rename EX50.wmv "EX50 – Debugging Microsoft Silverlight Applications.wmv"
rename EX51.wmv "EX51 – Building Finance Applications with Microsoft Silverlight 4.wmv"
rename EX52.wmv "EX52 – Copyright – A Cloudy Subject.wmv"
rename EX53.wmv "EX53 – Storm Clouds – What to Consider About Privacy Before Writing a Line of Code.wmv"
rename EX55.wmv "EX55 – Building the eBay Simple Lister with Silverlight.wmv"
rename EX56.wmv "EX56 – Designing Rich Experiences for Data-Centric Applications.wmv"
rename FT03.wmv "FT03 – Tips and Tricks for Making Web Forms Shine with Microsoft ASP.NET 4.wmv"
rename FT04.wmv "FT04 – What’s New in Microsoft ASP.NET MVC 2.wmv"
rename FT05.wmv "FT05 – The HaaHa Show – Microsoft ASP.NET MVC Security with Haack and Hanselman.wmv"
rename FT06.wmv "FT06 – Deep Dive into Orchard Extensibility for CMS Developers.wmv"
rename FT07.wmv "FT07 – Beyond File – New Company – From Cheesy Sample to Social Platform.wmv"
rename FT08.wmv "FT08 – Improving Software Quality for the Modern Web.wmv"
rename FT09.wmv "FT09 – Pumping Iron on the Web – IronRuby and IronPython.wmv"
rename FT10.wmv "FT10 – Driving Experiences via Services Using the Microsoft .NET Framework.wmv"
rename FT11.wmv "FT11 – Designing and Delivering Scalable and Resilient Web Services.wmv"
rename FT12.wmv "FT12 – OData – There’s a Feed for That.wmv"
rename FT13.wmv "FT13 – Implementing OData – How to Create a Feed for That.wmv"
rename FT14.wmv "FT14 – Web Deployment Made Awesome – If You’re Using XCopy You’re Doing It Wrong.wmv"
rename FT15.wmv "FT15 – Accessing Data in a Microsoft .NET-Connected Web Application.wmv"
rename FT50.wmv "FT50 – Advanced Web Debugging with Fiddler.wmv"
rename FT51.wmv "FT51 – Internet Explorer Developer Tools.wmv"
rename FTL01.wmv "FTL01 – Reactive Extensions for JavaScript.wmv"
rename FTL02.wmv "FTL02 – Building Pivot Collections.wmv"
rename FTL03.wmv "FTL03 – Unlocking Audio-Video Content with Speech Recognition.wmv"
rename FTL50.wmv "FTL50 – Incarnate – Behind the Scenes.wmv"
rename FTL51.wmv "FTL51 – Quickly Implementing New Cross-Browser Features with Ruby and Python.wmv"
rename KEY01.wmv "KEY01 – Keynote Day 1.wmv"
rename KEY02.wmv "KEY02 – Keynote Day 2.wmv"
rename PR01.wmv "PR01 – Designing Corporate Web Sites using SharePoint 2010.wmv"
rename PR02.wmv "PR02 – Designing an Internet-Facing Web Site Using SharePoint 2010.wmv"
rename SVC01.wmv "SVC01 – Using Windows Identity Foundation for Creating Identity-Driven Experiences in Microsoft Silverlight.wmv"
rename SVC02.wmv "SVC02 – Microsoft Project Code Name Dallas – Data For Your Apps.wmv"
rename SVC03.wmv "SVC03 – Using Ruby on Rails to Build Windows Azure Applications.wmv"
rename SVC04.wmv "SVC04 – Lap around the Windows Azure Platform.wmv"
rename SVC05.wmv "SVC05 – Building Web Applications with Windows Azure Storage.wmv"
rename SVC06.wmv "SVC06 – Microsoft Silverlight and Windows Azure – A Match Made for the Web.wmv"
rename SVC07.wmv "SVC07 – Building Web Applications with Microsoft SQL Azure.wmv"
rename SVC08.wmv "SVC08 – Connecting Your Applications in the Cloud with Windows Azure AppFabric.wmv"
rename SVC09.wmv "SVC09 – Building and Deploying Windows Azure-Based Applications with Microsoft Visual Studio 2010.wmv"
rename SVC10.wmv "SVC10 – Building Offline Web Apps Using Microsoft Sync Framework.wmv"
rename SVC12.wmv "SVC12 – Building PHP Applications using the Windows Azure Platform.wmv"
rename SVC50.wmv "SVC50 – Improving the Usability and Security of OpenID.wmv"

Simply take the above content, copy into notepad and save it in the same folder as all the WMV files. (I saved it as WmvRename.bat). Then just run it and your Mix10 filenames will no longer be all MIXed up!

Introducing Microsoft PowerPivot

What is PowerPivot? Well according to Microsoft:

“PowerPivot is Microsoft Self-Service Business Intelligence”

I can see from the glazed looks you are giving your monitor that was clear as mud. So let’s step back a bit and first define what exactly is Business Intelligence.

Business Intelligence

Business Intelligence, often referred to as simply “BI”, is all about taking data you already have and making sense of it. Being able to take that information and turn it from a raw jumble of individual facts and transform it into knowledge that you can take informed actions on.

In every organization there is already someone who is doing BI, although they may not realize it. Microsoft (and many IT departments) refer to this person as “that guy”. A power user, who grabs data from anyplace he (or she) can get it, then uses tools like Excel or Access to slice it, dice it, and analyze it. This person might be an actual Business Analyst, but more often it’s someone for who BI is not their main job. Some common examples of people doing their own BI today are production managers, accountants, engineers, or sales managers, all who need information to better do their job. Let’s look at an illustration that will make it a bit clearer.

In this example, put yourself in the role of a sales manager. You have gotten IT to extract all of your sales orders for the last several years into an Excel spreadsheet. In order to determine how well your sales people are doing, you need to measure their performance. You’ve decided that the amount sold will be a good measure, and use Excel to give you totals.

IntroEx01

In BI terms, the column “Total Sales” is known as a measure, or sometimes a fact, as it measures something, in this case the sales amount. The grand total sales amount is often called an aggregation, as it totals up the individual rows of data that IT gave us. But now you might be wondering why Andy’s sales are so low? Well, now you want to dig deeper and look at sales by year.

IntroEx02

In BI terms, the names of the sales people are a dimension. Dimensions are often either a “who” (who sold stuff) or a “what” (what stuff did we sell). Places (where was it sold) and dates (when was it sold) are also common dimensions. In this case the sales dates across the top (2007, 2008, 2009) are a date dimension. When we use two or more dimensions to look at our measures, we have a pivot table.

Now we can see a picture emerging. It’s obvious that Andy must have been hired as a new salesperson in late 2008, since he shows no sales for 2007 and very small amount in 2008. But for Paul and Kimberly we can look at something called trends in the BI world. Kimberly shows a nice even trend, rising slowly over the last three years and earns a gold star as our top performer.

By being able to drill down into our data, we spot another trend that was not readily obvious when just looking at the grand totals. Paul has been trending downward so fast the speed of light looks slow. Clearly then we now have information to take action on, commonly known as actionable intelligence.

So remind me, why do we need PowerPivot?

As you can see in the above example, “that guy” in your company clearly has a need to look at this data in order to do his job. Not only does he need to review it, he also has the issue of how to share this information with his co-workers. Unfortunately in the past the tools available to “that guy” have had some drawbacks. The two main tools used by our analyst have been either Excel, or a complete BI solution involving a data warehouse and SQL Server Analysis Services.

Excel’s main limitations center around the volume of data needed to do good analysis. Excel has limits to the number of rows it can store, and for large datasets a spreadsheet can consume equally large amounts of disk space. This makes the spreadsheet difficult to share with coworkers. In addition mathematical functions like aggregations could be slow. On the good side, Excel is readily available to most workers, and a solution can be put together fairly quickly.

A full blown BI solution has some major benefits over the Excel solution. A data warehouse is created, and then SQL Server Analysis Services (often abbreviated as SSAS) is used to precalculate aggregations for every possible way an analyst might wish to look at them. The data is then very easy to share via tools like Excel and SQL Server Reporting Services. While very robust and powerful solution, it does have some drawbacks. It can take quite a bit of time to design, code, and implement both the data warehouse and the analysis services pieces of the solution. In addition it can also be expensive for IT to implement such a system.

Faster than a speeding bullet, more powerful than a locomotive, it’s PowerPivot!

PowerPivot combines the best of both worlds. In fact, it’s not one tool but two: PowerPivot for Microsoft Excel 2010, and PowerPivot for SharePoint 2010. What’s the difference you ask? Good question.

PowerPivot for Microsoft Excel 2010

PowerPivot acts as an Add-on for Excel 2010, and in many ways is quite revolutionary. First, it brings the full power of SQL Server Analysis Services right into Excel. All of the speed and power of SSAS is available right on your desktop. Second, it uses a compression technology that allows vast amounts of data to be saved in a minimal amount of space. Millions of rows of data can now be stored, sorted, and aggregated in a reasonable amount of disk space with great speed.

PowerPivot can draw its data from a wide variety of sources. As you might expect, it can pull from almost any database. Additionally it can draw data from news feeds, SQL Server Reporting Services, other Excel sheets, it can even be typed in manually if need be.

Another issue that often faces the business analyst is the freshness of the data. The information is only as good as the date it was last imported into Excel. Traditionally “that guy” only got extracts of the database as IT had time, since it was often a time consuming process. PowerPivot addresses this through its linked tables feature. PowerPivot will remember where your data came from, and with one simple button click can refresh the spreadsheet with the latest information.

Because PowerPivot sits inside Microsoft Excel, it not only can create basic pivot tables but has all the full featured functionality of Excel at its disposal. It can format pivot tables in a wide array of styles, create pivot charts and graphs, and combine these together into useful dashboards. Additionally PowerPivot has a rich set of mathematical functionally, combining the existing functions already in Excel with an additional set of functions called Data Analysis eXpressions or DAX.

PowerPivot for SharePoint 2010

PowerPivot for Excel 2010 clearly solves several issues around the issue of analysis. It allows users to quickly create spreadsheets, pivot tables, charts, and more in a compact amount of space. If you recall though, creation was only half of “that guys” problem. The other half was sharing his analysis with the rest of his organization. That’s where PowerPivot for SharePoint 2010 comes into play.

Placing a PowerPivot Excel workbook in SharePoint 2010 not only enables traditional file sharing, but also activates several additional features. First, the spreadsheet is hosted right in the web browser. Thus users who might not have made the transition to Excel 2010 can still use the PowerPivot created workbook, slicing and filtering the data to get the information they require.

Data can also be refreshed on an automated, scheduled basis. This ensures the data is always up to date when doing analysis. Dashboards can also be created from the contents of a worksheet and displayed in SharePoint. Finally these PowerPivot created worksheets can be used as data sources for such tools as SQL Server Reporting Services.

Limitations

First, let me preface this by saying as of this writing all of the components are either in CTP (Community Technology Preview, a pre-beta) or Beta state. Thus there could be some changes between now and their final release next year.

To use the PowerPivot for Excel 2010 components, all you have to have is Excel 2010 and the PowerPivot add-in. If you want to share the workbook and get all the rich functionality SharePoint has to offer, you’ll have to have SharePoint 2010, running Excel Services and PowerPivot 2010 Services. You’ll also have to have SQL Server 2008 R2 Analysis Services running on the SharePoint 2010 box. Since you’ll have to have a SQL Server instance installed to support SharePoint this is not a huge limitation, especially since SSAS comes with SQL Server at no extra cost.

One thing I wish to make clear, SharePoint 2010 itself can run using any version of SQL Server from SQL Server 2005 on. It is the PowerPivot service that requires 2008 R2 Analysis Services.

One other important item to note: at some point the load upon the SharePoint 2010 server may grow too large if especially complex analysis is being done. Fortunately SharePoint 2010 ships with several tools that allow administrators to monitor the load and plan accordingly. At the point where the load is too big, it is a clear indication it’s time to transition from a PowerPivot solution to a full BI solution using a data warehouse and SQL Server Analysis Services.

What does PowerPivot mean for business users?

For business users, and especially “that guy”, it means complex analysis tools can be created in a short amount of time. Rich functionality makes it easier to spot trends and produce meaningful charts and graphs. It also means this information can be shared with others in the organization easily, without imposing large burdens on the corporate e-mail system or local file sharing mechanisms.

No longer will users be dependent on IT for their analysis, they will have the power to create everything they need on their own, truly bringing “self service BI” to fruition.

What does PowerPivot mean for Business Intelligence IT Pros?

The first reaction many BI developers have when hearing about PowerPivot is “oh no, this is going to put me out of a job!” Far from it, I firmly believe PowerPivot will create even more work for BI Professionals like myself.

As upper management grows to rely on the information provided by PowerPivot, they will also begin to understand the true value BI can bring to an organization. Selling a new BI solution into an organization where none currently exists can be difficult, as it can be hard to visualize how such a solution would work and the value it brings. PowerPivot allows BI functionality to be brought into an organization at a low development cost, proving the value of BI with minimal investment. Thus when there is a need to implement a larger, traditional BI project those same managers will be more forthcoming with the dollars.

Second, as users pull more and more data, they are going to want that data better organized than they will find in their current transactional business systems. This will in turn spur the need to create many new data warehouses. Likewise the IT department will also want data warehouses created, to reduce the load placed on those same transactional business systems.

I also foresee PowerPivot being used by BI Pros themselves to create solutions. The database structure of many transactional database systems can be difficult to understand even for experienced IT people, much less users. BI Pros can use PowerPivot to add a layer of abstraction between the database and the users, allowing business analysts to do their job without having to learn the complexity of a database system.

BI Pros can also use PowerPivot to implement quick turnaround solutions for customers, bringing more value for the customer’s dollar. When a BI Pro can prove him (or her) self by providing rich functionality in a short time frame it’s almost always the case they are brought back in for multiple engagements.

PowerPivot also provides great value to BI Pros who are employed full time in an enterprise organization. They can create solutions much quicker than before, freeing them up to do other valuable tasks. In addition PowerPivot solutions can provide a “stop gap” solution, pushing the date at which the organization needs to spend the dollars for a full blown BI solution and allowing IT to plan better.

Finally I see great value in PowerPivot as a prototyping tool for larger BI projects. Now users can see their data, interact with it, analyze it, and ensure the required measures and dimensions are present before proceeding with the larger project.

I’ll reiterate, if anything I believe PowerPivot will create an explosion of work for the Business Intelligence Professional.

Where can I learn more?

Well right here for one. I have become quite interested in PowerPivot since seeing it at the SQL PASS 2009 Summit. I think it will be a valuable tool for both myself and my customers. This will be the first of many blog posts to come on PowerPivot. I am also beginning a series of presentations on PowerPivot for local user groups and code camp events. The first will be Saturday, November 21st 2009 at the SharePoint Saturday in Birmingham Alabama, but there will be many more to come. (If you’d like me to come speak at your group just shoot me an e-mail and we’ll see what we can arrange.)

There’s also the PowerPivot site itself:

I’ve also found a small handful of blogs on PowerPivot, listed in no particular order:

Summary

Thanks for sticking with me, I know this was a rather long blog post but PowerPivot has a lot of rich functionality to offer. While PowerPivot is still in the CTP/Beta stage as of this writing, I see more and more interest in the community, which will continue to grow as PowerPivot moves closer to release. I hope this post has set you off on the right step and you’ll continue to come back for more information.

Welcome to COMFRAME

I admit to being remiss lately, my poor blog has been neglected for these past few weeks. I can only plead mea culpa and explain.

A few weeks ago I had an opportunity placed before me that I simply could not refuse. I’d been happy at my old job and wasn’t looking, but a good friend of mine works for a great company called COMFRAME. They are a consulting firm that does a variety of things, including Enterprise Project Management, .Net and Java development projects, SOA, and most important to me, Business Intelligence.

To make a long story short my friend took a lesson from the Godfather movies and “made me an offer I couldn’t refuse”. I am now a COMFRAME employee! The work is very exciting, I’ll be an architect on a BI project that is using Silverlight 3 for it’s front end. We are working with data from Microsoft Project, not only that but it’s the world’s biggest implementation of Project Server, so I’ll get to work with the fine folks at Microsoft even more closely. We’re also a Microsoft Partner, which will give me new avenues for relationships that will compliment my MVP.

I got to meet the customer this week, although brief they seemed very easy to work with, and nice as well. I also got to meet the development team I’ll be working with, I’m impressed with the work they’ve done so far and can’t wait to roll up my sleeves and dive in.

I’ve had a crazy time wrapping up my old job and starting my new one, hopefully I can get back to regular blogging soon. I’ve been doing a lot with SSIS and SSAS which will give me lots of good material to talk about, not to mention any Silverlight 3 work I get to explore.

Thank You

I found out today Microsoft renewed my MVP award for the 2009-2010 year. I am grateful that my efforts to serve the community were recognized. I’m grateful to Microsoft for caring enough about the community to have setup a program to recognize and more importantly enable those who server.

I am also grateful to you, the readers and my friends in the technical community for allowing me in, for reading my blog, and letting me speak at various community events. Your support, encouragement and friendship have been invaluable.

Finally and most importantly I need to thank my lovely wife and two beautiful daughters. They have endured a lot of evenings of me getting home late after an event, or seeing me face down over a hot laptop working on some new presentation or blog post. Without their love and support none of my efforts would have been possible.

We interrupt this blog to get Ramped Up!

I promise to wrap up the FILESTREAM series shortly, I just want to ensure all of the code samples are complete and properly documented. Meanwhile I have a cool website I want to pass along.

Last week my friend Doug Turnure of Microsoft was on Dot Net Rocks! He and his co-worker Johanna White were talking about a new training site, Ramp Up! Available at http://myrampup.com this is a very full featured training site. There are a series of topics to train on, and each topic is actually a complete training course. Each course is a series of lessons in a variety of formats.

Doug and Johannna have taken a unique approach to this site. For example, there are three different courses available to learn ASP.NET. One is for people coming from an ASP background, another for experienced JAVA developers, and a third for people with no web experience. What a great idea!

In addition they have retained or recycled material for developers who may not be working on the cutting edge. There is a course for people coming from VS2002/2003 to VS2005, for example. This is great, I meet a lot of developers who are just now shifting to the .Net 2.0 platform and are looking for good training material.

Congrats to Doug, Johanna and everyone involved in creating this site. It’s  a great idea, totally free, and make sure to visit it frequently as they will be adding more material as time goes by.

Microsoft Virtual Tech Days – April 1, 2009

Microsoft is hosting a free, 24 hour virtual event this April 1st. There will be free training in languages, web, windows, Office, Sharepoint, and moblie development. For those unable to attend in real time sessions will be downloadable later for all registrees.

For session names and schedule, as well as to register, see their website at http://www.msfttechdays.com/public/home.aspx .

Getting into the Mix – Mix 09 that is

First, I want to say I think it’s incredibly generous of Microsoft to provide videos of all the sessions for free, to anyone. Many people spent thousands to attend, so giving this away is a real boon to us who were unable to attend for whatever reason.

If you haven’t downloaded the sessions yet, you can go to http://videos.visitmix.com/mix09/all to see everything, in various formats. The fastest way to get them all is to use Firefox with an add on called DownThemAll. When you use down them all, it will let you quickly select all the links on a page for a specific file time, or with words in their links. To grab all of the high quality ones, you can use the Fast Filtering feature, and type in wmv-hq which is part of the path name. For the portable format you can use mp4,or pptx will snare you all the slides.

A couple of things to note, Ask The Gu is only available in high quality, while the day 2 keynote is only available in standard quality. Also not all the sessions have slides. There’s also one session I noticed, T17F that only has a high quality session, no low or MP4 version.

If I had any complaint, it is around the file names. They are very short, just the session numbers, such as T20F. Not very useful when I’m looking through a directory trying to decide what to watch. So, I created a simple batch file to rename them. I thought others may find it useful as well, so here it is. They, actually, three, one for the WMVs, one for the MP4, and one for the Powerpoint slides.

WMVs

rename B01M.wmv "B01M – Scaling a Rich Client to Half a Billion Users.wmv"
rename B02M.wmv "B02M – Software Entrepreneurs – Go Big with BizSpark.wmv"
rename B03M.wmv "B03M – Copyright Laws for Web Designers and Developers.wmv"
rename B04M.wmv "B04M – Enhancing Large Windows Media Platforms with Microsoft.wmv"
rename B05M.wmv "B05M – Exposing Web Content to a Global Audience Using Machine.wmv"
rename C01F.wmv "C01F – Sketch Flow – From Concept to Production.wmv"
rename C02F.wmv "C02F – Improving UX through Application Lifecycle Management.wmv"
rename C03F.wmv "C03F – Microsoft Expression Web – No Platform Left Behind.wmv"
rename C04F.wmv "C04F – The Future of Microsoft Expression Blend.wmv"
rename C05F.wmv "C05F – C Sharp for Designers.wmv"
rename C06F.wmv "C06F – Ten Ways to Ensure RIA Failure.wmv"
rename C07F.wmv "C07F – Deep Zoomplusplus  – Build Dynamic Deep Zoom Applications with.wmv"
rename C08F.wmv "C08F – Using Total Experience Design to Transform the Digital.wmv"
rename C09F.wmv "C09F – A Website Named Desire.wmv"
rename C10F.wmv "C10F – Design Prototyping – Bringing Wireframes to Life.wmv"
rename C11F.wmv "C11F – Escaping Flatland in Application Design – Rich User.wmv"
rename C12F.wmv "C12F – Go Beyond Best Practices – Evolving Next Practices to.wmv"
rename C13F.wmv "C13F – Interaction Techniques Using the Wii Remote (and Other.wmv"
rename C14F.wmv "C14F – Interactive Prototyping with DHTML.wmv"
rename C15F.wmv "C15F – Touch and Gesture Computing, What You Haven’t Heard.wmv"
rename C16F.wmv "C16F – The Way of the Whiteboard – Persuading with Pictures.wmv"
rename C17F.wmv "C17F – Web Form Design.wmv"
rename C18F.wmv "C18F – Wireframes That Work – Designing (Rich Internet).wmv"
rename C19F.wmv "C19F – How Razorfish Lights Up Brand with Microsoft SharePoint.wmv"
rename C20F.wmv "C20F – State of the Art in Web Site Design on Microsoft.wmv"
rename C21F.wmv "C21F – User Experience Design Patterns for Business.wmv"
rename C22F.wmv "C22F – Creating a Great Experience on Digg with Windows.wmv"
rename C23F.wmv "C23F – Windows Internet Explorer 8 in the Real World – How Is.wmv"
rename C24F.wmv "C24F – Measuring Social Media Marketing.wmv"
rename C26F.wmv "C26F – Designing the Windows 7 Desktop Experience.wmv"
rename C27M.wmv "C27M – Creating Interactivity with Microsoft Expression Blend.wmv"
rename C28M.wmv "C28M – Integrating Microsoft Expression Blend with Adobe.wmv"
rename C29M.wmv "C29M – Effective Infographics with Interactivity.wmv"
rename C30M.wmv "C30M – User Experience Design for Non-Designers.wmv"
rename KEY01.wmv "KEY1 – Day One Keynote.wmv"
rename KEY02.wmv "KEY2 – Day Two Keynote.wmv"
rename T01F.wmv "T01F – A Lap around Microsoft .NET Services.wmv"
rename T02F.wmv "T02F – Simplifying Distributed Access Control with Microsoft.wmv"
rename T03F.wmv "T03F – Connecting Applications across Networks with Microsoft.wmv"
rename T04F.wmv "T04F – Mesh-Enabled Web Applications.wmv"
rename T05F.wmv "T05F – Live Framework and Mesh Services – Live Services for.wmv"
rename T06F.wmv "T06F – What’s New in Microsoft SQL Data Services.wmv"
rename T07F.wmv "T07F – Overview of Windows Azure.wmv"
rename T08F.wmv "T08F – Windows Azure Storage.wmv"
rename T09F.wmv "T09F – Building Web Applications with Windows Azure.wmv"
rename T10F.wmv "T10F – RESTful Services for the Programmable Web with Windows.wmv"
rename T11F.wmv "T11F – Developing RESTful Services and Clients with.wmv"
rename T12F.wmv "T12F – Principles of Microsoft Silverlight Animation.wmv"
rename T13F.wmv "T13F – Working across the Client Continuum.wmv"
rename T14F.wmv "T14F – What’s New in Microsoft Silverlight 3.wmv"
rename T15F.wmv "T15F – High-Speed RIA Development with the Microsoft.wmv"
rename T16F.wmv "T16F – Building Microsoft Silverlight Controls.wmv"
rename T17F.wmv "T17F – Deep Dive into Microsoft Silverlight Graphics.wmv"
rename T18F.wmv "T18F – Delivering Ads to a Silverlight Media Player.wmv"
rename T19F.wmv "T19F – Creating Media Content for Microsoft Silverlight Using.wmv"
rename T20F.wmv "T20F – Using Microsoft ASP.NET MVC to Easily Extend a Web Site.wmv"
rename T21F.wmv "T21F – Running PHP on Microsoft Servers and Services.wmv"
rename T22F.wmv "T22F – Using Dynamic Languages to Develop Microsoft.wmv"
rename T23F.wmv "T23F – Choosing between ASP.NET Web Forms and MVC.wmv"
rename T24F.wmv "T24F – The Microsoft Web Sandbox – An Open Source Framework for.wmv"
rename T25F.wmv "T25F – Web Development Using Microsoft Visual Studio – Now and.wmv"
rename T26F.wmv "T26F – Love the New Windows Live Messenger Web Toolkit for.wmv"
rename T27F.wmv "T27F – Protecting Online Identities.wmv"
rename T28F.wmv "T28F – Standards for Aggregating Activity Feeds and Social.wmv"
rename T29F.wmv "T29F – Adding Microsoft Silverlight to Your Company’s.wmv"
rename T30F.wmv "T30F – Advance Your Design with UX Design Patterns.wmv"
rename T31F.wmv "T31F – Microsoft Xbox Lips and Fable II -.wmv"
rename T32F.wmv "T32F – Cloud Computing – What’s in It for Me?.wmv"
rename T33F.wmv "T33F – Customized Live Search for Web and Client Applications.wmv"
rename T34F.wmv "T34F – Introducing the Microsoft Virtual Earth Silverlight Map.wmv"
rename T35F.wmv "T35F – Building a Rich Social Network Application.wmv"
rename T36F.wmv "T36F – Modeling RESTful Data Services – Present and Future.wmv"
rename T37F.wmv "T37F – Extending Your Brand to the Desktop with Windows 7.wmv"
rename T38F.wmv "T38F – See through the Clouds – Introduction to the Azure.wmv"
rename T39F.wmv "T39F – What’s New in Windows Presentation Foundation (WPF).wmv"
rename T40F.wmv "T40F – Building Amazing Business Centric Applications with.wmv"
rename T41F.wmv "T41F – .NET RIA Services – Building Data-Driven Applications.wmv"
rename T42F.wmv "T42F – Consuming Web Services in Microsoft Silverlight 3.wmv"
rename T43F.wmv "T43F – Microsoft Silverlight Media End-to-End.wmv"
rename T44F.wmv "T44F – Microsoft ASP.NET Model View Controller (MVC) – Ninja on.wmv"
rename T45F.wmv "T45F – Building Out of Browser Experiences with Microsoft.wmv"
rename T46F.wmv "T46F – Microsoft ASP.NET 4.0  – What’s Next?.wmv"
rename T47F.wmv "T47F – Microsoft ASP.NET 4.0 Data Access – Patterns for Success.wmv"
rename T48F.wmv "T48F – Microsoft ASP.NET – Taking AJAX to the Next Level.wmv"
rename T49F.wmv "T49F – File-New – Company – Creating NerdDinner.com.wmv"
rename T50F.wmv "T50F – ASP.NET MVC – America’s Next Top Model View.wmv"
rename T51F.wmv "T51F – The Microsoft Web Platform – Starring Internet.wmv"
rename T52F.wmv "T52F – A Lap around Windows Internet Explorer 8.wmv"
rename T53F.wmv "T53F – Building High Performance Web Applications and Sites.wmv"
rename T54F.wmv "T54F – Securing Web Applications.wmv"
rename T55F.wmv "T55F – Creating a Next Generation E-Commerce.wmv"
rename T56F.wmv "T56F – Delivering Media with Internet Information Services 7.wmv"
rename T57F.wmv "T57F – Developing and Deploying Applications on Internet.wmv"
rename T58F.wmv "T58F – Build Applications on the Microsoft Platform Using.wmv"
rename T59F.wmv "T59F – Building Scalable and Available Web Applications with.wmv"
rename T60F.wmv "T60F – Miss March and Other Distractions.wmv"
rename T61F.wmv "T61F – Windows Mobile 6.5 Overview.wmv"
rename T62F.wmv "T62F – There’s a Little Scripter in All of Us – Building a.wmv"
rename T63M.wmv "T63M – Building Data-Driven Scalable AJAX Web Pages.wmv"
rename T64M.wmv "T64M – Caching REST with Windows Communication Foundation.wmv"
rename T65M.wmv "T65M – Building Accessible RIAs in Microsoft Silverlight.wmv"
rename T66M.wmv "T66M – Building Microsoft Silverlight Applications with.wmv"
rename T67M.wmv "T67M – Building an Optimized, Graphics-Intensive Application.wmv"
rename T68M.wmv "T68M – When Errors Happen – Debugging Microsoft Silverlight.wmv"
rename T69M.wmv "T69M – Microsoft Silverlight Is Ready for Business.wmv"
rename T70M.wmv "T70M – Optimizing Performance for Microsoft Expression Encoder.wmv"
rename T71M.wmv "T71M – Going Inside Microsoft Silverlight – Exploring the Core.wmv"
rename T72M.wmv "T72M – Making XML Really, Really Easy with Microsoft Visual.wmv"
rename T73M.wmv "T73M – What’s New for Microsoft Silverlight and Microsoft.wmv"
rename T74M.wmv "T74M – Protecting Against Internet Service Abuse.wmv"
rename T75M.wmv "T75M – Five Killer Scenarios for the Windows Live Messenger.wmv"
rename T76M.wmv "T76M – Lighting Up Web and Client Applications with Microsoft.wmv"
rename T77M.wmv "T77M – Oomph – A Microformat Toolkit.wmv"
rename T78M.wmv "T78M – Offline Network Detection in Microsoft Silverlight 3.wmv"
rename T79M.wmv "T79M – How’d they do it? Real App. Real Code. Two Weeks..wmv"
rename T80M.wmv "T80M – How I Learned to Stop Worrying and Love the Microsoft.wmv"
rename T81M.wmv "T81M – Using the Windows Azure Tools for Microsoft Visual.wmv"
rename T82M.wmv "T82M – Introducing the Microsoft Web Platform.wmv"
rename T83M.wmv "T83M – Automated User Interface (UI) Testing with Microsoft.wmv"
rename T84M.wmv "T84M – A Shot of Windows Live Messenger and a Pint of.wmv"
rename T85M.wmv "T85M – Improving Mobile Experiences with the Microsoft Mobile.wmv"
rename T86M.wmv "T86M – Search Engine Optimization (SEO) for Web Developers.wmv"
rename T87F.wmv "T87F – Microsoft Silverlight and Windows Presentation.wmv"

MP4

rename B01M.mp4 "B01M – Scaling a Rich Client to Half a Billion Users.mp4"
rename B02M.mp4 "B02M – Software Entrepreneurs – Go Big with BizSpark.mp4"
rename B03M.mp4 "B03M – Copyright Laws for Web Designers and Developers.mp4"
rename B04M.mp4 "B04M – Enhancing Large Windows Media Platforms with Microsoft.mp4"
rename B05M.mp4 "B05M – Exposing Web Content to a Global Audience Using Machine.mp4"
rename C01F.mp4 "C01F – Sketch Flow – From Concept to Production.mp4"
rename C02F.mp4 "C02F – Improving UX through Application Lifecycle Management.mp4"
rename C03F.mp4 "C03F – Microsoft Expression Web – No Platform Left Behind.mp4"
rename C04F.mp4 "C04F – The Future of Microsoft Expression Blend.mp4"
rename C05F.mp4 "C05F – C Sharp for Designers.mp4"
rename C06F.mp4 "C06F – Ten Ways to Ensure RIA Failure.mp4"
rename C07F.mp4 "C07F – Deep Zoomplusplus  – Build Dynamic Deep Zoom Applications with.mp4"
rename C08F.mp4 "C08F – Using Total Experience Design to Transform the Digital.mp4"
rename C09F.mp4 "C09F – A Website Named Desire.mp4"
rename C10F.mp4 "C10F – Design Prototyping – Bringing Wireframes to Life.mp4"
rename C11F.mp4 "C11F – Escaping Flatland in Application Design – Rich User.mp4"
rename C12F.mp4 "C12F – Go Beyond Best Practices – Evolving Next Practices to.mp4"
rename C13F.mp4 "C13F – Interaction Techniques Using the Wii Remote (and Other.mp4"
rename C14F.mp4 "C14F – Interactive Prototyping with DHTML.mp4"
rename C15F.mp4 "C15F – Touch and Gesture Computing, What You Haven’t Heard.mp4"
rename C16F.mp4 "C16F – The Way of the Whiteboard – Persuading with Pictures.mp4"
rename C17F.mp4 "C17F – Web Form Design.mp4"
rename C18F.mp4 "C18F – Wireframes That Work – Designing (Rich Internet).mp4"
rename C19F.mp4 "C19F – How Razorfish Lights Up Brand with Microsoft SharePoint.mp4"
rename C20F.mp4 "C20F – State of the Art in Web Site Design on Microsoft.mp4"
rename C21F.mp4 "C21F – User Experience Design Patterns for Business.mp4"
rename C22F.mp4 "C22F – Creating a Great Experience on Digg with Windows.mp4"
rename C23F.mp4 "C23F – Windows Internet Explorer 8 in the Real World – How Is.mp4"
rename C24F.mp4 "C24F – Measuring Social Media Marketing.mp4"
rename C26F.mp4 "C26F – Designing the Windows 7 Desktop Experience.mp4"
rename C27M.mp4 "C27M – Creating Interactivity with Microsoft Expression Blend.mp4"
rename C28M.mp4 "C28M – Integrating Microsoft Expression Blend with Adobe.mp4"
rename C29M.mp4 "C29M – Effective Infographics with Interactivity.mp4"
rename C30M.mp4 "C30M – User Experience Design for Non-Designers.mp4"
rename KEY01.mp4 "KEY1 – Day One Keynote.mp4"
rename KEY02.mp4 "KEY2 – Day Two Keynote.mp4"
rename T01F.mp4 "T01F – A Lap around Microsoft .NET Services.mp4"
rename T02F.mp4 "T02F – Simplifying Distributed Access Control with Microsoft.mp4"
rename T03F.mp4 "T03F – Connecting Applications across Networks with Microsoft.mp4"
rename T04F.mp4 "T04F – Mesh-Enabled Web Applications.mp4"
rename T05F.mp4 "T05F – Live Framework and Mesh Services – Live Services for.mp4"
rename T06F.mp4 "T06F – What’s New in Microsoft SQL Data Services.mp4"
rename T07F.mp4 "T07F – Overview of Windows Azure.mp4"
rename T08F.mp4 "T08F – Windows Azure Storage.mp4"
rename T09F.mp4 "T09F – Building Web Applications with Windows Azure.mp4"
rename T10F.mp4 "T10F – RESTful Services for the Programmable Web with Windows.mp4"
rename T11F.mp4 "T11F – Developing RESTful Services and Clients with.mp4"
rename T12F.mp4 "T12F – Principles of Microsoft Silverlight Animation.mp4"
rename T13F.mp4 "T13F – Working across the Client Continuum.mp4"
rename T14F.mp4 "T14F – What’s New in Microsoft Silverlight 3.mp4"
rename T15F.mp4 "T15F – High-Speed RIA Development with the Microsoft.mp4"
rename T16F.mp4 "T16F – Building Microsoft Silverlight Controls.mp4"
rename T17F.mp4 "T17F – Deep Dive into Microsoft Silverlight Graphics.mp4"
rename T18F.mp4 "T18F – Delivering Ads to a Silverlight Media Player.mp4"
rename T19F.mp4 "T19F – Creating Media Content for Microsoft Silverlight Using.mp4"
rename T20F.mp4 "T20F – Using Microsoft ASP.NET MVC to Easily Extend a Web Site.mp4"
rename T21F.mp4 "T21F – Running PHP on Microsoft Servers and Services.mp4"
rename T22F.mp4 "T22F – Using Dynamic Languages to Develop Microsoft.mp4"
rename T23F.mp4 "T23F – Choosing between ASP.NET Web Forms and MVC.mp4"
rename T24F.mp4 "T24F – The Microsoft Web Sandbox – An Open Source Framework for.mp4"
rename T25F.mp4 "T25F – Web Development Using Microsoft Visual Studio – Now and.mp4"
rename T26F.mp4 "T26F – Love the New Windows Live Messenger Web Toolkit for.mp4"
rename T27F.mp4 "T27F – Protecting Online Identities.mp4"
rename T28F.mp4 "T28F – Standards for Aggregating Activity Feeds and Social.mp4"
rename T29F.mp4 "T29F – Adding Microsoft Silverlight to Your Company’s.mp4"
rename T30F.mp4 "T30F – Advance Your Design with UX Design Patterns.mp4"
rename T32F.mp4 "T32F – Cloud Computing – What’s in It for Me?.mp4"
rename T33F.mp4 "T33F – Customized Live Search for Web and Client Applications.mp4"
rename T34F.mp4 "T34F – Introducing the Microsoft Virtual Earth Silverlight Map.mp4"
rename T35F.mp4 "T35F – Building a Rich Social Network Application.mp4"
rename T36F.mp4 "T36F – Modeling RESTful Data Services – Present and Future.mp4"
rename T37F.mp4 "T37F – Extending Your Brand to the Desktop with Windows 7.mp4"
rename T38F.mp4 "T38F – See through the Clouds – Introduction to the Azure.mp4"
rename T39F.mp4 "T39F – What’s New in Windows Presentation Foundation (WPF).mp4"
rename T40F.mp4 "T40F – Building Amazing Business Centric Applications with.mp4"
rename T41F.mp4 "T41F – .NET RIA Services – Building Data-Driven Applications.mp4"
rename T42F.mp4 "T42F – Consuming Web Services in Microsoft Silverlight 3.mp4"
rename T43F.mp4 "T43F – Microsoft Silverlight Media End-to-End.mp4"
rename T44F.mp4 "T44F – Microsoft ASP.NET Model View Controller (MVC) – Ninja on.mp4"
rename T45F.mp4 "T45F – Building Out of Browser Experiences with Microsoft.mp4"
rename T46F.mp4 "T46F – Microsoft ASP.NET 4.0  – What’s Next?.mp4"
rename T47F.mp4 "T47F – Microsoft ASP.NET 4.0 Data Access – Patterns for Success.mp4"
rename T48F.mp4 "T48F – Microsoft ASP.NET – Taking AJAX to the Next Level.mp4"
rename T49F.mp4 "T49F – File-New – Company – Creating NerdDinner.com.mp4"
rename T50F.mp4 "T50F – ASP.NET MVC – America’s Next Top Model View.mp4"
rename T51F.mp4 "T51F – The Microsoft Web Platform – Starring Internet.mp4"
rename T52F.mp4 "T52F – A Lap around Windows Internet Explorer 8.mp4"
rename T53F.mp4 "T53F – Building High Performance Web Applications and Sites.mp4"
rename T54F.mp4 "T54F – Securing Web Applications.mp4"
rename T56F.mp4 "T56F – Delivering Media with Internet Information Services 7.mp4"
rename T57F.mp4 "T57F – Developing and Deploying Applications on Internet.mp4"
rename T58F.mp4 "T58F – Build Applications on the Microsoft Platform Using.mp4"
rename T59F.mp4 "T59F – Building Scalable and Available Web Applications with.mp4"
rename T60F.mp4 "T60F – Miss March and Other Distractions.mp4"
rename T61F.mp4 "T61F – Windows Mobile 6.5 Overview.mp4"
rename T62F.mp4 "T62F – There’s a Little Scripter in All of Us – Building a.mp4"
rename T63M.mp4 "T63M – Building Data-Driven Scalable AJAX Web Pages.mp4"
rename T64M.mp4 "T64M – Caching REST with Windows Communication Foundation.mp4"
rename T65M.mp4 "T65M – Building Accessible RIAs in Microsoft Silverlight.mp4"
rename T66M.mp4 "T66M – Building Microsoft Silverlight Applications with.mp4"
rename T67M.mp4 "T67M – Building an Optimized, Graphics-Intensive Application.mp4"
rename T68M.mp4 "T68M – When Errors Happen – Debugging Microsoft Silverlight.mp4"
rename T69M.mp4 "T69M – Microsoft Silverlight Is Ready for Business.mp4"
rename T70M.mp4 "T70M – Optimizing Performance for Microsoft Expression Encoder.mp4"
rename T71M.mp4 "T71M – Going Inside Microsoft Silverlight – Exploring the Core.mp4"
rename T72M.mp4 "T72M – Making XML Really, Really Easy with Microsoft Visual.mp4"
rename T73M.mp4 "T73M – What’s New for Microsoft Silverlight and Microsoft.mp4"
rename T74M.mp4 "T74M – Protecting Against Internet Service Abuse.mp4"
rename T75M.mp4 "T75M – Five Killer Scenarios for the Windows Live Messenger.mp4"
rename T76M.mp4 "T76M – Lighting Up Web and Client Applications with Microsoft.mp4"
rename T77M.mp4 "T77M – Oomph – A Microformat Toolkit.mp4"
rename T78M.mp4 "T78M – Offline Network Detection in Microsoft Silverlight 3.mp4"
rename T79M.mp4 "T79M – How’d they do it? Real App. Real Code. Two Weeks..mp4"
rename T80M.mp4 "T80M – How I Learned to Stop Worrying and Love the Microsoft.mp4"
rename T81M.mp4 "T81M – Using the Windows Azure Tools for Microsoft Visual.mp4"
rename T82M.mp4 "T82M – Introducing the Microsoft Web Platform.mp4"
rename T83M.mp4 "T83M – Automated User Interface (UI) Testing with Microsoft.mp4"
rename T84M.mp4 "T84M – A Shot of Windows Live Messenger and a Pint of.mp4"
rename T85M.mp4 "T85M – Improving Mobile Experiences with the Microsoft Mobile.mp4"
rename T86M.mp4 "T86M – Search Engine Optimization (SEO) for Web Developers.mp4"
rename T87F.mp4 "T87F – Microsoft Silverlight and Windows Presentation.mp4"
rename T55F.mp4 "T55F – Creating a Next Generation E-Commerce.mp4"
rename T31F.mp4 "T31F – Microsoft Xbox Lips and Fable II -.mp4"

Powerpoint

rename B01M.pptx "B01M – Scaling a Rich Client to Half a Billion Users.pptx"
rename B02M.pptx "B02M – Software Entrepreneurs – Go Big with BizSpark.pptx"
rename B03M.pptx "B03M – Copyright Laws for Web Designers and Developers.pptx"
rename B04M.pptx "B04M – Enhancing Large Windows Media Platforms with Microsoft.pptx"
rename B05M.pptx "B05M – Exposing Web Content to a Global Audience Using Machine.pptx"
rename C01F.pptx "C01F – Sketch Flow – From Concept to Production.pptx"
rename C02F.pptx "C02F – Improving UX through Application Lifecycle Management.pptx"
rename C03F.pptx "C03F – Microsoft Expression Web – No Platform Left Behind.pptx"
rename C04F.pptx "C04F – The Future of Microsoft Expression Blend.pptx"
rename C05F.pptx "C05F – C Sharp for Designers.pptx"
rename C06F.pptx "C06F – Ten Ways to Ensure RIA Failure.pptx"
rename C07F.pptx "C07F – Deep Zoomplusplus  – Build Dynamic Deep Zoom Applications with.pptx"
rename C08F.pptx "C08F – Using Total Experience Design to Transform the Digital.pptx"
rename C09F.pptx "C09F – A Website Named Desire.pptx"
rename C10F.pptx "C10F – Design Prototyping – Bringing Wireframes to Life.pptx"
rename C11F.pptx "C11F – Escaping Flatland in Application Design – Rich User.pptx"
rename C12F.pptx "C12F – Go Beyond Best Practices – Evolving Next Practices to.pptx"
rename C13F.pptx "C13F – Interaction Techniques Using the Wii Remote (and Other.pptx"
rename C14F.pptx "C14F – Interactive Prototyping with DHTML.pptx"
rename C15F.pptx "C15F – Touch and Gesture Computing, What You Haven’t Heard.pptx"
rename C16F.pptx "C16F – The Way of the Whiteboard – Persuading with Pictures.pptx"
rename C17F.pptx "C17F – Web Form Design.pptx"
rename C18F.pptx "C18F – Wireframes That Work – Designing (Rich Internet).pptx"
rename C19F.pptx "C19F – How Razorfish Lights Up Brand with Microsoft SharePoint.pptx"
rename C20F.pptx "C20F – State of the Art in Web Site Design on Microsoft.pptx"
rename C21F.pptx "C21F – User Experience Design Patterns for Business.pptx"
rename C22F.pptx "C22F – Creating a Great Experience on Digg with Windows.pptx"
rename C23F.pptx "C23F – Windows Internet Explorer 8 in the Real World – How Is.pptx"
rename C24F.pptx "C24F – Measuring Social Media Marketing.pptx"
rename C26F.pptx "C26F – Designing the Windows 7 Desktop Experience.pptx"
rename C27M.pptx "C27M – Creating Interactivity with Microsoft Expression Blend.pptx"
rename C28M.pptx "C28M – Integrating Microsoft Expression Blend with Adobe.pptx"
rename C29M.pptx "C29M – Effective Infographics with Interactivity.pptx"
rename C30M.pptx "C30M – User Experience Design for Non-Designers.pptx"
rename KEY01.pptx "KEY1 – Day One Keynote.pptx"
rename KEY02.pptx "KEY2 – Day Two Keynote.pptx"
rename T01F.pptx "T01F – A Lap around Microsoft .NET Services.pptx"
rename T02F.pptx "T02F – Simplifying Distributed Access Control with Microsoft.pptx"
rename T03F.pptx "T03F – Connecting Applications across Networks with Microsoft.pptx"
rename T04F.pptx "T04F – Mesh-Enabled Web Applications.pptx"
rename T05F.pptx "T05F – Live Framework and Mesh Services – Live Services for.pptx"
rename T06F.pptx "T06F – What’s New in Microsoft SQL Data Services.pptx"
rename T07F.pptx "T07F – Overview of Windows Azure.pptx"
rename T08F.pptx "T08F – Windows Azure Storage.pptx"
rename T09F.pptx "T09F – Building Web Applications with Windows Azure.pptx"
rename T10F.pptx "T10F – RESTful Services for the Programmable Web with Windows.pptx"
rename T11F.pptx "T11F – Developing RESTful Services and Clients with.pptx"
rename T12F.pptx "T12F – Principles of Microsoft Silverlight Animation.pptx"
rename T13F.pptx "T13F – Working across the Client Continuum.pptx"
rename T14F.pptx "T14F – What’s New in Microsoft Silverlight 3.pptx"
rename T15F.pptx "T15F – High-Speed RIA Development with the Microsoft.pptx"
rename T16F.pptx "T16F – Building Microsoft Silverlight Controls.pptx"
rename T17F.pptx "T17F – Deep Dive into Microsoft Silverlight Graphics.pptx"
rename T18F.pptx "T18F – Delivering Ads to a Silverlight Media Player.pptx"
rename T19F.pptx "T19F – Creating Media Content for Microsoft Silverlight Using.pptx"
rename T20F.pptx "T20F – Using Microsoft ASP.NET MVC to Easily Extend a Web Site.pptx"
rename T21F.pptx "T21F – Running PHP on Microsoft Servers and Services.pptx"
rename T22F.pptx "T22F – Using Dynamic Languages to Develop Microsoft.pptx"
rename T23F.pptx "T23F – Choosing between ASP.NET Web Forms and MVC.pptx"
rename T24F.pptx "T24F – The Microsoft Web Sandbox – An Open Source Framework for.pptx"
rename T25F.pptx "T25F – Web Development Using Microsoft Visual Studio – Now and.pptx"
rename T26F.pptx "T26F – Love the New Windows Live Messenger Web Toolkit for.pptx"
rename T27F.pptx "T27F – Protecting Online Identities.pptx"
rename T28F.pptx "T28F – Standards for Aggregating Activity Feeds and Social.pptx"
rename T29F.pptx "T29F – Adding Microsoft Silverlight to Your Company’s.pptx"
rename T30F.pptx "T30F – Advance Your Design with UX Design Patterns.pptx"
rename T31F.pptx "T31F – Microsoft Xbox Lips and Fable II -.pptx"
rename T32F.pptx "T32F – Cloud Computing – What’s in It for Me?.pptx"
rename T33F.pptx "T33F – Customized Live Search for Web and Client Applications.pptx"
rename T34F.pptx "T34F – Introducing the Microsoft Virtual Earth Silverlight Map.pptx"
rename T35F.pptx "T35F – Building a Rich Social Network Application.pptx"
rename T36F.pptx "T36F – Modeling RESTful Data Services – Present and Future.pptx"
rename T37F.pptx "T37F – Extending Your Brand to the Desktop with Windows 7.pptx"
rename T38F.pptx "T38F – See through the Clouds – Introduction to the Azure.pptx"
rename T39F.pptx "T39F – What’s New in Windows Presentation Foundation (WPF).pptx"
rename T40F.pptx "T40F – Building Amazing Business Centric Applications with.pptx"
rename T41F.pptx "T41F – .NET RIA Services – Building Data-Driven Applications.pptx"
rename T42F.pptx "T42F – Consuming Web Services in Microsoft Silverlight 3.pptx"
rename T43F.pptx "T43F – Microsoft Silverlight Media End-to-End.pptx"
rename T44F.pptx "T44F – Microsoft ASP.NET Model View Controller (MVC) – Ninja on.pptx"
rename T45F.pptx "T45F – Building Out of Browser Experiences with Microsoft.pptx"
rename T46F.pptx "T46F – Microsoft ASP.NET 4.0  – What’s Next?.pptx"
rename T47F.pptx "T47F – Microsoft ASP.NET 4.0 Data Access – Patterns for Success.pptx"
rename T48F.pptx "T48F – Microsoft ASP.NET – Taking AJAX to the Next Level.pptx"
rename T49F.pptx "T49F – File-New – Company – Creating NerdDinner.com.pptx"
rename T50F.pptx "T50F – ASP.NET MVC – America’s Next Top Model View.pptx"
rename T51F.pptx "T51F – The Microsoft Web Platform – Starring Internet.pptx"
rename T52F.pptx "T52F – A Lap around Windows Internet Explorer 8.pptx"
rename T53F.pptx "T53F – Building High Performance Web Applications and Sites.pptx"
rename T54F.pptx "T54F – Securing Web Applications.pptx"
rename T55F.pptx "T55F – Creating a Next Generation E-Commerce.pptx"
rename T56F.pptx "T56F – Delivering Media with Internet Information Services 7.pptx"
rename T57F.pptx "T57F – Developing and Deploying Applications on Internet.pptx"
rename T58F.pptx "T58F – Build Applications on the Microsoft Platform Using.pptx"
rename T59F.pptx "T59F – Building Scalable and Available Web Applications with.pptx"
rename T60F.pptx "T60F – Miss March and Other Distractions.pptx"
rename T61F.pptx "T61F – Windows Mobile 6.5 Overview.pptx"
rename T62F.pptx "T62F – There’s a Little Scripter in All of Us – Building a.pptx"
rename T63M.pptx "T63M – Building Data-Driven Scalable AJAX Web Pages.pptx"
rename T64M.pptx "T64M – Caching REST with Windows Communication Foundation.pptx"
rename T65M.pptx "T65M – Building Accessible RIAs in Microsoft Silverlight.pptx"
rename T66M.pptx "T66M – Building Microsoft Silverlight Applications with.pptx"
rename T67M.pptx "T67M – Building an Optimized, Graphics-Intensive Application.pptx"
rename T68M.pptx "T68M – When Errors Happen – Debugging Microsoft Silverlight.pptx"
rename T69M.pptx "T69M – Microsoft Silverlight Is Ready for Business.pptx"
rename T70M.pptx "T70M – Optimizing Performance for Microsoft Expression Encoder.pptx"
rename T71M.pptx "T71M – Going Inside Microsoft Silverlight – Exploring the Core.pptx"
rename T72M.pptx "T72M – Making XML Really, Really Easy with Microsoft Visual.pptx"
rename T73M.pptx "T73M – What’s New for Microsoft Silverlight and Microsoft.pptx"
rename T74M.pptx "T74M – Protecting Against Internet Service Abuse.pptx"
rename T75M.pptx "T75M – Five Killer Scenarios for the Windows Live Messenger.pptx"
rename T76M.pptx "T76M – Lighting Up Web and Client Applications with Microsoft.pptx"
rename T77M.pptx "T77M – Oomph – A Microformat Toolkit.pptx"
rename T78M.pptx "T78M – Offline Network Detection in Microsoft Silverlight 3.pptx"
rename T79M.pptx "T79M – How’d they do it? Real App. Real Code. Two Weeks..pptx"
rename T80M.pptx "T80M – How I Learned to Stop Worrying and Love the Microsoft.pptx"
rename T81M.pptx "T81M – Using the Windows Azure Tools for Microsoft Visual.pptx"
rename T82M.pptx "T82M – Introducing the Microsoft Web Platform.pptx"
rename T83M.pptx "T83M – Automated User Interface (UI) Testing with Microsoft.pptx"
rename T84M.pptx "T84M – A Shot of Windows Live Messenger and a Pint of.pptx"
rename T85M.pptx "T85M – Improving Mobile Experiences with the Microsoft Mobile.pptx"
rename T86M.pptx "T86M – Search Engine Optimization (SEO) for Web Developers.pptx"
rename T87F.pptx "T87F – Microsoft Silverlight and Windows Presentation.pptx"

Scott Hanselman Takes Over MSN

Yesterday I was browsing around on the web, including a visit to Scott Hanselmans site to read an article on his blog. A little later I rebooted my Windows 7 machine and went to bed. The next day I open up Internet Explorer to do something. In the Windows 7 beta the default homepage for IE is MSN. Imagine my surprise then when I see this:

MSNHanselman

Yes, you are seeing right. The MSN Logo was replaced by Scott Hanselman’s. From this I can only assume that Scott’s plans to become the benevolent overlord of Microsoft are proceeding well, and that he has successfully taken over the MSN division. I imagine it won’t be long then before Baby Smash becomes the primary IDE for developing C# applications.

Oslo – Not just for Norwegians any more

I’ve been looking heavily into Oslo, the new technology announced at PDC 2008. So what exactly is Oslo? Well I couldn’t find a simple explanation, so after digging into it all weekend let me see if I can take a stab at it.

If you are familiar with Sharepoint, you know that it provides you a bunch of web templates. You can take these and create certain types of lists. Documents, lists, forums, etc. What many don’t realize is that all of this gets stored in a “repository” that is in SQL Server.

Oslo takes this concept to the next level. It allows you to create your own “lists” if you will, of fairly complex data types. These are stored in a repository in SQL Server. Along with your data is a lot of meta-data. Oslo also provides a query tool to easily get data back out of the repository, along with runtime components you can use with your favorite programming language. Or, because it’s all in SQL Server you can bypass Oslo runtimes and go directly into the SQL Server repository using traditional tools like ADO.NET or Linq To SQL.

So how does Oslo accomplish this? By providing several tools to us: M the programming language; Quadrant, the graphical tool; and the Repository itself. Lets take a brief look at each one.

M is a new programming language that has three components: MSchema, MGrammer, and MGraph. MSchema is used to define a new chunk of data, it is a representation of how you want the data stored. The product of an MSchema definition is directly translated into T-SQL as a Create Table statement and stored in the Repository.

MGrammer is used to create a translation between one layout of information and the schema created with MSchema. Let’s say you had created an MSchema definition for album names, artists, and ratings. Then let’s say you had an input file that looked something like:

The Thirteenth Hour by Midnight Syndicate rates 5 stars.

Greatest Tuba Hits of 1973 by The Tuba Dudes rates 1 star.

You could create a language template in MGrammer that looked for the words “by” and “rates” and divides up the input into the appropriate fields in your schema. Then run the input file through the MGrammer layout and you’ve now got all that data into a format known as MGraph.

MGraph is a tree like structure that represents the transformed data. If I understand it correctly, you take your data, run it through the DSL you setup with MGrammer and it produces an MGraph. This MGraph can then be loaded into a database schema created with MSchema, passed off to a calling routine, and more.

Quadrant is the tool used to look at data once it’s in the Repository. You can browse data, and create different representations of the data in a tool similar to what you see with Office. For example, you can render a table created by MSchema as a tree, as a grid, as a list, or even as a graph. You can use it to show relationships between MSchemas, and write queries with it. Quadrant could be used by developers or advanced users to create a template representation of the data that could be given to other users to do their data analysis.

Quadrant is also highly extensible and customizable. You can write your own modules to add to it. Although to do so you have to write them in Python, which I have to admit leaves me scratching my head. I don’t have anything against Python, but I would have to imagine most developers who work with Microsoft tools are much more familiar with VB.Net or C#. I have to wonder why they picked a language most Microsoft developers are unfamiliar with and would have to learn in order to extend the Quadrant tool.

The final piece of the puzzle I have mentioned several times, it’s the Repository. The Repository is a database that holds everything about your schemas and data. Currently Oslo only supports SQL Server as the database for a Repository. Interesting thing though, Microsoft will be distributing Oslo under the OSP (Open Specifications Promise). This means a third party vendor could develop a back-end Repository engine so that an Oslo Repository could be stored in something like MySQL or Oracle.

Finally I will mention Oslo will be callable from your favorite .Net language, indeed the Runtime components as they are called are a critical piece of Oslo. There are .Net APIs which can be used to get and retrieve data from the Repository.

Microsoft is serious about Oslo. In a Channel 9 interview about M, I believe it was Chris Anderson who said there were 180 folks working on the Oslo team. Even though it’s early in its development, I get the strong impression Oslo will be a key factor in future of Microsoft development technologies, which is why I intend to invest time now to get up and running with it.

For more information about Oslo, and to download the current Oslo SDK CTP, see the site at http://msdn.microsoft.com/oslo .

Second Chances – The MSDN Developer Conference

If you are like me, you missed PDC this year, and are probably pretty bummed about it. Fortunately you do get second chances sometimes! Microsoft is hosting a series of developer conferences around the country called the MSDN Developer Conference. This is a one day event that highlights the best of the PDC presentations, put on by a mix of Microsoft employees and community leaders in the area where the conference is held. I’ll be attending the Atlanta event on December 16 2008, but there are events in Houston, Orlando, Chicago, and other areas beginning in December and running into February of next year. Be sure to check the site for more info.

There will be three tracks at the event, the new Azure Services Platform, Client and Presentation, and Tools Languages and Frameworks. There is a $99 attendance fee, but if you compare that to the cost of PDC that’s quite a bargain. There’s also going to be some cool swag, and attendance is limited so be sure to register today. 

PDC2008 – What’s in a name?

As many of you know, the Microsoft PDC (Public Deveopers Conference) 2008 took place last week. Lots of new announcements, and in a class move Microsoft has made all of the sessions available for download from their site.

However, navigating the site, as pretty as it is, and downloading all of the sessions can be a bit time consuming. One of my twitter friends, Luciano Guerche (@guercheLE ) has posted a series of blog posts for each day with quick hyperlinks to everything for faster download. He’s even done a post on how to bulk download using Firefox and DownThemAll.

PDC 2008 – Day 1 (46 matching sessions)

PDC 2008 – Day 2 (50 matching sessions)

PDC 2008 – Day 3 (60 matching sessions)

PDC 2008 – Day 4 (49 matching sessions)

How to download PDC Sessions using DownThemAll! Firefox addon

While this makes it much easer to download, my one complaint, regardless of where you download from, is knowing what you have. Microsoft simply named each file for it’s session number, leaving you with files such as PC47.wmv or BB08.wmv. Come on folks, what’s the point of having long file names if we’re not going to use them?

So I wrote a series of batch files that will rename each file, adding the name of the session after the session number. This will make it much easier to determine what you have when browsing with explorer or when watching on your Zune. Simply copy the text below into your favorite text editor and save them as one or more .bat files.


RenamePDC2008Day1.bat
rename TL02.wmv "TL02 Under the Hood- Advances in the .NET Type System.wmv"
rename TL47.wmv "TL47 Microsoft Visual Studio Team System- A Lap Around VSTS 2010.wmv"
rename BB08.wmv "BB08 Microsoft Dynamics CRM- The Appealing Business Application.wmv"
rename TL29.wmv "TL29 Live Labs Web Sandbox- Securing Mash-ups, Site Extensibility, and Gadgets.wmv"
rename BB53.wmv "BB53 SharePoint Online- Extending Your Service.wmv"
rename BB48.wmv "BB48 Microsoft Advertising Platform- A Lap Around.wmv"
rename BB11.wmv "BB11 Identity Roadmap for Software plus Services.wmv"
rename PC12.wmv "PC12 Deep Dive- The New Rendering Engine in Microsoft Internet Explorer 8.wmv"
rename ES16.wmv "ES16 A Lap Around Windows Azure.wmv"
rename TL46.wmv "TL46 Microsoft Visual C Sharp IDE- Tips and Tricks.wmv"
rename BB58.wmv "BB58 Case Study- Bridging On-Premises with the Cloud.wmv"
rename ES30.wmv "ES30 Datacenters and Resilient Services.wmv"
rename PC47.wmv "PC47 Microsoft Expression Blend- Tips and Tricks.wmv"
rename BB56.wmv "BB56 Showcase- Industry Leaders Moving to the Cloud.wmv"
rename BB49.wmv "BB49 Microsoft Advertising Platform- A Day in the Life of a Click.wmv"
rename TL40.wmv "TL40 Dublin and .NET Services- Extending On-Premises Applications to the Cloud.wmv"
rename PC53.wmv "PC53 Building High Performance JScript Applications.wmv"
rename PC17.wmv "PC17 Developing for Microsoft Surface.wmv"
rename PC20.wmv "PC20 ASP.NET 4.0 Roadmap.wmv"
rename BB42.wmv "BB42 Identity- Geneva Server and Framework Overview.wmv"
rename BB09.wmv "BB09 Microsoft Office Communications Server and Exchange- Platform Futures.wmv"
rename TL33.wmv "TL33 Managed Extensibility Framework- Overview.wmv"
rename TL19.wmv "TL19 Microsoft Visual Studio- Bringing out the Best in Multicore Systems.wmv"
rename TL30.wmv "TL30 Microsoft Sync Framework Advances.wmv"
rename TL16.wmv "TL16 The Future of C Sharp.wmv"
rename TL52.wmv "TL52 Team Foundation Server 2010- Cool New Features.wmv"
rename PC21.wmv "PC21 ASP.NET MVC- A New Framework for Building Web Applications.wmv"
rename PC27.wmv "PC27 Microsoft Silverlight, WPF and the Microsoft .NET Framework- Sharing Skills and Code.wmv"
rename PC59.wmv "PC59 Commerce Server Mojave- Overview.wmv"
rename TL25.wmv "TL25 Parallel Programming for Cplusplus Developers in the Next Version of Microsoft Visual Studio.wmv"
rename TL10.wmv "TL10 Deep Dive- Dynamic Languages in Microsoft .NET.wmv"
rename TL03.wmv "TL03 Microsoft Visual Studio Team System- Software Diagnostics and Quality for Services.wmv"
rename BB29.wmv "BB29 Identity- Connecting Active Directory to Microsoft Services.wmv"
rename BB01.wmv "BB01 A Lap Around the Azure Services Platform.wmv"
rename TL17.wmv "TL17 WF 4.0- A First Look.wmv"
rename TL48.wmv "TL48 Microsoft Visual Studio- Web Development Futures.wmv"
rename PC58.wmv "PC58 Framework Design Guidelines.wmv"
rename BB45.wmv "BB45 Office Communications Server 2007 R2- Enabling Unified Communications.wmv"
rename TL13.wmv "TL13 Microsoft Visual Cplusplus- 10 Is the New 6.wmv"
rename BB15.wmv "BB15 SQL Server- Database to Data Platform - Road from Server to Devices to the Cloud.wmv"
rename TL49.wmv "TL49 Microsoft .NET Framework- Overview and Applications for Babies.wmv"
rename TL45.wmv "TL45 Microsoft Visual Studio Team System Database Edition- Overview.wmv"
rename TL09.wmv "TL09 Agile Development with Microsoft Visual Studio.wmv"
rename ES32.wmv "ES32 Microsoft Application Virtualization 4.5.wmv"
rename TL44.wmv "TL44 IronRuby- The Right Language for the Right Job.wmv"
rename ES01.wmv "ES01 Developing and Deploying Your First Windows Azure Service.wmv"

 

RenamePDC2008Day2.bat
rename BB36.wmv "BB36 FAST- Building Search-Driven Portals with Microsoft Office SharePoint Server 2007 and Microsoft Silverlight.wmv"
rename TL39.wmv "TL39 Coding4Fun- Windows Presentation Foundation Animation, YouTube, iTunes, Twitter, and Nintendo's Wiimote.wmv"
rename TL54.wmv "TL54 Natural Interop with Silverlight, Office, and Python in Microsoft Visual C Sharp and Microsoft Visual Basic.wmv"
rename BB57.wmv "BB57 Microsoft Dynamics AX- Building Business Process into Your Application.wmv"
rename ES29.wmv "ES29 Showcase- Windows Azure Enables - Nsoftware and Full Armor.wmv"
rename PC44.wmv "PC44 Windows 7- Programming Sync Providers That Work Great with Windows.wmv"
rename TL59.wmv "TL59 Visual Studio Debugger Tips and Tricks.wmv"
rename BB52.wmv "BB52 SQL Services- Tips and Tricks for High-Throughput Data-Driven Applications.wmv"
rename BB41.wmv "BB41 Live Services- What I Learned Building My First Mesh Application.wmv"
rename TL38.wmv "TL38 WCF- Zen of Performance and Scale.wmv"
rename PC24.wmv "PC24 Windows 7- Welcome to the Windows 7 Desktop.wmv"
rename TL07.wmv "TL07 Developing Applications Using Data Services.wmv"
rename BB04.wmv "BB04 Live Services- A Lap around the Live Framework and Mesh Services.wmv"
rename TL14.wmv "TL14 Project Velocity- A First Look.wmv"
rename BB16.wmv "BB16 SQL Server 2008- Beyond Relational.wmv"
rename ES13.wmv "ES13 How to Develop Supercomputer Applications.wmv"
rename TL55.wmv "TL55 The Concurrency and Coordination Runtime and Decentralized Software Services Toolkit.wmv"
rename PC52.wmv "PC52 Windows 7- Writing World-Ready Applications.wmv"
rename BB07.wmv "BB07 SQL Server 2008- Developing Large Scale Web Applications and Services.wmv"
rename PC51.wmv "PC51 Windows 7- Best Practices for Developing for Windows Standard User.wmv"
rename ES04.wmv "ES04 Windows Azure- Essential Cloud Storage Services.wmv"
rename BB26.wmv "BB26 SQL Server 2008- Business Intelligence and Data Visualization.wmv"
rename PC46.wmv "PC46 WPF Roadmap.wmv"
rename TL23.wmv "TL23 A Lap around Oslo.wmv"
rename TL27.wmv "TL27 Oslo- The Language.wmv"
rename PC11.wmv "PC11 Microsoft Silverlight Futures- Building Business Focused Applications.wmv"
rename TL56.wmv "TL56 Project Velocity- Under the Hood.wmv"
rename PC50.wmv "PC50 Windows 7- Using Instrumentation and Diagnostics to Develop High Quality Software.wmv"
rename PC33.wmv "PC33 Microsoft Visual Studio- Easing ASP.NET Web Deployment.wmv"
rename PC10.wmv "PC10 Microsoft Silverlight 2 for Mobile- Developing for Mobile Devices.wmv"
rename BB43.wmv "BB43 Identity- Geneva Deep Dive.wmv"
rename BB20.wmv "BB20 Live Services- Making your Application More Social.wmv"
rename BB23.wmv "BB23 A Lap around SQL Services.wmv"
rename PC23.wmv "PC23 Windows 7- Integrate with the Windows 7 Desktop.wmv"
rename BB02.wmv "BB02 Architecture of the .NET Services.wmv"
rename TL20.wmv "TL20 Entity Framework Futures.wmv"
rename PC06.wmv "PC06 Deep Dive- Building an Optimized, Graphics-Intensive Application in Microsoft Silverlight.wmv"
rename ES10.wmv "ES10 Developing Solutions for Windows Server 2008 Hyper-V Using WMI.wmv"
rename PC31.wmv "PC31 ASP.NET and JQuery.wmv"
rename BB22.wmv "BB22 Identity- Live Identity Services Drilldown.wmv"
rename TL12.wmv "TL12 Future Directions for Microsoft Visual Basic.wmv"
rename BB40.wmv "BB40 Sync Framework- Enterprise Data in the Cloud and on Devices.wmv"
rename PC04.wmv "PC04 Windows 7- Writing Your Application to Shine on Modern Graphics Hardware.wmv"
rename ES11.wmv "ES11 Developing Connected Home Applications and Services for Windows Home Server.wmv"
rename TL50.wmv "TL50 Research- BAM, AjaxScope, and Doloto.wmv"
rename BB05.wmv "BB05 Live Services- Building Applications with the Live Framework.wmv"
rename ES20.wmv "ES20 Developing Applications for More Than 64 Logical Processors in Windows Server 2008 R2.wmv"
rename PC16.wmv "PC16 Windows 7- Empower users to find, visualize and organize their data with Libraries and the Explorer.wmv"
rename ES02.wmv "ES02 Windows Azure- Architecting and Managing Cloud Services.wmv"

 

RenamePDC2008Day3.bat
rename TL06.wmv "TL06 WCF 4.0- Building WCF Services with WF in Microsoft .NET 4.0.wmv"
rename BB19.wmv "BB19 Live Services- Live Framework Programming Model Architecture and Insights.wmv"
rename TL57.wmv "TL57 Panel- The Future of Programming Languages.wmv"
rename BB38.wmv "BB38 .NET Services- Connectivity, Messaging, Events, and Discovery with the Service Bus.wmv"
rename ES14.wmv "ES14 IIS 7.0 and Beyond- The Microsoft Web Platform Roadmap.wmv"
rename BB14.wmv "BB14 SQL Services- Futures.wmv"
rename ES12.wmv "ES12 Exposing Connected Home Services to the Internet via Windows Home Server.wmv"
rename ES31.wmv "ES31 Showcase- How HP Built their Magcloud Service on Windows Azure.wmv"
rename TL58.wmv "TL58 Research- Concurrency Analysis Platform and Tools for Finding Concurrency Bugs.wmv"
rename PC27.wmv "PC27-R Microsoft Silverlight, WPF and the Microsoft .NET Framework- Sharing Skills and Code [REPEAT].wmv"
rename PC25.wmv "PC25 Windows 7- The Sensor and Location Platform- Building Context-Aware Applications.wmv"
rename TL26.wmv "TL26 Parallel Programming for Managed Developers with the Next Version of Microsoft Visual Studio.wmv"
rename TL42.wmv "TL42 Microsoft SQL Server 2008- Powering MSDN.wmv"
rename PC48.wmv "PC48 Research- Designing the World Wide Telescope.wmv"
rename PC35.wmv "PC35 Silverlight Controls Roadmap.wmv"
rename TL61.wmv "TL61 Panel- The Future of Unit Testing.wmv"
rename ES25.wmv "ES25 Showcase- Windows Azure Enables Live Meeting.wmv"
rename TL37.wmv "TL37 Microsoft Visual Studio Team System- Leveraging Virtualization to Improve Code Quality with Team Lab.wmv"
rename TL60.wmv "TL60 Improving Code Quality with Code Analysis.wmv"
rename TL43.wmv "TL43 Microsoft XNA Game Studio- An Overview.wmv"
rename TL46-R.wmv "TL46-R Microsoft Visual C Sharp IDE- Tips and Tricks [REPEAT].wmv"
rename BB37.wmv "BB37 SQL Server 2008- Developing Secure Applications.wmv"
rename BB59.wmv "BB59 Behind the Scenes- How We Built a Multi-Enterprise Supply Chain Application.wmv"
rename PC22.wmv "PC22 Windows 7- Design Principles for Windows 7.wmv"
rename TL18.wmv "TL18 Oslo- Customizing and Extending the Visual Design Experience.wmv"
rename TL24.wmv "TL24 Improving .NET Application Performance and Scalability.wmv"
rename ES07.wmv "ES07 Windows Azure- Modeling Data for Efficient Access at Scale.wmv"
rename ES22.wmv "ES22 Extending Terminal Services and Hyper-V VDI in Windows 7.wmv"
rename PC18.wmv "PC18 Windows 7- Introducing Direct2D and DirectWrite.wmv"
rename TL22.wmv "TL22 Concurrency Runtime Deep Dive- How to Harvest Multicore Computing Resources.wmv"
rename PC39.wmv "PC39 Inside the Olympics- An Architecture and Development Review.wmv"
rename BB51.wmv "BB51 Live Services- Programming Live Services Using Non-Microsoft Technologies.wmv"
rename PC03.wmv "PC03 Windows 7- Developing Multi-touch Applications.wmv"
rename BB25.wmv "BB25 SQL Server 2008- New and Future T-SQL Programmability.wmv"
rename BB39.wmv "BB39 .NET Services- Logging, Diagnosing, and Troubleshooting Applications Running Live in the Cloud.wmv"
rename TL28.wmv "TL28 Oslo- Repository and Models.wmv"
rename BB06.wmv "BB06 Live Services- Mesh Services Architecture and Concepts.wmv"
rename PC40.wmv "PC40 SQL Server Compact- Embedding in Desktop and Device Applications.wmv"
rename BB18.wmv "BB18 Dublin- Hosting and Managing Workflows and Services in Windows Application Server.wmv"
rename BB24.wmv "BB24 SQL Server 2008- Deep Dive into Spatial Data.wmv"
rename PC43.wmv "PC43 Deep Dive- What's New with user32 and comctl32 in Win32.wmv"
rename TL08.wmv "TL08 Offline-Enabled Data Services and Desktop Applications.wmv"
rename BB55.wmv "BB55 .NET Services- Access Control In Microsoft .NET Services.wmv"
rename ES23.wmv "ES23 Windows 7- Optimizing Applications for Remote File Services over the WAN.wmv"
rename PC30.wmv "PC30 ASP.NET Dynamic Data.wmv"
rename PC55.wmv "PC55 Oomph- A Microformat Toolkit.wmv"
rename TL16.wmv "TL16-R The Future of C Sharp [REPEAT].wmv"
rename ES06.wmv "ES06 Developing with Microsoft .NET and ASP.NET for Server Core.wmv"
rename ES03.wmv "ES03 Windows Azure- Cloud Service Development Best Practices.wmv"
rename PC14.wmv "PC14 Windows 7- New Shell User Experience APIs.wmv"
rename BB30.wmv "BB30 Live Services- Building Mesh-Enabled Web Applications Using the Live Framework.wmv"
rename TL15.wmv "TL15 Architecture without Big Design Up Front.wmv"
rename BB32.wmv "BB32 Microsoft Dynamics CRM- Building Line-of-Business Applications.wmv"
rename ES15.wmv "ES15 Web Application Packaging and Deployment.wmv"
rename TL21.wmv "TL21 WF 4.0- Extending with Custom Activities.wmv"
rename TL33.wmv "TL33-R Managed Extensibility Framework- Overview [REPEAT].wmv"
rename PC56.wmv "PC56 Windows Embedded Quebec- Developing for Devices.wmv"
rename TL23.wmv "TL23-R A Lap around Oslo [REPEAT].wmv"
rename BB28.wmv "BB28 .NET Services- Access Control Service Drilldown.wmv"
rename PC54.wmv "PC54 Mono and .NET.wmv"


RenamePDC2008Day4.bat

rename TL04.wmv "TL04 Microsoft Visual Studio Team System Team Foundation Server- How We Use It at Microsoft.wmv"
rename BB31.wmv "BB31 Live Services- FeedSync and Mesh Synchronization Services.wmv"
rename BB09-R.wmv "BB09-R Microsoft Office Communications Server and Exchange- Platform Futures [REPEAT].wmv"
rename TL51.wmv "TL51 Research- Contract Checking and Automated Test Generation with Pex.wmv"
rename BB03.wmv "BB03 SQL Services - Under the Hood.wmv"
rename ES24.wmv "ES24 PowerShell- Creating Manageable Web Services.wmv"
rename PC02.wmv "PC02 Windows 7- Extending Battery Life with Energy Efficient Applications.wmv"
rename BB46.wmv "BB46 Exchange Web Services Managed API- Unified Communications Development for Exchange.wmv"
rename BB33.wmv "BB33 Dynamics Online- Building Business Applications with Commerce and Payment APIs.wmv"
rename BB13.wmv "BB13 SharePoint 2007- Creating SharePoint Applications with Visual Studio 2008.wmv"
rename PC01.wmv "PC01 Windows 7- Web Services in Native Code.wmv"
rename TL35.wmv "TL35 WCF- Developing RESTful Services.wmv"
rename SYMP01.wmv "SYMP01 Parallel Symposium- Addressing the Hard Problems with Concurrency.wmv"
rename SYMP04.wmv "SYMP04 Services Symposium- Expanding Applications to the Cloud.wmv"
rename TL36.wmv "TL36 Microsoft .NET Framework- Declarative Programming Using XAML.wmv"
rename ES19.wmv "ES19 Under the Hood- Inside the Windows Azure Hosting Environment.wmv"
rename PC49.wmv "PC49 Microsoft .NET Framework- CLR Futures.wmv"
rename PC34.wmv "PC34 Open XML Format SDK- Developing Open XML Solutions.wmv"
rename PC41.wmv "PC41 ASP.NET- Cache Extensibility.wmv"
rename TL32.wmv "TL32 Microsoft Visual Studio- Customizing and Extending the Development Environment.wmv"
rename PC42.wmv "PC42 Windows 7- Deploying Your Application with Windows Installer (MSI) and ClickOnce.wmv"
rename BB12.wmv "BB12 .NET Services- Messaging Services - Protocols, Protection, and How We Scale.wmv"
rename ES21.wmv "ES21 Windows 7 Presentation Virtualization- Graphics Remoting ( RDP) Today and Tomorrow.wmv"
rename BB35.wmv "BB35 Live Services- The Future of the Device Mesh.wmv"
rename PC26.wmv "PC26 Microsoft Visual Studio- Building Applications with MFC.wmv"
rename SYMP02.wmv "SYMP02 Parallel Symposium- Application Opportunities and Architectures.wmv"
rename SYMP05.wmv "SYMP05 Services Symposium- Enterprise Grade Cloud Applications.wmv"
rename PC29.wmv "PC29 Microsoft Silverlight 2- Control Model.wmv"
rename PC13.wmv "PC13 Windows 7- Building Great Audio Communications Applications.wmv"
rename BB34.wmv "BB34 Live Services- Notifications, Awareness, and Communications.wmv"
rename ES09.wmv "ES09 Enabling Test Automation Using Windows Server 2008 Hyper-V.wmv"
rename BB47.wmv "BB47 SharePoint 2007- Advanced Asynchronous Workflow Messaging.wmv"
rename TL34.wmv "TL34 Managed and Native Code Interoperability- Best Practices.wmv"
rename PC45.wmv "PC45 WPF- Data-centric Applications Using the DataGrid and Ribbon Controls.wmv"
rename PC05.wmv "PC05 Windows 7- Unlocking the GPU with Direct3D.wmv"
rename TL01.wmv "TL01 Office Business Applications- Enhanced Deployment.wmv"
rename BB54.wmv "BB54 Designing Your Application to Scale.wmv"
rename TL31.wmv "TL31 Oslo- Building Textual DSLs.wmv"
rename SYMP03.wmv "SYMP03 Parallel Symposium- Future of Parallel Computing.wmv"
rename SYMP06.wmv "SYMP06 Services Symposium- Cloud or No Cloud, the Laws of Physics Still Apply.wmv"
rename ES17.wmv "ES17 Windows Azure- Programming in the Cloud.wmv"
rename BB27.wmv "BB27 .NET Services- Orchestrating Services and Business Processes Using Cloud-Based Workflow.wmv"
rename PC07.wmv "PC07 WPF- Extensible BitmapEffects, Pixel Shaders, and WPF Graphics Futures.wmv"
rename BB10.wmv "BB10 Live Services- Deep Dive on Microsoft Virtual Earth.wmv"
rename PC19.wmv "PC19 Windows 7- Designing Efficient Background Processes.wmv"
rename BB44.wmv "BB44 Identity- Windows CardSpace Geneva Under the Hood.wmv"
rename PC15.wmv "PC15 Windows 7- Benefiting from Documents and Printing Convergence.wmv"
rename TL11.wmv "TL11 An Introduction to Microsoft F Sharp.wmv"
rename PC32.wmv "PC32 ASP.NET AJAX Futures.wmv"


Update – After I wrote this, I found @Jorriss (another twitter friend) post which essentially does the same thing as what I do above, only he uses some cool C# and reading the sessions names from the web, rather than the simple batch file approach I took above. Read his post then choose which solution best fits your needs.

Silverlight 2 to be Released October 14

Microsoft has just issued a press release announcing the release of Silverlight 2. This is fantastic news for web developers. Effective tomorrow, Tuesday October 14th users will be able to go to the Silverlight 2 site at http://www.microsoft.com/silverlight/ and download the new version.

Follow

Get every new post delivered to your Inbox.

Join 100 other followers