Friday, July 8, 2011

Keynote - Scott Olson

Scott Olson
Scott Olson has spent the past 18 years building software and advising clients on the potential of software and mobility. He is a contributing writer for iPhone Life magazine, technical editor of iPad in the Enterprise: Developing and Deploying Business Applications, and his forthcoming book is tentatively titled Cross-Platform Mobile Development for the Enterprise. He leads the development team at ITR Mobility, and throughout his career has worked with many of the Fortune 500 companies including Best Buy, Target Corporation, Medtronic, and Prudential Financial. He believes that what is happening in the mobile software industry today will change the way people write and use software.
Cross-platform Mobility: The Rise of Mono in the Enterprise
The introduction of the iPhone, iPad, and Android has changed the mobile computing landscape, and the impact these devices are making on corporate IT is no less significant. The mobile revolution is all about the apps, and expectations of both device capabilities and user experience have profoundly changed. Consumer owned devices are entering the workplace at an unprecedented level, and rather than the IT department dictating device choice the average worker is driving adoption. This seismic shift in the power structure of enterprise IT is creating a huge demand for cross-platform development solutions. CEO’s and CIO’s across industries have made significant investments in C# and .NET technologies. Mono empowers them to bring these technologies to new platforms, and is poised to make a huge impact in the enterprise.

Svein Arne Ackenhausen

Svein Arne Ackenhausen
Husband, father and co founder of Contango Consulting AS. I have been in the enterprise market for 10+ years working with automation and financial systems doing software development, design and training. The majority of my work experience comes from working with Microsoft technologies. However my OS of choice is Linux so I do a lot of my daily .Net development on Linux using mono.
Asynchronous programming made simple through messaging
Multi core systems are everywhere these days. How do we adapt our designs to fit this future? There are several techniques out there for utilizing multi core systems in our applications. There is the Task Parallel Library, Parallel Linq and even plain old fork and join. However these are all techniques that will help you work with parallel execution in a synchronous setting. Mixing synchronous and parallel is no match made in heaven and can become quite painful. So why are we still sticking to synchronous designs?

Paul Betts

Paul Betts
I'm a software engineer working in Office Labs at Microsoft, creating and testing new ideas for the future of Office, who recently graduated from The Ohio State University. In my spare time, I hack on some open-source software, play guitar and bass, and in general am within e of really awesome.
Functional Async UI Programming using Reactive Extensions and ReactiveUI
For many modern UI applications, managing multiple asynchronous calls whether they be web service calls or calculations in the background, is now a de-facto requirement; however, our tools and frameworks for doing so, Events, are quite primitive and make even simple compositions into complex state management. The Reactive Extensions for .NET greatly simplifies this task, by allowing you to compose event streams in a declarative fashion. On top of Rx, I've built a MVVM framework called ReactiveUI, that allows you to elegantly combine changing Model or ViewModel properties into composite properties to build testable UIs with less effort, even simulating a series of events instantly in a unit test runner using the virtual time scheduler features of Rx.

Jonathan Chambers

Jonathan Chambers
Jonathan Chambers is a lead software developer at ANSYS, Inc. and has 8 years of C/C++/C# development experience. Jonathan has been a Mono contributor for the past 5 years, implementing the COM interop functionality in the mono runtime and doing the initial work on the mono runtime port to Windows x64.
Cross Platform .Net Desktop Development
This talk will discuss planning, developing, testing, and deploying a desktop application leveraging .Net technology. Well known applications and their approaches (Banshee, MonoDevelop, etc) will be mentioned, but special focus will be given to alternative approaches and topics. A sample application will be discussed (and code provided) as a walkthrough of the various techniques and pitfalls that exist.

Arne Claassen

Arne Claassen
Arne Claassen is a senior software developer at MindTouch and the lead developer of DReAM, MindTouch's open source REST framework. Arne has been involved in large scale web applications and distributed systems for over 10 years and has been a C# developer for the last 7 years. His particular focus is on parallel and asynchronous programming and how to make it writing code that scales over multiple processors and servers more accessible and intuitive.
Forget about Threads: Tasks, Asynchronous Methods & Coroutines
Asynchronous programming using callbacks and continuation passing styles have been around in .NET since the start, but have always made code harder to read and comprehend. Coroutines, as implemented in MindTouch's DReAM framework or the async method and await constructs coming in C# 5.0, aim to make asynchronous programming simpler by retaining sequential programming workflows, while allowing async suspension of code waiting for completions. This talk will present a brief overview of available asychrony patterns, their pros and cons, and delve into a tutorial on how to use either DReAM coroutines or C# 5.0 asynchronous methods, as well as how the two implementations compare and contrast. Learn how to write code that will take advantage of multi-core architectures and avoid blocking on I/O without having to touch a thread or a lock statement in the process.

Justin Dearing

Justin Dearing
Justin Dearing has been working in IT since late 2002. He has served on both the operations and development and operations sides of the house and has worked with the Windows, Unix and AS/400 (iSeries) platform. He is a fan of relational and non-relational data stores including Microsoft SQL Server, Postgres and MongoDB. In his spare time, Justin Blogs at justaprogrammer.net and contributes to various open source projects including MongoDB. He has made minor contributions to windows compatibility of the core server as well as to the C# driver.
Using MongoDB on Mono
In late 2010 10gen began working on their own driver to officially support using MongoDB from .NET on Windows. The community promptly began submitting patches to make it work in Mono. Today the driver works quite well in Mono. This talk will include a brief introduction to MongoDB, but will focus on interacting with it in Mono via the official 10gen driver. Techniques for handling business logic in application code, such as LINQ will be discussed. This will be a very code centric talk.

Rob Eisenberg

Rob Eisenberg
Rob Eisenberg is the Chief Architect at Blue Spire, a software development firm specializing in UI architecture and engineering. He is coauthor of Sam's Teach Yourself WPF in 24 Hours, the architect and lead developer of the Caliburn.Micro Framework for Xaml-based technologies and a Silverlight MVP. When not coding, Rob enjoys swing dancing, making artisan cheese and playing drums.
Presentation Patterns Case Study
In this talk we'll look at several real-world Xaml applications with non-trivial user interface designs. We'll look at the unique challenges that each application provided and see how those were mitigated through the application of various presentation patterns.