Saturday, May 02, 2009 Ottawa Code Camp
Ottawa Code Camp Sessions
Sessions Word document
Introduction All Sessions – 8:45 AM
A1. The Microsoft Sync Framework Jean Rene Roy - 9:00 AM Room 130
Microsoft Sync Framework is a comprehensive synchronization platform that enables collaboration and offline access for applications, services and devices. It features technologies and tools that enable roaming, sharing, and taking data offline. Using Microsoft Sync Framework, developers can build sync ecosystems that integrate any application, with any data from any store using any protocol over any network.
A2. Doing "it" with Team Build 2008 Wesley MacDonald - 10:30 AM Room 130
Visual Studio 2008 Team Foundation Server Build (Team Build) is a core feature of TFS 2008. Microsoft designed it to be an industrial-strength build automation tool. You could say it provides the F5 experience for your dev team.
We'll dig into build customization and how you can have your builds not only compile a solution but deploy to test environments and create several working examples of build types using VSeWSS, Zip, FxCop and StyleCop as part of your build.
A3. Windows Services Down and Dirty! Peter Henry 1:00 PM Room 130
Have you ever wanted a piece of code to monitor a website? Automatically recalculate reports daily? Synchronize two databases automagically? Did you find yourself shoe-horning a solution because “it worked?” Do you have a WinForms (or worse, a batch file) program running on a computer with a yellow sticky note that says “DO NOT TURN OFF!” There is a better way and this presentation will show you the down and dirty secrets to creating a Windows Service. You’ll learn how to create, debug and deploy a fun Windows Service which you’ll easily be able to tailor to your specific needs. Please note: this is not a Web Services presentation
A4. Mono EC2 Dominic Plouffe - 2:30 PM Room 130
This presentation will demonstrate running .net code on linux using mono (http://www.mono-project.com) on an Amazon EC2 instance.
B1. Busy Developers' Guide to Net 3.5 SP1 Joël Hébert - 9:00 AM Room 117
.Net 3.5 SP1 has bought forth many additions to .Net. If you have not had the time to catch up to this new release. This presentation will outline the core additions of .Net 3.5 SP1 : ASP.Net Dynamic Data, ADO,Net Data Services, Microsoft Entity Framework, EntityDataSource, ASP.Net Routing.
B2. Introduction to IoC with Entity. Peter Ritchie - 10:30 AM Room 117
This session details how to free your code from its dependencies with Unity.
We begin with an introduction to Inversion of Control and Dependency Injection. We introduce IoC containers and Unity, how they apply to IoC and DI, and how they can be used to build decoupled software and manage dependencies. We then get into scenarios using Unity including how to configure and initialize a Unity container and common dependency resolution tasks using Unity, from simple to complex. We then cover some of possibilities of Unity that depending on abstractions introduces. Finally, we cover advanced Unity and potential pitfalls.
B3. Top 10 umbrellas Francois Tanguay - 1:00 PM Room 117
Umbrella is an open source framework that fills the gap when using different .net technologies. We would like to show you 10 tricks that Umbrella uses in order for you to write less code and be more productive. It`s more than just code though, it`s also new patterns and new paradigms that will make you rethink the way you create software. Even if you are not using Umbrella on your current project, you will be able to take some ideas home with you. How far have you pushed the decorator pattern ? Have you ever used composites ? What about those things Umbrella calls “Extensions Points” ? We guarantee this session will inspire you.
B4. BOF (Birds of a Feather) Advance C# Francois Tanguay & Peter Ritchie- 2:30 PM Room 117
In this advanced C# discussion group the participants have the opportunity to decide the detail of what is discussed with Francois Tanguay, and Peter Ritchie.
Areas of discussion could include:
- Anonymous Methods and Lambdas: How to use them? Where to use them? Drawbacks.
- Enumerator Methods: What they are? Where to use them?
- LINQ to objects: Hot to use it? Where to use it? Drawbacks.
- Exceptions: Catching, Throwing, Creating, Where not to use them.
- SOLID design principles in C#
C1. How and when to use Agile methods in a dinosaur org. Tom Jones - 9:00 AM Room 111
Ideally, all organizations would support agile methodologies and everyone in the organization would understand how to implement an agile project. But for most people involved in development projects this is not true. In fact, in my experience as a developer who has completed many different development projects for quite a variety of different clients, I feel that most large organization have been very slow to evolve (dinosaurs) and adopt agile methodologies, and even while some say they do, most of these one still don't provide structure and support for agile methods.
Since being taught agile methods back at the turn of the century, I know that agile methods are usually going to be beneficial to implement wherever I go, regardless of what the organization or project manager proposes. Therefore, since then I've be openly or discretely pragmatically using agile methods to ensure that projects I'm involve with have a better chance of success. Thus I want to have discussion around how and why you should be more agile and share my experiences, strategies and tricks to being agile within dinosaur organizations. Because if you to can be more agile, everyone will eventually thank you for it.
C2. Tools and techniques to debug live .NET applications Kamran Bilgrami and Angelo Chan - 10:30 AM Room 111
Your company's flagship product has finally GA'd after months of dedicated planning and hard work. A week later, one of your company's biggest customers unhappily reports that the product randomly crashes / hangs at a few particular sites, causing disruption of service and loss of revenue. Your team is under severe pressure to resolve these issues ASAP. Unfortunately, these problems have never been seen before and are not reproducible in house. Your team now has to debug these unpredictable issues with limited physical access without disrupting service at the customer’s site. In this presentation, Kamran and Angelo will introduce some tools, techniques and strategies that can assist you in tackling this type of situation.
C3. Building applications faster by using Dynamic Access Modifiers Charles Wiebe & John Hansen - 1:00 PM Room 111
As software designers, we use Access Modifiers every day – no matter what the language or application. Access Modifiers, such as private and public allow us to publish api’s or ‘lock down’ our code.Most software systems protect their data depending on who is logged in.
What happens when class members are defined as public or private depending on who is logged into the system? Chaos or freedom to design simpler systems.
Does this make security easier to include in your application?
We discuss the how, why of applications using dynamic access modifiers. We will use Jetf
ire, but technique can easily be extended to any .net application.
C4. How to start developing for SharePoint Justin Lee - 2:30 PM Room 111
SharePoint is a great collaboration and document-management platform for businesses. Customizing SharePoint is one of the biggest pain points, and this session will go through step by step from building a SharePoint developer machine, creating a project, packaging your project into a WSP file, and deploying it. It aims to equip you with the tools and provide a starting point to your SharePoint development experience.