Twin Cities Code Camp


Due to the Covid-19 pandemic, Twin Cities Code Camp has been postponed until April 2021.

  • Aaron Erickson

    Introduction to C# 4.0 - Explore the Amazing Possibilities

    by Aaron Erickson

    Come to this introductory talk where we take a look at a new CLR 4.0 feature that is likely to significantly change the way we code in C#.

    Do you remember when generics were introduced in the .NET runtime 2.0? That was the the biggest new feature in that version of the framework and it's almost 5 years old. Time for a new runtime release with new and exciting features.

    In this talk, we focus on the only new feature in C# 4 that really matters — the dynamic keyword. There are some new, amazing possibilities that, previously, were only elegantly achievable with dynamic languages like JavaScript and Ruby. We will touch on ways that using dynamic can change the way that you code, including things like a true ActiveRecord pattern, Expando objects, and more.

  • Brent Edwards

    WPF with MVVM: From the Trenches

    by Brent Edwards

    MVVM is gaining popularity, especially in the WPF world. An MVVM approach will give you a lot of benefits if you know how to leverage it. In this session, we will discuss the benefits and pitfalls of implementing MVVM with WPF using examples based on real world situations encountered during development of an application leveraging MVVM. With topics ranging from data templates to event handlers to testable navigation, the goal will be to beef up your arsenal with tips and tricks that you can use in the great battle.

  • Brian Hogan

    HTML5 and CSS3 Today

    by Brian Hogan

    The future of web development is upon us. Learn how to leverage HTML5 and CSS3 to improve your web applications and your users' experiences *right now*! In this session, you'll see how to use new markup, local storage, web sockets, graphics on the canvas, advanced CSS3 selectors, and you'll also see how to gracefully degrade so that Internet Explorer users aren't left behind. We'll also discuss hidden benefits, such as improved accessibility.

  • Chris Sutton

    Introduction to Distributed Source Control with Mercurial

    by Chris Sutton

    Distributed source control systems have become popular in the last several years, but they have just recently gained popularity in the .NET/Windows space. CodePlex, Microsoft's open source code hosting website, recently added support for Mercurial as an alternative to Team Foundation Server(TFS). This is an exciting change for people wanting to take advantage of a distributed source control tool. In this talk I'll introduce you to TortoiseHg which is a Windows shell tool for interacting with Mercurial. We'll cover the basic command-line options like init, clone, push, pull, log and status. Then we'll examine how to perform the same actions with hgtk commands, which offer clean graphical interfaces to perform the same actions. In the second part of the talk we'll look at how to use branching and merging well. And we'll finish up by discussing what makes distributed source control different from centralized systems like Subversion and how it can change your source control workflow.

  • Dan Bennett

    HTTP Optimization Lessons From WestlawNext

    by Dan Bennett

    WestlawNext is the next version of, the leading online legal research service, launched in February 2010. A heavy AJAX application, we knew we would work the browser hard. Come learn the tricks we pulled to make the app sing!

  • Dan Nordquist

    Agile Development and Getting Things Done

    by Dan Nordquist

    "Getting Things Done" (the personal productivity framework) helps busy professionals manage their work and goals with a set of personal tools and techniques. Scrum (the agile software development framework) helps organizations manage the process of software development with a set of organizational tools and techniques. We'll spend time introducing and discussing both, and then explore the principles of productivity they have in common.

  • Donn Felker

    Introduction to Developing with Android

    by Donn Felker

    In this session, Donn will delve into the basic requirements for you to get started with Android development. We will cover the architecture of the Android operating system as well as some ins-and-outs of Android mobile development. Starting with the basic install (Eclipse and Android SDK) an actual Android Application will be created during this session that will be published to the Android Marketplace in real time. A general understanding of the Java language is advised but not required.

  • Glenn Leifheit

    I Need to Secure My Software...Now What?

    by Glenn Leifheit

    We will be discussing where you should go once you have learned that you need to increase the security within your application. Several Sample applications will be shown with and without secure practices. The benefits of secure coding will also be discussed.

  • Gus Emery

    RESTing in the ASP.NET MVC Framework

    by Gus Emery

    This session is for the advanced developer looking to break into RESTful services utilizing the ASP.Net MVC framework. The attendee will come away with a good knowledge of how and what a REST service is; and how to build one utilizing MVC 2.0 and VS 2010. The session will also cover the third-party frameworks, Open RASTA and Siesta frameworks that are built upon ASP.Net and the MVC Framework.

  • J Wynia

    DIY Project Hosting: Build Your Own Private Codeplex/Sourceforge/Github

    by J Wynia

    When you start a software project and want to collaborate with others, setting up the tools can be a project unto itself. If the needs of your project happen to match up exactly with the rules and restrictions of existing open source project hosting options: Codeplex, Sourceforge, Github, Google Code, etc., those can be a great choice. However, setting up all of those services, on your own domain, is easier than you think and can be done on $9/month web hosting while giving you complete control with few restrictions. In this session, we'll set up git/svn, bug tracking, project management, blogging, wiki, mailing lists and Jabber instant messenger for a project on Dreamhost.

  • Javier Lozano

    ASP.NET MVC and Open Source Tools...Them's Is Like Peas and Carrots

    by Javier Lozano

    The flexibility ASP.NET MVC framework makes it very easy for web developers to swap components (in-house, 3rd party or open source) in and out from their applications. In this session we will assemble different open source tools such as NHibernate, MvcContrib, MVC Turbine and Windsor Container to create a simple blog engine with minimal effort.

    If you're currently using any of these open source tools within your Web Form applications or you're wondering how fully leverage the separation of concerns MVC offers, then you should definitely check out this session.

  • Jeff Brand

    Developing for Windows Phone

    by Jeff Brand

    Take a look at how you can get started developing applications for Windows Phone 7 Series using the free downloadable tools that are now available. Starting off with an overview of the Windows Phone platform, we'll then cover the new application model, updated control templates, themes, and services available to Windows Phone applications. We will also cover new input paradigms including multi-touch, software keyboard, accelerometer and microphone, as well as the APIs to leverage phone applications like email, phone dialer, contact list and more.

  • Jon Stonecash

    Imposing Order on Chaos with Reactive Extensions

    by Jon Stonecash

    The world of computing is becoming more and more parallel. A lot of the computing technology that we use is an attempt to hide the chaos of mouse and keyboard events, messages, and other asynchronous events from our programs. The approaches used to date have limited succeeded in part by limiting what can be done with parallel processes. The Reactive Extensions in .NET allow the program logic to handle external events as first class citizens. Programs can manipulate events using LINQ expressions.

    Take the example of example of handling a drag-and-drop operation from a source region of the screen to target region. Without the Reactive Extension logic, this might take dozens of lines of code to keep track of the state of operation and to invoke the drop logic at the right time. With Reactive Extensions, you could handle this in as little as one line of code.

    The Reactive Extensions are more than a shorthand for multiple lines of code; they are a different mindset. They provide a way to "collect" events and route them to the appropriate logic in a very simple way. The final bonus is that the Reactive Extensions provide a way to de-couple the event source from the event consumer in such a way that unit testing event handling is very simple and understandable.

  • Jon von Gillern

    Regular Expressions for Fun and Profit

    by Jon von Gillern

    The Regular Expression is one of the most powerful, yet least understood features of any programing language. In this session, we'll cover:

    • The basic internals of the Regex engine
    • Regex Gotchas, Tips and Tricks
    • How to format your regexes to be much more programmer friendly
    • Input data validation
    • When to use code instead of regexes
    • Regular expression tools
    • How to save boat loads of time with complex text manipulation

    While the some of the demos will use Visual Studio, the session is intended for developers of all languages that support Regular Expressions, regardless of their familiarity with the subject.

  • Keith Dahlby

    Dynamic .NET Demystified

    by Keith Dahlby

    Dynamic .NET is going mainstream with the upcoming promotion of the Dynamic Language Runtime into .NET 4. This session will discuss what the DLR is, how it works with C# 4 and Visual Basic 10, and why this doesn't mean C# has jumped the shark. We will also look at some ways in which these features can be used to solve real-world problems.

  • Kevin Gisi

    Introduction to Go

    by Kevin Gisi

    Go is a brand-spanking-new systems language that Google released in November, 2009. Every wonder how awesome C would be if it was garbage-collected, concurrent, and didn't take a few weeks to compile? Wake up; it's here! We'll take a look at this new language that steals some of the dynamic flexibility of Python and Ruby, the performance of C, and a compile time that you'll miss if you blink.

  • Kurt Christensen

    Happy Tasty Clojure

    by Kurt Christensen

    Clojure is a dialect of Lisp which runs on the Java Virtual Machine and is designed for easy integration with existing Java code, and also provides features like software transactional memory, lazily-evaluated sequences, and more. In this presentation, I will provide a brief introduction to what Clojure is, and how it can be used.

  • Lee Brandt

    Kanban to Cash: Stolen Ideas Make A Beautiful Process

    by Lee Brandt

    This is an "Open Kimono" type discussion about the process I've been using/adapting for the last few years. We take the Kanban ideas of Limited WIP and cumulative flow diagrams and add Arlo Belshee's Naked Planning, modified a very little for integrating with TDD/BDD and meld some XP practices and Agile practices together to make a development process that is easy to do and easy to change as we feel friction.

  • Patrick Kragthorpe-Shirley

    Introduction to ADO.NET Entity Framework

    by Patrick Kragthorpe-Shirley

    ADO.NET 3.5's Entity Framework presents us with several new options for accessing data within our application. EF can be used build applications against a conceptual model that is mapped to the logic data model. The goal of this session is to provide an overview of the components provided within the ADO.NET Entity Framework including EntityClient, Entity SQL, Object Services, the Entity Data Model, and LINQ to Entities. This session will explore these and other features and will provide several examples of how to properly apply this technology to your own development project.

  • Robert Boedigheimer

    ASP.NET 4.0 and Visual Studio 2010

    by Robert Boedigheimer

    Are you ready for another version of ASP.NET and Visual Studio? ASP.NET 4 provides some major additions to AJAX with greater client support in the way of templates and the DataView control for data binding. It also remedies several issues that have existed since version 1.0, including control naming and controls that render more standard compliant HTML. Dyanamic Data also has changes to make its features available to all ASP.NET web sites. This release also focuses on easing deployment issues with web packages and the ability to transform web.config files for deploying to production servers.

  • Rockford Lhotka

    What's New in CSLA .NET 4.0

    by Rockford Lhotka

    CSLA .NET is a widely used .NET development framework focused on helping you build a powerful OO business layer for Windows and web applications. CSLA .NET 4.0 supports Visual Studio 2010, .NET 4.0 and Silverlight 4, and includes many new and exciting features and enhancements that make the framework and your overall development experience productive and enjoyable. Learn about the new features and changes and how they enable the creation of amazing applications using ASP.NET MVC, Silverlight 4 and WPF.

  • Scott Colestock

    Everything You Wanted to Know About Velocity But Were Afraid To Cache

    by Scott Colestock

    Microsoft's AppFabric Caching (aka Velocity) offers a distributed caching solution, not unlike the popular "memcached" open source library. Come and here about the concepts and terminology, as well as deployment considerations, typical usage patterns, pitfalls, and more.

  • Scott Davis

    Advanced RIA Services

    by Scott Davis

    Anyone that has followed Silverlight in recent months has probably heard that RIA Services is "game changing." Admittedly, it is pretty cool, but what if you want to go past the slap-it-together demos everyone is doing on the Internet? What if I want to tailor RIA Services for my specific needs? How do I minimize my data traffic to keep my cloud computing costs as low as possible?

    In this session we will look under the hood for RIA Services and explore how to manually manipulate RIA Services from code. How do I force one row in my RIA Services bound datagrid to update, without refreshing the whole page? Where is the RIA Services cache inside my Silverlight application? How can I access it, what if I want to remove something from the cache? How can I control filtering from my code? How do I implement security into my RIA Services? This session will cover these topics and more.

  • Shannon Braun

    Loose Coupling - Understanding Dependency Injection and Inversion of Control

    by Shannon Braun

    As enterprise software development has evolved we have identified patterns and practices that help us write more extensible and maintainable applications. Patterns with the names of Dependency Injection and Inversion of Control have emerged to simplify the reuse of existing components and aide us in wiring together disparate components. Frameworks have been built to support these patterns. This presentation will explain the patterns and enable you to build your own custom framework or review existing frameworks to meet your needs.

  • Todd H.

    .NET Continuous Integration with Hudson and NAnt

    by Todd H.

    Need to implement Continuous Integration but can't afford Team Foundation Server? Hudson is an open-source CI platform that is easy to use and is has a management-friendly interface. This session will walk through the capabilities of Hudson CI with the NAnt build scripting engine and demo a basic build that performs the build, unit tests, code complexity tests, and comment notes.