Force Choking

Get an indepth and up close demonstration on how to perform the feared force choke. You will also get a quick overview on how the force works. All who do not possess the ability to use the force will be used for demonstration purposes.

Speaker
Darth Vader
Room
Death Star

Make your ASP.NET Web Forms Code Suck Less

Confession time: Many of us are still using ASP.NET Web Forms. (Some of us even like it.) BUT it does make it difficult to build applications with well-organized code. The typical Web Forms application is littered with business rules implemented as validation controls in .ASPX files, and code-behind filled with plumbing code.

There are some options for addressing these issues without abandoning Web Forms. This session will examine two approaches - ASP.NET Web Forms Model Binding, and a third party tool called Business Logic Driven UI (BLD). We'll discuss the similarities and differences of each of these options, demonstrating the improvements to Web Forms source code they provide. We'll also cover some of the limitations to each of these techniques.


Break out of MVC

The Ruby on Rails framework is a great, opinionated tool for quickly creating web sites and web applications. Unfortunately not all of those opinions point developers toward good object-oriented design. We'll talk about how to organize code beyond the MVC, decoupling application logic from the database, and when it's best to create a Service Layer instead of ActiveRecord objects. Since we'll be discussing established object-oriented programming principles, these ideas should be applicable to anyone working with an MVC-based framework.

Speaker
Mike Weber

Meet Angular.JS

Angular.JS from Google introduces a radically different way to build things for the web with HTML and JavaScript. In this talk, we'll take a look at the basic and most useful features of Angular as we build some simple apps and widgets we're already familiar with using new techniques. We'll look at Angular's support for data binding, services, directives, and testing. And we'll also talk about where Angular isn't a good fit.


It's OK to fail, the red, green, refactor story

Writing code is hard, writing perfect code is even harder. The best thing we can do is learn to fail! During this talk we'll learn how to use tests to guide our code design and improve implementation. We'll write small failing tests and iterate on them until we have some code that will be well written and easy to refactor in the future. We'll learn how writing small failing tests will guide us on our code writing journey.


If the CAP fits, you can't forget!

Introduction to the CAP Theorem, Distributed Systems and how they apply to the lives of the "Everyday Developer."

This talk will help clarify how to build reliable systems in the face of the unreliable reality using highly-available and fault-tolerant software architecture and open source components. If you are developing applications which interact with external resources of any kind, including databases and even clients, this session pertains to you.


Cross-Platform Mobile Development

Mobile development is big and it's only going to get bigger. You want your app to work on all major mobile platforms, but not everyone has the time, resources or even the desire to learn all of the native mobile frameworks. In this presentation, we'll learn about how you can make mobile apps that work across all major mobile platforms without learning several entirely new tech stacks by utilizing cross-platform mobile development. We'll go over some of the most popular cross-platform mobile development frameworks, discuss when to use them vs. native development and when to use each framework.


Getting Started with Arduino

Arduino microcontrollers have stormed onto the hobby scene. They provide a simple way to incorporate "intelligence" into an electro-mechanical project.

This lecture and demonstration is designed to provide the attendee with all they will need to know to begin to learn how to use the Arduino line of microcontrollers. Topics will include what to buy, how to constructs circuits, and how to program these controllers. There will be several demonstrations of the Arduino Uno, along with explanations of the code behind them. The Uno will be compared and contrasted with other controllers.


Developing Productivity

Learn real world techniques for improving your productivity as a developer. We'll skip past the hype that it's impossible to measure an individual developer or a team's productivity and jump right into the meat of learning how to tweak your personal and team development processes to deliver more value to your clients. This session will take a look at practices to help you improve, processes, and tools - everything from automating your app deployment to using a clipboard manager. As one of the best ways of finding new productivity tweaks is working with other developers, we'll also gather suggestions from the audience on what works in the wild.


Shipping Code Sucks, Ways to Make it Better

Introduction to using Chef, Vagrant, Packer and Omnibus to automate a shared development environment to duplicate production. Next, simply turning around and shipping it to your customers.


Intro to Game Dev with Win8

Ever wonder how much effort it would be to make a game for the Windows Store or Windows Phone? Greg will walk you through what it looks like to do it using a couple of approaches and technology combinations; C#, C++, XAML and DirectX. He will discuss and walk-through the basic architecture for setting up games, handling input and interaction, manipulating objects and progressing game-play. You should walk away with a good understanding of your choices and how to make some decisions for your potential game!

Speaker
Greg Levenhagen

See the Future with Google Glass

Wearable technology will be the next big thing. Google Glass, basically a pager you wear on your face, was released to a select group of developers and explorers earlier this year. Come learn more about the technology, how users interact with it, and begin discussing how to develop for it.


Learning Ruby: Practical Steps to Earning Your Ruby Shoes

Ruby is a dynamic, open source programming language with an elegant syntax and powerful features. To an extent, Ruby is an easy programming language to learn, but difficult to master. For experienced programmers, some concepts in Ruby will already be familiar with you, but the perspective Ruby takes can baffle even the most industrious programmer.

In this talk we will discuss practical steps to learning Ruby, covering topics such as: Installing Ruby, Why/When to use Ruby, Ruby Idioms, Gems, and Key Resources.

Speaker
Ben Anderson

Extending RubyMotion with Gems and Pods

RubyMotion enables developers to write native iOS apps using the Ruby language. Developers can amplify the power of RubyMotion by using of some of the available libraries, packaged as Gems and Pods. This talk will demonstrate some of the more popular libraries, while highlighting some of the "gotchas". The first eight minutes will introduce RubyMotion for those who are unfamiliar with it. The remainder of the talk will feature demos of the libraries in action, live coding, and a touch of TDD. To get the most out of the talk, the audience member should have some experience programming iOS, Ruby, or both.

Speaker
Ray Hightower

EF Code First - Magic Unicorns and Beyond

Entity Framework Code First was dubbed "The Magic Unicorn" by Scott Hanselman because of its ability to allow development of a full database backed application without ever opening SQL Server Management Studio. Magic, right? But how is this even possible?

In this talk Keith will dive into Entity Framework Code First and how it allows you to use Model/Domain Driven development with nothing but POCOs to keep you in Visual Studio and out of SSMS.


Development Lessons of ReST APIs

Restful application implementation encompasses a series design, communication and testing concerns for every developer. In Development Lessons of ReST APIs, we will walk through the steps and challenges of creating a ReST API: defining, designing, documenting, and testing.