DevWeek 2012®
26-30 March 2012, London. The UK's Biggest Conference for Developers, DBAs and IT Architects.
Home
The Sessions
The Speakers
Microsoft Tech.Days
Reserve Your Seat
Speaking at DevWeek
Sponsors & Exhibitors
Who Should Attend?
The Venue
Accommodation
Code Samples
Join DevWeek Facebook group
Join DevWeek LinkedIn group

DevWeek 2012: Wednesday 28 March

  Tracks 1–8
DevWeek
Track 9
Microsoft Track
9.30
TRACK 1
Asynchronous programming with C# 5
Andrew Clymer
NET 4 introduced the new ‘task’ abstraction, and C# 5 will take advantage of integrating this task abstraction into the language via the async and await keywords. Furthermore, the new task abstraction promotes a new way of architecting asynchronous behaviour; in this talk we will explore how to take advantage of these new keywords and other new types and features being exposed in the next version of .NET to deliver far simpler asynchronous Windows UIs.


TRACK 2
Turn on your apps with LightSwitch
Matt Milner
Wondering what Visual Studio LightSwitch is all about? Have you heard that it’s the greatest thing since sliced bread or the most evil tool ever released by Microsoft? Learn how LightSwitch makes it simple to build business applications, deploy them to the desktop, web or cloud environment, and how .NET developers can use their existing .NET skills to work with LightSwitch applications. We will cut through the marketing and you will learn how to quickly build rich business applications that involve rules, validation, security, and unending customisation opportunities.


TRACK 3
Building XAML-based Metro applications
Dave Wheeler
eXtensible Application Markup Language, or XAML for short, is one of the two primary view engines for building Metro applications.
In this session you will see how to create views in XAML and work with them from both managed code and C++.
We’ll look at all aspects of XAML in the Metro world, ranging from markup extensions to data binding, and see how it differs from (and how similar it is to) the XAML that you might have used with WPF or Silverlight.


TRACK 4
jQuery for HTML5 developers
Jeff Prosise
If you’re going to be writing HTML5 apps, there are three rules you need to keep in mind. 1) You need jQuery. 2) You REALLY need jQuery. 3) Don’t even THINK about it without jQuery. This session is designed to get new and experienced HTML5 developers alike up to speed on jQuery, with coverage of essential topics such as selectors, wrapped sets, DOM manipulation, events, effects, AJAX, and jQuery UI. This will be accompanied by numerous code samples demonstrating key use cases and programming techniques.


TRACK 5
What’s new in WCF 4.5
Richard Blewett
The WCF team has been busy. WCF 4.5 comes with a host of new features: further configuration simplifications, WebSockets support, contract first development and more. This session shows you the new features, explains why they were introduced, and examines what impact they will have on the way you build distributed systems.


TRACK 6
BDD and .NET
James Hughes
Behaviour Driven Design/Development is an interesting premise, but does it really work? What benefits does it offer and how can we successfully apply its principles in the .NET world? We can answer these questions by reviewing the principles around BDD and diving into the technologies that exist in the .NET world that support these principles.
From low-level unit focused testing technologies all the way up to the more abstract integration and acceptance level suite of specifications, automated testing and continuous integration, we will see that .NET isn’t lacking in choice. As a bonus we will address the oft ignored testing of our JavaScript project components using tools such as Jasmine and QUnit.


TRACK 7
OOP pitfalls and the quest for better code
Dino Esposito
Gone are the days in which drag-and-drop of components was all you needed to build working applications. The era of RAD is probably gone forever, defeated by the growing complexity of modern applications which created the conditions for revisiting object-oriented design principles. An extension of classic OOD principles, SOLID principles are five design principles that systematically and insightfully applied make your software loosely-coupled, testable, and especially easy to understand and maintain. The session will discuss the conceptual value of SOLID principles and illustrate them with a few examples.


TRACK 8
SSAS in SQL Server 2012
Dejan Sarka
SQL Server Analysis Services (SSAS) brings a new Business Intelligence Semantic Model (BISM) besides classical Unified Dimensional Model (UDM). BISM can work in cached or direct query model. UDM can use MOLAP, HOLAP or ROLAP storage. PowerPivot for Excel and for SharePoint are upgraded as well. SQL Server is developing towards analytical processing through new T-SQL expressions and columnar indexes as well. A person can get confused from many options. In this presentation, we are going to discuss all of the data warehousing and OLAP possibilities in SQL Server 2012. We are going to dive deeper in SSAS, especially BISM. After the presentation, attendees should have the information needed to select the appropriate model for their problems, and basic understanding of BISM.
Attendees should have basic knowledge about the BI suite in SQL Server.
TRACK 9 – Microsoft
 
The secret life of a Windows Phone application
 
Mike Ormond
 
Ever wondered what Windows Phone apps get up to behind the scenes? How do great apps create the illusion of persistence? Keep you connected when they’re not running? Seemingly know where you are? Alert you when they know something you ought to? Remind you your dinner’s burning?
In this session we’ll take a look at some of the Windows Phone 7.5 features you can use to bring your applications to life and let them live outside the sandbox. See how you to effect seamless transitions between apps, perform background tasks, update live tiles, create reminders and send alerts. All performed as glorious demos in front of your very eyes.
11.00
Coffee Break
11.30
TRACK 1
Fluent APIs and internal DSLs with C#
Scott Allen
Today’s C# language gives us a number of options for building readable, maintainable code. In this session we’ll look at building APIs using extension methods, lambda expressions, expressions trees, and more. We’ll start with simple validation scenarios and turn procedural code into code using a declarative functional style. By the end we’ll look at building a LINQ powered rules engine with a DSL configuration API.


TRACK 2
.NET collections deep dive
Gary Short
The .NET framework provides a rich set of collection classes, but how much do you really know about them? In this presentation we’ll take a deep dive into the .NET 4.0 collection classes and examine which are best for what scenario and why. By the end of the presentation, you’ll no longer be happy just reaching for the same old collection you always have before, but you’ll be armed with the information required to pick the best collection for your needs.


TRACK 3
Building cross-platform mobile applications with HTML5 and PhoneGap
Jeff Prosise
Windows Phone 7 is a great platform, but the greatest challenge facing mobile developers today is writing apps that run on all the popular mobile platforms. With HTML5 and PhoneGap, you can write apps that exploit native features of the operating system and run on a wide range of devices. And the recently released PhoneGap 1.3 makes Windows Phone 7 a first-class citizen in the PhoneGap environment. Join the fun as Jeff explores the world of cross-platform mobile development and demonstrates the pros and cons of going HTML5 versus going native.


TRACK 4
ASP.NET MVC deep dive
Hadi Hariri
In this talk we’ll discuss the internals of ASP.NET MVC 3. We’ll see what extensibility points it offers us, how we can change things and where the pain points continue to be despite its third incarnation. This is a deep-dive coding session.


TRACK 5
Bulding services with Workflow 4.5 and Windows AppFabric
Richard Blewett
Workflow is often used for automating business rules in the small. However, one of its most powerful features is to provide an infrastructure for long running services that automate whole business processes. When combined with Windows Server AppFabric, Workflow provides a robust, highly available and scalable service infrastructure that this talk will show you how to utilise.


TRACK 6
Explain it or change it
Kevlin Henney
Ever found yourself struggling to explain a design idea, a piece of code or a series of steps you go through to do something? Ever found yourself well-practised at explaining a design idea, a piece of code or a series of steps you go through to do something? Both of these experiences can hint at possibilities for change we might otherwise miss.
Is struggling to explain something a property of what you’re trying to explain? Would an alternative approach be easier to explain… and would it also be more effective? Don’t comment a complex method, consider refactoring it so the need for explanation disappears. If you are used to explaining something, it sounds like an FAQ… but perhaps changing it so that it no longer raises a question would be the next step beyond recording it as an FAQ?
This talk takes a look at the fact that you struggle to explain something or that you keep having to re-explain something may be more important than the explanation itself. We can use this feedback constructively to change our code, our architecture, our practice, our process.


TRACK 7
Pragmatic architecture
Oliver Sturm
Planning application architecture is a complex task which requires detailed understanding of the technological platforms you’re targeting. Oliver demonstrates and explains the major steps of the process of creating an architectural concept for a medium-sized distributed .NET application. From data access over layering concerns to UI platforms, every topic needs to be considered, and this talk summarises the gist of the technical considerations and a healthy pragmatic philosophy. Oliver lets you participate and benefit from his experiences from project work and consulting – architects, programmers and owners of other job titles are equally welcome!


TRACK 8
SQL Server security best practices
Bob Beauchemin
This talk covers SQL Server security best practices in conjunction with new features in SQL Server 2008 and 2012. I’ll discuss how Policy-Based Management fits into the security and compliance picture, as well as when to use Transparent Data Encryption (or OS-based encryption such as BitLocker) vs. cell-based data encryption. I’ll compare and contrast SQL Profiler-based auditing with the SQL Server 2008 Auditing feature. Finally I’ll mention how best practices for service accounts and setting up logins, users, and schemas, and how this might change with some of the future features.
TRACK 9 – Microsoft
 
Windows Azure 101
 
Steve Plank
 
What is it that differentiates a Platform as a Service (PaaS) cloud platform from an Infrastructure as a Service cloud platform? Understanding this is a key to understanding Windows Azure. In this session we start by covering the story about what is included in Windows Azure. Then we drill in to the areas that specifically interest developers and architects: Compute, Storage, SQL Azure, Access Control Service and Service Bus. You’ll come away with a good understanding of how you could architect your own applications to take advantage of the maxim “from an architecture diagram on a whiteboard, to deployed, in 15 minutes”. This session is an excellent backgrounder for the Developing Applications on the Windows Azure Platform session.
13.00
Lunch
14.00
TRACK 1
Extensible .NET applications with the DLR
Oliver Sturm
Microsoft’s Dynamic Language Runtime (DLR) is a new layer on top of the CLR. It unifies the integration of dynamic languages into the .NET environment, and since it can be hosted in your own applications, it enables extensible architectures on the basis of those dynamic languages. This talk addresses specific concerns of providing the infrastructure for this kind of extensibility and shows working systems using C#, F# and the DLR-based IronPython.


TRACK 2
OData everywhere!
Matt Milner
More and more servers and systems are providing access to their data via OData, the open standard protocol for data exchange on the internet. In this session learn how to use your .NET skills to publish and consume that data from a variety of clients. We will start by showing the very elegant .NET client solution for OData services, and quickly move into the different libraries available for each client platform to understand the unique features and constraints of each.


TRACK 3
Deep, deep Metro
Dave Wheeler
So you’ve built your first Metro app, run it and got all excited.
But how on Earth did it get running?
This session will give you a solid insight into how a Metro-style application gets registered; how it is launched; and how it works at the lowest level.
This is not an introductory talk. You will see debuggers in action, spend time examining registry entries and step through calls to low-level WinRT APIs.
In other words, it’s a must-see session for anyone who really wants to know what happens when a Metro application is built and its tile is activated.


TRACK 4
ASP.NET MVC hidden gems, tips and tricks
Shay Friedman
The ASP.NET MVC framework has been around for more than two years now and has been constantly gaining popularity ever since. However, despite that fact, a lot of MVC developers are not aware of various hidden gems that can make their development experience much easier and nicer. In this session we will go through some of those which were added in the latest version – ASP.NET MVC 3.


TRACK 5
WCF Web API: backbone services for desktop, mobile and Metro apps
Christian Weyer
Details of this session will be announced prior to the conference.
For the latest details, check back on this page and follow @devweek on Twitter.


TRACK 6
Design for testing
Kevin Jones
Many developers now recognise the importance of unit testing, and either use Test First or Test Driven development. However, many developers and architects are still struggling to come up with designs that enable easier testing of their applications. This talk will examine some common unit testing problems and use various unit testing patterns to solve those problems.


TRACK 7
Agile.next
Neal Ford
Agile has matured to the point of mainstream success. Even large companies have discovered that it helps them build better quality software faster. But the agile practices that are mainstream today have been around for a long time. What is the next wave of innovation in the Agile world going to bring?
Agile software development works because of feedback loops, and to make it better (or repair what’s broken), you identify missing feedback loops, or replace broken ones. This talk uncovers two feedback loops missing from most projects. The first uses Behavior Driven Development and Cucumber to incorporate business analysts, testers, subject matter experts, and developers one one platform for requirements definition and verification. The other anemic feedback loop in many organisations involves the last mile to production: you have error prone, horrific manual releases that everyone hates. Continuous Delivery delivers proven techniques and tools to make “Done” better.


TRACK 8
Vertipaq storage in SQL Server 2012
Dejan Sarka
In SQL Server 2012, we are getting three flavours of column storage, called Vertipaq, powering the new Business Intelligence Semantic Model (BISM). BISM is a Microsoft’s fresh start in On-Line Analytical Processing (OLAP) area, providing simplified development and maintenance than Unified Dimensional Model (UDM). Vertipaq is coming in PowerPivot, Analysis Services and SQL Server. We are going to introduce the theoretical background for columnar storage. We are going to compare all three flavors of Vertipaq. In addition, we are going to describe the strengths and weaknesses of Vertipaq compared to classical SQL Server relational storage and to UDM.
Attendees should already be familiar with Transact-SQL and have basic knowledge about the BI suite in SQL Server.
TRACK 9 – Microsoft
 
Developing applications on the Windows Azure platform
 
Steve Plank
 
Learn how to use Visual Studio and the Windows Azure SDK/Tools to build highly scalable and reliable cloud applications. This session shows you how to get started with the tools to debug applications in the local Windows Azure Emulator. We’ll then build a demo application and deploy it to the live Internet. It will use a Web Role front end and a Worker Role at the back end to process messages. We’ll use Windows Azure Storage to store messages and follow them through the front end, via a storage queue to the back end. You’ll understand how VMs are provisioned automatically, how to scale up and down and how to use the core APIs. A great practical hands-on session for anybody who attended the Azure 101 session.
15.30
Coffee Break
16.00
TRACK 1
The .NET Garbage Collector: how to live happily with the GC
Richard Blewett
For many .NET developers the GC generally works in the background largely unnoticed. However, a clear understanding of how the GC works and is tuned is critical to writing efficient .NET code, and has a big impact on how you design your code. This talk looks at the GC in terms of how it works and is tuned and gives recommendations of practices that will either help or hinder the GC.


TRACK 2
Targeting mobile devices with HTML5 and CSS 3
Robert Boedigheimer
Mobile device adoption rates have been amazing, including smartphone sales passing sales for PCs. Does your web site work well on mobile devices? Do you want to leverage your web development skills to provide mobile solutions to a broad range of devices rather than learn how to develop in multiple languages for multiple device platforms? Learn how HTML5 and CSS 3 are dramatically changing the capabilities of web sites on mobile devices, and how you can adapt your web site to be not just available but efficient across a broad array of devices.


TRACK 3
When is a bool not a bool? Understanding the WinRT type system
Dave Wheeler
WinRT works with a broad range of languages through the use of projections. And most of the time a JavaScript, .NET or C++ developer won’t really need to care.
But there are a number of issues that need to be understood when dealing with different languages.
So come to this session to find out why there’s a new string type and how it actually works. Why arrays work the way they do. And why a 64bit integer may not be the best choice for an API parameter.


TRACK 4
Model binding in ASP.NET MVC
Scott Allen
Model binding is the magic in ASP.NET MVC that can bring together information in an HTTP request with the model objects you manipulate in code. Once you know how to take advantage of model binding you’ll write less code in your application. In this session we’ll look at model binding as it applies to validation, model state, and building model objects. We’ll explore the recursive nature of model binding, build a custom model binder, and look at some of the subtleties and magic you should avoid (or utilise) in your application.


TRACK 5
Real-world experiences with Windows Azure
Christian Weyer
No doubt: cloud computing is here. And we as .NET-branded developers can participate in the big game with the Windows Azure platform. In this session Christian reports first experiences from real world projects and demonstrates a couple of lessons-learned and various good practices. A number of things are very different when you are running on a Platform-as-a-Service (PaaS) like Windows Azure und the earlier you know and think about them the better it will be for your eventual cloud success. Come and hear about Azure-related topics like cost-oriented architecture, development & deployment, diagnostics & monitoring, optimisations or handling databases.


TRACK 6
Cognitive biases and effects you should know about
Kevlin Henney
In software development, developers, architects and managers often like to think of themselves as rational and clear thinking, not prone to the chaotic and contradictory thinking they see at home, in politics or in the world of business. Although it is possible to get further from the truth than this, it is not likely.
Those involved in software development are just as human as people in other walks of life, and are just as subject to the cognitive biases and effects that skew, truncate and bypass clear thinking. The effects on rationality affect everything from testing to estimation, from programming to project delivery. It is easier to see and react to these effects in yourself and others when you know what some of them are.


TRACK 7
Rediscovering Scrum: an exercise of refinement
David Starr
Knowing the rules of chess doesn’t equip you with strategies to win the game, much less make you a chess master. Many Scrum teams struggle to simply understand the rules and never consider longer-term strategies for success. Indeed, of the thousands of organisations using Scrum, only a small group of them realise the true benefits that Scrum offers. To address this epidemic of waste, Scrum itself has been refined to focus more on empiricism and self-organisation. This refinement was recently published in the Scrum Guide 2011, which was the focus in the last year of my work with Scrum’s co-creator, Ken Schwaber.
This interactive session illustrates how Scrum has matured by having participants identify the needed changes themselves and share experiences that illustrate how Scrum is often misapplied. We’ll learn from each other how to tune our teams for success with a new and deeper understanding of Scrum itself.


TRACK 8
Extended Events and the new Profiler in SQL Server 2012
Bob Beauchemin
Extended Events made its appearance in SQL Server 2008, but in SQL Server 2012, these lightweight events have been expanded. All of the events and fields available in SQL Profiler are now available in Extended Events as well as a graphic user interface, covering more use cases and enabling new debugging opportunities. After a quick review of how Extended Events work, I’ll cover the enhancements in detail. In addition to more events, Extended Events also exposed in the SQL Server 2012 PowerShell provider and SMO, and I’ll show working with Extended Events in PowerShell.
TRACK 9 – Microsoft
 
Total development management with Visual Studio 11
 
Richard Erwin
 
Visual Studio 11 aims to unite everyone involved in a development project. This session will look at how designers, developers, testers and operations can easily collaborate to avoid duplication of effort and improve productivity.
17.30
Close


Return to Sessions introduction