31 July 2010  
You are here:  Agenda Register  Login
Agenda

 

 
Track 1
Room 2Q49
Track 2
Room 2Q50/51
Track 3
Room 2Q42
Track 4
Room 2Q48

Alternative Track
Room 2Q43

Getting Started With .NET
Room 3Q82

8:00 – 9:00
Registration (Water bottles)
9:00 – 9:15
Welcome And Introduction
Welcome And Introduction
 
 
   
9:30 – 10:30
My Favourite Design Patterns
Gary Short
DevExpress
Commercial Software Development
Liam Westley
The Parallel Task Library in .Net 4.0
Steve Strong
iMeta
Using the new Developer and Test features of VS 2010
Richard Fennell
Black Marble
Park Bench Discussion Getting Started With C#
Rick Spence
WebTech
10:30 – 10:40
Break
10:40 – 11:40
Functional Alchemy - 10 tricks to keep your C# DRY
Mark Rendle
Dot Net Solutions
Don't be passive, be Reactive
Chris Alcock
Inversion Of Control with Castle Windsor
Colin Gemmell
So you want to try Scrum?
Nathan Gloyn
Balloon Debate on Data Access Technologies Getting Started With The .NET Framework
Richard Blewett and Andy Clymer
Rock Solid Knowledge
11:40 – 12:00
Break (Water bottles)
12:00 – 13:00
Crap Code and the Disasters it Causes
Phil Winstanley
Windows Phone: Why you should care and how to get started
Matt Lacey
Eagle Eye Technology
Leveraging Convention Over Configuration
Chris Canal
The real world experience of a startup using and fighting with Azure
Ross Scott
Networking and Issues for Contractors / Independent Developers Getting Started With ASP.NET MVC
Steve Sanderson
13:00 – 14:15
Lunch
13:10 – 14:10
Grok Talks
 
 
 
   
14:15 – 15:15
Contractual Obligations: Getting up and running with Code Contracts
Barry Carr
AJAX with jQuery
George Adamson
What's New in ASP.NET MVC 2.0
Andy Gibson
Introduction to PRISM
John McLoughlin
Book Club Discussion on Software Apprenticeship Getting Started With Visual Studio
Steve Hallam
WebTech
15:15 – 15:40
Break (Tea/Coffee and Cream Teas sponsored by SQLBits)
15:40 – 16:40
Command Query Responsibility Segregation approaches to System Design
Neil Robbins
Clean User Interfaces with ASP.NET WebForms
Dave Sussman
Testing ASP.NET MVC Applications
Kevin Jones
Rock Solid Knowledge
T4 and how it can be used for code generation in Visual Studio
Rob Blackmore
Open Discussion on the Days Talks and Tweets Getting Started With Windows Presentation Foundation
David Ringsell
PC Talk
16:45 – 17:00
Close And Prize Draw
 
 
 
   
 
 
Geek Dinner
 Print   
Tracks 1 to 4


My Favourite Design Patterns

Gary Short

To achieve the best solution to a design problem requires expert knowledge. Expert knowledge takes time, collaboration and dedication to acquire. This session will enable you to leave having gleaned some of that expert knowledge from the speaker's 20 years in the software industry. We will define the term 'design pattern', explore its method of application, and we will work through some real-world and pan-industry examples that you can expect to encounter during the software development process.


Commercial Software Development - Writing Software Is Easy, Not Going Bust Is The Hard Bit

Liam Westley

There are three excellent ways to lose lots of money; open a restaurant, own a football club or start a software development company. 

Liam will provide a personal and subjective view on some of the tactics that he has found useful when running a software development company, to ensure it enjoys a 1st birthday party.

Liam will be assuming that you can write code, work hard, have commercial ideas and have clients or sales leads.

We won't focus on any particular technology or framework, instead topics will include; Support, Testing, Logging, Time/Cost Estimates, Paperwork and Sales Pitches.


The Parallel Task Library in .Net 4.0

Steve Strong

Introduced with .Net 4.0, the Parallel Task Library gives a new approach to task-parallel programming. In this session we dive into the details of the library, looking at the various ways that it can be utilised. We will cover a number of areas, including:
• Data Parallelism, using Parallel.For and Parallel.ForEach
• Task Parallelism, using Parallel.Invoke and the Task class
• Exception Handling
• Cancellation
• Asynchronous continuation patterns
• PLinq
The session is aimed at the intermediate developer – a good understanding of basic threading principles is a requirement.


Using the new Developer and Test features of VS 2010 to track down and fix bugs

Richard Fennell

How often do you find that bugs are reported in testing that are hard to reproduce in development? With Visual Studio 2010 there are a whole range of tools to assist in this process. In this demo lead session I will show an end to end demo of:
• Creating an automated build
• Defining and running manual tests in Microsoft Test Manager
• Logging bugs in TFS that include debug information such as videos and Intellitrace generated by the tester
• Fixing the bug based upon the information stored by the system to aid the debugging process
 


Functional Alchemy - 10 tricks to keep your C# DRY

Mark Rendle

C# 3.0 and LINQ have made anonymous delegates and closures a hot topic. C# 4.0 improves on them. But these "functional" features have applications beyond messing about with IEnumerable. In this session I'll present 10 simple and not-so-simple uses of first-class functions to help cut down on repeated code and improve maintainability; hopefully you'll discover a new and exciting way of approaching coding problems.


Don't be passive, be Reactive

Chris Alcock

This session will introduce the reactive style of programming using the Microsoft Research Reactive Extensions (Rx) projects for both JavaScript and C#, showing how Reactive programming using Observable collections can make your applications simpler to understand at the code level, more responsive for your users, and how the Reactive Extensions fit in with familiar concepts such as jQuery, the HTML DOM, LINQ, etc.


Inversion Of Control with Castle Windsor

Colin Gemmell

An IOC container can be one of the most useful and powerful tools in a enterprise development. Castle Windsor is one of the most mature of these IOC frameworks and in this talk we will look at the principles behind using an IOC, how to configure Castle Windsor, and how to integrate it into several different project types.


So you want to try Scrum?

Nathan Gloyn

So what will scrum do for you? How can it help? In this presentation I aim to give an overview of scrum for those that either don't know about it or haven't used it before and then attempt to outline the common problems that people come across once they've started using scrum.


Crap Code and the Disasters it Causes

Phil Winstanley

There you sit, it's a Wednesday morning and before you is the code another developer has left you. At first you can't believe your eyes, perhaps you misread it... No ... He really did write it like that ... Crap Code.

In this session we'll explore Crap Code that we've come across in the past few years of Consulting, the problems it causes and the solutions to the idiocy of other developers.

You'll laugh, you'll cry - but most of all, you'll come out of the session realising you're a pretty damn good developer.

No slides will be available for this session


Windows Phone: Why you should care and how to get started

Matt Lacey

Microsoft have just launched Windows Phone 7 Series. But what does this mean for you? Why should you care if you've never developed applications for phones before? And how do you get started when you do want to develop for a Windows Phone?
This session will attempt to convince you that understanding mobile development is useful for all developers and then demonstrate how to create an application for a Windows Phone 7 Series device.


Leveraging Convention Over Configuration

Chris Canal

Convention over Configutation was made popular by Rails and a number of OSS .Net projects taken advantage of the idea. In this session we will look at a number of these projects, and examine how you can take advantage of Convention over Configuration in your application.


The real world experience of a startup using and fighting with Azure

Ross Scott

We've seen the demos, written the "Hello World" but is it really a good idea? This session will take you through the first 3 months of a new startup developing on the Azure platform. The startup exists for one reason: to make a profit. So this will be the driving factor throughout the session. Areas of Azure covered will be:
• Cost driven development, a new way of thinking.
• Data storage, should I go with the easy option or change my relational mindset?
• Lessons learnt.
• What's it actually going to cost me?
• A few tips and tricks


Contractual Obligations: Getting up and running with Code Contracts

Barry Carr

Code Contracts is Microsoft's implementation of Programming by Contract for .NET (also known as Contract Programming, or Contract-First development). Code Contracts are a way of adding executable specification documentation to your code; they can also work hand-in-hand with your unit tests. All-in-all, the aim of Code Contracts is to improve the quality and reliability of your software.

With Code Contracts you can: specify a method's pre-requisites (pre-conditions) and what it guarantees to do for it's caller (post-conditions); you can also specify what conditions must always be in-place throughout the the lifetime of an object (object-invariants). Code Contract conditions can be tested at runtime and, if you're using Team System, they can also be analysed and tested statically after your application has compiled. Using the features of code contracts in conjunction with your unit tests can help you find potential problems in your code sooner.

Code Contracts will be part of .NET 4.0 and are also available for .NET 3.5; they're language agnostic and integrate into Visual Studio (08 & 10).

The aim of this session is to show you how to write code contracts: method pre and post condtions along with object-invariants and we'll look at how Code Contracts work. In addition, we'll also be looking at using Code Contracts with TDD and how to use Contracts with Interfaces.


AJAX with jQuery

George Adamson

Getting started on AJAX with jQuery: An introduction to AJAX and it's benefits; how to use jQuery to handle your AJAX; 'hijaxing' and progressive enhancement with jQuery and AJAX; solutions to get around the 'Same Domain Policy'. We'll work through a bunch of examples to post and get data from various sources.

This session keeps moving at quite a rate. We begin with a few minutes refresher on jQuery basics then it's non-stop AJAX. Some experience with JavaScript will help but if your world is C# and curly brackets then I'm sure you'll be fine.


What's New in ASP.NET MVC 2.0

Andy Gibson

ASP.NET MVC has been making waves over the past 2 years within the ASP.NET community and quite rightly so with features such as promoting separation of concerns, strongly typed views and a great routing system but it doesn't stop there. ASP.NET MVC 2.0 is now publicly available and is also being shipped with Visual Studio 2010 but what new features have been brought to the table? What has changed? And most importantly, how will you be affected by upgrading from 1.0?

This session will bring you up to speed with all the information you need to know delivered through slides and more interestingly, live demos. Topics covered include (but not limited to)
o Areas o Model-Validator Providers
o Optional URL Parameters
o Template / HTML Helper improvements
o Additions and updates to MVC Attributes
o Visual Studio integration improvements
o Breaking changes from MVC 1.0
o To upgrade or not to upgrade (or simply, Advice)


Introduction to PRISM

John McLoughlin

PRISM is the latest incarnation of the Composite Application Guidance from the MS Patterns and Practices team. The guidance allows you to build extensible application quickly and easily in either WPF or Silverlight. In this session I'll show you how easy it is to build a WPF application and then extend it with PRISM.


Command Query Responsibility Segregation approaches to System Design

Neil Robbins

The Command-Query Responsibility Segregation (CQRS) pattern has recently been getting a lot of deserved attention. In short, it requires separate command and query paths through a system. Through this CQRS promises simple yet powerful designs and codebases. CQRS approaches can also help leverage other patterns such as Event Sourcing and Pub-Sub to open up some very interesting opportunities.

I have been involved now in the development of two systems which seek to follow this pattern, one in insurance & one in public examinations. My experience, and that of my colleagues, has been that the systems built following this pattern have been more flexible, simpler, and quicker to develop than had been achieved following more conventional ActiveRecord/DDD approaches.

This talk will introduce you to the CQRS approach, what it means to the design of your systems, how it builds on DDD (domain driven design, not the conference :), when you might (or might not) want to use it, and bootstrap you to begin using this approach within your own contexts.


Clean User Interfaces with ASP.NET WebForms

Dave Sussman

ASP.NET WebForms often gets denigrated for producing bad HTML, a fault that occurs if you stick with the default behaviour. However, with a small amount of customisation and knowledge of the ASP.NET server controls, you can create rich applications that have a clean and standards compliant user interface. This talk focuses not only how to break ASP.NET WebForms out of its mould, but also on why you shouldn't just accepts the defaults.


Testing ASP.Net MVC Applications

Kevin Jones

One of the primary advantages to using MVC.Net is to be able to test. So how do we do it? Testing models we know about, but what about testing controllers. In this talk we will take a simple application that uses is written in such a way as to be difficult to test and talk about the steps to enable testing. We will show how to use controller factories to create controllers and IoC to inject dependencies into the controller which will unable us to write tests.


T4 and how it can be used for code generation in Visual Studio 2008 / 2010

Rob Blackmore

T4 is the best kept secret in Visual Studio. In this session I will look at how it can be used to generate any type of code be it a class, T-SQL or even XAML!

 Print   
Getting Started With .NET Track

The Getting Started With .NET track is a whole day of .NET training by professional training companies designed to get you started in .NET development. Each training company is offering a part of their normal training course for free. Use this track to get trained up in .NET and use it to try out each training company and sample their courses without obligation.


Getting Started With C#

Rick Spence

In this session, aimed at newcomers to .Net and C#, Rick will provide a high level overview of the C# language and how it fits into the .NET framework. Aimed at developers already familiar with other languages, Rick explains how the C# language manages without global variables or functions, how memory management works, how C# programmers manage resources without deterministic finalization (you’ll have to attend the session to figure out what that means!), what interfaces are and why they are important, and how the framework manages 100s of classes.


Getting Started With The .NET Framework

Richard Blewett and Andy Clymer

In this talk Rich and Andy will open up the inner architecture of the .NET framework, showing how the key architectural pieces work together to deliver Microsofts managed execution platform. The talk will detail how a simple piece of C# and VB.NET code in the editor finally ends up running inside a process. This talk will provide the foundation for understanding how the .NET framework ticks, essential core knowledge for all .NET developers.


Getting Started With ASP.NET MVC

Steve Sanderson

Microsoft's Model-View-Controller-based web development framework has got the .NET world excited - but what's it like to use? In this session we build a small web application, seeing MVC architecture, clean URLs, convention over configuration, tight HTML, and simple ajax at work.


Getting Started With Visual Studio

Steve Hallam

Yes, you can write a .NET application with only the free SDK and Notepad. But if you want to retain your sanity, use Visual Studio! In this whistle-stop tour, you will learn about:
• Projects and solutions
• Debugging
• Working with databases
• Deployment
We will also look at some of the new features in Visual Studio 2010.


Getting Started With Windows Presentation Foundation

David Ringsell

Windows Presentation Foundation provides a radically different approach to creating User Interfaces. By employing XAML to design the UI, a much rich user experience can be provided. Sound and video can easily be included. Using XAML as an hierarchical and declarative mark-up language, allows the creation of much more versatile & exciting screens. This is a big leap forward from the previous way of working with Windows Forms. This talk will use accelerated learning methods to enhance learning and retention.

 Print   
Alternative Track

The majority of sessions at DDD South West are the traditional 60 minute presentations from one person, a laptop and a projector. But oranges are not the only fruit and the Alternative Track is something different. The Alternative Track is a collection of quite different sessions that take advantage of the power of community. Here's what we've got in store:-

A Park Bench discussion

We start the day with a discussion about your working environment and experience - What you like, What you don't like, What and how to change etc. The format of this discussion is fairly free, with plenty of opportunity for constructive bitching, but if you want to ask more than a simple question you have to come and sit on the bench up front. We expect to talk about team size, structures, hierarchies, pair-programming, good leaders, clients who change their minds, nightmare bosses. or wherever the discussion goes.

Balloon Debate on Data Access Technologies

A chance to hear Gary Short, Steve Sanderson, Eric Nelson and Liam Westley - four entertaining speakers debating the relative merits of data access technologies.  They're all in a hot air balloon which is sinking fast. The only way to save the balloon is to lighten the load by throwing some people (and technologies) out. They have to convince you to choose their passengers rather than them.

Networking and issues for Contractors / Independent Developers

This workshop aims to attract people who are either experienced single handed developers / contractors, who may choose to act more in a mentoring role, those who are new to or thinking about being single handed developers or just anybody interested.  The session takes the format of a workshop punctuated by 3 minute talks sharing anything you feel useful to others. We expect to cover issues such as working on your own, working at home, need for a sounding board / mentor, finance, insurance, keeping up to date, recruiters.

This session merges into a Networking lunch as an alternative to the Grok Talks.

Book club discussion on Software Apprenticeship

A chance to stimulate your digestion with consideration of Software Apprenticeship, discussing ideas presented in the book ‘Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman by Dave Hoover and Adewale Oshineye. To get the most out of this session you may like to read the (short) book in advance, but we’ll start with a synopsis of the ideas for those who have not. The session is non-technical and suitable for starters as well as anyone interested in the concepts of how we develop our own skills and those of others on the road to software mastery.

Open Discussion on the days Talks and Tweets

Heard something interesting from another speaker earlier in the day that sparked your imagination? Idea provoked by a twitter thread? Then come and share your ideas in this session.  We hope everyone at the event will be exposed to lots of new concepts. If something grabs your attention and you have another perspective to add, perhaps based on your personal experience, or maybe just a desire to pursue the ideas further, then come along to this session and share them.

 Print   
Home  |  Get A Badge  |  Sponsors  |  Agenda  |  Links  |  Statistics  |  The Team  |  Contact Us
Copyright 2009-2010 by DDD South West   |  Privacy Statement  |  Terms Of Use