Category Archives: Microsoft

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.

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"


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"


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"


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 and download the new version.

Devs and Data Dudes Oh My!

Microsoft has made a big announcement regarding the next version of Visual Studio, Visual Studio 2010. Among other welcome news is that the Developer Edition and Database Editions of Team System will be merging into a single product. This is great news for folks like me (and I suspect many developers) who do a lot of work on both the database side as well as the application side.

The really great news though is that we don’t have to wait for 2010 to take advantage of this. As part of the announcement Microsoft said that effective October 1st, 2008 people who are MSDN Licensed for the 2008 (or 2005) version of Visual Studio Team System Developer will now have access to the Database version, and vice versa.

Database Edition has some great features. One of the ones I use the most is the database comparison tool. It lets me compare data in one database with another and get them into sync. This is great for keeping my local development database that sits on my computer identical with our production system.

I’m sure Database Edition will be new to many developers, so I’d like to mention to books that will help you get up and running with “Data Dude” (as Database Edition is often called).

masteringvstsde The first I have mentioned before, it is SQL MVP Andy Leonard’s Mastering Visual Studio Team System Database Edition Volume 1. This is a great book that focuses exclusively on the database edition. It’s a great resource and one of my favorite books on the subject, I can’t wait for the next volume to come out.





apressprovsts The other book is from APress, Pro Visual Studio Team System with Team Edition for Database Professionals. This book covers all aspects of VSTS, including the database tools. I think too often we make life harder on ourselves than we have to, if we took some time to learn the tools available to us, we could be much more productive. I’ve found this book to be a good aid to help me do just that.

MSDN Southern Fried Roadshow Comes To Alabama

bucketsmall Since there are so many events coming to Alabama, we decided to create an uber-post listing them all! MSDN Southern Fried Roadshow – September Edition The MSDN Southern Fried Roadshow is a half day free developer event with a southern flair, where you will learn about some of the latest developments in Microsoft technologies. For September, 2008 the Roadshow will be presented by Architect Evangelist Chad Brooks and Developer Evangelist Glen Gordon. Chad and Glen will be loading up a minivan with lots of goodies, and trying to hit 5 cities in 5 days. We’ll start the morning with a quick update on a variety of developer topics. The we’ll spend the rest of the morning exploring the impact that REST has had on solutions architecture and the Microsoft Technologies that you need to leverage it. Every attendee will receive an MS Press book (while supplies last) as well as pointers to tons of resources for further learning. Register today using the links below. We’re trying to finalize the last cities, so check back for more.

Join our Facebook group! Come join our Facebook group and stay up to date on our travel adventures. Chime in with questions or comments, or just cheer us on. Resources Stay tuned for links, downloads and more about the topics we’ll be presenting on. Agenda Microsoft Developer Update First, we will do a survey of the set of just-released products and how they will impact developers. See what’s new in Windows Server 2008: Hypervisor Technology, IIS7, and others. SQL 2008 is also packed with goodies for Developers; see the geospatial capabilities as well as the LINQ enhancements. And don’t forget the myriad of enhancements that come with the .Net Framework 3.5! REST with WCF, ADO.NET Data Services, and ASP.NET MVC The evolution of the web has seen many changes in patterns and standards for working with services. In a world of AJAX and other lightweight clients, not all services need to be implemented with the bells and whistles that SOAP and its many specifications allow for. And not all services need to be “transport-neutral”. An alternative architectural approach known as REST is well suited for many web-based scenarios. You can implement a RESTful architecture using a variety of current and future Microsoft technologies. But how do you decide which ones are the best choices for your scenarios? These sessions of technical deep dives helps to answer that question. We will examine implementing RESTful services with WCF 3.5, using ADO.NET Data Services, and introduce the ASP.NET MVC framework.


MSDN Southern Fried Roadshow MSDN Southern Fried Roadshow

My Dev Kit

There’s a new meme of sorts on the web, folks talking about the tools they use to develop with. I first saw it on Shawn Wildermuth’s blog. Shawn’s a great guy, he co-wrote most of those .Net MCTS/MCPD study guides from MS Press, and does a lot of training on Silverlight. So I thought I would keep the meme alive and talk about my own tools.


I do a lot on the road, so a laptop is essential. Mine’s getting up there in age, it’s an HP Pavillion dv8000. 2 gig ram, two internal 160 gig hard disks, 17 inch wide screen, single core 64 bit processor. It’s OK, but will hopefully get replaced next year with something with more cores and horsepower. I don’t care much for the keyboard, so I bought an external keyboard from Lenovo. It’s got a trackpoint so I don’t have to take my hands off the keyboard very often, and I use it with both my laptop and the Dell that work supplies me.

At home I use a larger wireless Microsoft mouse, on the road I use one of the smaller Microsoft travel mice. Also in my hardware list is an external Seagate 1TB drive. It hooks up via either firewire or USB, which is nice when my USB ports are all full.

Also in my list is my Zune. Yes my Zune. Cubical farms can get noisy at times, some good tunes on my Zune really help me to zone out and ignore my surroundings, focusing on my code. It’s also nice on my commute or daily walk, I listen to podcasts to keep up my technical knowledge. At night I hook it to my TV via my X-Box 360 to watch video podcasts, or sometimes I lay in bed before going to sleep and watch.

My final piece of hardware is my iPaq, it helps keep my appointments in line and my contacts, plus I have lots of e-books loaded on it for reading. I also used to use it for podcasts prior to getting my Zune.

Operating System and Dev Tools

My laptop currently runs 32 bit Vista Ultimate with Service Pack 1. Since it maxes out at 2 gig, and some 64 bit drivers were not available when Vista first arrived, I saw no benefit to 64 bit and took the path of least resistance. I have quite a few virtual machines in a variety of OS (Server 2008, 2003, XP, Vista, and Ubuntu) for testing, development, and running Beta versions of programs. For a web browser, I bounce back and forth between FireFox and IE7. For a while I was using FF most of the time, but IE7 was a big improvement over 6, and I’m now using them about 50/50. I suspect when IE8 comes out I may be using it more, but will have to see.

Like Shawn I also use Outlook 2007 for my e-mail client. It’s so much easier to organize my mail in Outlook than the g-mail host. But I also use the other features, such as the calendar and task list to help manage my life. I also use the rest of the Office suite for my daily tasks.

I use SnagIt for grabbing still screen captures, awesome tool, and Camtasia for video screen captures. I’m working on several video tutorials now, which is fun but time consuming (which also explains while my blog posts have been off of late). I use Paint.Net for basic photo / image editing. For creating my blog posts, I write them originally in Word 2007, then use Windows Live Writer to post them to my blog.

For quick access to my daily programs, I use one of two things. I really like Bayden Systems SlickRun. I also create a shortcut menu using a technique I blogged about in February.

Developer Tools

As you might expect I use both SQL Server Management Studio and Visual Studio 2008 Team System for day to day development. My top add-ins are Red-Gates SQL Prompt bundle for SSMS and CodeRush for Visual Studio. For a text editor, I absolutely love UltraEdit. Since I have blogged a lot about my dev tools in the past, I will keep this section short.

The Cloud

I’m on a couple of social networking sites, in addition to this blog:

· Twitter

· Posterous

· LinkedIn

· MSDN Code Gallery – One site for SQL Server Full Text Searching and one for SQL Server Compact Edition.

Passing the Baton

OK, your turn, let’s see your blog with your tools!

Deep Fried Debugging

I was listening to the current episode of Deep Fried Bytes and was reminded of an important lesson. In case you haven’t heard of it, Deep Fried Bytes is a relatively new but very good development podcast. I highly recommend the podcast, it’s become a favorite on my Zune.

The hosts, Keith and Woody were interviewing members of the support team. Yes, the guys who keep the actual website up and running. Keith Woody asked them about a really challenging problem they hand, and one of the team recounted the tale of a site that had been in production about a year, when performance suddenly tanked. Naturally they went through the standard debugging questions, including “has anything changed in the code?” Since nothing had, they said “oh, well can’t possibly be the code” and went on to look at other things.

They went on to look at other things before finally, in desperation, coming back to the code. It turned out there was a scalability bug that had been there since day one, buried deep in a stored procedure. The select statement inside the stored proc caused a table scan. Not so bad when there were few records but after being up for a year the number of records was bogging down the stored proc.

I have been on many projects where a developer insisted the bug couldn’t possibly be in the code as it’s been running “perfect” and no recent changes have been made. The lesson to learn is never to rule out anything when looking for bugs. True, you should start with the most likely suspects, if no changes have been made to code then the probabilities of it being code are low as compared to say a hardware issue, but don’t rule it out completely. Get the entire team working in parallel. Let the developers look at the code, the DBAs at the database, admins at the server and network, and so on. Through teamwork, and being open to all possibilities you can achieve some deep fried debugging.