Twin Cities Code Camp


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

  • Aaron Erickson

    Using F# To Solve Real World Problems

    by Aaron Erickson

    So you have seen a few sessions on F# that introduce the concept. Maybe you are now excited about functional programming - or maybe you need a little more convincing to really see how it is used in the "real world". Come to this session, and see examples of useful F# applications that can potentially have real impact on humanity. In the session, we will cover the following topics:

    • Using F# based Monte-Carlo simulation to avoid another global financial crisis
    • • Using F# based Natural Language Processing to solve the problem of "incivility on the Internet"

    As we go through these examples, you will see how F# is particularly useful for solving these types of problems that involve simulation and categorization.

  • Aaron Godin

    jQuery Plugin Development

    by Aaron Godin

    The jQuery Javascript library has become a household item in the web development community. It allows for simple event binding, DOM manipulation, and asynchronous requests. Thanks to jQuery's easy plugin development process, the task of making code reusable is a breeze. We'll go over building simple to complex jQuery plugins that allow for code reuse and the ability to contribute to an exciting community of plugin developers.

  • Adam Grocholski

    Getting Down with MEF – Silverlight Edition

    by Adam Grocholski

    In certain .NET circles there has been a lot of talk as of late about the Managed Extensibility Framework, or MEF. You may have even heard some of this chatter, but you're probably asking yourself "What the heck is MEF and why should I care?" At its core, MEF is a library for creating lightweight, extensible applications. MEF is an integral part of the .NET Framework, and Silverlight 4 shipped with out-of-the box support for MEF. In this session we'll dive into the guts of MEF looking at what it is, why you might want to consider using it, and how to actual implement MEF in your Silverlight applications.

  • Adam Grocholski

    Multi-targeting WPF, Silverlight, and Windows Phone 7

    by Adam Grocholski

    With WPF, Silverlight, and now Windows Phone 7, all using xaml, multi-targeting applications can be a reality. However, it's not without its challenges. In this session I'll talk about which things are easiest to share, and which are hardest. I'll also show you some recommended approaches on how to structure your project, as well as a comparison of the different ways by which you can share code and xaml. I'll cover topics such as assembly portability, code sharing using linked files, usercontrol encapsulation and abstraction, and even loading xaml at runtime after tinkering with the source via code.

  • Ananth Balasubramaniam

    Leveraging GPUs/Multicore CPUs With .NET and Brahma

    by Ananth Balasubramaniam

    See how you can leverage the dynamic nature of C# and .NET to provide an intuitive and extensible programming model for the current (and upcoming) crop of many-core architectures (including GPGPU). The presentation will show you code samples, performance comparisons; discuss optimization, extensibility and flexibility. You will also be shown where and how you can get this open-source library and use it in your own commercial/non-commercial application.

  • Andy Pickett

    How to Conquer Startup Fever

    by Andy Pickett

    Most of us developers have that bug, you know the one, the itch, the drive to create, to start something. But, the inertia of the couch is sometimes just too much to overcome. We've got the skill and the ideas, but sometimes we just need a kick. One terrific kick is Startup Weekend (Nov 19-21, go sign up ,we'll wait). In this session Andy Pickett describes how Startup Weekend provided that launch pad and just enough boost for his teammates to get something real off the ground. That something is QONQR, the GeoSocial Game of World Domination! This session will be 1 part code, 1 part business, 1 part game theory, and 100% awesome. We'll walk through the process of the startup from pitch to design to alpha to beta and beyond. It will include a tour through the (3 week old) codebase that is QONQR (including a Mobile Web front end using ASP.Net MVC 2 and jQuery, a Tactical Command Center written in Silverlight, and SQL Server back end). Hopefully this will just be a fun, maybe inspiring conversation about getting something started. There will be absolutely no best practices or patterns displayed, as well as no legally binding business advice of any kind, this much we promise you.

  • Brent Edwards

    Getting Dirty with Android

    by Brent Edwards

    You've learned how to get set up to develop for the Android platform and how to publish an app. Eclipse is all ready to go and you've got a killer idea. Now what? In this session, we will talk about many of the key concepts you will need to understand to develop good applications for the Android platform. We will discuss concepts such as layout, styling, asynchronous tasks, lifecycle management, menus, dialogs and custom graphics. This will be a code-heavy session where we will be getting our hands dirty to illustrate these concepts in action.

  • Brian Hogan

    Building Offline Mobile Apps with HTML5 and Web Standards

    by Brian Hogan

    Interested in developing an app for the iOS devices AND the Android platforms? What about an app that also works on Windows, OSX, and Linux? With new features in HTML5, you can build database-backed applications that run completely in the browser using nothing more than HTML, CSS, and Javascript. In this talk, you'll see how to build a very simple app that will work on multiple platforms, and even work without a network connection. Don't let app stores or complex languages keep you from building apps for mobile devices. Come see how easy it can be!

  • Brian Hogan

    Web Development with Ruby - From Simple To Complex

    by Brian Hogan

    Beyond the massive hype of Ruby on Rails, there's an amazing world of frameworks, DSLs, and libraries that make the Ruby language a compelling choice when working on the web. In this talk, you'll get a chance to see how to use Ruby to quickly build a static web site, create complex stylesheets with ease, build a simple web service, crete a simple Websocket server, and test your existing applications. Finally, you'll see a few of the ways Rails really can make developing complex applications easier, from advanced database querying to rendering views in multiple formats.

  • Chris Black

    Box2D Physics Engine: Quick Start

    by Chris Black

    Box2D is the most powerful and widely used physics engine for online games. It allows developers to quickly create dynamic, life like, environments for their application. In this session we'll cover everything you need to get started with the latest version of Box2D for ActionScript. Learn how to create a 2D world, add objects and apply forces. All source code for the demo will be provided and we'll finish with an example of Box2D running on the Nexus One with Adobe AIR!

  • Chris Black

    Build Mobile Apps with AIR

    by Chris Black

    Building cross platform applications for mobile devices has never been easier. The latest version of Adobe AIR has APIs for multi-touch, gestures, geo location and the accelerometer. This technology is available today on many Android devices and will soon be supported by 19 of the top 20 cell phone manufacturers. In this session we'll go over everything you'll need to build, test and deploy high performance mobile applications. The end result will be a file that can be submitted to the Android Marketplace for sale.

  • Dan Nordquist

    Better Estimates

    by Dan Nordquist

    Our ability to accurately estimate the software development process might be more important than our ability to actually write code. Estimation can be both art and science, but a lot of developers don't even know where to begin. Poor estimates can lead to missed deadlines, lost opportunities, and a lack of trust between management and developers. This conversational presentation (light on code) will help you avoid the common pitfalls of project estimation. You'll leave armed with smarter estimation techniques and more accurate ways to communicate what's going to happen and when.

  • Donn Felker

    Advanced Android Development

    by Donn Felker

    In this session you will learn how to use some of the more advanced techniques in the Android ecosystem. The majority of this session will be purely code based and interactive with the audience through Q & A. The audience will be introduced into advanced Android development techniques that include dependency injection, unit testing and the Droid-Fu framework. It is recommended that you have had experience developing on the Android platform and have experience with Java.

  • Ethan Gunderson

    MongoDB: Awesomely Dangerous

    by Ethan Gunderson

    MongoDB is a scalable, high-performance, open-source, document-oriented database. It merges the speed of a key-value store, and the feature set of an RDBMS, but it isn't all puppies and rainbows. This talk will cut through the hype, and go over some of the fundamentals of Mongo, and then go into some of the more interesting features. We'll then go over problem scenarios where Mongo really shines, and then some of the gotchyas and trade offs you'll encounter. You'll leave the session with a better understanding of when you should be using Mongo (and when you shouldn't), allowing you to make informed decisions on your next project.

  • Glenn Leifheit

    Stomp out the top 10 Security Risks

    by Glenn Leifheit

    OWASP released a new Top 10 Security Risk document in 2010. We will discover techniques on how to prevent these risks and secure your applications. We will also deal with the often difficult task of security vs functionality and how come out ahead.

  • J Wynia

    An Overview of ASP.NET MVC

    by J Wynia

    Keep hearing about this ASP.NET MVC thing and wondering what it's all about? This session is a whirlwind tour of the basics of how the framework fits together and how you can start building applications using it as well as pointers for resources to dive in when you head back to the office.

  • J Wynia

    NoSQL - Exploring Non-Relational Data Storage

    by J Wynia

    Relational databases have dominated as the solution for data storage and retrieval for decades in application development. But, all along in the fringe and recently rising to popularity are a whole class of alternatives. This session covers the range of technologies that are going under the banner NoSQL (Not Only SQL). Find out what makes these different from the SQL database systems you're probably more used to and where they fit as solutions and whether something like RavenDB, DB4O or MongoDB might work for your next project.

  • Jaim Zuber

    Real World Entity Framework - Ride The Unicorn

    by Jaim Zuber

    Entity Framework Version 1 was released with .NET 3.5 SP1 with much fanfare and significant criticism from the development community. Version 2 with .NET 4.0 addressed many of these critiques but concerns for it's current viability remain. This session will go over some real world applications and show how Entity Framework made our job - and lives - easier. This will include patterns considered for Orbject Relational Mapping (ORM), pitfalls to avoid, lessons learned and why Entity Framework was used over other ORM options.

  • Jason Bock

    Evolving .NET

    by Jason Bock

    Evolutionary programming and computation have been used in the past to produce amazing and unexpected designs, yet a lot people don't know how powerful these concepts are. This session will describe these principles and show how you can use them as you develop .NET code by using LINQ expressions.

  • Jason Bock

    What's New in the .NET 4.0 BCL

    by Jason Bock

    With the release of the 4.0 version of the .NET Framework and Visual Studio 2010, there's a lot to take in. In this talk, we'll narrow the focus to the additions to the Base Class Library (BCL), which includes tuples, numerics, I/O, parsing, collections, and other various goodies.

  • Jeff Brand

    Introduction to Silverlight Development on Windows Phone 7

    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, developing apps, leveraging services unique to the phone, and more. This session is very "demo heavy" with most of our time spent building an application that shows off the various phone features.

  • Jeff Brand

    Silverlight 4: Off the Beaten Path

    by Jeff Brand

    This session will look at some of the less talked about new features in Silverlight 4. Features that have typically been bullet points on a slide titled "What's New in Silverlight 4" will be explored in more detail. We will look at things like printing, application lifecycle, custom chrome, notifications, a dash of Blend goodness, and more.

  • Jeff Ferguson

    A First Look at Axum

    by Jeff Ferguson

    Axum is a programming language launched as an incubation project within Microsoft DevLabs. Unlike traditional object-oriented languages, Axum is an actor-oriented language that uses principles of isolation, actors, and message-passing to increase application safety, responsiveness, scalability, and developer productivity. This presentation will include a walkthrough of small sample applications written in Axum for Visual Studio 2010 that offers an overview of the Axum language.

  • Jeff Klawiter

    Creating Unlimited User Experiences with Silverlight 4.0

    by Jeff Klawiter

    Silverlight remains one of the few rich client architectures that provide a very strict separation of presentation and logic. Using TemplateParts and VisualStates an application can maintain the same functionality while providing wildly different interfaces. Utilizing Blend, Open Source and Programmer "design" we will create an application with templated controls, creating new themes and provide ways to download them on the fly.

  • Joe Mayo

    LINQ to Twitter: Learning how to Build a Custom LINQ Provider

    by Joe Mayo

    To successfully create a ubiquitous data access technology that can work with any data source, Microsoft needed to build a framework that anyone can work with to introduce their own providers. This ubiquitous data access technology is called Language Integrated Query (LINQ). Today, Microsoft ships several LINQ providers out-of-the-box: LINQ to Objects, LINQ to DataSet, LINQ to SQL, LINQ to Entities, LINQ to XML, and LINQ to Data Services. There are also many 3rd party LINQ providers for various data sources, made possible by reusable .NET Framework types. LINQ to Twitter is one such 3rd party provider, which is the example used in this presentation. You'll learn how LINQ to Twitter is implemented with various interfaces and patterns to expose the common LINQ development experience you've grown accustomed to with other providers. The main difference is that the data source is Twitter. Since LINQ to Twitter is open source, you also have a working example and will gain insight into how to create your own LINQ provider, should you ever have a need to do so. Additionally, by looking inside of the process used to build a LINQ provider, you'll gain a deeper understanding of how LINQ works across all providers.

  • Jon Stonecash

    Tips and Tricks for Code Generation with T4

    by Jon Stonecash

    The recent versions of Microsoft Visual Studio use code generation to support a number of features, using the T4 code generator that is built into each copy of visual studio. T4 stands for the Text Template Transformation Toolkit and with some work is also available to the software developer. This session is a compilation of practical tips and tricks for using T4 to generate everything from snippets of code to entire data access layers:

    • The syntax and semantics of the template language.
    • The inclusion of sub-templates
    • The process for debugging templates (or "why you do not want to put any more code than you have to into the template)
    • The process of removing logic from the templates by writing helper assemblies.
    • The process of removing logic from the templates by writing pre-processor packages.
    • Helpful add-ins to make editing template code less painful.
    • The reasons for using partial classes and even partial methods.
    • The reasons for running code generation in a project other than where the generated code will finally live.

    T4! Just do it!

  • Keith Dahlby

    Introduction to PowerShell 2.0

    by Keith Dahlby

    PowerShell is Microsoft's next-generation command-line shell and scripting language. This session will discuss why you need it, how to use it, and what makes it different from any other shell on any platform. Beyond its traditional uses for system administration, PowerShell provides full access to .NET for Read-Eval-Print loops (REPL), rapid prototyping, object exploration and extensibility. After an overview of language features and what's new in version 2.0, we dive into an interactive demo, so come prepared with questions you have or problems we can solve together.

  • Keith Dahlby

    LINQ Internals II: System.Interactive

    by Keith Dahlby

    System.Interactive is a library distributed with Microsoft's Reactive Extensions, currently available on DevLabs, which provides a number of useful extensions to the LINQ Standard Query Operators. These extensions include operators to add and contain side effects, handle exceptions, generate and combine sequences, and much more. This session will review the new operators and discuss interesting problems they can be used to solve. Note that Rx is available for .NET 3.5 SP1, Silverlight 3 and .NET 4.0, so this session is not just for those developing on the bleeding edge.

  • Kenny Goers

    Introduction to Programming on the Google Android Platform

    by Kenny Goers

    In this session, Kenny will delve into the basic requirements for you to get started with Android development. This will include covering 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) and ending with publishing to the Android Marketplace. A general understanding of the Java language is advised but not required.

  • Larry Louisiana

    Threading Your Existing Solution

    by Larry Louisiana

    Multi-core machines mean more compute power, take advantage of that by threading your program. We will cover how to spot "problems" before they may arise, what patterns are the most amenable to parallelization and cover code analysis methods with a case study.

  • Mark Vaillancourt

    Introduction To Microsoft SQL Server Reporting Services Report Models

    by Mark Vaillancourt

    Report Models can be a great way to empower your end users to create their own reports through a drag and drop tool. This presentation will discuss how to create, maintain and secure SSRS Report Models. Although the focus is on implementation, we will use Report Builder 3.0 to demonstrate report model consumption. We will also cover some tips and tricks learned through real-world experience implementing and supporting report models for clients.

  • Mike Benkovich

    Introduction to the Microsoft Data Stack

    by Mike Benkovich

    Data is the core of why we build systems and solutions and look for opportunities to automate and simplify. What are the options and when do you make tradeoffs? In this session we'll take a look at what's new with the ADO.NET Entity Framework and how it fits into working with WCF, REST and RIA based services. We will explore the technologies and the trends that are driving it to see where Microsoft is going related to data.

  • Mike Benkovich

    Visual Studio 2010 with Silverlight and SharePoint 2010

    by Mike Benkovich

    SharePoint 2010 is the next generation of collaboration and content management system from Microsoft, and Silverlight is a framework for building great user experience. In this session we will look at how you can use Microsoft Silverlight 4 to integrate rich, powerful applications into Microsoft SharePoint 2010 and how the features of Silverlight 4 can power interactive business applications on Microsoft SharePoint 2010. We walk you through examples of patterns for integrating and hosting Silverlight applications in SharePoint 2010 using Microsoft Visual Studio 2010.

  • Mike Hodnick

    Your Silverlight app does WHAT?

    by Mike Hodnick

    Out-of-browser, network detection, microphone, webcam, GO! In this session we'll build a Silverlight application that captures media from your computer's webcam and microphone and then uses network detection to determine when it's ok to upload the data "somewhere". We'll cover the ins, outs, and "gotchas" of the API that detects an internet connection as well as what it means to run "out of browser". We'll also dig in to the capture API, learn how to connect to a computer's webcam and microphone, and also record some real data from those devices.

  • Nazmul Siddiqui

    Windows Communication Foundation Mechanics

    by Nazmul Siddiqui

    Service Oriented Architecture is the next inevitable communication paradigm for the simple reasons of cost effectiveness through higher visibility and efficiency in terms of maintainability and scalability. Windows Communication Foundation, WCF, is Microsoft's comprehensive framework toward that end. In this session we'll analyze and discuss the fundamental mechanics behind developing (including migrating existing libraries to) WCF service libraries, hosting the libraries, and consuming them. We'll analyze all three of these aspects in some detail from existing underlying object models to extending parts of the framework to support varying consumer needs. We'll identify and highlight the inner workings of Windows Communication Foundation to get the most of what the framework has to offer.

  • Robert Altman

    Modern Version Control Systems: Choosing a Tool That Meets Your Needs

    by Robert Altman

    Version control is one of the most critical tools developers use: from keeping files safe, to tracking revisions, to enabling effective collaboration. Often, a VCS is selected on the basis of what is easily available or has previously been used; without consideration for the needs of the developers, how well it protects the work they create, or how it helps them work more effectively.

    This session will cover the types of version control systems that are available, their strengths and weaknesses, and how to use them effectively; it will focus, in particular, on distributed version control systems, how they differ from centralized systems, and what is significant about those differences

  • Robert Boedigheimer

    Cascading Styles Sheets (CSS) for ASP.NET Developers

    by Robert Boedigheimer

    Do you still use tables to layout your user interface? Do you still use the <font> tag or have presentation information scattered throughout your markup? Learn how to leverage CSS to separate your content and presentation, and the many benfits it provides. Review selectors, inheritance, and grouping. Learn common techniques for providing for a flexible layout and design that can be modified easily later. Discover the media attribute to target different styles for screen and print. Review the new CSS 3 improvements, and what browsers support them. See how to maximize performance when using CSS via proper use of HTTP compression, minification, and expirations.

  • Robert Boedigheimer

    Things Every ASP.NET Developer Should Know

    by Robert Boedigheimer

    There are many things you need to know to be a good ASP.NET developer. Do you understand the basics of HTTP? Do you know what a request and response look like "on the wire"? Do you take advantage of HTTP compression and expirations to reduce bandwidth and requests to your web site? Benefit from many years of experience with web development and discover features, tools, and techniques that you may have never used before. Utilize response filters and adapters to modify the output of your pages. There will be a wide variety of useful tips that can be taken and used today on your ASP.NET web sites.

  • Rockford Lhotka

    Build a Silverlight App with CSLA 4

    by Rockford Lhotka

    CSLA .NET is one of the most widely used .NET development frameworks, and it was the first major framework to support Silverlight. Learn how to build powerful applications in Silverlight by leveraging all the great capabilities provided by the newest version of the framework: CSLA 4. This session will show you how to build rich business domain objects that run on your Silverlight client and application/web server, as well as how to use the MVVM design pattern to build the Silverlight UI with absolutely no code behind the XAML views.

  • Rockford Lhotka

    Build an ASP.NET MVC App with CSLA 4

    by Rockford Lhotka

    ASP.NET MVC is a rising star in the web development space. CSLA .NET is one of the most widely used .NET development frameworks. Learn how to build really cool web applications in MVC based on a rich business domain model created using CSLA 4. This version of CSLA includes a MVC model binder, controller helpers and Html extensions to make it very easy to build a great web UI over a CSLA object model. You can easily tap into the business, validation and authorization rules in the business objects and express them in your web UI.

  • Ryan Briones

    Ruby for the Web

    by Ryan Briones

    If your first thought when deciding to build a web application with Ruby is to run "rails APPNAME", I'm here to tell you: You're doing it all wrong. Ok, that was a bit harsh. But you needed to hear it. Q: Has Ruby on Rails transformed the way we think about building web applications? A: Yes. Q: But isn't it true that using Rails is extremely simple to use even if I haven't done Ruby before? A: Yes. Q: So Rails is what I should you use build Ruby web applications? A: Maybe. If Rails is a hammer, it's my goal to show you that your next project may not need nails. I hope to show you the benefits of how using simple Ruby can put you on the path to better application design. I'll also show you a few tools of the Rubyist's trade that enable you to build a modular web application from emerging needs of your problem space. In the end we'll come full circle and I'll show you how the Rails philosophy is shifting in the direction of modular design and how we can leverage all of our knowledge with Rails to build powerful Ruby applications for the web.

  • Scott Davis

    Silverlight for Line of Business Apps

    by Scott Davis

    Many people still think that Silverlight is only for media on the web. This session will give an overview of the many reasons why the last two releases of Silverlight have made it an excellent choice for LOB applications. See how binding reduces application code, learn about the controls that make data capture easy, and see how RIA Services has made N-tier application development simple.

  • Scott Koland

    Scrum and Microsoft Visual Studio 2010

    by Scott Koland

    This session will describe how the new Microsoft Visual Studio Scrum 1.0 process template for VS 2010 can be used to manage a Scrum project. The session will review the fundamentals of the Scrum framework and show how the Scrum template maps those items in Team Foundation Server. Other aspects of managing a successful Scrum project in VS will be reviewed, such as techniques for ensuring quality on a self-directed development team and how a Scrum team can effectively estimate and plan work items.

  • Stu King

    HTML5 Markup: What Can We Use Now?

    by Stu King

    All the hype would suggest that HTML5 will someday replace plugin based technologies for the web like Flash and SilverLight but what can you safely use today? How will HTML5 affect the popular page layout patterns we have all come to expect on the web? How can we use features in the HTML5 spec to build better page layouts? We will also touch on closely related specifications for HTML5 such as W3C's ARIA (Accessible Rich Internet Application) and learn how to build richer more accessible forms by extending the semantics of HTML5 even further.

  • Tim Barcz

    Website Usability 101

    by Tim Barcz

    Do you want to create a more intuitive website? Want to make your customers happier? Website Usability is a very hot topic right now. I'll discuss several tools you can use to test your website and resources you can turn to if you're getting started in usability. First we'll define what it is and why you want it and then we'll walk through a series of tools and resources you can use. Attendess will see real-world examples throughout and will leave understanding how easy and quick testing can be.

  • Tim Star

    Introduction to Windows Azure

    by Tim Star

    If Cloud computing is "the next big thing" in web development what do we, the developer, need to do to prepare to write applications that will run on the Windows Azure platform? In this session we will take a look at what Windows Azure is and how developing applications for deployment in the cloud differs from writing applications that are hosted onsite. We will look at the Development Fabric which simulates the Windows Azure fabric on your local computer so that you can run and test your service locally before deploying it to the cloud. We will also take a look at the Windows Azure storage options including queues, tables, blobs, and SQL Azure. Finally we'll use the dev fabric to write a simple application that may be deployed to the cloud.

  • Vince Bullinger

    Smooth Streaming in Silverlight with the Silverlight Media Framework

    by Vince Bullinger

    The Silverlight Media Framework was developed from best practices learned from the development of such notable implementations of smooth streaming with Silverlight as the Olympics, Wimbledon, Sunday Night Football and the Tour de France. In this session, we'll go over the SMF, when you should use it and we'll finish by building an app that highlights the most fun and interesting elements of SMF.