 |
Agenda NDC 2011To plan your conference or decide which days you want to participate, log in here | Color codes for sessions:
|
Programming Languages |
|
|
Web |
|
|
Architecture |
|
|
Mobile |
|
|
Testing |
|
|
Security |
|
|
TDD |
|
|
Domain Driven Design |
|
|
SharePoint |
|
|
Cloud |
|
|
Agile |
|
|
jQuery |
|
|
Client |
|
|
Tools & Techniques |
|
|
JavaScript |
|
|
NoSql |
|
|
Ruby |
|
|
UX |
|
|
BI |
|
|
BDD |
|
|
REST |
|
|
Architecture & Design |
|
|
HTML5 |
|
|
Kanban |
|
|
AOP |
|
|
| Time | Track 1Web | Track 2Design & Architecture | Track 3Agile/Legacy Code | Track 4The Goodie Bag | Track 5AOP & IoC | Track 6SharePoint, BI, Web | Track 7 | Workshops | | Ryan Dahl | Node.js Time: 9:00 - 10:00 (Track 1) | Ryan Dahl | Node.js Node is system for writing high–concurrency low–latency network software using JavaScript. This talk will provide an introduction to some of the basic APIs and go through a few examples of how it can be used. |  Ryan Dahl is a programmer at Joyent and creator of Node.js. His work invariably involves interruptible parsers, event loops, and response time histograms. | |
|
|
| Rob Ashton | Introduction to RavenDB Time: 9:00 - 10:00 (Track 2) | Rob Ashton | Introduction to RavenDB In this session we will give a brief introduction to the concept of a document database and how it relates to what we already know before launching into a series of code demos using the RavenDB .NET Client API.
We will cover basic document structure, persistence, unit of work, querying⁄searching, and demonstrate real world use for map⁄reduce in our applications. |  Rob Ashton is a freelance software consultant from the UK, but currently operating in Belgium. He primarily works on an primarily open source .NET stack and is passionate about good design and continuous improvement.
| |
|
|
| Gil Zilberfeld | Danger! Craftsmen ahead! Time: 9:00 - 10:00 (Track 3) | Gil Zilberfeld | Danger! Craftsmen ahead! Lately, the craftsmanship movement has been getting many followers. It is not the first time that a group of developers say they had enough, and it's time for a change. Only this time, it's different.
It may be unpopular, but it needs saying: Before joining the craftsmanship crusade, people should read the fine print. Declaring ourselves craftsmen, affects not just our everyday life – it has implications on our future career.
In this session, we'll talk about movements in the developer community – how they compare to the craftsmanship movement. It's time to take a look at what we're doing and focus: If we want to achieve what craftsmanship offers, we need to learn a new language: business. Without it, we'll see the rise of another old⁄new movement in 5 years. |  Gil Zilberfeld has been in software since childhood, starting out with Logo turtles. With more than15 years of developing commercial software, he has vast experience in software methodology and practices.
| |
|
|
| Carl Franklin | Producing great video and audio on a budget Time: 9:00 - 10:00 (Track 4) | Carl Franklin | Producing great video and audio on a budget Avoid that "conference room" sound in voice recordings. Carl Franklin shows you the tricks of the trade for making great recordings with cheap gear. Learn what gear has the best bang for the buck, the basics of Adobe Audition 3.0, techniques for noise reduction, identifying and removing problem frequencies,
recording phone tracks, and generally making great sounding audio recordings.
Learn how to avoid the pitfalls of amateur video. Get great looking videos without breaking the bank. Learn about the latest affordable gear, the basics of lighting, shooting, non–linear editing with Sony Vegas (a WPF app!), video file formats, codecs, transcoding, free utilities, and all of the tricks you need to know to end up with great video. |  | |
|
|
| Gael Fraiteur | Produce Cleaner Code with Aspect-Oriented Programming (AOP) Time: 9:00 - 10:00 (Track 5) | Gael Fraiteur | Produce Cleaner Code with Aspect-Oriented Programming (AOP) Rather than giving us a nice separation of concerns (assembly > namespace > class > method), there are times when OOP forces us to write crap – scattering, tangling and coupling our code.
Gael Fraiteur, SharpCrafters Founder and Principal Engineer, will speak about the problem with conventional programming, give a gentle introduction to AOP (.NET), show how it works, and why you should be using it to eliminate crap code from your life. |  Gael Fraiteur is the Founder and Principal Engineer at SharpCrafters, makers of PostSharp – the most comprehensive aspect–oriented programming (AOP) toolkit for Microsoft .NET – based in Prague, Czech Republic. | |
|
|
| Harald Fianbakken | SharePoint 2010 automation using PowerShell Time: 9:00 - 10:00 (Track 6) | Harald Fianbakken | SharePoint 2010 automation using PowerShell As a SharePoint 2010 developer or administrator you have probably spent hours in Central Administration creating web apps, sites, deleting and recreating service applications and doing lots of manual labor. How many times a week have you deleted a site and a list and recreated the contents manually from scratch in your development cycle?
More than once? Too bad! You’ve could have saved a lot of time!
This talk will go through examples on common tasks in SharePoint 2010 you might as well automate or could automate. |  Harald is a developer and solution architect at CIBER. He is a core .NET developer and tech–enthusiast, working with both Java and .NET. Passionate for low level details and performance. | |
|
|
| Sebastien Lambla | Package Management deep-dive with OpenWrap Time: 9:00 - 10:00 (Track 7) | Sebastien Lambla | Package Management deep-dive with OpenWrap For an hour, we’ll explore all the lesser–known features of OpenWrap: how builds, tests, commands, tooling and deployment are handled by the OpenWrap platform, how to extend packages to provide your own components in your application, and how any application can become pluggable and publishable by leveraging the core OpenWrap infrastructure. |  Sebastien Lambla runs Caffeine IT, a .net consultancy ⁄ contracting company helping the good people of London adopt new technologies, new processes, new methodologies and in general anything that's new and shiny. | |
|
|
| Tom Gilb Kai Gilb | Part 1 of 2 How to quantify any quality requirement: a workshop Time: 9:00 - 10:00 (Workshops) | Tom GilbKai Gilb | Part 1 of 2 How to quantify any quality requirement: a workshop • Defining all qualities so they are intelligible, unambiguous, and testable
• The structure of a quality, a practical template (Tag, Ambition, Scale, Meter, Benchmark, Constraint, Target, Background)
• 'Patterns' for quality scales
• modifying a pattern to your needs
• Scale variables: power to get realistic and avoid overgeneralization
• Googling a quantification pattern
• Reusing and retailoring your own quality patterns |  Tom Joined IBM Oslo, in 1958, and has been a business consultant since 1960, with his own company.
 Kai has been working as a project consultant, teacher and coach for the past 19 years. | |
|
|
| | | | Damian Edwards | NuGet in a caramel coated nutshell Time: 10:20 - 11:20 (Track 1) | Damian Edwards | NuGet in a caramel coated nutshell Want to learn as much as possible about the new .NET package manager, NuGet, in as short a time as possible? Come to this session. We’ll cover the basics of what NuGet is and how to use it in your applications today, to creating your own packages, managing dependencies and running your own NuGet feed server. |  Damian Edwards is a Program Manager at Microsoft on the ASP.NET team where he works on Web Forms and Microsoft’s work with jQuery, and a former Microsoft MVP in ASP.NET. | |
|
|
| Ian Robinson | Getting Things Done with REST Time: 10:20 - 11:20 (Track 2) | Ian Robinson | Getting Things Done with REST REST's hypermedia constraint is all about getting things done – that is, making changes to the state of an application to achieve a particular goal. Put simply, in a web–based hypermedia system, clients apply HTTP's uniform interface to operate links and forms in pursuit of their application goals.
Using Microsoft's new WCF HTTP APIs, in this session I'll discuss the implementation of machine–to–machine interactions in a hypermedia–driven distributed system. I'll look at how we can develop and test discrete parts of a workflow, and build clients that can be guided on the fly to complete their application goals. |  Ian Robinson (@iansrobinson) is the SOA practice lead for ThoughtWorks Europe, having spent many years architecting and implementing distributed systems for clients in the telecommunications, entertainment and financial services sectors. | |
|
|
| Mitch Lacey | How to succeed with the Product Owner role Time: 10:20 - 11:20 (Track 3) | Mitch Lacey | How to succeed with the Product Owner role The product owner role is one of the most underestimated and misunderstood jobs on a Scrum team. A good product owner must be able to juggle business needs, stakeholder demands, and team capacity realities, all in the pursuit of an end product that is on time, on budget, and on target. In this session, Mitch Lacey demystifies the product owner role, explaining the primary responsibilities and providing down–to–earth advice on choosing the right person for the role. He then delves deep into several key product owner tasks, including creating and prioritizing a large product backlog, managing stakeholders, and working with the team to get the highest productivity possible.
Product owners who succeed do so with a unique combination of political savvy, disciplined organization, and multi–focal vision. Come to this session and obtain the crucial tools you need to get the job done. |  Mitch Lacey is an agile practitioner and trainer. Mitch has been managing projects for over twelve years and has numerous plan–driven and agile projects under his belt. | |
|
|
| Jon Skeet | Async Deep Dive Time: 10:20 - 11:20 (Track 4) | Jon Skeet | Async Deep Dive Ever wondered what's going on inside async and await? What's new in the compiler in C# 5? What secret sauce is in AsyncCTPLibrary.dll? How you extend your own libraries to take advantage of all the async goodness? If so, this is the talk for you. We'll take everything from the ground up, building our own (mini) version of AsyncCTPLibrary from scratch, and exploring the compiler transformations at the same time.
This talk will not cover the basics of async – there are far too many fun details to explore! You should either attend the Async 101 talk first, or familiarize yourself with the Async CTP via the MSDN web site, including various videos. |  Jon Skeet is a Java developer for Google in London, but he plays with C# (somewhat obsessively) in his free time. | |
|
|
| Donald Belcham | Advanced Aspect Oriented Programming Time: 10:20 - 11:20 (Track 5) | Donald Belcham | Advanced Aspect Oriented Programming As the idea of Aspect Oriented Programming (AOP) gains more momentum in the industry, we need to be presented with ideas and concepts that are beyond the ubiquitous “logging” example. This session will explore concepts such as simplifying aspect creation, flow control, and AOP in non–traditional technologies. After this session you will have a deeper appreciation for the capabilities and applications of AOP in your applications. |  Donald Belcham is a senior software developer, independent contractor, and agile development expert who is a strong supporter of fundamental OO patterns and practices. | |
|
|
| Ingo Rammer | HTML5 - Offline Business Applications for Desktops, Tablets and Phones Time: 10:20 - 11:20 (Track 6) | Ingo Rammer | HTML5 - Offline Business Applications for Desktops, Tablets and Phones HTML5 allows the creation of line of business applications which rely on the browser’s offline storage capabilities for application and data. These applications can provide user experiences comparable to native applications and allow large percentages of code and markup reuse between Desktop, Android, iOS and the most recent Blackberry OSes (and Windows Phone 7 in November 2011). In this session, you will learn about the capabilities of HTML5 which pertain to these kinds of applications, about the frameworks which can help you create offline business applications and about the pitfalls and uncharted⁄semicharted areas you will have to enter. |  Ingo Rammer is co–founder of thinktecture, a company providing architecture, design, review, and troubleshooting services for software architects and developers. He focuses mainly on improving performance, scalability and reliability of critical .NET applications. | |
|
|
| Einar Ingebrigtsen | CQRS in the wild - Komplett.no case study Time: 10:20 - 11:20 (Workshops) | Einar Ingebrigtsen | CQRS in the wild - Komplett.no case study You've heard about Command Query Responsibility Segregation and seen all the demos and presentations.
Have you ever wondered about how you could apply it in the real world? How you would apply these architectural principles to a brownfield application?
This session will walkthrough the whole process as experienced @ Komplett, from changing the mindset of developers and the business as they learned to embrace the domain and move away from a data–driven approach, to real–world scenarios and trade–offs.
You'll hear about what worked, what didn't work and what could have been done better... so maybe you won't have to repeat the same mistakes. |  Einar Ingebrigtsen is a software consultant specializing in .net related technologies. He is a Silverlight MVP and has been working with .net since its beta phases in 2001. | |
|
|
| | Time: 10:20 - 11:20 (Workshops) | |
|  Here are some of the speakers which have been signed for NDC 2011 so far. New speakers will be updated consecutively, so stay tuned! | |
| |
| | | | Christian Johansen | Designing a JavaScript application Time: 11:40 - 12:40 (Track 1) | Christian Johansen | Designing a JavaScript application Increasingly complex web applications require proper planning and design to work well. In this session I will show you some commonly used design patterns for JavaScript in the browser – both for small "widgets" as well as larger one–page applications. I will also cover some performance tips to keep that fancy application snappy, even on less capable hardware such as the emerging tablet platform. |  Originally a student in informatics, mathematics, and digital signal processing,Christian Johansen has spent his professional career specializing in web and front–end development with technologies such as JavaScript, CSS, and HTML using agile practices. | |
|
|
| Fredrik Kalseth | Dr. CQRS or: How I Learned to Stop CRUDing and Love the Domain Model Time: 11:40 - 12:40 (Track 2) | Fredrik Kalseth | Dr. CQRS or: How I Learned to Stop CRUDing and Love the Domain Model Everyone likes to talk about their domain model – and yet, most applications I’ve seen expose CRUD services to the user interface. Learn why this is a contradiction in terms, and how to restore order to the universe.
Since the answer is so simple, the remaining 42 minutes of the talk will be used to explore interesting ways to implement an application that doesn't cut against the grain of its domain model, using cutting edge .NET technology like Silverlight and WCF Data Services. |  Fredrik works as a senior consultant for Capgemini in Stavanger – at least that is what his business card will tell you. In his own words, Fredrik is a software craftsman apprentice, solving client’s software needs by day and studying the craft of software development by night. | |
|
|
| Gary Short | How to architect a codebase-wide refactoring project. Time: 11:40 - 12:40 (Track 3) | Gary Short | How to architect a codebase-wide refactoring project. The notion of approaching such a huge refactoring task is daunting to say the least, and the altruistic idea of dismantling the project piece by piece, then re–building it systematically is more easily said than done. But through the course of this advanced refactoring session, we’ll identify and assemble the building blocks needed to accomplish a task of this nature.
We’ll approach such concepts as functional decomposition, code criticality, the correctness continuum, sub–tree refactoring index and prioritisation. All these considerations can help you to avoid mission–critical mistakes as you take on this beast. You can anticipate thorough definitions, explanations and demonstrations of each concept, so that by the end of this presentation you’ll have the foundations you require to architect a refactoring project of this magnitude … or to eat an elephant, whichever you would prefer. |  Gary Short works for Developer Express as the Technical Evangelist on the frameworks team. | |
|
|
| Rob Conery | Making Your Rails App Sing Time: 11:40 - 12:40 (Track 4) | Rob Conery | Making Your Rails App Sing In this talk Rob Conery shows you 7 ways to improve your production Rails application based on the his experience building Tekpub.com. Topics include focusing on gems you can't live without, overriding Rails core generators, and choosing making solid data access choices. Even if you're not a Rails developer – seeing what the framework is capable of can be incredibly interesting. |  Rob Conery recently worked at Microsoft on the ASP.NET team. He is co–founder of Tekpub and the creator of SubSonic. | |
|
|
| Philip Laureano | Ten Simple Rules for Rewriting IL on the CLR Time: 11:40 - 12:40 (Track 5) | Philip Laureano | Ten Simple Rules for Rewriting IL on the CLR Have you ever wanted to bend the CLR to your will? Was there ever a time where you wished that the C# language had a particular language feature, only to find out that C# vNext was still a few years away? Being able to rewrite IL can give you the power to control the CLR with a just a few set of instructions, and in this session, I’ll show you how to do just that.
IL rewriting is the ability to take any piece of .NET code and be able to add additional method calls, intercept existing methods, and change the structure of any given .NET program without altering the original source code.
This session will talk about the ten common pitfalls and obstacles in learning rewriting IL, as well as talk about lessons learned from writing an AOP framework, such as LinFu.AOP. |  Philip Laureano is the author of LinFu, an open source framework for implementing AOP, dynamic proxies, design by contract, mixins, inversion of control, and universal event handling on the Common Language Runtime. | |
|
|
| Jan Maximilian Winther Kristiansen Anders Ganes | SharePoint 2010 for Internet – Issues and solutions through a case study Time: 11:40 - 12:40 (Track 6) | Jan Maximilian Winther KristiansenAnders Ganes | SharePoint 2010 for Internet – Issues and solutions through a case study SharePoint 2010 was chosen as the platform for the new public website for The Norwegian Defense , www.forsvaret.no, as one of the first large scale web sites built upon SharePoint 2010 for Internet Sites worldwide. By choosing SharePoint 2010 as a platform you get a powerful and feature rich foundation, but there are also some concerns. DIFI (Agency for Public Management and eGovernment) has defined many requirements that public websites have to fulfill. Soon, these requirements will also apply to all Norwegian websites. In this talk we will discuss how SharePoint 2010 fulfills these requirements. This also includes a closer look at SharePoint in regard to usability, how SharePoint 2010 relates to the Web Content Accessibility Guidelines (WCAG) 2.0 and what issues and experiences we have made related to these topics. We will also share our experiences with SharePoint as a large–scale Content Management System for Internet solutions, issues that has been dealt with as well as workarounds and solutions. |  Jan Maximilian Winther Kristiansen is a software engineer with Steria AS in Norway. His main passions are SharePoint 2010,
C# and web related technologies like JavaScript, HTML5 and CSS.
 Anders Ganes has been developing SharePoint solutions since he graduated with a MSc in Computer Science in 2008. | |
|
|
| Ben Hall | Continuous Deployment for ASP.net Time: 11:40 - 12:40 (Track 7) | Ben Hall | Continuous Deployment for ASP.net While Continuous Integration has been around for a number of years, Continuous Deployment is the new hotness. Coming from the lean startup movement, continuous deployment is gaining ground as the new way to manage deployments and allow features to be delivered in a more timely and reliable fashion.
In this session, Ben will explain the concept of Continuous Deployment and how companies like kaChing, flickr and IMVU are deploying new code changes to production upto 50 times a day and as a result delivering huge amounts of value to their users.
Explaining the process in real world terms, Ben will explore the tools required to start successfully performing Continuous Delivery and Deployment when developing ASP.net applications.
As Continuous Deployment isn’t just about code changes, Ben will also discuss how you can ensure that your systems are working as expected via real–time monitoring while at the same time making sure that your changes are having positive impacts on users via A\B testing. By the end, hopefully you will look at software deployment in a whole new light. |  Ben Hall is a UK C# developer\tester with a strong passion for software development and loves writing code. | |
|
|
| Tom Gilb Kai Gilb | Part 2 of 2: How to expand a User Story: a workshop Time: 11:40 - 12:40 (Track 7) | Tom GilbKai Gilb | Part 2 of 2: How to expand a User Story: a workshop • A Practical 'Template with Hints', for User Story Expansion
• Tagging a story for reuse
• Versioning and Ownership
• US structure, Stakeholder⁄Need⁄Justification
• Specifying multiple stakeholders, not just one user
• The Ambition level, how much improvement
• Making the 'need' testable, the Scale or clear definition
• Making the justification convincing
• other tactics to expand the user story, to a more useful specification |  Tom Joined IBM Oslo, in 1958, and has been a business consultant since 1960, with his own company.
 Kai has been working as a project consultant, teacher and coach for the past 19 years. | |
|
|
| | | | Shy Cohen | Cloud computing Guidance Part 1 and 2 Time: 13:40 - 14:40 (Track 1) | Shy Cohen | Cloud computing Guidance Part 1 and 2 Cloud Computing is “the next big thing” in the evolution of the computer industry. It levels the playing field by offering every developer and company in the world virtually unlimited, aggressively priced, and readily available computational, storage, and communication resources. But what’s the best way to use all the new goodness? In this fast–paced session we will explore some of the best practices for migrating existing applications to the Cloud, creating new Cloud applications, and creating hybrid application that combine on–premises and Cloud assets. The session will be Windows Azure centric, but the principles presented are applicable to any Cloud platform. In addition to discussing various technological aspects of Cloud Computing, we will also briefly survey the budgetary and organizational aspects of Cloud Computing, as compared to developing on–premises software. |  Shy Cohen is a software architect and a consultant focusing on cloud computing, distributed systems, and software architecture. Shy is the Principal of Shy Cohen Consulting, a technology–consulting company, and the CEO of CloudValue, a company focused on cloud cost–management. | |
|
|
| Alf Kåre Lefdal | Entity Framework 4 - Get started now Time: 13:40 - 14:40 (Track 2) | Alf Kåre Lefdal | Entity Framework 4 - Get started now ADO.NET Entity Framework 4 (EF4) has been around for quite some time, and it is Microsoft way of doing object–relational mapping (ORM). Still, many developers have not started using it. This presentation will show three different ways of using EF4: Database–first, Model–first and Code–first.
Related to Entity Framework there are scaffolding techniques available. Applications can be created quickly using ASP.NET Dynamic Data and MvcScaffolding (ASP.NET MVC3), and this will be shown.
The goal of the talk is to get the developers aware of different ways of working with EF4, so that they can make better decisions when and how to use it. |  Alf is a Principal Engineer with Computas, a Norwegian consulting firm specializing in services and solutions supporting knowledge work.
| |
|
|
| Sergey Dmitriev | How to survive on an agile project? Time: 13:40 - 14:40 (Track 3) | Sergey Dmitriev | How to survive on an agile project? Many organizations today have adopted scrum, kanban, xp and other agile frameworks and practices. It does not matter if you are a developer, tester, interaction designer, project or product manger, the chances are really high that you have already been hit by the agile or will be hit pretty soon.
In this interactive discussion with practical exercises I will show you ways how to survive in the agile environment. You will learn many survival strategies and how to apply them your everyday life.
They say "if you can´t beet them, join them!". |  Strategy consultant, agile coach and Certified Scrum Trainer®.
Have been working with transformations to agile since 2005, helping organizations implement: Scrum, Kanban and Lean.
| |
|
|
| Martin Jul | Top 10 things to learn from Clojure that will make you a better developer in any language Time: 13:40 - 14:40 (Track 4) | Martin Jul | Top 10 things to learn from Clojure that will make you a better developer in any language Clojure is an exciting new functional programming language with a fresh approach to reducing the complexity of writing software for today's multi–core reality.
Claiming that mutable state is the new spaghetti code, it radically simplifies concurrent programming by defaulting to immutability. This allows the programmer to safely share data between threads without getting into concurrency issues.
The key enabler for this is a set of well–designed core data structures that provide fast, thread–safe data transformation without requiring locks or excessive copying.
We will learn how to use these concepts for managing application state and building concurrent systems and avoiding designing ourselves into the mess that is often associated with introducing threading in legacy applications.
We will also look at how its use of a small set of general data abstractions combined with the functional programming focus on avoiding side–effects make for powerful yet simple library design and how these ideas can be applied in other languages.
Finally, we will take a look at how to use software transactional memory and agent–based programming, and review how Clojure mixes these concepts with ideas from object–orientation.
Intended audience:
Developers interested in inspiration for their design, especially related to concurrent software.
No Clojure background required. |  Building better software faster is Martin's mission. Martin helps development teams implement lean⁄agile software development and improve their craftmanship teaching hands–on development practises such as iterative design and test–first. | |
|
|
| Krzysztof Kozmic | Inversion of Control containers: patterns and anti-patterns Time: 13:40 - 14:40 (Track 5) | Krzysztof Kozmic | Inversion of Control containers: patterns and anti-patterns Inversion of Control Containers although widely used are still often considered arcane, advanced and complicated. There are many misconceptions surrounding their goal and intended usage that often lead to developers working around the tool, instead of working with it. This presentation will clear some of the misconception, explain some of the less understood aspects of containers and discuss what you should be paying attention to, to fully reap benefits of your container. |  Krzysztof Kozmic is a consultant with Readify, working and living in Brisbane, Australia. He’s been working with .NET framework since version 1.1. Since 2009 he’s been a core member of the Castle Project team, working primarily on DynamicProxy and Windsor container. | |
|
|
| Sahil Malik | MAINTAINABLE CUSTOM CODE STRATEGIES IN SHAREPOINT 2010 Time: 13:40 - 14:40 (Track 6) | Sahil Malik | MAINTAINABLE CUSTOM CODE STRATEGIES IN SHAREPOINT 2010 I always end up being that lucky guy that ends up inheriting everyone else’s undocumented code. Okay, documented code isn’t something I like either. Documenting code is like explaining a joke – if you have to explain it, it isn’t good! The biggest problem with documentation is that it is not testable. And therefore reliant on the due diligence and interpretation of the author. In this session, Sahil shares some of his practical insights around what he has done in the past to keep his custom SharePoint code maintainable over the long run. |  Sahil Malik is a Microsoft MVP (Currently in SharePoint server competency, previously C#), INETA Speaker, a .NET author, consultant and trainer and a well–rounded overweight geek. | |
|
|
| The three amigos Conery, Bellware & Hariri | The Three Amigos |
|
| Jon Jagger Olve Maudal | CyberDojo - browser based collaborative coding practice Time: 13:40 - 14:40 (Workshops) | Jon JaggerOlve Maudal | CyberDojo - browser based collaborative coding practice A CyberDojo is deliberately designed to stimulate deep experiential
learning of both aspects of software development:
- the technical side – coding and test–driven development
- the social side – communication and collaboration
In a CyberDojo you practice developing software whilst playing "musical chairs"!
- the players work in small groups
- each group works at a single computer
- each group writes their code and tests totally inside a CyberDojo web page
- each group submits their code and tests to the CyberDojo server as
often as they wish
- the CyberDojo server saves their submission, runs their tests, and
returns the tests–outcome to their browser (green if all tests pass)
To encourage collaboration every few minutes...
- all keyboard drivers must rotate to a non–driver role
- either at the same computer or a different one
A CyberDojo is fun and stimulating.
Participants are asked to please bring their laptop. |  Jon Jagger is an independent software coach–consultant–trainer–enthusiast based in England.
 Olve Maudal loves to write code, but is perhaps more interested in how software is developed than what it actually does.
| |
|
|
| | | | Erlend Oftedal | Avoiding Cross site scripting - not as easy as you might think Time: 15:00 - 16:00 (Track 1) | Erlend Oftedal | Avoiding Cross site scripting - not as easy as you might think Cross site scripting (XSS) is one of the most common vulnerabilities
prevalent in millions of web sites. While protecting against it may seem
trivial, this is not always the case. This talk will explain why
protection against cross site scripting can be difficult, and how to
approach the problem (methodology and tools). |  Erlend is head of the security competency group at BEKK, and is also board
member of the norwegian OWASP chapter. | |
|
|
| Emil Cardell | Raven DB by Example Time: 15:00 - 16:00 (Track 2) | Emil Cardell | Raven DB by Example The NoSQL was the shiny new technology last year and the movement and options of different products has grown larger sense then. But how do you build modern web solutions on top of them? How do you solve complex tasks like accounting and hierarchies?
Raven DB is a modern open source native .net document database that is both fast and scalable that offers new ways to solve common problems.
In this session we’ll walk through how to build common web applications with a document database like: Hierarchies(CMS), Feeds (Twitter), Event Sourcing (Transactional Bank Accounts) and Map Reduce (Tag Cloud). |  Emil Cardell is a passionate web consultant working with ASP.NET to build web sites, communities and web applications at Valtech in Stockholm. He engaged in the alt and progressive .net community and is an outspoken Kanban practitioner. | |
|
|
| Stephen Forte | Agile Patterns: Agile Estimation Time: 15:00 - 16:00 (Track 3) | Stephen Forte | Agile Patterns: Agile Estimation We’re agile, so we don’t have to estimate and have no deadlines, right? Wrong! This session will consist of review of the problem with estimation in projects today and then an overview of the concept of agile estimation and the notion of re–estimation. We’ll learn about user stories, story points, team velocity, how to apply them all to estimation and iterative re–estimation. We will take a look at the cone of uncertainty and how to use it to your advantage. We’ll then take a look at the tools we will use for Agile Estimation, including planning poker, Visual Studio Team System, and much more. This is a very interactive session, so bring a lot of questions! |  Stephen Forte is the Chief Strategy Officer of Telerik, a leading vendor of developer and team productivity tools, automated testing and UI components. Stephen is also a certified scrum master. | |
|
|
| Michael Hutchinson | Developing .NET Applications for the Mac App Store Time: 15:00 - 16:00 (Track 5) | Michael Hutchinson | Developing .NET Applications for the Mac App Store With the explosive grown of the iOS platform, and Apples subsequent introduction of the Mac App Store, .NET developers were left with little option other than porting their code base to Objective–C. With the advent of the MonoTouch project, Novell provided the opportunity for developers to target the iOS App Store. Now, the open source MonoMac project, which shares significant code with MonoTouch is available for .NET developers to target the Mac App Store. This session will walk attendees thru what it takes to develop applications for the Mac App Store. It will give a brief overview of the MonoMac technologies for building new UIs, and discuss strategies for code reuse across major platforms. |  Michael has been working on the open–source MonoDevelop IDE and other projects in the Mono ecosystem since taking part in the 2005 Summer of Code. | |
|
|
| Gary Short | Because You Suck at Design Patterns Time: 15:00 - 16:00 (Track 5) | Gary Short | Because You Suck at Design Patterns Design Patterns are great, but sometimes it just feels like the architects go out of their way to confuse us.
They present us with numerous patterns, all developed to solve different instances of the same class of problem, which invariably leads us to pick one and try to use it for all instances. Follow this up with their skill for naming patterns – that solve completely different patterns – so similarly that it results in attempting to use the altogether wrong pattern to solve our problem.
We’ll walk through some of the places where we are habitually likely to use the wrong pattern, and we’ll identify and demonstrate more appropriate patterns for a range of common development scenarios.
By the end of this session, we’ll all suck less at Design Patterns. |  Gary Short works for Developer Express as the Technical Evangelist on the frameworks team. | |
|
|
| Miguel Castro | To Rest Or Not To Rest Time: 15:00 - 16:00 (Track 6) | Miguel Castro | To Rest Or Not To Rest Just when you got your head around WCF, along comes yet another service–oriented programming paradigm, REST. Actually REST does have its place and works quite nicely with WCF. While conventional (Soap–based) WCF services are designed to be agnostic to HTTP hosting, or any type of hosting for that matter; RESTful service, as they are called are designed to embrace HTTP and use it for their advantage. In this session, I'll show the right place and right way to use REST while leveraging your existing WCF knowledge both in servicing and consuming scenarios. I'll also cover the new WCF 4.0 REST features. |  Miguel Castro is an architect with IDesign with over 22 years of experience in the software industry. He’s a Microsoft MVP, member of the INETA Speakers Bureau, and ASP Insider. | |
|
|
| Mark Seeman | Unit testing with AutoFixture Time: 15:00 - 16:00 (Track 7) | Mark Seeman | Unit testing with AutoFixture One of the greatest challenges in writing maintainable unit tests is to avoid so–called Overspecified Tests – i.e. test which are too tightly coupled to implementation details that are actually irrelevant to the test case at hand. A common symptom is that the Test Fixture (the entire context which must be in place before the actual test can be executed) takes up a lot more space than the test itself.
AutoFixture ( http:⁄⁄autofixture.codeplex.com⁄) is a .NET open source library designed to address this issue. It uses reflection and various conventions to deal with all the irrelevant details, enabling the test developer to concentrate on writing unit tests that focus on the relevant action.
In this talk AutoFixture’s creator will use examples to demonstrate how complex unit tests can be reduced to simpler and more maintainable unit tests. |  Mark Seemann is the inventor of AutoFixture and the author of "Dependency Injection in .NET". | |
|
|
| | | | Joel Abrahamsson | Progressive EPiServer Development Time: 16:20 - 17:20 (Track 1) | Joel Abrahamsson | Progressive EPiServer Development EPiServer is steadily gaining market shares and as a developer focusing on .NET and web development it’s almost inevitable to work with EPiServer CMS these days. At the same time the types of sites and systems built on EPiServer is more diverse and often more demanding than before.
A few years ago EPiServer was primarily used for fairly generic public web sites for mid–sized companies and municipalities. These days though it’s often used for more complex systems as well as for larger sites with massive traffic. This often demands a different development style than the classical Web Forms based and markup centric one traditionally used for EPiServer sites.
In this session we’ll get an overview of a few open source projects as well as new and coming features in the CMS that enable us to develop EPiServer sites in more modern and progressive ways.
We’ll look at how we can practice test driven development in EPiServer projects and how we can better follow object oriented development practices. We’ll also look at how to declare page types in code and how to build EPiServer sites with alternative development patterns and frameworks such as ASP.NET MVC and Web Forms MVP. |  Joel Abrahamsson is a consultant working with ASP.NET and the content management system EPiServer CMS at Valtech in Stockholm. He is very passionate about web development, primarily on the server side, striving to combine good development practices and principles as well as idea from the .NET open source scene with corporate web development. | |
|
|
| Szymon Pobiega Joost van de Sande | Being reliable without transactions Time: 16:20 - 17:20 (Track 2) | Szymon PobiegaJoost van de Sande | Being reliable without transactions For years the most prominent way of building reliable distributed systems was using distributed
transactions. As we all know, DT cause some major problems in the fields of performance,
administration and politics to name a few. Instead of getting used to live with these problems, we
can avoid the at all by using a different approach to architecture.
The prerequisite for this approach is the CQRS⁄Event Sourcing idea. These are not enough, however.
Because of that we introduce a number of simple yet powerful ideas to form a complete solution.
These ideas include:
- making commands idempotent by assigning them unique IDs –– to avoid transactions
spanning command bus and the event store
- using an event store as a message bus –– to avoid transactions spanning event store and
event bus
- changing message delivery guarantees from exactly–once to at–least–once for messages sent
by the system to external parties |  Szymon is an aspiring software architect and a journeyman. It means that I he intensively learns what software architecture is about. In his journey he tries many different approaches, sometimes succeeding and sometimes I failing.
 Pieter Joost is a happy software developer living in a small and friendly town in the Netherlands. He
lives there with two kats and his girlfriend. His employer Atos Origin gave him the title principle
consultant, but he likes to call himself a passionated developer. | |
|
|
| Mitch Lacey | Defining Done: Why it is so hard and how to make it easier Time: 16:20 - 17:20 (Track 3) | Mitch Lacey | Defining Done: Why it is so hard and how to make it easier Is the software done yet? This seemingly innocent question is asked countless times on almost every software project, but an inaccurate answer could sink your team, your project, or even your career. In this session, Mitch Lacey explains why answering the done question has been so difficult in the past. He then shares tips for establishing a common understanding of done upfront. Mitch ends with an exercise you can use to define what your own team means by, “It’s done.”
The next time someone asks, “Is it done?” don’t answer with a half–baked guess. Join Mitch to learn how to respond with confidence and precision, every single time. |  Mitch Lacey is an agile practitioner and trainer. Mitch has been managing projects for over twelve years and has numerous plan–driven and agile projects under his belt. | |
|
|
| Svein Arne Ackenhausen | Asynchronous programming made simple through messaging Time: 16:20 - 17:20 (Track 5) | Svein Arne Ackenhausen | Asynchronous programming made simple through messaging Multi core systems are everywhere these days. How do we adapt our designs to fit this future? There are several techniques out there for utilizing multi core systems in our applications. There is the Task Parallel Library, Parallel Linq and even plain old fork and join. However these are all techniques that will help you work with parallel execution in a synchronous setting. Mixing synchronous and parallel is no match made in heaven and can become quite painful. So why are we still sticking to synchronous designs?
In this talk we will explore the hows and whys on creating asynchronous designs using messaging. We will see how our designs can become simple and maintainable yet staying flexible. Watch as we get messages flowing through our domain and all the way back to the user interface. We will start out going through the basic messaging concept. Then we'll dive into more complex concepts like handling state, one way messaging vs request–reply and more.
By the end of this talk you will know how at create a message based system and why you would want to. You will also see how many of the issues you face on a daily basis with synchronous systems disappear. |  Husband, father and co founder of Contango Consulting AS. Svein Arne has been in the enterprise market for 10+ years working with automation and financial systems doing software development, design and training. | |
|
|
| Rune Sundling | Static Code Analysis with NDepend and more Time: 16:20 - 17:20 (Track 5) | Rune Sundling | Static Code Analysis with NDepend and more The importance of a well–structured and understandable code base with a low amount of errors is of the utmost importance for our ability to deliver and maintain software. This talk will focus on how Static Code Analysis helps achieve this.
It will give you a practical overview of static code analysis: what it is, why you should care, what the status quo is, and in which ways you and your projects should and shouldn't make use of it.
In addition the talk will give live demos with NDepend and other relevant tools on the .NET platform – to show existing options and help you get started using them. Among others it will cover how to use NDepend to understand an unknown code base, and how to integrate it and other tools into your Continuous Integration process. |  Rune Sundling is a Principal Architect for Statkraft, and a former chair turned board member for the Norwegian .NET User Group (NNUG) Oslo.
| |
|
|
| Sahil Malik | JAVASCRIPT MAX-OUT WITH SHAREPOINT 2010 Time: 16:20 - 17:20 (Track 6) | Sahil Malik | JAVASCRIPT MAX-OUT WITH SHAREPOINT 2010 One of the core components of SharePoint is a rich web based platform. It leverages JavaScript heavily, but can we take it further? How much further? In this session, Sahil takes a deep dive into some of the amazing stuff you can do in pure JavaScript code with SharePoint 2010 – and you don’t need to know C#, or even SharePoint to attend this session. |  Sahil Malik is a Microsoft MVP (Currently in SharePoint server competency, previously C#), INETA Speaker, a .NET author, consultant and trainer and a well–rounded overweight geek. | |
|
|
| Miguel Castro | No-Config WCF Time: 16:20 - 17:20 (Track 7) | Miguel Castro | No-Config WCF WCF has the great benefit that its services and most of their associated characteristics can be configured declaratively. While I believe this is an asset, there are many situations where you would want to provide all settings for your services and their transport, programmatically. In this session, I'll show you how to provide binding configurations and service behavior information using code; in the end, completely eliminating the configuration file. Equally importantly, I'll explain a few scenarios where these techniques prove useful. I'll also go over the new less–config features of WCF 4.0 |  Miguel Castro is an architect with IDesign with over 22 years of experience in the software industry. He’s a Microsoft MVP, member of the INETA Speakers Bureau, and ASP Insider. | |
|
|
|
|
|  |
|