Twin Cities Code Camp


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

  • Brent Edwards

    Implementing Windows 8 Design Principles

    by Brent Edwards

    Windows 8 marks a complete shift in design principles for the Windows platform. To stay relevant as a developer on the Windows platform, you have to learn to implement the new Windows 8 design principles. In this session, we will cover what you need to know about what has changed and what hasn't. We will look at how you, the developer, can leverage these design principles from the perspective you know best: the code.

  • Brent Stineman

    Avoiding the Chaos Monkey

    by Brent Stineman

    Outages happen. Software has bugs, hardware fails, people make mistakes. In the increasingly complex world we live in, the demand for systems that can adapt to failures is becoming more important every day. Cloud Computing is helping show us how to solve these problems. In this session we will discuss some of the lessons learned in the cloud and how we can apply them to software no matter where its running.

  • Brian Bosak

    Introduction to C++ Abstractions, Object-Oriented Concepts, and the C++ Renaissance

    by Brian Bosak

    The C++ Renaissance is a time of renewed interest in C++; particularly by young developers. Interest in C++ has increased as trends of using “modern” language semantics, and object-oriented programming concepts play a bigger role in C++ applications. In this presentation; you will learn what has changed in C++ since win32, and how C++ can be used for creating abstract data models, and even (GASP!) cross-platform software development! If we have time I might also go into C++AMP at the end of the presentation.

  • Brian Hogan

    Testing Client-Side Code with Jasmine and CoffeeScript

    by Brian Hogan

    As we move more and more important code from the server onto the client, we need to ensure that code is well designed and well-tested. A simple mistake can cause the entire user interface to fail in spectacular ways. This book will give you the grounding you need to develop test-first client-side code so you can avoid messes and have more confidence in your applications. In this talk, you'll learn to use CoffeeScript and the Jasmine testing library to develop solid, testable client-side code. We'll cover how to create encapsulated code, how to stub out remote calls, and how to automate the test suite so it can run automatically in the background or as part of a continuous integration server. If you write client side code but need to know how to test it, this talk is for you.

  • Brock Noland

    Introduction to Hadoop

    by Brock Noland

    Apache Hadoop is the hotest Big Data technology. Come learn what Hadoop is, when it is appropiate, and how it works. Each project in the ecosystem will be covered: Apache Hadoop (HDFS, MapReduce, YARN), Apache HBase, Apache Pig, Apache Hive, Apache Flume, Apache Sqoop, Apache MRUnit, and Apache Crunch (incubating).

  • Chad Kulesa

    Putting Your Database in Source Control

    by Chad Kulesa

    Keeping your database in sync with your code can prove to be challenging. By using SQL Server Data Tools you can version your database schema along with your code, allowing you to deploy your database changes along with your code changes. We will also cover managing lookup tables, and seed data through SQL Server Data Tools.

  • Chris Johnson

    Introduction to Coding with Puppet

    by Chris Johnson

    With the cloud we have the ability to spin up machines with ease and scale out, but that raises a problem of who is going to configure all these servers. Here is where Puppet comes to the rescue! We'll get started and learn how to write Puppet scripts to build out identical version of our environments with ease.

  • Dan Callahan

    Goodbye, Passwords! Fast and Secure Cross-Browser Authentication With Mozilla Persona

    by Dan Callahan

    Two clicks, zero passwords. Come learn how to make sign in faster, safer, and easier for your users. How? By adding support for Mozilla Persona, a cross-browser, decentralized authentication system that completely eliminates per-site passwords, without any developer lock-in. See how Persona compares to OpenID, and watch as a demo site gets converted from passwords to Persona in less than 50 lines of code, starting with ALTER TABLE users DROP COLUMN password;

  • David Boike

    Enterprise Service Bus Development with NServiceBus

    by David Boike

    Is your system bleeding valuable business data? Regular HTTP-based web and WCF services are unreliable. Server crashes and deadlocks cause data to disappear. NServiceBus is a .NET Enterprise Service Bus framework that will help you correctly apply the principles of service oriented architecture to stop it. And yes, it works with Azure too. Learn the basics of asynchronous messaging, publish/subscribe, and long-running workflows (sagas) and how you can use them to build a more reliable and maintainable distributed system.

  • Ed Jones

    Getting Started with Windows Communication Foundation 4.5

    by Ed Jones

    With the newly released Windows Communication Foundation (WCF) 4.5, Microsoft has done much to simplify the creation of services. In this session, we’ll show you how to create a service using WCF 4.5 and Microsoft Visual Studio 2012. Some of topics we’ll discuss are:

    • Service Oriented Architecture (SOA) Considerations
    • Creating Service and Data Contracts
    • Hosting the service
    • Consuming WCF Services
    • An overview of some of the new features of WCF 4.5
  • Ian Felton

    The $6 Million Seminar: Demystifying Accessibility

    by Ian Felton

    Can your company afford to take a $6 million hit? That’s how much Target paid in 2008 to settle a lawsuit claiming its website was not accessible to the blind. Avoid having your company become a Target by learning more about this growing topic in a compact 60 minutes. In the first half, Ian will focus on the what and why of accessibility; in the second half, he’ll show you how to use JavaScript and WAI-ARIA to make your website more accessible. A solid understanding of HTML and JavaScript is recommended.

  • Jaim Zuber

    Introduction to MongoDB for .Net Developers

    by Jaim Zuber

    MongoDB and other NoSQL databases have been around long enough for the hype to wear off. MongoDB promises greater flexibility and scalability compared to relational (SQL) data stores and has backed that claim up with a growing list of high profile deployments. But how does a dev steeped in .NET & SQL Server go about figuring out if it's right for their project? In this session you'll learn how to harness the flexibility & scalability of MongoDB in .NET without giving up all of the knowledge you've learned in the relational world.

  • Jason Bock

    Esoteric Programming Languages

    by Jason Bock

    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, Befunge, and LOLCODE. Come with a sense of humor!

  • Jeff Brand

    Windows 8 and HTML/JavaScript (2 Sessions)

    by Jeff Brand

    Are you an HTML/JavaScript developer? Did you know this means you are also a Windows 8 Metro developer? Come see how you can leverage your existing web development skills and build a complete Windows 8 application that will be “Windows Store ready”. Starting with first principles, we will move into building an application that leverages WinJS, Contracts, local storage, and more.

  • Jeff Klawiter

    WinRT XAML 101: Styling Gridview, ListView and using Semantic Zoom

    by Jeff Klawiter

    Windows 8 introduces yet another version of XAMLwith a new variation of the .NET API. There are new controls that are to takecenter stage in Windows 8 apps. We will cover the two new controls GridView andSemanticZoom while also covering the changes to ListView.

  • Jon Marozick

    Sorting out Template Method, Strategy, and Fluent Interfaces

    by Jon Marozick

    In this presentation we'll look at using the template method design pattern and a fluent interface to create ordering criteria for sorting algorithms. We'll also look at using the strategy design pattern to make the choice of sorting algorithm easy to modify. Next, we'll throw in some IComparers, IComparables and events. Then, we'll wrap it up by packaging the code in extension methods and demonstrate its uses with LINQ and lambdas.

  • Josh Broton

    Embrace Your Inner Designer

    by Josh Broton

    Whether you want to admit it or not, the decisions that you make as a developer greatly influence the final design of your application's user interface. It doesn't matter if you're working with a designer, or you're a one-man A-Team, there are some very easy and powerful things that you can do to ensure that the final product is intuitive, usable and (gasp!) beautiful. Come embrace that designer inside of you that wants to get out (and wear hipster glasses).

  • Josh Broton

    Rocking Responsive Web Development

    by Josh Broton

    Up until the last few years, it was completely acceptable to design/develop a new website for one size of monitor. But with the release of the iPhone, iPad and other mobile devices, we've witnessed the beginning of a mobile revolution. By the end of this year, over 50% of Americans will use their phone or tablet as their primary web browsing device. The question is, are the sites that you are creating ready? In this talk, I'll talk about reasons why responsive is the best way to develop new websites, as well as the best techniques I've discovered after a year of full time development of responsive websites.

  • Judah Himango

    RavenDB lovin': .NET does NoSQL

    by Judah Himango

    The NoSQL movement has arrived in the .NET world, and in a big way. RavenDB offers safe-by-default, zero locking, read-optimized document database built for modern apps. With first class LINQ support, machine learning, and self-optimizing queries, Raven innovates beyond the first generation NoSQL offerings. Your apps reap the benefits. In this session, you'll go from File->New Project to Raven-ready in minutes, and by the end of the talk, you'll understand why and when to use Raven in place of antiquated SQL.

  • Justin Chase

    Application-Scale JavaScript Development: An Introduction to TypeScript

    by Justin Chase

    TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. Any browser. Any host. Any OS. Open Source.

  • Keith Dahlby

    What Hells Angels Taught Us About Website Usability

    by Keith Dahlby

    The Hells Angels motorcycle club is one of the most famously known motorcycle clubs. When you read about their infamous violence or run-ins with the law you rarely think about them and how they use a computer or surf the internet. When professionals talk about usability, it’s hard not to think of people similar to themselves - but what if your customers are not "typical" web users? How do you build for them or discover how they interact with your site? In this talk Keith and Tim share their real-world experience managing (one of the world's 500 largest retail websites) and how they are working to identify their customers' needs and adjusting their site to make it more friendly to their motorcycle riding customers. Tim and Keith will share openly and honestly about the tools they are using daily to maximize the experience and uncover "truth" in their customers. Interestingly great website design is much aligned with the Hells Angels motto: "When we do right, nobody remembers. When we do wrong, nobody forgets."

  • Kevin W. Gisi

    Picture Perfect: Images for Coders

    by Kevin W. Gisi

    Let's face it; we're not really artists (except for the artists). But that doesn't mean we can't contribute to the images on the internet. Whether you're a Photoshop guru, or don't even own a Mac, we can still make valuable contributions to ensure our digital assets are crisp and professional. In this talk, we'll look at some basic command-line tools for creating, modifying, and managing images, and look at how we can manage them properly on the web. We'll play with sprites, responsive images for these new retina displays, and techniques for optimizing performance on lower bandwidth connections and mobile web.

  • Lyle Luppes

    Delivering Mobile-Friendly Websites with MVC4

    by Lyle Luppes

    One of the hot industry trends right now is the movement towards development for phones and tablets. There are a lot of corporate developers with experience developing on the Microsoft platforms, and MVC in particular. The ASP.NET MVC4 Framework is out now and has many new features, including support for mobile devices. In this session, you'll build on your existing MVC skills and leverage those new features to deliver smart websites that adapt to different devices. We'll discuss how to build mobile-friendly web pages using MVC4 and jQuery.Mobile, we'll review some of the new MVC4 features, and also hit on a few other topics that are covered in more detail in the speaker's book "Delivering Mobile-Friendly WebSites with MVC4".

  • Marc Grabanski

    jQuery Mobile, Web Delivery for All

    by Marc Grabanski

    Mobile web development frameworks are targeting the builtin web browsers on iPhone and Android only; however, jQuery mobile has in a different vision, one that will reach the largest distribution of phones possible. Leveraging the ways of progressive enhancement, your website can be viewed in raw HTML on old mobile phones and then enhanced with nice CSS styles across mobile platforms that have a decent CSS and JavaScript support. In this session, Marc gives you his list of reasons to use jQuery mobile, an overview of the framework and will draw from his experiences building websites on top of jQuery Mobile.

  • Matt Milner

    Beyond IIS

    by Matt Milner

    Sure you host your application on IIS, but are you truly leveraging all the platform has to offer? In this session you will learn about key extensions to IIS to simplify working with your web application. Manage a web farm, handle URL rewriting, implement application load balancing, sync content and configuration between servers, or use shared configuration. Learn how to manage databases through IIS manager, create FTP sites, and script common tasks with PowerShell. You will leave this session having a new arsenal of tools for working with IIS.

  • Mike Benkovich

    Cross-Platform, Cross-Device, Connected-Apps Oh My!

    by Mike Benkovich

    Today's users don't live on just a workstation or a laptop. With the proliferation of laptops, smart phones, and tablets people work from a variety of forms and clients. Building applications that can leverage a consistent view of identity, data and services will enable the workforce to be productive whereever they are. In this session we'll explore how to design and build applications that span the various device forms and platforms using the tools and features of the Cloud that make it all possible and easy.

  • Mike Marshall

    A Full-Stack App in 1 Session or Less: SQL Server, Web API and Modern UI

    by Mike Marshall

    You may or may not have noticed lately but Microsoft is moving your cheese. WCF is out and ASP.NET Web API is in. Windows Forms is out and "Modern UI" (Formerly "Metro") is in. During this session we'll start by designing our database schema in SQL Server. Next, we'll expose our data via an HTTP API using Web API. Then we'll tie it all together by writing a Windows 8 Modern UI-style application that consumes our data and makes it available to the user. If we want to finish we'll need to do away with the pleasantries and write code right out of the gate.

  • Philip Nelson

    Introducing Windows Workflow Foundation 4 in Visual Studio 2012

    by Philip Nelson

    At this session you can come and see an overview of what Windows Workflow Foundation 4 (WWF4) is with examples and pointers to more information for you to explore on your own. WWF4 is made of designers, flow control, messaging, variables, collections and and places to inject your own custom code. It is a developer tool but opens the door to having your customers understand your system and processes more clearly. You will leave with a better understanding of whether workflow in general and WWF4 in particular would be be a good fit for your purposes.

  • Rick Krueger

    Freaky Fast Database Development Tips

    by Rick Krueger

    Join Dave and Rick on this most excellent adventure as they teach you how to get more work done in less time. Leave your checkbook at home, because this is all about maximum productivity with minimum budget. Leave with Visual Studio and SQL Server Management Studio shortcut keys, extensions, and add-ins. We guarantee you will see something you haven’t seen before, or your money back.

  • Rockford Lhotka

    Building Modern Applications using CSLA .NET

    by Rockford Lhotka

    The world is changing fast, and Microsoft is committed to the new Windows Runtime (WinRT) development platform on Windows 8, Windows Phone 8, and perhaps elsewhere. The CSLA .NET framework is one of the most widely used open source development frameworks for the Microsoft .NET framework, and CSLA 4 version 4.5 supports .NET 4.5 and WinRT development. In this session you will learn how to create applications leverage CSLA .NET to encapsulate all business, validation, and authorization logic so that logic is available to applications written using WFP, ASP.NET, and the new WinRT platform. Those WinRT applications can then deploy to Intel and ARM-based Windows 8 devices such as tablets, ultrabooks, laptops, and desktop computers.

  • Ryan Niemeyer

    Getting the Most Out of Knockout.js

    by Ryan Niemeyer

    Knockout.js is a powerful JavaScript library for creating dynamic user interfaces. Getting started with Knockout is easy, but as your application grows in complexity, it can be challenging to keep your code clean and performing optimally. In this session, we will talk about the tools, tricks, and techniques that you can use to take your Knockout application to the next level. Topics will include extending Knockout's structures, creating custom bindings, taking advantage of some lesser-known Knockout APIs and avoiding common performance issues.

  • Scott Davis

    Games and Gamification

    by Scott Davis

    Everything has been gamified today; the leafy tree on your hybrid car, credit card points, electric bills, and the slew of retail rewards programs. Then three are games themselves, grandmas and toddlers are playing massively multi-player online games. Games are huge parts of our lives, even if we don’t realize it. In this session we will explore how game theory drives behavior. What are key gaming concepts that we can leverage in our applications? How do we satisfy different gamer demographics when building actual games? The games industry is in a huge shift of both decline and growth. Where is gaming going? This session will strive to create a greater appreciation for the complexity of game theory and the behavior it drives.

  • Todd H Gardner

    Sorting Spaghetti: Structuring Large JavaScript Applications

    by Todd H Gardner

    More and more of our code is moving into the web; and into JavaScript. But we quickly find ourselves in a nested mess of jQuery callbacks, tangled dependencies, and global events. In this session we will transform, step-by-step, a "classic" JavaScript application into a tested, structured, and modular application using QUnit, Sinon, Backbone, and Require.js.

  • Vince Bullinger

    Diving into Single Page Applications

    by Vince Bullinger

    The web has been evolving toward single page applications for a while now, and now that they're here, a lot of tools and frameworks have been popping up to accomodate their development. In this talk, we'll go through the history of the evolution of single page applications and go over some of the more popular tools and frameworks that people are using to build them, including Backbone.js, Node.js, Upshot.js, Knockout.js and Microsoft's Single-Page Application project type. Given the topic and angle of this talk, we will just HAVE to play buzzword bingo (I'll bring the game cards).