Français · Montreal, July 24, 2008 19:21 ET
 
   

.NET Rocks (DNR) will record 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.


The list of sessions was presented at our Toronto conference.


.NET 3.0/3.5 Track

.NET 3.5 Data Access Guidance .NET
Julia Lerman - NET310 -> Material Evaluation
With .NET 3.5, developers now have to choose between “classic” ADO.NET, LINQ to SQL and a number of options using Entity Framework. ADO.NET 3.5's Entity Framework presents us with a slew of new options for accessing data which you will learn about during the DevTeach conference. This session will compare and contrast DataSets & DataReaders, Object Services and Entity Client; Entity SQL, LINQ to Entities and LINQ to SQL providing guidance as to which methods are appropriate in particular scenarios. We will also examine this functionality with respect to both creating new solutions and plugging the Entity Framework into existing applications.

8 Things I Wish I Knew When I Graduated
Derek Hatchard - NET271 -> Material Evaluation
8 Things I Wish I Knew When I Graduated from Computer Science

In this relaxed session, Derek discusses 8 things he wishes he had known when he entered the world of professional software development. Attendees are encouraged to participate in the conversation and share their own lessons learned in the real world.

Advanced Entity Framework: EDM in the Enterprise
Julia Lerman - NET388 -> Material Evaluation
In this session, you will learn how to use the Entity Data Model in a variety of enterprise scenarios such as Web sites, SOA, and other multitier applications. The session will look at patterns for serializing and persisting data across tiers as well as scenarios that impact where your Entity Data Model fits into your architecture relative to the business layer and data layer. Additionally, the session will explore implementing the EDM into existing architectures vs. building new applications that use the Entity Data Model.

Building Reliability into Applications with WCF
Bruce Johnson - NET371 -> Material Evaluation
Building Reliability into Distributed Applications with WCF

Technological and tool advances have put distributed applications within the reach of most developers. But there are still challenges that need to be faced. How to deal with network failure. How to coordinate error handing across service boundaries. How to ensure operations can be completed in the face of system failure. Windows Communication Foundation provides the plumbing which allows you to easily address these and other issues related to application reliability. In this session, you will learn about how to build reliability into your distributed application using reliable sessions, queues and transaction in WCF.

Cross-platform Development with Mono
Geoff Norton - NET339 -> Evaluation
Participants will be introduced to Mono as a cross-platform framework for .NET development. We will review cross-platform technologies like System.Windows.Forms and Gtk# on Windows, Linux and the Mac. Alternative platform specific frameworks like Cocoa# and ObjC# for the Macintosh will be reviewed as well. Attendees will be walked through the use case for each of these technologies with functional samples.

Exceptions: The good, the Bad and the Ugly
Mauro Sant’Anna - NET374 -> Material Evaluation
Proper exception coding is a much forgotten topic in .NET programming. There's a shortage of good examples and documentation on the topic. Yet, proper exception handling is a very important issue in any software project, especially to develop a stable application. This presentation will show the reasons behind the creation of the exception mechanism and explain best practices in using them. The talk will be based mostly on actual C# examples rather than slides.

Generics: They’re not just about collections
Jean-Paul Boodhoo - NET419 -> Evaluation
In this session participants will be introduced to advanced usages of generics outside of the realm of just strongly typed collections. They will learn about how the focus of generics in the realm of collections has clouded the fact that generics can be used to introduce powerful capabilities into your application frameworks and solutions. Practical demonstrations will be utilized to showcase how developers can immediately start harnessing the power of generics in their applications today. People will walk away with new ideas as to how they can leverage generics in their own application development.

Intro to Entity Framework
Barry Gervin - NET307 -> Material Evaluation
This addition on top of .NET 3.5 takes LINQ to SQL to the next level with more options for enterprise scenarios. We will start with the MS vision and history behind the Entity Framework and then move on to practical mechanics. We will dig into the Entity Definition Model, examining database mapping patterns using the visual design tools. We’ll explain the differences between LINQ to SQL and the Entity Framework, understanding when to use each one. We will also review the Entity Query Language for building dynamic queries and providing data streaming support not available in LINQ to SQL.

Introduction to WCF
Rob Windsor - NET227 -> Material Evaluation
Windows Communication Foundation (WCF) is Microsoft’s next generation API for developing distributed applications and connected systems. It combines and extends the four distributed programming technologies (ASMX web services, remoting, message queuing, and COM+) used in previous versions of the framework. This session will provide a solid overview to WCF. It will describe the essential programming concepts that are core to the technology and will demonstrate how build, configure and consume simple services.

Language Integrated Query
Barry Gervin - NET306 -> Material Evaluation
Language Integrated Query is the most compelling new feature in Visual Studio 2008 (.NET 3.5, VB9, C#3.0). LINQ’s ability to dramatically simplify data access logic with LINQ 2 SQL and its uniform syntax to also manipulate object collections and XML with LINQ to XML combine together to change the way we write software on the .NET Platform. In this session we’ll explore the framework components and language syntax additions in C# 3.0 and VB 9.0 to enable LINQ without the need for changes in the core CLR. LINQ provides typical query operations for filtering, sorting, grouping transforming and partitioning data. We’ll examine how things work under the covers and explore debugging techniques so you can really understand what’s going on. We’ll delve into LINQ to SQL to see how updates can be persisted in the database, understanding transactions and optimistic concurrency concerns. We will also point out potential gotchas with features like query composition and delayed execution.

Leveraging the Amazon Platform (EC2 and S3)
Derek Hatchard - NET281 -> Material Evaluation
Amazon’s suite of web services has empowered a new generation of startups to build innovative solutions with the reliability and scalability of Amazon’s datacenters. In this session, Derek explores how developers can leverage the web service offerings from Amazon. Emphasis is on Amazon EC2 (Elastic Compute Cloud) and S3 (Simple Storage Service).

LINQ to everyting...
Beth Massi - NET346 -> Material Evaluation
In this session we will go over the major LINQ providers that shipped with Visual Studio 2008/.NET 3.5 and how to effectively use them in common business scenarios. We’ll go over LINQ to relational data using LINQ to DataSets and LINQ to SQL pointing out the benefits to each approach. We’ll also go over LINQ to XML and demonstrate some practical uses of creating, querying, transforming XML as well as how to take advantage of this technology with Office.

Practical Functional Programming in C#
Justin Lee - NET412 -> Material Evaluation
Lambda Expressions and Expression Trees are new language features in C# 3.0 which bring various functional programming techniques into C#. The reason for introducing functional programming techniques is to allow developers to describe what they want, rather than force them to describe how they want to do it. This is essential and adds a secondary level of abstraction, leaving the “how” up to the framework designers to implement and allowing the developers to concentrate on the “what” of the problem. This allows framework designers to add new techniques like concurrency without creating too many changes. This talk will show how to make use of Lambda Expressions to write better descriptive code that shows the intent of the code rather than the logic behind the code; how refactoring your current code to use lambda expressions and the new extension methods within the framework can result in code that is more terse and descriptive.

Visual Studio 2008 IDE : Grand tour of the new fea
Guy Barrette - NET248 -> Material Evaluation
In this session, Guy Barrette will take you to a grand tour of some of the coolest new features found in Visual Studio 2008 IDE. Be advised that this session will focus on the IDE and the tooling and that Windows and Web development will be covered. So what are some of the new Visual Studio 2008 cool features? Project compatibility with VS 2005; targeting a specific .NET Framework version; WF, WCF and WPF integrated designers; workflow enabled services; SQL Server Compact Edition integration; local database cache; enhanced CSS support; enhanced JavaScript support and debugging.

What's New in Visual Basic 9.0
Beth Massi - NET209 -> Material Evaluation
Visual Basic is evolving in dramatic ways to help people be more productive when developing enterprise, data-aware applications. The next version of Visual Basic (included with Visual Studio 2008) includes several new language elements, the most significant of these being Language Integrated Query (LINQ). LINQ allows access and manipulation of all kinds of data using SQL-like syntax. This session will show you the major additions to the language through a series of demonstrations. The topics covered will include type inference, anonymous types, lambda expressions, XML literals, and LINQ itself.

What's New in Visual C++ 2008
Kate Gregory - NET239 -> Material Evaluation
This session will demonstrate the new features added to Visual C++ 2008. Support for Vista includes simpler manifest generation. See how to view high quality Vista icons in the resource editor, use the Class Designer to visualize C++ classes, and reduce build time with a multiprocessor build switch and managed incremental builds. Explore the new additions to MFC including support for a Ribbon interface, and for managed developers discover the new STL/CLR template library and the marshaling library. The new commitment to both native and managed C++ from Microsoft means that your C++ applications can have a new lease on life. Make sure you learn how to be most productive in the new world.

XML LINQing in the Real World
Paul D. Sheriff - NET368 -> Material Evaluation
LINQ technology in .NET 3.5 has some great hooks into XML that make using XML documents a breeze. This seminar will explore how you will put this technology to work in your applications. Besides the obvious advantages of using LINQ to iterate over XML data you can also use it to create and process XML documents. One great way you can use XML is in prototyping. In this seminar you will see how to use LINQ and XML to create faster prototypes for your customers.


ASP.NET Track

Ajaxing Your .NET Applications
Rod Paddock - NET340 -> Material 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.

Almost Instant Web Site with DotNetNuke
Paul Scarlett - NET258 -> Material Evaluation
DotNetNuke is an Open Source ASP.NET framework for web site creation. During this session, attendees will see how the DotNetNuke Framework facilitates the creation of fully functioning web sites, like the Toronto Code Camp web site, in less than 30 minutes. The session will demonstrate the creation of a DotNetNuke site from the ground up including software installation, database configuration, site customization, and skinning. Specific focus will be given to some of the issues that can trip up the first time users of DotNetNuke Framework.

ASP.NET MVC Framework Submersion
Jeffrey Palermo - NET328 -> Material Evaluation
The move from ASP 3.0 to ASP.Net was a very dramatic move, and it forced developers to learn a completely new way for building web applications on Windows servers. From Web projects with v1.1 to websites in v2.0 and then web application projects in v2.0+ , working with ASP.Net can be a more difficult than necessary due to viewstate, postbacks and the control lifecycle for post-back eventing. Microsoft is providing an extension to ASP.NET to provide an easy way to implement the Model-View-Controller pattern using ASPX as a view engine (templating). With all presentation logic residing in the Controller, the View (ASPX) is left to concentrate on what it does best: rendering html. This new MVC framework is pluggable and testable and even allows for Controller classes to be created with your IoC container of choice. This presentation will include a primer on programming with the MVC pattern and will also cover unit testing controllers and creating controllers that use dependency injection.

Building Silverlight Applications using .NET #1
Yair Alan Griver - NET350 -> Evaluation
This session demonstrates building a rich interactive application using Silverlight and managed code. We'll cover how to use Visual Studio to create applications, how to create UI using XAML markup and code, how to build a custom control, how to retrieve data from a Web service, how to manipulate data with XML and LINQ, and how to use the available programming languages in Silverlight. This is the first talk of two and focuses on the front end and XAML development.

Building Silverlight Applications using .NET #2
Yair Alan Griver - NET360 -> Material Evaluation
This session demonstrates building a rich interactive application using Silverlight and managed code. We'll cover how to use Visual Studio to create applications, how to create UI using XAML markup and code, how to build a custom control, how to retrieve data from a Web service, how to manipulate data with XML and LINQ, and how to use the available programming languages in Silverlight. This is the second talk of two and focuses on calling into ASMX and WCF web services, LINQ usage and interoperability with javascript and the DOM.

CSS, Skins and Themes for the ASP.NET Developer
Paul D. Sheriff - NET210 -> Material Evaluation
Want to make your HTML efficient and easy to maintain? Cascading Styles Sheets (CSS) are the answer. Many developers use an HTML Table structure to layout their data input pages. While this works it is not the most efficient, and not very flexible. Learn how to use CSS to build input pages that can change without modifying every page and every table in your ASPX pages. Also learn the difference between Themes/Skins and CSS.

Data Controls in ASP.NET 3.5
Paul D. Sheriff - NET391 -> Material Evaluation
There are many ways to access data in ASP.NET 3.5. This seminar will take a look at using some of the new data controls in ASP.NET 3.5 namely the LinqDataSource, the ListView and the DataPager. In addition, you will take a look at some of the controls that you might not have had a chance to explore before. You will see examples of using the DataList control, the DetailsView and FormView controls.

Extending IIS7 with Managed Code
Derek Hatchard - NET392 -> Material Evaluation
The latest web server from Microsoft offers a number of ways for developers to add custom functionality for both request handling and site administration. This session shows how to extend IIS7 with a .NET module that can process non-ASPX dynamic content and how to build a custom management screen for that module in the new IIS7 management interface.

Load Testing ASP.NET Applications for Performance
Richard Campbell - NET355 -> Material 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.

Make Your Website Come Alive with Windows Live
Jean-Luc David - NET230 -> Material Evaluation
Windows Live is a online platform you can use to reach out to millions of users, and integrate rich controls into your Web applications. In this session, you'll get an overview of the developer features of Windows Live including custom maps, search, and messenger and learn how to easily add them to your websites.

Making ASP.NET Work How You Want It
D'Arcy Lussier - NET241 -> Evaluation
ASP.NET makes web development much easier than a few years ago, largely by abstracting away plumbing that we now never need to see.

But what if we don’t like the code being generated by our server controls? What if we want to alter how HTTP requests are handled upon reaching the web server? Do we have options in how we interact with the Microsoft AJAX framework without using the toolkit?

If you’ve ever wanted to get under the hood of ASP.NET and do some tweaking, then this is the session for you!

Microsoft Virtual Earth: Visualizing Your Data...
Jim Duffy - NET206 -> Material Evaluation
Visualizing Your Data From 1,000 Feet to 30,000 Feet With Microsoft Virtual Earth

In this session attendees will learn how to extend their ASP.NET applications by adding geographic data visualization capabilities using 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 specific map based on longitude and latitude coordinates, how to zoom and pan, working with the navigation controls, adding custom controls, adding shapes and plotting specific points, importing GeoRSS data, geocoding addresses, retrieve and display driving directions, working with 2D and 3D maps, selecting road, aerial or hybrid displays, working with map events, and more. From displaying sales hotspots and analyzing data trends, to providing driving directions, if you've ever wanted to know how to add live interactive mapping features and capabilities to your web applications this session is for you.

Rapid (maintainable) web development with MonoRail
Oren Eini - NET260 -> Material Evaluation
If you're a fan of Ruby on Rails and want to see similar capabilities in .NET, or you're an ASP.NET developer looking for an easier way to do things, MonoRail will be irresistible once you find out what it can do for you. Strong support for Ajax makes writing buzzward compliant web applications a breeze. Utilization of the Model-View-Controller architecture and convention over configuration makes web development with MonoRail a pleasure. Free yourself from page-life cycle issues and viewstate worries, start working with MonoRail, where the framework works for you.

Top 10 NET Open Source tools
Rod Paddock - NET280 -> Material 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.

WCF for Web Developers
Jean-Luc David - NET270 -> Material Evaluation
The Windows Communication Foundation is a technology which integrates all of the Windows-based communication APIs into the "one ring to rule them all". In this session, you'll learn how to use the new features of WCF in .NET Framework 3.5 to build and enhance your rich Web applications. You'll learn how to build JavaScript Object Notation (JSON) based services which can be consumed by your AJAX applications. You'll also learn how to output and leverage other Web-based formats such as Plain Old XML (POX), ATOM and RSS.

Web Mashups with ADO.NET Data Services
Julia Lerman - NET381 -> Material Evaluation
ADO.NET Data Services, enable you to expose customized views of your data to clients through HTTP and REST, making it simple for consumers to use your data in mashups. Services built with ADO.NET Data Services offer consumers a common pattern of querying against a URI without having to learn specific operations for each individual service provider. In this session you will learn how to build an ADO.NET data service and how to control what data is exposed for reading or writing. On the client side, you will learn how to consume ADO.NET Data Services using .NET clients for Silverlight and ASP.NET AJAX clients, as well as consuming directly through Javascript, and even querying the services with LINQ. The session will also look at the ability to expose any class that implements IQueryable, even if it is not an Entity Framework EDM.

What's New in ASP.NET With Visual Studio 2008
Jim Duffy - NET203 -> Material Evaluation
What's New in ASP.NET Web Development With Visual Studio 2008

In this session attendees will learn how to take advantage of the many new features and capabilities added to Visual Studio 2008 for web developers.


Smart Client Track (WinForm and more)

.NET Windows Forms Tips and Tricks
Cathi Gero - NET298 -> Material Evaluation
This session demonstrates a variety of advanced techniques that you can leverage to build more powerful and robust Windows Forms applications. We'll cover how to take advantage of the user’s system tray to run your application. Then learn how to have your form act like Windows Messenger to provide flashing capabilities. Learn how to use extended providers to provide extra functionality for your controls. We will also explore ways to improve the look of your application by taking advantage of API calls where .NET does not provide built-in capabilities. We will look how you can use the System.Drawing classes to provide rich image capabilities like image mapping and image transitioning. Next, learn techniques to improve the performance of your application by loading data on-demand. We will explore the PropertyGrid control to provide an easy way to give users control of settings used and well as providing runtime builders. Finally, we will explore ways to use Virtual Earth in Windows Forms to add mapping capabilities to your applications. If you're creating Windows applications using .NET, you'll certainly find some new tips and tricks in this session!

ADO.NET Performance Tips, Tricks, and Strategies
Don Kiely - NET423 -> Material Evaluation
ADO.NET is by far and away Microsoft’s best data access technology to date. It provides powerful, flexible access to almost any kind of data store you can fantasize about using, implemented with all the benefits of the .NET Framework. But it is far too easy to use ADO.NET so that it is a serious drag on application performance and scalability, such as by passing around way too much data, passing data between application layers inefficiently, and abusing resources. During this PowerPoint-free session we’ll blow off the basics and explore the potential data access problems and as many techniques as we can cover in 75 minutes to make data access as blazingly performant as possible. We’ll focus on using ADO.NET with SQL Server 2005, but most of the techniques will apply to any data store.

Advanced Techniques for Deploying Smart Clients
Cathi Gero - NET324 -> Material Evaluation
Advanced Techniques for Deploying Smart Client Applications

Learn how to take advantage of the advanced features of ClickOnce. This session will explore how to create applications that use on-demand downloads of assemblies for efficient use of resources. We will take an in-depth look of the ClickOnce classes to add robust features to your applications for a richer user experience found in many of today’s programs. Learn advanced security techniques for ClickOnce by using authenticode certificates and other security settings to allow administrators to bypass user interactions to update applications. In Visual Studio 2008, further enhancements were made to allow ISV and Enterprise distributions. We will look at different scenarios that take advantage of changes. We will also dive into techniques to programmatically control how updates can be done via the menu, on-demand, and asynchronously. Then we will look at how to use the new ClickOnce data folder to store and retrieve information pertaining to the user. Lean how to automate the publishing process using MSBuild. Take advance of the new Reg-Free COM capabilities and how to customize you publishing page to best suit the needs of your users.

Building Interfaces with WPF, XAML, and .NET 3.5
Markus Egger - NET389 -> Material Evaluation
A Quantum Leap in UI Technology: Building Interfaces with WPF, XAML, and .NET 3.5

Microsoft is about to introduce a completely new way of building user interfaces: WPF. This technology is part of .NET 3.0 (the "managed Windows API") and was originally meant to be a Windows "Longhorn" technology. However, Microsoft has since made the decision to also make WPF and .NET 3.0 available for Windows XP generation systems, moving this technology much closer and making it much more applicable and significant at this point.

This session provides an introduction to WPF and explains concepts such as resolution independent UIs, new controls and display mechanisms, animations, "continuously rendered" UIs, compositional UIs, the unified approach to implementing different types of UIs (such as media integration), and much more. The session also discusses declarative UI programming with "XAML". In addition, the session also provides a real-life example based on some early work done for CoDe Magazine and how we are planning to use WPF for content presentation.

Building LOB Apps with WPF 3.5 and Silverlight 2
Rob Burke - NET377 -> Evaluation
End-to-End Rich Line-Of-Business Application Development with WPF 3.5 and Silverlight 2.

Learn how to build a complete line-of-business application in WPF 3.5 in a presentation that behaves more like an end-to-end demo. You’ll see how an understanding these rich APIs and the tools that are now available in the post-Mix08 era will enable developers and designers to build significantly richer user experiences, and maybe even save development time. We’ll share tips from the trenches for working with the tools, and wherever possible, keep an eye on how what we’re doing also applies to building Silverlight 2 web applications. Come and see the process end-to-end as we share tips and best practices!

Deploying Smart Client Apps Using ClickOnce
Cathi Gero - NET221 -> Material Evaluation
Deploying and Maintaining Smart Client Apps Using ClickOnce

Imagine all the benefits of the Web application deployment model brought to the Windows smart client applications. ClickOnce allows the deployment of Windows-based rich client apps by placing the application files on a Web or file server accessible to the client and providing the user with a link. This session covers deployment capabilities for online and offline application support, rolling back to previous versions of an application, listing an application in the Start Menu and control panel, .NET Framework redistribution, and zone-based debugging. Learn how to configure security to allow smart client applications to safely download and run.

PowerShell and Your Applications
Colin Bowern - NET278 -> Evaluation
Are you writing console applications to manage your business applications, or performing a lot of ad-hoc changes? Are your application administrators spending a lot of time on repetitive processes in your application? We’ll get hands on with examples on how to take your applications to the next level by providing an interface for your application services using Windows PowerShell. Your IT administrators will love you for it.

Strategies for Moving Your Microsoft VB6 to .NET
Beth Massi - NET254 -> Material Evaluation
Strategies for Moving Your Microsoft Visual Basic 6 Investments to .NET

Duo with Rob Windsor

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 .NET Framework 3.0 will provide going forward.

Understanding Layout and Styles in WPF
Markus Egger - NET387 -> Material Evaluation
The Windows Presentation Foundation (WPF) is entirely relying on styling technology. Even the simplest of controls (such as a button) relies on a default style that defines the control's layout and appearance. Developers can use styling to create user interfaces that are very powerful and look incredibly advanced. Styles can be used to completely alter the behavior of a control. For instance, styles can be used to turn a simple list box into a "radial selector dial".

This session teaches attendees the basics of styling and layout in WPF and then proceeds to more advanced topics such as personalization, animation, and complete behavioral and visual changes of WPF UI components.

Attendees should have a very basic understanding of what WPF is. However, this session only requires very rudimentary previous knowledge of the entire subject.

Using the Composite Application Block
Bruce Johnson - NET333 -> Material Evaluation
Using the Composite Application Block to ‘Mash Up’ Windows Forms Applications

Mash-ups in the Web world involve combining functionality from difference sources. In the Windows Forms world, the Composite UI Application Block (CAB) provides the infrastructure to let you combine application pieces in a similar manner. While providing a consistent user experience, CAB brings agility and interoperability to user interface elements. In this session, you will learn how to use CAB to easily create a sophisticated Windows application.

What’s New In VS 2008 and Compact Framework 3.5
Mark Arteaga - NET224 -> Evaluation
What’s New In Visual Studio 2008 and Compact Framework 3.5 for Mobile Developers

Are you new to mobile development? Are you a veteran to developing mobile applications but have not had a chance to use Visual Studio 2008? During this session we will see what’s new in Visual Studio 2008 and new tools available from a mobile developer’s perspective. We will also go through some of the new features available in .NET Compact Framework 3.5 like WCF and Compact LINQ. We will also take a look at what’s available in the Windows Mobile 6 SDKs and some APIs available for mobile developers.


Agile Track

Achieving Persistence Ignorance with NHibernate
James Kovacs - AGI355 -> Material 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.

Advanced usages of Inversion of Control containers
Oren Eini - AGI401 -> Material 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 and Friends
David Laribee - AGI145 -> Evaluation
Join Dave Laribee - Agilist and software entrepreneur - for an Agile talk on Agile. Challenge Dave and a panel of Agile experts 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 them, and voting a covered subjects done as we fuse a fast-paced and rolling panel discussion with an XP-style planning game.

Automated Database Evolution and Deployment
Owen Rogers - AGI269 -> Material Evaluation
Agile projects advocate the practice of incremental design, allowing a system’s design to evolve as requirements change. Evolving a database’s structure presents a challenge to incremental design due to the need to version changes and preserve data. Simple open source tools such as dbdeploy.net make this process significantly easier. Dbdeploy.net manages delta script files to assemble the right script to upgrade or rollback a database across development, test and production environments.

Behavior-Driven Development Installed
David Laribee - AGI277 -> Evaluation
It’s been said that BDD is TDD done right, but what does that really mean? In this introductory survey we'll take look at the one-two punch of User Stories and Behavior-Driven Development as a critical link in the Agile value chain. First, we’ll understand what makes a good user story and share techniques for authoring and managing them. We'll take a deep dive on writing some acceptance criteria and scenarios. Armed with this foundation, we'll examine how BDD is used to turn a story into working software and compare BDD to the more-established and better-known process of Test Driven Development. Some consideration will be given to tools such as NBehave, RSpec, Rhino Mocks and the AutoMockingContainer. If you're looking for specific examples and code, this is a session for you!

Building Zero Friction Development Environment
Oren Eini - AGI202 -> Evaluation
Development is a fun process, most of the time. But in any development environment, we have areas where we have friction points that we have to deal with. If it is the pain of having to add a column to the database, or taking three weeks in order to deploy to production. It doesn't have to be like this. Being conscious of those friction points and actively eliminating them is a key to creating sustainable development environment and keeping our software design from being corrupt by "quick fixes" or hacks.

Doing More with CruiseControl.NET and NAnt
Donald Belcham - AGI276 -> Material Evaluation
With more people using Continuous Integration there are more and more situations that people are trying to solve. This session will look at ways that you can use CCNet, nAnt and nAntContrib to solve problems like long running builds, assembly versioning, and automated deployment.

Domain Driven Design By Example
Jean-Paul Boodhoo - AGI444 -> Evaluation
In this session developers will be introduced to the concept of test driving out the functionality of a small piece of a domain model by utilizing test driven development and interface based programming. Along the way they will see how test driving out the domain model in isolation from other responsibilities will allow them to evolve the design of the code incrementally. They will also get introduced to some of the concepts and terminology with respect to the world of Domain Driven Design.

How to Make Scrum Really Work
Joel Semeniuk - AGI205 -> Evaluation
After a brief intro to scrum the speakers show how to make scrum work in the real world with examples and best practices. Specifically we will show you how to make scrum work on a team of 2 developers or 200 developers and in a corporate environment or a consulting environment. We will explore how to make scrum work with distribute teams within the same organization and in an outsourcing and offshore environment. Lastly we will dive into what tools in Visual Studio Team System, including Microsoft eScrum for TFS, will help you implement these best practices today.

A draw at the end of this session will be done by Sela Canada.
You can wind Digital Picture Keychain.

Introduction to Behaviour-Based Testing
Donald Belcham - AGI343 -> Material Evaluation
Unit testing is becoming a mainstream practice in the .NET development community and with it we are being presented with a number of different testing opportunities. This session will look at the theory behind behavior based testing. Using RhinoMocks we will also look at some design requirements and implementations of this type of testing.

Introduction to Test Driven Development
Roy Osherove - AGI101 -> Evaluation
We’ll introduce TDD for people who have never written a unit test. We’ll show NUnit, the TDD process, test naming guidelines and the main ideas and principles behind TDD.

OR/M += 2: More than Just Data <-> Object
Oren Eini - AGI421 -> Material Evaluation
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.

Planned Agility?!
David Laribee - AGI299 -> Evaluation
An Agile team values responding to change over following a plan. Does this mean that there’s no such thing as planning on an Agile project? Absolutely not. Planning, like design, is a continuous activity. In this session, we’ll cover the fundamental units of Agile planning: the User Story, the stand-up meeting, the iteration plan and retrospective, and the release plan. Priority will be given to sharing hard-fought tips about how to manage the various planning activities as we review each of these “check points” you’ll encounter in the course of a well run Agile project.

Recommended practices for Continuous Integration
Owen Rogers - AGI255 -> Material Evaluation
From the creator of CruiseControl.NET, this session distills over 5 years of experience setting up and scaling up numerous automated integration environments at different clients globally. This session covers recommended practices to leverage and anti-patterns to avoid in establishing an effective CI environment.

Taming Software Dependencies with DI and IoC
James Kovacs - AGI317 -> Material 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...

Techniques for Starting on Brownfield Projects
Donald Belcham - AGI333 -> Material Evaluation
During our careers as developers, we will work on code that is not greenfield and not legacy. You’ll start on projects that have been under development for some time, probably have sizable codebases, are working with newer technologies and may, or may not, have been released to testers, let alone production. Starting on projects like this has its own set of technical and professional problems. What is the most efficient way to get up to speed with the code? How do you approach trying to move the project to implement industry best practice without causing too big of a stir? This session will look at things that you, as “Joe Developer”, can do to make your transition smoother. We will also talk about how you can make incremental movement to improve the project’s ecosystem and practices.

Writing Domain Specific Languages in Boo
Oren Eini - AGI364 -> Material 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

AOP and IoC using Enterprise Library 4.0 and Unity
Francois Tanguay - ARC491 -> Material Evaluation
Duo with Erik Renaud

Everybody has heard about Aspect Oriented Programming (AOP); so let's get inspired by those ideas and inject policies into our applications using Enterprise Library. You'll never have to worry about duplicating, or forgetting to duplicate all that exception management code, not forgetting security, caching.... This method of programming will make your software even easier to develop, you'll finally be able to concentrate on business requirements.

Blackbelt configuration for new projects
Jeffrey Palermo - ARC439 -> Material Evaluation
Any architect knows the challenges of setting up configuration management for a new project. Architecture isn't just for the application. The manner in which source control, dependencies, and the Visual Studio solution is set up can have profound impacts on the productivity of the team. In this session, we'll set up a source control repository, a VS.Net solution and a build script to enable a team to move quickly on the project. We'll used advanced techniques to reduce friction while working with the code base on a day-to-day basis.

Busy .NET Developer's Guide to F#
Ted Neward - ARC367 -> Evaluation
F# represents Microsoft's entry into the functional programming world, and for many .NET developers it represents both an opportunity and a challenge. Opportunity, in that functional programming can make a whole range of tasks much, much easier; challenging, in that functional programming represents an entirely new way of looking at how to think about designing and writing .NET code. In this presentation, we'll examine the syntax of F#, see how it maps to the underlying CLR concepts, talk about how F# implements functional concepts without losing many of the benefits of object orientation, and finally, how it can be used to make the CLR developer's life much easier

Core WCF Patterns
Ted Neward - ARC321 -> Evaluation
There's a whole other enterprise development world out there, and they've been building enterprise systems for close to a decade now. As a result, the Java community has long had a collection of patterns by which to be guided when building enterprise systems, one of the most popular of which is Crupi, Alur and Malks' "Core J2EE Patterns". In this talk, we'll examine some of the popular J2EE enterprise design patterns, discover what the problem, context and consequences were for each, and discuss how they might relate to the world of Windows Communication Foundation and .NET.

DDDD, Unshackle Your Domain
Greg Young - ARC415 -> Evaluation
Dynamic Domain Driven Design,Unshackle Your Domain

Its time we re-think the RDBMS as the centerpiece of our applications. Tools like OR mappers while helping domains become the behavioral centers of our applications still force us to deal with an impedance mismatch that gives little benefit. This session looks at our current architectures and identifies new approaches for us to deal with these issues in a more scalable, reliable, and behaviorally centric manner.

Topics include :

  • How the OLTP RDBMS is currently failing us. Command and Query Separation.
  • Importance of the life cycles of objects.
  • Introduction of SLAs to the ubiquitous language.
  • Introduction of business value for prioritization to the ubiquitous language.

Effective Enterprise Library 4.0
Erik Renaud - ARC374 -> Material Evaluation
Duo with François Tanguay

Anybody can make a sample application; drag a control here, drag a database there, two lines of code and voila! But what happens when there is unexpected input? What happens if the wrong person clicks the button ? We will show you how to leverage Enterprise Library in your applications to make them robust and flexible. We guarantee you'll like these ideas so much, your team mates will be jealous when your application starts performing security checks and validate data entry in so little lines of codes. This session will treat the security and validation blocks.

Home-grown Production System Monitoring and Report
Owen Rogers - ARC324 -> Material Evaluation
Within most enterprises, development rarely has any visibility into the operation of their system in the production environment. Conversely, IT Operations has relatively little visibility into the failure modes of the system and have little ability to directly resolve problems when they arise. This session is about assembling an Operations Database to open a small window into the production environment for development to analyze the behaviour of the production system. This session demonstrates how to quickly assemble an operations database using log4net, LogParser, SQL Server SSIS and Reporting Services.

Object-Relational Mapping in the Microsoft World
Benjamin Day - ARC387 -> Material Evaluation
It’s coming. Some developers have pushed back against it for a long time and called it the domain of hacks and crazy people but it’s coming. Object-Relational Mapping – also known as ORM – has been viewed with passionate skepticism for years but with the LINQ to SQL and Entity Framework, Microsoft has started to publicly endorse this data access technique. In this talk, Ben will compare three of the major ORM solutions: LINQ to SQL, Entity Framework, and NHibernate. He’ll show their strong and weak points, and discuss how you should incorporate them in your n-tier software architecture. Along the way, Ben will show you how ORMs can help you to manage database schemas and why that actually makes unit testing easier plus demonstrate how to do some basic tasks like row auditing. When we’re done, you’ll have a good handle on ORM in the Microsoft world and hopefully agree that ORM is not just for hacks and crazy people.