Twin Cities Code Camp

Spring 2011, Fri, Apr 01, 2011


  •         Jon von Gillern

    "I Didn't Know You Could Do That!" – .Net Tips and Tricks

    by Jon von Gillern

    Visual Studio took over 43 MILLION lines of code to write – it's big. Really BIG. There is no way that a single developer can know everything about Visual Studio that will be useful. That's where this session comes in. We'll cover a plethora of shortcuts, strategies, hidden features and freeware that will save you a gigantic amount time when developing your .Net application with Visual Studio. Beginners and advanced programmers alike will walk away saying, "I didn't know you could to that!"

  • Brian Hugh

    A Journey into Mobile Development

    by Brian Hugh

    A year ago, I hopped on the mobile/smartphone band wagon, by picking up a Motorola Droid. The original/milestone Droid phone from Motorola. I've been picking up learning about "mobile" development and what it means to business and technologist in my limited time, juggling multiple projects. The first thing you are faced, when you want to explore mobile development, is what platform do you want to target? Apple/IOS, Android, Blackberry, WebOS. As a systems integrator, with a number of technologies under my belt, the question was how to you reach more than one platform. What I discovered, is the web based frameworks and html5 are starting to emerge. Yes, these frameworks are still a little on the bleeding edge of things, but isn't that what all the fun is about? Get a peek into some of the emerging frameworks in this area. These frameworks include jQuery Mobile, Sencha, Titanium, SproutCore, PhoneGap, Rhodes are a few of the leading/bleeding frameworks that let you target multiple platforms. This won't be a deep dive, but will be a mid-level overview of some of these frameworks and my journey.

  •         Christopher Bartling

    Acceptance Test Driven Development with SpecFlow, WatiN, and WebAii

    by Christopher Bartling

    SpecFlow is an open-source Behavior-Driven Development testing tool for .NET that lets you write specifications using 100%-Cucumber-compatible Gherkin syntax. It integrates with Visual Studio, providing file templates to speed your testing efforts. It also integrates seamlessly with the Visual Studio debugger, so that you can set breakpoints in the SpecFlow-based tests. It can be used in conjunction with WatiN, an open-source library for automating web browsers using .NET, and WebAii, Telerik's free testing framework for Web and Silverlight applications. This session will give a brief overview of the tools, highlighting each tool's role in facilitating acceptance testing. The second part of the session will demonstrate the usage of the tools in testing real web and Silverlight applications.

  •         Jon        Stonecash

    Advanced Topics in Debugging With Visual Studio

    by Jon Stonecash

    This session covers the more complex debugging scenarios in Visual Studio including to address debugging more complex scenarios. We'll start with setting breakpoints (absolute, conditional, and advanced). Next, we'll discuss capturing debug output with the System.Diagnostic.Debug statement, how and when to do tracing and logging, debugging web pages, and analyzing log files with parsing and filtering. We'll move to debugging performance issues using timers within the code and using Visual Studio performance analysis. Finally, we'll finish with dealing with memory leaks; what are the typical causes and solutions, using the .NET garbage collector to hunt down the problems, and using SOS to poke around in memory during execution.

  • Jeffrey Byboth

    Automated Web Testing in Team System 2010

    by Jeffrey Byboth

    Manual testing of web applications is expensive and repetitive. Often the QA staff does not have the capacity or the project schedule does not include time to do a complete regression test of applications for each release. Often when the project gets behind the first thing to reduce time on is testing. Using automated web testing in Team System 2010 can eliminate much of the repetitive manual validation of web sites. Not only can it exercise your web application, but it generates really good reports to show to management.

    • Walk through of creating a simple web test against a simple web application
    • Making sure your web test is data driven and maintainable
    • Creating custom web test plug ins using c#
    • Coded Web Tests
    • Load Testing with your web tests
  • Jon Homan

    Background Jobs with Resque

    by Jon Homan

    As more and more web applications integrate with third-party APIs and other external data, processing those external resources in the background more and more important. A simple job runner is a great start, however as your load increases, you very quickly outgrew that simplistic queuing system. We will cover where getting started using Resque and Redis, how to test your jobs, when it makes sense to use Resque, implementations of Resque in other languages, and look how I've used Resque.

  • Joshua Ramirez

    Become Comfortable with WCF Systems Design

    by Joshua Ramirez

    WCF is rapidly gaining popularity as a tool to create modern web services, but can it help you accomplish more? In actuality, WCF is a framework designed to help you develop robust service oriented applications and systems. Many developers find themselves suddenly tasked with building a system using WCF and can become overwhelmed with the scope of the WCF Framework. Fortunately, WCF is easily embraced when theres an overall understanding of how the capabilities are organized. In this presentation we'll first cover the capabilities of WCF and how they align to currently well known integration strategies. Next, we'll consider some common challenges you'll encounter when developing enterprise applications and systems with WCF. Lastly, we'll learn a few of the common scenarios you'll find yourself working with in the real world.

  • Dave Stienessen

    Build a N-Tier App with Entity Framework, WCF Data Services, and ASP.NET MVC

    by Dave Stienessen

    See how the N-Tier application model is alive and well with the latest Microsoft technologies. This session will show you how to leverage Entity Framework 4.0, WCF Data Services, and ASP.NET MVC to quickly put together an application that works in a 3 tier distributed network environment.

  • Rockford Lhotka

    CSLA .NET on Android

    by Rockford Lhotka

    CSLA .NET is one of the most widely used development frameworks for .NET, Silverlight, and Windows Phone 7. MonoDroid is a version of mono for Android. Mono is an open-source implementation of Microsoft .NET. In this session Rocky will discuss his experiences in porting CSLA 4 to MonoDroid for Android. You'll learn what the MonoDroid development experience feels like, how compatible it is with .NET, Silverlight, and WP7, and what issues were overcome to get CSLA 4 working on this different platform.

  • Aaron Godin

    Data Visualization and Web Applications

    by Aaron Godin

    The Internet is an abundant source of semantic information which can be analyzed to make sense of abstract ideas, to discover trends of social interactions, and to predict future outcomes. In this presentation, we will go through the concepts of data mining and analysis along with the design aspects of creating graphical representations. Cloud applications and social networks are a perfect resource, and we will discuss how the web plays an important role in today's world of data visualization.

  • Mike Hodnick

    Dev for the XBox Kinect with .NET

    by Mike Hodnick

    The XBox Kinect device has become just as popular among programmers as it has among gamers. From air-guitar apps to user interfaces that resemble scenes from the movie Minority Report, programmers have been creating unique and innovative apps with the Kinect since it was released in late 2010. In this session we'll talk about how to develop Kinect-based apps for Windows 7 with managed .NET code. The session will cover the foundations of what you need to build Kinect apps such as drivers, libraries, detecting and focusing on a user, hand tracking, and simple gestures such as swiping and pushing. We'll also get in to applying these concepts to Windows technologies such as WPF and show live examples of Kinect being used in real apps for real-world scenarios.

  •         Erik Mau

    Developing a Windows Phone 7 App for Business Users

    by Erik Mau

    Developing a native mobile app sounded cool, but looking at the developer tools for iPhone development made me sick. The launch of WP 7 last year opened up a world of opportunity for Microsoft developers, and we were ready to jump on the bandwagon. This presentation will provide an overview of the application and a behind the scenes look at the approach we took to develop the application. In addition, we will highlight the phone controls and phone capabilities that were used as well as discuss lessons learned along the way.

  •         David Boike

    Distributed Application Development with NServiceBus

    by David Boike

    Building reliable, scalable, maintainable distributed applications is next to impossible without the right tools. NServiceBus is an open-source .NET framework that will help you to do just that. This session will focus on code and cover the fundamentals of NServiceBus development, including one-way messaging, publish and subscribe, implementing long-running business processes, and scaling out.

  • Keith Dahlby

    Dynamic .NET Demystified

    by Keith Dahlby

    It's been a year since dynamic .NET went mainstream with the promotion of the Dynamic Language Runtime into .NET 4. This session will review what the DLR is, dive into how it works with C# 4 and Visual Basic 10, and look at some interesting applications of the DLR. In particular we'll discuss Clay, a dynamic library used by Microsoft's Orchard CMS; C# interop with IronPython; and simplified data access through Microsoft.Data, Simple.Data and Rob Conery's Massive.

  •         Bryan Anderson

    Enhancing User Experiences With Reactive Extensions

    by Bryan Anderson

    Reactive Extensions (Rx) is a library from Microsoft that allows you to write LINQ queries to compose events and asynchronous operations into simple yet powerful constructs. Rx is packed with useful functionality that allows you to get a lot done with very little effort. This session will go over some common Rx functions, like Throttle and Zip, and demonstrate how easily they can be combined with various events to enable you to create superior user experiences.

  •         Kenny        Goers

    Enterprise iOS Development with MonoTouch in C#

    by Kenny Goers

    With the proliferation of the plethora of iOS devices making there way into the enterprise, it's only a matter of time before your enterprise applications will have to be supported on iOS devices. If the vast majority of the enterprise code you already have is in C#, why learn develop in Objective C when the language you have the majority of your experience in is waiting for you. This session will walk through an application that is built to run on both the iPad and the iPod/iPhone platform, utilizing enterprise web services and approximating a standard enterprise application.

  •         Vince Bullinger

    Everything You Ever Wanted to Know About the Razor View Engine for MVC

    by Vince Bullinger

    In January, Microsoft released ASP.Net MVC 3. With it came a brand new view engine called "Razor." Razor was created to address some of the headaches involved in developing with MVC 1 and 2. In this session, we'll go over previous view engines, design goals for Razor and a breakdown of Razor's most important features.

  • Jason Strate

    Extended Events, Work Smarter Not Harder

    by Jason Strate

    There are many ways to performance monitor your SQL Server environment. In this session we'll review Extended Events, which is one of the newer SQL Server monitoring platforms. Learn the ins and outs of how to get detailed information on the errors and events that occur within SQL Server and how to dig into the information. With a few T-SQL statements, issues that could take weeks to research can be investigated in minutes.

  • Brent Edwards

    Getting Dirty With Windows Phone 7

    by Brent Edwards

    You've downloaded all the tools and know how to publish an app for Windows Phone 7. The IDE is ready to go and you have 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 Windows Phone 7. This will be a code-heavy session where we will be getting our hands dirty to illustrate these foundational concepts in action.

  •         Jeff Brand

    Getting Started with MultiScreen Development using Silverlight and MVVM

    by Jeff Brand

    This session an overview of developing multiscreen applications targeting the web, desktop, Windows Phone 7, and beyond. Starting with a quick discussion of designing for code portability and using the MVVM pattern, the session will then move into an example of building an application that targets multiple enviornments.

  •         Brent        Stineman

    Getting Started with Windows Azure Development

    by Brent Stineman

    Curious about Windows Azure but not sure where to start? This session will cover the basics from where to get the resources, how to learn the platform at no cost, and options for "free hosting".

  • Keith Dahlby

    Git More Done

    by Keith Dahlby

    You've seen the intro, you've cloned from GitHub, but you're still not convinced Git's learning curve is worth the climb. This session aims to shed some light from the real world on how Git is different, why the differences matter, and introduce some features and use cases you never knew you couldn't live without. Topics covered will include interactive rebase, interactive add, reflog, bisect and more.

  • Judah Himango

    Heal Your Code with Rx

    by Judah Himango

    The Reactive Extensions (Rx) library is a new framework from Microsoft Research for reactive and asynchronous programming. Why should you care? Because it's the best innovation to come to .NET since LINQ: it will simplify your code, fix memory leaks, institute tikkun olam, and infuse your code with all kinds of techno-zen awesomeness. You'll walk away from this talk with just enough knowledge to be dangerous. Oh, and you'll also grok some very practical ways to improve your code using Rx.

  • Baskin I. Tapkan

    In-Depth Unit/Integration Testing Using VS2010, TFS-2010 and Other Platforms/Frameworks

    by Baskin I. Tapkan

    Testing, continuous builds, integration concepts using Visual Studio 2010/C# 4. Will demonstrate Unit and integration testing with code demos, and mention and list other types of testing, including Continuous Integration, Web testing, Stress/Load testing, User Acceptance testing with brief introductions. Showcase other testing frameworks available in .NET. Emphasize the importance of unit and integration testing and the differences around them. Demonstrate tooling around setting up a continuous integrated development environment. Showcase Team Foundation Server 2010 and TeamCity Personal Edition.

  • Brian Hogan

    Introduction to Advanced Ruby

    by Brian Hogan

    "Introduction to Ruby" talks aren't that exciting. Every language has strings, arrays, conditionals, and evaluation, and by now, everyone's sick of "build a CRUD app in 15 minutes" demos. Every language has its own special qualities that set it apart, and this talk focuses what makes Ruby different and special. We'll cover seven advanced language features and techniques, and we'll demonstrate how we use those to solve everyday problems. We'll talk about message passing, extending core language features, lambdas, and we'll even write a little code that writes code. If you've looked at Ruby and thought "What's the point?" then this talk is for you.

  • Donn Felker

    Introduction to Android Tablet Development

    by Donn Felker

    In this session you will be introduced to the new Android 3.0 release, Honeycomb. This release of Android is targeted at tablet development, but is compatible with previous versions of Android. The new features of Android 3.0 will be discussed with some code samples that will outline the new features and how to use them. You'll learn about the new action bar, fragments, new home screen widgets and the system bar and how the new tablet emulator works.

  • Brock Noland

    Introduction to Apache Hadoop

    by Brock Noland

    Facebook, Yahoo and others have decided there is too much value in the data generated by their users to delete it. Ever! To store and process this data they are turning to Apache Hadoop. In this presentation we will answer the following questions. When is Hadoop appropriate? What are people using Hadoop for? How does Hadoop fit into our existing environment? Finally we will investigate the internals of a sample Hadoop MapReduce job.

  • Brock Noland

    Introduction to BASH Shell Scripting

    by Brock Noland

    Many software engineers consider "shell scripting" to be a dark art best left to system administrators. In the distributed computing world basic shell-scripting knowledge can save you hours of time, per week. In this session we will cover the basics of shell scripting by diving right into working solutions, like processing logs using shell in a Hadoop cluster, and monitoring for race conditions, gathering the required artifacts once the condition is hit. In addition to learn shell scripting specific structures such as assigning the output of a command to a variable and chaining basic utilities together to accomplish a complex task. Finally, every attendee will receive free shell access to a sandbox I run for users to learn shell!

  • Jacob VanScoy

    Introduction to F#

    by Jacob VanScoy

    F# is a relatively new language from Microsoft, which enables idiomatic programming in functional, imperative and object-oriented paradigms. With the release of Visual Studio 2010, is now officially supported by Microsoft along side VB.NET and C#. This talk will focus on functional programming in F# as well as units of measure, computation expressions and metaprogramming with quotations.

  • Christopher Bartling

    Introduction to Grails

    by Christopher Bartling

    Grails is an advanced and innovative open source web application platform that delivers new levels of developer productivity by applying principles like Convention over Configuration. Grails naturally complements Java application development since it is built on Spring and based on Groovy, a dynamic language for the Java platform. This session will start with a brief overview of the exciting Grails web application framework. Topics covered include the structure of a Grails application, data querying and persistence, validation, controllers, Groovy Server Pages (GSPs) and tag libraries. The second part of the session will be a hands-on demonstration, showing the agility and speed of development that the Grails framework is known for.

  • Brad Candell

    Introduction to jQuery

    by Brad Candell

    jQuery is an extremely popular and fast growing Javascript Library that focuses on cross-browser support and simplifying the act of writing client-side scripting. This small Javascript library packs a big punch for HTML developers looking to add increased client-side functionality to their web sites. jQuery features simple HTML DOM element selection and traversal, event binding, CSS manipulations, animation, and AJAX functionality. jQuery also boasts an extensibility aspect with a very large implementation base. You can easily find a jQuery library to achieve many different web functions that you may already be looking for. This presentation will focus on getting you started with jQuery development and how you can use it with HTML, CSS, and Images to create some very neat effects with relatively little effort.

  • Dan Chamberlain

    Introduction to Scala

    by Dan Chamberlain

    Scala is a statically typed language designed to run on the both the JVM and CLR. It is considered a hybrid that brings together OO and functional programming concepts. This talk will touch on a broad range of features including traits, functions, and pattern matching

  •         Chris Johnson

    Introduction to Testing Any Site With Cucumber and Selenium

    by Chris Johnson

    Do you have a website? Do you have any tests for that site? Even if you have unit tests integration tests can help you target workflows such as a checkout process. In this presentation I will talk about testing any site with Cucumber and Selenium. I will show what the tests look like, and explain the different ways to run these tests, from running them locally, building your own selenium grid to using Sauce labs as your testing infrastructure.

  • Chris Black

    Introduction to the BlackBerry PlayBook

    by Chris Black

    Leverage your existing skills to build native applications for the PlayBook using WebWorks, Java or Adobe AIR. In this session we'll size up the PlayBook to the competition and cover everything you'll need to get started with the BlackBerry Tablet OS SDK. We'll build an application from scratch, test using the PlayBook simulator and walk through the steps for submitting to the BlackBerry App World. To conclude, we'll cross compile our application to run naively on Android devices without any change in code!

  • Rockford Lhotka

    Lessons Learned Building CSLA .NET

    by Rockford Lhotka

    CSLA .NET is one of the most widely used open source development frameworks for the .NET platform, and it has been available since before .NET shipped nearly a decade ago. During this time Microsoft has changed .NET itself, as well as the various UI technologies supported by .NET. And they've introduced new platforms such as Silverlight and Windows Phone 7. More recently, CSLA .NET has been ported to the open source mono, along with the MonoTouch and MonoDroid platforms. Join framework creator Rockford Lhotka as he discusses the challenges involved in building, maintaining, and evolving a large and widely used framework over a period of many years and through all these platform changes.

  • Avonelle Lovhaug

    Making the Leap to Freelance Programming

    by Avonelle Lovhaug

    Have you ever felt like your day job just might not be for you? In this session, Avonelle Lovhaug will cover all the basics that you need to know to start your own freelance programming business. You'll learn how to find your perfect client, some non-sleazy marketing techniques, and how to get paid what you're really worth. We'll also cover setting rules and boundaries for your business, and some ideas for regular income that can help you to avoid the feast or famine cycle that plagues most freelancers.

  • Bryan Anderson

    MVVM in the Real World

    by Bryan Anderson

    The Model-View-View Model pattern has become the de facto architecture for applications written with WPF and Silverlight for good reason. It makes WPF and Silverlight applications easier to write and maintain but sometimes it can be difficult to understand how to get a task done or how the pieces all fit together. This session will go over the guiding principles of MVVM, explore the responsibilities of each layer, and explain the differences between MVVM and MVC. I will focus on the common problems teams run into when developing an application and how you can solve them by understanding the "How?" and "Why?" of MVVM as well as the "What?" you may have seen before.

  • Zach Mattson

    Powershell Eye for the Monitoring Guy

    by Zach Mattson

    Server monitoring can be expensive and is generally licensed for only critical production servers. In this session, learn how to utilize Powershell along with SMO to not only be proactive, but productive in monitoring the servers in your environment. Attendees will come away from the session with an understanding of how to check a server's health and collect performance metrics. This will be useful for general monitoring in your environment and can also be used for collecting data in a physical to virtual migration. The session will include a brief introduction and focus on working through demos of proven scripts you can utilize right away.

  • Glenn Leifheit

    Secure Coding practices for .NET

    by Glenn Leifheit

    Developer training rarely covers secure coding techniques, that are sorely missing in today's application landscape. We will discover what security is built into the .NET framework as well as coding techniques that can be used to build a more secure and robust application. Building security into the application design and coding is a necessity these days, bring your skills up to the next level.

  •         Todd H.        Gardner

    TDD Dojo: Test-Driven Development by Example

    by Todd H. Gardner

    Have you read about Test-Driven Development, but uncertain of how it would really work? Would you like to see how real practitioners discuss requirements and build tests? In this session, two developers will pair to solve a software problem using Test-Driven development live. You will see them discuss their approach and build their tests unscripted. Later, anyone in the audience will be invited up to continue the Dojo and learn TDD hands on.

  •         Brian Hogan

    Turning Passion Into Words - Tips, Tricks, and Tools for Aspiring Authors

    by Brian Hogan

    For many of us, writing code isn't just what we do for money; it's something we love to do and share with others. One of the best ways to share that passion is through writing. In this talk, we'll explore the world of writing and publishing content for programmers. We'll explore the writing and editorial processes, including how to really connect with your audience, and we'll go over some tools and techniques you can use to organize your writing and produce something real, useful, and unique. Finally, we'll talk about what it takes to make a great book proposal and what it takes to get the word out about your writing. Visit http://ietherpad.com/U6zreCRCSP and add specific questions / topics you'd like to see.

  • Kurt Christensen

    Using Agile Development Techniques

    by Kurt Christensen

    In this overly-ambitious session, Kurt Christensen will censor neither his language nor his opinions in a feeble attempt to distill 8 years of good and bad experiences as an agile coach into a single hour, telling you absolutely everything you need to know to make your next project succeed in magnificent fashion, with rainbows and flying unicorns! How's *that* for some "agile" snake oil?

  • Kurt Christensen

    Using Clojure

    by Kurt Christensen

    Clojure is a new dialect of Lisp originally targeted for the Java Virtual Machine, which has also been ported to the CLR. This session will introduce you to Clojure by way of exploring a Clojure-based web application deployed to Google App Engine.

  • Marc Harter

    Welcome to NodeJS

    by Marc Harter

    NodeJS is a Server Side JavaScript (SSJS) implementation built off the Google Chrome V8 JavaScript engine. It is grown considerably in popularity since its initial public release a little over a year ago. Some have called 2011, the "Year of Server Side JavaScript." Why? Is it just a fad? What does it offer different from other server side languages and frameworks? What makes it stand out? In this talk, we will be discussing the answers to those questions as we look at design philosophy behind NodeJS. We will also look into its implementation and some demo applications. The goal is for you to come away with a clear understanding of what NodeJS is, what problems it tries to solve, and how it could be used in your application stack.

  • Brent Stineman

    Windows Azure Platform Roundtable

    by Brent Stineman

    Come and see three of the region's top Windows Azure experts (Adam Grocholski, Jim White, and Brent Stineman) discuss Microsoft's public cloud computing platform. Each will present a short related topic of their own selection and take questions from the audience.