Sessions

Keynote Speaker: Scott Hanselman

HTML Template

Many problems, many solutions: One ASP.NET

Interesting new solutions to internet problems continue to emerge. Realtime, Web APIs, Mobile, Gmail-style apps in a single page, and hybrids are the norm. Time to abandon .NET? Let's look at what ASP.NET brings to the New Web. .NET is unquestionably and demonstrably able to scale to monster heights, but can it compete in a realtime and javascript heavy world? How will your ASP.NET applications change and what about your existing stuff? Join Scott Hanselman as he breaks down the technologies that you the ASP.NET developer has in your toolbox and how to solve today's problems while still having fun and not selling your soul.


Breakout Sessions

Advanced ASP.NET MVC

In this session we will look at different techniques that leverage extensibility points within ASP.NET MVC to make the most of your applications. If you've ever wanted to know how you can do more with less within MVC, this is a session you don't want to miss!

Speaker: Javier Lozano

Time: 1:45 PM - 2:45 PM
Room: DiscountASP.NET (Avery 119)


An Introduction to the Reactive Extensions for .NET

This talk will introduce the Reactive Extensions for .NET (http://msdn.microsoft.com/en-us/data/gg577609), an extremely powerful tool for developing modern desktop and web applications that should be in every developer's toolbox.

I'll show how to get started with Rx, some theory about how Rx is related to LINQ and the new TPL async/await keywords, as well as showing some awesome practical examples on how to integrate Rx with your existing codebase.

Developers should have some C# under their belt, and a thorough understanding of LINQ will definitely help here.

Speaker: Paul Betts

Time: 4:15 PM - 5:15 PM
Room: ComponentOne (Avery 110)


API First Development and Tooling

Mobile devices are pushing apps onto multiple platforms, multiple languages, and multiple usage scenarios. API first development means Web API layers and web services need to exist for all apps, not just big apps. The tooling for rapid API development is in its infancy. A “Rails” for API first development has yet to emerge. Radial is just one example of the kind of tooling developers need to rapidly build and scale in an era of API first development.

Radial is an open source platform built on node.js that allows developers to write API’s in any language using a JSON-RPC style standard. It supports multiple simultaneous server languages, the proxy server allows for simple load balancing, and radial implementations are currently available in PHP and node.js (coffeescript or javascript) with implementations coming soon to Ruby, Java, and other languages. Join Brian as he discusses the tools and implications surrounding API first development.

Speaker: Brian Knapp

Time: 1:45 PM - 2:45 PM
Room: Telerik (Avery 111)


Async: Today and Tomorrow

Asynchronous programming (async) is emerging as a common programming practice, especially in .NET technologies such as Silverlight. In sophisticated scenarios, async can be complex, which is why Microsoft is adding language support in the next version of .NET. This talk will cover the current state of async, what the challenges are, and how your job will be made easier with the new language features.

Speaker: Joe Mayo

Time: 3:00 PM - 4:00 PM
Room: ComponentOne (Avery 110)


Augmented Reality with Microsoft's Kinect

Microsoft's Kinect represents a major leap forward in computer interaction. With a Kinect attached, a computer can now see into the physical world. We will demonstrate how to set up a development environment in Visual Studio with C# using the Microsoft Kinect SDK and developing for fun (profit requires waiting for the next version of the API). We will also look at some techniques for interacting with the Kinect and the computer to create live-action special effects.

Speaker: David Walker

Time: 1:45 PM - 2:45 PM
Room: Twilio (Avery 106)


Becoming a Data Savant: Correct Data in a Crunch!

Pulling data from an imperfect or unfamiliar database can be a scary thing. One incorrect join, one poor assumption or even one missing constraint on a table can affect the results of your data pull dramatically. This session will teach you how to quickly produce correct data with confidence. I'll also show you how to build a data correctness framework to make sure your data always stays correct... bringing you one step closer to becoming a Data Savant!

Speaker: Zac Harlan

Time: 10:45 AM - 11:45 AM
Room: Telerik (Avery 111)


Building a Complex Web UI: Our Experience

jQuery and javascript have revolutionized the behavior of websites. Users now expect a web page to be interactive. However, most guides easily found on the web only cover simple uses of jQuery. How to add a date picker, simple validation, ajax calls, etc. What if you want to do more?

We have been hard at work since June building a complicated, interactive, rich UI utilizing jQuery, javascript, jQuery templating, and knockout.js. We’ve found resources on going beyond the standard uses of jQuery to be sorely lacking. We’ll guide you through the growing pains of going from using javascript to enhance your site to using javascript to control your site. We’ll share common mistakes and ways we’ve found around them along with best practices we’ve developed along the way.

Speaker: Cole Easterday, Andy Unterseher, & Nick Croll

Time: 12:30 PM - 1:30 PM
Room: Twilio (Avery 106)


Building High-Performance modules in DNN6 with C# 4.0, LINQ2Entities, and Visual Studio 2010

In this DotNetNuke training series we walk you through how to create High-Performance DotNetNuke6 modules with .NET 4, LINQ2Entities, and Visual Studio 2010 We will demonstrate the setup Microsoft Visual Studio 2010 and walk through connecting to the DotNetNuke database, how to implement the module, how to design your module for future development and creating controller classes. We will implement DotNetNuke's caching features to vastly improve module performance and then we will cover Visual Studio debugging techniques. Finally we show you how to package your module for distribution.

Speaker: Tony Valenti

Time: 4:15 PM - 5:15 PM
Room: Microsoft (Avery 112)


Building successful software engineering teams that ship great products

Not nearly enough people write or speak on this topic. Further, not nearly enough people that are undergoing the learning curves related to building engineering teams write or speak about the lessons they've learned and are learning. In this talk I intend to ruminate on the things I feel I've learned along with the mistakes I've made and the mistakes I've watched others make. I will leave the last 20 minutes or so for an open discussion as I feel conversation and feedback on this topic could prove more valuable than my talk.

Speaker: Benjamin Metz

Time: 3:00 PM - 4:00 PM
Room: Telerik (Avery 111)


Change Your Life...With Drupal Views

The Views Module will change your life. It gives sites built with Drupal the ability to construct surprisingly complex database queries, and control the output of their resulting pages, all through a UI.

On a given Web site, the most interesting, and most complex, pages, are made up of lists, summaries, reports, collections, glossaries, indexes, or other permutations of groups of live content. All of these things can be built, and placed on your site in a flexible and highly functional manner, without writing a lick of code.

Yet, like Drupal, Views' open source architecture and extensible interfaces offer nearly unlimited power, should you require any sort of customization.

This presentation will be a demonstration of the powerful capabilities of the Views module used with Drupal. An introduction to its "host" framework, Drupal, will be given as background, and if there is time, a peek under the hood.

The presentation should be informative for all attendees, especially those who build Web sites, and particularly those who have worked with PHP, though knowledge of PHP is not a requirement at all.

Speaker: Robert Hinrichs

Time: 4:15 PM - 5:15 PM
Room: Infragistics (Avery 109)


Code Challenge

In this day-long session, we're going to bypass the presentation and make it totally interactive! You will be given a programming problem to solve and the person who solves it with the highest score wins a prize! The problem won't be announced until the day of the code camp, but will be easily solvable within the timeframe of conference. This is a drop-in session, so stop by any time throughout the day to learn about the challenge and try your hand at solving it. Winners will be announced during the closing remarks. To get an edge, you should check out the web site and try to solve one of the challenges that is currently available. You can find the site at http://www.code-challenge.com.

Speaker: Matt Ruwe

Time: 10:45 AM - 5:15 PM
Room: CRi (Avery 108)


Controlling Electronics from an Android Device

Learn how to control external electronics (i.e. Christmas Lights, Home Appliances, Battle-Bots, etc...) from an Android Device. This session will focus on the use of the IOIO from Spark Fun electronics. This session will assume familiarity with Android devices or other touch-enabled mobile platforms, and concepts such as Inputs and Outputs as they relate to electronics.

Speaker: Jay Ragsdale

Time: 10:45 AM - 11:45 AM
Room: Infragistics (Avery 109)


Creating Effective, Extensible Applications Using MEF

Creating applications that can be easily enhanced and modified both internally and externally can be an important growth opportunity. In this breakout session we will discuss the tools and techniques available as part of the Manged Extensibility Framework within .NET. Multiple demos will be shown including the development of an extensive application with multiple run-time loaded extensions using WPF, MEF, and C#. A focus will be placed on practical design and architecture to ensure ease of implementation.

Speaker: Mitchel Sellers

Time: 10:45 AM - 11:45 AM
Room: ComponentOne (Avery 110)


Demystifying CQRS

CQRS is the latest architectural shiny object that's been spreading like wildfire across the blogosphre and social media. It's been touted as the next generation architecture for scalable systems and the cure for complex monolithic applications. The purpose of this talk is to get real about what CQRS is, the problem it solves, and when it's appropriate in your solutions. It may not be what you think it is. Along for the ride will be discussion about the fallacies of distributed systems so that you can properly set the stage in your system to take advantage of what CQRS has to offer.

Speaker: Joshua Ramirez

Time: 12:30 PM - 1:30 PM
Room: Telerik (Avery 111)


Designers vs. Developers

A look at how and why designers and developers should work together instead of viewing the other as the problem. We'll discuss some practical ideas for how that can be accomplished and the benefits to be gained.

Speaker: Joel Kauffman

Time: 4:15 PM - 5:15 PM
Room: Don't Panic Labs (Avery 115)


Drinking From The Fire Hose: Web Edition

A question we all struggle with in this fast-moving industry is: How can I keep up with everything?
In this session, we will briefly explore 10-15 new technologies that are taking hold in web development. I will also share some of my strategies for learning about new technologies and how to actually drink from the fire hose of information coming our way as web developers.

Speaker: Lee Brandt

Time: 1:45 PM - 2:45 PM
Room: Microsoft (Avery 112)


Drupal as a development framework

We'll start with a high-level introduction to Drupal and its main features, capabilities and common pain points. I'll briefly cover the most popular and unique modules and show how the modular nature of the framework makes it a great fit for professionals that are looking for a common platform or framework for a wide range of projects. The main objective of this session is to show how Drupal can be used in a professional environment, using my experience in the advertising industry as an example. A secondary goal is to increase the awareness of Drupal and to encourage participation with our Drupal meetup group for anyone in the surrounding area (Lincoln/Omaha primarily).

Time permitting, I would also like to do a live rapid prototyping session to show how Drupal can be used during the planning and design stages of a project.

Speaker: Quiller Caudill

Time: 3:00 PM - 4:00 PM
Room: Infragistics (Avery 109)


Expressing Yourself with C# Expression Trees

Expression trees provide many new options for creating reusable code. Understanding expression trees will allow you to extend LINQ providers or even write your own LINQ provider. You can also write your own fluent API, removing the need for configuration or XML files. It is even possible to turn C# statements into Javascript! We will begin the journey of mastering expression trees, and adding this important skill to your repertoire.

Speaker: Chad Kulesa

Time: 1:45 PM - 2:45 PM
Room: ComponentOne (Avery 110)


Get Started with Windows Azure

You've heard the buzz, your boss might even have talked about it. In this first webcast of the Soup to Nuts series we'll get started with Windows Azure and Cloud Computing. In it we will explore what Azure is and isn't and get started by building our first Cloud application. Fasten your seatbelts, we're ready to get started with Cloud Computing and Windows Azure.

Speaker: Mike Benkovich

Time: 12:30 PM - 1:30 PM
Room: TX Text Control (Avery 118)


Getting Func-y with C# and F#

Despite its genesis nearly 60 years ago, functional programming has only recently reemerged as a core technique in mainstream languages. This session will contrast the functional style with imperative and object-oriented programming and dive into real-world examples of how it can be used to solve common problems in C# and F#.

Speaker: Keith Dahlby

Time: 12:30 PM - 1:30 PM
Room: ComponentOne (Avery 110)


Git More Done

You've seen the intro, you've cloned from GitHub, maybe even committed once or twice...but you're still not convinced Git's learning curve is worth the climb. This session aims to shed some light from the real world on how Git is different, why the differences matter, and introduce some features and use cases you never knew you couldn't live without. Topics covered will include rewriting history with interactive rebase, separating concerns with patchwise add, smashing bugs with bisect, recovering from mistakes with reflog and much more.

Speaker: Keith Dahlby

Time: 3:00 PM - 4:00 PM
Room: DiscountASP.NET (Avery 119)


Information Overload and Managing the Flow: Effectiveness and Efficiency

As developers, we are asked to absorb even more information than ever before. More APIs, more documentation, more patterns, more layers of abstraction. Now Twitter and Facebook compete with Email and Texts for our attention, keeping us up-to-date on our friends dietary details and movie attendance second-by-second. Does all this information take a toll on your psyche or sharpen the saw? Is it a matter of finding the right tools and filters to capture what you need, or do you just need to unplug. Is ZEB (zero email bounce) a myth or are there substantive techniques for prioritizing your live as a developer? Join Scott Hanselman as we explore this topic…perhaps we’ll crowd-source the answers!

Speaker: Scott Hanselman

Time: 10:45 AM - 11:45 AM
Room: Don't Panic Labs (Avery 115)


Intro to Node.js

I am sure you use Javascript in your web apps. Javascript has been a key component in our client side code for a long time. But what about using Javascript on more than just the client side. What if we could use Javascript on both the client and server side.

Join us as we look at using Javascript to power our server side code using the exciting Node.js tools. We will cover getting Node.js installed, setting up your development environment, debugging and building your first application.

Speaker: Brian Olson

Time: 12:30 PM - 1:30 PM
Room: Infragistics (Avery 109)


Introduction to PRISM

In this session you will learn how to design and build Windows Presentation Foundation (WPF) desktop applications using loosely coupled components that can evolve independently but which can be easily and seamlessly integrated into the overall application. This is an introductory course that concentrates on the basic concepts required to build a composite application with the Microsoft Patterns and Practices Prism 4.0 framework which includes the boostrapper, regions, modules, view composition, and different techniques for communicating between loosely couple components.

Speaker: Brian Lagunas

Time: 1:45 PM - 2:45 PM
Room: TX Text Control (Avery 118)


Introduction to WPF Custom Controls

Have a need for a control that Microsoft doesn't provide? Then this session is for you. I will walk you through the basics of creating WPF custom controls including control templates, custom properties, custom events, accessing elements in a control template, and theming. By the end of this session you will know everything you need to know to start writing custom controls for your applications.

Speaker: Brian Lagunas

Time: 3:00 PM - 4:00 PM
Room: Microsoft (Avery 112)


Launch something right now

Take your developer skills and launch a project, it might not be perfect on the first try, but it will be real.

Last year I launched a little food delivery business called Mexrico, we sold Tamales online.

Mexrico was an experiment to see how far a developer with no experience in the food business could go with a shoestring budget, and nothing more than problem solving.

On launch day we received 140 orders within the first 2 hours of opening for business.

I'll expose my experiences with:

How to fund yourself
Build cheap infrastructure (support, space, etc.)
Use outsourcing
How to talk to people on the street
How to get on the paper
How to build a good team cheaply
Cheap entrepreneurial tricks
Branding your project
Create snowballs
Social media is a lie
Focusing on the right thing


Speaker: Abraham Chavez

Time: 4:15 PM - 5:15 PM
Room: Telerik (Avery 111)


LINQtroduction

Language Integrated Query (LINQ, pronounced "link") is a Microsoft .NET Framework component that adds native data querying capabilities to .NET languages. Think of LINQ as the SQL you write in your .Net code against almost anything that holds data.

This presentation will introduce the LINQ syntax and concepts. We will cover LINQ to SQL, LINQ to Objects, Standard Query Operators for LINQ as well as Extension Methods. Developers can return to work tomorrow and start implementing what they learn in VisualStudio 2008 or 2010.

Speaker: Dustin Thostenson

Time: 4:15 PM - 5:15 PM
Room: TX Text Control (Avery 118)


MVC .Net Basic Framework

This session will cover the basics of the MVC framework. We will cover an overview of the technology, look at examples of all of the pieces that make this framework function. We will then rapidly develop a site. The site will incorporate data CRUD and display methodologies, security and caching. This is a basic level session for the MVC beginner.

Speaker: Gus Emery

Time: 12:30 PM - 1:30 PM
Room: DiscountASP.NET (Avery 119)


Real-Time Applications with SignalR

SignalR is a real-time .NET library to build interactive applications. It makes pushing data to a client (not just the browser) easy.

Talk will cover the basics of what SignalR is and what the library does with a basic application. Will also touch on more complex aspects of the library and what can be built with SignalR.

Speaker: Nick Ebert

Time: 10:45 AM - 11:45 AM
Room: Twilio (Avery 106)


Restful Services With OpenRasta

OpenRasta is a open source framework for writing RESTFul services in .NET. This talk will highlight some of the strengths of OpenRasta by creating a simple GET, POST, PUT service.

It's assumed that basic .NET principles are understood, and would be helpful (but not required) to have a general understanding of REST principles.

Speaker: Nathan Taylor

Time: 4:15 PM - 5:15 PM
Room: Twilio (Avery 106)


Scala Basics

An entry level presentation to the object oriented/functional programming hybrid language on the JVM called Scala. Will cover basic theory and syntax on the language and will offer comparisons to existing languages.

Speaker: Nate Buwalda

Time: 1:45 PM - 2:45 PM
Room: Infragistics (Avery 109)


Service Architecture, made super simple

Writing code inside of a SOA architecture can be difficult. Dealing with WCF alone will drive you mad. In this presentation Chad will show you how to make using an SOA architecture as simple as defining some interfaces and writing services. Worrying about how the services are hosted doesn't need to be your concern. Just program to a contract and enjoy.

Speaker: Chad Michel

Time: 1:45 PM - 2:45 PM
Room: Don't Panic Labs (Avery 115)


SQL Query Execution Stack Of Love

This session will focus on what happens after a SQL query is ran. Topics covered will be how the SQL is parsed into the Algebrizer, choosing an execution plan, and reading/tuning an execution plan.

Speaker: George Parker

Time: 3:00 PM - 4:00 PM
Room: TX Text Control (Avery 118)


Sql Tips and Tricks

Databases are a critical piece to many software solutions. There are a lot of neat SQL and transact SQL (T-SQL) that are useful when using a Microsoft SQL Server. This session will cover a variety of fun things that T-SQL can do including everything from triggers to merges to joins and others.

Speaker: Anne Neilsen

Time: 12:30 PM - 1:30 PM
Room: Microsoft (Avery 112)


Targeting Mobile Devices with HTML5 and CSS 3

Mobile devices 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.

Speaker: Robert Boedigheimer

Time: 12:30 PM - 1:30 PM
Room: Don't Panic Labs (Avery 115)


Test First Development practices with Visual Studio 2010

Are you using Excel and Word to manage your test cases? Do you feel like you could be utilizing Microsoft Test Manager (MTM) to better manage your test cases and test plans? This session demonstrates an effective way for using MTM to define test cases that the entire team can understand before creating user story tasks and starting development. Learn how to modify the tests cases to explain the scenarios using the Gherkin format that is popular in Behavior Driven Design (BDD). We will also discuss how to manage manual and automated test cases and regression plans.

Speaker: Mike Douglas

Time: 4:15 PM - 5:15 PM
Room: DiscountASP.NET (Avery 119)


The Web Meets Windows 8

Are HTML5 and Javascript your weapons of choice when it comes writing apps? See how you can take those technologies, along with all your favorites like jQuery, and start writing Windows 8 applications. Create you app, get it put in the Windows 8 Store, and discover fame and fortune. Well, maybe… This session will show web developers how they can use their HTML5 and Javascript skills to get start leveraging Windows 8, the WinRT APIs, and the Windows 8 App Store.

Speaker: Jeff Brand

Time: 3:00 PM - 4:00 PM
Room: Don't Panic Labs (Avery 115)


Thinking Like A Tester

How exactly does a tester approach his job? Drawing from his 10 years of experience as a software tester, Shawn will talk about his approach to testing software.

Speaker: Shawn Baden

Time: 10:45 AM - 11:45 AM
Room: DiscountASP.NET (Avery 119)


Unit testing using ApprovalTests

ApprovalTests are a great way to help you set up a test harness for that hard to test legacy code you've been dying to clean up.

In this session we'll walk you through what approval tests are and how to use them.

Speaker: Chris Ortman

Time: 3:00 PM - 4:00 PM
Room: Twilio (Avery 106)


What's .NET?

This talk covers the .NET framework for immigrants, tourists, and other new arrivals to Microsoftland. Learn what .NET does, what it's made of, and how it relates to C#, Python, Mono, the JVM, Windows 8, and lots more.

Speaker: Pete Schlette

Time: 10:45 AM - 11:45 AM
Room: TX Text Control (Avery 118)


Windows Phone 7 development with Caliburn Micro

Writing software for Windows Phone 7 is cool. Writing software for WP7 and using the Caliburn Micro Framework is even cooler.

Caliburn Micro was created by Rob Eisenberg and is an open source opinionated MVVM framework for WPF, Silverlight, WP7, and WinRT/Metro.

In this presentation I'll talk a bit about MVVM, show you how to get started building your WP7 app with Caliburn Micro, and talk about Caliburn Micro's features and why they help you build better apps faster.

Speaker: Derek Beattie

Time: 10:45 AM - 11:45 AM
Room: Microsoft (Avery 112)