Sessions


Registration is now open! Register now!
  • Using MVVM Frameworks

    You're smart. You've heard that the MVVM pattern is the way to go for WPF and Silverlight applications - maybe you've even rolled your own helper classes for implementing MVVM in your apps. But now you understand how the pattern works, and you want to simply trust a 3rd party framework to handle the details of MVVM for you. Luckily, several frameworks exist, and will do this for you - but it isn't always obvious how to get started. In this session, we'll take a look at a couple of the more popular options and how to get your app off on the right foot with a MVVM framework.

    Speaker
    Adam Barney
  • Create Compelling User Experiences Easily with KnockoutJS

    Ever since JQuery hit the scene JavaScript has been easier and easier to use to create stunning user experiences on the web. But when UIs get complicated and lots of things need to happen simultaneously after a user action has occurred, the JQuery can be quite involved. Steve Sanderson has released a JavaScript framework that can give great user experiences, while taking advantage of a simple application pattern known as MVVM within JavaScript to handle all of the UI updating. I will go through the reasons why KnockoutJS is a must-have tool in every developer's toolkit, and how you can create a compelling user experience easily with KnockoutJS.

    Speaker
    Lee Brandt
  • The Tasty Flavors of Entity Framework 4.1

    The shiniest, newest version of Entity Framework 4.1 is a dramatic addition to the world of data-access in the Microsoft stack. This presentation will cover the three tasty flavors that EF 4.1 comes in: Database-first, model-first, and the exciting new code-first.

    Speaker
    Brad Tutterow
  • A Primer to Android Game Development

    This session will demonstrate what it takes to get an android game up in running with AndEngine. You will learn how to create, render, and move sprites across the screen, interact with your device, and take advantage of androids media player to add some character to your android game.

    Speaker
    Skylar Watson
  • Building webapps for the Cloud with Python and Google App Engine

    Geared toward Python beginners or people wanting to explore Python. It will include good chunks of Python code but explained at a high level, so no previous knowledge is required. The idea is to get people excited so that they go out and learn Python or if they already do, then start building web applications leveraging the power of Google App Engine.

    Speaker
    Juan Gomez
  • Programming with the .NET Async CTP

    The .NET Framework doesn't lack support for asynchronous programming. There are several ways to accomplish it. What we don't have yet is a way that doesn't obscures the intent of the code.

    Consider the following question: What is more important, what the code is trying to do or the fact that it was written asynchronously? If your answer was the former, you'll probably like what you'll find in the Async CTP for Visual Studio.

    Come to this presentation to see the new language features added to C# (and Visual Basic) that pretty much take asynchronism out of your way while still embracing it. Find out how a couple new keywords can make your code asynchronous and help you eliminate blocking calls without spawning new threads.

    Speaker
    Sergio Pereira
  • OAuth – Open Authentication for your API

    Describe OAuth 1 and 2 standards, workflows, when to use each, and real world implementation examples of each.

    Speaker
    Brandon Weber
  • Designing For Your Peers

    This half day workshop will have participant design a solution based on the needs of their team and other peers. Attendees will be provided an overview of various design topics and then will be asked to work together to develop a solution based on a given scenario. Throughout the process, attendees will go through exercises in brainstorming, persona and mental model development, user interviews, information architecture, and prototyping. This workshop is available to anyone who wants to join though attendees are expected to stay throughout the duration.

    Speaker
    James Eggers
  • Static Analysis in .NET

    We all want to have someone else review our code to make sure it's written well. Wouldn't it be even better if we can have that review process done automatically? In this session, you'll see how you can use static analysis tools (like Code Analysis/FxCop) to find all kinds of implementation issues before they show up in a release. You'll also find out how to manage rule sets in Visual Studio, and find out how you can create your own custom rules.

    Speaker
    Jason Bock
  • Modular JavaScript

    We all know how painful it can be getting the script tags just right in your web application. Wouldn't it be nice if you could organize and modularize your code, set up dependencies, and have them pulled in only when needed? You can, and in this session I will show you how with the power of the Asynchronous Module Definition (AMD). No longer will you have to write dependency management scripts on the server; all of your dependencies will be managed right where you need them: in your JavaScript.

    Speaker
    Bryan Forbes
  • Becoming a Data Savant: Correct Data in a Crunch!

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

    Speaker
    Zac Harlan
  • Is F# the new Perl?

    You know that F# is a new .Net language. You know that is a functional language. But do you know that you can create F# scripts? In this session you will learn:

    How to create and run F# scripts.
    How to use the "F# interactive" to do exploratory development.
    How solve some common problems the F# way.

    Speaker
    Cesar Mendoza
  • Windows 8 Development

    Speaker
    Jon von Gillern
  • Setting Up a Rails Development Environment

    Ask almost any Rails developer what their biggest challenge in getting started with Rails was and chances are they will all roll their eyes and say the same thing: Setting up their development environment.

    Although there are many options when it comes to Rails development environments, we will talk about setting up an Ubuntu-based development environment. Specifically a dual booted machine running Windows 7 as its existing OS.

    The following topics will be covered:

    How / Where to get Ubuntu - Creating the install USB drive (Yes, we will use 11.4)
    Installing Ubuntu as a secondary OS
    Install & Configure RVM
    Install RubyMine
    Pull down a project from GitHub
    Using RubyMine and Bundler to manage Gems
    Run the project locally
    Create a new Heroku project and deploy to it

    This topic will primarily appeal to beginning Rubyists or developers thinking about getting started with Rails. A lot of technologies will be covered at a high level, so come with questions. Also, bring a buddy. If you've talked about Ruby or Rails with someone who's interested in the language / framework, but are too intimidated to jump in blind, bring them along.

    Speaker
    Levi Rosol
  • Micro Controllers 101 - Introduction to Hardware integration

    Micro controllers are everywhere in our lives. Learn how to integrate them in your projects around your home or office. Make your life more efficient. We will teach you how to get started with Arduino and Netduino boards. We will demo a few daily examples.

    Speaker
    Lwin and Min Maung
  • Amateur, Pro, or somewhere in between?

    What's the definition of an amateur? What about a professional? In this session we will discuss the differences between these classifications within the world of sports and how those definitions intersect with those we use in the world of software development and, maybe more interestingly, how they don't.

    Speaker
    Brandon Carlson
  • Writing Web Applications with the Google Web Toolkit

    This session is about structuring web applications with a mind for security, stateless/RESTful behavior, small, chunked downloads, and speedy reaction times, given through the lens of GWT - the Google Web Toolkit. I'll share the strategies I analyzed and implemented in the development of the full-scale web application I've been working on for the 14 months.

    Code examples will be in Java.

    Speaker
    Riley Lark
  • Setting up and Using Memcache with NHibernate

    Setting up and using NHibernate Unit of Work pattern, Membase server, monitoring with NHibernate Profiler, and Membase monitors.

    Speaker
    Brandon Weber
  • My love/hate relationship with mobile development

    Mobile development seems all the rage, but what's the real story behind developing for each of these new platforms? In this session I'll attempt to demystify the different facets of mobile development through the eyes of a c#/java web developer. I'll describe the joys and pitfalls of developing for iPhone/Android/WP7 such as ... initial learning curve of the platform, building layouts, test-driven development, debugging, emulators and may other issues I ran into this past year building real software.

    Speaker
    Toran Billups
  • What is Clojure?

    This session will introduce you to the Clojure programming language.

    Clojure is a new dynamic general-purpose programming language that targets the JVM, CLR, and JavaScript. Clojure is a modern dialect of Lisp and is primarily a functional programming language. Clojure has a rich set of immutable, persistent data structures, and includes strong support for multithreaded programming through software transactional memory and agents.

    There isn't time in a short session like this to actually learn a new language, so we won't even attempt this. Instead, we'll just introduce the language, look at a few code examples, and identify Clojure's strengths and weaknesses.

    At the end of this session, you will know what Clojure is and what it might be good for. And if you decide you want to try it, you will also know how to get started.

    Speaker
    David W Body
  • F# > C# - What F# does that you can't (easily) do in C#

    You have heard the arguments. When you get down to it, it is all IL, right? Doesn't that make C# and F# the same? Hogwash!

    In this talk, we will explore those areas where F# has distinct advantages over F#, including:

    * Immutability by default
    * Domain on a page
    * Pattern matching
    * Computation expressions
    * The eradication of null

    Use what you learn from this talk to be able to, very confidently, make the case for F# to your friends, your colleagues, and greater ""powers-that-be"". Or at least understand why you should stop putting off that nagging ""finally learn F#"" to-do item that has been in the back of your head all these years.

    Speaker
    Aaron Erickson
  • Programming for Reuse

    As programmers, we spend more time than we would like to admit programming around the shortcomings of the languages and SDKs we are forced to deal with. The SDKs we use (whether for iOS, Android, Ajax, or server-side) provide as much code as they can, but they can't do everything. And sometimes they have bugs. So we create objects and functions that can be used to patch up these problematic areas.

    This session will go into detail about the type of problems that should be handled with reusable code, how to write objects and functions that are extensible and configurable, and what is required to effectively share this code with other developers. Fundamentals of framework and API design will be discussed. Examples will be used from a number of languages showing the distinct ways they allow us to write reusable code. Base objects from SDKs like iOS and Android will be used examples of how others have approached code reusability and how we can extend these objects.

    Speaker
    Neil Roberts
  • Twenty Ways to Make Your Site Faster (and Easier to Work With) on the Cheap!

    Scaling websites and making them perform better under load can fall under "dark magic" to most but it doesn't have to be that way. Tools and best practices are waiting to be used and followed to make your website scream but few take the time to capture the low hanging fruit. Avoiding the complex and focusing on the simple, this talk will focus on how to make your website scale and be better performant on a limited budget. We'll look at tools such as nginx, memcached, CDNs, Beanstalk as well as some industry best practices that will improve your workflow, how you manage sites, and your user's experience with your site.

    Speaker
    Dan Shipton
  • Graph Databases in Web Applications

    Data models of many real world problem domains are inherently relational. Relational databases model relations between entities, but traversing these relations can be prohibitively slow due to table joins. In the NoSQL world, key/value and document stores are focused on storing unconnected, denormalized data and typically do not provide good support for relational data. Data in these domains ends up resembling a graph, where the nodes are entities connected together by different types of edges. In graph databases, also part of NoSQL, relations between objects are first-class citizens of the data store. This more closely fits the structure of the domain and speeds up the basic data access required to serve pages in modern web applications. It also opens the door to an advanced set of algorithms based on graph traversals, like search and recommendations. This talk will explore the advantages of using graph databases to store relational data through several compelling example applications using Neo4J, OrientDB, and the TinkerPop stack.

    Speaker
    Zach Cox
  • Experiences with Sencha and PhoneGap

    Describe my experiences getting a smartphone app to work on iPhone, Android and Blackberry using Sencha and PhoneGap.

    Speaker
    Ralph Bunker
  • How Ruby Is Making Me a Better C# Developer

    One of the more popular languages today is Ruby, a dynamic language that is focused on programmer happiness and productivity. I've been learning about Ruby at night while I still code C# during the day, and my study of Ruby has had a profound effect on how I approach my .Net projects. This purpose of this session is to demonstrate those effects, including general architecture, testing, data-access, tools, and general philosophy.

    Speaker
    Darren Cauthon
  • LINQtroduction

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

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

    Speaker
    Dustin Thostenson
  • Esoteric Programming Languages

    Most of the time we program in modern languages like Ruby or C#. However, there are a plethora of languages out there that are strange, odd, and/or just plain funny. In this talk, I'll go over a number of esoteric programming languages such as Whenever and Befunge. Come with a sense of humor!

    Speaker
    Jason Bock
  • Startup Q&A

    In this session, we will go through the basics of what it takes to work for yourself. Whether you want to be a solo entrepreneur or start the next Internet wonder, there are some basic steps most companies must take to get off the ground. This session will focus on bootstrapping the small startup, but will contain content that also applies to businesses that plan to raise millions in investment capital. The audience will set the agenda.

    Scott will share his experience of being an independent software consultant for the past 3 years and what it was like owning a small residential construction company for 8 years. Scott is also a member of a 7 person startup called QONQR, winner of Startup Weekend Twin Cities and finalist at SXSW Accelerator. QONQR is starting their investment funding search, and Scott will share some things they have learned from this process.

    Speaker
    Scott K Davis
  • Getting Func-y with C# and F#

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

    Speaker
    Keith Dahlby
  • Intro to CQRS and Event Sourcing

    CQRS and Event Sourcing is growing in popularity, and for good reason. But is it just a fad? Is it over-architecture? Is it really necessary? In this session, I'll explain what it is, and what it is not. I will also code a real, working example from scratch.

    Speaker
    Darren Cauthon
  • Push Notifications with Android

    Push Notifications for Android are a relatively new and very powerful feature. This presentation will explain briefly how they work and then build an app live that implements them.

    Speaker
    Luke Korth
  • Scala Basics

    An entry level presentation to the object oriented/functional programming hybrid language on the JVM called Scala. Will cover basic theory and syntax on the language and will offer comparisons to existing languages. Will include a brief talk on using functional concepts in Scala. Also will cover the plans for introducing Scala on the .NET framework.

    Speaker
    Nate Buwalda
  • .NET Performance Diagnostics - Where to Start

    Everyone has been plagued by that one page of an application that "used to work" that is now running slow as molasses. Well this session is for you, by taking a methodical approach and using the appropriate tools for diagnosis the problem can be solved quickly; and that is what this session is about, a walk through of the processes and tools to get you going!

    Speaker
    Mitchel Sellers
  • Behavior Driven Development from the Trenches

    There has been a lot of talk about test-driven, acceptance-test-driven, behavior-driven, anything-you-can-think-of-driven development lately. I will talk about behavior-driven development, how it relates to and encompasses some of these practices. I will show you the tools related to BDD, and how they help you code and design always with the customer's requirements in mind. Then I will actually show you how to get started with BDD on the .Net (specifically C#) platform. You should walk away from this session armed with enough information to get you started towards tested code that really nails what the customer needs.

    Speaker
    Lee Brandt

Where

Recent Tweets

Links