Twin Cities Code Camp

Fall 2007, Mon, Oct 01, 2007


  • Bill Ryan

    Advanced Concepts in Software Testing

    by Bill Ryan

    Software testing has gained a lot of interest in the recent past. Similarly, determining system capabilities has been something people increasingly care about. But how do you truly know what your system's capabilities are? How do you know for instance, that the result of a stress test are not just a fluke or isolated incident? How can you make accurate and responsible predictions about scalability? A few mathematical techniques collectively known as Statistical Process control can provide an excellent mechanism for measuring system performance and resource usage. It provides a solid theoretical framework so there's no more "Seems to me like it should do ______" or "Well, to me it looks right..." Statistical Process control was the driving force behind Toyota, Nissan and Honda's successes, as well as Sony, Nakamichi and many other brands known for their quality. And it can be applied to virtually every aspect of software. To use it, you need a pencil, piece of paper and a calculator, although a copy of Excel makes it really simple. No expensive tools needed and no heavy learnign curve.

  • Doug Nelson

    An Introduction to Windows PowerShell

    by Doug Nelson

    Windows PowerShell ( formerly code-named Monad) is a fantastic addition to any developer or power user's set of tools. Windows Power shell has the widest range of any language known. Quickly learn the basic concepts, it's a command line shell to write simple adhoc scripts. Learn a bit more and use it to write rich sophisticated scripts to manage production servers and the like. Taken even further, use it to write .Net programs with the full power of the .Net frameworks.

  • D'Arcy Lussier

    ASP.NET - Planning for the Presentation

    by D'Arcy Lussier

    "[Javascript/Client Side Code] must be viewed as being a separate application that interacts with your application as it runs on the server." – Rocky Lhotka, Expert C# 2005 Business Objects. The presentation layer of web applications has evolved into a complex tier that can be sometimes overlooked and underestimated. In this session we'll discuss best practices for implementing rich client interfaces, de-mystify what ‘AJAX' really is, and explore the process of architecting a Presentation layer.

  • Rockford Lhotka

    Build an App using WPF, WCF, WF and CSLA .NET in an Hour

    by Rockford Lhotka

    Using .NET 3.0 and CSLA .NET, see how you can build a (small) application in an hour. The resulting app will have a UI layer, business layer and data layer. The WPF UI will be rich and interactive, but nearly code-less. The application will include both n-tier and service-oriented features, and will leverage WF for back-end processing. Tired of PowerPoint? Want to see non-stop coding action? Then this session is for you!

  • Emerging Data Tools: LINQ, Astoria and the ADO.NET Entity Framework

    by

    Data access has evolved over time to make working with databases easier and more productive. In the Microsoft .NET Framework version 3.5, access to data is integrated natively into the languages. In this session, we look at some of these technologies including LINQ and Astoria and see how they impact our development approach. We'll dive into the ADO.NET Entity framework and explore how to create and use the models to map our way back to the data stores.

  • Jeff Brand

    Getting REST with WCF

    by Jeff Brand

    This session will take a look at building REST-style services using WCF 3.0 and 3.5. It will provide a brief introduction to REST and what its advantages over typical WS-* services are, especially for browser-based applications. The majority of the session will be spent showing what it takes to build REST services using WCF 3.0 and how things get even better and easier with WCF 3.5.

  • Dan Bennett

    Hacking Arduino to Create a Cheap Ambient Orb

    by Dan Bennett

    Like the Ambient Orb - but not the price? Want to get your own data into an orb and don't want to go wireless? Have no idea what an Ambient Orb or Arduino is? Join this session to learn about the open source Arduino board and how to make your own orb using an Arduino and a handful of components from RadioShack and Ikea.

  • Robert Boedigheimer

    Improving ASP.NET User Interfaces with the AJAX Control Toolkit

    by Robert Boedigheimer

    There are many controls and extenders provided by the AJAX Control Toolkit that can be used to enhance ASP.NET user interfaces. The ValidatorCallout is used with the existing validation controls to show a nice box with the validation message that points to the field in error. The CollapsiblePanel provides an area of the screen that can be collapsed to hide the content but leave a title bar with the header. The ModalPopup displays a popup window and disables the remainder of the page. There are many controls provided which provide a much richer experience for ASP.NET web sites.

  • Aaron Erickson

    Indexed LINQ

    by Aaron Erickson

    This session will discuss how the new features of C# 3.0 enable LINQ to work, and how by using the new features of C# 3.0, you can extend LINQ to do enable innovation. I will give an example of this in practice by demonstrating the building of an indexing mechanism over LINQ to objects.

  • Jon Stonecash

    Insane Code Generation

    by Jon Stonecash

    There are two primary ways of doing code generation: one, using code generation mechanisms such as "wizards" that someone else provides and, two, creating your own code generation templates. Writing your own code generation templates is coding, pure and simple (well perhaps not so simple). I am going to show you how to code templates using XML/XSLT, CodeSmith, MyGeneration, and (maybe) Orcas Software Factories. This will include a lot of code from templates that I have written (will write) for generating CSLA applications. One of the problems in generating code is how to extend the generated functionality. No matter how cleverly you code the code generation templates, there will always be some functionality that makes more sense to generate by hand. I will take a look at three different approaches to how to add that functionality to the generated code: using partial classes, using inheritance, and using delegates. Unit testing is one very important factor in wanting to extend to extend the generated code. I will cover some ways to structure the code, generated and hand-crafted, to support unit testing.

  • Peter Stromquist

    LINQ to XML

    by Peter Stromquist

    We've been hearing a lot about LINQ lately, the new data access technology in the upcoming 3.5 version of .NET. We've heard how it can be used to easily access data from a variety of sources like custom objects, SQL Server, web services, and XML. This session focuses on how to use LINQ to quickly and intuitively query XML data. We'll take a look at the new XML object model in the System.Xml.Linq namespace (XDocument, XElement, etc.) and how it supports LINQ to XML. While most of our time will be spent in C#, we will also examine the new "XML literals" language feature in VB.NET and how it makes coding LINQ to XML even easier.

  • Justin Chase

    NBusiness: An Entity Oriented Programming Library

    by Justin Chase

    NBusiness is an open source code generation project aimed specifically at the business logic layer and the data access layer. NBusiness includes an Entity Language Provider, E# compiler and a light weight business object framework. This discussion will describe how to create an Entity Library with NBusiness, generate a database and integrate it into an ASP.NET website. In addition we will discuss some methods in which you can extend NBusiness and your generated business objects with custom code. NBusiness leverages visual studio extensibility quite heavily, and this will also be a topic of discussion.

  • Jason Bock

    Quixo 3D: Game Programming in .NET

    by Jason Bock

    Quixo is a simple board game that is very similar to tic-tac-toe with a little more complexity. In this session, we'll take the game from the 2D world into 3D space. We'll discuss the underlying engine, the add-in model, design tools, and the client application that renders the game using WPF.

  • Scott Yokiel

    Simple Web Part Development

    by Scott Yokiel

    I will be show how easy it is to get up and running with web parts in visual studio for your web application, SharePoint 2003 or MOSS 2007. This talk is aimed at those of you who have never played with web parts and would like the 100 level introduction to creating and deploying your first web part.

  • Michael Dunn

    Using Microsoft Robotics Studio

    by Michael Dunn

    This presentation will show you the basics of using Microsoft Robotics Studio, Phidgets USB control boards with an on board computer. We will cover using basic sensor available and how to create an autonomous robot using sensor readings and visual input via an everyday web cam. This presentation will also demonstrate using the System.Speech API which allows your robot to do speech synthesis and speech recognition. Warning: Presenter in not responsible for bodily injuries due to explosions or attacks on attendees named John Connor.

  • Utilizing the ASP.NET Adapter Architecture

    by

    ASP.NET 2.0 provides the ability to override control and page rendering in order to tailor the output for specific browsers or provide new behaviors. One great use of adapters is to use session storage for viewstate rather than a hidden client field saving bandwidth and improving performance, which can be easily accomplished with a custom page adapter. Learn how to use the siteMapPath control, but render its output in a DropDownList to save screen space. See how to add querystring tamperproofing to HyperLink controls without having to modify any existing site code.

  • Mike Benkovich

    WPF, Silverlight and XAML

    by Mike Benkovich

    Working with XAML, a new way of declaratively creating user interface elements, the professional design tools and innovative technologies in Expression give you the flexibility and freedom to bring your vision to reality - whether you are designing standards-based Web sites, rich user experiences on the desktop, or managing digital assets and content. In this session, we'll look at the products that make up Expression Studio and how they are used together to make great user experiences a reality both on the web and on the desktop. We'll dive deep into Expression Blend and Expression Design to see how they can be used along with Visual Studio 2005 to deliver rich interfaces based on Windows Presentation Foundation for online and offline scenarios.

  • Steve Hughes

    XML Data Type Methods in the Real World

    by Steve Hughes

    Tired of trying to extract values from comma separated lists? Need a more efficient way to handle flexible parameters? This session is intended to show the power in SQL Server 2005 in relation to the XML data type. SQL Server has a number of methods which make using XML simpler. This session will demonstrate the usage of the XML data type methods in the real world that makes database development easier. This session will also discuss performance implications and any issues discovered while using these methods.

  • Chris Williams

    XNA and TorqueX - Let's Make a Game

    by Chris Williams

    This session assumes a basic familiarity with XNA. We'll take a look at what TorqueX (Garage Games) has to offer XNA game developers and we'll go through a quick game (using one of the TorqueX starter kits.) Time permitting, we'll also talk about some of the resource packs from Garage Games.

  • XNA Game Studio Express for teh total n00b!

    by

    In this session, we'll start from Ground Zero and hit all the high points of Game Development with XNA. We'll spend a few minutes on what you need to get everything running along with where to find it. Then we'll talk about what XNA (& XNA GSE) is and is not! We'll cover Creator's Club, the 360 and finally we'll jump into some code, talk about the game loop and dissect a working game. We'll also give away an XNA book or two.