Twin Cities Code Camp - Fall 2008 Sessions
Here's a list of session titles currently submitted. Note that the final list may
not contain all of the session ideas.
Sessions
Demystifying Analysis Services 2008
Need help understanding Analysis Services and would like to get a quick introduction
and basic understanding of what Analysis Services is? This presentation is going
to go through Analysis Services in very simple terms so that first and foremost,
everyone comes away with a good understanding of what it is, what Analysis Services
does, and what you as the developer can do with it. If you have been frustrated
with attempting to understand the basics of Analysis Services, then this presentation
is for you!
We will cover the following basic components of analysis services and what each
of them do: star schemas, dimensions, facts, measure groups, calculated measures,
aggregations, and more. We will also cover what the basic processing mechanisms
involved are for processing dimensions and measure groups. We will build a simple
cube and browse the cube, so you can see the how and the why. You will come away
from this presentation with a solid understanding of what Analysis Services is,
when you might want to use it, and how to manage it.
Speaker
David Baldauff is a consultant for Digineer, a Microsoft certified Gold and Managed
Partner, in Plymouth, MN. David has been working in software and database development
for over 15 years and specializes in data architecture and data-centric application
design. David recently completed a courseware book for AppDev.com on SSIS 2005,
and has also recently contributed to a Microsoft whitepaper on SQL Server 2005 Enterprise
Edition features.
Lighten Up! Lighting a 3D World with HLSL
The basics of Microsoft’s high-level shading language (HLSL) are introduced, including
a basic overview of the rendering pipeline, through the creation of a point light
shader. HLSL allows graphics programmers to create realistic graphics through the
use of a combination of math algorithms and the hardware they are processed on.
Around the time of DirectX 8, shaders were implemented to allow changes per geometric
shape, vertex, and pixel during a frame render. As one of the items comes to render
on the graphics device, the math algorithm written into the shader file is applied
to the respective object and is rendered to the screen. Current technology has reached
the point where shaders are a necessity for any graphics developer, considering
graphics libraries such as Microsoft’s XNA have removed support for a non-programmed,
‘fixed’ graphics pipeline. A simple shader is built to emulate a point light while
each step includes reasoning behind the code and relevance to the theory of a point
light. A conclusion is given explaining other uses for shaders.
Speaker
Matt Christian
The Intersection of F# and LINQ
LINQ is a functional language within C#. However, with C#, you are only touching
the tip of the iceberg with LINQ and functional programming. Leverage the power
of F# to really superpower how LINQ can work for you.
Speaker
Aaron Erickson is the Technical Solution Specialist for the Magenic Chicago office.
Named a Microsoft MVP in 2007, he has written and spoken extensivley about LINQ
to Objects, Agile Software Development, and CSLA.net.
Links
The Zen of ASP.NET and MVC
The Model-View-Controller (MVC) pattern has been around for over 20 years and has
predominantly been the pattern-poster-child for web frameworks, such as Ruby on
Rails, Struts, SpringMVC and recently ASP.NET. In this session will we cover how
the two current implementation of this pattern on the .NET platform, MonoRails and
ASP.NET MVC, enhance the way we approach web development by making it more specific,
yet simple at the same time. If you're a web developer that's either curious or
seasoned on this old new thing, this session is definitely worth checking out.
Speaker
Javier is a web developer for imagetek, an ECM provider based in Grimes, Iowa. He's
also an ASP.NET MVP specializing in web/system architecture, development techniques
and training. On his blog you can find posts on ASP.NET, architecture, community
and .NET. Javier enjoys giving back to the community by speaking at user groups
and local/regional .NET events. His major community involvements are with the Iowa
.NET User Group and Iowa Code Camp where he serves as a co-leader/co-founder. In
his spare time, Javier enjoys spending time with his family and writing about himself
in the third person.
Links
Jumpstart Your Web Site with ASP.NET Dynamic Data
Do you need to get a web site setup quickly? Why code all the pages yourself when
you can use the ASP.NET Dynamic Data to build the initial pages based on your data
schema? This new feature creates the .aspx pages for you based on your data. The
pages can be used directly, or you can customize the pages to add your own look
and feel. You can augment the data model for the site to include information that
can automatically create the necessary validation controls! Included are a set of
Field Template controls that are user controls to edit particular types of data,
these can be customized once and apply to all page templates used on the site. Don't
start with nothing when you need to create a new site, take advantage of the ASP.NET
Dynamic Data support to have a functional site very quickly and simply customize
it to get a great site!
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
PICK/Multivalue 101
If you are thinking, “What the hell is PICK?”, you are not alone. This Database/Runtime/Operating
System has been around for over 40 years and is still going strong. Many companies
don’t realize what they are running, only that it has served them well for decades.
Companies like IBM are bringing the system into a new age with U2. This session
will cover the fundamentals of PICK, how data is stored, accessed and manipulated.
This system is seeing it’s features resurge these days in the form of Multivalue
columns in Access 2007 and CLR in SQL Server. Join in on learning the fun and pain
of developing in this widespread but often forgotten system.
Speaker
Jeff Klawiter is a Senior .NET Developer with Sierra Bravo Corporation. Starting
out in high school as a PHP developer for PhotoSource International in Osceola Wisconsin.
He continued on to run his own PC repair business, designing sites for local companies,
Twin Cities bands and a few international bands. He moved into .NET programming
and landed a job at Sierra Bravo in 2004. At Sierra Bravo he was introduced to PICK/Multivalue.
He has worked on many projects including barcode scanning .NET CF Warehouse Management
Solutions, ERP WinForms applications and PHP/ASP.NET sites that use PICK/Multivalue
as their backend. He has consulted with a few fortune 500 companies assisting with
PICK/Multivalue and .NET integration. Including training developers to use IBM’s
UniObjects.NET for communication with their PICK/Multivalue U2 products.
Introducing Continuous Integration to Your Project
Save time, reduce defects, and eliminate boring, repetitive work and dependence
on “tribal knowledge” using a Continuous Integration framework in your project.
This session will explain the concepts if Continuous Integration, explore the benefits
of this practice, and provide a “getting started cookbook” for introducing Continuous
Integration framework to your project, no matter what phase it is in. A demonstration
of automating a build, introducing some automated testing, and running the build
will conclude the session.
Speaker
Kirstin Juhl
BOO! A Wrist-Friendly Language for the CLI
Boo is a new object oriented statically typed programming language for the Common
Language Infrastructure with a Python-inspired syntax and a special focus on language
and compiler extensibility. In this discussion I will be showing some practical
examples of BOO and talk about some of the benefits it may offer.
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.
Links
So What is Biz Talk Anyway?
We’ve all heard of Biz Talk, but not many of us truly understand what Biz Talk is
and how it fits into a larger solution. In this session we’ll take a tour of the
features of Biz Talk and give attendees a good starting point to learn more about
the product and how it might play into their solution plans.
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.
Why Should Developers Care About Security?
Security. The very word generates strong reactions from ALL developers, most often
negative. Is security really such a bad thing? Is security hard? As a rank-and-file
developer, why should I care about security? In this session, I will talk about
reasons to care about security, show how to find security holes in applications,
show ways to fix these holes, and demonstrate techniques to improve the application
security. This session assumes no prior working knowledge of security, encryption,
or any other $0.25 words that seem hard. Think of this session as application developer
security 101.
Speaker
Jeff Knutson is a Principal Consultant for Magenic in Minneapolis, MN. Jeff's primary
job interests include web services and security. He has over 14 years experience
with various Microsoft development technologies and holds numerous certifications
including the MCSD.NET. If he had spare time it would be spent with family/friends,
golfing and playing with technology.
Links
The Arc Programming Language
Arc is a new dialect of Lisp focused on minimizing the size of source code while
maximizing productivity, particularly for relatively simple web-based applications.
This session will introduce participants to the Arc programming model, as well as
the Arc development ecosystem as it exists today.
Speaker
Kurt Christensen is a complete idiot, and always has been, although Kurt's idiocy
wasn't unleashed onto the software community until 1995. Kurt has been weaseling
his way into interesting coding gigs ever since, always underqualified for the task
at hand. For the past four years, Kurt has also subtracted value from organizations
as an "agile" snake oil salesman. Kurt still tries to code as often as possible,
but the agile stuff pays more per hour, so of course you can see the difficulty.
Taking Your Tests to the Next Level with Mocks
This session will walk through the progression of testing with mocks. In the session
we will learn how to mock out dependencies that stand in our way of solid testing.
You will learn how mocks can make for cleaner tests and as well as improve the reliability
of tests. We will do a quick overview of TDD using NUnit, but the crux of the session
will be focused on mocking with RhinoMocks (or TypeMock).
Speaker
Derik Whittaker is a software developer currently working as an independent consultant.
Derik has over 8 years of experience developing, mentoring and leading Microsoft
based products for a wide variety of different professional fields. Derik has been
working exclusively with .Net since its inception and has professional experience
in both VB.net as well as C#. He has also been a follower and believer in the Agile
methodologies for the past 2+ years and has wide array of experience using various
Agile techniques in the real world.
Links
Build an XNA Game for the Zune
Watch me build an XNA game for the Zune.
Speaker
Chris Williams
Links
CSLA Light: CSLA .NET for Silverlight
Silverlight is lighting up the web in exciting and innovative ways. Since Silverlight
includes a subset of .NET, there is a subset of CSLA .NET that targets Silverlight
as well. Come see how CSLA Light makes building business-oriented Silverlight applications
easier, allowing you to leverage the power of Silverlight with the flexibility and
rich capabilities of CSLA .NET.
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.
Links
Becoming a Documentation Ninja
Have you ever wondered if their was an easier way to maintain your documentation?
Would you like to be able to generate custom documentation at the push of a button?
DocBook is a great tool for creating and maintaining documentation. DocBook allows
you to keep all of your documentation consistent and up to date with ease. DocBook
is "a schema (available in several languages including RELAX NG, SGML and XML DTDs,
and W3C XML Schema) maintained by the DocBook Technical Committee of OASIS." In
this session we will show you how to set up a DocBook project and use it to its
full potential for you and your company. We will show you how to use the DocBook
build chain to produce custom documents to ship to your clients and use the same
files to build different documents for your developers.
Speakers
Chris currently a student at the University of Wisconsin Eau Claire. He is graduating
in December with a BBA in Information Systems. Chris has been developing web applications
since early 2004. Chris is currently interning with Inacom Information Systems in
Madison, WI as a custom solutions developer.
Brian Hogan has been developing web sites and web applications since 1995 when he
founded his consulting company, New Auburn Personal Computer Services, LLC. Brian
specializes in small business web sites, web applications, Ruby on Rails training,
and accessibility for the visually-impaired. His clients were one of the first to
deploy Rails applications in a Microsoft Windows environment.
When he's not busy on the computer, he enjoys watching The Simpsons and spending
time with his wife and daughters.
Links
Advanced OO Laws & Principles
This session introduces some object-oriented laws and principles currently used
in our field and provides discussion around the context of their use in building
applications.
Speaker
Clint Edmonson
Windows and Web Applications with Microsoft Presence
Microsoft Presence is the ability to allow users to see if others are available
via Windows Live IM or Office Communicator along with contact and other information
about the user directly inside custom applications. Chris will demonstrate how this
service will allow developers of Windows and web applications to integrate Windows
Live Presence and/or Microsoft Office Communicator inside their application to bring
more communication and collaboration to the end user.
Speaker
Chris Woodruff is an Architect in the West Michigan Practice group at NuSoft Solutions.
His work involves integrating new technologies, assisting development teams with
architecture designs, and helping with development standards. Chris is the VP of
the West Michigan .NET User Group and also is an Advisory Council Member at Capella
University for the External Information Technology Advisory Council. Chris is the
founder and coordinator of the Day of .NET West Michigan and also helps with other
Day of .NET events in Michigan. He holds a Bachelor of Science degree in Computer
Science from the College of Engineering at Michigan State University. In his spare
time, Chris coaches his sons sporting teams and plays poker.
Links
Building MyTube with Microsoft Silverlight 2
In this session, we will look at using Microsoft Silverlight and Silverlight Streaming
to build your very own online television station. The session will show how to encode
and host video on Silverlight Streaming, build a online media player using Silverlight
including how to design and develop the experience using Visual Studio and Expression
Blend. It will also look at using web services to provide data to the media player
to show a video catalog.
Speaker
Jeff Brand
A Survey of Future Operating Systems
This presentation will compare three operating systems built around a managed (.NET)
kernel: Microsoft Singularity, SharpOS, and Cosmos. Singularity is an effort from
the Microsoft Research Group; Cosmos and SharpOS are open source kernels. All three
kernels are under development but already provide an insight into the future of
computer systems and design. This presentation will discuss the approaches behind
each kernel and then demonstrate how to compile and create applications for each.
Speaker
David Pinch
Software Evolution: Inversion and Injection
Useful software evolves and adapts to changing needs. This continuing change cannot
happen if the software design and implementation is riddled with dependencies: A
change to module A triggers changes in B and C, that collectively, trigger more
changes in D, E, F, and G and so on until the software explodes. This sounds like
a terrific special-effects movie but a very bad information technology experience.
There are design practices that build "fire walls" that isolate one part of the
software from other parts, but ultimately the question becomes, how can one part
of the software invoke the services of another part without becoming dependent on
that other part? This sounds very much like a Zen riddle: "What is the sound of
one hand clapping?"
Enter the twin concepts of Inversion of Control and Dependency Injection. With Inversion
of Control, when a particular module of the software is dependent upon a particular
service, say logging, that dependency is abstracted down to an interface. Any invocation
of the logging function is made against the interface. Before the module can execute,
it must obtain a reference to an object that implements the interface. There are
a lot of ways to accomplish this: 1) passing the reference as a part of instantiating
or invoking the functions of the module, 2) returning the reference from a factory
method, and 3) injecting the dependency reference as part of a Dependency Injection
framework.
We will look the design patterns for Inversion of Control and demonstrate code that
uses the following Dependency Injection frameworks:
- Castle Windsor
- StructureMap
- Unity
- Spring.NET
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
Dynamic Coding in .NET
In this session, we'll take a very deep dive into .NET assemblies to see how you
can create and modify them to simply and strengthen your code. Different techniques
and frameworks will be investigated (dynamic methods, assembly emission, code modification
using Cecil and Phoenix, etc.)
Speaker
Jason Bock is a Principal Consultant for Magenic, and is also a Microsoft MVP. He
has worked on a number of business applications using a diverse set of substrates
and languages such as C#, .NET, and Java. He is the author of "Applied .NET Attributes",
"CIL Programming: Under the Hood of .NET", ".NET Security", and "Visual Basic 6
Win32 API Tutorial". He has written numerous articles on software development issues
and has presented at a number of conferences and user groups. Jason holds a Master's
degree in Electrical Engineering from Marquette University.
Links
From Scratch to Finish: Building an Application That Interacts
In this session I'll build an application from scratch to finish, skipping through
the basics and jumping into advanced techniques to get the most out of Silverlight
2. I'll build an interactive image viewer and slideshow presenter in VS2008 that
will cover advanced techniques that range from custom controls using the parts model
to local storage for personalization.
Speaker
Corey Miller
Entity Framework - Building Applications On Top Of It
What are the components of Entity Framework? How can you implement an application
using Entity Framework? This presentation will show what Entity Framework is and
how to build applications on top of it.
Speaker
Johan Wettstrom is a Sr. Architect for Magenic Technologies. He has been developing
systems since 1986. Starting with COBOL on IBM mainframe, Borland C on PC and then
migrated to Microsoft tools in 1990. Since then he has been developing using C++,
VB, C#, VB.NET and ASP.NET. He also has extensive knowledge in database design,
Microsoft SQL Server and has written and designed application on top of Microsoft
SharePoint.
Amazon Flipper
LINQ is a great technology for accessing data and Silverlight opens the door to
a rich set of options for presenting information in your application. In this session
we’ll look at how we can use these new technologies together to build a rich user
experience. From working with LINQ to pull information from a web service to building
the front end using the latest techniques with XAML you will get insight in how
to leverage these tools.
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 WPF to build LOB Applications
There has been a lot of discussion on using WPF to build Line of Business applications.
There are a number of aspects that need to thought about before making the decision
of whether to use WPF or not. This talk will focus on those elements like Developer
Designer Workflow, WPF Learning Curve and Getting up to Speed, Advantages/Disadvantages
of using WPF, Limited WPF Control Set (the no Data Grid complaint), WPF best practices
for developing WPF applications and if we finally have a platform that we can write
once and run everywhere using xaml, WPF and Silverlight.
Speaker
Shannon Braun is an independent consultant and founder of Sysknowlogy, which provides
consulting and development services using Microsoft technologies. Shannon focuses
on assisting corporations adopt Microsoft technologies and has helped companies
solve business problems with Microsoft .NET, BizTalk, Commerce Server, SharePoint,
Windows Presentation Foundation (WPF) and Web Services.
Shannon has served as a member of the .NET Partner Advisory Committee, Microsoft
Architecture Partner Board, Microsoft Architecture Advisory Board and is currently
a member of the Visual Studio Partner Advisory Board. Shannon was awarded a Microsoft
Solution Architect MVP for 2006 and 2007 and a Microsoft Client Application Development
MVP for 2008.