-
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