The sessions below are tentatively selected for DEVLINK 2012. Please be patient as we are still in the selection process and will identify proper tracks based on the sessions selected. NOTE: All sessions are subject to change.
DEVLINK 2012
24
8/29/2012 8:00 AM
-
8/31/2012 6:00 PM
All Sessions
Test Driven Development: What You need to know but may be afraid to ask
304
Speaker:
James Bender
| Track:
Developer Tools, Languages, and Frameworks
| Level:
General
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
Test Driven Development (TDD) has been one of the biggest and most compelling paradigm changes to software development of the past few years. The ability to bake quality into your application as you develop it can change the way you think about software; it effects the way we approach, design and write applications. Test Driven Development is powerful. Yet many developers allow themselves to be intimidated by what they perceive as added complexity. Managers worry that the practice of "test first" will delay development. This presentation will explain the concepts behind TDD, outline the benefits, give you some concrete examples and some advice on how to sell it to your managers.
How I Learned to Love Dependency Injection
305
Speaker:
James Bender
| Track:
Developer Tools, Languages, and Frameworks
| Level:
General
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
Tightly coupled applications lead to heartache. They are difficult to manage. They are difficult to maintain. The create applications that are inflexible. They make TDD, or even TAD (Test After Development) all but impossible. It doesn't have to be this way. This session will demonstrate how the concept and practice of Dependency Injection (also known as Inversion of Control) and some easy to use frameworks can help make your application more loosely coupled, more flexible, more maintainable and more testable.
Vim for Visual Studio Developers
316
Speaker:
Michael Eaton
| Track:
Developer Tools, Languages, and Frameworks
| Level:
General
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
98
% /
2
%
Session Synopsis:
While Visual Studio is an amazing IDE, it clearly lacks the power of the world's best text editor! Whether as a stand-alone editor or as a plugin to your favorite IDE (Visual Studio included), learning how to use Vim will change how you work. You'll learn how to install, configure and use this amazing text editor. You'll understand the difference between Insert, Ex and Command modes and how to stop the incessant beeping you're sure to encounter when you first try this amazing editor. :wq
WiFu - so you think your wireless connection is safe?
291
Speaker:
Rob Gillen
| Track:
Open
| Level:
General
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
75
% /
25
%
Session Synopsis:
In this session we'll discuss various wireless security techniques including common misconceptions and mis-configurations. We will demonstrate how easy it is to compromise even "secured" connections and what the implications are for you as an IT professional. Using free software and inexpensive hardware (~$30), we'll demonstrate a number of attacks and highlight the vulnerabilities that are present in the behavior of many wireless devices.
From Idea to Implementation: How We Built Winsitter
292
Speaker:
Kevin Griffin
| Track:
Open
| Level:
General
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
20
% /
80
%
Session Synopsis:
Winsitter is a startup designed to help IT administrators manage their servers in a more efficient way. Like a lot of startups, Winsitter began its life during a lunch conversation. Over the next couple months, it grew into something tangible. Along the way, we had to solve several problems and not all of them were technical. A major limitation of the development was that no one quit their day jobs to work on it. This presentation is a discussion of how we built Winsitter, everything from the initial concept, to implementation, and finally deployment. If you've ever thought about building a startup while keeping your day job, come equipped with questions.
Adaptive and Responsive Web Design
326
Speaker:
Steve Bodnar
| Track:
Open
| Level:
General
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
80
% /
20
%
Session Synopsis:
We’ve all heard the phrase “Graceful Degradation” which is the idea that if the latest features we built into our web site aren’t supported on an older browser, the site will still render “okay.” Typically, when taking the graceful degradation approach, a site is designed to take advantage of the latest features and capabilities and then modified to handle problems as they come up in testing on less capable devices and browsers. Another approach is “Progressive Enhancement” where the focus is on the content – and not the browsers or devices. In this approach, a site is built with the least capable devices in mind first.
In this session, we’ll look at Adaptive and Responsive Web design and delve into the concepts behind making sites work well across browsers and devices. We’ll talk about what “works well” means and see how graceful degradation and progressive enhancement come into play as we continue to develop sites that can appear on browsers from any number of vendors and devices ranging from watches to refrigerators.
The Busy Developer’s Guide to the New Economy, Free Agency, and (not just) Survival
334
Speaker:
Ted Neward
| Track:
Open
| Level:
General
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
0
% /
100
%
Session Synopsis:
In 2008, the US economy took the sharpest nose-dive in living memory since the Great Depression. What started out as a localized rainstorm has quickly come to resemble a Category Five hurricane, a figurative "finger of God" storm of destruction that has swept through all industries, markets, and international economies with impunity, imprecision and impartiality. Developers face uncertainty, volatility and insecurity like never before.
Pragmatic Architecture: The Role of an Architect
335
Speaker:
Ted Neward
| Track:
Open
| Level:
General
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
0
% /
100
%
Session Synopsis:
*groan* Another talk on architecture? Dear God, save us all. But if we’re going to do this, let’s do it in such a way that this is the very last time we ever have to talk about it. Let’s talk about what it is, what an architect does, why she’s necessary, and why the role she plays may not be best characterized by the word “architect”, after all. And let’s do it with a few jokes, a little humility, and a ton of pragmatism.
Going Mobile with ASP.NET MVC 4
260
Speaker:
Steve Bodnar
| Track:
Mobile Development
| Level:
General
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
70
% /
30
%
Session Synopsis:
In this session, we’ll take a look at two of the new features in ASP.NET MVC 4: Adaptive Rendering and the Mobile Project Template. With Adaptive Rendering, ASP.NET MVC includes built-in support for creating websites that look good on desktops and mobile devices without making any changes to the site. With the Mobile Project Template, you can easily create an application that is specifically designed for mobile devices such as phones or tables. In this session, we’ll delve into each of these topics as well as some related concepts so that you’ll leave with a clear idea of when you’d want to create a site using adaptive rendering versus a mobile project.
jQuery Mobile – What, Why, When and Where
325
Speaker:
Steve Bodnar
| Track:
Mobile Development
| Level:
General
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
50
% /
50
%
Session Synopsis:
jQuery Mobile takes the same great principals that make jQuery so powerful and easy to use and applies them to mobile development. This new framework takes all the jQuery goodness and combines it with HTML5 to give you the ability to develop web sites with a collection of mobile-specific components such as pages, dialogs and buttons as well as events such as tap, tap-and-hold, and swipe.
After we look at what jQuery Mobile is – and how easy it is to use – we’ll discuss Why, When and Where you should (or shouldn’t) use it. jQuery Mobile is built with “progressive enhancement” which means that it should work just fine on less capable devices, but it will add more robust behaviors on more advanced devices. We’ll look at some examples of how jQuery Mobile does this using HTML5 and JavaScript. We’ll also explore the concepts of progressive enhancement, graceful degradation and adaptive and responsive web design so you can better understand where jQeury Mobile fits as a solution for developing mobile web sites.
Programming Style and Your Brain
343
Speaker:
Douglas Crockford
| Track:
Keynote
| Level:
General
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
0
% /
100
%
Session Synopsis:
Computer programs are the most complicated things that humans make. They must be perfect, which is hard for us because we are not perfect. Programming is thought to be a "head" activity, but there is a lot of "gut" involved. Indeed, it may be the gut that gives us the insight necessary for solving hard problems. But gut messes us up when it come to matters of style.
Windows Azure Data Marketplace - Data in the Cloud
287
Speaker:
Joe Kunk
| Track:
Cloud
| Level:
General
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
40
% /
60
%
Session Synopsis:
The Windows Azure Data Marketplace offers more than 100 databases
easily consumed by Excel or a simple C# or Visual Basic program. These
databases contain a wide variety of very useful and interesting data
collections for both businesses and individuals at very low cost, with
many available for free. Databases include 36 language translators,
crime statistics, United Nations health and economic data, Zillow real
estate databases, Chinese business KPIs and much more. In this session
I show how to easily query the databases, and how easy it is to sell
your own data in the cloud for monthly subscription fees. I will show
your Twitter TRST ranking, a measure of the "quality" of your twitter
followers, if you dare.
Does Your Code Tell a Story?: Lessons from prose writing applied to writing code
297
Speaker:
Alan Stevens
| Track:
Professional Development
| Level:
General
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
0
% /
100
%
Session Synopsis:
Software developers are writers. Our medium is text. What can we learn about how to write better code by studying the practices of prose authors? Frequently in software development, we solve a problem, check in the code and release it. Unfortunately, this means that we release the first draft of our solution. One of the main lessons of writing workshops and classes is to write in small chunks and revise ruthlessly. By releasing our first drafts, we increase the maintenance cost of our application by making it harder for the next developer to understand the initial intent of the our solution. In this session, we will explore concepts from the craft of writing such as small assignments, shi**y first drafts, where ideas come from and the three types of drafts as they apply to the practice of software development.
You say Tomato, I say Pomodoro
310
Speaker:
Joel Cochran
| Track:
Development Practices
| Level:
General
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
0
% /
100
%
Session Synopsis:
Do you have trouble getting things done at work? Constantly interrupted by your boss, coworkers, and friends? Do you sidetrack yourself with email, Facebook, and Twitter? Do you work all day but feel you don't accomplish anything? Do you fight procrastination? Are you great at starting projects but terrible at finishing them? Are you depressed yet from reading this abstract? If you answered "No" to every question it means you're lying to yourself. If you said "Yes" to any (or all!) of them, it means you're human! Have no fear, Pomodoro is here! Pomodoro is a time and task management technique that can help you become more productive than you ever imagined. In this session we'll discuss all of the problems listed above and introduce the basics of Pomodoro Time Management. We'll also delve into the practical issues of dealing with distractions and context switching. There is something here for everyone so come join in the conversation!
Sucking Less
313
Speaker:
Matt Ruma
| Track:
Development Practices
| Level:
General
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
0
% /
100
%
Session Synopsis:
If I had to sum up my goal for each day, it would be simple, I just want to suck less than I did yesterday. I’d like to share with you how I try to suck less by tapping that same creative process that I use to write awesome code and channel it into making usable and appealing user experiences.
IncaBlocks Postmortem: Dissecting an XNA Game
275
Speaker:
Michael Neel
| Track:
XNA and Kinect
| Level:
General
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
50
% /
50
%
Session Synopsis:
In the fall of 2009 FuncWorks released IncaBlocks. It flopped (hard), so we did the only thing we could: we opensourced the code. This session will slice open the code of IncaBlocks and analyze a commercial game built with XNA. While the game may not be very fun, it is complete and stable. IncaBlocks is also an interesting subject, using 2D and 3D elements, Xbox Live Avatars, local multiplayer and an A.I. computer opponent.
I See Patterns
312
Speaker:
Matt Ruma
| Track:
Architecture
| Level:
Beginner
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
0
% /
100
%
Session Synopsis:
Patterns can be found in all areas of your life, from creating grocery lists to crafting robust software applications. This session will introduce you to the concept of patterns, their history and benefits. We'll look at some different uses of patterns in crafting software applications, including design patterns, architectural patterns and user interface design patterns. We'll chase a rabbit and look at where patterns fail or might not be used correctly. You'll leave this session able to identify patterns and successfully use them in all facets of your design and construction of software applications.
A Sneak Peek of Visual Studio 11
267
Speaker:
Randy Pagels
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Beginner
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
75
% /
25
%
Session Synopsis:
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', no matter how much there’re randomized. See a tour of 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 11. With Team Foundation Server 11 you will see the full gamut of collaboration improvements, from the newly revamped Team Explorer, to the version control & build improvements. Want to work offline seamlessly? Wish merging happened less frequently & was simpler when it did? How about find work items faster? Join us to see all this and more.
Developing Metro Apps with Javascript
269
Speaker:
Todd Miranda
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Beginner
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
90
% /
10
%
Session Synopsis:
Applications for Windows 8 can be written in multiple languages. Javascript has been used since the mid 90's to build richer web experiences. Javascript has matured over the years and is now, with some additional enhancements for Windows 8, a choice for building Metro apps. In this presentation, we'll investigate how to leverage your existing investments and knowledge of Javascript to develop for apps for Windows 8.
ASP.NET MVC 4 Essentials
311
Speaker:
John Petersen
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Beginner
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
75
% /
25
%
Session Synopsis:
In it's 4th release, ASP.NET MVC continues to evolve as a first class web application development environment. In this session, John will take you through the new features, will highlight what has changed since version 3. Whether you are an ASP.NET MVC veteran or brand new to the framework, this session is for you. Specific topics of coverage include new ASP.NET Web API, new project templates, enhanced mobile capabilities, new bundling/minification features to name a few. At the conclusion of this session, attendees will have a solid understanding of the capabilities of the ASP.NET MVC Framework and what's new in version 4.
XAML Styles and Templates: Make your apps shine!
315
Speaker:
Michael Eaton
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Beginner
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
95
% /
5
%
Session Synopsis:
You're a developer, not a designer, but with no designer on the team, it's your job to make your WPF or Silverlight application look good. With a little effort and an understanding of styles and templates, you can impress your users with a compelling, easy-to-use application. You'll learn the ins and outs of styles, understand when and where to use templates and much more from a developer experienced in not only writing WPF and Silverlight apps, but in making them look good too!
Ruby without Rails
336
Speaker:
James Kovacs
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Beginner
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
90
% /
10
%
Session Synopsis:
Ruby is about more than just Rails and web development. Ruby is a fascinating and powerful language that will put a smile on your face with its elegance. Come learn some Ruby.
Getting Started with Ruby on Rails
337
Speaker:
James Kovacs
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Beginner
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
90
% /
10
%
Session Synopsis:
In this session, get a gentle introduction to the Ruby language and how to get started with your first Rails app.
Testing the Untestable with Visual Studio 2011 Fakes
341
Speaker:
Gaines Kergosien
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Beginner
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
90
% /
10
%
Session Synopsis:
One of the new features included with Visual Studio 2011 is the Fakes Framework which offers the ability to detour code at runtime and isolate functionality for true unit testing, regardless of whether the code was written with testing in mind. This presentation provides a brief introduction to unit testing and demonstrates different ways the Fakes framework can be used to make it possible.
The Decoder Ring for Data Warehousing / Business Intelligence with SQL Server
322
Speaker:
Robert Cain
| Track:
Database Platforms and Development
| Level:
Beginner
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
5
% /
95
%
Session Synopsis:
Business Intelligence is one of the hottest job skills in the IT field. DBAs and Database Developers are being asked to implement databases with non-traditional design, and are having a lot of new vocabulary thrown their way. In this talk you will learn the concepts behind building and designing data warehouses, and cut through the buzz words so you will walk away with a clear understanding of what words like dimensions, facts, and measures mean.
Tools for Surviving the Zombie Apocalypse: Microcontrollers & Gadgets
319
Speaker:
Ian Lee
| Track:
Open
| Level:
Beginner
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
75
% /
25
%
Session Synopsis:
When the zombie apocalypse comes will you be ready? If you have doubts then attend this session and learn how you can use microcontrollers and the .NET Micro Framework & Gadgeteer platforms to build the tools you need to protect your family and have fun doing it. This will be a brief intro to .NET Micro Framework (FEZ & Netduino boards), Arduino, and the new Gadgeteer platform. Be there or be food.
Gadgeteering
327
Speaker:
William Wallace
| Track:
Open
| Level:
Beginner
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
70
% /
30
%
Session Synopsis:
By day, you are a master of the TPS report creation and all things virtual that make your bosses look good. By night, you create all sorts of marvelous electronic gadgets to aid you in your secret life of fighting crime. Or at least you would, if you could just get past all the hassle of correctly connecting up all the hardware and just focus on the programming. Well now you can, thanks to Microsoft .NET Gadgeteer, an open-source toolkit for building small electronic devices using the .NET Micro Framework and Visual C#. I’ll show you how to build and program your first device so you can finally begin your career as a crime fighter. Costume, faithful sidekick and cool superhero name not included.
Cross Platform Mobile Application Development - Soup to Nuts
259
Speaker:
Scott Gowell
| Track:
Mobile Development
| Level:
Beginner
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
70
% /
30
%
Session Synopsis:
Creating applications for the myriad versions and varieties of mobile phone platforms on the market can be daunting to even the most seasoned developer. This talk takes your existing skills and experience and uses that background as a solid foundation for developing applications that cross over between platforms, thereby freeing you from having to learn a new platform from scratch each time. Concise explanations walk you through the tools and patterns for developing for all the mobile platforms while detailed steps walk you through setting up your development environment for each platform.
- Covers all the major options from native development to web application development
- Discusses major third party platform development acceleration tools, such as Appcelerator and PhoneGap
- Zeroes in on topics such as developing applications for Android, IOS, Windows Phone 7, and Blackberry (if time)
Building a Scrolling Tile Engine with XNA on Windows Phone
261
Speaker:
Chris Williams
| Track:
Mobile Development
| Level:
Beginner
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
90
% /
10
%
Session Synopsis:
This Windows Phone developer session shows basic techniques for creating XNA games that use a scrolling tile map. Map definition and implementation, along with touch (gestures) are also covered. Objectives/Outcomes: How to define a simple layered tile map. Generating and displaying the tiled map onscreen. Scrolling the map using touch. Part 1 of a 2 part series, continued in "Building a pathfinding system using waypoints with XNA on WP7."
What’s New in Windows Azure
285
Speaker:
Michael Collier
| Track:
Cloud
| Level:
Beginner
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
75
% /
25
%
Session Synopsis:
Technology providers move at “cloud speed”. Cloud computing platforms such as Windows Azure are updated more frequently than other technology platforms. The rapid pace of innovation makes it difficult to understand what features are available, and how to best utilize them in our applications. The positive aspect to the rapid updates is being able to quickly take advantage of new features and innovations. The Windows Azure platform is constantly growing and evolving. In this session we will take a quick look back at major milestones in Windows Azure’s relatively brief history, and then proceed into reviewing recent platform updates and new features now available. Coming away you will have a solid understanding of Windows Azure platform features available for you to use in your applications today.
Expression Blend for HTML, CSS, and JavaScript
309
Speaker:
Joel Cochran
| Track:
Platforms and Tools
| Level:
Beginner
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
99
% /
1
%
Session Synopsis:
Expression Blend, the premier GUI editing tool, is not just for XAML anymore! In this introductory session we will explore using Blend to develop Windows 8 Metro style applications in HTML, CSS, and JavaScript.
Intro to Windows 8: The Windows 8 Platform for Metro style Apps
339
Speaker:
Jennifer Marsman
| Track:
Platforms and Tools
| Level:
Beginner
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
40
% /
60
%
Session Synopsis:
Windows 8 is Windows re-imagined! Join this session to learn about the new platform for building Metro style applications. Get an understanding of the platform design tenets, the programming language choices, and the integration points with the operating system and across Metro style apps. We will dive into code, showing the new features that you will need to learn, like snapping, contracts and charms, appbars, and tiles. You will walk away with the fundamentals for building a Windows 8 application.
How to Get Filthy Rich with the Windows Store
340
Speaker:
Jennifer Marsman
| Track:
Platforms and Tools
| Level:
Beginner
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
20
% /
80
%
Session Synopsis:
Did you know that the number of Windows users is greater than the number of iPhone and Android users together? Take advantage of this opportunity to sell your applications to this enormous install base in the Windows Store. In this session, we will show the many different ways to monetize your application, including subscriptions, trial apps, advertisement, and in-app purchases. We will cover the end-to-end lifecycle of an application, from developer registration and application submission to analytics and feedback. You will walk away with the fundamentals of how to make crazy money in the Windows Store.
XNA Invaders from Space! Part 1
271
Speaker:
Michael Neel
| Track:
XNA and Kinect
| Level:
Beginner
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
97
% /
3
%
Session Synopsis:
What better way to learn how games are made for the PC and Xbox 360 than to watch one being created? That is exactly what you’ll see in this session! Michael C. Neel will guide you through writing a full game, explaining the XNA framework as we go. At the end we will have a working clone of the 1978 classic Space Invaders! The game will be written in C# using the XNA 4.0 Framework.
XNA Invaders from Space! Part 2
272
Speaker:
Michael Neel
| Track:
XNA and Kinect
| Level:
Beginner
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
97
% /
3
%
Session Synopsis:
What better way to learn how games are made for the PC and Xbox 360 than to watch one being created? That is exactly what you’ll see in this session! Michael C. Neel will guide you through writing a full game, explaining the XNA framework as we go. At the end we will have a working clone of the 1978 classic Space Invaders! The game will be written in C# using the XNA 4.0 Framework.
XNA 3D Primer
273
Speaker:
Michael Neel
| Track:
XNA and Kinect
| Level:
Beginner
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
50
% /
50
%
Session Synopsis:
You may have heard of and even checked out Microsoft's XNA Framework, the managed game development framework built with .Net that let's you write games for a Window PC, Windows Phone 7, and the Xbox 360. Even for the experienced developer stepping into the world of 3D game development can be like Alice visiting Wonderland. It can be hard to ask questions when you don’t even understand the terms used! This session focuses on fundamental 3D game programming concepts assuming one is new to game programming and XNA, but has a good background of general programming.
Introduction to XNA on Windows Phone 7
274
Speaker:
Chris Gardner
| Track:
XNA and Kinect
| Level:
Beginner
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
Windows Phone 7 can do much more than Silverlight. This session will show you how to leverage the XNA framework to get direct access out of the phone's hardware. Topics include Gestures, Web Services, and Mixed mode development.
Introduction to Developing for the Kinect
276
Speaker:
Tommy Norman
| Track:
XNA and Kinect
| Level:
Beginner
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
80
% /
20
%
Session Synopsis:
Microsoft's Kinect device gives software developers the opportunity to provide rich, natural user interfaces for their applications. With the introduction of the Kinect for Windows this year and the upcoming releases of devices that will include Kinect hardware, many companies are beginning to explore how to take advantage of this technology.
In this session we will cover getting started with the API, video capture, working with depth data, skeletal tracking, voice commands, and gestures. Attendees will leave with everything they need to get started integrating the Kinect into their applications.
YAGNI DRY SOLID Eliminates the Toughest Code Smells
263
Speaker:
Michael Brown
| Track:
Architecture
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
25
% /
75
%
Session Synopsis:
This session is a fun look at software development principles. Why do they matter? How do you identify violations? How do you make your code compliant with them? We will look at seven principles with colorful illustrations that drive the point home and discuss how applying them makes for maintainable, extensible software.
Real World Domain Driven Design
264
Speaker:
Michael Brown
| Track:
Architecture
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
25
% /
75
%
Session Synopsis:
The difficulty in learning Domain Driven Design for many is that so much of the discussion is around trivial examples so that the focus is on the techniques and not on the complexity of the example. The pitfall is that Domain Driven Design is intended to address complex problems. This talk will guide the audience through a real world example showing how DDD was used to simplify some very complex business needs.
Advanced Object Modeling
265
Speaker:
Michael Brown
| Track:
Architecture
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
25
% /
75
%
Session Synopsis:
Domain Driven Design advocates creating rich domain objects that express intent and encapsulate behavior. Just as there are infrastructural patterns, there are also patterns for domain modeling that aid in creating the domain models Eric Evans (and other DDD advocates) espouse. This talk discusses these patterns and shows how to create object models that not only capture the current needs of the system, but also help ferret out hidden/implicit requirements. Once you learn these techniques, you will never look at object models the same again.
F# 3.0: The Next Generation
182
Speaker:
Daniel Mohl
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
Conv. Ctr-2 | Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
The F# language has always provided a powerful, expressive, and succinct syntax that allows you to write simple code to solve complex problems. The release of F# 3.0 extends the language to allow pinpoint targeting of accessing, manipulating, and making sense of the data that makes up the information-rich world in which we live. In this talk, I will show off some of the new features of F# 3.0 including F# LINQ Queries and Type Providers. I'll show several examples of these features in use as well as how they can make your life easier as a developer. By the end you will be armed with what you need to start using the out-of-the-box new F# features as well as know how to get started with creating your own Type Providers.
CoffeeScript: Good, Bold, and with Sugar
183
Speaker:
Daniel Mohl
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
Conv. Ctr-2 | Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
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.
Bridging The PhoneGap
189
Speaker:
Burke Holland
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
75
% /
25
%
Session Synopsis:
The buzz is that you can create native mobile applications without having to learn Objective-C, Java or XAML. It's more than buzz, it's reality. If you can do web, you can do mobile.
In this session we'll learn about HTML5 development on mobile devices and how to leverage the open sourced (and free!) PhoneGap library to interact with the device using nothing more than simple JavaScript.
PhoneGap is fast becoming the defacto standard for building mobile applications. With it's acquisition by Adobe, now is the time to learn how to use it, how to extend it, and how to build first class mobile applications with it.
Getting Started with SignalR
190
Speaker:
Kevin Griffin
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
90
% /
10
%
Session Synopsis:
SignalR is an asynchronous signaling library for ASP.NET. It's designed to help you build real-time web applications without a lot of hassle. In the past, developers would have to wire up "real-time" applications as a series of polls to a webserver, waiting for it to receive data back that was useful. This approach usually cost more in bandwidth than we wanted it to. SignalR simplifies this process, and makes it more useful for the ASP.NET developer. In this presentation, Kevin Griffin will guide you through implementing SignalR into your applications, and how you can take advantage of everything it has to offer.
Buliding Metro Applications for Windows 8 using XAML/C#
191
Speaker:
Michael Crump
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
This session is designed to get you quickly up to speed with Windows 8 software development. We will answer several commonly asked questions regarding the platform and take a look at how to build a great looking Metro Application using XAML/C#. We will finish up by building a new application using Visual Studio 11 starting from File->New Project.
Asyncing and Awaiting Windows 8
193
Speaker:
Michael Perry
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
70
% /
30
%
Session Synopsis:
If you thought Silverlight was asynchronous, just a-wait till you see WinRT. Windows 8 is coming, and it has a completely new API. In addition to the familiar Win32, developers can now take advantage of WinRT to participate in the Metro experience.
Just about every operation in WinRT is asynchronous. And not just web calls. Even opening a file is an async operation. Arm yourself with the latest tools in .NET 4.5 -- the async and await keywords -- to take full advantage of the platform.
Create a Metro Style Geospatial Application using Windows 8, HTML5 and JavaScript
194
Speaker:
Jason Follas
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
40
% /
60
%
Session Synopsis:
Windows 8 offers a solid foundation for building your next spatial application. The WinRT sensor API permits easy access to location and device orientation data. The WinJS projection of WinRT allows you to use existing JavaScript libraries. HTML5 provides a Canvas element for custom rendering. And HTTP can be used to connect to your web services for data access. This session will demonstrate how all of these pieces come together to provide a rich user experience for surfacing your spatial data.
Quantum Entanglement for your Web Apps using SignalR and Knockout
195
Speaker:
Jason Follas
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
50
% /
50
%
Session Synopsis:
In physics, two particles can act together in order to behave as one system so that a change made to one particle instantly affects the other - even if they are separated by great distances. This is known as Quantum Entanglement, which Albert Einstein called "spooky action at a distance." The closest analogy to this for web development would be to observe a web page instantly update in response to a user entering data in a different web browser. Believe it or not, this is not only possible today, but relatively easy by using two open source libraries together: SignalR and Knockout. SignalR is an asynchronous signaling library for .NET that helps to build real-time, multi-user systems. Knockout is a JavaScript library that brings MVVM pattern to the web page, providing observable data, templates, and automatic data binding. This session will demonstrate how to use this new paradigm to build highly interactive web applications.
Test Driving .NET - What you need to know to do it the right way.
196
Speaker:
Keith Burnell
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
70
% /
30
%
Session Synopsis:
Software development methodologies come and go like boy bands. Every week someone in the blogosphere is hyping a new methodology, or modifications to an existing one, all of which claim to be the next big thing.
Test-driven development (TDD) is one of these methodologies that outlasted its fad phase and has become a major player in the software development methodology arena. Once you have grasped the methodology there an abundant amount of ways you can make the process easier in the .NET space.
In this talk Keith will discuss techniques such as Inversion of Control/Dependency Injection using StructureMap, Castle Windsor, and Ninject and Mocking using MOQ, and RhinoMocks. Keith will also dive into automated UI testing tools such as WatiN and Behavior Driven Development (BDD) using RSpec.
A Better CSS
198
Speaker:
Shawn Wildermuth
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
80
% /
20
%
Session Synopsis:
CSS is great for web development but it has some basic flaws that dynamic stylesheet languages can help with. In this talk Shawn will show you how LESS and SASS can help you build better, more modular styling for your web applications.
Test-driving ASP.NET MVC
199
Speaker:
Keith Burnell
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
70
% /
30
%
Session Synopsis:
The MVC pattern is inherently testable and in turn ASP.NET MVC is a very testable framework but you still have to conform to specific patterns and best practices to successfully create a truly “testable” ASP.NET MVC application You can then use tooling to improve even further.
In this talk Keith will discuss how the ASP.NET MVC lends itself to testability. He will also dive deep into how you can, using SOLID design principles make even more testable. Keith will then discuss the tools that you can add to your developer tool belt to make test-driven development in the ASP.NET MVC framework less coupled, less repetitive, more automated and all around more enjoyable.
Creating Stereoscopic 3D Graphics in XNA
201
Speaker:
Chris Gardner
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
50
% /
50
%
Session Synopsis:
As 3D displays become more prevalent in the home, developers need to learn how to leverage these displays to stand out from the crowd. This session will show attendees how to create Stereoscopic 3D enabled games using the XNA framework. The discussion will cover both 3D games and 2D Sprite games that use stereoscopic graphics to make certain aspects pop.
Xbox 360 Indie Game Design Using XNA
202
Speaker:
Chris Gardner
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
The methods for producing quality games that perform in real time are much different than the methods used to produce quality productivity software. This session will present attendees with the nuances of proper game design by introducing topics such as the game components, sprite animation, background music, sound effects, and threading.
REST Easy
207
Speaker:
David Neal
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
25
% /
75
%
Session Synopsis:
In today's increasingly connected, service-oriented world, sooner or later you are likely to use or create Web services that are based on REST. In this presentation, we will learn about the advantages of REST APIs, and look at some of the tools for .NET that make it easier to consume and create REST APIs, such as RestSharp, Hammock, ASP.NET MVC 4 Web API, NancyFX, and Service Stack.
Being Performance Aware: A Glimpse at MvcMiniProfiler
211
Speaker:
David Newman
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
95
% /
5
%
Session Synopsis:
There is a problem that every web developer that’s ever shipped a site has encountered. You’re sitting at your desk, hacking out some great stuff, when someone from QA walks up and tells you that the site “feels slow”. Well, what exactly is slow and how do I go about fixing it?
Developers on the Microsoft stack have a plethora of tools to assist them in debugging code related errors: step-through-debuggers, memory profilers, etc. There are even some general purpose tools for analyzing performance of running applications. However, most of these tools are special purpose or require Visual Studio or other software to be installed which is a bit of a no-no in a strict production or QA environment.
Fortunately, two non-invasive tools have come along that provide insight into what’s going on server-side on every request: MvcMiniProfiler and Glimpse. Attendees will walk away from this session knowing how to get both MvcMiniProfiler and Glimpse into their application and use it to quickly diagnose performance issues. Further, attendees will get a brief introduction to the “performance is a feature” philosophy and how it can positively impact a project over its entire life-cycle.
Snakes in the Cloud - Writing Software for Google App Engine with Python
214
Speaker:
Douglas Starnes
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
The cloud is a hot topic but it's often difficult to develop applications in the cloud. Google App Engine (GAE) supports development using the Python programming language to make that task much easier. This presentation will look at the services and tools available for developers to create cloud based applications on GAE. Topics covered will include the HTTP stack, data persistence, authentication, communication and the SDK tools. Best of all, it's free to get started!
Go, Google's New Language
215
Speaker:
Douglas Starnes
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
65
% /
35
%
Session Synopsis:
Go is a new programming language developed recently at Google. Go seeks to combine the best features of static and dynamic languages while giving developers a familiar but streamlined C-style syntax. Go also offers the speed of a compiled language without the technical overhead of C and C++. Another goal of Go is concurrency support with the multi-core processors found in today's systems. Currently, Go is one of the languages that can be used to develop applications with Google App Engine. This presentation will focus on Go language features and how they tie in to modern accepted best practices.
Javascript Testing
217
Speaker:
John Petersen
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
75
% /
25
%
Session Synopsis:
This session focuses on how to employ testing principles in your JavaScript Code. In this session, John will review the basics of the three A's of testing: Arrange, Act and Assert and how they can apply to JavaScript tests. John will introduce attendees to the QUnit testing framework which is maintained and used by the jQuery team. John will work from practical examples of untestable code that are refactored toward a SOLID testable foundation. Additional focus includes how to incorporate common Visual Studio hosted test frameworks into JavaScript Testing scenarios.
Building Restful APIs with ASP.NET Web API to be consumed by ASP.NET MVC
218
Speaker:
John Petersen
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
75
% /
25
%
Session Synopsis:
With the introduction of the ASP.NET Web API, true RESTful API's can now be built in ASP. The question is how can the Web API be incorporated into my development efforts? The good news is that a RESTful API can be consumed by just about any type of client. In this session, John will develop a simple WebAPI (with test coverage!!). To consume that WebAPI, John will create an ASP.NET MVC 4 application (again, with test coverage!!). An action packed session for sure that put's it all together!
Serious Business with Node.js: TDD for Node
219
Speaker:
Jay Harris
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
90
% /
10
%
Session Synopsis:
If you don’t test it, how do you know it works? Over the past few years, we have been compelled to write unit and integration tests for our applications--code that validates code--and it is these tests that change a one-off tool into a well-architected, robust, business-ready application. Yet, every new framework requires a new testing framework, so in this session, we will discuss testing frameworks for node.js. You will walk away with a solid understanding of how to write tests against your node.js applications and modules, leading to confidence that your work is business-ready.
Serious Business with OrchardCMS: Module Development
220
Speaker:
Jay Harris
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
90
% /
10
%
Session Synopsis:
So, you need a Content Management System on the .NET framework. While your business might spend wheelbarrows of money on a platform that is powerful and extensible, your personal site would abandon extensibility for a free, open-source solution. But what if we had an option that was free and powerful and extensible? We do: OrchardCMS. Since we already know that Orchard is free, in this session we will discuss the power of Orchard’s CMS engine. You will learn how to build new modules for the Orchard platform, allowing you to extend functionality as you see fit to meet the needs of your site, your business, and customers.
Serious Business with Node.js: Module Development
221
Speaker:
Jay Harris
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
90
% /
10
%
Session Synopsis:
JavaScript has left the browser and is prowling on the server. No longer just for image rollovers and AJAX, Node.js has given JavaScript a new resurgence as a server-side language with a platform for creating lightweight networked applications. In this session, we will move beyond Node’s base web servers and Twitter applications, and into module development: those small, reusable components that are the foundation for every business application on every platform. Learn how to create a module within Node.js, how to test your module and validate functionality, and how to get your creation distributed into the wild.
HTML5 – It’s Not Just for Hipsters
227
Speaker:
Keith Burnell
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
HTML5 is the current “Big Thing” in web technologies. HTML5 has already been crowned the “Write Once Run Everywhere” toolset, even running on the desktop. But we .NET guys seem to once again, be left behind. The lack of tooling in Visual Studio along with the fact that most .NET web developers do not consider themselves HTML developers is really causing .NET developers to already be behind the 8 ball when it comes to HTML5 development.
In this talk Keith will cover the features of HTML5 that all .NET developers should know about and be taking advantage of. He will also cover, how contrary to popular belief the tooling is there and you can start coding HTML5 in Visual Studio now. Keith will also demonstrate that HTML5 development does not require a completely new toolset, you can leverage your current skills including all your favorite .NET server technologies when doing HTML5 development.
Better OOP Through Functional Principles
228
Speaker:
Jessica Kerr
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
30
% /
70
%
Session Synopsis:
How is an expert OO developer to improve on his craft? By learning from other paradigms! These six principles of the functional style can apply to OO. Some of these principles are part of good practice already; some express patterns both old and new; all give us different ways of thinking about problems. For developers without expertise in functional programming, examples in Java and C# provide new techniques for writing clear, quality code.
Experience the Tasty Goodness of Guava
229
Speaker:
Jessica Kerr
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
15
% /
85
%
Session Synopsis:
Want to make your Java code prettier? Guava is a Java library from Google full of elegant solutions to common problems. From a simple null check to a thread-safe self-populating cache, Guava has something for everyone. This easy-to-include, carefully-designed library is a veritable grab bag of handy Java tricks: sweet immutable collections; declarative, lazy-evaluating list processing; a better event handling pattern; and tigers! Take a quick tour of what Guava offers, with special focus on caching and list processing. Even if Guava is already in your project dependencies, you'll be surprised at all the juicy goodness inside.
Git Happens
230
Speaker:
Jessica Kerr
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
5
% /
95
%
Session Synopsis:
Let’s face it: DVCS is here to stay. But what’s the point? There’s a million tutorials on the internet that tell you what to type in Git, but not why! Go one level deeper: A few straightforward concepts and some pictures, and git will magically make sense. Learn how to use DVCS to tell the story of your project. You’ll get the point of all those extra steps in committing and updating; erase some Subversion-related preconceptions; and grasp the purpose of fast-forward merge, cherry-pick, and rebase. I promise: absolutely no demos.
HTML5 for Business: Forms and Input Validation
232
Speaker:
Todd Anglin
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
70
% /
30
%
Session Synopsis:
Most talk about HTML5 generally revolves around the fun and exciting technologies like Geolocation, Video, and the powerful styling CSS3 brings to the party. But how useful is HTML5 for business apps? HTML5 promises a number of new features in browsers that will make data entry and validation easier for developers and end-users. In this session, you will learn how HTML5 is helping business developers simplify working with data and input validation, and see practical techniques for leveraging these features across all browsers, old and new.
5 Tips for Better JavaScript
233
Speaker:
Todd Anglin
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
70
% /
30
%
Session Synopsis:
Love it or hate it, JavaScript is playing an increasingly important role in the next generation of web and mobile apps. As code continues to move from the server to the client, JavaScript is being used to do more than simple HTML manipulation. Be prepared for this transition and make sure the JavaScript you write is optimized and ready to perform on desktops and devices! In this session, you will learn ten practical tips that you can use today to write faster, more maintainable, memory friendly JavaScript. You will also learn techniques for testing, debugging, and profiling JavaScript apps.
ASP.NET WebForms and .NET 4.5 - Data Attributes and More
235
Speaker:
Mitchel Sellers
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
70
% /
30
%
Session Synopsis:
With the upcoming release of Dev 11 and .NET 4.5 there are a number of ASP.NET features that are new with .NET 4.5 that will make ASP.NET Developers lives much easier and brings a bit more parallelism to the WebForms side from what MVC has offered for a number of releases. In this code-focused session we will take a deep dive into the new features and supported concepts. Items such as support for DataAnnotations within Grid Controls, support for reactive design, and the easy integration of MVC to a project if needed. After this session developers will have an understanding of the new items available to them as part of .NET 4.5 and how they can help to improve productivity.
StructureMapping Your Way to Better Software
236
Speaker:
Matt Honeycutt
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
80
% /
20
%
Session Synopsis:
Inversion of Control. Dependency Injection. These are things you should be doing. If you’re not sure where to start, wonder no more. In 60 minutes, I guarantee you will understand these topics and will be able to apply them in your .NET work using the excellent StructureMap IoC container. This code-heavy walk-through will show you how to add StructureMap to a variety of existing project types, including WebForms, WinForms, and ASP.NET MVC, and how it can make your applications easier to extend and maintain.
Integration Testing With SpecsFor.Mvc – ASP.NET MVC Testing on Steroids!
237
Speaker:
Matt Honeycutt
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
90
% /
10
%
Session Synopsis:
Everyone knows that one of the major benefits of ASP.NET MVC over WebForms is improved testability, namely easier unit testing. But did you know that the MVC framework also makes it far easier to create strongly-typed, refactor-friendly integration tests for your application? It’s true! And the SpecsFor.Mvc framework makes things even easier by handling all of the boiler-plate setup for you. Join me for a 60-minute crash course on integration testing your ASP.NET MVC application using SpecsFor.Mvc!
So That's How You Do It in [ WPF | HTML5 ]
240
Speaker:
Jason Follas
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
75
% /
25
%
Session Synopsis:
One exciting aspect of Windows 8 Metro Application development is that you can just as easily create an app using WPF and .NET or HTML and JavaScript. In this session, Mike Eaton, a WPF/XAML developer, and Jason Follas, a web developer, will demonstrate feature parity between WPF and HTML by building the same Windows 8 Metro Application using their favorite frameworks.
Erlang, CQRS and .NET walk into a bar
246
Speaker:
Bryan Hunter
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
50
% /
50
%
Session Synopsis:
The squares run away from CQRS, the hipsters run away from C# (aka "leaving .NET"), and who the heck has even heard of Erlang? In this session we will demonstrate how these three anti-heroes can join together to form an effective, non-traditional, badass way of building beautiful, scalable, maintainable systems.
What is CQRS? CQRS is an architectural pattern with two goals 1) commit technological heresy 2) separate reads from writes at the system level. What's Erlang? An industry-proven functional programming language that simplifies writing reliable, concurrent, distributed systems. What's .NET? OK, stop with the silly questions.
Well why these three? Many of the ideas of CQRS dovetail perfectly with the sweet-spots of Erlang... er, um... until you get to the UI part. Erlang doesn't have much to say about the CQRS tenet of task-based UIs, but Microsoft does— search "Microsoft Inductive User Interface" and you'll see what I mean. Erlang + CQRS + .NET "Go Team!"
Messaging & Eventing Patterns in JavaScript
248
Speaker:
Jim Cowart
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
65
% /
35
%
Session Synopsis:
This session will examine the use of a local message bus in both client and server-side JavaScript. We'll cover some of the exciting advantages it can provide for writing modular & testable applications, as well as when using a message bus vs event delegation makes the most sense. There will be lots of code - focusing an examples from postal.js, EventEmitter and more.
Async Strategies and Patterns in JavaScript
249
Speaker:
Jim Cowart
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
70
% /
30
%
Session Synopsis:
You can't write JavaScript without addressing the challenges presented by asynchronous behavior. Promises are becoming a popular solution of choice - but when do they become leaky abstractions? We'll examine this, as well as other approaches to handling async workflow using examples from libraries like jQuery, machina.js and more.
Node.js, Java, PHP and Python with Azure? Why yes!
258
Speaker:
Greg Levenhagen
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
New languages and technologies keep finding their way to Azure. Need a Node.js web application? Want to use Eclipse and Java? Have an existing PHP application and want to move it to the cloud? All of these are possible and more! Come see how you can accomplish amazing things with Azure!
Database Development Using Visual Studio - Today & Tomorrow
268
Speaker:
Randy Pagels
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
Tired of the same old routine of hand-coding scripts to develop, deploy, upgrade, and migrate your databases? In recent years, Microsoft has revisited the tools available to database developers known as “DataDude”. These tools are really powerful and can have a dramatic impact on the productivity and quality of your work at the data layer and your collaboration with other team members. This demonstration-heavy session will focus on the features available to database developers in Visual Studio 2010. Features covered in this session include getting your database code into source control, refactoring, unit testing, test data generation, and most importantly, deployment. This session will transition into a preview of the radical new direction Microsoft is taking in the next version of Visual Studio. Learn about the benefits of developing in SQL Server Data Tools (SSDT), and how to best use SSDT to build, debug, maintain and refactor databases. SQL Server Data Tools (SSDT) is a toolset that allows professional database and application developers to carry out all their database design work for SQL Server and SQL Azure within Visual Studio.
The Nomadic Monad or: How I Learned to Stop Worrying and Love the Burrito
270
Speaker:
Brian Friesen
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
95
% /
5
%
Session Synopsis:
Monad. You may have heard the word before. You might be wondering what they are. You may just want to know what they’re good for. The funny thing is, if you’re a .NET developer, you’re probably already using them.
In this code-centric session, we’ll talk about what exactly a monad is. We’ll explore the relationship between monads and LINQ. We’ll discover how they can make your code more fluent and readable. By the end of the session, you’ll discover that monads aren’t as scary as you might have once thought. And you just might add another tool to your toolbelt.
Put Your JavaScript To The Test
298
Speaker:
Alex Robson
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
Testability is about more than writing passing unit tests; it’s about the positive characteristics that good testing should infuse into your design. This session will demonstrate patterns and strategies for how to write decoupled, testable JavaScript that is insulated from dependencies and easier to refactor.
The Legend of Lambda
301
Speaker:
Chris Eargle
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
95
% /
5
%
Session Synopsis:
Lambda expressions are a powerful feature of C#, one that can be wielded for good or evil. Attend this session for an adventure through the evolution of the C# language, from the depths of the delegate keyword to the expressiveness of the lambda expression. I will show you how anyone can easily learn to wield and empower code with lambda expressions. It's dangerous to go alone! Take this: =>.
Entity Framework and Architecture in 5.0
302
Speaker:
Devlin Liles
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
75
% /
25
%
Session Synopsis:
In this talk we dive into techniques to implement a great data access layer, and how the changes in EF 5.0 beta change those. We will go over pattern implementations, performance and load testing, and concurrency management.
Exposing Corporate Data to the Outside World: Building and Maintaining a Public API
303
Speaker:
Gregory Beamer
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
To grow as an eCommerce business, just setting up a website is no longer enough. You need to be able to expose your data to business partners and perhaps even the web at large. Important issues like SOAP versus REST, data security, and shaping data for outside consumer will be covered, as will patterns and practices for building an API, rather than a set of web services. While the justification for SOAP is covered in the session, the primary focus is on RESTful web services and the new WCF Web API that is set to release with Visual Studio 11.
Windows 8 for the Silverlight and WPF Developer
306
Speaker:
Jeremy Likness
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
50
% /
50
%
Session Synopsis:
The release of Windows 8 represents a bold entry into the world of tablet PCs by Microsoft. With Windows Metro applications it is possible to write highly responsive, touch-friendly applications that run efficiently on multiple form factors including new ARM devices. The Microsoft team has taken great care to accommodate your existing knowledge by embracing both C# and the managed code stack and XAML technologies, but there are important fundamental differences. In this deep dive of the Metro stack, Jeremy Likness covers the inner workings of the engine, reveals how it relates to traditional Silverlight and WPF development, and highlights the areas that are important for developers to understand as they transition from the Silverlight and WPF platform to Windows 8 Metro.
Top 10 Developer Features in Windows 8 Metro
307
Speaker:
Jeremy Likness
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
40
% /
60
%
Session Synopsis:
Windows 8 presents a new platform for application development called Metro. This platform is specifically focused on the tablet and slate market and provides many advanced features including touch-friendly interfaces and advanced power management features. Metro also introduces a new runtime known as WinRT that exposes some incredible contracts and interfaces that make it easier than ever before to build connected, collaborative, touch-friendly applications. Jeremy Likness shares the top 10 features developers will love about this platform.
Microsoft Sync Framework
308
Speaker:
Joe Kunk
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
The internet is not always availale so database synchronization is
still a critical service for offline applications. Anyone that has
tried it knows that synchronizing data between multiple databases is
very hard. You need to track changes between synchronizations, avoid
primary key collisons, resolve update conflicts, detect logical data
collisions and more. The Microsoft Sync Framework provides a library
to help manage all this complexity but it can be hard to learn. In
this session I show how the Sync Framework works and demonstrate an
custom sync library that can be called with just a few lines of code
from any application.
Silverlight 5 - Not Dead!
314
Speaker:
Michael Crump
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
All the talk here lately has been about plug-in free web solutions. While this may be a solution for some many
line-of-business applications can benefit from the mature platform known as Silverlight. In this session, we will
discuss the many benefits of using Silverlight over other web technologies and walk you through several new
features included in Silverlight 5 that will benefit your development team.
Regular Expressions in .NET
320
Speaker:
Robert Boedigheimer
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
One of the most overlooked features in many languages is the support for regular expressions. There are many times where they are the perfect solution, yet many if not most programmers fear them. Well, fear not, we will review the basics of regular expressions and where they can be utilized effectively. We will study named groups which allow you to not only match expressions, but capture the a portion of the matched expression to be used for other purposes. We will then review some of the more advanced features in .NET, and how things like compiled regular expressions can make programs perform extremely fast. If you ever knew that regular expressions were the right solution but cowered away, come and face your fears...
Styling web pages with CSS 3
321
Speaker:
Robert Boedigheimer
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
75
% /
25
%
Session Synopsis:
What will CSS 3 provide for advanced styling of web pages? The latest specification breaks features into modules to allow faster changes and can allow devices to use just a portion of the modules as needed. Review what current browser support is for CSS 3, and what portions have already been included in areas such as jQuery.
ASP.NET MVC/Ruby on Rails Death Match
338
Speaker:
James Kovacs
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
90
% /
10
%
Session Synopsis:
In this corner, our first contender, weighing in at 35 kLOC of C#, we have ASP.NET MVC. In the other corner, weighing in at 168 kLOC of Ruby, we have Ruby on Rails. We're going to see what it takes to build a web app - test-first - in both frameworks. We'll compare and contrast their relative strengths and weaknesses. The goal is to give a balanced perspective on these two popular frameworks.
Controlling ASP.NET MVC4
342
Speaker:
Philip Japikse
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
70
% /
30
%
Session Synopsis:
ASP.NET MVC4 brings a whole new level of hotness to the web stack. From all of the new mobile features, the Web API, and improved templates, just to name a few. In this session, I will take you through these and the rest of the new features, and how to take advantage of them in existing projects as well as greenfield development.
Everyone Understands Story Points and Velocity – Right?
329
Speaker:
Timothy Korson
| Track:
Project Management and Methodology
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
0
% /
100
%
Session Synopsis:
It turns out that that story points and the purpose of estimation in Agile is a topic that is vigorously debated in agile circles. This is a very practical topic. Different teams take very different approaches. This talk explores the issues involved so that agile teams can make informed choices about what metrics to use, exactly what those metrics mean, and how they might appropriately be used for estimation, planning and tracking. Even within a given Scrum team, often team members do not all share a common understand of the metrics that are using. When I estimate a story at 5 story points, I could well have quite a different meaning in my head then what you mean when you estimate a story at 5 story points. This talk aims at helping teams have a shared understand of their common vocabulary.
Slicing Product Backlog Items – A Vital Scrum Skill
330
Speaker:
Timothy Korson
| Track:
Project Management and Methodology
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
0
% /
100
%
Session Synopsis:
In this practical workshop, we teach you how to apply scenario based decomposition skills to slice Scrum Product Backlog Items into appropriately sized items ready for the Sprint Planning Meeting. Product owners often define stories that are too big to develop or test within a sprint. A team member with scenario based decomposition skills can help the product owner slice features into small sprint-sized items that can easily be developed and tested within a sprint. This is a crucial skill that many Scrum teams lack. In this workshop, we will demonstrate the technique, then if there is enough time left we will have the workshop participants apply the technique on their own producing appropriately sliced and sized items ready for the next sprint planning meeting.
SQL Server in Amazon's Cloud
203
Speaker:
Jeremiah Peschka
| Track:
Database Platforms and Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
0
% /
100
%
Session Synopsis:
The lure of cloud computing is growing stronger for many businesses. While it’s possible to push your existing infrastructure up into the cloud, is that really the right move? Our clients have successfully, and not so successfully, used Amazon’s cloud to solve business needs. In this session we will discuss several business scenarios, define objectives for each one, talk about potential pitfalls, and cover the steps you’ll need to undertake to ensure that you can successfully move your SQL Servers to the cloud. We’ll cover gathering real world metrics, building a matrix to determine which servers can move, and cover several critical differences to managing SQL Server in Amazon’s cloud.
A Dynamic World Demands Dynamic SQL
204
Speaker:
Jeremiah Peschka
| Track:
Database Platforms and Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
75
% /
25
%
Session Synopsis:
Dynamic SQL is a misunderstood and much maligned part of a DBA’s tool kit – it can be used to solve difficult business problems, respond to diverse data needs, and alleviate performance problems. Many DBAs reject dynamic SQL outright as a potential source of SQL injections, being poorly performing, or just for being a hacky solution in general. Not so! Jeremiah Peschka has been making extensive use of dynamic SQL throughout his career to solve a variety of problems. He’ll set about dispelling these misconceptions and demonstrate how dynamic SQL can become a part of every DBA’s tool kit.
Bigger and Faster: 7 Killer Techniques for Database Performance
205
Speaker:
Jeremiah Peschka
| Track:
Database Platforms and Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
0
% /
100
%
Session Synopsis:
No matter how much you tune your code, if the database is slow your application will be slow. While there are almost as many ways to make a database faster as there are databases, there are universal principles to apply that will make the performance tuning process easier. Learn how to identify indexes, understand execution plans, and configure storage.
The database is often the most critical piece of any environment; performance problems in the database cascade outward to effect everyone. This talk will cover tried and true techniques to ease the pain of growing a database while improving application performance from the perspective of both a large enterprise and a small business. We'll delve into real world scenarios and investigate the different options that were considered before putting the solution into place.
We will explore application development patterns, database tuning techniques, and physical hardware options. This talk is targeted at anyone with an interest in improving application performance at the database level.
Ditch the Designer: Building a More Maintainable Model with Entity Framework Code-First
208
Speaker:
Brian Sullivan
| Track:
Database Platforms and Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
80
% /
20
%
Session Synopsis:
The whiz-bang visual designer features of the Entity Framework demo well, and may even work for small projects, but anyone who’s worked with EF knows that on larger projects, the design surface quickly becomes unusable and a bottleneck to your development process. Thankfully, the Entity Framework team has heard our anguished cries and introduced a new API for defining your EF models, dubbed “Code-First”. In this presentation, Brian will guide you through building a true POCO model, basic mapping techniques, and leveraging conventions to keep your mappings DRY.
New Features in Entity Framework 5.0
209
Speaker:
Brian Sullivan
| Track:
Database Platforms and Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
80
% /
20
%
Session Synopsis:
Entity Framework 5.0 introduces some highly anticipated features, including Enums, SQL Server spatial data types, and table-valued functions, as well as across-the-board performance improvements. We'll take a look at each of these, as well as some other features in post-4.0 releases that you might not know about, such as validation and an improved change-tracking API.
MicroORMs: Easy Data Access That Won't Make Your DBA Cry
210
Speaker:
Brian Sullivan
| Track:
Database Platforms and Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
80
% /
20
%
Session Synopsis:
Modern ORMs like NHibernate and Entity Framework are powerful, flexible tools that are the right choice for many projects. But they feel like overkill for that little internal app with three tables and one screen. And even after a ton of tuning, the SQL they produce for that massive screen in your mission-critical enterprise app is just abysmal. It turns out that both of these problems might have the same answer: a Micro ORM. These small, lightweight tools leverage the power of dynamic typing and other advanced .NET framework features to give you a simple way to get at your data that's also easy to optimize. Brian will give an overview of the various tools available, and dive deep into PetaPoco to show you how powerful these little frameworks can be.
Finding your Customer DNA
222
Speaker:
Michael Neel
| Track:
Database Platforms and Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
50
% /
50
%
Session Synopsis:
The phrase "Customer DNA" is a bit of a Business Intelligence buzzword, but do not dismiss the concept. Knowing your customer DNA is a powerful edge in a world of increasingly demanding customers. In this session we will look at a method for profiling your customers using datasources you already have (if you have an orders table, you have a datasource for DNA). We will also discuss ways to analyze DNA data, and how to use this analysis. This session is very practical, with liberal code examples to go along with abstract concepts.
Upgrading SSIS Packages to SQL Server 2012
223
Speaker:
Sven Aelterman
| Track:
Database Platforms and Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
80
% /
20
%
Session Synopsis:
SQL Server Integration Services has received significant upgrades in SQL Server 2012. How to effectively upgrade SSIS packages to take advantage of the new SSIS features is the main driver behind this session. Primarily focused on upgrading packages from SSIS 2008, some notes will also be made about upgrading from SSIS 2005.
Configuring and Managing FILESTREAM and FileTable in SQL Server 2012
224
Speaker:
Sven Aelterman
| Track:
Database Platforms and Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
70
% /
30
%
Session Synopsis:
SQL Server 2012 continues support for FILESTREAM, first introduced in SQL Server 2008. In addition, FileTable is a related new feature that opens up new possibilities. For server and database administrators working with FILESTREAM-enabled databases, the experience is somewhat different than dealing with relational data. This session covers the prerequisites for FILESTREAM and FileTable and common configuration and management tasks.
NoSQL Smackdown!
247
Speaker:
Josh Bush
| Track:
Database Platforms and Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
20
% /
80
%
Session Synopsis:
Never has a technical buzzword produced such confusion as "NoSQL". Not all data stores are created equal. It's time to shine a light on the technology that claims to hold your big data, replicate it everywhere and be faster than its relational grandpa. This session will compare and contrast the popular NoSQL tools without subjecting you to fabricated benchmarks and meaingless jargon. It's time for a data store cage match!
Using BIML as an SSIS Design Patterns Engine
253
Speaker:
Andy Leonard
| Track:
Database Platforms and Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
65
% /
35
%
Session Synopsis:
Business Intelligence Markup Language provides a powerful solution for creating and managing SSIS Design Patterns. Andy Leonard, one of the authors of SSIS Design Patterns, demonstrates the flexibility of BIML in this session.
Loading SQL Server 2012 Data Warehouse Partitions
254
Speaker:
Andy Leonard
| Track:
Database Platforms and Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
65
% /
35
%
Session Synopsis:
SQL Server 2012 table partitions offer powerful Big Data solutions to the Data Warehouse ETL Developer. In this presentation, Andy Leonard demonstrates one approach to loading partitioned tables and managing the partitions using SSIS 2012, and reporting partition metrics using SSRS 2012.
Designing for Common Problems in SQL Server
288
Speaker:
Louis Davidson
| Track:
Database Platforms and Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
50
% /
50
%
Session Synopsis:
In this session, I will do a design and code review of several common patterns of problems that a typical programmer will come up against. Problems like coding for hierarchial data, data driven design, dealing with image data, structure generalization, user specified schemas, dimensional reporting, and dealing with uniqueness beyond what you might deal with using a simple uniquenesss constraint might allow you to deal with.
What SQL Server Sequence Objects Are (and Are Not)
289
Speaker:
Louis Davidson
| Track:
Database Platforms and Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
65
% /
35
%
Session Synopsis:
SQL Server 2012 adds a new object to our arsenal called a sequence that can will give us the capability to implement automatically incrementing values. However, it cannot replace a lot of functionality that we have used a numbers table and windowing functions for (though they can be complimentary to one another). In this session I will demonstrate the uses and performance characteristics of sequences, including how they compliment the use of number tables and windowing functions to create surrogate key and sorting values, and more.
PowerShell for Data Professionals
294
Speaker:
Aaron Nelson
| Track:
Database Platforms and Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
80
% /
20
%
Session Synopsis:
You’ve heard it said, “If you have to do it twice, automate it.” Cut the learning curve and get a real
handle on this powerful automation tool. This session walks you through a dozen scripts to simplify and
easily automate time-consuming and tedious elements of your day to day job. This isn’t stuff you’ll use
SOMEDAY, these are scripts you can use when you get home tonight. Harness the power of Power Shell
to easily find Servers short on space. Script out tables and constraints across all of your databases at
once. Backup databases and restore them to a different environment. These tricks and many others will
allow PowerShell to simplify your job like no other tool.
SQL Server Database Projects in SQL Server 2012 Data Tools - Making a database developer happier and more productive
323
Speaker:
Robert Cain
| Track:
Database Platforms and Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
90
% /
10
%
Session Synopsis:
Whether you are a dedicated database developer, or a DBA/.Net Developer for whom database development is a secondary job, Visual Studio Database Developer edition, aka "Data Dude" can be a boon to you. In this session we'll start by reverse engineering an existing database into complete scripts to create the tables, indexes, stored procedures, and more. Deployment strategies will be covered, as well as refactoring.
Entity Framework Code First – Beyond the Basics
324
Speaker:
Sergey Barskiy
| Track:
Database Platforms and Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
30
% /
70
%
Session Synopsis:
This session will cover scenarios beyond the basics. Topics such as creation of object hierarchies and complex types will be discussed. Performance tips will be covered as well as usage scenarios in services. Techniques to handle schema changes will be discussed. High level overview of how to handle various RDBMS with Entity Framework will be part of the conversation.
Learning objectives
Understand performance analysis tips for Entity framework
Database scheme evolution handling techniques
Organization of database and conceptual model via complex types and hierarchies
Aging in Place, The emerging senior care and monitoring market in the age of UC, VoIP, and the Internet
197
Speaker:
Doug Kilgore
| Track:
Open
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
0
% /
100
%
Session Synopsis:
Ill be speaking about the emerging senior care and monitoring market and how UC, the internet, VoIP, opens source software, and telephony equipment can be leveraged to provide comprehensive senior care and monitoring from the home or the office desktop. As the senior segment of society continues to grow and the birthrate continues to drop this market offers significant growth potential and cost savings to the taxpayer, caregiver, and community while allowing senior citizens to remain in their home longer and improving the quality of their lives.
Rules, Rules, and Rules
206
Speaker:
Jeremiah Peschka
| Track:
Open
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
0
% /
100
%
Session Synopsis:
Computers are governed by the rules of physics: electrons, drive heads, and disk platters can only move so fast. Understanding how these rules operate and interact leads to insights into application performance. Understanding why something might perform a certain way makes it much easier to understand the tradeoffs of a specific design.
Database systems are built according to those rules: memory is faster than disk which is faster than the network. Database schemas and queries are built within the rules of database systems. You will hit the limitations of these rules. If you know what the rules are and why they are in place, you'll know when it's time to break them... and how to succeed.
This talk is for anyone interested in the principles that drive modern databases. While this talk is largely concerned with the theoretical side, we'll occasionally discuss specific implementations of the principles to make these concepts easier to understand and apply to everyday decisions.
Collaborative Android Apps with Correspondence
192
Speaker:
Michael Perry
| Track:
Mobile Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
Phones are personal devices, so users expect their data to be local. But they are also collaborative devices, so users expect them to talk to each other. An occasionally connected Android application is the best of both worlds. It stores personal data locally for instant access. And it synchronizes with remote services for collaboration.
Correspondence is an open source library specifically designed to make it easy to build occasionally connected applications. When you design your data model using its DSL, it generates both a local database and a network protocol. Then it gives you an object model to code against that seamlessly bridges the two worlds.
Reach the Mobile Masses with ASP.NET MVC 4 and jQuery Mobile
200
Speaker:
Keith Burnell
| Track:
Mobile Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
70
% /
30
%
Session Synopsis:
Creating web applications that will target multiple devices and platforms has become the web developers Holy Grail. Simple HTML pages render without issue no matter what browser or device they are viewed on but who codes simple HTML pages? What happens when you have a business need to hit all mobile platforms?
You don't have to writes hundreds of lines of code to make this happen!
In this talk Keith will show how using the latest version of ASP.NET MVC, MVC4, and jQuery Mobile you can develop web applications that target iPhone, iPad, Android, Windows Phone 7, and even Blackberry and not have to code and style each platform separately.
Awesome iOS Ux - Stuff You Can See
212
Speaker:
Douglas Starnes
| Track:
Mobile Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
50
% /
50
%
Session Synopsis:
Think outside of Interface Builder! To make great user interfaces for iOS, it's time to write some code. This presentation will look at a variety of techniques for creating original user interfaces for iOS applications. In addition to Apple provided components such as scrolling views, maps and web views, this presentation will also cover custom views using the CoreGraphics frameworks. To add some sizzle, to those views, we will dig into CoreAnimation. Finally, we will show how to creating great reading material with CoreText.
(Note: this presentation is not dependent upon Awesome iOS Ux - Stuff You Can't See and either may be presented separately or in any order)
Awesome iOS Ux - Stuff You Can't See
213
Speaker:
Douglas Starnes
| Track:
Mobile Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
50
% /
50
%
Session Synopsis:
While a great user interface is essential to an applications' success, the user experience extends far beyond visuals. This presentation will look at the pieces of Ux that your user will notice if they are missing. We will discuss how to use the hardware features of iOS devices such as the camera, GPS and accelerometer. One of the most unique features of iOS devices, multi-touch display, can make applications stand out. To make an application run efficiently, we will look at Grand Central Dispatch.
(Note: this presentation is not dependent upon Awesome iOS Ux - Stuff You Can See and either may be presented separately or in any order)
Going Native With Kendo UI Mobile
226
Speaker:
Keith Burnell
| Track:
Mobile Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
70
% /
30
%
Session Synopsis:
The number of people using their smartphones or tablets to access the web has grown to the point where having a presence on mobile devices has become a must for anyone with a website. But to be truly successful your mobile presence has to differentiate itself from the mobile web entirely and straddle that line between web and native application. In the past this meant having specific styles and often views for each specific mobile platform you wanted to target, but this is no longer necessary thanks to Kendo UI Mobile.
In this talk Keith will demonstrate how using HTML5 and Kendo UI Mobile you can write one application with a single set of styles and views that looks truly native on iOS, Android, and Blackberry. Keith will walk through creating a mobile application from start to finish including how to use PhoneGap to package and deploy your website to the major mobile application stores.
Using HTML5 to Build Mobile Apps
231
Speaker:
Todd Anglin
| Track:
Mobile Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
Native apps are great, but if you want your app to reach as many people as possible, HTML5 is your ticket. In this session, we'll explore the different ways HTML5 can be used to build and deploy mobile apps, as well as the tools that can make the job easier. If mobile is in your future, and learning Objective-C is not your idea of a good time, don't miss this session!
Using Azure with Windows Phone and Windows 8!
256
Speaker:
Greg Levenhagen
| Track:
Mobile Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
65
% /
35
%
Session Synopsis:
With phones, tablets and other devices exploding in market share, it’s important to know what technologies and tools will help you develop better applications. These devices are often short on processing power and storage, which is where Azure can really help out. Come see what it’s like to use Azure with Windows Phone and Windows 8, including examples with push notifications, storage and authentication for both platforms and a Metro application using the Azure Service Bus.
Building a pathfinding system using waypoints with XNA on Windows Phone
262
Speaker:
Chris Williams
| Track:
Mobile Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
90
% /
10
%
Session Synopsis:
This Windows Phone session builds on the previous session ("Building a Scrolling Tile Engine with XNA on Windows Phone") to provide a degree of artificial intelligence pathfinding for the creatures in your game by creating a system of waypoints they can use to navigate the terrain on your map. Basic animation is covered as well.
Objectives/Outcomes: How to add waypoints to an existing tilemap. How to use the tilemaps to provide pathfinding AI in your game. How to animate the graphics in your game to follow the path.
SharePoint 2010 Client-Side Development with the JSOM and jQuery
238
Speaker:
Rob Windsor
| Track:
Sharepoint
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
If you've used SharePoint 2010 you know that there were significant changes to improve the user experience. Much of this was done by shifting code from the server-side to the client-side using technologies like JavaScript, AJAX, JSON, and Silverlight. End users are going to expect the same kind of user experience from the custom code that you write. Fortunately, Microsoft has given developers several new APIs they can use when doing client-side development: the JavaScript Client Object Model (JSOM), the Dialog Framework, and the REST API to name a few. In addition, there are hundreds of JavaScript libraries from the general Web development world available to you - the most prominent of these being jQuery. In this session we'll take a look at the world of SharePoint 2010 client-side development with a particular focus on the JSOM and jQuery.
CAML, REST and LINQ - Data Access Options in SharePoint 2010
239
Speaker:
Rob Windsor
| Track:
Sharepoint
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
Lists are the data store in SharePoint so it should be no surprise that there are several data access options available to developers. Traditional techniques include the use of the object model to iterate list items or using CAML to query them. SharePoint 2010 adds features that make data access easier and more powerful - chief among these are the addition of joins to the CAML query syntax, LINQ to SharePoint and the REST APIs (oData). LINQ to SharePoint allows developers to use the power of LINQ on entities generated from list schema while the oData interface exposes list data to the enterprise via a REST-based service. In this session we'll explore each of these options, see how they work, and discuss where they may fit into your SharePoint applications.
Using Windows Azure for Solving Identity Management Challenges
283
Speaker:
Michael Collier
| Track:
Cloud
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
75
% /
25
%
Session Synopsis:
Identity management for cloud deployed applications can be a challenge. Often users will want to leverage an existing social network or corporate identity. Now we have to worry about dealing with multiple APIs, any updates to those APIs, or the addition of new identity providers. Windows Azure Access Control Services offers a better way! ACS allows for federated user authentication via popular social networks and Active Directory. In this session we’ll provide a crash course in claims as they relate to identity management. We’ll discuss why claims are important and how to add additional claims beyond what is provided by the identity providers. We’ll also demonstrate how to configure ACS for development, as well as production environments. We’ll wrap up by showing you how to bring you’re new found love of claims and ACS to your mobile applications as well.
The Hybrid Windows Azure Application
284
Speaker:
Michael Collier
| Track:
Cloud
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
75
% /
25
%
Session Synopsis:
The Windows Azure platform is a fairly feature rich environment. You can run your web applications there. You can run your data processing applications (services) there. But you don’t have to run your entire application there. You can run part of your application in “the cloud”, and part of your application on premise – giving you the best of both worlds. But why would you not put everything in the cloud? Perhaps you don’t need the massive computing power Windows Azure provides, but you would like a cheap an easily accessible data store. Maybe your application just isn’t ready, yet, to be run in the cloud. Whatever the reason, in this session you will learn the basics for creating a hybrid application which leverages various features of Windows Azure. You will see how to leverage Windows Azure’s rich features and APIs to extend your application to new heights.
Using Geospatial Data with SQL Azure
286
Speaker:
Jason Follas
| Track:
Cloud
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
40
% /
60
%
Session Synopsis:
Due to the pervasiveness of GPS data, developers today are being asked to incorporate geospatial information into their data-driven applications. Working with spatial data, though, involves using complex geometric formulas that are difficult to implement in SQL queries. What developers need is a common abstraction layer running on the database itself that softens the complexity of working with geospatial data, yet is straightforward enough to incorporate directly into queries to provide spatial-based filtering and distance calculations. Microsoft introduced two new spatial data types (Geometry and Geography) in SQL Server 2008 that provide an implementation of Open Geospatial Consortium (OGC) standards. These spatial types are being enhanced to include more functionality in SQL Server 2012, but many of the new features are already operational on SQL Azure Q4 2011 Service Release, and can be used today by your on-premise or cloud-based applications.
Azure TBA
332
Speaker:
Brian Prince
| Track:
Cloud
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
50
% /
50
%
Session Synopsis:
Abstract is currently not available for public disclosure
Azure TBA
333
Speaker:
Brian Prince
| Track:
Cloud
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
50
% /
50
%
Session Synopsis:
Abstract is currently not available for public disclosure
Leveling Up: When It's Time To Assume Technical Leadership
296
Speaker:
Alan Stevens
| Track:
Professional Development
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
0
% /
100
%
Session Synopsis:
Most software developers would make lousy managers, but many of the experienced developers that I have met and worked with have more to offer in terms of technical leadership than they share with their managers and team. As an industry, we need you to leverage your experience for the benefit of us all. In this session we will examine some clues that you may be ready to "level up". We'll discuss when and how to appropriately exercise technical leadership and when to keep our mouths shut.
Attendees will leave this session with a toolkit of tactics to influence their teams, companies and clients to make better choices in the pursuit of greater user value.
Secrets of Awesome JavaScript API Design
225
Speaker:
Brandon Satrom
| Track:
Development Practices
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
70
% /
30
%
Session Synopsis:
It doesn't take long for most developers to sniff out a poorly-designed JavaScript API. Within minutes of reading about or coding against a new library, most developers can intuit whether their long-term relationship with that library will be a pleasant or unfortunate one. While documentation, buzz and other factors certainly play into that conclusion, the largest incluencer of that snap conclusion is the "feel" of the API itself. APIs are developer UX: A good one raises a developers enjoyment; a bad one sends it plummeting.
As developers, we know what good and bad JavaScript APIs "feel" like, and yet we struggle with designing the kind of APIs that we enjoy using. But principles of good JavaScript API design do exist, and it's possible to extract them from several key libraries in the the proliferating JavaScript landscape. In this session, Brandon Satrom will do exactly that, digging into the design aspects of popular libraries like jQuery, Backbone, Knockout, Modernizer, Kendo UI and others to enumerate the designed-in qualities of these libraries that make them not only popular, but a pleasure to use.
Exterminating Common jQuery Bugs
293
Speaker:
Elijah Manor
| Track:
Development Practices
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
50
% /
50
%
Session Synopsis:
jQuery is so easy to use and thankfully abstracts many of the cross-browser concerns we used to labor over years ago. However, as with any library there are a common set of bugs that tend to crop up the more you use it. This session aims to help equip developers with the appropriate knowledge and tools to exterminate many common bugs seen in jQuery code. For each topic that is covered we will start with a piece of code that has a jQuery bug, then identify what the bug is, explain why it is happening, and then proceed to explore various techniques to exterminate the bug. Some bugs have a simple fix, whereas other bugs have numerous ways you could look at solving the problem. These solutions can range from simple to advanced concepts. By exterminating bugs in multiple ways it will help expose some of the newer and more advanced features of jQuery that aren't as widely known. Some of the bugs that we will address involve dealing with synchronous and asynchronous code, uncovering some possibly confusing aspects of the $.each method, explaining why and how you might have killed event delegation, looking into weird formatting issues when dealing with JSON and object literals, discussing the confusion of the jQuery wrapper versus the native DOM element, explaining the difference between commonly confused jQuery methods, uncovering why some animations have a mind of their own, determining when several ajax calls have finished, and much more. As you might have noticed some of the examples listed above aren't necessarily jQuery specific, but since the library is JavaScript there are many core concepts of JavaScript that are necessary to understand when using jQuery.
Testing Code From the Pit Of Despair
318
Speaker:
Philip Japikse
| Track:
Development Practices
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
50
% /
50
%
Session Synopsis:
Michael Feathers defines Legacy Code as any code that doesn’t have automated tests, and you agree that automated tests are an important facet of successful software development. Then it happens – you get your next assignment, and it’s your worst nightmare! You have to maintain and enhance a large application that has no tests in place, and there are parts that are just plain scary. Where do you start? Traditional Test Driven Development techniques don’t typically work, since they focus on an inside-out development paradigm.
I will show you the patterns and practices that will help you turn the scary big ball of mud into a tested code base.
BDD the .NET Way
328
Speaker:
William Wallace
| Track:
Development Practices
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
70
% /
30
%
Session Synopsis:
BDD has been embraced by many as the solution to "TDD drag" - helping developers keep focused on the business value of the software they create while at the same time covering their code with tests. This has been a challenge with .NET - the tools haven't been that expressive. Many .NET developers who want to do BDD turn to tools from other languages with a better history of BDD development, like Ruby’s RSpec. While such solutions work, wouldn’t it be nice to keep all the code for your domain solution and the tests in the .NET framework? Well you can and I’ll show you how.
How to Ride the Service Bus with Azure
255
Speaker:
Greg Levenhagen
| Track:
Platforms and Tools
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
80
% /
20
%
Session Synopsis:
Do you like a loosely coupled architecture? Are you considering a hybrid application between the cloud and on-premise solutions? Are you building mobile applications with notifications and events? The Azure Service Bus can make your life much easier!
Don’t Repeat Yourself - Automation with the Azure Management API
257
Speaker:
Greg Levenhagen
| Track:
Platforms and Tools
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
65
% /
35
%
Session Synopsis:
Developers don't want to repeat tasks! Take out the mundane work of managing the cloud manually and remove the chance for human error. Learn how the Azure Management REST API can be used for automating deployment changes, monitoring your application and more.
Time Saving Tips & Tricks for SSMS 2012
295
Speaker:
Aaron Nelson
| Track:
Platforms and Tools
| Level:
Intermediate
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
95
% /
5
%
Session Synopsis:
SQL Server Management Studio can be really annoying sometimes. Over the years a few really nice
features have been added that you may have overlooked or just couldn’t find. This session will focus
some time saving tips and tricks for SSMS 2008 R2. We’ll also cover a few great new features being
introduced in SSMS 2012. Since I can’t provide scripts for this session I guess I better get started
working on some screen shots on where they hid all this stuff!
An Introduction To Hypermedia APIs
241
Speaker:
Alex Robson
| Track:
Architecture
| Level:
Advanced
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
30
% /
70
%
Session Synopsis:
REST was designed to do more than spark arguments on the internet. Hypermedia can be used to build self-describing APIs. The lack of tooling on the server and the client and few concrete examples make adoption intimidating. This session will demonstrate why Hypermedia is important and how to apply it.
The Evolution of Patterns
299
Speaker:
Chris Eargle
| Track:
Architecture
| Level:
Advanced
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
75
% /
25
%
Session Synopsis:
Design and Implementation patterns have changed in object-oriented languages such as C# with the introduction of new language features, advances in object-oriented design, and the inclusion of functional language aspects. This session will explore the impact this has on design and implementation patterns and how they can be leveraged to build more elegant systems.
The REST Express
184
Speaker:
Burke Holland
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Advanced
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
75
% /
25
%
Session Synopsis:
So you've made the move to the MVC web development model, or maybe you've been an MVC developer for a while. There's a strong argument that as applications make more and more use of JavaScript on the frontend, it makes sense to use it on the server as well.
Node.js has been steadily gaining traction in the web development community. You may have seen how to create a simple web server with Node, but how do we create the MVC architecture on Node while exposing our data RESTfully?
In this session you will get a quick Node primer, and then we're diving head first in the Express MVC framework for Node.js and wiring up a relational database for some real world development. You will learn the basics for building tiered applications on nothing but JavaScript and a love for the web.
Understanding and Implementing Async Programming in .NET 4.5
187
Speaker:
Mitchel Sellers
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Advanced
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
70
% /
30
%
Session Synopsis:
.NET 4.5 provides a great set of new features for performing Asynchronous programming this session is a deep dive into how you can use these new features to make your applications more responsive to user actions. An introduction to the concepts around Async with .NET 4.5 will start out the session and then a deep dive into code examples and performance gain demonstrations with the use of Async. Code examples will show common practice situations that can be improved with the use of Async; long running SQL queries, long running disk IO processes, backend thread processing and similar. All examples will be able to be downloaded and used after the session to help jump start developers implementation.
Polyglot For Fun and Profit
242
Speaker:
Alex Robson
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Advanced
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
Even the best general purpose languages can’t be the best at everything. Performance and interoperability are often the primary barriers to introducing a new language or runtime at work. This session will review high-level patterns and strategies for language interop and show how very different languages can complement one another in powerful ways.
Making Backbone.js Submit to Your Will
243
Speaker:
Jim Cowart
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Advanced
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
70
% /
30
%
Session Synopsis:
Backbone.js provides great abstractions out-of-the-box. But what happens when you need to integrate web sockets into your application? What about using a local message bus to better decouple your views, models and other components? How do you properly manage view lifecycle in a Backbone application? It's not always as simple as overriding Backbone.sync, or (gasp!), letting your router manage your view instances. This session covers some specific approaches which you can use to address these concerns.
The Erlang Runtime System (Deep Dive)
250
Speaker:
Bryan Hunter
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Advanced
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
70
% /
30
%
Session Synopsis:
Erlang is unmatched in its sweet spots of reliability, concurrency and distribution. Other languages borrow bits and pieces from Erlang, but none come close. Why? Virding's First Rule of Programming says "Any sufficiently complicated concurrent program in another language contains an ad hoc informally-specified bug-ridden slow implementation of half of Erlang." This is funny, and true, but why is it true?
Interestingly, it's not the language. The great power of Erlang comes from the Erlang Runtime System (ERTS) which in many ways is more like an operating system than a language runtime. In this session we will explore the design, the internals and the exposed primitives of the ERTS. In our dive we will pretend we are Microsoft attempting to make a better Erlang, like they made a better Java a decade ago with C#. We will uncover why it's that big of a job.
Parallel Programming in .NET and Azure
251
Speaker:
Greg Levenhagen
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Advanced
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
80
% /
20
%
Session Synopsis:
Parallel programming remains a difficult task, but the .NET framework keeps making things easier for developers. With the various constructs available, like the addition of the Task Parallel Library in .NET 4, it is important to know what is appropriate for different situations. Devices continue to gain cores and the cloud offers easily distributed computing, so developers should understand how to utilize the environments. Come for a walk-through of how and when to use these constructs, whether that is in the cloud, a mobile device, desktop application or the web. The examples will be C# focused, but F# will be discussed and an example of distributed computing using Azure will be used.
Advanced Service Bus: Load Balancing Support
279
Speaker:
Nuno Godinho
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Advanced
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
One of the very important aspects of Windows Azure and the Cloud, is the fact that it allow us to scale our solutions, as well as provide highly available scenarios, but by doing this we need to support and balance the requests that are being received. In Windows Azure generally this is done for us, but in the Windows Azure AppFabric Service Bus this isn't automatic and so we need to take that matter into our own hands. And so in this session we'll talk about how we can provide a Load Balancing capability for our Service Bus services, in order be able to balance those requests.
Advances Service Bus: Queues and Topics from inside out
280
Speaker:
Nuno Godinho
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Advanced
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
In order to provide better Reliability, Availability and Scalability to applications one very important architectural approaches is the use of Message Queuing. In Windows Azure we can use Service Bus Queues and Topics in order to achieve the same results, and in this session we'll look closely what exactly is Service Bus Queues and Topics, and the difference between them and Windows Azure Queues, and in which scenarios they are most important, and will be better to use. By the end of the session attendees will know exactly in which scenarios to use each of those features, and how to implement them.
Tips & Tricks on Debugging and Troubleshooting your Windows Azure Applications
282
Speaker:
Nuno Godinho
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Advanced
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
One of the most important things that we have to do in our solutions in the monitoring in order to know if everything is going as planed or not, and in those cases that things are not as expected, Debug our applications in order to understand what really is happening. In this session we'll look at several techniques on how to Monitor and Diagnose our solutions with IIS Logs, Performance Counters, Event Logs, Infrastructure Events and so on, from our applications, also using Remote Desktop, at the same time how to use IntelliTrace to better debug out them.
Declarative Refactoring in C#
300
Speaker:
Chris Eargle
| Track:
Developer Tools, Languages, and Frameworks
| Level:
Advanced
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
95
% /
5
%
Session Synopsis:
Bob Martin’s first rule of methods (found in Clean Code) is that they should be small. His second rule is that they should be smaller than that! The ideal method length is 2 to 4 lines of code, but many developers are puzzled at how to achieve such a thing or even if it is worth striving for. Indeed, every method has a story to tell, and that story is best realized with declarative code and meaningful names.
You will learn how to fully utilize the C# language to assign functionality where it belongs, make your code readable even for that future you, and in the process end up with a reusable framework.
SQL Server Internals
186
Speaker:
Jeremiah Peschka
| Track:
Database Platforms and Development
| Level:
Advanced
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
0
% /
100
%
Session Synopsis:
There’s a lot of information about SQL Server’s inner workings. Much of the material is highly focused and highly specialized. Before diving deep into the secrets of a particular feature, it’s important to understand how all of the pieces of SQL Server work together. During this session we’ll journey from the query parser to the storage engine and talk about how the different parts of SQL Server interact. Along the way we’ll will cover theoretical and practical knowledge about databases and SQL Server in specific. Although there is a lot of theoretical and esoteric knowledge available, this presentation will focus on the practical and immediate – wherever possible knowledge of SQL Server’s internals will be related improving to real world performance.
Designing an SSIS Framework
252
Speaker:
Andy Leonard
| Track:
Database Platforms and Development
| Level:
Advanced
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
65
% /
35
%
Session Synopsis:
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.
Advanced SQL Azure - Performance, Scalability
281
Speaker:
Nuno Godinho
| Track:
Database Platforms and Development
| Level:
Advanced
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
In this session we'll look at some more important SQL Azure topics like Performance and scalability, and how concepts like Sharding, SQL Azure Federation are important for that scalability improvements. We will also look at how SQL Azure Data Sync is important for these concepts and also to keep a local replica of the SQL Azure Database, SQL Azure Backups, Import and Exports and other new features that are being release by the SQL Azure Team.
Anatomy of a Buffer Overflow Attack
290
Speaker:
Rob Gillen
| Track:
Open
| Level:
Advanced
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
75
% /
25
%
Session Synopsis:
You've heard of "buffer overflows" and maybe you've even been the cause of a few, but do you understand why they are bad? Maybe you're a ".NET developer" and you've never really thought about them. In this session we'll discuss how attackers discover buffer overflows, how they interrogate them, and, finally, how they are exploited. We'll walk through a live demonstration from fuzzing through obtaining a remote shell. You'll leave with a better understanding of how they work, and why you should ensure your code is protected from them.
iOS In-App Purchase
244
Speaker:
Daniel Norton
| Track:
Mobile Development
| Level:
Advanced
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
75
% /
25
%
Session Synopsis:
In-App Purchase (IAP) has quickly become a powerful way to increase the earning potential of apps. This session will take a deep technical look at implementing IAP with the AppStore, with code in your app, on your server, and using third-party services. The iOS app will be native Objective-C, while the server code will be node.js. Previous experience with iOS development is strongly advised.
Debugging iOS Apps
245
Speaker:
Daniel Norton
| Track:
Mobile Development
| Level:
Advanced
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
75
% /
25
%
Session Synopsis:
In this session we will look at design-time profiling tools and run-time debugging inside of Xcode. We will also look at run-time performance monitoring tools in Instruments. Previous experience with iOS development is strongly advised.
Versioning and Upgrading Features in SharePoint 2010
277
Speaker:
Rob Windsor
| Track:
Sharepoint
| Level:
Advanced
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
70
% /
30
%
Session Synopsis:
Creating SharePoint Features, and the associated elements, is a well-documented process that is supported by the tooling in Visual Studio 2010. But what happens after you’ve deployed the Feature and want to add to it or make changes? SharePoint 2010 includes a framework for Feature versioning and upgrade that is not as well documented and is not supported (at least natively) by the tools in Visual Studio. In this session we will examine the Feature upgrade framework and walk through the mechanics of upgrading a Feature using a series of demonstrations. Along the way we’ll touch on some of the pitfalls you may encounter when upgrading elements commonly created during custom development (site columns, content types, Web parts, etc.)
Advanced SharePoint Web Part Development
278
Speaker:
Rob Windsor
| Track:
Sharepoint
| Level:
Advanced
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
60
% /
40
%
Session Synopsis:
Web Parts are the foundation of user interfaces in SharePoint. As a developer it's relatively easy (particularly with the Visual Web Part) to build something simple and get it deployed. But what do you do when you need to add editable properties or when you need to connect two Web Parts together? This fast-paced, demo-heavy session covers the more advanced aspects of building Web Parts for SharePoint 2010. We’ll take a look at creating custom editor parts, building Visual Web Parts, constructing connected Web Parts, and how to render Web Parts asynchronously.
When NOT to Use jQuery
188
Speaker:
Brandon Satrom
| Track:
Development Practices
| Level:
Advanced
Room:
| Time Slot:
8/29/2012 8:00 AM | Code/Slide:
70
% /
30
%
Session Synopsis:
You love jQuery. Maybe you love it so much that you use it for everything; in every situation and in all your sites and applications. You're not alone. Today it can be found on more than 45% of all sites. But is it being used responsibly? Ever referenced jQuery just to select an element by Id in a simple application, or to do a simple loop with $.each()? We've all been there, but do you wonder sometimes if maybe jQuery wasn't intended to be the single solution for all your JavaScript development needs? As great as jQuery is, there are plenty of times where it's not the best way to solve a given problem. In this session, Brandon Satrom and Burke Holland will share times when using jQuery is a bad idea, and what you can do instead. You'll learn to wield raw JavaScript with ninja skills when the situation demands it, thereby letting jQuery continue to do the awesome things it was built to do.
Email:
Twitter:
URL:
Company:

|