200
Hyper-V: Tools to Build the Ultimate Virtual Test Network
Windows Server 2008 R2 and Hyper-V version 2.0 provide a powerful base upon which you can build a highly realistic, effective test bed for servers, clients, and networks. In this session, you’ll learn how to use the resources of a TechNet subscription, Windows Server 2008R2, Hyper-V, and a new, free sysinternals tool called Disk2vhd, to build the ultimate test or training environment. We’ll show you how to import existing virtual machines and export virtual hard disks. You’ll see how to take point-in-time snapshots, and to build snapshot hierarchies that allow you to move both backward and forward to specific points in the time. We’ll also demonstrate how to create a virtual machine from a running physical machine, and then import that VHD into Hyper-V. By the end of this session, you’ll have a solid understanding of the tools and techniques currently available for building a great virtual environment in Hyper-V.
Level: 200
Speaker: Matthew Hester
Topics: Architecture, Unit Testing
Unit Testing Patterns and Anti-Patterns
Trying to unit test your code but finding that you end up with brittle, hard-to-maintain unit tests that are taking more and more of your time to keep current as your production code evolves? Do you KNOW you should be writing tests, but just cannot find an efficient way to do so? Then this talk is for YOU! Effective unit testing is more art than science -- in this talk we'll look at both Patterns and Anti-Patterns for writing, organizing, and designing efficient, effective unit tests that help to ensure your tests continue to add value to your project throughout its evolution rather than becoming an anchor that weighs down your progress and impedes your speed! Learn both what to do and what NOT to do from someone who has been writing unit tests for over ten years! Attendees should have at least some familiarity with basic unit testing frameworks (using Asserts, etc.) and be comfortable with general C# language constructs.
Level: 200
Speaker: Steve Bohlen
Topics: Unit Testing
Taming Dependency Chaos with Inversion of Control Containers
If a little decomposition is good, then A LOT of decomposition is better right? Well, maybe not :) In this talk, we'll take a look at understanding the intent behind Dependency Injection, understand the value of following the Single Responsibility Principle in our OO designs, and investigate the trouble that blind adherence to this pattern can often cause in our projects. To solve these problems, we'll dig into the benefits of using an Inversion-of-Control (IoC) container, explore just what's really going on under the hood with these things, and understand patterns and anti-patterns for their use in our code. Attendees should possess good intermediate C# language skills and understand core OO design principles.
Level: 200
Speaker: Steve Bohlen
Topics: Architecture
What's Wrong with this Picture: Event & Error Logging
This session will discuss an implementation of global error / event logging in a Silverlight application. Including client side logging and offline support.
Level: 200
Speaker: Ian Lackey
Topics: Silverlight
ASP.NET Performance
It is one thing to know how to build an ASP.NET application and get everything working as you want. It is another thing to get it working well. As you build web applications today, you also need to make sure that the choices you make in the construction of the application also work well in regards to the overall performance of the application. As your web application takes on more user load, you have options in how you want to deal with the growth. The choices you have can be made either via the code of your application or via actual hardware changes. This lecture will cover a lot of different ground but all the items mentioned have a direct impact on the overall performance of your ASP.NET applications.
Level: 200
Speaker: Bill Evjen
Topics: ASP.NET
Developing SharePoint 2010 "Sandboxed" Applications
This session will provide approaches and best practices to creating SharePoint 2010 "Sandboxed" applications that will run in secure or multiple-tenancy environments.
Level: 200
Speaker: Kurt Rolland
Topics: .NET Framework
MVVM Unleashed
You’ve seen how to do MVVM. Now it’s time to learn why. In doing so, you will discover ways to unleash the MVVM pattern (and its associates) to truly turbo charge your development. Some of the topics we will discuss include: the origins of MVVM; identifying when MVVM is appropriate; and using MVVM to leverage the same codebase across multiple platforms among others.
Level: 200
Speaker: Michael Brown
Topics: .NET Framework, Architecture
MVC, Entity Framework, jQuery - Oh My!
See how these three development tools can be used to create great web sites!
Level: 200
Speaker: Jesse Phelps
Topics: .NET Framework, ASP.NET, Entity Framework
The Kinect API
The Kinect is a little marvel of technology that has been released to the masses. This session will delve into foundational concepts surrounding this little gadget and describe Microsoft’s Kinect API in a user friendly manner. Attendees will learn how to access the device’s depth, camera, and skeletal information to create novel user interfaces to their software.
Level: 200
Speaker: Seth Juarez
Topics: .NET Framework
Getting Func-y with C# and F#
Despite its genesis nearly 60 years ago, functional programming has only recently reemerged as a core technique in mainstream languages. This session will contrast the functional style with imperative and object-oriented programming and dive into real-world examples of how it can be used to solve common problems in C# and F#.
Level: 200
Speaker: Keith Dahlby
Topics: .NET Framework
Consuming Data From Many Platforms: The Benefits of OData
The amount of data stored today is growing at a rapid rate. However, data is only valuable if it is accessible and can be consumed by people and systems. OData is an open protocol for sharing data that is positioned to solve this problem. OData uses the standard HTTP protocol using REST principles to make data accessible and has huge industry momentum with rapid adoption growth. In this session, we will explore what OData is all about and how to expose relational and non-relational data as OData using WCF Data Services. We will then walkthrough developing apps to consume the OData feeds from multiple clients including mobile devices. Finally, we will take a look at how you can benefit from using Azure to publish your data with OData services.
Level: 200
Speaker: Eric Boyd
Topics: Azure & Cloud, WCF
Application Development with HTML5
HTML5 is the biggest and most powerful HTML specification to ever come out of the W3C. Its roots come from a proposal to extend HTML4 to make it easier for web developers to create web applications. With more and more browsers supporting HTML5, ECMAScript 5 and other web standards, developers now have a strong web platform they can use to create a new class of application that is more powerful and interactive than ever before. What's in HTML5 that lets us take our applications to the next level?
Level: 200
Speaker: Brandon Satrom
Topics: ASP.NET
.NET Reactive Extensions (Rx): Explained and Demonstrated
This presentation will provide attendees with an overview of the capabilities of the Reactive Extensions library for .NET. Through Reactive Extensions (Rx) developers can build powerful, asynchronous applications through an elegant use of observable collections. This talk may change the way .NET developers think about .NET events and writing asynchronous code.
Level: 200
Speaker: Kevin Grossnicklaus
Topics: .NET Framework
XRM: Not Your Mother's CRM Solution
Microsoft’s Dynamics CRM Platform has been steadily progressing into a robust application platform that offers a wealth of features provided to alleviate many headaches of everyday .NET programming. While originally geared towards Customer Relationship Management (CRM), it has since evolved into a more generic XRM, where “X” is a variable for “Any” Relationship Management. Providing OOTB features such as Security, Workflow, Reporting, UI generation, Data modeling, and MS Office Integration, XRM offers a number of advantages that make it a competitive option for Web-based development.
Level: 200
Speaker: Sheila Shahpari
Topics: .NET Framework
Custom MSBuild Tasks to Automate Your Project Development
In this session learn how to use MSBuild to automate simple things such as project deployment and packaging of your projects and solutions.
Level: 200
Speaker: Chris Hammond
Topics: Visual Studio
Maximizing SQL Server Insert Performance
SQL Server can handle the largest of databases. However, application architecture and design can unnecessarily limit potential performance. This session will demonstrate techniques to maximize performance of applications that need to sustain a rate of thousands of inserts per second.
Level: 200
Speaker: Dan Guzman
Topics: Database Development
Open Spaces: SQL Server with Dan and Kim
Bring your Microsoft SQL Server quandaries to this session. Dan and Kim have extensive experience ranging from highly transactional OLTP systems to large BI implementations and will be happy to help answer questions related to SQL Server performance, design and implementation.
Level: 200
Speaker: Dan Guzman
Topics: Database Development
Building Custom Build Events for Team Build Using Windows Workflow
Team Foundation Server rewrote the book on customizing build processes. Now Windows Workflow is being used for customizing build templates – to enable deployment scenarios and other custom actions, WinWF activities can help developers achieve a custom build process.
Level: 200
Speaker: Chris Kadel
Topics: Visual Studio
Going from Zero to 60 in One Session: Learn to Use PowerShell in One Sitting
Many know that PowerShell is a powerful scripting environment that can help server administrators through automation. Many developers fail to realize they could benefit from this environment too. This session will demonstrate some of the immense power available to developers and will provide enough information to allow .NET developers to walk away with the ability to code simple PowerShell scripts. The talk will wrap up with examples of using PowerShell with XML, SQL Server 2008 R2 and SharePoint to illustrate the abilities of the platform
Level: 200
Speaker: Robert Fischer
Customizing BlogEngine.NET 2.0
This year brings us a new version of BlogEngine.NET. WordPress is the big boy on the block, but if you want to stick with .NET, BlogEngine.NET is a great alternative. In this session you will quickly learn how download, setup and customize BlogEngine.NET 2. We will explore the various database options including SQL Server Compact. Then to truly customize your install we will create an HTML5 based theme complete with IE9 pinned site features, develop a custom control and widget, and create a custom extension. Finally we will review hosting options and a few SEO tweaks for IIS.
Level: 200
Speaker: Scott Kuhl
Topics: ASP.NET
IE 9 Pinned Sites
Get the most from your web sites for IE9 users. During this topic we will take an existing web site and add on features for IE pinning. We'll show you how to find, modify, create or purchase cheaply, high resolution favicons for the taskbar. We'll add thumbnail preview controls and jump lists that are both static and dynamic. We'll show you how to add notification indicators to the icon. And we'll add Pinify for jQuery integration.
Level: 200
Speaker: Scott Kuhl
Topics: ASP.NET
LINQ Extensions - Potential for Greatness
This session covers many of the extension methods delivered with LINQ and provides examples of how to leverage these methods to write leaner and faster code.
Level: 200
Speaker: Ralph Wheaton
Topics: .NET Framework
The ABC's of WCF
This session provides an overview of WCF and how it compares to web services. Topics include configuration and operation/data contracts, as well as writing and using the service.
Level: 200
Speaker: Ralph Wheaton
Topics: WCF
Building a Career in IT
This topic/session will outline a road map to benefit help IT professionals in building a successful career in software development.
Level: 200
Speaker: Michael Davis
Open Spaces: Security Q & A
Level: 200
Speaker: Jeff Ayers
Topics: Security
On Time Quality
This session provides 4 steps to achieving On Time Quality. 1. Identifying SW Requirements and Technology Risk. 2. Developing a Project Strategy and Roadmap. 3. Simple techniques for tracking and reporting progress. 4. Ensure quality handoffs anad deliverables. The techniques show how to deal with unexpected events so prevalent in today's development environment.
Level: 200
Speaker: Don Borcherding
Topics: Project Management
So You Wanna Build a Cube...
Owning Microsoft SQL Server and using its relational engine is a staple of many organizations. But owning SQL Server means you really own many other pieces of technology. One of those is SQL Server Analysis Services and having the ability to build multi-dimensional cubes to provide new analytics capabilities for your organization. The goal of this session is to provide an introduction to the cube building process and to help the audience take the foundational steps in delivering business intelligence – pushing the attendees to ‘take the leap’ and begin a new way of serving business users with information. Topics will include a comparison of relational and multi-dimensional data storage, data warehouse design, cube building, and related components that Analysis Services provides.
Level: 200
Speaker: Dean Furness
Topics: Database Development
Doing it Right: Building jQuery Plugins
jQuery is easily the most popular JavaScript framework for web, and with Microsoft’s continued backing – usage within .NET projects is high. So, you’re probably writing jQuery already. And if you’re writing jQuery and you’re not structuring your code as plugins – you’re just plain doing it wrong. This session will discuss how you can structure your jQuery code for safety, clean separation, better reusability and easier maintenance. We’ll be using several jQuery plugins which were created for the revamped DotNetNuke 6.0 interface as the case study.
Level: 200
Speaker: Ian Robinson
Topics: .NET Framework, ASP.NET, DotNetNuke
Embrace the Buzz: Building Modern Extensions for DotNetNuke
Do you love buzzwords and new shiny technologies? How about proven development methodologies and techniques? Well check me out: Unit Testing, Ajax, jQuery, Entity Framework, the Razor Scripting Language and WebFormsMVP. These are all either fundamentals or hot items within the development community and DNN is no exception. If you haven’t checked DNN out recently – come have a seat in this session and learn all about the modern tools available to the DotNetNuke developer. Fair warning: code will be slung at a fairly brisk pace.
Level: 200
Speaker: Ian Robinson
Topics: .NET Framework, ASP.NET, DotNetNuke, Entity Framework, Unit Testing
Architecting Applications the Microsoft Way
This session distills the best guidance from the Microsoft Patterns & Practices group to provide a hands-on approach to designing application architectures. Along the way, we’ll examine the key decisions that must be made when choosing our architectural styles and designing our layers and show how those decisions turn into real shippable code on a project.
Level: 200
Speaker: Clint Edmonson
Topics: .NET Framework, Architecture, Development Practices
JavaScript is not C#
You can’t swing a stick in the ASP.NET world without hitting some JavaScript. And even though both languages have curly braces, JavaScript is not C#. This presentation will cover common misconceptions about JavaScript, some hidden gotchas, and areas of danger for C# developers that expect JavaScript to work like C#.
Level: 200
Speaker: Brad Tutterow
Distributed Application Architecture with WCF
WCF can be a powerful framework for building distributed applications, which provide high performance and scalability by spreading their work across multiple systems. This session will describe and demonstrate a one such distributed application, built with WCF, that delegates processing of client requests to nodes. Along the way, we'll look at a simple api for clients, issues in sharing data between instances of a WCF service, and techniques for handling concurrency to squeeze the most out of available resources.
Level: 200
Speaker: Chris Smith
Topics: Architecture, WCF
Creating Extensible Applications with MEF
Within the .NET API Managed Extensibility Framework (MEF) provides a robust set of tools and functions for creating highly extensible applications. This session will provide an introduction to MEF, and will walk through basic concepts and a sample C# MEF application showing the full features. After this session attendees should be able to immediately apply the concepts learned.
Level: 200
Speaker: Mitchel Sellers
Topics: .NET Framework, Architecture
Open Spaces: Silverlight or HTML 5
This is an Open Spaces discussion about the 2 technologies and what you can do in them from a developer’s perspective.
Level: 200
Speaker: Craig Selbert
Topics: ASP.NET, Silverlight
SQL Server Denali: What's New for Developers
SQL Server .Next, code named “Denali,” will be a very big release. Attend this session to preview the new T-SQL features and functions that are on the way to a database near you.
Level: 200
Speaker: Kathi Kellenberger
Topics: Database Development
Deliver Cleaner Code with LINQ to Objects
Language INtegrated Query provides a concise API to greatly enhance the readability, reduce the amount, and improve the performance of your code. I cover the foundational constructs in .NET that set the foundation for LINQ, the query operators, and applying LINQ with Lambda expressions. I close with a quick spin around Parallel LINQ (PLINQ).
Level: 200
Speaker: Philip Japikse
Topics: .NET Framework
Implementing M-V-VM (Model-View-View Model) for WPF
Now you are writing WPF applications, and wondering – what is all this code in the code behind? Shouldn’t we be doing something different? Our cousins working with ASP.NET MVC don’t even have a code behind! The answer is YES – you should indeed be doing it differently. The M-V-VM pattern is the WPF adaptation of the Presentation Model pattern (first documented by Martin Fowler). I will show how the M-V-VM pattern is utilized for building SOLID WPF applications that are also testable.
Level: 200
Speaker: Philip Japikse
Topics: .NET Framework, Architecture, WPF
Windows Phone and Windows Azure, Better Together
Microsoft is all in when it comes to the mobile and cloud computing markets. Windows Phone and Windows Azure are currently two of their biggest initiatives. In this session you'll learn how to bring these two platforms together by building Windows Phone 7 applications that are backed by scalable cloud components hosted in Windows Azure. This demo-focused session will cover the end-to-end experience and address how to tackle issues such as authentication, storage, notification, and data synchronization.
Level: 200
Speaker: Adam Grocholski
Topics: Azure & Cloud, Windows Phone 7
Add Spatial Capabilities to Your .NET Apps
Due to the pervasiveness of GPS data, today’s developers are being asked to incorporate geospatial information into their data-driven applications, often with no budget for procuring GIS software. SQL Server 2008 provides rich spatial support by means of the new Geometry and Geography data types, but some enterprises may not use SQL Server, or may be slow to upgrade their database platforms until years after a product release. There is still hope! .NET developers without access to SQL Server 2008 can still incorporate these new data types into their applications – no SQL Server required! Not only will this solve an immediate need using Microsoft-supported technology, but also provides an upgrade path to using SQL Server 2008 for more advanced querying support. In addition, developers can also utilize Virtual Earth technology to provide an interactive geocoding and visualization story to their end users.
Level: 200
Speaker: Jason Follas
Topics: .NET Framework, Database Development
Exploit the XML Capabilities of SQL Server 2008
XML-based data is very prevalent in today's data world to the point that every database developer should know how to work with XML. Middle-tier translation of XML into relational data may be inflexible, and often leads to a loss of fidelity over time. One solution is to move the XML handling into the database itself in order to improve overall integration. SQL Server 2008 provides powerful XML processing features that allow easy access to data stored within XML without sacrificing any of the original fidelity.
Level: 200
Speaker: Jason Follas
Topics: Database Development
What is this WebMatrix Anyway?
With the way that technology is moving these days we have been bombarded with new tools and technologies, including the new WebMatrix package. In this session we will drill-down on the following items that are part of the package; Razor View Engine, IIS Express, SQL Server CE 4.0. During this session, Gus will demonstrate how the WebMatrix solution integrates with Visual Studio 2010, and how easily you can harness the power of this new package to create and easily build a web solution utilizing the included tools.
Level: 200
Speaker: Gus Emery
Topics: ASP.NET
NHibernate, FluentNHibernate and the Repository Pattern in 1 Hour or Less
In this session we will discuss ORMs, how and why they are becoming so popular, and how to use them effectively. I will show you how to set up NHibernate, use FluentNHibernate to create mappings in code and use the Repository pattern to create a robust, easily maintainable data access layer.
Level: 200
Speaker: Lee Brandt
Topics: .NET Framework, Architecture, Database Development, Development Practices
Behavior-Driven Development from the Trenches
There has been a lot of talk about test-driven, acceptance-test-driven, behavior-driven, anything-you-can-think-of-driven development lately. I will talk about behavior-driven development, how it relates to and encompasses some of these practices. I will show you the tools related to BDD, and how they help you code and design always with the customer's requirements in mind. Then I will actually show you how to get started with BDD on the .Net (specifically C#) platform. You should walk away from this session armed with enough information to get you started towards tested code that really nails what the customer needs.
Level: 200
Speaker: Lee Brandt
Topics: .NET Framework, Project Management, Unit Testing
What's New in Windows Phone "Mango"
This code-heavy presentation will focus on the new developer features of the Windows Phone 7.1 release (codename Mango). We’ll cover topics like Augmented Reality, Search Extensibility, many of the sensor APIs (like camera, gps, gyro, and compass), and, of course, multi-tasking. This presentation definitely assumes some knowledge of Silverlight or Windows Phone development, but you’ll learn plenty if this is your first exposure to the technologies too.
Level: 200
Speaker: Jeff Blankenburg
Topics: Silverlight, Windows Phone 7
