Conference Agenda


We are currently planning for DEVLINK 2013. The tentative schedule is below and is subject to change as session selection takes place.
27
Aug

Tuesday

9:00 AM - 5:00 PM
Meeting Room 7/8

Workshop - JavaScript and jQuery foundations

A solid introduction to the core concepts of jQuery-focused front-end development that shows you how to use it to interact with and manipulate sites. By the end of the day you'll feel more confident about using jQuery and be ready to start developing for the front-end.

During the workshop we'll cover both the basics and some intermediates of the JavaScript programming language, as well as the jQuery JavaScript library.

Topics covered

  • JavaScript 101: Variables, Primitives, Operations, Logic
  • JavaScript 102: Objects, Arrays, Functions, Loops
  • jQuery Intro and Selections
  • jQuery Methods and Chaining
  • jQuery each, Deeper into Functions
  • jQuery and DOM Manipulation
Pricing to be announced soon
9:00 AM - 5:00 PM
Meeting Room 9/10

Workshop - Advanced jQuery Techniques

It's time to realise the full potential of jQuery. Join us as we delve into advanced topics surrounding front-end web development and learn how to adopt an application architecture that is maintainable and scalable, while still keeping things simple.

We'll teach you how to utilise the jQuery library in the context of large-scale applications and show you how to dramatically improve performance, write cleaner and more concise code and increase maintainability and reusability. By the end of the day you should feel confident creating and maintaining advanced front-end-focused web applications.

Topics covered

  • Event Delegation
  • Traversal, Filters, and Advanced Selectors
  • Simplifying Code with Conventions
  • Just-in-time Initialisation Patterns
  • jQuery Plugins
  • jQuery UI Widget Factory
Pricing to be announced soon
28
Aug

Wednesday

7:30 AM - 4:00 PM
Main Hall

Registration

Please have your ticket or photo identification
8:30 AM - 10:00 AM
Banquet Room E, F, G

Opening Keynote

TBD
10:15 AM - 11:30 AM
Banquet Room F

Introduce Ruby to your .NET Environment

Interested in Ruby, but so far have only tinkered with it at home in your free time? How about at work? Nope… “We’re a .NET shop. …and IronRuby hasn’t had a release since early 2011. Isn’t that project dead?” Now there’s no need for excuses and no need for a Ruby implementation that runs on the CLR. This session provides some real-world examples proving the benefits of using Ruby alongside your .NET environment and helps make the case to include Ruby as part of your development toolkit. This session includes demos, discussion and Github projects covering the following: -- Use Ruby (in combination with PowerShell, Albacore, MSBuild and WebDeploy) to streamline your Continuous Integration and code deploy process. Build your code; exercise it with tests; and package/deploy it all without writing a single line of MSBuild XML. -- Build a stronger relationship with your QA Team by introducing Ruby as the scripting language of choice for integration test automation. You’ll make everyone’s job easier and make automated integration testing a first class citizen in your development process. -- Tired of spending an afternoon setting up a production or test server? Are your base virtual machines chronically outdated? Use Ruby code and Opscode Chef to bootstrap your servers and use code to setup your servers instead of doing everything manually. Infrastructure as code!
10:15 AM - 11:30 AM
Meeting Room 3

How to write a technical book

With technology moving at such a rapid pace the demand for quality, up-to-date content is higher than ever. Books are still key players in this field, but writing a technical book is a daunting task. In this interactive session we will discuss the ins and outs of technical publishing, from selling your idea to a publisher, to contracts, content organization, the writing process, technical editing, and much more. If you've ever had the urge to write a technical book, this session is for you!
10:15 AM - 11:30 AM
Meeting Room 15

Enjoying the Move from WCF to the ASP.NET Web API

Using the ASP.NET Web API for callbacks on your client-facing web servers makes a lot of sense, especially if you're using Microsoft's MVC framework. But many developers are beginning to see the value in using the Web API in the middle tier, too. Reusing skills and code from the web in the development of core services is an alluring prospect. Making the leap from WCF to the Web API can be daunting, however, because the systems are quite different from one another. In this session, we'll compare the WCF object model and its conventions to the Web API, using code to draw comparisons between various features. When you've completed this session, you'll be "Thinking in HTTP" and ready to try the Web API to develop your application's core.
10:15 AM - 11:30 AM
Meeting Room 13

Visual Studio ALM vNext

A look at the new features of Visual Studio and TFS. *** I will be able to provide more details about this topic at a later date when details about the next version are released to the public ***
10:15 AM - 11:30 AM
Meeting Room 7/8

SQL Injection

Speaker: Kevin Boles
Well, we have all heard about the horror stories of data loss due to SQL Injection and how costly (in many ways) they can be. This in-depth discussion covers various forms of SQL Injection attacks and offers some guidelines on how to avoid them. Lots of code examples in both .NET and TSQL. Watch me hack a website and retrieve user data in just 3 hits on an unprotected html page!
10:15 AM - 11:30 AM
Banquet Room G

Doing it Right: Continuous Delivery doesn't have to suck!

Speaker: Jeff French
Summary: In this talk I will show you how to deploy a complex application to multiple environments with just the click of a button using TeamCity and Octopus Deploy. Abstract: One of the main tenets of Agile development is to deliver business value to the production environment early and often. That's easy enough if you are delivering one small web app, but what if your application is composed of several web apps across multiple tiers with a large database and maybe even a few Windows services and scheduled tasks? Now you need a deployment system that is built to scale and allows you to automate all of these tasks to achieve consistency in your deployments. In this talk i will show you how to deploy a complex application to multiple environments with just the click of a button using TeamCity and Octopus Deploy.
10:15 AM - 11:30 AM
Meeting Room 14

In the Driver's Seat: How MSpec and BDD Will Make You a Better Programmer

Speaker: Joe Leo
Behavior driven development has been around for a long time. With the help of Dave Chelimsky (RSpec) it's been fully embraced in the Ruby community. As a long time Ruby developer I learned how BDD helps create expressive specs that lead to high quality software. I've since learned how to harness these practices and apply them to .NET development. Over time I've concluded that writing better specs does more than boost my coverage stats or make my code "safer" -- it makes me a better developer. This presentation will teach you how to use BDD as a tool for better design and more expressive code. You will gain a deep understanding of the MSpec famework and learn the technique of writing "outcome first specs." You'll learn how to apply BDD to a variety of software projects. Most importantly, you'll learn how being expressive in testing leads to more informed design decisions and ultimately to better software.
10:15 AM - 11:30 AM
Meeting Room 6

Make Your Apps Smarter with Azure HDInsight

Harness the power of Hadoop to put powerful analytics and machine learning at your fingertips with Azure HDInsight.   Learn how to provision, program and manage an HDInsight cluster using familiar tools, including the Azure command line tools, Excel and Visual Studio.  Integrate HDInsight with other Azure services in order to build smarter applications by capitalizing on the value of the data they generate.
10:15 AM - 11:30 AM
Meeting Room 12

Scrum in the Large

Traditional ScrumMaster courses describe how one Product Owner works with one ScrumMaster and one Development team to incrementally create products. But what if you have multiple scrum teams that need to work together. Many organizations struggle with how to apply Scrum at the organizational level. This talk addresses this important issue with specific practical advice.
10:15 AM - 11:30 AM
Meeting Room 5

Introductory PowerShell for Developers

PowerShell is one of those tools that gets a lot of attention from the IT administration side, but many developers think it's not a tool aimed at them. But trust me, PowerShell is an arrow that no developer's quiver should be without. Using real-world examples, come learn how you can find problems in your source code, uncover production bugs in your application, tinker with .NET libraries without having to create throw-away projects, and simplify production application updates. If you've never used PowerShell before, this is the session for you. If you've used it once or twice but aren't sure how to use it to simplify your development life, this is the session for you. Even if you're using PowerShell on a semi-regular basis, you may still learn a trick or two!
10:15 AM - 11:30 AM
Meeting Room 2

Fiddler and Your Website

Fiddler is a great free tool for monitoring HTTP traffic between clients and web servers. It is very helpful for troubleshooting web sites and for gauging performance. Review the basic features and explore advanced techniques for extending Fiddler. Learn how to use Fiddler to capture traffic from smartphones, tablets, and non-Windows platforms.
10:15 AM - 11:30 AM
Meeting Room 4

How To Optimize a Hierarchy In SQL Server

One of the most common structures you will come across in the real world is a hierarchy (either a single parent "tree" or a multi-parent "graph"). Many systems will implement the obvious examples such as a corporate managerial structure or a bill of materials. It also turns out that almost any many-to-many relationship can be used as a hierarchy to find the relationship of parent rows to child rows (for example: the relationship of actors to movies they have been in). In this session, I will demonstrate several different implementations of hierarchies that you can use to optimize your hierarchy needs that you can put into practice immediately, with ready made T-SQL examples.
10:15 AM - 11:30 AM
Meeting Room 9/10

Building Real Time Web Applications with SignalR

In the beginning, we had static websites. Then we invented AJAX, and our websites became alive with dynamic content. Now we're getting to a point where we'd like to have our web applications work in cool asynchronous ways across all of it's connected users. The typically example would be a chat room. You send a message to the server, and the server broadcasts it to everyone who's in your room. In the past, in order to build a system like that took time and code. How about dynamically refreshing content in your application based on events that happen on the server? SignalR is a library that assists you in building real-time, multi-user interactive web applications. In this talk, we'll discuss the current state of the real time web, and then WOW you with quick, easy, and code-filled demos showing off the power of SignalR.
10:15 AM - 11:30 AM
Banquet Room E

Agile Web Development : Why low ceremony languages & methodologies matter.

The talk will motivate adoption of low ceremony techniques, tools and languages – addressing why you and your company should consider their adoption. We’ll compare and contrast using real world examples and experiences. By the end of the talk, the idea of simplicity should be sparked and your ability to argue for it in your organization strengthened. We’ll compare: (time permitting) Waterfall > Scrum > Kanban Java > C# > Ruby Javascript > Coffeescript HTML > HAML Backbone + JQuery > AngularJS Project management methodologies: Waterfall : Misuses, misconceptions and more. Scrum : A value proposition Kanban : Visualizing workflow & limiting work in progress Languages: Without being mired in the debate of dynamic vs staticly typed languages. Explore the verbosity of Java vs C# vs Ruby. A comparison of Javascript vs Coffeescript, how the bad parts can just go away. HTML vs HAML, why verbosity is bad. Frameworks: We’ll discuss Spring vs .Net MVC vs Rails. Backbone vs Angular. Topics around convention over configuration, opinionated frameworks and why being prescriptive can be a good thing.
11:30 AM - 1:00 PM
Exhibit Hall C

Lunch

Available with meal voucher
12:15 PM - 12:45 PM
Meeting Room 12

Gadgeteerin

"Did you ever have an idea for an electronic device that required more than just software - weather station, robot, automatic beer keg? Was that immediately followed with Dr. McCoy whispering in your ear, "I'm a software developer, not an electrical engineer!". If you thought that building something like this was beyond your capabilities then think again. Gadgeteer is a rapid prototyping platform that makes building physical devices as easy as plug & play. The platform takes care of the electronics and lets you concentrate on the software. In ten minutes, I'll show you how you can build from a working Internet of Things project that monitors sensors & logs data to the Internet as well as show you an assortment of other projects built using Gadgeteer. Come take part in the Gadgeteerin' revolution!"
1:00 PM - 2:15 PM
Meeting Room 15

Up Your XP - Time to Multi-class

In the face of increasing global competition, how do you increase the value you offer to your team or your organization or your clients? How do you differentiate yourself from the other software developers? Its time put our RPG strategies into action and level up our XP. We will look at some multi class maps and strategies for your career.
1:00 PM - 2:15 PM
Meeting Room 13

Getting Started with Twitter Bootstrap

Twitter Bootstrap is a very popular web UI framework that takes advantage of CSS Media Queries, JavaScript, and LESS. With Bootstrap, you can rapidly develop sites that are sleek, fluid, responsive, functional, and modern. In this session, we will explore the Bootstrap framework and build a site using some of the most common elements. Along the way we'll discuss Bootstrap's two Grid systems, styling, controls, modules, and more.
1:00 PM - 2:15 PM
Meeting Room 3

Mobile Data in the Cloud

So we have all heard that you can store data in the cloud and that it is always available through an easy to use api. Well in this session I will show you how to use Icenium and then take and connect your mobile app to Parse.com so that you really can easily store and update data in the cloud. As a bonus I will show you how to use Parse's cloud code and send emails through the cloud using Mailgun.
1:00 PM - 2:15 PM
Banquet Room F

Break Out Of The Browser With HTML5

Google Packaged Apps are a new take on an established concept. Build native applications using HTML5. This has been an embraced paradigm on mobile for some time now, but what about the desktop? Version 2 of Packaged Apps brings access to native API’s like the File System, Serial Communication, Networking, Identity and much more. As long as Chrome is installed, your application will run. Package your app once and reach any platform where Chrome is installed. It’s not a web app, it’s a packaged app. There are a few things that you need to know when building without a server. Certain patterns will serve you well and there are security implications to be aware of. Be prepared for packaged apps with this session and learn how to start building them today.
1:00 PM - 2:15 PM
Banquet Room E

It's Cheaper than Therapy: Building an "ELIZA" Psychotherapist App in Windows 8

In introductory artificial intelligence classes, we learn about ELIZA, a program which simulates a Rogerian psychotherapist using pattern-matching techniques. For example, a comment like "I hate my job" might get an answer like "Why do you hate your job?" Eliza was famous for being one of the first programs to pass the Turing test, meaning that the dialogue was realistic enough that users assumed that it was a human and not a machine speaking back to them. I will introduce these basic concepts and show an implementation of Eliza as a Windows Store app for Windows 8.
1:00 PM - 2:15 PM
Banquet Room G

Node.js From Scratch: Build a REST API

Speaker: Patrick Chu
Starting from a blank file and using only the core Node.js libraries (no outside modules), we will create a working REST API from scratch. Along the way we will discuss REST API best practices and issues such as JSONP support and CORS, all written from scratch (in CoffeeScript) right before your eyes!
1:00 PM - 2:15 PM
Meeting Room 9/10

Web Usability on a Budget

Not all projects have the budget for UX designers; as a result, experience in disciplines such as user research, interaction design, and information architecture are often expected of all developers on a team. Fortunately, these arcane-sounding topics are far from impossible to grasp for mere programmer mortals. In this session, you'll learn some easy tricks to make your sites more approachable, discover ways to help develop an emotional connection between your apps and your users, and see some tools that can assist you with planning and designing your next masterpiece of usability.
1:00 PM - 2:15 PM
Meeting Room 12

jQuery Fundamentals

jQuery provides a very productive environment for client side programming in JavaScript and is used by a majority of major web sites today. It takes advantage of existing knowledge of CSS selector syntax to offer a powerful and efficient alternative to accessing elements. The use of operation chaining and implicit iteration lead to a very compact and productive syntax. The library is very lean at a mere 32K, yet provides a strong base and a great extensibility model which has led to a large number of plugin extensions to simplify web development. The session will review how to use the library for very useful features while avoiding browser inconsistencies, and making AJAX calls to the server. Several plug ins will be demonstrated which provide stunning client experiences with as little as 1 line of code! Learn how jQuery greatly simplifies client side development.
1:00 PM - 2:15 PM
Meeting Room 14

Elaborating Software Requirements

A talk about understanding how to get the most out of your requirements through good software requirements engineering - taking it from domain to concept and decoupling from the technology and delivering an extensible, understandable conceptual model. We as developers tend to have a focus on being solution makers rather than problem solvers, understanding the right questions to ask is just as important as understanding the answers. Considerations for testing and data design will also be discussed.
1:00 PM - 2:15 PM
Meeting Room 5

Right-Size Your Day Job

Speaker: Dave Purdon
Are you happy with what you do and where you do it? Are you getting as much out of your job as your employer gets out of you? In this session, we’ll discuss both how to find the right job for you and then how to get them to ask you “When can you start?” Don’t let your career just happen to you.
1:00 PM - 2:15 PM
Meeting Room 6

Creating Games for the Windows App Store

Every developer secretly (or not so secretly) wants to develop games. However, most developers think there just is not enough time to learn the tricks needed to makes games. This session will show the audience how to leverage their existing knowledge of C# and the Windows Store Apps to create games optimized for this exciting new marketplace.
1:00 PM - 2:15 PM
Meeting Room 2

Building CRUDdy iOS Apps with SQLite3

Speaker: Don Miller
There is no magic here. We will build a simple iPhone app using the Master-Detail template in XCode. This is a great talk for the beginning iPhone developer that wants to learn how to build an application and use SQLite3 to store data collected from the interface. It is presented with easy step by step instructions and deployed to GitHub for future reference and forking.
1:00 PM - 2:15 PM
Meeting Room 4

Introducing the SSAS 2012 BI Semantic Model, aka Tabular

Speaker: Robert Cain
New to SQL Server Analysis Services 2012 is the BI Semantic Model, also known as the Tabular model. In this session you'll learn about the newest way to do analytics in SQL Server. We'll compare and contrast it with the traditional Multidimensional Model, then see how to create your first "cube" using the Tabular mode. Finally we'll look at some of the reporting options for using your new Tabular database, including SSRS, Excel, and PowerView.
1:00 PM - 2:15 PM
Meeting Room 7/8

Git for Visual Studio developers

You've heard all hype about Git and know a lot of people that are using it but in your time as a Visual Studio user, you've never worked with a distributed version control system like Git. In this session, I will show you how to get started with Git, help you decide the right time to use Git or when to use TFS (or a hybrid), setup a repository, and cover the tools that are available to you.
2:30 PM - 3:45 PM
Meeting Room 13

Demystifying .NET 4.5 Async

.NET 4.5 brought huge advancements in the way that asynchronous programming is completed and removed a lot of the complication that used to plague the Async model. This session introduces .NET 4.5 Async and covers the topic in two different direction. First an overview of Async in .NET 4.5 is provided, showing how new API methods require its usage and how to properly call these methods. The second half of the presentation will focus on experienced developers and how this new model truly does simplify development for Async along all fronts by showing the "old way" and the "new way" side by side and highlighting the simplified error handling, process management and overall time to develop. After this session developers will have the tools needed to implement Async in their applications.
2:30 PM - 3:45 PM
Banquet Room F

Coding Web Apps that are Server Technology Agnostic

Speaker: Eric Greene
Cutting-edge HTML/JavaScript/CSS apps allow the developer to truly separate the user experience in the browser from the actual server side programming technology. In the session we will create HTML/JavaScript/CSS apps that will work with both a PHP and an ASP.Net backend. The session will demonstrate how to properly leverage both PHP and ASP.Net to interact with the same HTML 5 app. Since Windows Azure supports both PHP and ASP.Net the example would be demonstrated within the context of Windows Azure.
2:30 PM - 3:45 PM
Meeting Room 5

How To Implement SQL Server Data Integrity

The most important part of a database is the data and the best way to make sure the data is useful is make sure it has integrity. SQL Server provides you with a number of tools to weave layers of defense to make sure that all stored data meets the base requirements set forth in the design. In this session I will demonstrate how to implement data protection using PRIMARY KEY, UNIQUE, CHECK and NULL constraints, and when constraints are not enough, triggers. Sometimes it may even be necessary to resort to stored procedures and client code for the primary data protection (and the ideal system will be so tight from the UI standpoint that these constraints are silent almost all of the time). Examples will include versions of foreign key, data formatting, range checks, value reasonableness, all using scenarios that go beyond simple mechanical examples of constraints.
2:30 PM - 3:45 PM
Meeting Room 4

What's New in PowerShell 3

Speaker: Robert Cain
There's a lot of excitement in the PowerShell community over the much anticipated release of PowerShell v3. With literally thousands of new cmdlets and a new ISE, where do you start? In this session we'll begin with an overview of the featuresets included with v3, plus the new ISE. Then we'll look at some of the new language features, such as the simplified Where-Object, append capabilities for Export-CSV, dynamically updatable help, default parameters, and more. Then we'll take a deeper look at the feature everyone is drooling over, Workflows. You'll see how to implement a workflow and how to use it to run tasks in parallel. By the time you finish this session you'll be well on your way to tackling the newest version of PowerShell.
2:30 PM - 3:45 PM
Meeting Room 2

Confessions of a Successful Project

A successful project is one that makes both the customer and the developer happy. Typically, doing this requires a project to be completed on time and under budget, as well as having a maintainable codebase. In this session we will follow a fictional project through requirements gathering, time estimation, and finally development – all from the viewpoint of a small team. At each leg of the journey problems will come up, and we will discuss some possible options to get the project back on track. I started off as a team of one and have since grown to lead a team of four. In some capacity I’ve tried all the various project management techniques that you keep hearing about. This session is about what I have found to work best for my team. You will hopefully leave this session with some new ideas on how to make your projects more successful, as well as some potential problems to watch out for and how to correct them.
2:30 PM - 3:45 PM
Meeting Room 7/8

Python for Developers

Python is quickly becoming one of the more popular general purpose programming languages, especially for web development. Thanks to its clean, easy to learn syntax, rich standard library and widespread community support there has never been a better time to jump in. This presentation is intended for developers who are experienced with another language such as C# or Java who want to learn Python. Therefore, the focus is on how Python is unique from other languages and how it matches up to them. This will be a demo heavy session.
2:30 PM - 3:45 PM
Banquet Room E

Crash Course In Windows 8 Part 1

A very intense discussion of Win8 programming with an overview of many Win8 programming issues. Topics covered include Metro Style, What .NET Developers need to know, Markup and Code, Built In Controls, and more.
2:30 PM - 3:45 PM
Meeting Room 6

Using Azure Mobile Services in Windows Store XAML Applications

This session will cover the basics of creating a mobile service, exposing the data through the service and consuming this data in a Windows Store application. We will cover CRUD operations and push notifications as well as securing of the services. Learning objectives 1. Create a mobile service that exposes data to the applications 2. Securing the data 3. Using services for push notifications.
2:30 PM - 3:45 PM
Banquet Room G

CoffeeScript: Good, Bold, and with Sugar

Speaker: Daniel Mohl
CoffeeScript has quickly become one of the most watched projects on GitHub. In this session we will talk about what CoffeeScript is, why it's important, and how it can help you develop better web apps in less time. This little language has taken the web development world by storm and it is gaining converts daily. You'll see how CoffeeScript makes code more readable, how it removes many of the "Bad Parts" of JavaScript, and how it allows you to express yourself more clearly without having to throw out all of the JavaScript skills that you have spent years perfecting. If you develop web applications, you owe it to yourself to learn about CoffeeScript and see if it is right for you.
2:30 PM - 3:45 PM
Meeting Room 9/10

Go to a SPA and Apply a Hot Towel

Interest in Single Page Applications (SPAs) is booming, but getting started can be intimidating. John Papa’s Hot Towel Starter Template makes it much easier to get up and going quickly. It brings together ASP.NET MVC, Breeze, Durandal, Knockout, Require, Toastr, and Twitter Bootstrap in a nice cohesive package. In this session we will walk through applying Hot Towel in a simple business application.
2:30 PM - 3:45 PM
Meeting Room 14

Adding a Test Framework after the Fact

So you've developed a web app and got it online in a hurry. Documentation was the first thing out the window for the sake of speed, with testing soon to follow. Now you're adding features, addressing issues, and introducing regressions left and right. How do you get your site back on track? I will cover strategies for implementing a test suite late in the game.
2:30 PM - 3:45 PM
Meeting Room 3

Firefox OS - the What, Why, and How

Speaker: Rob Lauer
Firefox OS is a new mobile operating system from Mozilla and with it comes a mix of excitement, fear, and apathy from the mobile community. In this session we will talk about what Firefox OS is, how you can develop apps for it, and most importantly - why it is a relevant platform. With easy to understand code examples and down to earth talk we will navigate the murky waters together and come to understand why this new mobile OS is worth looking into.
2:30 PM - 3:45 PM
Meeting Room 12

Introduction to Knockout.js

If you are a web developer, then Knockout.js is one of those “must haves” in your JavaScript toolbox. Knockout.js is an open source JavaScript library written by Steve Sanderson, member of MS’s ASP.NET team. Knockout.js is based on the Model View View Model pattern. In this session, John will cover the basics of what the MVVM pattern is, how its employed in Knockout.js and how to employ Knockout.js in your applications. Objectives/Outcomes: What Knockout.js is How Knockout and the MVVM pattern works How Knockout can be implemented in your applications
2:30 PM - 3:45 PM
Meeting Room 15

Racing Thru the Last Mile - Cloud Delivery Web-Scale Deployment

Explosive growth; millions of users; global 24/7 usage -- it's a dream wished by many and a nightmare experienced by few. It's the Web-Scale, and it's redefining how we create and deliver software. If a run-of-the-mill enterprise application is like a Honda, then a Web-Scale application is like a Formula 1 car -- engineering and maintenance challenges included. One missed detail, and you could lose the race, or worse, hit the berm and end up as a tangled-mess of scrap metal. But unlike Formula 1, there are no pit stops or scheduled maintenance windows. Changes to Web-Scale applications must be error free and have no down-time... unless you want to face a mob of angry, demanding users somewhere in the world, and an even angrier mob of managers and investors. In this talk, we'll discuss various deployment strategies, scalable delivery, and how a few real-world Web-Scale organizations do it, from AllRecipes.com to Twitter, and even the monstrous Google.
4:00 PM - 5:15 PM
Meeting Room 13

Using MonoGame to Develop Games for All (or Nearly All) Platforms

During this session, attendees will be provided an overview of the requirements for using MonoGame (and .NET) to build a simple game and have it run on many platforms nearly 100% the same code base. Demonstrations of this will be provided against both Mac and Windows platforms (including a Microsoft Surface and an iPad). We will discuss benefits and limitations of this approach, best practices for getting started on the right track, and will leave attendees with information on additional resources for putting these concepts into practice with their own applications. Most importantly, we will walk through a real, functioning application written in C# and show how multiple build configurations can be used to target many platforms. Mac/iOS platforms will be targeted by MonoDevelop/MonoTouch while Windows platforms will be targeted with Visual Studio 2012 using Windows 8 pro. The app demonstrated will not be a simple “Pong” clone and will be a full platformer with touch integration.
4:00 PM - 5:15 PM
Meeting Room 15

ASP.NET Web Forms 4.5: Rumors of My Death Have Been Greatly Exaggerated

Even though ASP.NET MVC is all the rage, many companies have large applications build on the tried-and-true WebForms platform. Fortunately, Microsoft has continued to evolve and improve WebForms including some nice additions in version 4.5. We'll discuss strongly typed data controls, model binding, HTML5 updates, as well as some improvements to the core ASP.NET framework available to both MVC and WebForms.
4:00 PM - 5:15 PM
Banquet Room G

Advanced Knockout.js

Knockout.js is a powerful JavaScript library for binding your data and user interface elements together. Getting started with Knockout is easy, but as your application grows in complexity, it can be challenging to keep your code clean and performing optimally. Luckily, Knockout has a number of great extensibility points that you can leverage to build reusable solutions on top of Knockout. In this session, we will walk through a number of common problems and see how we can use these extensibility points to clean up our code, integrate with other libraries, and solve problems in an elegant way. We will dive into topics like custom bindings, observable extensions, binding providers, and custom template engines. Get ready for some code, as we work through these byte-sized problems live.
4:00 PM - 5:15 PM
Meeting Room 6

Lessons from 90k Lines of JavaScript

Speaker: Joe Eames
This talk will examine the lessons learned while building a very large single page application. The application discussed had 90 thousand lines of client-side JavaScript code, and was built on AMD and Backbone JS against a Java back end. An examination of the technical wins and losses, good ideas, bad ideas, and everything in between. We will cover code structure and organization, 3rd party development tools used, custom development tools built, development practices and methodologies used, and organizational structure, and how each of these items affected the cost of the project. We will also see important statistics and performance metrics of the project. The focus will be on disseminating wisdom for future projects of this size and bigger.
4:00 PM - 5:15 PM
Meeting Room 3

Mobile Web Development - Strategy, Best Practices, and Performance Tips

The mobile web is blowing up as more and more smartphones and tablets are being used to access the web. This session will prepare you and your website for mobility by going over responsive design vs. a dedicated mobile site vs. RESS (responsive design + server side components). We will also go over general best practices for the mobile web, and finally, we will cover performance tips on how to optimize your site for the mobile web (as well as optimizing it in general).
4:00 PM - 5:15 PM
Banquet Room F

Gamification of our World

Brian freely admits that he will do anything for an achievement on his Xbox; after all he has four of them at home. One day Brian wondered if he could get achievements for just putting on pants going to this place called ‘outside.’ This thinking has led to the gamification of our world, where achievements, game design elements, and game theory have leapt from gaming across the wall to everyday life. Learn the how’s and why of gamification. Everyone is using it to build wanted behavior, from enterprise developer teams, to sales teams, and to kids with diabetes. Being a gamer is not required, but we can’t guarantee you won’t become one when you are done.
4:00 PM - 5:15 PM
Meeting Room 14

SQL Server Database Development Using SQL Server 2012 Data Tools - Making a database developer happier and more productive

Speaker: Robert Cain
Database Development got completely revamped with the release of SQL Server Data Tools. Visual Studio 2012 continues the enhancements. The former Visual Studio Database Projects have now been integrated into the all new SQL Server Data Tools (SSDT). In this session we'll look at the tools included with SSDT such as the all new localdb, database snapshots, and the new way to publish your database. You'll also learn how to reverse engineer existing databases into your project, as well as how to do safe refactoring. Finally we'll not the limitations around the new SSDT and ways you can work around them. We'll also highlight differences between the new SSDT and the former Visual Studio Database Projects.
4:00 PM - 5:15 PM
Meeting Room 5

Into the Wild...Taming Unstructured Data with Semantic Search

Speaker: Chris Price
There is runaway growth in the data volumes many organizations are facing today. The bad news is that much of this data is unstructured which means your traditional RDBMS just isn't capability of helping you deal with it. As a result significant emphasis has been put on technologies like Hadoop, No SQL and other distributed databases which are better suited to handling unstructured data. With the latest release SQL Server 2012 however, Microsoft has provided new features which will help tame some of this unstructured data. This session will dive into the new FileTable and Statistical Semantic Search features. We will show you how they work and highlight real world examples for integrating these exciting new features into your applications.
4:00 PM - 5:15 PM
Banquet Room E

Crash Course in Windows 8 Part 2

A second very intense discussion of Win8 programming with an overview of more advanced Win8 programming issues. Topics covered include Application Life Cycle, Contracts, Live Tiles, Secondary Tiles, Toast Notifications, Grid View, SnapView, Writing to Files, etc
4:00 PM - 5:15 PM
Meeting Room 12

Build a Single Page App with EmberJS and Sinatra

In this presentation we will go through how to build a single page web application using EmberJS's MVC approach for your web page, backing it with Sinatra for the web server API. The application will show techniques and principles for designing and coding the application. Examples will include code in JavaScript and Ruby.
4:00 PM - 5:15 PM
Meeting Room 9/10

Real-time Web Messaging with SignalR

Speaker: Devin Rader
In the modern web, real-time asynchronous messaging between client and server lets you provide a more seamless experience to your users, increase your application performance, and reduce your server load. This talk will introduce you to SignalR, Microsofts asynchronous library for building real-time web applications, and show how you can use it to easily add asynchronous messaging to your web application in just a few lines of code.
4:00 PM - 5:15 PM
Meeting Room 4

Introduction to Propel ORM

Knowing how to write proper SQL is good, and that database utility class you wrote works great - but as the old adage goes: you shouldn't rediscover sliced-bread ... or something like that. This talk will introduce you to Propel - an open-source Object-Relational Mapping (ORM) library for PHP - that will make your life a lot easier. This talk will cover: * some ORM basics (and why you should use one) * generating a database (and reverse engineering a schema) * generating ActiveRecord and ActiveQuery classes * adding validation and extending behavior * basic CRUD operations and record queries
6:00 PM - 10:00 PM
Big River Grille

Attendee Party

Networking Event @ Big River Grille.
29
Aug

Thursday

7:30 AM - 4:00 PM
Main Hall

Registration

Please have your ticket or photo identification
8:00 AM - 9:15 AM
Meeting Room 6

MongoDB Aggregation Framework: Step by Step

MongoDB's new aggregation framework adds powerful reporting capabilities to an already powerful persistence engine. The framework's concepts and syntax are new and can be a bit daunting. Using illustrations and increasingly complex examples, we will explore all its operators, learn to dissect queries, and develop some general patterns for aggregation. Along the way, I hope to demonstrate how MongoDB can play a part in your infrastructure.
8:00 AM - 9:15 AM
Meeting Room 13

Node for .NET Developers

Node.js is an amazing technology that is growing by leaps and bounds. Many web developers already have an understanding of the fundamentals of JavaScript, but their knowledge is strictly confined to the browser. WIth node.js, developers are exposed to a whole new world by introducing JavaScript as a first class language for server-side applications. In this talk, we'll take a structured look at node.js from a .NET developers perspective. We'll discuss what a .NET developer needs to know get started with node.js, and hopefully we'll expand your horizons!
8:00 AM - 9:15 AM
Meeting Room 4

Flow Control in Powershell Scripts

PowerShell provides a number of mechanisms for controlling script flow. Besides the standard conditional statements and looping structures, PowerShell provides additional statements that allow you to customize how scripts will behave. First we'll explore how to manage looping constructs by using break and continue statements. Then we'll see how to perform looping, branching, and expression matching by using the switch statement with wildcards and regular expressions. We'll also pattern match whole files by using the file processing option (-file) along with the switch statement and regular expressions. Finally, we'll explain what transactions are and how they modify the script behavior.
8:00 AM - 9:15 AM
Meeting Room 2

How to be a Healthier Programmer

Speaker: Joe Kutner
To keep doing what you love, you need to maintain your own systems, not just the ones you write code for. Your health affects your ability to learn, remember, concentrate, and be creative--skills critical to doing your job well. But working out at the gym might not be enough to stay healthy if you spend the rest of the day sitting in front of a computer. Some surprising new science has revealed that the lifestyle most commonly associated with programming can actually counteract the benefits of exercise. In this talk you'll learn how to change your work habits, boost your brainpower, master exercises that make working at a computer more comfortable, and develop a plan to stay fit, healthy, and sharp for years to come.
8:00 AM - 9:15 AM
Meeting Room 14

As Easy as Raspberry Pi

The Raspberry Pi is an amazing little ARM based computer the size of a credit card that has the power of a 300 MHz Pentium 2 combined with the graphics horsepower of the original Xbox (that's 25 GigaFLOPS if you're curious). It sports USB ports, ethernet, composite video and HDMI, analogue and digital audio, an SD card reader, and a programmable GPIO port - all for $25. This tiny, cheap computer is designed for kids and adults alike to experiment and play in the world of computers. This session will cover the features of the Raspberry Pi, how to get one, and how to set it up once you have it. We'll look into some popular uses such as using the Pi as a media center, an arcade cabinet (MAME) simulator, a python game console, and playing a programmable version of Minecraft. We'll end with a look at some of the amazing projects others have done using a Raspberry Pi.
8:00 AM - 9:15 AM
Meeting Room 5

Defining a Data Strategy

If you've worried about outgrowing your current database or wasting countless hours moving to the wrong data platform, listen up. There is an overwhelming array of database options on the market, knowing which to pick is difficult. Before jumping in, it's important to have a list of questions to make your decision easier. In this session, we'll cover a set of questions to get your team started in the decision making process. This session is for senior developers and software architects looking to expand their horizons.
8:00 AM - 9:15 AM
Meeting Room 15

Learning Puppet

Beginners Puppet Training will introduce Puppet and Language to new administrators of Puppet. This class will use a combination of hands-on learning and discussion to review the fundamentals of the Puppet Language. This class will cover: Puppet DSL Resource Types and Providers Resource Abstraction Layer (RAL) Modules Definitions Time Permitting, this class will also cover the following topics: Common Design Patterns Managing Sudoers Managing Users Package/File/Service After this course, you should have a fundamental understanding of how Puppet works and what resources are available to continue growing knowledge of this powerful tool. This 'presentation' is best done over a 3 hour block, and that is still pushing time. However, a good overview can be done in this time and is very helpful.
8:00 AM - 9:15 AM
Meeting Room 3

Simplify Building Apps with the Mobile Services Backend

Appfication is driving our industry. The focus is moving from web sites to everything must be an app. Customers now first turn to their app marketplace when they need something. The best apps are not standalone, and require a backend. If you are just starting out you don’t want to sink all of your money into servers. We will talk about how, from any platform, you can use Windows Azure Mobile Services, as your backend. Of course we will focus on how this can be FREE!
8:00 AM - 9:15 AM
Meeting Room 9/10

Deeper Dive into the Windows Phone 8 SDK.

This session is a deeper dive into the Windows Phone 8 SDK. After taking a brief look at what is included in the SDK, we will dive straight into several demos you may use in your next app. We will specifically look at Native Code (C++) support, In-App Store purchases, Wallet transactions and Maps. So, if you already have a basic knowledge of Windows Phone 8 and want to dig deeper, than this session is for you.
8:00 AM - 9:15 AM
Banquet Room G

Be Charmed by Google App Engine and Python - Part I

The name Google is almost synonymous with large scale web applications. The Google software stack runs many of their popular applications such as Maps and GMail. Most small business and development shops can’t dream about being able to have access to anything like it … until now! Google App Engine is a platform-as-a-service cloud offering that runs on an infrastructure based upon the one Google uses internally. Offering many services including a datastore based on Google’s proprietary BigTable, Google App Engine gives you everything you need to get your web application up and running easily.
8:00 AM - 9:15 AM
Meeting Room 7/8

User's forgive many things. Slowness is not one of those.

In this presentation, I will discuss technologies and best practices for making user experiences faster. By the end of the presentation, those in attendance will have learned how to utilize javascript to more quickly serve pages, how to use javascript to implement as needed asset delivery to the browser, and why our assets should be compressed and minified prior to delivery. The 75 minutes presentation will focus mostly on the code that is required to pull all of this off, but will include witty banter and appropriately humorous slides, with as few gaffes as possible.
8:00 AM - 9:15 AM
Banquet Room E

AngularJS - A Platform for Productivity

Speaker: Dave Baskin
AngularJS is a robust Javascript framework that moves beyond jQuery DOM manipulation and into an enterprise-level development mindset. It provides the right separation of concerns between the user interface and business functions by relying on dependency injection, services, and declarative markup. This session will focus on key benefits of developing with the AngularJS framework and walk-throughs of practical hands-on examples. This session will use ASP.NET MVC as the server technology, but since AngularJS is server agnostic the information presented will be useful regardless of the delivery mechanism.
8:00 AM - 9:15 AM
Meeting Room 12

JavaScript - The Real Bad Parts

Speaker: John Paul
Douglas Crockford’s book “Javascript: The Good Parts,” is one of the best selling JavaScript books of all time and is only 176 pages long. For most developers, there’s an tacit belief that the rest of JavaScript falls under “bad,” especially when comparing that to the 900 pages of “JavaScript: The Definitive Guide” There are websites dedicated to these list of language mis-features and anti-patterns, and dozens of blog posts about how to avoid the “bad” in your own code. I don’t think that these most of these things are actually “bad”. In their day to day, developers don’t need to worry about all of these smaller issues. Chances are, a JavaScript developer has encountered these difficult issues, learned the solution, and then immediately absorbed the concepts. I’m going to explain to you, the real “bad” parts of the language. These are at least three JavaScript language features that are the most likely to trip up a JavaScript developer. Once you innately understand these issues, you will become significantly more productive in JavaScript, and will be a lot less confused when reading through large JavaScript code bases.
8:00 AM - 9:15 AM
Banquet Room F

The Basics of Good Negotiations

Speaker: Joe Webb
Whether you are debating a delivery timeline or asking for a raise, knowing how to effectively negotiate with others is a crucial skill. It’s especially important and challenging in the IT industry where soft skills are not necessarily prevalent. 

 In this session, we’ll introduce the basic concepts and precepts that will aid you in negotiating better agreements with your neighbors, peers and co-workers, and even your boss.
9:30 AM - 10:45 AM
Banquet Room F

Learning Backbone.js by Refactoring Spaghetti jQuery Code

Many front-end libraries, like jQuery, have become popular in the last several years. Unfortunately you might have found that organizing your application with these libraries can become difficult and you may experience code that feels more like a plate of spaghetti logic. Thankfully the Backbone.js library was introduced to address these concerns and provides a mechanism to loosely couple your components and encourages you to organize your code in a way that can increase maintainability. In this session we will take a look at a tightly coupled jQuery application and as we introduce the various components of Backbone.js we will slowly convert the application to use these new concepts. In addition to an overview of the library, we will cover some helpful resources that you can reference to help you as you further dive into Backbone.js development.
9:30 AM - 10:45 AM
Meeting Room 7/8

Building a Better Team through Feedback

Speaker: Joe Webb
Imagine trying to steer a car blindfolded. How about shooting a jump shot without being able to see the goal. It’s not easy, is it? Yet, that’s exactly what your team is doing if you are not providing clear and effective feedback for their work and behavior. In this session, you’ll learn how to provide effective feedback to your peers and direct reports. You’ll learn how to deliver feedback that encourages the behavior that you’d like to see repeated and provides recommended changes for behavior that is not acceptable or is subpar. You’ll also lean how to customize your feedback based on different personality types.
9:30 AM - 10:45 AM
Meeting Room 14

Taming Complexity in JavaScript with machina.js

Speaker: Jim Cowart
TL;DR - State machines in JavaScript are awesome. Come see why. How do you deal with long-running asynchronously workflow in JavaScript? Promises, callbacks and events are all powerful tools - but they are often woefully insufficient on their own to produce an abstraction that not only properly models reality, but remains extensible and maintainable over time as well. In this session we'll cover what finite state machines *are*, and then look at how they solve concerns such as initialization/boot-strapping, connectivity management, UI workflow and others. Don't let the fact that this talk uses an open source library (machina.js) discourage you from coming! You will leave armed with pattern knowledge on how to tackle thorny problems as well as API knowledge of machina.js.
9:30 AM - 10:45 AM
Meeting Room 5

Intro to TypeScript

TypeScript is Microsoft's entry into the JavaScript pre-compiler space. As a javaScript superset, TypeScript compiles to JavaScript and introduces concepts such as strong typing, classes, modules, constructors, namespaces and more to JavaScript development. In this session we will discuss the use cases for TypeScript and investigate the tooling around it as we dig into the fundamentals of this new language.
9:30 AM - 10:45 AM
Meeting Room 13

JavaScript Testing - an introduction

Over half the JavaScript code written today suffers from two problems: 1 - it's not testable and 2 - even if it's testable, it is not tested. In many languages, you can control the client. That is often not the case withi JavaScript. Your JavaScript code is affected by the browser and other JavaScript libraries to name two. In this session, John will take you through the basics of how to get started with JavaScript Testing. We'll examine how asserts work. We'll also examine how to create our own test framework and how to use open source libraries like QUnit. Objectives/Outcomes: Why JavaScript Testing is important How to write testable code How to write JavaScript Tests How to implement a JavaScript testing framework
9:30 AM - 10:45 AM
Meeting Room 6

Hands On Responsive Design With Twitter Bootstrap

Resonsive Design. The concept of creating a web application that adapts and changes as the screen gets smaller. Go from a full web application right down to a mobile application without ever leaving the page. One application that will run everywhere. It sounds too good to be true. Twitter Bootstrap contains many of the tools that you need to get started creating rich web sites that scale to mobile. It gives you much of the JavaScript and CSS that you will need to make a truly responsive site. In this code heavy session, we'll build an app and explore the ins and outs of Twitter Bootstrap and it's responsive design capabilities. You will leave with the tools you need to start building responsive sites today.
9:30 AM - 10:45 AM
Meeting Room 15

Legal and Tax Considerations for the IT Startup

Starting a business is a dream for many professionals. And professionals in the IT industry are certainly no exception. The draw of independence, self-reliance, flexibility and agility, growth and profit potential are all very appealing to right kind of individual. Indeed being a freelance consultant or part of a small company can prove to be extraordinarily rewarding. However, to quote Peter Parker, "with great power comes great responsibility." If all you want to do is sit at a computer and write code all day, then professional independence is not for you. You have to think about marketing and sales, accounting, billing, managing contractors or employees. And not least of all, you must always be cognizant of the legal and tax implications of your actions and decisions. This discussion is definitely NOT a replacement for seeking advice for your own qualified tax and legal advisors. However, we will delve into some of the major issues facing owners of new small businesses. This includes the choice of an appropriate business entity (e.g., sole proprietor, partnership, LLC); actual incorporation; asset protection for your business and your family; taxes (income and self-employment); and how to actually pay yourself. If you are a small business owner -- or are seriously considering becoming one -- hopefully at the end of this session you will have a solid start to the questions that you need to ask yourself, and your accountant and lawyer, to make the best possible decisions for your situation.
9:30 AM - 10:45 AM
Banquet Room G

Be Charmed by Google App Engine and Python - Part II

You’ve got the basics, now see how to make your web application shine on Google App Engine. Using the more advanced services of the GAE platform, developers can quickly integrate functionality that is expected by the end users of modern web applications. That’s not all, GAE also offers a complete set of monitoring and maintenance tools to make sure your app is running at its best. This presentation will also look into the future of GAE at the exciting Google Cloud Endpoints which supports REST web services and mobile applications. There will also be a survey of the rest of the products in the Google Cloud Platform.
9:30 AM - 10:45 AM
Meeting Room 9/10

Much Ado About Hadoop

By now you've probably heard the words "Big Data" and "Hadoop", but you're not sure what they mean, much less how to get started. Maybe you're struggling with storing a lot of data, rapidly processing a huge volume of data, or maybe you're just curious. There are a bewildering array of options and use cases within the Hadoop ecosystem. Every day I help customers understand their data problems, understand where Hadoop fits into their environment, and determine how they can use Hadoop to solve their problem. This session provides an introduction to what Hadoop is, when it's appropriate to use Hadoop, and guidance on how to get started.
9:30 AM - 10:45 AM
Meeting Room 12

Web Services at Ludicrous Speed using ServiceStack

Speaker: David Neal
Whether you are building for mobile, client/server desktop, line of business web applications, or the next social media phenomenon, web services continue to be a critical ingredient of scalable architecture. In this talk we will look at the features of ServiceStack, a mature suite of open-source libraries for building “obscenely fast” web services.
9:30 AM - 10:45 AM
Meeting Room 4

Designing for Windows 8

Taking inspirational cues from Bauhaus design, International Typographic Style, and cinematography, the Windows 8 UI design style brings an application to life while presenting content clearly and beautifully. This session is intended to help developers and designers understand the design concepts and basic building blocks of the Windows 8 user interface. In this session, you will be introduced to the principles behind this design style and learn how to effectively apply these principles in your applications.
9:30 AM - 10:45 AM
Meeting Room 2

Visual Studio Tips and Tricks

During this session we will cover dozens of Visual Studio.NET 2012 (and 2010) tips and tricks ranging from editor configuration settings to keyboard shortcuts to optimizing searching and navigation to customizing the layout and development experience. Plus, we will also share and demo some of our favorite (and FREE) Visual Studio.NET plug-ins which we use every day to help us be more productive. We’ll also share some other freely available developer tools we use outside of VS.NET.
9:30 AM - 10:45 AM
Meeting Room 3

Using Titanium and Backbone.js to build a great mobile experience

In this session, come and learn how to utilize Backbone in an Titanium application to create a great mobile experience. By using Titanium and Backbone, you can create an app that looks the same across iOS and Android devices. Please bring your laptop and have titanium installed to follow the code samples.
9:30 AM - 10:45 AM
Banquet Room E

One Mobile Codebase to Rule Them All

One of the biggest struggles that we face in the mobile development world is the harsh truth that we might have to support multiple codebases for each mobile platform: iOS, Android, and Windows. This talk will show you some simple strategies for writing NATIVE applications while maximizing the amount of shared code you can use. If you're doing any kind of mobile development, you're not going to want to miss this presentation.
11:00 AM - 12:45 PM
Exhibit Hall C

Lunch

Available with meal voucher
11:00 AM - 11:30 AM
Meeting Room 12

Gadgeteerin

"Did you ever have an idea for an electronic device that required more than just software - weather station, robot, automatic beer keg? Was that immediately followed with Dr. McCoy whispering in your ear, "I'm a software developer, not an electrical engineer!". If you thought that building something like this was beyond your capabilities then think again. Gadgeteer is a rapid prototyping platform that makes building physical devices as easy as plug & play. The platform takes care of the electronics and lets you concentrate on the software. In ten minutes, I'll show you how you can build from a working Internet of Things project that monitors sensors & logs data to the Internet as well as show you an assortment of other projects built using Gadgeteer. Come take part in the Gadgeteerin' revolution!"
12:45 PM - 2:15 PM
Banquet Room E, F, G

Featured Keynote

TBD
2:30 PM - 3:45 PM
Meeting Room 5

100% Distributed: How to make remote work work

Peer behind the curtain at how to build an organization that has flourished as a 100% distributed company. Hear about the lessons, failures and successes of the model. We'll conclude with thoughts and predictions about the future of remote working.
2:30 PM - 3:45 PM
Banquet Room F

Advanced Scripting in Windows Powershell

Advanced functions allow PowerShell users to write functions that act like cmdlets, without having to compile the code written in C# or VB.NET. The difference between authoring a compiled cmdlet and an advanced function is that compiled cmdlets are .NET classes written in a .NET Framework language, whereas advanced functions are written in the PowerShell script language and borrow the native cmdlet functionality. After creating our advanced functions, we'll wrap our library of functions and scripts into a module which can be easily shared with others and can be used to repackage third-party modules and to create custom self-contained solutions.
2:30 PM - 3:45 PM
Banquet Room G

An HTTP Adventure

So you're a web developer, eh? But how well do you really know the medium you work in? Could you write your own web server? Well, in this session we are going to do just that. Join me as we peel back the covers of the web and demystify the HTTP protocol by building a tiny web server. Armed with a raw TCP Socket and a web browser we are going to learn that understanding the fundamental building blocks of the web isn't all that complicated. By the time this session is over, you will have a knowledge that spans across technology platforms. A solid grasp of how web servers and browsers communicate will give you greater insights into how to optimize, secure, and control your applications.
2:30 PM - 3:45 PM
Meeting Room 13

The OData Roadmap: OData v4 and Beyond

OData has progressed substantially in recent years. Microsoft has exposed OData endpoints in SharePoint, PowerShell, Dynamics and more. SAP is working on enabling their product suite to speak OData. Many industry leaders including Microsoft, SAP, IBM, Citrix and more have united to standardize OData. In this session, get an inside scoop on what we are thinking about for OData v4 and beyond. We'll talk about some of the fundamental changes to the OData protocol, the reason for the changes, and if we're lucky we'll try out some early OData v4 bits.
2:30 PM - 3:45 PM
Meeting Room 12

Having Your Coffee in the .NET World

<b>"CoffeeScript is a little language that compiles into JavaScript."</b> This language gives developers a way to get to the "Good Parts" of JavaScript. It allows us to write clean JavaScript and until recently has been a pain to use on Windows. That has changed. In this talk, I will show you how to use CoffeeScript in your .NET project. We will look at Visual Studio Extentions that allow you to write and compile CoffeeScript from inside Visual Studio. By the end of this talk you will have the knowledge to go out and start using the "Good Parts" of JavaScript in your application. There will be numerous code examples so bring your computers and join in on the fun of writing CoffeeScript in the .NET world.
2:30 PM - 3:45 PM
Meeting Room 4

Startup Tips and Tricks: Getting a small IT shop off the ground

Are you a developer interested in becoming an independent consultant? Do you have a great software idea and have thought about starting your own software company? In this presentation Kevin will talk about his journey from the corporate world to being an independent consultant and through owning a small consulting firm. We will cover all aspects of business ownership from where to find the right technology and how to find partners such as legal and accounting help. You may find it fascinating that a small company actually has the opportunity to have the same (if not better) IT infrastructure than most large enterprises for a fraction of the cost.
2:30 PM - 3:45 PM
Meeting Room 15

Master Windows 8 Location and Proximity Capabilities

The age old punch line "Location, Location, Location" is all too applicable in technology now-a-days. Come learn to leverage Windows 8's Location API, one of the most important features in the mobile computing world. We'll cover how to help users locate themselves as well as helping them track their next Ski trip. Proximity is another vital part of many great apps today. Join us to learn to leverage NFC tags and connect to peers through wireless communication. After mastering the Location and Proximity capabilities you'll be able to create high value Windows Store Apps.
2:30 PM - 3:45 PM
Meeting Room 3

Creating iOS Apps with C# using Xamarin.iOS

The introduction of the iPhone, iPad, and iPod touch sent waves through the software development community. iOS has become a very successful force and many developers have flocked to the platform. Unfortunately, many developers shy away because of the unfamiliar development environment. It doesn't have to be that way! Come learn how to build iOS applications using C# with Xamarin.iOS. You'll learn how to use your existing skills to build apps for iOS. I'll show you how you can even use Visual Studio to develop your application.
2:30 PM - 3:45 PM
Meeting Room 14

Riak in a .NET World

Developers have a lot of choices when it comes to storing data. In this session, we'll introduce .NET developers to Riak, a distributed key-value database. Through a combination of concepts and practical examples, attendees will learn when Riak might be appropriate, how to get started with Riak using CorrugatedIron (a full-featured .NET client for Riak), and how to solve data modeling problems they're likely to encounter. This talk is for developers who are interested in backing their applications with a fault-tolerant, distributed database.
2:30 PM - 3:45 PM
Meeting Room 6

“I See a Control Flow Tab. Now What?”

This highly-interactive, demo-intense presentation is for beginners and developers just getting started with SSIS 2012. Attend and learn how to build SSIS 2012 packages from the ground up. Objectives 1. Learn what SSIS does best and what it doesn't do well. 2. Learn about common pitfalls for new SSIS developers. 3. Gain familiarity with the "tools of the trade" of data integration development.
2:30 PM - 3:45 PM
Meeting Room 7/8

Distributed Version Control Systems: A Guide For The Perplexed

In this session you will learn what Distributed Version Control is, the benefits of DVCS, the primary DVCS platforms and their relative benefits and shortcomings. Much of the discussion around version control currently centers around Distributed Version Control Systems (DVCS). More tools, web sites and platforms continue to enable DVCS access and interaction. For many developers and teams, DVCS remains unfamiliar. This session aims to make attendees familiar with DVCS so they can make informed choices and begin deeper investigation of DVCS features and benefits.
4:00 PM - 5:15 PM
Banquet Room G

Cold, Hard Cache

HTTP caching can reduce user wait time, decrease server load, and continue to serve content when an app server is down, but even the basics of cache-control headers are easy to misunderstand. In this talk, we will clarify the basics and then move on to explore specific applications of caching that can benefit web apps, including configuration of Varnish and delivery of precompiled assets from CloudFront.
4:00 PM - 5:15 PM
Meeting Room 14

Going to Production with JRuby and Torquebox

Have you heard a lot of the buzz around JRuby and wondered "yeah, but why would I bother?" Have you looked at your production setup for your Ruby application and though "this really doesn't fit right for us"? If you answer yes to either, or both, of these then this talk is for you. In this session we will discuss what drove a real project for a commercial application to move to JRuby and Torquebox and how the experience went. We will walk through how to take a MRI based application that is currently in production with Nginx and Passenger to JRuby and Torquebox. We will also discuss the anticipated and realized pros and cons as Chris shares the motivations, lessons learned, ups and downs of the experience as he attempts to answer both the why and how of using Torquebox to run your application.
4:00 PM - 5:15 PM
Meeting Room 7/8

Crawl Walk Talk: Windows Phone 8 App Lifecycle and Speech

Many Windows Phone apps in the store are good, but they could be great if they understood the very basics of app Lifecycle management. App users should never know they left the app due to app behavior. We'll discuss and learn how to effectively and efficiently suspend, tombstone, resume and restore Windows Phone apps. Then we'll move on to teaching our apps how to respond to Voice Commands. Voice Commands are one of the most helpful features and yet one of the least leveraged features in the Windows Phone platform. We'll learn where they can help and how they can streamline the user experience.
4:00 PM - 5:15 PM
Meeting Room 12

Getting started with NoSQL in .NET using RavenDB

Are you ready to add NoSQL to your toolbelt, but not sure where and how to begin? In this session, you will get your feet wet with a gentle introduction to RavenDB. We will start at “File > New Project” and see just how easy it is to launch a RavenDB server and connect to it using the RavenDB .NET Client API. We will then go over storing, retrieving, and querying objects, an overview of the indexing system, and common strategies for handling schema changes.
4:00 PM - 5:15 PM
Meeting Room 4

Using Game-Creating Software to Build Cross-Platform Games across mobile devices

Many people chose the field of Computer Science because they love playing computer games. But it can be difficult to write a game, requiring heavy graphics skills and perhaps knowledge of physics engines and such. And you typically have to learn many different skills and languages if you want to make your game available for Windows 8 and Android and iOS and Windows Phone. In this session, we have a solution for the time-constrained developer who still loves to make computer games. We will demonstrate tools like Scirra's Construct 2, which allow you to build games and export them to multiple platforms. You simply add backgrounds and sprites on a page, and use an "event sheet" of simple if-then statements to define your game logic. There are also templates/tutorials to get you started creating a shooter game, physics puzzle, driving game, and platform game (like Super Mario Brothers). You will leave able to get started building professional-looking cross-platform games.
4:00 PM - 5:15 PM
Meeting Room 3

Build a Hybrid Mobile App in an Hour with Sencha Architect

Speaker: Patrick Chu
Build a mobile app from 0 to "done" in about an hour! In this presentation, we'll build a working mobile application using the Sencha Touch Javascript framework and the Sencha Architect visual rapid development tool. Sencha Touch is an HTML5/CSS/Javascript client-side development framework that allows you to quickly build "native"-ish mobile applications that run on iOS, Android, Windows 8 and Blackberry smart phones from a common code base.
4:00 PM - 5:15 PM
Banquet Room F

A Whole New World of JavaScript Testing with Jasmine

JavaScript. Powerful, but dangerous. You can really blow your foot off if you're not careful, so a good suite of automated tests is critical for success. Jasmine is a framework that makes testing a joy. From its highly readable spec format to its built in spies and clock control, it's easy to get addicted. In this session we will quickly review why testing is so important when dealing with JavaScript, then we'll dive into Jasmine's features and integration into your automated build processes.
4:00 PM - 5:15 PM
Meeting Room 6

Debug Production Application Issues using System Center Operations Manager and TFS

What do you do if you have a production application issue that you can't recreate in a test environment? It used to be long nights in the test lab, frantically trying to fix the problem. No longer. In this session, you will see how to use Application Performance Management in System Center Operations Manager 2012 SP1 to gather detailed production performance information, including exceptions and Performance Monitor data, for your web sites, web services, and Windows Services. When the data gathered does not fit within your applications’ SLA, operations can digitally interact with development, creating a traceable conversation about what when wrong. Using technologies like IntelliTrace and Visual Studio 2012 with Team Foundation Server 2012, you’ll see how developers can easily get to the root of an application problem and provide a fix all the while keeping Operations in the loop. In addition to seeing it work live, you will drill down into the technology and how it works, providing you with best practices for deployment and use in your own organization.
4:00 PM - 5:15 PM
Meeting Room 15

Improving Web Performance

This session will start with a traditional ASP.NET web site and show step by step how to improve it for both client experience and scalability. Review the basics of caching and learn how to avoid costly server round trips by using expirations to maximize use of the client's browser and also reduce server side execution time with data caching on the server. Use HTTP compression, minification of JavaScript and CSS, and image optimization to reduce client downloads by 50-75%. Take advantage of free CDN networks to host jQuery and Ajax files. See how tools such as Fiddler and Google Page speed can be used to help diagnose and verify improvements. Use jQuery to lazy load images only as they are about to be displayed. Learn the techniques that can have the largest impact on web performance with the least amount of work.
4:00 PM - 5:15 PM
Meeting Room 9/10

Bootstrap All the Things (with LESS)

Speaker: Jay Harris
CSS Scaffolding systems have some a long way since Blueprint and 960.gs. Bootstrap extends beyond the basic grid system to provide a beautiful and powerful design framework, and its power increases tenfold when combined with LESS, the dynamic stylesheet language. Spend a session learning about simple, reusable, variable-based CSS with LESS, and the beautiful, responsive designs that you can build off of it when combined with the Bootstrap framework. When you walk away from this session, you too will want to Bootstrap All the Things (with LESS).
4:00 PM - 5:15 PM
Banquet Room E

Making Pictures with Math: HTML5 Canvas

Never before has such a powerful, high-level graphics subsystem been at the fingertips of so many. Using only a text editor and a browser, we'll start at the beginning by putting pixels on the page. We'll see that from there it's only a small jump to complex procedural drawings and animation. Along the way we'll discuss lots of canvas tricks to get a lot of wow out of a little bit of code.
4:00 PM - 5:15 PM
Meeting Room 2

Navigating the Open Source Legal Waters

Open source tools. We all use them. Whether it’s an entire toolkit, a framework that meets some specific needs, or a simple custom control from NuGet, CodePlex, or CodeProject, it is hard to ignore the opportunity to improve our rate of development while learning new things from open source projects. But what does “open source” truly mean? Especially when working in a professional or corporate environment, what are our rights and limitations as open source consumers to use, modify, and redistribute these tools. Often that depends upon the authors' own decisions regarding project licensing. In this one-hour session, we will review a few of the core principals of open-source development and consumption, compare and contrast some of the more popular licenses in use today, and discuss both how to use the open source works of others and also how to properly license your own.
4:00 PM - 5:15 PM
Meeting Room 13

Object-Oriented JavaScript (yes, it really exists)

JavaScript gets a bad rap for not being a "full" programming language, but with the introduction of frameworks like Node, Backbone, and others, people are starting to realize how powerful this tool can be. It's time to give JavaScript the attention it deserves and you can start your re-education by accepting that while JavaScript may exhibit some characteristics of a functional language, it really is a multi-paradigm language with strong support for Object-Oriented Programming. This talk will give attendees a crash course in Object-Oriented JavaScript covering: * core OOP principles * the prototype object and constructors * member access types (public, private, & privileged) * prototypical inheritance * interfaces (mixins) Developers will come out of this session ready to implement core OOP concepts in JavaScript and with knowledge of how inheritance in JavaScript differs from many of the other languages they know.
4:00 PM - 5:15 PM
Meeting Room 5

Dataflow Programming on Big (and Little) Data with Scalding

How does Twitter know what topics are trending, or what movies people like in Chattanooga? Cascading is a Java project designed to provide a dataflow programming model with a runtime that can scale across thousands of machines and is used in companies like Twitter, Etsy and Razorefish to perform analysis on large sets of data. We will perform more complex analytics using Scalding, a DSL for Scala that allows you to do a lot of work with a little bit code on a lot of data.
7:00 PM - 10:00 PM
Tennessee Aquarium

Networking Event

Tennessee Aquarium - River
30
Aug

Friday

7:30 AM - 4:00 PM
Main Hall

Registration

Please have your ticket or photo identification
8:00 AM - 9:15 AM
Meeting Room 7/8

Teach Me to FP

Don't be intimidated by Functional Programming. It is hot! And worth the effort! Take advantage of multiprocessors. Write fewer tests. Have more confidence in the correctness of your code. I will give you an introduction to Functional Programming in Clojure that will provide a firm footing for future exploration.
8:00 AM - 9:15 AM
Banquet Room F

How to Not Get Thrown Under the (Message) Bus by JavaScript

Speaker: Jim Cowart
How do you write large applications in JavaScript? Can it really be done? Like you would in any language, you break the large app into several small apps that communicate in a structured, predictable manner. Proper de-coupling is the key. In this session we'll cover the journey from spaghetti code, to introducing the observer pattern for first level events, and eventually introducing the concept of 'messaging' in JavaScript. We'll talk about the strengths and weakness of these approaches, some recommendations of when to use what, how powerful they can be in tandem...and have some fun looking at a completely ridiculous sample app utilizing messaging and events across frames and workers.
8:00 AM - 9:15 AM
Meeting Room 12

Designing an SSIS Framework

In this “demo-tastic” presentation, SSIS trainer, author, and consultant Andy Leonard explains the what, why, and how of an SSIS framework that delivers metadata-driven package execution, connections management, and centralizes logging. Key takeaways: 1) Developers can migrate packages from Development, through their lifecycle, to Production without editing SSIS Connection Managers properties. 2) A metadata-driven approach to SSIS package execution. 3) Demonstration of a centralized logging reporting application. Objectives: 3. An introduction to Design Patterns-based development. 2. Real-world demonstrations of applying patterns-based design to data integration requirements. 1. Increase data integration solution quality, increase maintenance and management efficiency, and learn a process to deliver repeatable, stable, and audit-able data integration solutions.
8:00 AM - 9:15 AM
Meeting Room 14

KnockoutJs for the XAML Developer

You have invested countless hours mastering MVVM in XAML, in fact you might even consider yourself a XAML Ninja. Sadly, XAML is so last year. Html/JavaScript/Jquery is now the new 'It Technology Stack'. Fear not because all your Ninja skills are not lost because KnockoutJs is a killer MVVM library for Html/JavaScript. In this session we are going to learn how to transfer your XAML Ninja skills to the wonderful world of KnockoutJs. This session will be done in the 'hey, in XAML it works this way and in Knockout it works that way' format. By the end of this lesson you should feel comfortable with making the leap from XAML to Html.
8:00 AM - 9:15 AM
Meeting Room 13

Hey, You Got Your API In My Website!

Why would you want to build both your wesbite and then repeat much of the same code to add on an API? Using the open source ServiceStack.NET project you can easily build both a website and web services with a single set of code. We will build a Razor based site that embed standards compliant web services that return any number of response formats including JSON, POX and SOAP. Even better, all of this runs on Mono so you can host your application on a number of different platforms. In addition we will review the ServiceStack.NET client that allows you to call the services with almost zero effort on any platform that supports .NET or Mono including Android and iPhone.
8:00 AM - 9:15 AM
Meeting Room 9/10

Death By UDF

Speaker: Kevin Boles
Using User Defined Functions in your database code is like playing Russian Roulette with 5.97 bullets in the gun!! There are SOOOOO many ways they can kill you: staggering performance degredation, tempdb allocation issues and bad data!! Oh, did I mention performance issues?? Those include row-by-row processing under the covers, bad estimates leading to horrible query plans, voiding parallelization in the engine, etc. In this jam-packed session we will cover all this and also discuss several ways you can get rid of them.
8:00 AM - 9:15 AM
Banquet Room G

Modern Architectures for Cross-Platform Development

In today's software world, the app is king. And with apps becoming ever more essential to today’s business, entertainment, and personal life, it almost goes without saying that any new development project or consumer product will eventually need to target multiple clients on multiple devices. As a developer who may end up writing for the phone, tablet, web, and desktop, it can be critical to make the correct choices up front in terms of your team's development patterns and application architecture. In this one-hour session, we will discuss some of the pitfalls faced by teams today. Particularly for apps that are already in production, what limitations may there be to extending for the mobile and tablet world? And if you are building from the ground up, what choices do you have to create a robust, flexible, accessible server and API that can be used by your own client app dev teams, as well as third-party API consumers who can extend your brand even further. Our technical focus will largely remain agnostic to your chosen database technology, SQL (or NoSQL), and other back-end logic. Instead, we will look at the services and client tiers. The discussion will weigh the pros and cons of WCF Data Services (with JSON endpoints), as well as building RESTful services with the newer MVC 4 Web API. Client-side technologies could be anything, but we will certainly consider at least clients for the web, iOS (via MonoTouch), and possibly XAML/WinJS for Windows 8.
8:00 AM - 9:15 AM
Meeting Room 15

From Manual Testing to Automation with Visual Studio ALM

Microsoft Test Manager helps testers define and execute system test cases. These tests can be executed as exploratory and scripted test cases and you can use action recording to manually re-play test cases in the future. But it doesn’t stop there!Coded UI Tests help your teams leverage manual test cases by automating them and then they can be executed as part of your builds. We will cover the following: - Create a test plan and test cases - Create an action recording for a test case - Convert your test case recording into a Coded UI Test - Add assertions to the Coded UI Test- Associate your Coded UI Test to a test case in MTM - Execute your test cases automatically
8:00 AM - 9:15 AM
Meeting Room 3

iOS for the .Net Web Guy

Speaker: Lee Brandt
Having spent most of the last 15 years writing web apps on a Microsoft platform, the switch to iOS was a tricky one for me. I will share all that I have learned in the last year making the transition. You will learn the basics of iOS programming from a .NETters perspective. For any .NET web developers looking to make the jump to iOS, but are not sure what to expect, this session is for you.
8:00 AM - 9:15 AM
Meeting Room 5

AngularJS and TypeScript for Modern Web Application Development

Although native applications continue to thrive, more and more focus is being placed on the web as a way to successfully deliver enterprise applications. The primary language of the web is JavaScript and it comes with its own challenges that make it difficult to scale large teams across large projects. The combination of TypeScript and AngularJS changes this by providing a way to design a declarative UI with a clean separation of concerns while providing strong types that make discovery and refactoring easier than ever before. Join principal consultant Jeremy Likness to learn how these two technologies combine to enable large development teams to deliver web-based applications more quickly and efficiently.
8:00 AM - 9:15 AM
Meeting Room 6

Developing for Windows 8 for the Android developer

In this session, we will give an introduction to development for Windows 8 PCs and tablets that is specifically tailored to Android developers. We will show the Windows 8 approach and Android approach, so Android developers see what is similar and different in the Windows 8 world. We will also provide resources for Android developers, including API mappings and how to get started with simple tasks.
8:00 AM - 9:15 AM
Meeting Room 4

The Super-Simple Way to Write Your Own Cmdlets for PowerShell

You're a PowerShell convert, and you live with a shell open now. But you're finding yourself wishing that PowerShell handled something differently. You know you could solve the problem with your .NET skills, but how do you tie the two technologies together? Attend this session to learn how to write your own cmdlets and modules, from File > New Project, through dynamic types and testing, through deployment and sharing, and all the way to having your new cmdlets doing work for you. We’ll cover all of that in an hour, so we'll be moving quickly in this mostly-code session. Come learn how to take your PowerShell skills to the next level by leveraging what you already know about .NET development and building a cmdlet to turn your SQL queries into pipeline-friendly objects.
8:00 AM - 9:15 AM
Meeting Room 2

Cryptography 101 Using the .NET Framework

Learn the "black art" of cryptography, including public/private and symmetric encryption, hashing, digital signatures, and a dash of salt. Review the basics of cryptography and what techniques are appropriate for various situations. Discover practical techniques for securing content received on public web sites. Review .NET classes to use for cryptography, how ASP.NET uses cryptography, and how to protect sections of the web.config file.
8:00 AM - 9:15 AM
Banquet Room E

Demystifying Single Sign-On

Single Sign-On – SSO… If you’ve considered single sign-on or identity federation for your organization, those three letters are probably better rearranged – S.O.S. This session will help you sort out all the acronyms and protocols so you can start in the right direction to a successful implementation. We’ll take a look at Windows Identity Foundation and Windows Azure Active Directory (formerly Access Control Service) and how they fit in the overall solution. This session covers: The Basics… -- Token Issuers and Relying Parties (with demo) -- Comparison of WS-Federation, OAuth and SAML-P -- SAML AuthN Token Overview -- Dissection of WS-Federation Web Requests Advanced Topics… -- Identity Federation with Trusted Organizations (with demo) -- Important Architecture Considerations -- Social vs Corporate Identity
9:30 AM - 10:45 AM
Meeting Room 9/10

Intro to RavenDB 2.0: NoSQL is Rapping at Your Door

Speaker: David Neal
The use of non-relational databases is gaining momentum, and can be a great solution in some scenarios. RavenDB is the foremost document database for .NET, and offers support for JSON, LINQ, a REST-ful API, automatic indexing, transactions, horizontal scalability, and many more features. In this talk we'll discuss the pros and cons of non-relational databases, explore the latest features of RavenDB 2.0, and walk through some examples of putting RavenDB to work.
9:30 AM - 10:45 AM
Meeting Room 3

Using Require.js in an ASP.NET MVC Application

JavaScript dependency loading is tricky business. The scripts have to be loaded in a particular order, they have to add global variables to communicate with each other, and they block they page's DOM while loading. Require.js is an AMD framework that helps take care of many of these issues. It's also easy to use in an MVC application with the proper setup. This session includes an introduction to require.js and how it can be utilized in an ASP.NET MVC application.
9:30 AM - 10:45 AM
Meeting Room 7/8

What's new in VS Application Lifecycle Management 2012

What's new in Application Lifecycle Management 2013 Microsoft's application lifecycle management tooling is all about enabling teams to deliver great software. In this demo-packed session, you will learn how to more effectively plan and track work by using the new Web-based project management tools; how to bridge the divide between development and operations by utilizing IntelliTrace in your production environments; and how to help keep team members on-task and ""in the zone"" with the new ""My Work"" and code review features. In addition to making your team more productive, we will show you how you can boost your overall code quality with new features such as code clone and an overhauled unit testing story in Visual Studio 2012.
9:30 AM - 10:45 AM
Meeting Room 5

Introduction to SQLAlchemy and Alembic Migrations

Speaker: Jason Myers
Let's breeze beyond the tutorials, and see some real life example of how SQLAlchemy can be used in both the ORM and Core modes. We'll take a look at functions, grouping, hybrid properies and their uses in the SQLAlchemy ORM. Then we'll dive into SQLAlchemy Core and learn how to use the SQL expression language to build dynamic queries based on database introspection and simple query building patterns. Finally, we'll dive into how to use Alembic database migrations to deal with your ever changing database needs. We'll also so some example in the Flask world, of how to tie the configuration directly into your application.
9:30 AM - 10:45 AM
Meeting Room 4

Windowing Functions: THE Reason to Upgrade to 2012

Speaker: Kevin Boles
For the first time since SQL 7 there is a compelling reason for EVERY SQL Server user to upgrade to the next version and that reason is Windowing Functions. The range of data processing needs that can be very efficiently and cleanly solved with these tools is stunning. Best of all these are NOT limited to Enterprise Edition, like so many other really useful and important features! In this demo-packed session we will cover as many features as we can pack into an hour's time, and you can take the demo code back home with you to review at your leisure!
9:30 AM - 10:45 AM
Banquet Room G

Creating Killer Single-Page Applications with Durandal

JavaScript has come into its own as a language for building large, rich applications. Browser improvements have made it lightning-fast and a healthy ecosystem of libraries has risen up around it. Still, building Single-Page applications on your own can be a daunting task. That's where Durandal comes in. It leverages existing libraries like Knockout and RequireJS for data-binding and dependency management, and layers on additional features needed by real-world applications like compositional UI. Come see how Durandal can help you create web applications using state-of-the-art practices and tooling.
9:30 AM - 10:45 AM
Meeting Room 6

Angry Birds of Modern JavaScript Development

In this session Angry Birds uncover concepts of modern JavaScript development. Each bird represents an area of JavaScript along with its strengths. Some topics covered include code organization, events and messaging, MV* frameworks, prototyping and mocking, design patterns, linting, and build systems. The goal is to defeat the pigs and by doing so produce highly tested quality JavaScript code.
9:30 AM - 10:45 AM
Meeting Room 14

Techniques for Password Hashing & Cracking

More passwords were leaked in 2012 than in all previous years combined, and the technology used to brute-force hashed passwords into clear-text has become trivial to acquire and use. In this environment it is critical that every IT professional know the various methods of brute-force attacks, and industry best-practices for hashing. This talk will review various hashing methods, common mistakes, and the strategies and hardware employed when attempting to brute-force a set of hashed passwords. Included in the talk will be a demo of a computer using a graphics processor to brute-force a hashed password back to plain text.
9:30 AM - 10:45 AM
Banquet Room F

Multi-threaded JavaScript: Your Worst Nightmare, Come True

Speaker: Jim Cowart
No really - it's not a nightmare! It's an amazing thing! It will only be a matter of time before Web Workers have wide support - will you be ready to take advantage of the benefits they can offer? In this session we'll cover what web workers *are*, how they can replace certain uses of iframes in your apps today, the advantages of parallelization/processing they can offer and more. Some use cases we may cover include using workers to: 1.) Pre-fetch/transform data in the background 2.) syntax highlighting or spell check 3.) image filtering and manipulation 4.) background polling and/or shared communications 5.) and others!
9:30 AM - 10:45 AM
Meeting Room 12

Using New Controls in Windows Store XAML Applications

This session will cover the controls that are new in XAML for Windows Store applications. Those will include new list based controls such as GridView, ListView and FlipView. We will talk about cool new visuals that SemanticZoom allows developer to create. RichEditBox’s great capabilities will be discussed. Other controls that play an important role in creating compelling user interfaces will be discussed as well. At the end we will have a small working application, allowing the user to see and edit the data. Learning objectives 1. Get an overview of new XAML based controls in WinRT 2. Understand the power and capabilities of list based controls 3. Get an idea of how to create compelling user experience with other controls available for WinRT applications.
9:30 AM - 10:45 AM
Meeting Room 2

Using Twitter Bootstrap to design Responsive Web Sites in Orchard

Speaker: Eric Greene
Twitter Bootstrap is a great CSS framework for building responsive web sites... Orchard CMS is a great framework for managing web site content... This presentation will focus on pairing the two technologies together to build maintainable and responsive web sites.
9:30 AM - 10:45 AM
Meeting Room 13

Running with Elephants: Predictive Analytics with HDInsight for Developers

Speaker: Chris Price
Amazon and Twitter do it, Wal-Mart & Facebook too….What about you? Big Data Predictive Analytics is pervasive and with HDInsight it's never been more approachable. In this session you become part of the demo as your clickstream data at our fictional e-commerce website drives user and product recommendations using the built-in Mahout (Taste) algorithms. In this action pack session, real-world and practical solutions for moving data into and out of HDFS (with Sqoop), using Mongo or HBase as a source/destination and of course handling Mahout processing in distributive mode will all be covered.
9:30 AM - 10:45 AM
Meeting Room 15

Beginner's Guide to Mobile Development with Xamarin

If you’re a C# lover and want to develop mobile applications across iOS, Android, and Windows Phone, then Xamarin deserves your attention. Never heard of Xamarin? Not to worry. They’re the clever folks who brought us Mono for Linux and, more recently, runtime environments for iOS, Android, and Mac. They formed Xamarin roughly two years ago with a laser focus on the mobile space. Xamarin is a really big for C# developers. There are several cross-platform frameworks based upon with web technologies, but this is the first mobile development product aimed squarely at C# developers. Beyond that, Xamarin allows you to build first class user experiences using the same native building blocks available via Objective-C and Java and share common code between platforms. Awesome, right? There’s more. In this session, I’ll get you up to speed with Xamarin and share lessons learned while building apps with Xamarin at Firefly Logic. I’ll give you pointers to resources to use during your learning journey and introduce you to influential members of the community.
9:30 AM - 10:45 AM
Banquet Room E

Scale Up or Scale Out

You need to handle more data and deliver faster queries, but the options are confusing. In this session, you will learn from battle tested techniques used to speed up SQL Server environments both by scaling up and scaling out. We'll cover which features can save you hundreds of development hours, which features are a struggle to implement, and how you can tell the difference. This workshop is for developers and DBAs who need to plan long term changes to their environment.
11:00 AM - 1:00 PM
Exhibit Hall C

Lunch

Available with meal voucher
12:15 PM - 12:45 PM
Meeting Room 12

Gadgeteerin

"Did you ever have an idea for an electronic device that required more than just software - weather station, robot, automatic beer keg? Was that immediately followed with Dr. McCoy whispering in your ear, "I'm a software developer, not an electrical engineer!". If you thought that building something like this was beyond your capabilities then think again. Gadgeteer is a rapid prototyping platform that makes building physical devices as easy as plug & play. The platform takes care of the electronics and lets you concentrate on the software. In ten minutes, I'll show you how you can build from a working Internet of Things project that monitors sensors & logs data to the Internet as well as show you an assortment of other projects built using Gadgeteer. Come take part in the Gadgeteerin' revolution!"
1:00 PM - 2:15 PM
Meeting Room 13

Implementing M-V-VM in WinJS

The Model-View-ViewModel adaptation of the Presentation Model pattern has proven itself in XAML based technologies. Now it's time to reap the benefit in JavaScript and WinJS. In this session I will show you how to build ViewModels out of your Models, and apply them to Views in WinJS for Windows Store Application development. This session assumes a working knowledge of JavaScript, HTML, and at least introductory WinJS experience.
1:00 PM - 2:15 PM
Banquet Room F

Hypermedia driven web applications

Speaker: Bob Yexley
You’ve most likely heard the term Hypermedia, and you might even know what it is. Does it work in the real world, or is it just another buzz word? Have you used it? Should you use it? What advantages does it give you in building both server and client applications? In this presentation I hope to start a discussion around these very questions, and try to show some practical examples of how to use Hypermedia in a server-side API, and how to consume Hypermedia in a client (in my case, JavaScript) application.
1:00 PM - 2:15 PM
Meeting Room 2

Regular Expressions (now you’ve got two problems)

Be afraid. Be very afraid. For you are about to enter the mysterious and foreboding land of regular expressions. A land of strange-looking hieroglyphics. A land of many flavors and implementations. A land whose inhabitants possess seemingly magical powers over text. But fear no more, for you needn't make the journey alone: a guide and a map await you. In this session, we'll take a whirlwind tour of the features found in most regular expression implementations. Then we'll dive deep. We'll take a peek inside a regular expression engine. From character literals to character classes, from backreferences to look-around, you'll see every step a regular expression engine takes when it parses text. By the end of the session, you'll be able to think like a regular expression engine.
1:00 PM - 2:15 PM
Meeting Room 14

Common TSQL Mistakes

Speaker: Kevin Boles
We are going to examine a variety of oopsies MANY developers fall prey too - some obvious, some pretty subtle and some down right sneaky! Lots of code examples with the bad AND good code presented. I GUARANTEE that you will find things here that will either prevent you from getting bad data, throwing unwanted errors or vastly improving your database application's performance. I have given this talk over fifty times now and it is always very highly rated!
1:00 PM - 2:15 PM
Meeting Room 3

Airplane mode

You've gone and built the most amazing new web application, it's going to make you hundreds of cents. For all the Web APIs and SPAs that make it tick there's one thing that's not been considered. Airplane mode. Invariably someone is going to be using your site and loose connectivity, but how will your application handle that? What happens when they try and create data? In this session we'll be looking at the various options available when it comes to handling data in an offline web application and how you can leverage them as you transition between online and offline within your web application.
1:00 PM - 2:15 PM
Banquet Room G

Mastering HTTP Handlers in the ASP.NET Web API

Writing web services using the ASP.NET Web API can be quite satisfying. For SOAP developers accustomed to strict separations between bindings and contracts, it can also be a frustrating experience. Without proper foresight and planning, the boundaries between controller actions and the transport can get fuzzy, potentially leading to design complications as your application matures. In this code-focused session, you'll learn about one of the Web API's key extensibility mechanisms that can help to separate an application's "plumbing" from its business logic and data-handling concerns. When you've completed this session, you'll understand the Web API's object model and how to write global and per-route HTTP handlers to solve a range of cross-cutting problems.
1:00 PM - 2:15 PM
Meeting Room 6

Typescript, the gateway drug to Javascript

If you have not been paying attention Javascript has pretty much won the war of 'write once, run anywhere' as it can now run on both the client and server side. And if your like most people who are new to JavaScript, it can seem scary and intimidating to try to pick up. This is where Typescript comes in. TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. Typescript tries to make sense of some of JavaScript's language 'issues' (aka wth does that syntax mean). In this session we will focus on how to go from 0 to 60 in JavaScript in no time flat all because of the awesomeness that is Typescript. By the end of this interactive session you should be hooked on JavaScript , I mean Typescript, and the fear and intimidation of learning JavaScript should be gone.
1:00 PM - 2:15 PM
Meeting Room 9/10

Populating UITableViews with Your New RSS Parser Class

Speaker: Don Miller
You don't need to be an expert to create an iOS app from a RSS feed. Our journey will begin by creating a RSS parser class and NSLogging output to test it out. Once that milestone is complete, we will then use that class to create an iPhone app to display the top 100 movies from Netflix. Work along and/or use github for the code later. We will use a storyboard and the Master-Detail template to build the app. If time permits, we can explore building the same app with xib files.
1:00 PM - 2:15 PM
Meeting Room 7/8

Code Search Sucks: How Updating Your Code Search Tool and Tweaking Your Workflow Can Dramatically Effect Your Productivity

I have worked with and studied several top developers (e.g., leaders of an open source project with millions of downloads) as they write code. Both anecdotal and video evidence shows that these developers are fixing bugs 10-15X faster than others. Yet when analyzing these developers' performances it's not their superior brainpower that sets them apart, it's their workflow strategy. Instead of wasting time clicking around the Solution Explorer for a starting point they search for relevant files and get started instantly. Instead of haphazardly scrolling through open files they navigate the code by following its structure (e.g., references and calls), eliminating many costly distractions. Adopting this search-driven, structured workflow allows even more modest developers (like myself) to dramatically increase their productivity. In this talk I'll focus on two things: providing evidence of the problem and offering practical advice on how to implement this approach in your own Visual Studio. To understand the problem we'll analyze videos of developers working on real bug tasks, listen to interviews with top developers, and even delve (briefly) into a few academic studies. To help implement this approach in your own workspace we'll download the appropriate tool support (e.g., the free, open source Sando extension), work through an example bug together on my machine, and finally I'll provide an example for you to try on your own laptop. By the end of this session you should be able to search and navigate code, and ultimately squash bugs, much more efficiently.
1:00 PM - 2:15 PM
Meeting Room 12

WinRT and the Web: Keeping Windows Store Apps Alive and Connected

The Windows Runtime is the runtime that drives Windows 8 and the new Windows Store apps. The runtime enables developers to build rich client apps that run natively on Window 8 devices. In this session, Jeremy Likness explores the various built-in components and APIs that enable Windows Store apps to connect to SOAP, REST, and OData endpoints and syndicate RSS and Atom feeds. Learn how these tools make it easy to build Windows Store apps that are alive and connected to the internet.
1:00 PM - 2:15 PM
Meeting Room 15

Custom Graphics for your Web Application: The HTML5 Canvas and Kinetic.js

HTML5 includes a Canvas element that allows for dynamic, scriptable rendering of 2D shapes and bitmap images. Using this, web developers can draw images directly in their web pages with JavaScript, enabling applications such as games, mapping, and data visualization to offload the rendering to the client. One problem with the Canvas, though, is that the rendered image is just that: an image. The user is unable to interact with any of the shapes that are drawn to the Canvas. However, an open source library called Kinetic bridges that gap, allowing shapes or images to be drawn using the existing Canvas API, event listeners attached to them, and manipulated individually using mouse or touch (i.e., move, scale, and rotate). This session will introduce how to use the Canvas API and Kinetic.js in a desktop or mobile web application.
1:00 PM - 2:15 PM
Meeting Room 4

Awesome JavaScript Libraries That Aren't jQuery

For many web developers, it was jQuery that really pushed them from tinkering to full blown web developer. In fact, many developers slip and call themselves a "jQuery" developer instead of a "JavaScript" developer. Did you know that there are a lot of really great JavaScript libraries that don't rely on jQuery at all? Blasphemy, you say, but it's true. In this presentation, we'll take a look at several popular JavaScript frameworks and plugins that take your applications to the next level, but don't have a need of jQuery.
1:00 PM - 2:15 PM
Meeting Room 5

Beyond Fast Good And Cheap: Setting Priorities Among Constraints

In this session, attendees will explore the limits and opportunities of what software developers can influence and change in process of releasing software. It is common, on many teams, to become frustrated and sometimes despair when schedule and resource constraints prompt managers to make ever increasing demands on software developers than sometimes contradict what professionals know is the right path to quality software. Martin Fowler calls this conundrum the "Tradable Quality Hypothesis." We will explore the options teams and individual developers have to cope with and in some cases push back against these constraints.
1:00 PM - 2:15 PM
Banquet Room E

Test Driven Development with Angular JS

Speaker: Joe Eames
Test Driven Development is widely recognized as a proven method to improve both the quality and maintainability of code. But a new breed of application, the Single Page Application, has become popular, and the need to test client-side JavaScript (never a commonly tested language) is ever more urgent. Many frameworks have arisen to address this need. Commonly referred to as JavaScript MVC frameworks, they allow us to build ever larger applications in the browser. Angular JS is unique among these frameworks because it was built from the ground up to support automated testing. This talk will cover how to do test driven development with Angular JS.
2:30 PM - 3:45 PM
Meeting Room 9/10

What's New in ASP.NET MVC 4

ASP.NET MVC has come a long way from its initial release in 2009. Its feature set and maturity have grown by leaps and bounds with each release, and the new fourth version is no exception. In this presentation, we'll cover some of the new features, including the ASP.NET Web API, display modes, mobile enhancements, bundling and minification, and asynchronous controllers. You'll come away with an understanding of what the new framework version offers, and why you might want to upgrade your existing MVC apps to the latest and greatest.
2:30 PM - 3:45 PM
Meeting Room 6

Going Independent 101: Lessons learned from a decade of independence

Breaking free from the confines of the cubicle farm and going out on your own can be one of the most satisfying things you do for your career. It can also be one of the most terrifying. This session will answer the most common questions I've been asked over the years such as "How do I get started?", "Where do I find clients?", "How much do I charge?" and many others. Come find out if the grass really is greener on the other side.
2:30 PM - 3:45 PM
Meeting Room 7/8

Knockout: Custom Bindings and Extenders

Speaker: Tim Larson
Knockout is a Javascript library that helps you use the MVVM pattern in writing web apps. It provides 2-way data binding between properties in your code and objects in the DOM, decreasing the clutter in your code and saving you from the tedium of manually setting data on and retrieving data from the DOM That's great, but will it really work for the crazy things that you need for your web app? How far can you go with Knockout? How much can it's data bindings really do? Will it work with jQuery UI widgets? Come to this session if you want to learn how to extend Knockout with custom Bindings and custom Extenders. We'll start with a brief overview of how to use Knockout, and we'll review the standard Knockout Binders. Then we'll dig into the Knockout source and see what a binder is made of, and we'll create one ourselves. We'll also look at how to create a custom Knockout Extender, and how to know whether you need to create a Binder or an Extender. And we'll wrap up by showing how to create a custom Knockout Binder for jQuery UI widgets.
2:30 PM - 3:45 PM
Meeting Room 15

Remote Working Bootcamp

Successfully working remotely is a skill that can be learned. This session will cover a variety of skills that you'll need to be effective and provide value when working remotely.
2:30 PM - 3:45 PM
Banquet Room F

Visual Studio ALM Tools for Agile Methodologies

Adopting Scrum is a complete paradigm shift for many teams. It is usually hard to break old habits and form new ones. Even though Scrum is an fairly lightweight methodology, development teams that are adopting Scrum for the first time always struggle. In this session we will learn how to make the Visual Studio ALM tools an ally for team that are implementing Scrum or other agile methodologies.
2:30 PM - 3:45 PM
Meeting Room 5

Biometrics: Using You Body for Fun and Profit

As the need for security increases, the use of biometrics will become more and more prevalent. This session will discuss topics in the space of Biometrics and introduce you to a few devices that are emerging in the field, such as palm vein scanners, touch-less fingerprint readers, and Kinect.
2:30 PM - 3:45 PM
Meeting Room 4

Getting Started WIth Require.js

Speaker: Jim Cowart
JavaScript's lack of a language-level module system does *not* have to be a handicap when it comes to good code organization, scope control and dependency management. Come see how following the Asynchronous Module Definition spec and using a module loader library like require.js can revolutionize how you not only structure your code, but relieve the pressure of dependency management while gently guiding you with good architectural opinions for which you'll be thanking yourself for years to come. We'll cover the basics, but we'll also dive into the build utility (r.js) to look deeper at how you can work require.js into your development and build tool chain.
2:30 PM - 3:45 PM
Meeting Room 12

Automate Your Way To Greatness with System Center Orchestrator

What do you do right now to automate your environment? More than likely it is scripts. Those scripts can be difficult to maintain, as well as difficult to share. Come learn how System Center Orchestrator makes automation in your environment easy, yet powerful. From the built in activities, to building custom ones, you will leave this session with real world examples and best practices for automation in your environment.
2:30 PM - 3:45 PM
Banquet Room E

Implementing DevOps... and Making it Actually Stick

If you’ve ever been involved in promoting cultural changes within an organization, you may have experienced something even more disheartening than flat-out rejection: a full rollback of cultural change and a decade-long resentment of anyone remotely associated with the implementation. This has happened at countless organizations with agile, with SOA, with virtualization – and it’s starting to happen with DevOps. How can such as simple idea that’s been so successful at so many companies become such a resounding failure at others? It’s not the organization, and it’s certainly not DevOps. The problem lies in the implementation, and ultimately, with its promoters and champions. In this talk, I’ll discuss both technical and organizational strategies for a successful long-term DevOps implementation, go over a few big failures at big companies, and cover the common and not-so-common pitfalls when promoting this type of cultural change.
2:30 PM - 3:45 PM
Banquet Room G

Using SSDT (SQL Server Data Tools) to Manage Database Lifecycle

This session will concentrate on features of SSDT as it pertains to creating and updating data structure while incorporating your databases into source control management as well as full application lifecycle management. Discussion will include structure management, seeded data management and deployment. Build integration features will also be part of the talk. Learning objectives 1. Core features of SSDT 2. Source control and artifacts creation 3. Refactoring and build integration
2:30 PM - 3:45 PM
Meeting Room 2

Kickstarter: Crowd Funding by the Numbers

Since the launch of Kickstarter, many projects have raised millions of dollars in funding. Beneath these headlines though lives a vibrant community of smaller projects getting the funds they need every day. Kickstarter’s all-or-nothing approach has unlocked a source of crowdfunding that anyone can use. With over a 40% success rate, the question isn’t “can” I raise money on Kickstarter, but “how.” This session is an in depth look at what makes a project successful and what to avoid, including an in depth look at project statistics, pledge level tatics, and do's and don'ts for your pitch video. We'll also discuss what type of projects are a good fit for crowd funding and how to raise awareness for for project once launched.
2:30 PM - 3:45 PM
Meeting Room 3

How To Write a SQL Server DML Trigger

Triggers are extremely powerful and useful (if somewhat rarely needed) objects that are coded very similar to a common stored procedure. Yet for their similarity, there are some very important differences that need to be understood. In this session, I will walk through what goes into writing a robust DML trigger, starting with a simple version of a trigger, and working through some very useful applications of DML Triggers.
2:30 PM - 3:45 PM
Meeting Room 14

I like my jQuery plugins warm and toasty

Speaker: John Paul
With Backbone, don’t leave your jQuery plugins shivering out in the cold production air. We can keep them warm and toasty in a coat of Backbone view goodness. Gone are the days when we just copy and paste plugin files and start hacking in our script tags. Now that we have the expressiveness and modularity of Backbone views to manage our application behavior we can build a reusable facade for jQuery plugins.. I’m going to provide a guide to wrapping our jQuery plugins cozily in Backbone views. I’ll be giving you an alternative to large spaghetti .render() methods that make every jQuery plugin initialization call. I’ll walk you through the key tactics in decomposing a plugin into it’s core functionality and explain how to flexibly build your backbone view. We will also discuss the best patterns and styles for wrapping different kinds of jQuery plugins. Most notably, I’ll be going through the process of wrapping jCarousel in a Backbone view that can be reused in many different situations.
2:30 PM - 3:45 PM
Meeting Room 13

Cross Platform Push with Azure

Push Notifications are nothing new, in fact we have been doing them for quite some time even before Apple released the Apple Push Notification System in 2009. So when Microsoft released the Windows Phone OS and made Push a first class citizen why did it change the way we looked at mobile? it changed because in transformed the very concept of what we did. Microsoft immediately began talking about this as the app vs experience debate. Since then all platforms have begun embracing Push as central to the betterment of users. Microsoft took this to the next level with Windows Azure Mobile Services which allows developers to, through a central interface, send push notifications to all major platforms (Apple, Android, WP, Win8). This talk will focus on some of the history of Push but centrally will show how a cross platform push system can be designed using the Azure Mobile Services. We will discuss how push notifications are central to creating the concept of "experience" vs the traditional "app".
4:00 PM - 5:30 PM
Banquet Room E, F, G

Closing Keynote

TBD
Our Sponsors
Appendto-logo
Teleriklogo-web-225x90px
Wintellect
Cts_new_logo
Infragistics-150-logo-verticle
Oreilly
Codemagazine
Logo