Twin Cities Code Camp - Fall 2007 Sessions

Here's a list of session titles currently submitted. Note that the final list may not contain all of the session ideas.

Sessions

Quixo 3D: Game Programming in .NET

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.

Speaker

Jason Bock and Mike Hodnick

Links

Insane Code Generation

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.

Speaker

Jon Stonecash is a Senior Consultant at Magenic. Jon Stonecash has worked in software development for much longer than he would like to admit. In that time Jon has had the opportunity to make most of the serious software development mistakes at least once. He has programmed in over a dozen languages including several different assembly languages, Fortran, COBOL, SNOBOL, classic Visual Basic, VB.NET, and C#. He has survived the structured programming revolution and the object-oriented revolutions (having inexplicably missed out on the sexual revolution). Jon’s software development activities have included the development of operating systems, scientific and engineering applications, and enterprise systems. He has worked in every phase of software development from the initial specification of requirements through to customer support. Along the way, he picked up a BS in Mathematics and an MBA. He still has hopes of finding something that he can be reasonably good at. His long term interests center about databases and the aspects of the application that handle data access and business logic. He is also interested in the tools and processes that assist the development process. Jon can be reached at jons@magenic.com.

Links

NBusiness: An Entity Oriented Programming Library

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.

Speaker

Justin Chase is a Software Professional working with Magenic Technologies for the last two years. He is the lead developer on the open source project NBusiness. In his spare time he likes to play paintball, brew beer and play games. He has participated in judging a few home brew competitions with the Minnesota Home Brewers Association over the last two years including the Minnesota State Fair.

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

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!

Speaker

Rockford Lhotka is the author of several books, including the Expert VB 2005 Business Objects and Expert C# 2005 Business Objects books. He is a Microsoft Regional Director, MVP and INETA speaker. He contributes to several major magazines and regularly presents at major conferences around the world - including Microsoft PDC, Tech Ed, VS Live! and VS Connections. Rockford is the Principal Technology Evangelist for Magenic, a company focused on delivering business value through applied technology and one of the nation's premiere Microsoft Gold Certified Partners.

Simple Web Part Development

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.

Speaker

Scott Yokiel is a consultant at RBA Consulting. He has been in the IT space for 7 years with the last 4 dedicated to Microsoft .NET. He has served in many rolls in his career from BA to developer; currently he is concentrated in the asp.net space and looking to leverage 3.0. Outside of developing software Scott enjoys skiing in the winter and camping in the summer, as long as there is no wi-fi access he’s a relaxing.

Links

Utilizing the ASP.NET Adapter Architecture

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.

Improving ASP.NET User Interfaces with the AJAX Control Toolkit

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.

Speaker

Robert Boedigheimer works for Schwans Shared Services, LLC providing business solutions with web technologies and runs Robert Boedigheimer Consulting, LLC. Robert has been designing and developing web sites for the past 12 years including the early days of ASP and ASP.NET. He was the lead architect, designer, and developer for the schwans.com rewrite with ASP.NET, and recently implemented a large ASP.NET 2.0 project. He is a columnist for aspalliance.com, an "Early Achiever" MCSD for .NET with C#, an MCPD: Web with C#, and a 2nd degree black belt in Tae Kwon Do. Robert has spoken at industry conferences including the Heartland Developers Conference, Twin Cities Code Camp, Tulsa Tech Fest, Microsoft's Visual DevCon, and numerous national and international VSLive! events.

Links

XNA Game Studio Express for teh total n00b!

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.

XNA and TorqueX - Let's Make a Game

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.

Speaker

Chris Williams.

Links

An Introduction to Windows PowerShell

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.

Speaker

Doug Nelson is a Practice Partner with ILM. He provides expert application development services for a growing number of clients with a primary focus on solving complex business problems. These applications developed are based on a Sql Server backend database with a web based front-end. He has been doing web development since 1996, transitioning from CGI applications to classic ASP and on to ASP.Net. In addition to the web development, these applications also support WinForms and Pocket PCs. He has extensive experience implementing truly distributed applications involving windows services, message queueing and web services.

Indexed LINQ

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.

Speaker

Aaron Erickson is a Principal Consultant for Magenic. He is a ruthless advocate for concentrating on creating the most business value in the least amount of time when his clients entrust him to deliver a technical solution. Aaron has been delivering solutions on the Microsoft platform for over 14 years, and currently leads open source development efforts related to LINQ, including Indexes of Objects (i4o) and LINQ to Expressions (MetaLinq).

ASP.NET - Planning for the Presentation

"[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.

Speaker

Part of the emerging Canadian Developer Community 2.0, D’Arcy Lussier has been an active member of the developer community for many years. In addition to being part of the leadership for the Winnipeg .NET User Group, he is also the INETA Membership Mentor for Manitoba, Saskatchewan, and Alberta, and has organized various user group tours which saw Roy Osherove, Jean-Paul Boodhoo, and Jean-Luc David (among others) make their way across central Canada. In addition to his community efforts, D’Arcy holds an MCSD and has been developing with .NET since the initial beta. His focus over the last 6 years has been on web development with ASP.NET and has presented at the Winnipeg .NET User Group and the recent Calgary Code Camp on the subject.

XML Data Type Methods in the Real World

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.

Speaker

Steve Hughes is the Senior Data Architect at XATA Corporation, the expert in optimizing fleet operations through an on demand software service for the trucking industry. He has been working with SQL Server since version 7.0. Steve currently sets the direction for storing and using data at XATA which includes using SQL Server 2005 and its many attached services. He is also a co-author of "SQL Server 2005: Applied Techniques Step by Step" by MS Press and Solid Quality Mentors.

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

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.

WPF, Silverlight and XAML

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.

Speaker

Mike Benkovich is a published author, technology specialist and an MSDN developer evangelist based in Minneapolis, Minnesota. Focusing on the effective use of relational technologies for scalable, high-performance, and mission-critical applications, Mike has worked as an architect, project manager, developer, and technical writer. He speaks regularly at technical conferences and corporations.

Using Microsoft Robotics Studio

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.

Speaker

Michael Dunn is a Technical Evangelist for Magenic, specializing in speech recognition. He is the author of the APress book, "Pro: Microsoft Speech Server 2007" and a MVP for Office Communications Server.

Links>

LINQ to XML

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.

Speaker

Peter Stromquist is a lead software engineer for Reuters, a world leader in news and financial data. He's been in software architect and developer roles for over eight years, working in industries such as financial data, banking, manufacturing, and commercial software. Peter enjoys spending time with his family, biking, eating good food, and screwing around with .NET.

Getting REST with WCF

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.

Speaker

Jeff Brand is a .NET Developer in Microsoft’s Developer and Platform Group. Jeff assists customers in evaluating, developing and deploying applications built on the .NET Framework and the Microsoft platform. He has been with Microsoft for eleven years and has served in variety of roles including infrastructure consultant, e-commerce technology specialist, and enterprise technology advisor.

Hacking Arduino to Create a Cheap Ambient Orb

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.

Speaker

Dan Bennett is a technology director with the online applications development group of Thomson West. A software developer/lead/architect for 15 years, Dan has now joined the ranks of pointy haired managers. However, all is not lost as he remains a keen 'hobby' developer in a variety of languages ranging from C to F#.

Links

Advanced Concepts in Software Testing

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.

Speaker

Bill Ryan