Français · Montreal, August 20, 2008 03:54 ET
 
   

.NET Rocks (DNR) has recorded a show at the DevTeach Toronto
Carl and Richard will host a panel discussion on The Future of .NET at the DevTeach developer conference in Toronto. Panelists: Ted Neward, Oren Eini, Scott Bellware.


List of sessions for our Montreal conference are completed at 98%


.NET Track

Building Powerful Office Applications with VSTO
Tim Huckaby - NET365 -> Evaluation
Building Powerful Office Applications the Easy Way with Visual Studio Tools for Office (VSTO)

This session focuses on the power and developer productivity of Visual Studio Tools for the Office System (VSTO). VSTO is a .NET Smart Client technology and this session will delve into the tips and tricks, positives and negatives when designing and building smart client applications with VSTO.

C# and F# in perfect harmony
Amanda Laucher - NET395 -> Evaluation
F# is Microsoft's attempt at going Functional. You've probably heard bits and pieces about it and determined that you will never be able to convince your company to make the switch. We'll walk through using F# in conjunction with the C# apps you are using now. One of the benefits of the CLR - easy interoperability. This session walks you through how to make that happen seamlessly.

Cloud computing part 1 (PDC session)
Yair Alan Griver - NET373 -> Evaluation
Cloud computing part 1 details will be posted after the PDC.

Cloud computing part 2 (PDC session)
Yair Alan Griver - NET374 -> Evaluation
Cloud computing part 2 details will be posted afther the PDC.

Customizing the Entity Data Model
Julia Lerman - NET455 -> Evaluation
The Entity Data Model's real power is in its ability to be customized to provide a data schema that YOU want to code and query against, not a schema that is fine tuned by a DBA for performance. If you've only looked at the initial model created by the EDM Wizard, you're bound to be surprised at how dramatically you can impact model. This session will teach you how to implement various types of inheritence, Entity Splitting, Abstract entities, complex types. You will also learn how to do some advanced mapping such as mapping associations as well as digging into the XML to take advantage of QueryViews and Defining Queries. Finally we'll take a look at mapping Stored Procedures in the Entity Data Model.

Deep Dive Into Entity Framework Object Services
Julia Lerman - NET466 -> Evaluation
The Entity Framework is much more than a drag and drop solution that you may see in Introductory session. There is a set of APIs that you can tap into to have very granular control of the entity objects in your applications. Object Services, which is encapsulated in the System.Data.Objects API is responsible for query processing, materializing objects from query results, managing the state and relationships of those objects, performing updates and so much more. This session drills into how the Object Services’ ObjectContext manages relationships and how you can control its behavior. We also look closely at change tracking, focusing on the challenges and solutions for dealing with data concurrency when moving objects across tiers in your enterprise applications. Knowing what to expect from these features and how to take control of them will empower you in your use of the Entity Framework and Entity Data Models in your applications.

Développer une IHM riche avec WPF (In French)
Frédéric SCHÄFER - NET377 -> Evaluation
Note: This session is presented in French

Développer une IHM riche et testable avec WPF en utilisant des design patterns

Dans le cadre du développement en direct d'une application de suivi de commandes, venez découvrir l'utilisation de WPF (Windows Presentation Foundation) pour développer des interfaces utilisateurs attrayantes. Nous vous montrerons comment mettre en œuvre les design patterns Model-View-ViewModel, Command et Application Controller pour structurer vos développements et rendre l'ensemble de vos applications testables.

Effective Use of System.AddIn
Kathleen Dollard - NET319 -> Evaluation
Your Application in Pieces – Effective Use of System.AddIn

System.AddIn is new feature in .NET 3.5 that lets you create local granules of your application (it has nothing to do with Visual Studio automation). These granules let you, or others with less trust, customize your application. For example, if some clients prefer to alter a set of calculations, you can offer that capability. Since add-ins run in a separate AppDomain, you offer this functionality without compromising the security and robustness of your application. A major challenge for add-ins is allowing for independent evolution of all parts of the system. System.AddIn supplies this flexibility through a relatively complex pipeline. You’ll learn how this pipeline works and how to shortcut the tedious process of creating the first version of your add-in by using the Microsoft supplied PipelineBuilder tool. You’ll walk through several versioning scenarios. Add-in systems can be prone to performance issues, and you’ll see many scenarios where System.AddIn is blazingly fast, as well as how to improve performance in a handful of difficult scenarios. With this firm understanding of System.AddIn, the talk returns to design – making pieces of your applications granular and designs that lend themselves to WCF wrappers should you later need to remote this functionality.

Entity Framework and LINQ (in French)
Frédéric SCHÄFER - NET381 -> Evaluation
Note: This session is presented in French.

Créer un modèle métier testé avec Entity Framework et manipuler des données avec LINQ

Dans le cadre du développement en direct d'une application de suivi de commandes, venez découvrir la création d'un modèle métier avec règles et tests via ADO.NET Entity Framework et son modèle conceptuel de données (EDM). Nous vous montrerons également comment LINQ simplifie grandement la manipulation de collections d'objets en mémoire (LINQ to Objects) et de documents XML (LINQ to XML).

Entity Framework et adapter l'IHM (In French)
Fabrice MARGUERIE - NET392 -> Evaluation
Note: Duo with Frédéric Schäfer in French

Persister ses objets avec Entity Framework et adapter l'IHM en conséquence

Dans le cadre du développement en direct d'une application de suivi de commandes, venez découvrir l'utilisation d'ADO.NET Entity Framework comme outil de mapping objet-relationnel pour persister un modèle métier. Ce sera l'occasion de voir LINQ utilisé pour requêter une base de données (LINQ to Entities). Nous vous montrerons également comment le passage d'un prototype utilisant des données locales à une application utilisant une base de données nécessite des adaptations sur l'IHM.

Fun with Programming
Carl Franklin - NET297 -> Evaluation
In this session the inimitable Carl Franklin demonstrates what happens when programmers have too much time on their hands. He plays his baby grand piano, in Connecticut, through the Internet using a home-made MIDI library and Sockets. You'll also see how some surprisingly odd devices can be used as input controllers for your applications. It's a guaranteed good time!

Implementing the Entity Framework in Existing App.
Kevin McNeish - NET347 -> Evaluation
Implementing the Entity Framework in Existing Applications

Many .NET developers have existing .NET applications with an ADO.NET 2.0 data access layer. This session shows how you can best leverage Microsoft’s Entity Framework without completely rewriting your data access layer or deeply impacting your existing applications.

Integrating WPF & WCF into Your Applications
Tim Huckaby - NET358 -> Evaluation
Integrating WPF & WCF into Your Office Business Applications

This session will highlight how the Windows Presentation Foundation (WPF) and the Windows Communications Foundation (WCF) can be leveraged in applications built with Visual Studio Tools for the Office System (VSTO).

Learning the Entity Framework
John TBA - NET286 -> Evaluation
Most .NET database applications out there use ADO.NET to access and manipulate data, and most of them have a data-access layer built on top of ADO.NET to abstract out many of the details related to data-access that can get in the way of business logic. In this session we’ll introduce the ADO.NET Entity Framework, a high-level data library that pushes up the level of abstraction application developers need to work at when dealing with data in databases. We’ll discuss how the system supports conceptual modeling, the use of the object services layer to do object-relational mapping, and how great integration with LINQ (Language Integrated Query) brings new levels of productivity to the data-access development space.

LINQ to SQL Sucks!
Guy Barrette - NET299 -> Evaluation
LINQ to SQL Sucks! Now that I have you attention, the real session’s title is “The challenges of using LINQ to SQL in layered apps” and no, LINQ to SQL doesn’t suck. With the release of the .NET Framework 3.5, Microsoft has introduced LINQ to SQL, a data access technique for relational data stored in SQL Server databases. However, using this new API in layered applications or service applications (WCF) can be a problem since LINQ to SQL creates strong bonds between the presentation layer and the data access layer. In this presentation, you’ll see how to overcome these problems and how to use LINQ to SQL in enterprise applications.

Nouveautés des langages C#3.0 & VB9.0 (In French)
Fabrice MARGUERIE - NET397 -> Evaluation
Note: This session is presented in French.

De .NET 2.0 à LINQ, les nouveautés des langages C# 3.0 et VB 9.0

LINQ apporte une petite révolution dans les développements d'applications .NET. La principale force de cette technologie est qu'elle permet d'accéder à plusieurs types de données grâce à un langage de requêtage unifié, et ce, directement en C# ou VB. Mais au delà de cet avantage, LINQ représente une vraie évolution des langages C# et VB.

Venez découvrir et comprendre, dans une session à but pédagogique et très dynamique, basée sur un exemple de code, comment passer à C# 3.0, VB 9.0 et LINQ, et comment passer d'un code impératif à un code déclaratif, plus concis, et plus expressif.

Refactoring with Generics
Kathleen Dollard - NET341 -> Evaluation
Generics open up new opportunities to increase the robustness of your code, improve its performance, and significantly reduce the total amount of code you write. After a brief introduction to generic syntax, Kathleen will show you how using generics improves the quality of your code. You’ll see how easy it is to shift your current collections to generic collections and learn about new features such as robust sorts, finds, and filters across collections. You’ll learn how to write your own generic methods and classes. Finally you’ll see how to leverage the spectrum of generic possibilities in a business object hierarchy that reduces the total lines of code by about 50%! You’ll walk out of this talk understanding how to use generics to improve your own applications.

Silverlight distribuée avec WCF (In French)
Fabrice MARGUERIE - NET393 -> Evaluation
Note: Duo with Frédéric Schäfer in French

Développer une application Silverlight distribuée avec WCF

Dans le cadre du développement en direct d'une application de suivi de commandes, venez découvrir l'utilisation de WCF (Windows Communication Foundation) pour distribuer les couches applicatives. Nous vous montrerons également comment l'utilisation de Silverlight permet de créer des interfaces graphiques riches et proches de WPF mais pour le web.

Sockets are Fundamental
Carl Franklin - NET292 -> Evaluation
Learn how to take full advantage of the TCP/IP stack in Windows using the Sockets support in the .NET Framework. Sockets are the lowest-level tool for sending and receiving data over a network. In this talk Carl shows you how to develop simple and powerful client applets and server applets that handle multiple clients using the .NET Asynchronous Model. Carl shares some great demos and great code for when the high-level communications frameworks are just too much.

Strategies for Moving Your VB6 App. to .NET
Beth Massi - NET294 -> Evaluation
Strategies for Moving Your VB6 Applications to .NET

Visual Basic (VB) 6 was used by millions of developers world-wide to build applications ranging from thousands to millions of lines of code representing significant organizational investments. The path from VB 6 to .NET has not always been clear, there is no one size fits all approach. We’ll cut to the chase, exploring the pros and cons of each option using real world examples. You will leave this session with the framework and tools to develop the right strategy for your organization to leverage your existing investments while taking advantage of the power and productivity the .NET Framework provides today and will provide going forward.

Taking Advantage of LINQ and XML in Office 2007
Beth Massi - NET364 -> Evaluation
Taking Advantage of LINQ and Open XML in Office 2007

The Microsoft Office 2007 suite of products are based on an open XML format called Open XML. In this session we’ll demonstrate how to use the Open XML SDK to make it easy to work with these new formats as well as show how to easily manipulate these document parts with LINQ.

Top 10 NET Open Source tools
Rod Paddock - NET300 -> Evaluation
The title says it all. This session will cover some of the best open source project for .NET developers. Unit testing, version control, control kits, AJAX tools and so on. This session will cover a plethora of open source .NET projects.

Top 10 Umbrellas
Francois Tanguay - NET493 -> Evaluation
Duo with Erik Renaud

Umbrella is an open source framework that fills the gap when using different .net technologies. We would like to show you 10 tricks that Umbrella uses in order for you to write less code and be more productive. It`s more than just code though, it`s also new patterns and new paradigms that will make you rethink the way you create software. Even if you are not using Umbrella on your current project, you will be able to take some ideas home with you. How far have you pushed the decorator pattern ? Have you ever used composites ? What about those things Umbrella calls “Extensions Points” ? We guarantee this session will inspire you.

What is Application Virtualization?
Daniel Nerenberg - NET222 -> Evaluation
What is Application Virtualization and how will it affect my apps?

Microsoft App-V (formerly Softgrid) is the latest paradigm in virtualization. IT provides an new way to manage the application lifecycle. This session will examine the application sequencing process, and provide insight for application developers who might see their application “virtualized” in the near future.

Workflow activities can be tested
Robert Angers - NET349 -> Evaluation
Workflows and workflow activities can be tested in a test harness <.b>

On of the many callenges of all programs is to properly test code before it reaches productions. While testing manually can work, it's usually not feasible if many iterations are necessary. In this session you will learn how to bring together the power of unit testing to the Workflow world. First we'll cover how setup your test harness and workflow runtime in order to test single activities. Then we'll see how to plugin or mock external events using the some of the built in features of the runtime and some mocking framework. Finally we'll examine a demo how to execute a full workflow in automated mode in order to test all execution paths.

WPF Development with Microsoft Expression Blend
Kevin McNeish - NET351 -> Evaluation
Visual Studio 2008 is missing important capabilities for developers creating WPF applications. If you are serious about WPF development, you do not want to miss this session which gives you a huge jump start on using the advanced features of Expression Blend that allow you to easily perform visual data binding, creation of control templates, resources and styles, implement animations, sound and video, and much more. You will learn how best to leverage the functionality of Visual Studio 2008 in conjunction with Expression Blend for the best designer/developer experience.

Writing Better Visual Basic Code With Refactor!
Jim Duffy - NET315 -> Evaluation
Refactoring is the process of revising complex, code making it easier to read and less costly to maintain, without changing its underlying behavior.


Web development

Advanced ASP.NET Server Control Development
Dominic Sevigny - NET326 -> Evaluation
ASP.NET est maintenant une plateforme de développement Web bien connue et beaucoup utilisée par l’ensemble des développeurs Web .NET de l’industrie. Cependant, mon travail de consultant m’a permis de me rendre compte que la plupart des développeurs ne poussent pas à la limite les fonctionnalités que propose celle-ci. Il est facile d’utiliser les contrôles de base mais qu’advient-il lorsque ceux-ci ne répondre pas à vos besoins? Je vous propose une session avancée sur le développement de contrôle serveur ASP.NET de façon à simplifier vos développements Web et ainsi utiliser cette technique de développement pour standardiser vos applications d’entreprise.

AJAX 4.0: Rich Internet Applications Come of Age
Don Kiely - NET422 -> Evaluation
The ASP.NET team at Microsoft just never sits still. They are enhancing the AJAX features of ASP.NET with great new stuff like client-side template rendering, declarative instantiation of behaviors and controls, a DataView control, markup extensions, and new bindings. Everything is in flux, but there are few parts of ASP.NET as exciting as what is coming down the road. During this session we’ll explore these new features as implemented in the current release and see how you can make your Web applications an even better experience for users. Microsoft’s plans for AJAX will blow your mind!

Ajaxing Your .NET Applications
Rod Paddock - NET342 -> Evaluation
Last Year Microsoft released a set of ASP.NET Ajax extensions. These extensions enable you to add Web 2.0 Style features to your ASP.NET Applications with little or no effort. In this session you will learn how to create new ASP.NET Ajax applications, how to incorporate Ajax into existing ASP.NET applications, what happens when you incorporate Ajax features into your web forms and overall how you can make your web forms smoother and more interactive. You will also learn how to incorporate the controls provided by the ASP.NET Ajax Control Toolkit.

ASP.NET Dynamic Data Web Sites
Don Kiely - NET325 -> Evaluation
Microsoft implemented a bunch of ASP.NET 3.5 enhancements as part of the service pack 1 to Visual Studio 2008 and .NET Framework 3.5. One of the most intriguing is ASP.NET Dynamic Data, a way to quickly build data-driven Web sites that use the LINQ to SQL and LINQ to Entities object models, without building pages manually. A dynamic data project provides the scaffolding views of your project’s data models, with template pages and user controls to let users interact with data, all built at runtime. During this session we’ll explore dynamic data, see how to build a surprisingly capable site almost without effort, and then take the site to higher levels of functionality and customization. This isn’t a technique you’ll use for every new Web site, but it can be amazingly productive for many kinds of sites.

Consuming REST-based data services
John TBA - NET354 -> Evaluation
Building and consuming REST-based data services for the Web

Data has become a first-class element of the web. It drives mashups and makes data-driven AJAX and Silverlight applications possible. The ADO.NET Data Services Framework enables developers to create services that expose data over a REST interface using industry standard formats and semantics such as JSON and AtomPub. This demo-centric session will delve into the ADO.NET Data Services Framework by example, explore the value proposition for this new technology and describe how the framework integrates with hosted services (Windows Live) in the cloud.

Effective Web Farm Session State Management
Joel Hébert - NET359 -> Evaluation
The pragmatics of Effective Web Farm Session State Management in ASP.NET

Handling ASP.NET session state effectively can become a challenge. There exists scalability, performance and architectural bottlenecks associated with the various options that are available. This said there are numerous techniques and topologies that have; been evolved, been developed, been adapted to best suit the web garden and web farm scenarios. Determining which option is best for your scenario is key as no technique is better than another ; rather it is simply best suited. In order to determine suitability we will converse and demonstrate the various elements each option and showcase the coding implementation of each of the options.

Enabling Partial Trust in ASP.NET applications
David Woods - NET344 -> Evaluation
It is very easy to minimize the attack surface of your application and therefore reducing what an attacker can do if they exploit a web application. This is done using code access security built-in to the .NET framework and is easier than one might think!

Exploring the AJAX Control Toolkit
Robert Boedigheimer - NET375 -> Evaluation
Discover how to add great new functionality to ASP.NET web sites using the AJAX Control Toolkit. Review the masked edit extender which allows the developer to specify a specific pattern that the input must match. This extends the TextBox control to display the mask to the user for better feedback about what is required for entry. See how the AlwaysVisibleControl extender can keep a control pinned to a specific area of the browser so that even when the user scrolls the content will be visible. Learn how the Accordian control can allow multiple areas with content with only one displayed at a particular time. These are just a handful of the controls available from the toolkit. Why live with dated user experiences in your ASP.NET web sites when these can enhance the site experience so easily?

From One Web Server to Two: Making the Leap
Richard Campbell - NET361 -> Evaluation
Every web application starts out on a single web server. And while we've been told over and over again that you can always move to multiple web servers, it's not as simple as that! This session digs into the details of what it takes to make that leap - all the changes needed to let your application function properly with more than one server. You'll learn about replicating your web application between two servers and how to keep the content in sync. The techniques and challenges of load balancing are explored. And you'll explore the critical challenge of moving to multiple servers - getting rid of affinity. There's more affinity than just the session object, but that is a key starting point. Moving to multiple servers isn't easy, but this session will give you the check list of what to do to be successful.

IE 8 and its Impact on Your Web Sites
Robert Boedigheimer - NET357 -> Evaluation
Internet Explorer 8 and its Impact on Your Web Sites

Do you need to get a web site setup quickly? Why code all the pages yourself when you can use the ASP.NET Dynamic Data to build the initial pages based on your data schema? This new feature creates the .aspx pages for you based on your data. The pages can be used directly, or you can customize the pages to add your own look and feel. You can augment the data model for the site to include information that can automatically create the necessary validation controls! Included are a set of Field Template controls that are user controls to edit particular types of data, these can be customized once and apply to all page templates used on the site. Don't start with nothing when you need to create a new site, take advantage of the ASP.NET Dynamic Data support to have a functional site very quickly and simply customize it to get a great site!

Implementing Virtual Earth in Your ASP.NET App.
Jim Duffy - NET312 -> Evaluation
Implementing Microsoft Virtual Earth in Your ASP.NET Applications

In this session attendees will learn how to add mapping capabilities to their ASP.NET applications utilizing Microsoft Virtual Earth. This demo intensive session will explain how to integrate and programmatically control the Microsoft Virtual Earth service. Topics covered include displaying a default map, displaying a specific map, how to zoom and pan, working with the navigation controls, adding custom controls, adding shapes and plotting specific points, importing data, finding locations, retrieve and display driving directions, working with 2D and 3D maps, selecting road, aerial or hybrid displays, working with map events, and working with bird's eye view images. From displaying sales hotspots to providing driving directions, if you've ever wanted to know how to add interactive mapping features and capabilities to your web applications this session is for you.

Intro to the ASP.NET MVC Framework
Markus Egger - NET278 -> Evaluation
In the past, “ASP.NET” and “Web Forms” were synonymous. ASP.NET developers lived in a web environment that mimicked windows development as much as possible. This approach made web development accessible, and this approach will remain important going forward. However, Web Forms do not cater to everyone’s needs. Web Forms are notoriously hard to test for instance. The ASP.NET MVC Framework provides an alternative to the Web Forms approach within the ASP.NET environment. It represents another tool in a web developer’s toolbox that should be brought out for certain scenarios. This session explores what the MVC Framework is, and when it should be used.

Load Testing ASP.NET Applications for Performance
Richard Campbell - NET332 -> Evaluation
Is the first time you’ve really tested your ASP.NET application under load when you put it into production? Don’t do it! This session digs into how you can test your ASP.NET application using Microsoft’s Web Application Stress Tool and Visual Studio 2005 for Software Testers. You’ll see what metrics to measure to determine the real performance of your application and how to effectively benchmark your application. Explore the trade-offs of performance and scalability to serve your entire user base effectively at peak and low load times. Finally, learn about how you can take the information generated from your tests to improve your ASP.NET application performance. The techniques taught in this session will help you keep your ASP.NET application performing its best as your application and users evolve.

Protecting web applications against injection atta
Nicole Calinoiu - NET369 -> Evaluation
With the recent increase in automated attacks against web applications, it is becoming increasingly important that web developers understand how to protect their applications against some of the most common attack types. This session is intended to equip ASP.NET developers with an understanding of common injection attacks (SQL injection, site defacement, and cross-site scripting) and the specific techniques that can be used in ASP.NET to protect web applications from injection attacks.

Silverlight 2.0 session (TBA)
Rob Zelt - NET388 -> Evaluation
The session details will be posted afther the PDC.

Silverlight 2.0 session (TBA)
Rob Zelt - NET387 -> Evaluation
The session details will be posted afther the PDC.

Using the Microsoft AJAX Library
Robert Boedigheimer - NET371 -> Evaluation
Did you know Microsoft has provided a client library that abstracts away differences in client Javascript libraries in browsers? The library extends Javascript to appear to support features like inheritance, provides additional, functionality for existing types, and provides a consistent event model. Learn how the library simplifies client development and shields the developer from browser idiosyncrasies. See how to invoke AJAX Page Methods and Web Services to contact the server from the client, and techniques to increase the security of such calls. Review how the AJAX Control Toolkit uses the AJAX Library, and how it can be used by non-ASP.NET web sites.


Silverlight 2.0 Track

Building Silverlight Controls
David J Kelley - SLV467 -> Evaluation
Designed primarily for Developers. This technical presentation walks through a number of senerios for building Silverlight Controls including user controls and custom panels. The usage of properties, dependency properties, events, reusability, and encapsulated control architecture is reviewed in detail. In the presentation we will build a custom chart control based on a user control and built custom panels and review dispatch timer and multi threading in the context of controls.

Comparing Silverlight to ASP.NET
D'Arcy Lussier - SLV301 -> Evaluation
With Silverlight, web developers now have a new option for delivering browser-based applications. But does Silverlight negate HTML-based web development? Should we put aside traditional web development for this new paradigm? In this session we’ll compare Siilverlight and ASP.NET, not to prove one as better than the other but to show why you might consider one over the other for your next web application.

Data Visualization with WPF and Silverlight 2.0
Tim Huckaby - SLV302 -> Evaluation
Building Data Visualization Applications with the Windows Presentation Foundation (WPF) & Silverlight 2.0

This session will be heavily demo focused to accentuate how the power of the Windows Presentation Foundation (WPF) and Silverlight 2.0 can be used to visualize data. WPF is the next-generation presentation sub-system for Windows. It provides developers and designers with a unified programming model for building rich Windows smart client user experiences that incorporate UI, media, and documents. WPF uses vector based graphics rendering, which results in better graphics and presentation for an application. WPF also has other features such as layout, styling, and data binding, which, when you mix with interactivity, enables scenarios such as interactive data visualization. When you put all this together, you have a unified API for various presentation components, such as 2D and 3D documents and declarative programming through XAML, which is a powerful platform for data visualization that can be used to really “light-up” you enterprise applications.

Designing Interfaces with Expression Blend
Markus Egger - SLV333 -> Evaluation
Silverlight and WPF (Windows Presentation Foundation) are powerful UI technologies, and XAML represents a fascinating new way of programming WPF and Silverlight. However, without tools, XAML gets tedious quickly, and a good designer is needed. Microsoft offers a whole set of such tools. This session focuses mostly on MS Expression Blend (used in combination with Visual Studio). This session provides an overview of the goals, features, and characteristics of this tool and shows how to create a small next-generation application using it. This session also shows developers how good looking interfaces can be created using a few simple and repeatable tricks.

Hacking Silverlight 2.0
David J Kelley - SLV469 -> Evaluation
Hacking Silverlight 2.0 for designers and developers

Designed for Designers and Developers. This engaging presentation gets the audience involved in bridging the gap between design teams and software development using Silverlight and the Silverlight toolablity story. The presentation is full of audience participation and skits that get audience members up out of their seats and excited about Silverlight. The basics of team work using Microsoft tools for design and development are used and the audience is shown some of the coolest Silverlight hacks that can make Silverlight applications really shine. With the “Coming out of the closet” skit the audience is shown sexy UI using Silverlight, learning about speed of development and why we care about Sexy engaging Web 2.0 experiences.

Silverlight 2 Controls: Data on Board
Dave Campbell - SLV355 -> Evaluation
Learn how to populate your Silverlight controls with data, and how WebServices are your friend. This will be done using LINQ and WCF webservices, in addition to more traditional code-behind and asmx.

Silverlight 2 Controls: Your Controls, Your Way
Dave Campbell - SLV389 -> Evaluation
Learn how to use the Parts and States model and VisualStateManager to your benefit in your environment. Starting with existing controls through modification using VS2008 and Blend to produce a Custom Control that is then consumed.

SilverLight 2.0 Achitectural Best Practices
David J Kelley - SLV421 -> Evaluation
Designed Developers and Architects or people wanting to understand Silverlight archtecture. This presentation startings with a detailed technical review of Silverlight control, application architecture and design patterns. Design patterns as applied to Silverlight application development and general best practices are reviewed in detail. The presentation includes learning from the trenchs of building Silverlight apps on a large scale including horror stories and ‘Anti-Patterns’ or things ‘not to do’ are reviewed.

Silverlight Development: Lessons from the Trenches
D'Arcy Lussier - SLV349 -> Evaluation
So what’s it like creating a line of business application using Silverlight? What are the differences in developing a Silverlight application compared to a Winform or ASP.NET based application? In this session I’ll share with you my experiences in creating a real-world Silverlight based application and what you should expect /look out for when developing with this exciting new technology.

This session will be heavily demo focused to accen
Laurent Duveau - SLV321 -> Evaluation
You've already heard a bit about Silverlight? You have some knowledge of this technology which is now available?

Come discover how to create a business oriented application: that means manipulate data and build a rich UI with Silverlight!

During this session I'll use Visual Studio 2008 and Expression Blend to build an application that retrieves SQL server data through a LINQ model and exposes it to Silverlight client via a WCF service. I’ll use a grid to display the data and asynchronously update the model as users edit the grid. Finally I will show you how to place the data in local cache on the client to optimize network traffic.

Turning on the Silverlight – A Silverlight Intro
Markus Egger - SLV201 -> Evaluation
Microsoft Silverlight is the latest generation of Microsoft UI technologies for web browser applications. It is based on (and a sub-set of) WPF (Windows Presentation Foundation). It enabled developers to create next-generation user interfaces in web browser applications that work not just on Windows systems, but other environments such as the Apple Mac or mobile devices. This is a radical departure from previous .NET development, which was limited to Windows systems. Silverlight applications enable developers to run .NET code on non-Windows Systems. This session also compares Silverlight to other technologies such as Flash. Attendees of this session will get a good feel for what it is like to develop real life applications in Silverlight.

User Controls, Customization, and Styling
Dave Campbell - SLV412 -> Evaluation
Silverlight 2 Controls: User Controls, Customization, and Styling

Get your Silverlight application Stylin’ with out-of-the box techniques for making your UI to not only look like it was all written by the same company, but also matching your corporate identity. This will be showing VS2008-only concepts, so no design knowledge or interest is necessary.


Agile Track

7 Principles that will change how you work
Joel Semeniuk - AGI272 -> Evaluation
A Journey from fat to Lean: 7 Principles that will change how you work

In this session we will explore Lean Software Development from end to end. You'll learn the key principles of Lean Software Development as well as some tools and practices you can take away that will translate these principles into agile practices that fit your unique environment.

Achieving Persistence Ignorance with NHibernate
James Kovacs - AGI223 -> Evaluation
Object-relational persistence can be very complex and middle-tier code is often dominated by persistence concerns. Your Customer class probably contains more code related to loading and saving customers to the database than it does actual business rules about customers. Wouldn't it be nice if you could remove all this persistence-related noise? This session examines why the concept of persistence ignorance is important and how to use NHibernate to build persistence ignorant domain models.

Adding automated tests to an existing codebase
Kyle Baley - AGI348 -> Evaluation
It may seem like heresy but there are actual real-live applications out there in the world that don't have unit tests! No, really! And I know it sounds crazy, but you could be brought on to one of these applications and be tasked with adding automated testing to them.

Rare as these circumstances may be, it'll help to be prepared for them. Because it won't be as fun as you are probably imagining right now. For example, how do you automate a test for a web form that connects to a database, displays a form, then posts that data back to the database?

In this session, we'll look at techniques for integrating tests into an existing codebase that has never had them before. When do you write tests for existing code? How do you test a mammoth method/class? How do you know if you aren't breaking anything else? For answers to all these questions and more, attend this session.

Advance usages of Inversion of Control containers
Oren Eini - AGI441 -> Evaluation
You already understand the concepts of Inversion of Control and Dependency Injection, now is the time to see how far we can make the IoC container works for us. This talk will focus on using an IoC container in complex scenarios. We will talk about generic decorator chains and generic specialization, contextful containers and IoC DSLs. These powerful concepts can greatly enhance your ability to respond to change in your application.

Agile Q&A with Dave Laribee & Friends
David Laribee - AGI169 -> Evaluation
Join Dave Laribee - Agilist and software entrepreneur - for an Agile talk on Agile. Challenge Dave and a rolling panel of Agile practitioners speaking at DevTeach to provide actionable answers about eXtreme Programming practices such as TDD/BDD, pair programming, continuous integration, and collective ownership. Have a question about Scrum or release planning? Need to know how to integrate QA into the Agile delivery model? Participants drive content by suggesting a list of topics, prioritizing as a group, an voting covered subjects as done as we fuse a fast-paced and rolling panel discussion with an XP-style planning game.

DevReach Daily Scrum!
Stephen Forte - AGI299 -> Evaluation
One of the most popular Agile project management and development methods, Scrum is starting to be adopted at major corporations and on very large projects. After an introduction to the basics of Scrum like: the Scrum Master, team, product owner, and burn down, and of course the daily Scrum, Stephen shows many real world applications of the methodology drawn from his own experience as a Scrum Master. Negotiating with the business, estimation, and team dynamics are all discussed as well as how to use Scrum in small organizations, large enterprise environments, and consulting environments. Stephen will also discuss using Scrum with virtual teams and even an offshoring environment. The session will finish with a large Q&A on best practices.

Done Done
Erik Renaud - AGI245 -> Evaluation
Come hear Erik & François talk about what it means to be finished. On traditional 3 year projects, everyone knows when it’s done. How do you define this on a agile project, when you never know when the client will stop asking for new functionality ? What do we need to think of on a daily basis ? How about for a sprint ? Maybe for a task ?

Développement piloté par les tests par la pratique
Frédéric SCHÄFER - AGI355 -> Evaluation
Note:This session will be presented in French.

Développement piloté par les tests (TDD) par la pratique

Durant cette session nous développerons un Mastermind en se basant sur la méthode TDD (Test Driven Development). Nous aurons ainsi l'occasion de répondre aux questions suivantes par la pratique :

  • Quels sont les avantages de cette méthode ?
  • Quels sont les bonnes pratiques et les aides mémoire qui m'aident à faire du TDD ?
  • Quand mes tests doivent ils évoluer ? Comment ?

Guerrilla Refactoring
Kyle Baley - AGI372 -> Evaluation
Greetings, comrades. Welcome to the resistance! Our quarry today is a shamefully designed application that grows fat with duplication and crusty with hard-codedness. It feeds on itself behind a shield of corporate deadlines, each one stricter than the last. The cowardly code mocks us with cries of "We don't have time! We don't have time!" while features are grafted onto the application haphazardly with no thought to future reform!

But fear not! We have studied our enemy and have altered our attack plan accordingly. No more frontal assaults. We must liberate the code in focused skirmishes from its bourgeois oppressors! Patiently, we shall advance, tightening our grip in an ever-widening net of unit tests as we hunt down bugs like the dogs they are!

So join me, brethren and sistren! With our allies, the Design Pattern Legionnaires and the Dependency Liberation Front, we will train you to take your rightful place in the movement toward a better world, where features are not divided into tasks that are meted out to the "database gal" and the "guy that does the UI because he has PhotoShop installed". Rather, they will be fully and utterly DEMOLISHED by fully armed, multi-functional, and domain-inspired programmers full of KNOWLEDGE AND FURY!!!1!!!

Viva La Revolucion!

Implementing a Brownfield Ecosystem
Kyle Baley - AGI395 -> Evaluation
Implementing a Brownfield Ecosystem: A Cultural Extravaganza!

So you missed Folklorama again, eh? Of course, you did. It's in Winnipeg. Well, fear not, coders! In this session, we'll throw so much culture at you, you'll think you're back in high school biology.

A very important aspect of Brownfield applications is shifting the culture of your team. This starts with your project's ecosystem. Many developers in Brownfield applications don't even realize how many hoops they jump through during the course of a day to do simple things like checking in code and building the application.

In this session, we'll implement a full-fledged ecosystem for a Brownfield application. Working from the perspective of a single developer in a team, we'll cover topics such as the structure of your version control system, your check-in process, automated builds, and continuous integration. In the process, we'll talk about common pain points and common areas of friction that we can overcome with a few simple tool choices and a couple of mindset tweaks.

I'll be getting by with a little help from my friends as we simulate a team environment using well-placed and impeccably groomed plants in the audience who will act as other developers in the team, some working with me, others not so much.

Object Relational Mapping
Oren Eini - AGI487 -> Evaluation
Object Relational Mapping += 2: More then just data <-> object

Object relational mapping are becoming only more popular, as people developing complex systems find that they need more than the tabular model to work with in their applications. A sophisticated ORM can do a lot more than merely get the data out of the database in object form, it can be a valuable assest in simplifying development and making things possible. In this session, you will see how you can utilize an ORM in untraditional ways to get an additional, better, approach to solving complex issues. Some of those ways include business rules, localization, state transitions, inversion of control, etc. All done via the ORM layer, and all can be used to drasticly simplify the complexity of the given scenarios.

ORM Fundamentals
Donald Belcham - AGI351 -> Evaluation
What is ORM (Object Relational Mapping) and what does it have to do with your applications? Come to this session to find out! We'll explain what ORM is meant to do, and go over the available tools like Entity Framework and NHibernate. If you've ever wondered what all the buzz is about with ORM, this is the session for you!

Taming Software Dependencies with DI and IoC
James Kovacs - AGI267 -> Evaluation
Software inevitably contains dependencies. Dependencies between classes. Dependencies between layers. Dependencies with third-party libraries. How can concepts like dependency inversion, dependency injection, and inversion of control help you tame your software dependencies? Where does an inversion of control container, such as Castle Windsor, come into the picture and do you need one? Can Binsor help you achieve convention over configuration? This session answers all these questions and more...

TDD in a DbC World
Greg Young - AGI452 -> Evaluation
Design by Contract is slowly moving its way into the mainstream. Many wrongfully find Test Driven Development and Design by Contract to be in conflict with each other.

This session will familiarize the audience with some some basic concepts of Design by Contract and the use of a theorem prover for the static checking of contracts. Discussion will then look in more depth at how we can maintain a Test First mentality in a Contract First world.

TDD with Microsoft MVC
Kyle Baley - AGI389 -> Evaluation
So you’re interest is piqued by MVC. And maybe you’ve played with it a little, written some controllers, added some views. In this session, we’ll go deeper into the framework and see how it lends itself to Test-Driven Development. We’ll examine how it allows us to test in isolation much easier than with traditional web forms and implement basic functionality from the view all the way to the database.

The Straight (User) Story
David Laribee - AGI266 -> Evaluation
User stories are an effective means of expressing software requirements, but they're deceivingly simple and hard to get right. There's an art and science to user stories. This session focus on providing the knowledge necessary to either get started with stories or refine an existing practice. First, we'll cover the anatomy of a user story: what makes a good story; who's the story for; how do we apply estimates; how and when do we specify stories? Having a solid definition and understanding of what makes a good story, we'll dive into a brief discussion of how stories drive our developer testing and BDD efforts. We'll wrap up with a quick discussion of how stories are used to help plan releases and iterations.

Writing Domain Specific Languages in Boo
Oren Eini - AGI369 -> Evaluation
Domain Specific Langauge is not just the DSL SDK from Microsoft. A DSL can make working with the domain much easier, since you are capable of leveraging the domain concepts directly. The other alternative to a DSL is an XML file, and we all know how well declarative model can work when you need imperative concepts, just consider NAnt for a minute and you will see the issue. Usually, writing a DSL in .Net would be a complex issue, requiring writing a parser, interpreter, etc. Boo already handles all of that, and its open architecture means that it is very easy to extend it to express the concepts of the domain. This talk will show you how to build DSLs in Boo and how to utilize this power in your applications.


Software Architecture Track

Code Generation in 2008
Kathleen Dollard - ARC326 -> Evaluation
After decades of evolution code generation is ready for an overhaul. New potentials arise as our increasing understanding of code generation converges with new underlying techniques offered by .NET 3.0 and .NET 3.5. You’ll learn core code generation principles that transcend all code generation tools, including new metadata implications offered by entity framework tools Building on this you’ll see how code generation harnesses coordinate the explosion of code and the new opportunity offered by Windows Workflow and similar techniques. You’ll see how harnesses work across multiple template styles allowing a single programmer interface, with process details controlled at a higher level. Turning to the template details, you’ll see the reemergence of brute force code generation offered by .NET 3.5 techniques. Brute force code generation is code directly writing code. XML literals, LINQ and extension methods combine to offer entirely new possibilities for direct output templates. You’ll leave with a better overall understanding of code generation and how it fits into your unique development environment.

Command Query Separation
Greg Young - ARC427 -> Evaluation
Betrand Meyer introduced the concept of Command and Query separation to Design by Contract nearly 30 years ago. Command and Query separation need not only apply at a micro-level to our code but should be a key architectural theme in our systems.

This presentation after defining Command and Query separation as a theme, looks at a few common architectures and how we can improve them through the strong use of separation.

Domain-Driven Design Chalk Talk
Greg Young - ARC381 -> Evaluation
We as developers and designers face increasingly more difficult problem spaces. By creating models around these problems we can create better, more flexible, longer lasting, and further distilled solutions to these problems. Domain-Driven Design is a formalization of this process.

This talk introduces many of the basic patterns in Domain-Driven Design but instead of focusing on the patterns themselves it focuses on the interactions and intentions of the patterns. In other words, we will talk about "entities" for about 30 seconds before we get down and dirty on some real life problems and handle the tough stuff like determining aggregate boundaries and the roles of application services.

A novice should be able to take away something from this talk, but then again so should an expert.