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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

    Topics: ASP.NET, C#

  • 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

  • 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

  • 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