DevWeek 2013®
4-8 March 2012. London. The UK's Biggest Conference for Developers, DBAs and IT Architects.
Home
The Sessions
The Speakers
Request Information
Speaking at DevWeek
Sponsors & Exhibitors
Who Should Attend?
The Venue
Accommodation
Slides & Code
Join DevWeek Facebook group
Join DevWeek LinkedIn group

DevWeek 2013: Thursday 7 March

NOTE
The information on this page refers to DevWeek 2013. This site will be updated with information on DevWeek 2014 closer to the event.

  Tracks 1–9
9.30
TRACK 1
Windows 8 for JavaScript Developers
Mark Smith
So you want to build Windows Store applications, but you want to do it in JavaScript? Step right this way! HTML5 and JavaScript are first-class citizens in Windows 8, and if you’re presently familiar with them, you can leverage the skills you already have to join the ever-growing community of Windows 8 developers. This session provides a working introduction to Windows 8, JavaScript-style, and provides the know-how you need to make Windows 8 and WinRT do your bidding.


TRACK 2
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, and explains why they were introduced and what impact they have on the way you build distributed systems.


TRACK 3
Power debugging
Andrew Clymer
For many developers debugging tools start and end with Visual Studio. However, there are a large number of problems for which Visual Studio provides very little support – particularly threading and memory management issues.
WinDBG and the plugin SOS.DLL bring a new set of tools to .NET developers which can provide insights that help you solve bugs that you see during testing, and also allow you to diagnose issues occurring in production systems where the only data you can get is a crash dump file.


TRACK 4
Internals of security in ASP.NET
Brock Allen
Security is crucial for online applications. This session on security discusses the basics and then the internals of authentication and authorization in ASP.NET. We will discuss Windows and Forums authentication, how roles are assigned to the user and how to control authorization in both WebForms and MVC applications.


TRACK 5
Windows Azure websites
Steve Plank
You can provision a website inside 60 seconds. You can use familiar tools like WebMatrix and Visual Studio to develop it. You can publish to it in seconds from Visual Studio, TFS and Git. A number of popular CMS systems are supported right out of the box (out of the cloud). This session will show you how to use Windows Azure Websites, how to scale them up and out, how to develop for them, how to use the inbuilt CMS systems, how to manage DNS to give the names you need and finally how to extract logs and error reports and run the performance dashboards.


TRACK 6
Event sourcing as a new way of modeling system architecture
Dino Esposito & Andrea Saltarello
So you have an object model that represents the entities in the business domain you’re in. Entities have data and behaviour and you have bound them to a persistence layer. How would you represent effectively the state of the entities? How would you track the transitions of the invoice: issued, sent, resent, paid, returned, delayed? Each invoice has its own state but what about the history? And more, is the history important to you?
Event sourcing is a relatively new approach to object modeling that determines the state of an object by reading a stream of events rather than direct data. The persistence of objects doesn’t result from updating a record but from inserting a new record describing a state transition – as it happens in the real world.
In this talk, we’ll present event sourcing in the context of Domain-driven Design and illustrate some benefits it can bring you in some scenarios.


TRACK 7
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 8
Going spatial with Entity Framework 5.0 and Bing maps
Dan Clark
With the release of the Entity Framework 5.0 Microsoft has finally incorporated support for spatial data types. This now opens up the power of SQL Server spatial data types and querying to your .NET programs. Combining this with Bing maps allows you to create cool new applications to visualize your data.
This session will guide you through the process of creating an application that uses spatial types in EF 5.0. You will learn how to set up the EF model, load the model using SQL spatial queries and display the data using Bing maps.


TRACK 9
Designing and managing VLDBs on SQL Server
Klaus Aschenbrenner
SQL Server is able to run databases that have several TBs in size. But how must you structure and design those VLDBs (Very Large Databases), so that YOU can manage them without any problems? In this session we will look into physical database design through File Groups, then we move on to Partitioned Views, and finally we talk about Partitioned Tables, and how you can combine everything to implement a high sophisticated database infrastructure for your VLDB.
11.00
Coffee Break
11.30
TRACK 1
Networking and security in Windows 8
Dave Wheeler
This session focuses on how to get data to and from your Windows 8 Modern UI application; how to work with push and pull models; and how to keep your data, and your application, secure.
You’ll see what works (and doesn’t) in WCF; examine how to process XML, JSON and RSS feeds; and get a healthy dose of best practice in dealing with the ALM and how it relates to offering a great, connected, experience.


TRACK 2
Working with the extended team with Visual Studio 2012
Colin Beales
Successfully delivering a software project isn’t just about coding, and the more you can engage and collaborate with the extended team the more likely it is that you’ll be delivering the software that’s required. This session will look at how Visual Studio 2012 provides new capabilities to support storyboarding, requesting and driving feedback from stakeholders and supporting less formal approaches such as exploratory testing.


TRACK 3
How to assess User Experience
Tobias Komischke
“Errr, I don’t know… what do you think?” – People working in software development are frequently confronted with user interface concepts, prototypes or applications and then are asked for their feedback about the “user experience”. While everybody has a gut reaction, it can be hard to give a well-founded and constructive answer. This talk provides a 360-degree view on what the different dimensions of user experience are, and what concrete things you want to look for when assessing these dimensions. Free tools are presented that help to check concepts and products for their UX quality. Next time you’re in one of those UI review meetings, you’ll own the place!
The audience will be involved in a live usability test demonstration as well as a five minute Q&A period at the end of the presentation.


TRACK 4
Nine ways your next ASP.NET MVC project can be better
Michael Kennedy
So you’re ready to start that new and ambitious ASP.NET MVC project. Maybe you’re kicking off a new startup or just finally moving that old-and-crusty Web Forms project into the modern development world. Either way, this talk will give you some easy things you can do immediately after creating that new MVC project that you will thank yourself for as your project grows in complexity.
This talk will be based on my related blog post here: http://bit.ly/QoCxnC
We’ll examine each piece of advice using live demos with Visual Studio and some external tools such as YSLOW. We’ll also look at how to “modernize” MVC 3 projects with best practices built into MVC 4 projects (CSS bundles, etc.).


TRACK 5
Understanding the IIS web server
Robert Boedigheimer
Effective web developers understand not only how web pages are created but how they are executed. Review the basic architecture of IIS and major features. Learn how to extend IIS with managed .NET languages, and how these extensions can be applied to all files including images, documents, and HTML files. Use failed request tracing to not only troubleshoot problems but to also learn how requests are executed. Find detailed information about how web sites are processing requests, such as which requests are currently executing. See what new features will be available in IIS 8, and IIS Express which replaced the ASP.NET Development Server.


TRACK 6
Principles of programming
Allen Holub
There are a lot of rules-of-thumb lists out there, ranging from Martin’s SOLID principles to the Gang-of-Four design patterns. Underlying those lists, however are a set of core, often unarticulated programming principles that are not linked to any one methodology or style, but inform all of them. All excellent programs incorporate an intuitive understanding of these core principles. This session examines several of these core principles, showing how, when applied in a concrete way, they can turn into more familiar rules of thumb.


TRACK 7
Unit test smells and fragrances
Kevlin Henney
Unit testing is now considered a mainstream practice, but that does not mean it is as common, pervasive or as well understood as it could or should be. Many programmers struggle with the quality of their tests and with the focus of their code. For some programmers, products and projects, tests can be more of a challenge than any other aspect of the system, which is why tests are often inadequate or left to one side.
This talk takes a look at what characteristics make for unit tests that smell, and which make for more fragrant unit tests.


TRACK 8
T-SQL improvements in SQL Server 2012
Bob Beauchemin
There is new functionality in a lot of areas in SQL Server 2012 Transact-SQL. This talk covers them all and includes windowing and analytical function enhancements, ANSI-standard paging, metadata discovery, sequences, new functions, and improved error handling.


TRACK 9
SQL Server data mining
Dejan Sarka
Because Data Mining is quite mature technology in SQL Server suite, there are not many improvements in SQL Server 2012 Analysis Services. Data Mining is included in SQL Server suite from version 2000; however, it is still not used enough. Nevertheless, as the real Intelligence part of the Business Intelligence term, it can give us much more information than any other BI technology. We are going to introduce Data Mining and explain what we can get with it through real-life experience from many successful projects.
13.00
Lunch
14.00
TRACK 1
Sensory overload: using WinRT sensor and camera APIs
Mark Smith
Windows 8 supports a diverse assortment of sensors and hardware, including accelerometers, gyrometers, compasses, light meters and cameras. WinRT provides a comprehensive API that allows Windows Store applications to take advantage of these sensors to interact with the user in new ways. This session introduces the sensor and camera APIs and also how to build rich location-aware apps using the geolocation API.


TRACK 2
Roslyn – compiler as a service
Andrew Clymer
Microsoft is planning to expose the guts of the compiler, through the Roslyn project currently available as a CTP. The new compiler is written in managed code and provides APIs which allow you to get access to the various parts of the compiler pipeline (such as the parser), allowing access to syntax trees to build your own refactorings, code generation enabling meta programming.
Roslyn will lower the barrier of entry for developing such tools, hopefully enabling a host of customer-specific tooling that previously was too costly to consider. This talk will explore what Roslyn has to offer and showcase some uses of this new service.


TRACK 3
Security in .NET 4.5: claims-based identity, federation and single-sign-on in the box
Dominick Baier
.NET 4.5 is a big release when it comes to security. Microsoft decided to overhaul their complete identity & access control APIs. This includes introducing the notion of claims-based identity into the base class library in a way that every application framework (e.g. ASP.NET and WCF) will automatically make use of that new infrastructure. On top of that, protocol and security token support makes otherwise really hard to implement features like single-sign-on, federation and authorization very easy. Since every .NET application on 4.5 will use these new APIs, this talk is essential for everyone who deals with authentication and authorization in their code base.


TRACK 4
Building rich input forms in ASP.NET MVC
Michael Kennedy
ASP.NET MVC has gained broad adoption over the last year. This is in part due to its clean and simple design. However, one aspect that newcomers typically get hung up on is building pages that accept user input in various manners. In this talk we will explore the powerful features of ASP.NET MVC that allow us to build rich forms that accept user input. We’ll begin by discussing the built-in HTML Helpers and Model Binding. Next we’ll add validation and show how we can do both client- and server-side validation using DataAnnotations. We’ll see that sometimes using domain models as our form-bound objects doesn’t make sense and so we will cover more advanced scenarios using View Models. Finally, time permitting, we’ll see how client-side programming with JavaScript and jQuery can take this even further.


TRACK 5
Fast facts of social network programming
Dino Esposito
Social networks like Twitter, Facebook and LinkedIn have long since become part of our life. The level of integration between general-purpose software applications and social networks is, however, surprisingly low. Twitter and Facebook offer widgets to integrate basic post and like capabilities in a web site, but what about a desktop application? And what about gaining total control over the post mechanism and making it happen automatically and programmatically?
In this talk, we first look at basic HTML-focused ways of adding Twitter/Facebook functions to a web site, and then look into the Twitter and Facebook SDK to see how to authenticate and post on behalf of an agreeable user from any kind of .NET application.


TRACK 6
Emergent design
Neal Ford
This session describes the current thinking about emergent design, discovering design in code. The hazard of Big Design Up Front in software is that you don’t yet know what you don’t know, and design decisions made too early are just speculations without facts. Emergent design techniques allow you to wait until the last responsible moment to make design decisions. This talk covers four areas: emergent design enablers, battling things that make emergent design hard, finding idiomatic patterns, and how to leverage the patterns you find. It includes both proactive (test-driven development) and reactive (refactoring, metrics, visualizations, tests) approaches to discovering design, and discusses the use of custom attributes, DSLs, and other techniques for utilizing them. The goal of this talk is to provide nomenclature, strategies, and techniques for allowing design to emerge from projects as they proceed, keeping your code in sync with the problem domain.


TRACK 7
Top 10 tips for successful Agile adoption
Allan Kelly
70% of company change initiatives fail; Agile & Scrum aren’t immune, adoption programmes hit problems, go slow and ultimately fail. So what can you do to make your initiative one of the 30% which does succeed?
Well Allan Kelly has some suggestions. In this presentation he will present his top-10 list of things you can do to improve your chances of success. Things such as: Use a physical board, act don’t talk, and use both technical and process change.


TRACK 8
Spatial BI with PowerPivot, Power View and Excel 2013
Dan Clark
With the release of Excel 2013, Microsoft has combined two powerful tools for analyzing your data; PowerPivot and Power View. Microsoft has also incorporated new spatial capabilities into Power View. With these new capabilities you can easily combine and view your data in a Bing map layer and gain powerful insight into your data.
This session will guide you through the creation of a spatial business intelligence solution based on PowerPivot, Power View, and Excel 2013. You will learn how to load the data into PowerPivot, create a model to support the data analysis, and use Power View to create maps to explore and gain insight into the data.


TRACK 9
Advanced SQL Server 2008 troubleshooting
Klaus Aschenbrenner
It’s Friday, 5pm. You’ve just received an email that informs you that your SQL Server has enormous performance problems! What can you do? How can you identify the problem and resolve it fast? What tools does SQL Server provide to help you with this task?
In this session you will see a lot of different tools with which you can do effective SQL Server troubleshooting. You will learn how to identify performance bottlenecks with those tools, and how to resolve the identified bottlenecks.
15.30
Coffee Break
16.00
TRACK 1
Searching, sharing, and more: using contracts to make your app a first-class citizen in the Windows environment
Mark Smith
Contracts enable Windows Store applications to integrate more tightly with the operating system and other Windows apps by supporting searching, sharing, settings, and more. This session explores the purpose of contracts, the benefits they offer, and how to implement them in your app.


TRACK 2
Applied NoSQL in .NET
Michael Kennedy
Perhaps you’ve heard about the next generation of databases roughly classified as NoSQL databases? These databases are generally much better than RDBMS at scaling, performance, and ease-of-development (e.g. in NoSQL the object-relational impedance mismatch usually disappears). Unfortunately, many talks on NoSQL are very academic and general. Not this one.
This session will introduce the ideas around the so-called NoSQL movement, and we’ll learn how to leverage MongoDB (a popular open source NoSQL db) to build .NET applications using LINQ as the data access language. We’ll build out a .NET application using LINQ and MongoDB in a series of interactive demos using Visual Studio 2012 and C#.


TRACK 3
Top UI live
Dave Wheeler
Join Jeremy Clarkson (well, almost!) in this riotous review of user interfaces good and bad.
Examine why some UIs completely miss the mark, whilst others are a joy to use.
Enjoy games such as “Where did the Power Button Go?” and “Message Box Jeopardy!”.
Vote to place common applications on the “Cruel Wall”.
With a healthy dose of UX principles amidst the carnage, come to this session to kick back, relax and spend 90 minutes focusing on what REALLY matters to the users: their experience.


TRACK 4
Mobile development with MVC 4 and jQuery Mobile
Brock Allen
Come to this session to check out the new support for mobile device development in MVC 4. We’ll look at the new Display Modes feature for rendering different views for different device types. We’ll also look at jQuery Mobile which is the client-side mobile framework shipping with MVC 4 for building mobile applications.


TRACK 5
An introduction to web debugging tools
Robert Boedigheimer
What tools do you use to aid your web development? Learn how to use Firebug, Chrome and IE Developer Tools to diagnose hard to locate stylesheet problems, profile and debug JavaScript, monitor network usage, and many other common tasks.
Professional web developers are often using these types of tools several hours a week to develop better web sites more quickly.


TRACK 6
Build your own technology radar
Neal Ford
ThoughtWorks’ Technical Advisory Board creates a “technology radar” three or four times a year, a working document that helps the company make decisions about what technologies are interesting and where we will spend our time. This is a useful exercise both for you and your company. This session describes the radar visualization, how to create litmus tests for technologies, and the process of building a radar. You need two radars. As an individual, a technology radar helps guide your career decisions and focus your precious R&D time. For your company, creating a radar helps you document your technology decisions in a standard format, evaluate technology decisions in an actionable way, and create cross-silo discussions about suitable technology choices. Attendees will leave with tools that enhance your filtering mechanisms for new technology and help you (and your organization) develop a cogent strategy to make good choices.


TRACK 7
TDD or BDD: focus on what’s important
Hadi Hariri
Dan North coined Behaviour Driven Development many years ago. It has gradually caught on in many shapes and forms. Dozens of frameworks have been born to “enable BDD”, from the original JBehave to RSpec, Cucumber, Specflow, MSpec and so on and so forth. This has brought about it some bad things too. BDD has shifted from being about core elements (communication and asking the right questions) to being more about frameworks, styles and keywords, losing its original intent and value. The somewhat “me too” and “not invented here” authors of many frameworks have only contributed to this unfortunate scenario.
In this talk we’ll discuss some experiences with BDD and the lessons learned over the years of applying it with different projects.


TRACK 8
SQLCLR internals, .NET 4 support, and the new memory manager in SQL Server 2012
Bob Beauchemin
SQLCLR is still a mystery for many DBAs (and some developers) long after being introduced in SQL Server 2005.
This session covers how SQLCLR works internally and enhancements in SQL Server 2012, including memory management and .NET 4 support


TRACK 9
Market basket analysis
Dejan Sarka
Cross-selling is one of the best ways how to increase your sales. In order to know what products to offer together, you need to do a market basket analysis. Many solutions still use all kinds of distinct count queries, including T-SQL queries from SQL Server data, MDX queries from Analysis Services Dimensional models, or DAX queries from PowerPivot and Analysis Services Tabular data. However, once you know how to perform market basket analysis with data mining, you will forget on all other techniques. DMX queries will blow away other language queries. In this session, you are going to learn which data mining algorithms you should use for market basket analysis, how they work, and how you can efficiently use them in production.
Prerequisites: Basic experience with SSAS Dimensional, Tabular and Data Mining
17.30
Close


Return to Sessions introduction