Code Camp 4: Developers Gone Wild!

September 24/25, 2005

Microsoft New England District Office
201 Jones Road
Waltham
, Ma

Register

Call for Speakers

Currently Submitted Session Descriptions

The Code Camp is a community driven event. This list represents the current list of submitted sessions. Please keep an eye here as we get closer on the final agenda.

Smart Client

Level

Title

Description

Speaker

Type

300

An Introduction to the Information Bridge Framework

Information Bridge Framework is one of the coolest and most complex technologies to come from Microsoft in years.  This session will introduce you to IBF and its features.  Office automation is very much alive!  Several examples will be shown to illustrate the benefit of IBF solutions and the challenges of IBF development.

Mauro Cardarelli

Presentation

300

Integrating Outlook and SharePoint Using VSTO

 

This session will demonstrate how to create Smart Client solutions that integrate with SharePoint using Outlook and Visual Studio Tools for Office.  Demos will include contributing email into SharePoint, managing contacts, and synchronizing tasks.

Scott Jamison 

Presentation

300

Deploying Rich Windows Forms Applications Using “ClickOnce” and Microsoft Visual Studio 2005

This session will demonstrate several scenarios of “ClickOnce” deployment of Windows Smart Client applications.  See how easy it is to deploy your rich Windows client applications rapidly and securely, whether it be over the Internet or corporate Intranet.  Why settle for developing a Web application, and all the headaches that come with it, when you can develop a rich, responsive Windows interface that your users have come to expect, and deploy it rapidly, securely, and with less total cost!

George Wesolowski

Presentation

300

IssueVision in a .NET 2.0 World: Using IV to Jumpstart Building .NET 2.0 Smart Client Applications

IssueVision is a complete Smart Client application with full source available in both VB.NET and C# from Vertigo Software. It was created for DevDays 2004 to demonstrate best practices in building Smart Client applications in .NET 1.1. In this session we’ll discover after looking at both IssueVision and a.NET 2.0 Smart Client app based on IV that we can use many of the best practices found in IssueVision to jumpstart building real world .NET 2.0 Smart Client applications while enjoying the new productivity and framework enhancements of .NET 2.0.

Dave Burke

Presentation

300

Smart Clients with .NET 2.0

The Offline Application Block for .NET 1.1 represented a set of “packaged” components to address the challenges with developing Smart Client applications. With .NET 2.0 lots of new capabilities exist natively, as opposed to an “external” code block. This session will define the design challenges of Smart Client applications and how the features in .NET 2.0 differ from the Offline Application Block and Enterprise Library.

Raj Das

Presentation

300

WinForms Internals

Want to make a difference of your work? Hit the limitation of the visual designer? Many published books didn’t properly introduce OO approaches. And VS.NET didn’t provide a complete tool set. You probably need to take a peek of the.NET Framework source code when you design and implement. This session will show you how to get it and benefit from it

Frank Wu

Presentation

300

Using Asynchronous Operations on Windows Mobile 5.0

In this presentation we will see how to quickly display a startup form with a progress bar. Asynchronously initialize the form while updating the progress bar and other controls on the form.

Al Alper

Presentation

200

Using Delegates for Asynchronous Operations in Windows Applications

In this presentation we will see how to use a delegate to retrieve the result of a long running operation asynchronously. We will see three different methods for retrieving the results. First we will do some extra work and then wait for the result. Next we will poll to see when the result is done. Finally, we will use a callback to retrieve the result as soon as it is ready.

Al Alper

Presentation

400

Occasionally Connected Smart Clients?

Many developers assume wireless will be everywhere enabling applications to communicate to centrally located servers regardless of where the user is.  Any developer that has actually tried deploying connected applications knows that this is really just a dream of an alternate universe that simply frustrates users with reality.  Users want their applications to just work and their data to be available even if the network isn’t.  Custom applications require data and application updates to be constantly verified.  Users shouldn’t have to press a button or manually switch from local to remote modes.  In this session we’ll demonstrate how to build an Outlook 2003 style application that synchronizes data asynchronously when the network is available as well as checking for application updates. Using Visual Studio 2005 (Whidbey), we’ll cover how to use ClickOnce background sync API’s to constantly check for application updates so users don’t have to restart their application just to find out they have updates. We’ll cover synching technologies available using SQL Mobile for the Tablet PC and merge replication available for SQL Express as well as SQL Mobile.  Empower your users with Smart Client Applications that work where the user is, not where the network may be.

Sam Gentile

Presentation

200

Windows Mobile User Interface Development Tips and Tricks

For even the most experienced .NET developers, the Windows Mobile platform provides a number of challenges, especially when it comes to implementing an effective user interface.

 

In this presentation, you will learn some of the tips and tricks to designing effective and performance-oriented user interfaces for Pocket PC and Smartphone applications.

Don Sorcinelli

Presentation

200

Migrating Mobile Applications to the .NET Compact Framework 2.0 and Windows Mobile 5.0

The forthcoming release of Visual Studio 2005 and the .NET Compact Framework 2.0 provide Windows Mobile developers with a number of opportunities to enhance existing applications. With the benefits do come some challenges.

This presentation will focus on some of the top things you will need to consider as a developer migrating your applications to Windows Mobile 5.0, the .NET Compact Framework 2.0 and SQL Mobile.

Don Sorcinelli

Presentation

200

Leveraging the New State and Notification API in Windows Mobile 5.0

The new State and Notification API in Windows Mobile 5.0 and the .NET Compact Framework opens the door for many application feature enhancements. In this presentation, you will see the “hows” to utilizing this functionality, as well as some important “whys” for your Windows Mobile projects.

Don Sorcinelli

Presentation

200

XML And MS Office

With the new xml features in Office 2003 Microsoft has demonstrated that its commitment to this technology extends across the entire product line to include Office. In fact the native document format for Office 12 will be, as of this writing, xml, therefore anyone who wants to maintain a position at the lead in this area of development needs to become proficient in using xml in the context of Office solutions now, if not sooner. This chalk talk will be an open discussion of ways to output data in xml format, import from xml documents, create Office documents solely as xml from unrelated programs. The presenter will have numerous examples to discuss and demonstrate, but input and questions are strongly encouraged, so please bring them on.

Robert Holmes

Presentation

300

Office And Web Services

While seeming unrelated topics, Office and Web Services have many things in common, and there is great potential for the use of Web Services from within the Office suite of products.  There is an entire universe of resources and data that you can put to use in your spreadsheets, documents and databases. This presentation will explore the various ways that Office solutions can interact with web services to leverage the potential that is out there. There will be discussion of the various ways that Office can access web services, including via the CLR, and the Web Services Toolkit for Windows.

Robert Holmes

Presentation

300

InfoPath Solutions

The release of this new forms engine included in the latest release of Office, rebranded as The Office System, Microsoft has given developers a very powerful tool for departmental and small organizations to build practical solutions. The biggest hurdle to its use is the fact that 1) it is not new in terms both of concept and as a product, and 2) there is so much in there that it is hard to see where to start. This presentation will strive to overcome both issues. We will go through enough basics that anyone attending will be able to begin right away to building custom solutions using the tool that otherwise might have seemed much more work. We will discuss strengths and weaknesses, then highlight some potential uses.

Robert Holmes

Presentation

300

Visual Studio Tools for Office 2.0

In the upcoming release of .NET 2.0 there will be enhanced support for the Visual Studio Tools for Office extensions. As a sign of Microsoft’s expanding support for interaction of Office and .NET, in addition to coming out of the box, rather than as a separate product, there will also be support for creating templates for Excel. This presentation will show some practical examples of creating Office System projects in the .NET environment. We will also, briefly, explore some other opportunities for interoperability between Office and the .NET environment. There will be an effort made to accommodate some suggested ideas from the audience to demonstrate the ease with which one can create CLR based projects, so bring some ideas of your own that we can work on right after the presentation, if time does not permit during.

Robert Holmes

Presentation

Web Track

Level

Title

Description

Speaker

Type

300

Advanced Customizations of SharePoint Portal Server

How do you jazz up your SharePoint Portal Server deployment without writing a bunch of custom web parts?  This session will cover advanced uses of the native SharePoint web parts and template files.  It will provide several production deployment examples of extended SharePoint functionality.

Mauro Cardarelli

Presentation

300

Extending a SharePoint Team Site with Simple Workflow, Custom Event Handlers, and Custom Web Parts

This session will describe how MIT’s Peer Review Evaluation Process, a methodology for engineering design, was implemented on a SharePoint Team Site.

 

We’ll look at the creation of a simple work flow using custom document event handlers written in C#, the programmatic creation of lists, and the creation of custom web parts written in ASP.NET using C#.

 

Complete source code and instructions will be provided.

Chris Felknor

Presentation

300

Overview of WSE 3.0*

WSE 2.0 considerably simplified the development and deployment of secure Web services by enabling developers to add message level security to applications built on the principles of service-orientation and the emerging Web Services (WS-*) specifications. This session details the WSE 3.0 release which adds significant new functionality including, enabling the ASMX programming model over multiple transports (e.g. http, tcp), substantially improved security policy to enable common security messaging scenarios, MTOM for message attachments, interoperability with Indigo and conformance to the latest WS specifications. Based around the themes of Visual Studio 2005 integration, cross platform interoperability and standards support, WSE 3.0 release continues to provide a productive and easy to use platform for developing secure Web services today

Julie Lerman

Presentation

300

Programming with Virtual Earth

Virtual Earth is Microsoft’s next generation mapping, location and directions program. It is actually driven through Mappoint Web Services. Virtual Earth exposes most of its functionality through javascript and it is wholly undocumented. This talk will take a look at some of the basic functionality you can tap into from the server side and some of the less obvious tricks and traps you might run into when trying to contruct your own web application around Virtual Earth.

Julie Lerman

Presentation

200

SQL Server 2005 Native Web Service Support

SQL Server 2005 includes native support for Web Services. This session will examine this new capability, contrast SQL 2005 with SQL 2000 + SQLXML, and explore the business and technical scenarios where exposing Web services directly from the database might be appropriate.

Raj Das

Presentation

300

Windows Communications Foundation aka Indigo and Service Oriented Architecture (SOA)

The Windows Communications Foundation integrates the functionality found in ASP.NET Web Services, .NET Remoting, Enterprise Services, Web Service Enhancements, and  Message Queuing. Service Oriented Architecture (SOA) is an architectural style that enables business to quickly adapt and build software applications to meet changing customer needs.  This session will discuss how to build service-oriented applications with WCF and why it is an improvement over current Microsoft technologies.

Michael Stiefel

Presentation

 

Chalk Talk

Windows Communication Foundation aka Indigo unifies several different programming models that exist in .NET. Hence, one cannot arbitrarily apply the various classes, bindings, and contract types and expect optimal results.

 

This discussion/chalk talk focuses on how to use Indigo to solve practical problems and to demonstrate the flexibility that Indigo gives you in deploying your solutions.

Michael Stiefel

Chalk Talk

300

Advanced Server Controls and Web Parts with ASP.NET 2.0

Drill down on the new Web Parts infrastructure in ASP.NET 2.0. See how you can use Web Parts to build rich Web sites that enable end users to dynamically control the layout and component contents of pages. Learn how this will interoperate with SharePoint Products and Technologies

Patrick Hynds

Presentation

300

SMTP, MIME, and the System.Web.Mail namespace

This session will enable developers to fully leverage the System.Web.Mail namespace. It will incorporate a discussion of the SMTP protocol (RFC2821) and MIME 1.0 specification to improve development and deployment of email solutions using the .NET framework.

A.        Leveraging SMTP Protocol

a.         EHLO, AUTH, NOOP, MAIL, RCPT, DATA, QUIT commands

b.         Using Telnet and the SMTP protocol to test your SMTP environment.

c.         Using Microsoft SMTP Server

i.          Security issues

ii.          Using the Pickup directory

d.         SMTP Error code theory

e.         Analyzing SMTP-related exceptions

B.         MIME

a.         MIME structures

i.          Headers

ii.          Encodings

iii.         Boundaries

iv.         MIME-Parts

v.         Using Outlook Express & Notepad to analyze MIME messages.

b.         System.Web.Mail.MailMessage class

i.          Using the UrlContentLocation property

ii.          Using the UrlContentBase property

iii.         Creating custom headers with the Headers property

iv.         Limitations of the MailMessage class

c.         System.Web.Mail.MailAttachment

i.          Creating attachments

ii.          Multi-threading issues with attachments

iii.         Handling File-lock contention in the .NET Framework

d.         System.Web.Mail.SmtpMail

i.          Sending messages

ii.          Analyzing CDONTS Exceptions.

iii.         Limitations of the SmtpMail class

Marshall Rosenstein

Presentation

200

DotNetNuke – Deploying a DNN V 3 Site

DotNetNuke® is a free, Open Source, extensible content management system ideal for creating and maintaining professional websites. This session provides an introduction to DNN – it will leave you with the knowledge and resources to deploy a production DNN site! The following areas will be covered:

1)         highlights the out of the box DNN modules and skinning tools

2)         reviews the 3rd party Module offerings

3)         provides an overview of the installation process and some issues with ISP Hosters that support canned DNN installations.

4)         Quick tour of Custom Module Development

5)         Review of tools and resources for installing DNN, doing Site Administrator, and custom Module Development

6)         The production site walkspoiled.com/pgc will be used to highlight a number of these concepts

 

Jim Bonnie

Presentation

300

Intro to AJAX (asynchronous javascript and xml)

What is it? How does outlook web access or Google maps provide functionality usually found in a desktop application? Material and code samples will cover the front-end (dhtml), back-end (asp.net/web services), tools/libraries to get you started (ajax.net) and what to expect down the road (Studio 2005 and Atlas). In addition, there will be discussion of issues to watch out for and general best practices.

Andrew Babiec

 

Presentation

300

Asynchronous Operations in ASP.NET

In this presentation you will see how to use two different methods to execute a long running transaction in ASP.NET. We will request a document from a web service and return a page that is waiting for the resulting document. Using the first method, this page will automatically post back to the server at a predefined interval. The server will check for a result in the cache and return it if available. For the second method, we will use the new client callback functionality of ASP.NET 2.0 to poll for the result without reposting the page.

Al Alper

Presentation

300

Forms Authentication, Membership, Profile and Roles – What’s in VS.NET 2005 and What We Can Learn from Telligent’s Community Server

Microsoft has added features to VS.NET 2005 that enhance Forms Authentication, making it easier to build multi-user web applications and manage the users.  The primary components are Membership and Roles.  Telligent’s Community Server and DotNetNuke use back-ported versions of Membership to manage users in their environments.

 

We will look at what’s documented for Beta 2, what else can be found on the web and what we can learn by looking into Beta 2 and Telligent’s Community Server.  We will also look at the extensibility of these features.

Robert Goodearl

Presentation

Data Track

Level

Title

Description

Speaker

Type

300

Build a Business Intelligence Solution with SQL Server 2005

With the official launch of SQL Server 2005 nearing, there is a lot of buzz around the new BI tools.  This session will cover the new features of SQL Server 2005 that pertain to Business Intelligence. It will contain an overview of solution architecture changes associated with the new version of SQL Server as well as demonstrations of new product features

Mauro Cardarelli

Presentation

300

SMO for Developers (SQL Server Management Objects)

SMO is an object model used to build applications that manage SQL Server.

SQL Server Management Studio and Visual Studio 2005 are examples of applications that use SMO internally to manage SQL Server. SMO is part of the client side tools that come with SQL Server 2005.

 

SMO is often though of as a DBA tool, but in fact almost any SQL Server application can benefit from a custom management front end.

 

SMO makes it straightforward to do typical database management tasks using a .NET language. It presents SQL Server as a hierarchy of object starting with a Server object. For example here is the C# code to add a database to a server.

 

Server pluto5 = new Server("PLUTO5");

Database scratch = new Database(pluto5, "Scratch"); scratch.Create();

 

Notice that this code does not use an T-SQL, it just uses typical object oriented programming techniques. This is just the tip of the iceberg for SMO capabilities though; it can manage services, connections, create deployment scripts, and do many other things. This talk will be an introduction to SMO for application developers, its object model and some of it capabilities.

Dan Sullivan

Presentation

300

ADO.NET 2.0 and SQL Server 2005

There is a fantastic amount of integration between ADO.NET 2.0 and SQL Server 2005. Come to this session to learn about things like leveraging the SQL Server Service broker through Notification and ASP.NET Caching, using the Asynchronous Command object, understanding and using MARS, BulkCopy and more.

Julie Lerman

Presentation

300

An Overview of SQL Server 2005 T-SQL Enhancements

There has been plenty of marketing hype surrounding CLR and XML support in SQL Server 2005, but T-SQL is certainly not dead! On the contrary, it has undergone many enhancements for SQL Server 2005, and is more powerful than ever.

Ever needed to easily write a cross-tab report? Navigate an adjacency list hierarchy? Sequentially rank the rows within a set of data?
Return the surrogate keys generated during a multi-row INSERT?

Each of these scenarios, which were moderately challenging in SQL Server 2000, can be accomplished in SQL Server 2005 with ease.
Without using XML or the CLR!

Attendees should have a solid understanding of T-SQL for SQL Server 2000.
 

Adam Machanic

Presentation

300

Building a Reporting Environment

Building a flexible reporting environment with the Unified Dimensional model (Analysis Services and Reporting Services)

Raheel Retiwalla

Presentation

300

ETL Overview

Building ETL for the enterprise with Integration Services and SQL Server 2005

Raheel Retiwalla

Presentation

300

DB Maintenance

Have you ever wondered if you were doing all that you should to properly maintain your database? Are you positive that you are covering every aspect to ensure it is running properly and that the tasks are being done in the most efficient way?  If you have any doubt you should come to this session. We will explore each of the maintenance tasks that you as a DBA should be familiar with. We will discuss some of the tips & tricks you can use to make each process work well under a variety of conditions. We will cover maintenance tasks including DBCC's, Reindexing, Backups and more. This session pertains equally well to both SQL 2000 & 2005 and the differences will be addressed for each topic as we go along. The performance and integrity of your database starts with a solid maintenance routine make sure yours is doing what it should.

Andrew Kelly

Presentation

300

SQL Server 2005 DBCC – What’s new?

Do you know what actually happens when you run certain DBCC commands?  If not come see exactly what they do and find out what the differences are in SQL 2005.  We will cover the main 2005 DBCC commands and the replacements for some 2000 DBCC commands that are going away as well.  

Andrew Kelly

Presentation

300

Programming SQL Server 2005 with .Net

SQL Server 2005 opens up the opportunity to run .Net code right inside SQL Server Engine on a par with T-SQL.  This gives the programmer an expanded choice of programming language.  This presentation shows you how to write C# or VB.Net routines and execute them in SQL Server as one of the supported SQL object types:

 

           Stored Procedure

           Scalar or Table User-defined Function

           Trigger

           User-defined Aggregate

 

Each of these objects has its own requirements .Net code to work in SQL Server.  Included in the presentation are two key factors that must be accounted for in all SQL/.Net code:

 

           Using SQL Types and .Net Types

           Working with the SQL Server managed data provider

 

The presentation also touches on high level topics such as:

 

           When is it appropriate to use .Net code versus T-SQL

           A preliminary look at performance of .Net code.

Andrew Novick

Presentation

300

Programming and Using SQL Server 2005 User-Defined Types with .Net

SQL Server 2005’s CLR integration feature includes the ability to create user-defined types.  This is an exciting new capability for SQL Server. This presentation explores this new feature in depth including:

 

           Simple and complex types

           Type conversion issues

           Serialization issues

           Using User-Defined types in T-SQL

           Accessing User-Defined types via ADO.Net

 

The presentation also discusses how far to go in the complexity of user-defined types.  Should application objects be represented as SQL types? How about types with members that are also user-defined types?

Andrew Novick

Presentation

200

Writing Custom Extensions for SQL Server Reporting Services

SQL Server Reporting Services has quickly gained recognition as one of the major new players in the reporting world. Companies have praised its delivery and security benefits as well as its ease-of-use and pricing structure.

 

But, in order to get the most out of Reporting Services and meet your company’s specific reporting needs, report developers and DBAs can learn how to leverage custom extensions.

 

In this presentation, we will move past the traditional Reporting Services’ Report Server and Manager demonstrations by detailing the benefits and opportunities that can be gained by writing custom extensions for Reporting Services.

 

Four different types of extensions will be discussed: Data Processing, Delivery, Security and Rendering. Focus will be given to writing data processing and delivery, with code samples and an in-depth explanation of how they work.

 

The presentation will close with a discussion of how a third-party rendering extension works, including a real-world example of how reports can be created in Excel or Word and then rendered to native, full-featured Excel or Word formats. Through these demonstrations and code samples, you will see how custom extensions can add incredible flexibility to Reporting Services.

Matt Culmone

Presentation

300

SQL Server Security

This talk will demonstrate steps and techniques to insure a freshly installed SQL Server database is secure.  I will demonstrate best practices to permit client applications to access SQL Server securely and how to prevent SQL Injection. I will cover current security features in SQL Server 2000 as well as some upcoming security features in SQL Server 2005.

Robert Hurlbut

Presentation

400

Introducing System.Transactions in .NET 2.0

The.NET Framework 2.0 includes the System.Transactions namespace that enhances transactional support for managed code. This talk will discuss how System.Transactions can handle transactions without using other common practices such as deriving from a ServicedComponent, using interception, or using reflection. Designed to integrate with SQL Server 2005, System.Transactions supports the intelligent and automatic promotion of local lightweight transactions to fully distributed transactions. It also introduces a new class called LightweightTransactionManager, which is a faster alternative to using the DTC for local transactions. We'll walk through examples that modify the default transactional settings of the implicit local transaction and modify the isolation level, timeout period, and transaction's context, and more

Robert Hurlbut

Presentation

200

Improving the performance of your SQL 2000 database

Why is this so slow?  How can I get my data back quicker?  This session will go over a variety of troubleshooting techniques, strategies for optimizing your database, and ways to monitor ongoing performance.

Phil Denoncourt

 

Presentation

 

Interoperability

Level

Title

Description

Speaker

Type

300

Making high performance applications with C++ and C#

.Net is a relatively high performance system. Velocity software has ported the Quake II engine to managed C++ and gotten it to run at 85% the speed of the unmanaged version.  This is very impressive, but there are places and times that 15% penalty is too much to pay.

This presentation reviews a high performance 3D graphics engine, and how that engine architecture was altered to support the use of C# client applications.  The talk covers the removal of legacy COM architectures, implementation of the interface layers between C++ and C#, and effective design in both languages that will yield the highest performance.  Extensive code will be shown for the C++ and C# interface layers between the two systems, and the data flow will be traced out to the UI of a general purpose C# based 3D model viewer.  Problem areas such as memory management will be covered, as well as some more esoteric issues in .Net such as pinning memory and quasi-deterministic finalization.

Mark Mullin

Presentation

300

Scraping Data from Websites with the .NET Framework

1)     Webservices are great way to retrieve information from other systems, but not all systems have implemented them.  This session will show you how to retrieve information from a web application, parse the HTML and return the information you are interested in.

Phil Denoncourt

Presentation

400

Effective use of BizTalk as an Enterprise Integration platform

BizTalk can serve as the integration hub between multiple systems.

This session covers several EAI patterns and how they can be implemented in BizTalk. In addition, this session will also include some useful tips & tricks, examples of custom pipeline components & functoids in c#, and a quick overview of what to expect in BizTalk 2006.

Andrew Babiec

Presentation

200

Integration Fundamentals: Microsoft BizTalk

Find out how you can use BizTalk Server to efficiently and effectively integrate systems, employees, and trading partners. Topics include integrating applications, transforming data, configuring the rules engine, and orchestrating messages.

Ed Moemeka

Presentation

200

Integration Technologies and Approaches

When it comes to integration, even within the Microsoft stack, there are several choices available: Web Services, Indigo, MSMQ, SQL Service Broker, Host Integration Server, BizTalk, SQL Server Integration Services and SQL Server Replication. This session will explain each option, cover the scenarios each one is suited for and some examples with source code. This session also serves as a good introduction to BizTalk Server and it's functionality.

 

Andrew Babiec

Presentation

300

Windows Communication Foundation: Peer Networking

This is a deep dive into building a peer networking application using the Windows Communication Foundation. The presenter will go through the construction of the standard "file sharing" example application. Some topics that will be covered include Peer Network Resolution Protocol, Peer Networking Channel, Duplex Callbacks, and Streaming.

Rich Crane

Presentation

 

Fundamentals

Level

Title

Description

Speaker

Type

 

SOA Architectural Issues

There’s a lot of talk about SOA, and outside of Don Box’s 5 tenets, there is a lot of discussion about what this all means and how things are to be done.  This chalk talk will focus on the practical mechanics of implementing a SOA based application, with the goal being to combine the presenters experience with the audiences concerns to define a set of tactical guidelines that are of practical use in creating an SOA based application.

The focus will be on the correct partitioning of the elements of the system, the coupling and communication between these elements, and certain key issues that don’t get the attention they deserve, such as error handling in SOA.  Architectural considerations about the best pairing of OO at the individual service level with the overall SOA will be addressed, as well as the architectural and business benefits that accrue from the implementation of successful SOA applications.

 

Mark Mullin

Chalk Talk

200

Multithreading made easy – harnessing the power of C# and .net to squeeze every cycle out of your CPU – Part 1

Until now, multithreading has been for the rocket scientists with 400 level OS level courses under their belt (and a knowledge of how philosophers dine). Dot net and C# have made multithreading accessible to a wider audience.  This is a great development, especially since Intel and AMD are now shipping multi-core chips and stating that future performance gains will be leveraged through this approach, instead of through increases in raw bandwidth.

This class will walk you through a real business application that uses a database to generate reports, where you can see exactly how to use multithreading, and exactly what the benefits are. 

This class will teach you the following patterns and will provide source implementations realizing those patterns

1)         A plug-in based atomic task structure, where you can define a specific task,   and create as many threaded instances of it as you need

2)         A process control framework that allows you to connect plug-in based atomic tasks together to define more complex programming operations

3)         An XML based specification system that allows customized multithreaded business processes to be constructed from standardized parts.

Mark Mullin

Presentation

300

Multithreading made easy – harnessing the power of C# and .net to squeeze every cycle out of your CPU – Part 2

Until now, multithreading has been for the rocket scientists with 400 level OS level courses under their belt (and a knowledge of how philosophers dine). Dot net and C# have made multithreading accessible to a wider audience.  This is a great development, especially since Intel and AMD are now shipping multi-core chips and stating that future performance gains will be leveraged through this approach, instead of through increases in raw bandwidth.

This class will walk you through a real business application that uses a database to generate reports, where you can see exactly how to use multithreading, and exactly what the benefits are. 

This class will teach you the following patterns and will provide source implementations realizing those patterns

1)         A plug-in based atomic task structure, where you can define a specific task,   and create as many threaded instances of it as you need

2)         A process control framework that allows you to connect plug-in based atomic tasks together to define more complex programming operations

3)         An XML based specification system that allows customized multithreaded business processes to be constructed from standardized parts

Mark Mullin

Presentation

200

Web Service Security Basics – Demystifying the cryptography tools used in WSE, Indigo and Beyond

This session will help you understand what the tools of cryptography are and how they work. Encryption, hashing, digital signing and digital certificates are the fundamental working parts for all that you do to secure your web services. They are the building blocks of WS-Security which is what WSE and Indigo are built on. This session is guaranteed to demystify these security tools – or your money back!

Julie Lerman

Presentation

300

Disassembling for fun
 

In this session we will explore the different parts of a .Net assembly file using several disassemblers/decompilers and analyze the information they provide. Some of the parts that we will look at in detail are: the file format (PE/COFF), CLI headers, metadata (heaps and tables) and of course the IL.

After analyzing the information some disassemblers provide (and seeing how they disassemblers are used), we will take a look at what it takes to write a disassembler from the ground up in C#. All sample code will be provided on the Code Camp website.

Jason Haley
 

Presentation

200

RSS and You

After a brief primer on Real Simple Syndication you’ll quickly discover how to consume RSS data in your .NET applications. Next, you’ll discover a world of wonder where syndication is king and the world is your oyster. Carl Franklin shows off some great examples of RSS in the real world, and you’ll walk away with a smattering of his custom tools which he uses at Pwop Productions to help produce .NET Rocks! and Mondays.

Carl Franklin

Presentation

200

Introduction to Code Access Security

2)         This session will be an introduction to Code Access Security. 

Code Access Security is an area of .Net that looks complex, and many of us don’t use it.  Learn how to take advantage of the security features, secure your applications, and look like a security expert.

Phil Denoncourt

Presentation

200

Security Tools for the .NET Developer

When developers work on code and solutions to problems, they should be thinking of how to make the code as secure as possible. This talk will introduce some great tools available that help in this endeavor, including a threat modeling tool, FxCop, sn.exe, and other Framework tools that are not as well known.

Robert Hurlbut

Presentation

300

What’s new for Security in .NET 2.0

Security is difficult to get right, and it is a good strategy to leverage code provided by the upcoming changes in .NET 2.0. The new security components in .NET 2.0 can help you greatly reduce the amount of code you need to write in order to make your applications secure. .NET 2.0 provides numerous additional types that encapsulate functionality already provided in the base Windows OS, as well a new functionality only available in .NET 2.0. We will cover the new improvements including public key cryptography, Windows security, .NET Remoting, ASP.NET and Code Access Security.

Robert Hurlbut

Presentation

300

Visual C# 2005: IDE Tips and Tricks

The C# development experience has evolved dramatically since Visual Studio 2003 .NET was released. Patrick Hynds will walk through many of the features of the Visual C# 2005 editor including refactoring, IntelliSense improvements, Code Snippets and enhanced navigation. The presentation focuses on introducing these features with brief asides about why trade offs and decisions were made (e.g. which refactorings were chosen and why) based on information from the product team.

Patrick Hynds

Presentation

300

Visual Basic 2005: Productivity and Application Architecture Improvements

This is a must-see session for Visual Basic developers who are new to Microsoft Visual Studio 2005, and also reviews the major feature changes and additions for beta 2. Take a top-down look at the new application architecture and RAD development enhancements in Whidbey, including several key productivity features that are exclusive to Visual Basic. This session covers the new Visual Basic lightweight application model for client applications, the My namespace, Data, Settings and Resources, and many more features that speed development for connected applications.

Patrick Hynds

Presentation

300

   C# 2.0, Part 1: Introduction to Generics and Iterators

C# 2.0 sports direct support for .NET Generic (parameterized) types, and the ability to create custom Iterators (implementations of IEnumerator and its Generic counterpart, IEnumerator<T>) in Managed code. Unlike C++ templates (a fancy macro trick implemented by the C++ compiler) Generics produce small code, are low-overhead, and are instantiated at runtime by the CLR. Iterators, on the other hand, let you handily create enumerable types that can be iterated in multiple ways – all without manually wiring up implementations of IEnumerator. In this session, Richard will show you how to create Generic types, and how Iterators work – as well as how to combine them to create powerful solutions to common .NET programming problems.

Richard Hale Shaw

Presentation

300

C# 2.0, Part 2: Applying Generics and Iterators

Type-safe collections are pain. Re-usable classes – using object parameters and fields – generate too much boxing/unboxing overhead. Custom implementations of IEnumerator feel like you’re implementing the same plumbing over-and-over. These are serious deficiencies in .NET 1.x – but not in 2.0! In this session (predicated on your attending “C# 2.0, Part 1: Introduction to Generics and Iterators”), Richard will show you how to easily create type-safe collections, eliminate boxing/unboxing overhead in re-usable classes, and implement custom Iterators using C# 2.0. We’ll also look at how you can apply these techniques to Reflection, Remoting, and even Serialization

Richard Hale Shaw

Presentation

300

Introduction to the Patterns and Practices Enterprise Library and Code Blocks

While the .NET Framework considerably reduces the code you have to write to finish a job, there’s still plenty to be written. And some of it seems to be written again and again, unless you can find effective ways to abstract that code into re-usable libraries – and have the time to do so. Have you had to write (and re-write) your own custom configuration management libraries? What about cryptography code? Never found the time to implement factory patterns around your data access code, so can switch providers dynamically? Finding it a hassle to configure – and re-configure – security for each .NET application your write? Want an easy want to add Logging features to your applications and components? Or maybe you want to add caching to Smart Clients? These are all issues addressed by the Patterns and Practices Enterprise Library. In this session, Richard will present an overview of the Enterprise Library and how to get started with it.

Richard Hale Shaw

Presentation

300

Why should VB.NET Guys Have All the Fun? Using the My Object (.NET 2.0) in C#

With the release of VB.NET 2.0 (VS2005) comes a new object referred to as the My Services object, which makes it easier to consume Web Services, retrieve and set application settings, and examine and use other application environment settings. But peek under-the-hood shows that the My object is really a set of classes and generic types that are generated by the VB.NET compiler, and which – with a little bit of work -- can be reproduced for use by C# (and other Managed Code) developers. In this session, Richard will explain the workings of the My object, how to leverage it from C#, and why you’ll want to do so.

Richard Hale Shaw

Presentation

300

Object Testing in VS2005: Getting to Know the Object Test Bench

You’re a development tools vendor, your product doesn’t support integrated testing, and someone’s created an Open Source testing tool that’s caught everyone’s attention. You can’t buy them out (it’s Open Source!), and you can’t incorporate it into your own product. What to do? Hire the developers, and let them create a similar product for you! Now replace the parameters in this story with the following values: Microsoft, NUnit, and VS2005. That’s right: you don’t have to purchase Visual Studio Team System to get integrated testing for objects and libraries: it’s built right into VS2005. In this talk, Richard will show you how to use the Object Test Bench to reduce write-debug cycles, how to test Framework and library classes and methods before you use them, and how to do so from inside of VS2005.

Richard Hale Shaw

Presentation

200

Practical Software Development with Visual Studio Team System

This demonstration-heavy session, for software developers, answers the question "What's this Team System thing and how does it affect me?"  We'll begin with a very quick overview of Team System, then devote the bulk of time to walkthroughs of the features most relevant to software developers.  You'll see how integrated unit testing will make your code more reliable and maintainable, how static code analysis will help identify problems in your code and how profiling can identify performance bottlenecks - before your users do.  However, because the reality of software engineering is that developers are often called upon to conduct testing, we'll also cover the extensive web and load testing features of Team System.  Along the way, you'll see how Team Foundation works to integrate these activities, storing code, collecting data and generating reports.

Chris Bowen

Presentation

200

What's new in the .NET Framework 2.0?

November will see the release of the next version of the .NET Framework.  In this session, we'll focus on improvements made to the Base Class Library itself.  New classes and namespaces are available to make your job easier and many changes have been made to existing classes as well.  Support for 64-bit applications, compression, threading, DPAPI, FTP and many other improvements to networking and threading will be introduced.  You'll also see how new features and changes to System.Security improve support for developing secure applications.  Even our old friends System.IO.Console, System.GC and many base System types have new powers to inspire applause and tears of joy. 

Chris Bowen

Presentation

 

Effective Development Practices in .NET

Back for its third Code Camp, this interactive peer discussion focuses on development practices, from design to coding and deployment.  Specific topics are driven by participants but are always relevant to .NET development best practices.  Past talks have included Enterprise Library, successfully implementing development standards, code reviews, unit testing, SOA, practices sharing, performance analysis, class reuse, code management, useful tools, resources for training/education and more.  What’s worked for you and, equally important, what has not?  Having trouble implementing a specific practice in your organization?  Looking for tips on what tools might make your development life easier?  This session has been well-attended at previous Code Camps and is a great chance to pick the collective brains of other experienced .NET developers.

Chris Bowen

Presentation

200

Windows Vista Part 1

Windows Vista brings many new developer opportunities.  During this session we will introduce Windows Vista and begin to dive into what’s new for developers. How developers can create applications today that will Light Up on Windows Vista.  We will cover features including, search organize and visualize, LUA security, deployment, events and performance APIs, XPS, networking.  We will also discuss Windows Vista Citizenship and what calls to action developers can expect from Microsoft.

Ernie Booth (Microsoft)

Presentation

200

Windows Vista Part 2

Windows Vista brings many new developer opportunities.  During this session we will introduce Windows Vista and begin to dive into what’s new for developers. How developers can create applications today that will Light Up on Windows Vista.  We will cover features including, search organize and visualize, LUA security, deployment, events and performance APIs, XPS, networking.  We will also discuss Windows Vista Citizenship and what calls to action developers can expect from Microsoft.

Ernie Booth (Microsoft)

Presentation

 

How Can I Take Advantage of Windows Vista?

Following the Windows Vista Part 1 & 2 the chalk talk will be a chance for developers to ask more detailed questions about Windows Vista and take a deeper dive into areas of interest to attendees.

Ernie Booth (Microsoft)

Chalk Talk

200

Data Access Patterns for a SOA World

We all know and love the Dataset and the various data-oriented wizards that abound in Visual Studio. These items provide very powerful functions and facilitate the speed of development, but in their use are we being shortsighted?

 

In this session you'll learn about data access patterns that are not only compatible with the SOA concept, but will also help you evolve your object and database models independently. We'll also explore data-acess oriented design patterns that contribute to superior application performance.

Rob Daigneau

Presentation

100

Anti-Patterns .. The Top 10 List

Design Patterns are in vogue these days, but unfortunately Anti-Patterns same to prevail. Join us for a light-hearted and satirical discussion of the common ways in which architects and developers shoot themselves in the foot.

Rob Daigneau

Presentation

400

How Agile is MSF-Agile and VSTS?

Ever since its creation in the early 90’s with Extreme Programming, Agile methodologies have become the methodology of choice for most programmers. VSTS takes a huge step forward by supporting Team development including process guidance with MSF-Agile as its default software methodology. But with daily use, many Agile developers are asking “How Agile is this really?” With this session, a creating member of Extreme Programming will examine Agile practices, what MSF-Agile provides out of the box, and then look at you can address the difficult areas of TDD and Continuous Integration, where VSTS and MSF-Agile fall somewhat short.

Sam Gentile

Presentation

300

VSTS for Architects: DSI, SDM and the Whitehorse Designers

There is a lot VSTS Team Architect Edition offers long-suffering Microsoft Infrastructure and Solution Architects. We will begin with an overview of DSM and the SDM Model that underlies Whitehorse and how it differs greatly from UML Modeling. From there, we will use the Distributed System Designers (Code-named Whitehorse) to design an SOA based Indigo Service

Sam Gentile

Presentation

400

Creating Advanced SOA Services with Indigo on Windows Vista

Building on sessions such as Michael Stiffel’s “Windows Communications Foundation aka Indigo and Service Oriented Architecture (SOA)”, this session by an Indigo Insider and Software Design Reviewer, will delve into advanced Indigo SOA services using the added facilities available using Windows Vista. This is an advanced session and assumes prior Indigo and WSE knowledge.

Sam Gentile

Presentation

300

Application Security Principles

This talk presents practical techniques for developing and enhancing the security of all applications during their entire lifecycle. Application Security concepts, techniques and goals are identified. Common programming errors and their avoidance are covered, code reviews and testing are discussed, and the overall view that security is not an add on, but a fundamental part of every development effort is stressed.

Ted Demopoulos

Presentation

 

Record a Demo

Have a favorite demo or code tip that you want to record? Now is your chance.

Thom Robbins

 

200

OO or Oh-Oh: How Object-Oriented Can Improve your (Programming) Life!

This talk will begin with the motivations and benefits of Object Oriented Analysis and Design (OOAD). We will then look at some leading industry approaches to OOAD and give you a feeling for current successful practices.

We will try to convey the excitement and great benefits of using OOAD.

Steve Blaha

Presentation

200

ACTING SKILLS WORKSHOP (for Success in Business)

Build your confidence level to speak in front of any audience! Learn the actor’s “bag of tricks”, work on breathing techniques, relaxation, energy, eye focus, articulation, projection, and more! Geared towards the business professional or anyone who wants to overcome the jitters of stage fright. No experience necessary

Lau Lapides

Interactive presentation