Spring 2012 - Sessions
Here's a list of session titles currently submitted. Note that the final list may
not contain all of the session ideas.
A Glance At Computer Therapy - Emma Smith
When we think about programming, we usually think about languages, debugging, and
problem-solving. But have you ever thought of how programming can benefit others,
especially with therapy? We will be looking at the growing field of computer therapy,
which uses a combination of psychology and software programming to help others going
through either physical or behavioral therapy. We will look at what it is, how it
is used, both the psychology and programming parts of it, and how the software used
is built to help others in therapy.
Targeting Mobile Devices with HTML5 and CSS 3 - Robert
Boedigheimer
Mobile devices adoption rates have been amazing, including smartphone sales passing
sales for PCs. Does your web site work well on mobile devices? Do you want to leverage
your web development skills to provide mobile solutions to a broad range of devices
rather than learn how to develop in multiple languages for multiple device platforms?
Learn how HTML5 and CSS 3 are dramatically changing the capabilities of web sites
on mobile devices, and how you can adapt your web site to be not just available
but efficient across a broad array of devices.
3D Programming for iOS: What is OpenGL ES and How Does it Fit Into the Apple-verse
- Robert Altman
Are you interested in integrating 3D graphics in your applications, writing 3D games,
or just learning about 3D development? I'll introduce you to important 3D concepts
and tools as we walk through the development of a 3D iPad application and explore
the rich world of 3D graphics for mobile devices. Topics include:
- OpenGL
- How OpenGL ES fits into iOS and Cocoa-touch
- Manipulating a 3D model in blender
- Importing a 3D model in your application
- Animating and manipulating the 3D model at runtime
- Creating an icon from a 3D model
- Resources for 3D development
Extensible, Durable JavaScript - Mike Hodnick
In this session we'll talk about taming the squirmy, naughty, and very powerful
language known as JavaScript to build solid libraries for other applications to
extend and consume. JavaScript is the programming language of the web and it is
proliferating. It is moving far beyond tricks like manipulating an HTML DOM and
is being used more and more to build powerful client-side libraries for web browsers.
Even outside of the web with Node.js, JavaScript is now a primary language to build
applications "on the server side" and on other Node.js clients. How do you design
a "library" in JavaScript? How do you build JavaScript objects so that they can
be extended? How do you protect your JavaScript objects from tampering at runtime?
With JavaScript's dynamic nature there is more than one answer to these questions,
and in this session we'll talk about them.
Extending jQuery's Event System to Create Custom Events -
James Greene
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. Many developers know they can extend jQuery using their simple plugin
development process ... but did you also know that jQuery is extensible in other
ways as well? We will focus on extending jQuery's event system to create our own
custom bindable events, such as "textSelect", "multiclick", and "swipe".
Big Data and Healthcare: Wireless Monitoring, Data Storage, and Analysis -
Wade Schultz and Brent Nelson
In this session we will cover several topics related to obtaining, storing, and
analyzing health and fitness data. With the increasing number of cheap, portable
monitoring devices, individuals can capture and record health-related data almost
constantly. Unfortunately, few of these devices are capable of integrating or providing
a useful assessment of the measurements. We will demonstrate how to quickly capture
data from Bluetooth-enabled devices such as the Wii Balance Board, Zephyr Bioharness,
and others using both WPF and Android applications. Once the data is captured, we
will store these real-time results in MongoDB and provide a simple web service secured
with Windows Identity Foundation (WIF) to access and submit data securely from mobile
devices. Providing efficient, integrated services such as these will be increasingly
important in providing the best data and analysis possible to both healthcare providers
and consumers.
NuGet: From Concepts to Implementation - Vince Bullinger
NuGet is a relatively new package management tool for the .NET framework. While
many of us have used it, not many of us have really looked too deeply into it. In
this talk, we'll learn what NuGet is, how to use it, how to get the most out of
it and finally how to build your own NuGet package.
Using Rails and jQuery Mobile For The (Quick) Win - Brian
Hogan
Right now, there's a focus on creating native applications for mobile devices, but
that can be costly, require a lot of additional time, and may be overkill for what
you're doing. By combining the flexibility of Ruby on Rails with the ease of use
of jQuery Mobile, you can develop quality mobile web apps. In this talk, we'll walk
through creating a simple app, from scratch, that presents both a desktop and mobile
view, and we'll talk about the ups and downs of this approach. Best of all, no prior
knowledge of Ruby on Rails is assumed, and you'll have all the source code you need
to recreate this project on your own.
Windows Server AppFabric Caching. Server Rich, Cache Poor! -
Mohammad Faridi
The what, and how of Windows Server AppFabric caching 1.1. In this talk we will
work with AppFabric Caching, getting it set up, how to place items in the cache,
retrieve them, etc. We will talk about using Powershell to create cache, and monitor
it. We will also talk about the pros and cons of configuration of the AppFabric
Cache service. If we have time we might go over differences b/w Azure Cache and
Windows Server Cache.
Marketing Yourself Using Various Forms of Social Media -
Brandy Favilla
The social media rocket has launched. Facebook, Twitter, LinkedIn and more – are
these time distractions or actual tools you can use to be more productive and/or
assist in reaching your career goals? This seminar will take a look at some of the
most commonly used social media tools and how best to use them in your career management
planning, building awareness and engagement to be noticed by your peers and future
employers. We will look at what career management means (whether you are actively
looking for a new position or not) and how you can leverage social media as a tool
to reach your goals.
Pair Programming Techniques - Chris Johnson
Pair programming is a trending practice. The old saying of "Two minds are better
than one" holds true. However there isn't just one way to pair program. Here we'll
cover techniques related to pairing locally as well as pairing remotely.
Android Development for .NET Programmer - Mike Marshall
The talk covers an introduction to Android application development using Eclipse,
Java, the Android SDK and the Android Developer Tools(ADT) plugin. The talk targets
.NET developers who have an interest in learning more about Android development
but are unfamiliar with the toolset that is available.
Getting Started with jQuery Mobile - Brad Broulik
You need to build an app, and you need it to run everywhere. And you need it now!
jQuery Mobile gives you the ability to write once and run everywhere. In this talk,
we will discuss jQuery Mobile's advantages and unique features. We will also talk
about jQuery Mobile design strategies, highlight many tips along the way, and see
how to get up and running quickly.
Managing the .NET Compiler - Jason Bock
With the public release of Project Roslyn, Microsoft has finally let .NET developers
get access to their long-awaited compiler APIs. The potential impact of having a
compiler API available for all developers is immense. In this session, you'll get
a tour of the elements behind this new API, such as syntax trees and engines, and
how you can use them in code analysis and metaprogramming techniques.
In this session, the speaker and the audience will "pair up" for a coding session
which will serve as an introduction to Test Driven Development in an Agile environment.
We will use C#, Visual Studio and Rhino Mocks to unit test code to be built both
with and without dependencies. We will also highlight some of the common issues
encountered during TDD and discuss strategies for overcoming them.
CQRS is the latest architectural shiny object that's been spreading like wildfire
across the blogosphre and social media. It's been touted as the next generation
architecture for scalable systems and the cure for complex monolithic applications.
The purpose of this talk is to get real about what CQRS is, the problem it solves,
and when it's appropriate in your solutions. It may not be what you think it is.
Along for the ride will be discussion about the fallacies of distributed systems
so that you can properly set the stage in your system to take advantage of what
CQRS has to offer.
Understanding the MVP - Connecting Continuous Delivery to the Lean Startup Movement
- Aaron Erickson
The minimum? Why would I only want to do the minimum? It seems counter-intuitive
- the idea that the best path forward when embarking on new product development
should focus on the smallest possible product. Why not go big and try to launch
with a big splash? Won't your customers be turned off by a lack of features and
glorious complexity? As it turns out, taking the path of humility towards your market
is a far more productive path. You can start with a small hypothesis - test that
hypothesis against real customers. Using continuous delivery, you can rapidly iterating
over your product, using data, rather than opinion, to guide your product development
efforts. Such an approach not only costs less money, it allows you to vet the initiative
before it becomes "too big to fail". In this session, we will cover what the MVP
is, how you define one, and how you use validated learning to guide your efforts.
Further, we will cover how agile software development and continuous delivery are
essential to product development efforts that use this approach.
Expressing Yourself with C# Expression Trees - Chad Kulesa
Expression trees provide many new options for creating reusable code. Understanding
expression trees will allow you to extend LINQ providers or even write your own
LINQ provider. You can also write your own fluent API, removing the need for configuration
or XML files. It is even possible to turn C# statements into Javascript! We will
begin the journey of mastering expression trees, and adding this important skill
to your repertoire.
Performance and Stability Tips for your iOS App - Matt
Ronge
Nothing will sink your app's reviews like crashes and sluggish performance. Learn
how to eliminate crashes and speed up your app from experience gained working on
complex iOS apps. In this talk you'll learn tips and trick that lower your memory
usage and weed out crashers. I'll go over Apple's profiling tools and how to best
use them. In addition I'll give real world examples of performance optimization
and how they apply to your code.
Windows 8 and XAML: Enjoy the Show - Jeff Brand
If you are a Silverlight or WPF developer, you are really a XAML developer, and
that means you are Windows 8 Metro developer as well. Check out how XAML and C#
provide everything you need to get started with Windows 8 application development.
From an explanation of how .NET and WinRT relate to taking advantage of the cool
new features in the WinRT, this session will introduce you to the foundations of
developing great Windows 8 applications.
Javascript Unit Testing with QUnit and Mockjax - Nick
Schweitzer
Unit testing is a core part of a developers job, and is an important part of software
quality. All too many times though, Javascript is left out of the unit testing mix.
Learn how to architect your Javascript to make it more testable, and also how to
use unit testing frameworks to mock your AJAX calls, create repeatable unit tests,
and integrate those unit tests with a continuous integration server.
Extending .NET Applications with MEF Plugins - J Wynia
The real world problems we're asked to solve with software are messy, the business
rules change constantly, and they vary by customer or by context. Moving the things
that change regularly into plugins lets you keep your core product solid while maintaining
the flexibility your applications need. We'll use MEF (Managed Extensibility Framework)
provide that functionality to a simple C# application.
Getting Started with SignalR - Kevin Griffin
SignalR is an asynchronous signaling library for ASP.NET. It's designed to help
you build real-time web applications without a lot of hassle. In the past, developers
would have to wire up "real-time" applications as a series of polls to a webserver,
waiting for it to receive data back that was useful. This approach usually cost
more in bandwidth than we wanted it to. SignalR simplifies this process, and makes
it more useful for the ASP.NET developer. In this presentation, Kevin Griffin will
guide you through implementing SignalR into your applications, and how you can take
advantage of everything it has to offer.
Windows 8 Metro Apps Crash Course - Jeff Klawiter
Get the answers to the following questions: What is WinRT? Are you kidding me that
you can use C# libraries in Javascript? Really, what am I "required" to do to get
my app into the marketplace? Tell me Jeff...what do you "really" think about WinRT
and Windows 8? Can you really teach me all I need to know in one session?
Boosting Your C++ Development with Boost - John Urberg
There has been a resurgence if interest in C++. Boost is a set of open source C++
libraries that are designed to work well with the C++ Standard Library. The libraries
are peer reviewed and many of the libraries are implementations of upcoming C++
standard library releases. The libraries are cross platform and work on most modern
operating systems. The presentation will cover some common libraries that you may
want to use to simplify and speed up your C++ development.
Drinking From The Fire Hose: Web Edition - Lee Brandt
We all know that technology moves fast, particularly web technologies. It can be
overwhelming trying to keep up with it all. In this session I will show some techniques
for drinking from the information fire hose, and quickly discuss some late-breaking
technologies that web developers should be investing some time to learn, including
MVC, KnockoutJS, BackboneJS, Jasmine, CoffeeScript, Bootstrap, KendoUI and more!
MVVM with Caliburn.Micro - Brent Edwards
With all the MVVM frameworks out there, it’s hard to know which one is best for
you. In this session, we will look at one of the best MVVM frameworks out there:
Caliburn.Micro. We will build an application from the ground up to show how to get
started with Caliburn.Micro from the perspective that matters the most: the code.
Using Python and the Selenium 2.0 API to Automate Web Browsers and Test Web Applications
- Jachin Rupe
The Selenium 2.0 framework is a library that allows Web browsers to be controlled
by code instead of mice and keyboards. When this is combined with python's unit
testing framework it allows unit tests to be written that test the whole application
stack. The tests can be run across browsers and operating systems. This presentation
will show some of the power of selenium and several different ways it can be used
through python code.
Estimate: reflections on the approximate - Avonelle Lovhaug
"When will it be done?" is the question most dreaded by software developers. You
may think the most important tools for creating software estimates are a crystal
ball and a divining rod, but there is a better way that won't involve magic. Plus,
accurate software development estimates can enhance your professional image in your
organization, and make life better by eliminating the mad dash at the end of the
project. This session will improve your estimating accuracy by teaching you several
techniques that I've learned through my 16+ years as a software consultant. It will
also show you how to handle situations where an accurate estimate isn't possible.
Bring your estimating questions and war stories!
Parallel Programming in .NET and Azure - Greg Levenhagen
Parallel programming remains a difficult task, but the .NET framework keeps making
things easier for developers. With the various constructs available, like the addition
of the Task Parallel Library in .NET 4, it is important to know what is appropriate
for different situations. Devices continue to gain cores and the cloud offers easily
distributed computing, so developers should understand how to utilize the environments.
Come for a walk-through of how and when to use these constructs, whether that is
in the cloud, a mobile device, desktop application or the web.
KnockoutJS and SignalR Mashup to Create Maintainable Real-Time Applications - Jason More
Combining two powerful web technoglies - KnockoutJS (MVVM for the web) and SignalR
(Async signaling for real-time, multi-user web applications), you can create a web
application that lets users communicate in real time with minimal development. We'll
quickly explore simple setup for both, then show how nicely they compliment each
other. We'll finish with an audience driven game of "Family Feud" built on this
technology stack.
Async: Today and Tomorrow - Joe Mayo
Asynchronous programming (async) is emerging as a common programming practice, especially
in .NET technologies such as Silverlight. In sophisticated scenarios, async can
be complex, which is why Microsoft is adding language support in the next version
of .NET. This talk will cover the current state of async, what the challenges are,
and how your job will be made easier with the new language features.
Move Your Silverlight Skills to the Native Web with KnockoutJS -
Judah Himango
The war's over. Web plugins like Silverlight and Flash have served their purpose
well, but the native web is now sufficiently powerful to render web plugins superfluous
and irrelevant. What's a Silverlight developer to do? Enter KnockoutJS. Instead
of throwing away our existing skills built up through Silverlight, I'll show you
how to transfer your skills to the native web via KnockoutJS, using familiar technologies
like data binding, MVVM, templates, and commanding support.
Get Your SQL Server Under Source Control - Andy Pickett
Have you ever had that dream, where you're coding away, and a team mate asks you
to "mail them that 1 stored proc", so you do, then they come back and say "that
broke my local DB's schema!!". And then you wake up only to realize.... IT WASN'T
A DREAM!?! Science tells us that less than 8.268% of Dev Teams use source control
for their database. That's crazy talk! How do you people sleep at night?! Come see
some fresh techniques using tools by Microsoft and Redgate to tame the savage data
beast. We'll explore getting schemas and data into your favorite source control
repository, complete with change history and merge resolution. The Tour de Force
will be leveraging these tools into a Continuous Integration AND Deployment process,
complete with auotmated Test Data Generation and Integration Tests. Then sleep well
at night knowing all your data babies are snuggled in and safe.