Spring 2009 - Sessions
Here's a list of session titles currently submitted. Note that the final list may
not contain all of the session ideas.
Developing for Windows Mobile Devices
Mobile development is growing fast, and Windows Mobile is at the forefront with
over 18 million phones shipped last year and many more cutting-edge devices on the
way. Visual Studio developers have tremendous opportunities in this space. Why?
Developing for a Windows Mobile phone leverages your existing coding experience
and takes it to new heights. In this session, we'll look at some of the coolest
new devices, you'll learn how to set up Visual Studio with the latest SDK and device
emulators, and you'll see how to build, deploy and debug Windows Mobile applications.
We'll work with building a realistic application, working with data and finally
packaging it up.
DemoFEST: SQL 2008, AJAX and the Virtual Earth SDK
In DemoFest events, we demonstrate an end-to-end solution that takes technologies
and tools we discussed in other BenkoTips webcasts and applies them to create something
fun. We look at some of the new features in Microsoft SQL Server 2008, including
data types for spatial data, and how we can use these features to build interesting
applications. We then take this functionality and expose it using a Windows Communication
Foundation (WCF) service. Finally, we explore the software development kit (SDK)
for Microsoft Virtual Earth and how we can build on top of this rich interactive
platform using new Asynchronous JavaScript and XML (AJAX) and JavaScripting capabilities
in Microsoft Visual Studio 2008.
Speaker
Mike Benkovich delivers technical presentations around the U.S. as a developer evangelist
on the MSDN team at Microsoft. He has worked in a variety of professional roles,
including architect, project manager, developer, and technical writer. Mike is also
an author of two books, published by WROX Press and APress, which show developers
how to get the most from their SQL databases. Since appearing in the 1994 Microsoft
DevCast, Mike has presented technical information at seminars, conferences, and
corporate boardrooms across America.
Practical Parallelism
With multi-core computers becoming commonplace, and technologies like Silverlight
requiring the use of asynchronous programming, and the use of distributed service-based
computing spreading, we are entering an era where parallel and concurrent programming
is virtually required. Are you ready to be multi-threaded? Parallel? Concurrent?
Are you ready to build applications that are not only parallel, but distributed?
This session will discuss the drivers of this change, the challenges we face, and
some of the solutions available today and in the near future on the Microsoft .NET
platform.
Speaker
Rockford Lhotka is the creator of the popular CSLA .NET development framework, and
is the author of numerous books, including Expert C# 2008 Business Objects and Expert
VB 2008 Business Objects. 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 Tech Ed and VS Live. 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
Self-Writing Programs - Using Expressions in C# to Write Code that Writes Code
While most of us were looking at new features like Linq when C# 3.0 and VB9 came
out, behind the scenes, a much more interesting and powerful feature snuck in -
the ability to write programs that literally write themselves! In this session,
we explore how to write programs that write themselves using the classes in the
System.Linq.Expressions namespace. These classes allow you to evaluate code at runtime
and even write new code at runtime - without having to resort to IL generation (why
should Lisp hackers get all the fun?). You will learn how to use the classes in
the namespace, how they work together, as well as some examples of how such things
can be useful in ordinary line of business applications.
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
Silverlight Development: Lessons from the Trenches
So what's it like creating a line of business application using Silverlight? What
are the differences in developing a Silverlight application compared to a Winform
or ASP.NET based application? In this session I'll share with you my experiences
in creating a real-world Silverlight based application and what you should expect/look
out for when developing with this exciting new technology.
Speaker
D'Arcy Lussier is one of many professionals that make up Protegra, a leading technology
solution provider based in Winnipeg, Manitoba. His focus is on web application development,
but he also has experience developing applications for the Windows desktop and mobile
platforms. An active member of the developer community, Mr. Lussier is on the board
of the Winnipeg .NET, SharePoint, and BizTalk user groups and is an INETA (International
.NET Association) Membership Mentor for the Canadian prairies. He is a Microsoft
Certified Solutions Developer and has been awarded a Microsoft Most Valuable Professional
award in ASP.NET for 2008 and 2009.
Rails and Legacy Databases
Have you been to Ruby on Rails talks and found the framework interesting? Do you
want to use Ruby on Rails for your next project but have to connect to a legacy
database and don't know if Rails will work? Rails' object relational mapping allows
to connect to legacy databases easily and use rails conventions to build your web
application, without disrupting the database. During this talk we will look at a
very hideous database (something that I hope no one will ever see) and build a simple
rails application on top of it. This demo will revolve around using SQL Server 2005.
Speaker
Chris Johnson is a consultant with Inacom Information Systems in Madison, WI. Chris
specializes in building Rails web applications. He has used many different technologies
over the past 5+ years as a professional web developer. In his spare time Chris
likes to hack on code with his friends, play hockey and indulge in his photography
hobby.
Links
Introduction to the Building Composite WPF Applications
This session will introduce you to the WPF Composite Application Library. Using
the Comp App Library, developers can quickly build a WPF application that can be
extended with customized UI modules, services, events, and more. We will take a
look at getting a Composite Application initialized, adding custom modules, building
views, and coordinating services and UI interactions using the CAL.
Speaker
Jefferson Brand
Firefox Extensions: Making Your Web Application More Accessible
Presentation Materials
What web application could be complete without a convenient interface? We'll walk
through an example of how to write a Firefox extension for your latest project,
using the already-familiar Javascript, CSS, and XML.
Speaker
Kevin Gisi is a Ruby on Rails application developer at the University of Wisconsin
- Eau Claire. Recently, he was awarded the "Most Innovative" title for his submission
to the 2008 Rails Rumble competition, http://www.so2speak.net.
Kevin also does freelance development work in Ruby on Rails, and is finishing up
his undergraduate degree in computer engineering.
Increasing your Productivity with Visual Studio
Presentation Materials
Visual Studio is one of the greatest development environments out there. It includes
many shortcuts and features to make your life easier as a developer. Some of those
features are not always user friendly to get set up. The main focus will be on using
snippets to improve your development experience with common patterns in LINQ and
data objects. We will also cover various shortcuts and windows. No one is an expert,
you will be encouraged to share your own tips and tricks.
Speaker
Jeff Klawiter is a Senior .NET Developer at Sierra Bravo Corporation. His ambitions
in life are to learn all there is to know about programming before he dies and to
one day make his own dragon with Biological Programming.
Creating Build Processes with MSBuild 3.5 and Team Foundation Server 2008 SP1
An important "best practice" for any mature software organization is to automate
the build process for applications. Dan Sniderman will show why and how to automate
your builds using Microsoft Team Foundation Server. This presentation will include
a brief introduction to MSBuild and has a hands-on demo of setting, extending and
customization builds in TFS.
Speaker
Dan Sniderman is a Senior Consultant for Magenic, one of the nation's premiere Microsoft
Gold Certified Partners. Dan has twenty-five years of experience in software development.
Since 1993, Dan has specialized on developing business applications on the Microsoft
platform. Most recently, Dan has worked with C#, VB.NET, Windows Forms, ASP.NET
and ASP.NET Ajax. For the past year Dan has focused on using and customizing Team
Foundation Server. In addition to a BA from the University of Illinois, Dan has
a MCSD.NET and MCTS in Team Foundation Server. Dan recently published an article
on TFS in the .Net Developers Journal. Dan also is a professional trombonist.
Building a Dynamic Game Engine in XNA: Giving Power Back to the Creators
In this talk, different methods for implementing a dynamic game engine are introduced.
Such examples include loading game menus through XML, generating 2D levels with
simple text files, and using other file formats to generate game levels, menus,
etc... The primary focus of this talk is to show implementations of code that pull
data from other sources to build simple games. Note, the specifics of XNA won't
be detailed in this discussion unless absolutely necessary.
Speaker
Matthew Christian is a student studying Applied Mathematics and Applied Science
with a concentration in Software Development at the University of Wisconsin - Stout.
He holds an Associate's Degree in Computer Programming from Northcentral Technical
College.
Introduction to F#
With Visual Studio 2010, F# will officially become a first-class citizen in the
.NET development ecosystem. This session will explore functional programming, why
it matters in an object-oriented world, and how F# bridges the gap. I will also
discuss some lessons learned from using F# with OpenCV, an unmanaged computer vision
library.
Speaker
Keith Dahlby is a .NET developer and language geek from Cedar Rapids, IA. He works
as a SharePoint consultant with Inetium and blogs about SharePoint and .NET at Solutionizing.NET.
He is also studying Human-Computer Interaction at Iowa State University.
Real World ASP.NET MVC
With the addition of the new ASP.NET MVC framework there will be a lot of questions
surrounding how this technology can be used instead of the Web Forms that we all
have been used to since .NET 1.0. With the addition of the MVC Framework we now
have the best of the old world ASP Classic, with a compiled and easier to debug
workspace. This session will cover a quick overview of the MVC framework, and continue
with building a 'Real World' application. The message that will be carried from
within the session will be how the MVC Framework can be harnessed in future projects
within the attendee's future projects. This will be a "Must See" session for any
web developer looking to the future.
Speaker
Gus Emery is a Senior Consultant with Magenic, one of the nation's premier Microsoft
Gold Certified Partners. Gus has over fourteen years experience architecting and
implementing highly-scalable ASP.NET applications and distributed n-tiered applications
across a broad array of industries within the Twin Cities area. Gus has been working
with .NET since Beta #1, and loves to seek out new and exciting technologies to
serve his customers technological needs!
Testing with Mocks
Presentation Materials
Test this, test that, no problem. But what about when we need to start building
full object graphs into our test in order to test an interaction or state? Yeah,
Houston, we have a problem. With mocks we can streamline development by mocking
out dependencies. Mocks will allow us to not only mock our dependencies but to also
test our interactions and state very easily. In this session learn how to use mocks
in your day to day testing.
Speaker
Donn Felker is a Senior Consultant with Magenic. He has over 8 years of professional
experience in various markets that include – entertainment, health, retail, insurance,
financial, and real estate. He is a MCTS in Web Client Development for .NET 2.0
and 3.5 and is also a certified ScrumMaster. He is the founder and coordinator of
the Twin Cities Give Camp, the founder of Twin Cities Pragmatic Beer, a writer,
presenter and consultant on various topics ranging from architecture, development
in general, agile practices and patterns & practices.
Silverlight and the Farseer Physics Engine
Presentation Materials
In this code and demo-heavy session, you will learn how to use the Farseer Physics
engine with Silverlight to create dynamic and unique scenes in a browser. We'll
wire up the Farseer engine to the UI, handle collisions, join physics bodies together,
and control parameters such as gravity and friction. Presenting data and offering
a user interface with physics-like qualities is becoming commonplace in cutting
edge applications, and the Farseer engine with Silverlight is one way to deliver
that experience.
Speaker
Mike Hodnick is a Lead Consultant with Inetium, based in Bloomington, MN. Mike has
worked as a developer in the Twin Cities area for ten years. In his spare time he
enjoys songwriting, home recording, hiking, camping, hockey, and performing highly
controversial experiments with WPF.
Links
Surface Is Hot!
Stop, drop and roll your way into Microsoft Surface development. This session will
focus on what Microsoft Surface is, how to interact with it, and what language drives
it. The session will finish up with a simple code demonstration to hose it all down.
[Note: The speaker is opposite of wealthy so there will not be an actual Microsoft
Surface unit, the demonstrations will be done using the Surface Emulator]
Speaker
Brian Lockwood enjoys spending his own time dabbling in anything XAML. He loves
to contribute findings and thoughts about the platforms he develops on. Brian blogs
occasionally and is an .NET instructor at New Horizons of Minnesota.
Learning to Walk in Shoes - A Fun and Easy Framework for Cross-Platform GUI Apps
When you're using Shoes, programming is really fun again. Shoes is a simple yet
powerful application framework for developing cross-platform desktop applications.
In just a few lines of code, you can be pulling feeds from Twitter, and in a few
more, you can be grabbing videos from YouTube. Kids as young as five years old are
learning to program using Shoes because it's so easy and comfortable, but it's also
extremely flexible too. You can use it to check on the status of your servers or
as a frontend to pushing code into production. In this session, you'll learn about
the Shoes framework and see how easy it is to build something fun and useful.
Speaker
Brian Hogan is a freelance consultant and trainer and is the author of "Web Design
for Developers" from the Pragmatic Bookshelf and "Rails For Windows" from O'Reily.
He has over 13 years of web development experience and currently focuses on design,
accessibility, and open-source technologies such as Docbook, Ruby, and Ruby on Rails.
Links
Intro to iPhone Development
Presentation Materials
In this presentation we'll cover the basics of creating a simple iPhone weather
application using XCode, InterfaceBuilder & Yahoo.
Speakers
Dan Bennett is Senior Director, Online in the New Product Technology group of Thomson
Reuters responsible for development of online legal products. A serial developer
by night, Dan started messing with the iPhone SDK on launch, but then lost his iPod
touch dooming his plan to get the first Suduko app on to the app store. However,
all is not lost, as along with Jay, he has recently been building proof-of-concept
apps for Thomson Reuters content delivery to this device.
Jay Peyer is a Senior Software Engineer within the KeyCite development group of
Thomson Reuters. A graduate of U.W. Madison, Jay has been developing software commercially
for 5 years. A Java developer by day, Jay finds himself attracted to the (somewhat
perverse) pleasures of Objective-C and has been learning and working in Cocoa alongside
Dan since the fall.
Implementing Presentation Patterns that Truly Work Across Platforms
Presentation Materials
In layered applications, the presentation layer is just as important as navigation
logic, business logic, and data access. While you should try to keep the presentation
layer independent from the UI technology and platform in order to improve testability,
it's not always easy to do. Design patterns can help. In this session I'll discuss
design patterns such as Model View Controller (MVC) and Model View Presenter (MVP)
for building presentation layers that can truly be used across multiple platforms,
including WPF, Silverlight and Windows Mobile, and in Software as a Service (SaaS)
scenarios.
Speaker
Adam Grocholski has an awesome job at RBA Consulting where he has been working since
2006. Lately he has been diving into the latest and greatest UI technologies such
as Silverlight and WPF and showing his clients how they can create compelling user
interfaces for their line of business applications with quick turnaround times using
these tools. When he is not working he enjoys spending time with his family and
working on projects around the house.
Become the Master of Your Domain with Domain Specific Languages
This talk will explore the benefits of creating Domain Specific Languages, talk
about how existing DSLs affect us everyday and discuss how different types of DSLs
can be implemented. We will talk about practical examples of how to create DSLs
of various styles including fluent interfaces, External DSLs with MGrammar and Internal
DSLs with Boo and Boo Ometa.
Speaker
Justin Chase works for Microsoft on the Expression team and is the lead on the open
source project NBusiness. He has a special interest in DSLs and programming languages.
In the rest of his spare time he likes to travel, play paintball, brew beer and
play games.
Links
A Walk on the Wild Side: Imposing Structure on an Unstructured World
Presentation Materials
One definition of programming is the extraction of formal structure from unstructured
situations. The "real world" is chaotic. When we develop software, we abstract from
this messy maelstrom to build database tables and software objects that are, at
least relatively, more structured. But it is impossible to eliminate the mess. Anyone
who writes that part of the application that accepts data at the "edge" of the application
knows just how messy it can be. There are three ways that the application design
can respond to the data entry problem:
- Reduce the complexity of the data entry by requiring the user to parse the data
into individual textboxes that are so simple as to be un-interesting. If you build
applications this way, turn your head away in shame. Stand tall and say, "I will
not make my users do work that the computer software can and should be doing."
- Build logic to parse the mess and extract as much of the meaning from the maelstrom.
This is fun, interesting, and useful. There are several ways of doing this and each
way leads to lots of opportunities to show you some code.
- Add structure under the covers by using "micro formats". Again, this is a good
thing that lends itself to more opportunities to show you some code.
Just so you won't think parsing and micro formats are only for the "fancy folk",
we will look at parsing and micro formats to deal with common data entry items such
as addresses and phone numbers. These "ordinary data entry problems" can be very
difficult to solve in the general case. We will parse these items with regular expressions,
programmatic state machines, and formal parsers, noting the wonders and woes of
each approach. Once you have struggled with handing the entry of these items, you
should be motivated to make it easier for others by tagging your output using "micro
formats" that vastly reduce the effort for other programs to accept the output your
applications produce.
Speaker
Jon Stonecash is a senior consultant at Magenic, a Microsoft Gold Partner consulting
company. 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. 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
Building Better Applications with UX Principles
I will talk about some of the UX principles and practices and how we as business
application developers can use these concepts to help build better applications
for our users. This session will be a tips, tricks, and lessons learned session
on building better UI's.
Speaker
Corey Miller is a professional designer and software developer with extensive experience
in multimedia, web & windows based applications. A pioneer in Flash and Silverlight
development, he uniquely combines design sensibility with rock-solid Microsoft .NET
development skills. Recently, he was instrumental in developing a Silverlight business
application (the first of its kind) for a major railroad company. Corey is highly
active in the designer/developer space, co-founder of CD2UG, Microsoft MVP in Client
App Development and has served as a presenting speaker at numerous community events
in the Chicago area.
Groovy Metaprogramming
Presentation Materials
Ruby's monkeypatching brought the idea of metaprogramming to the masses, or at least
to those that weren't exposed to it in Lisp or C. At its best, metaprogramming can
greatly improve productivity, as is the case with Grails, but at its worst it can
destroy expectations and induce versioning confusion. This talk introduces the myriad
metaprogramming techniques Groovy and dynamic typing allows, shows how some of them
are used in real life, and compares them to what's available in other languages.
Oh yeah, all code will be written live.
Speakers
Hamlet D'Arcy has been writing software for about a decade, and has spent considerable
time coding in C++, Java, and Groovy. He's passionate about learning new languages
and different ways to think about problems, and recently he's been discovering the
joys of both F# and Scheme. He's an active member of the Groovy Users of Minnesota
and the Object Technology User Group, is a contributor to a few open source projects
(including Groovy and the IDEA Groovy Plugin), blogs regularly at http://hamletdarcy.blogspot.com and can be contacted at
hamletdrc@gmail.com.
Scott Vlaminck has been developing web applications for about a decade, and has
spent most of that time using Java and J2EE. For the past two years, however, he's
been enjoying the freedom of programming in Groovy using Grails. He's an active
member of the Groovy Users of Minnesota and has contributed to both the Grails and
Groovy projects. His weblog can be found at
http://refactr.com/blog and he can be contacted at
scott@refactr.com.
Code-Free WPF Data Binding
WPF provides a new paradigm for data binding in your application. Learn how to bind
elements to a variety of data sources right from the XAML mark-up without a single
line of code. In this presentation we will bind to a variety of data sources in
the form of common language runtime (CLR) objects and XML.
Speaker
Kirstin Juhl is software developer and consultant for Magenic, a company focused
on delivering business value through applied technology and one of the nation's
premiere Microsoft Gold Certified Partners. Kirstin has been developing software
since 1996 when she started a career in engineering. She has been full-time in software
development since 1999 and specializes in middle/back tier and database design,
development, and performance. Kirstin holds a B.S in Chemical Engineering from the
University of Minnesota and an M.S.in Software Engineering from the University of
St. Thomas. She lives in St. Paul, Minnesota with her husband and two children,
and when not speaking at software events enjoys mountain biking all over the Midwest.
Working with WPF (aka "Let's build yet another Twitter application.")
This session we will start from scratch and build a functional Twitter desktop application
using WPF. Along the way, I'll share some of the lessons learned thus far as a newb
WPF / experienced Win32 developer.
Speaker
Cory Smith maintains a .NET related blog at AddressOf.com and is very active in
the .NET community. His community involvement includes: President of the Dallas/Fort
Worth DNUX group, Vice President of the Fort Worth .NET Users Group, VBInsider Member,
Microsoft MVP, member of the South Central District Developer Guidance Council and
a member of the INETA Speakers Bureau. A veteran developer (professionally writing
software for almost 20 years) working on projects ranging anywhere from major e-commerce
sites such as RadioShack.com and InterstateBatteries.com to applications that are
at the heart and soul of over 4600 radio stations around the world. His work history
includes working for Tandy/RadioShack, Rare Medium, Inc., Electric Works Corp.,
Scott Studios Corp. and Shiny Stone Digital. For the past two years, he's been managing
a startup that provide software and services to the radio industry. Cory is also
owns and operates a combative martial arts academy, coaches a MMA fight team, is
an avid motorcycle enthusiast and attempts to watch every action movie ever released.