Fall 2010 - Sessions
Here's a list of session titles currently submitted. Note that the final list may
not contain all of the session ideas.
"Introduction To..." Sessions
Introduction to Programming on the Google Android Platform -
Kenny Goers
In this session, Kenny will delve into the basic requirements for you to get started
with Android development. This will include covering the architecture of the Android
operating system as well as some ins-and-outs of Android mobile development, starting
with the basic install (Eclipse and Android SDK) and ending with publishing to the
Android Marketplace. A general understanding of the Java language is advised but
not required.
Introduction to Silverlight Development on Windows Phone 7 -
Jeff Brand
Take a look at how you can get started developing applications for Windows Phone
7 Series using the free downloadable tools that are now available. Starting off
with an overview of the Windows Phone platform, we'll then cover the new application
model, developing apps, leveraging services unique to the phone, and more. This
session is very "demo heavy" with most of our time spent building an application
that shows off the various phone features.
Introduction to the Microsoft Data Stack - Mike Benkovich
Data is the core of why we build systems and solutions and look for opportunities
to automate and simplify. What are the options and when do you make tradeoffs? In
this session we'll take a look at what's new with the ADO.NET Entity Framework and
how it fits into working with WCF, REST and RIA based services. We will explore
the technologies and the trends that are driving it to see where Microsoft is going
related to data.
Introduction to Windows Azure - Tim Star
If Cloud computing is "the next big thing" in web development what do we, the developer,
need to do to prepare to write applications that will run on the Windows Azure platform?
In this session we will take a look at what Windows Azure is and how developing
applications for deployment in the cloud differs from writing applications that
are hosted onsite. We will look at the Development Fabric which simulates the Windows
Azure fabric on your local computer so that you can run and test your service locally
before deploying it to the cloud. We will also take a look at the Windows Azure
storage options including queues, tables, blobs, and SQL Azure. Finally we'll use
the dev fabric to write a simple application that may be deployed to the cloud.
Introduction to PowerShell 2.0 - Keith Dahlby
PowerShell is Microsoft's next-generation command-line shell and scripting language.
This session will discuss why you need it, how to use it, and what makes it different
from any other shell on any platform. Beyond its traditional uses for system administration,
PowerShell provides full access to .NET for Read-Eval-Print loops (REPL), rapid
prototyping, object exploration and extensibility. After an overview of language
features and what's new in version 2.0, we dive into an interactive demo, so come
prepared with questions you have or problems we can solve together.
Standard Sessions
Cascading Styles Sheets (CSS) for ASP.NET Developers -
Robert Boedigheimer
Do you still use tables to layout your user interface? Do you still use the <font>
tag or have presentation information scattered throughout your markup? Learn how
to leverage CSS to separate your content and presentation, and the many benfits
it provides. Review selectors, inheritance, and grouping. Learn common techniques
for providing for a flexible layout and design that can be modified easily later.
Discover the media attribute to target different styles for screen and print. Review
the new CSS 3 improvements, and what browsers support them. See how to maximize
performance when using CSS via proper use of HTTP compression, minification, and
expirations.
Things Every ASP.NET Developer Should Know - Robert Boedigheimer
There are many things you need to know to be a good ASP.NET developer. Do you understand
the basics of HTTP? Do you know what a request and response look like "on the wire"?
Do you take advantage of HTTP compression and expirations to reduce bandwidth and
requests to your web site? Benefit from many years of experience with web development
and discover features, tools, and techniques that you may have never used before.
Utilize response filters and adapters to modify the output of your pages. There
will be a wide variety of useful tips that can be taken and used today on your ASP.NET
web sites.
Using F# To Solve Real World Problems - Aaron Erickson
So you have seen a few sessions on F# that introduce the concept. Maybe you are
now excited about functional programming - or maybe you need a little more convincing
to really see how it is used in the "real world". Come to this session, and see
examples of useful F# applications that can potentially have real impact on humanity.
In the session, we will cover the following topics:
- Using F# based Monte-Carlo simulation to avoid another global financial crisis
- • Using F# based Natural Language Processing to solve the problem of "incivility
on the Internet"
As we go through these examples, you will see how F# is particularly useful for
solving these types of problems that involve simulation and categorization.
Evolutionary programming and computation have been used in the past to produce amazing
and unexpected designs, yet a lot people don't know how powerful these concepts
are. This session will describe these principles and show how you can use them as
you develop .NET code by using LINQ expressions.
Building Offline Mobile Apps with HTML5 and Web Standards -
Brian Hogan
Interested in developing an app for the iOS devices AND the Android platforms? What
about an app that also works on Windows, OSX, and Linux? With new features in HTML5,
you can build database-backed applications that run completely in the browser using
nothing more than HTML, CSS, and Javascript. In this talk, you'll see how to build
a very simple app that will work on multiple platforms, and even work without a
network connection. Don't let app stores or complex languages keep you from building
apps for mobile devices. Come see how easy it can be!
Creating Unlimited User Experiences with Silverlight 4.0 -
Jeff Klawiter
Silverlight remains one of the few rich client architectures that provide a very
strict separation of presentation and logic. Using TemplateParts and VisualStates
an application can maintain the same functionality while providing wildly different
interfaces. Utilizing Blend, Open Source and Programmer "design" we will create
an application with templated controls, creating new themes and provide ways to
download them on the fly.
jQuery Plugin Development - Aaron Godin
The jQuery Javascript library has become a household item in the web development
community. It allows for simple event binding, DOM manipulation, and asynchronous
requests. Thanks to jQuery's easy plugin development process, the task of making
code reusable is a breeze. We'll go over building simple to complex jQuery plugins
that allow for code reuse and the ability to contribute to an exciting community
of plugin developers.
Stomp out the top 10 Security Risks - Glenn Leifheit
OWASP released a new Top 10 Security Risk document in 2010. We will discover techniques
on how to prevent these risks and secure your applications. We will also deal with
the often difficult task of security vs functionality and how come out ahead.
What's New in the .NET 4.0 BCL - Jason Bock
With the release of the 4.0 version of the .NET Framework and Visual Studio 2010,
there's a lot to take in. In this talk, we'll narrow the focus to the additions
to the Base Class Library (BCL), which includes tuples, numerics, I/O, parsing,
collections, and other various goodies.
Website Usability 101 - Tim Barcz
Do you want to create a more intuitive website? Want to make your customers happier?
Website Usability is a very hot topic right now. I'll discuss several tools you
can use to test your website and resources you can turn to if you're getting started
in usability. First we'll define what it is and why you want it and then we'll walk
through a series of tools and resources you can use. Attendess will see real-world
examples throughout and will leave understanding how easy and quick testing can
be.
Threading Your Existing Solution - Larry Louisiana
Multi-core machines mean more compute power, take advantage of that by threading
your program. We will cover how to spot "problems" before they may arise, what patterns
are the most amenable to parallelization and cover code analysis methods with a
case study.
NoSQL - Exploring Non-Relational Data Storage - J Wynia
Relational databases have dominated as the solution for data storage and retrieval
for decades in application development. But, all along in the fringe and recently
rising to popularity are a whole class of alternatives. This session covers the
range of technologies that are going under the banner NoSQL (Not Only SQL). Find
out what makes these different from the SQL database systems you're probably more
used to and where they fit as solutions and whether something like RavenDB, DB4O
or MongoDB might work for your next project.
Your Silverlight app does WHAT? - Mike Hodnick
Out-of-browser, network detection, microphone, webcam, GO! In this session we'll
build a Silverlight application that captures media from your computer's webcam
and microphone and then uses network detection to determine when it's ok to upload
the data "somewhere". We'll cover the ins, outs, and "gotchas" of the API that detects
an internet connection as well as what it means to run "out of browser". We'll also
dig in to the capture API, learn how to connect to a computer's webcam and microphone,
and also record some real data from those devices.
MongoDB: Awesomely Dangerous - Ethan Gunderson
MongoDB is a scalable, high-performance, open-source, document-oriented database.
It merges the speed of a key-value store, and the feature set of an RDBMS, but it
isn't all puppies and rainbows. This talk will cut through the hype, and go over
some of the fundamentals of Mongo, and then go into some of the more interesting
features. We'll then go over problem scenarios where Mongo really shines, and then
some of the gotchyas and trade offs you'll encounter. You'll leave the session with
a better understanding of when you should be using Mongo (and when you shouldn't),
allowing you to make informed decisions on your next project.
Web Development with Ruby - From Simple To Complex - Brian
Hogan
Beyond the massive hype of Ruby on Rails, there's an amazing world of frameworks,
DSLs, and libraries that make the Ruby language a compelling choice when working
on the web. In this talk, you'll get a chance to see how to use Ruby to quickly
build a static web site, create complex stylesheets with ease, build a simple web
service, crete a simple Websocket server, and test your existing applications. Finally,
you'll see a few of the ways Rails really can make developing complex applications
easier, from advanced database querying to rendering views in multiple formats.
Getting Down with MEF – Silverlight Edition - Adam Grocholski
In certain .NET circles there has been a lot of talk as of late about the Managed
Extensibility Framework, or MEF. You may have even heard some of this chatter, but
you're probably asking yourself "What the heck is MEF and why should I care?" At
its core, MEF is a library for creating lightweight, extensible applications. MEF
is an integral part of the .NET Framework, and Silverlight 4 shipped with out-of-the
box support for MEF. In this session we'll dive into the guts of MEF looking at
what it is, why you might want to consider using it, and how to actual implement
MEF in your Silverlight applications.
If your first thought when deciding to build a web application with Ruby is to run
"rails APPNAME", I'm here to tell you: You're doing it all wrong. Ok, that was a
bit harsh. But you needed to hear it. Q: Has Ruby on Rails transformed the way we
think about building web applications? A: Yes. Q: But isn't it true that using Rails
is extremely simple to use even if I haven't done Ruby before? A: Yes. Q: So Rails
is what I should you use build Ruby web applications? A: Maybe. If Rails is a hammer,
it's my goal to show you that your next project may not need nails. I hope to show
you the benefits of how using simple Ruby can put you on the path to better application
design. I'll also show you a few tools of the Rubyist's trade that enable you to
build a modular web application from emerging needs of your problem space. In the
end we'll come full circle and I'll show you how the Rails philosophy is shifting
in the direction of modular design and how we can leverage all of our knowledge
with Rails to build powerful Ruby applications for the web.
Our ability to accurately estimate the software development process might be more
important than our ability to actually write code. Estimation can be both art and
science, but a lot of developers don't even know where to begin. Poor estimates
can lead to missed deadlines, lost opportunities, and a lack of trust between management
and developers. This conversational presentation (light on code) will help you avoid
the common pitfalls of project estimation. You'll leave armed with smarter estimation
techniques and more accurate ways to communicate what's going to happen and when.
LINQ Internals II: System.Interactive - Keith Dahlby
System.Interactive is a library distributed with Microsoft's Reactive Extensions,
currently available on DevLabs, which provides a number of useful extensions to
the LINQ Standard Query Operators. These extensions include operators to add and
contain side effects, handle exceptions, generate and combine sequences, and much
more. This session will review the new operators and discuss interesting problems
they can be used to solve. Note that Rx is available for .NET 3.5 SP1, Silverlight
3 and .NET 4.0, so this session is not just for those developing on the bleeding
edge.
Silverlight 4: Off the Beaten Path - Jeff Brand
This session will look at some of the less talked about new features in Silverlight
4. Features that have typically been bullet points on a slide titled "What's New
in Silverlight 4" will be explored in more detail. We will look at things like printing,
application lifecycle, custom chrome, notifications, a dash of Blend goodness, and
more.
Smooth Streaming in Silverlight with the Silverlight Media Framework -
Vince Bullinger
The Silverlight Media Framework was developed from best practices learned from the
development of such notable implementations of smooth streaming with Silverlight
as the Olympics, Wimbledon, Sunday Night Football and the Tour de France. In this
session, we'll go over the SMF, when you should use it and we'll finish by building
an app that highlights the most fun and interesting elements of SMF.
Advanced Android Development - Donn Felker
In this session you will learn how to use some of the more advanced techniques in
the Android ecosystem. The majority of this session will be purely code based and
interactive with the audience through Q & A. The audience will be introduced into
advanced Android development techniques that include dependency injection, unit
testing and the Droid-Fu framework. It is recommended that you have had experience
developing on the Android platform and have experience with Java.
Silverlight for Line of Business Apps - Scott Davis
Many people still think that Silverlight is only for media on the web. This session
will give an overview of the many reasons why the last two releases of Silverlight
have made it an excellent choice for LOB applications. See how binding reduces application
code, learn about the controls that make data capture easy, and see how RIA Services
has made N-tier application development simple.
Getting Dirty with Android - Brent Edwards
You've learned how to get set up to develop for the Android platform and how to
publish an app. Eclipse is all ready to go and you've got 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 the Android platform. We will discuss concepts
such as layout, styling, asynchronous tasks, lifecycle management, menus, dialogs
and custom graphics. This will be a code-heavy session where we will be getting
our hands dirty to illustrate these concepts in action.
Build a Silverlight App with CSLA 4 - Rockford Lhotka
CSLA .NET is one of the most widely used .NET development frameworks, and it was
the first major framework to support Silverlight. Learn how to build powerful applications
in Silverlight by leveraging all the great capabilities provided by the newest version
of the framework: CSLA 4. This session will show you how to build rich business
domain objects that run on your Silverlight client and application/web server, as
well as how to use the MVVM design pattern to build the Silverlight UI with absolutely
no code behind the XAML views.
Real World Entity Framework - Ride The Unicorn - Jaim
Zuber
Entity Framework Version 1 was released with .NET 3.5 SP1 with much fanfare and
significant criticism from the development community. Version 2 with .NET 4.0 addressed
many of these critiques but concerns for it's current viability remain. This session
will go over some real world applications and show how Entity Framework made our
job - and lives - easier. This will include patterns considered for Orbject Relational
Mapping (ORM), pitfalls to avoid, lessons learned and why Entity Framework was used
over other ORM options.
Visual Studio 2010 with Silverlight and SharePoint 2010 -
Mike Benkovich
SharePoint 2010 is the next generation of collaboration and content management system
from Microsoft, and Silverlight is a framework for building great user experience.
In this session we will look at how you can use Microsoft Silverlight 4 to integrate
rich, powerful applications into Microsoft SharePoint 2010 and how the features
of Silverlight 4 can power interactive business applications on Microsoft SharePoint
2010. We walk you through examples of patterns for integrating and hosting Silverlight
applications in SharePoint 2010 using Microsoft Visual Studio 2010.
Build an ASP.NET MVC App with CSLA 4 - Rockford Lhotka
ASP.NET MVC is a rising star in the web development space. CSLA .NET is one of the
most widely used .NET development frameworks. Learn how to build really cool web
applications in MVC based on a rich business domain model created using CSLA 4.
This version of CSLA includes a MVC model binder, controller helpers and Html extensions
to make it very easy to build a great web UI over a CSLA object model. You can easily
tap into the business, validation and authorization rules in the business objects
and express them in your web UI.
Build Mobile Apps with AIR - Chris Black
Building cross platform applications for mobile devices has never been easier. The
latest version of Adobe AIR has APIs for multi-touch, gestures, geo location and
the accelerometer. This technology is available today on many Android devices and
will soon be supported by 19 of the top 20 cell phone manufacturers. In this session
we'll go over everything you'll need to build, test and deploy high performance
mobile applications. The end result will be a file that can be submitted to the
Android Marketplace for sale.
HTML5 Markup: What Can We Use Now? - Stu King
All the hype would suggest that HTML5 will someday replace plugin based technologies
for the web like Flash and SilverLight but what can you safely use today? How will
HTML5 affect the popular page layout patterns we have all come to expect on the
web? How can we use features in the HTML5 spec to build better page layouts? We
will also touch on closely related specifications for HTML5 such as W3C's ARIA (Accessible
Rich Internet Application) and learn how to build richer more accessible forms by
extending the semantics of HTML5 even further.
Leveraging GPUs/Multicore CPUs With .NET and Brahma -
Ananth Balasubramaniam
See how you can leverage the dynamic nature of C# and .NET to provide an intuitive
and extensible programming model for the current (and upcoming) crop of many-core
architectures (including GPGPU). The presentation will show you code samples, performance
comparisons; discuss optimization, extensibility and flexibility. You will also
be shown where and how you can get this open-source library and use it in your own
commercial/non-commercial application.
Scrum and Microsoft Visual Studio 2010 - Scott Koland
This session will describe how the new Microsoft Visual Studio Scrum 1.0 process
template for VS 2010 can be used to manage a Scrum project. The session will review
the fundamentals of the Scrum framework and show how the Scrum template maps those
items in Team Foundation Server. Other aspects of managing a successful Scrum project
in VS will be reviewed, such as techniques for ensuring quality on a self-directed
development team and how a Scrum team can effectively estimate and plan work items.
Modern Version Control Systems: Choosing a Tool That Meets Your Needs -
Robert Altman
Version control is one of the most critical tools developers use: from keeping files
safe, to tracking revisions, to enabling effective collaboration. Often, a VCS is
selected on the basis of what is easily available or has previously been used; without
consideration for the needs of the developers, how well it protects the work they
create, or how it helps them work more effectively.
This session will cover the types of version control systems that are available,
their strengths and weaknesses, and how to use them effectively; it will focus,
in particular, on distributed version control systems, how they differ from centralized
systems, and what is significant about those differences
How to Conquer Startup Fever - Andy Pickett
Most of us developers have that bug, you know the one, the itch, the drive to create,
to start something. But, the inertia of the couch is sometimes just too much to
overcome. We've got the skill and the ideas, but sometimes we just need a kick.
One terrific kick is Startup Weekend (Nov 19-21, go sign up ,we'll wait). In this
session Andy Pickett describes how Startup Weekend provided that launch pad and
just enough boost for his teammates to get something real off the ground. That something
is QONQR, the GeoSocial Game of World Domination! This session will be 1 part code,
1 part business, 1 part game theory, and 100% awesome. We'll walk through the process
of the startup from pitch to design to alpha to beta and beyond. It will include
a tour through the (3 week old) codebase that is QONQR (including a Mobile Web front
end using ASP.Net MVC 2 and jQuery, a Tactical Command Center written in Silverlight,
and SQL Server back end). Hopefully this will just be a fun, maybe inspiring conversation
about getting something started. There will be absolutely no best practices or patterns
displayed, as well as no legally binding business advice of any kind, this much
we promise you.
Multi-targeting WPF, Silverlight, and Windows Phone 7 -
Adam Grocholski
With WPF, Silverlight, and now Windows Phone 7, all using xaml, multi-targeting
applications can be a reality. However, it's not without its challenges. In this
session I'll talk about which things are easiest to share, and which are hardest.
I'll also show you some recommended approaches on how to structure your project,
as well as a comparison of the different ways by which you can share code and xaml.
I'll cover topics such as assembly portability, code sharing using linked files,
usercontrol encapsulation and abstraction, and even loading xaml at runtime after
tinkering with the source via code.
Tips and Tricks for Code Generation with T4 - Jon Stonecash
The recent versions of Microsoft Visual Studio use code generation to support a
number of features, using the T4 code generator that is built into each copy of
visual studio. T4 stands for the Text Template Transformation Toolkit and with some
work is also available to the software developer. This session is a compilation
of practical tips and tricks for using T4 to generate everything from snippets of
code to entire data access layers:
- The syntax and semantics of the template language.
- The inclusion of sub-templates
- The process for debugging templates (or "why you do not want to put any more code
than you have to into the template)
- The process of removing logic from the templates by writing helper assemblies.
- The process of removing logic from the templates by writing pre-processor packages.
- Helpful add-ins to make editing template code less painful.
- The reasons for using partial classes and even partial methods.
- The reasons for running code generation in a project other than where the generated
code will finally live.
T4! Just do it!
Windows Communication Foundation Mechanics - Nazmul Siddiqui
Service Oriented Architecture is the next inevitable communication paradigm for
the simple reasons of cost effectiveness through higher visibility and efficiency
in terms of maintainability and scalability. Windows Communication Foundation, WCF,
is Microsoft's comprehensive framework toward that end. In this session we'll analyze
and discuss the fundamental mechanics behind developing (including migrating existing
libraries to) WCF service libraries, hosting the libraries, and consuming them.
We'll analyze all three of these aspects in some detail from existing underlying
object models to extending parts of the framework to support varying consumer needs.
We'll identify and highlight the inner workings of Windows Communication Foundation
to get the most of what the framework has to offer.
An Overview of ASP.NET MVC - J Wynia
Keep hearing about this ASP.NET MVC thing and wondering what it's all about? This
session is a whirlwind tour of the basics of how the framework fits together and
how you can start building applications using it as well as pointers for resources
to dive in when you head back to the office.
Introduction To Microsoft SQL Server Reporting Services Report Models -
Mark Vaillancourt
Report Models can be a great way to empower your end users to create their own reports
through a drag and drop tool. This presentation will discuss how to create, maintain
and secure SSRS Report Models. Although the focus is on implementation, we will
use Report Builder 3.0 to demonstrate report model consumption. We will also cover
some tips and tricks learned through real-world experience implementing and supporting
report models for clients.
Axum is a programming language launched as an incubation project within Microsoft
DevLabs. Unlike traditional object-oriented languages, Axum is an actor-oriented
language that uses principles of isolation, actors, and message-passing to increase
application safety, responsiveness, scalability, and developer productivity. This
presentation will include a walkthrough of small sample applications written in
Axum for Visual Studio 2010 that offers an overview of the Axum language.
Box2D Physics Engine: Quick Start - Chris Black
Box2D is the most powerful and widely used physics engine for online games. It allows
developers to quickly create dynamic, life like, environments for their application.
In this session we'll cover everything you need to get started with the latest version
of Box2D for ActionScript. Learn how to create a 2D world, add objects and apply
forces. All source code for the demo will be provided and we'll finish with an example
of Box2D running on the Nexus One with Adobe AIR!
LINQ to Twitter: Learning how to Build a Custom LINQ Provider -
Joe Mayo
To successfully create a ubiquitous data access technology that can work with any
data source, Microsoft needed to build a framework that anyone can work with to
introduce their own providers. This ubiquitous data access technology is called
Language Integrated Query (LINQ). Today, Microsoft ships several LINQ providers
out-of-the-box: LINQ to Objects, LINQ to DataSet, LINQ to SQL, LINQ to Entities,
LINQ to XML, and LINQ to Data Services. There are also many 3rd party LINQ providers
for various data sources, made possible by reusable .NET Framework types. LINQ to
Twitter is one such 3rd party provider, which is the example used in this presentation.
You'll learn how LINQ to Twitter is implemented with various interfaces and patterns
to expose the common LINQ development experience you've grown accustomed to with
other providers. The main difference is that the data source is Twitter. Since LINQ
to Twitter is open source, you also have a working example and will gain insight
into how to create your own LINQ provider, should you ever have a need to do so.
Additionally, by looking inside of the process used to build a LINQ provider, you'll
gain a deeper understanding of how LINQ works across all providers.