<Sessions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Session>
    <URI>/rest/sessions/The-case-for-Griffon-developing-desktop-applications-for-fun-and-profit</URI>
    <Title>The case for Griffon: developing desktop applications for fun and profit</Title>
    <Abstract>Building a desktop application is a hard task, there are some many things to keep track of that many projects simply fail to meet their goals. Setting up the project structure keeping each artifact on a well identified location given its responsibility and type, defining the base schema for managing the application's life cycle, making sure the build is properly setup, and more. These are recurring tasks that should be handled by a tool or better yet, a framework. Griffon is such a framework. Inspired by the Grails framework Griffon aims to bring the same productivity gains to desktop development, there are so many traits shared by both frameworks that a Grails developer should be able to pick up the pace quickly.</Abstract>
    <Start>2010-01-14T11:00:00</Start>
    <Room>Mangrove</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Andres Almiray</SpeakerName>
    <Technology>Java</Technology>
    <Track>Rich Clients</Track>
    <SpeakerURI>/rest/speakers/Andres-Almiray</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Convention-over-Configuration-Applied-to-Net</URI>
    <Title>Convention over Configuration Applied to .Net</Title>
    <Abstract>At some point in the past year we finally realized that we can really apply the design concepts that make Ruby on Rails so great to .Net development. A plethora of OSS projects in the .Net space are exploiting &amp;quot;Convention over Configuration&amp;quot; to reduce friction in tool usage. In this talk I'd like to discuss some examples of CoC usage, how Conventions are applied, lessons learned, and a bit about creating your own conventions inside your application architecture.</Abstract>
    <Start>2010-01-14T09:45:00</Start>
    <Room>Crown Palm</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Jeremy D. Miller</SpeakerName>
    <Technology>.NET</Technology>
    <Track>Architecture and Design</Track>
    <SpeakerURI>/rest/speakers/Jeremy-D-Miller</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Software-Design-and-Testability</URI>
    <Title>Software Design and Testability</Title>
    <Abstract>There is undeniable value in doing automated testing, but the question is whether the benefits of automated testing are worth the time and manpower investment. The benefits and costs of automated testing are greatly affected by design and architecture choices. In this talk I will examine the real world design issues, patterns, and principles that can enhance or hinder testability.</Abstract>
    <Start>2010-01-15T09:30:00</Start>
    <Room>Guava/Tamarind</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Jeremy D. Miller</SpeakerName>
    <Technology>.NET</Technology>
    <Track>Architecture and Design</Track>
    <SpeakerURI>/rest/speakers/Jeremy-D-Miller</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Building-Dynamic-Data-Driven-Applications-Part-1</URI>
    <Title>Building Dynamic Data Driven Applications, Part 1</Title>
    <Abstract>A number of technologies have been released in recent years which make building data driven applications easier. Starting with the declarative data models in LINQ and the Entity Framework, we are now able to build more dynamic applications quicker and easier than ever before. Building on top of LINQ, we now have the ability to present data dynamically through services (using ADO.Net Data Services) and web applications (using ASP.Net Dynamic Data). In both of these, we can consume our data models the way we need to rather than by needing constantly modify our external contracts (in terms of Stored Procedures or service contracts). The capabilities we have available to us are not limited to the base scaffolding, but allows for significant customization as necessary for our particular business needs. In addition, we can reuse our underlying models to enforce business requirements while retaining these dynamic capabilities. In Part 1, We'll focus on the data and services tiers.</Abstract>
    <Start>2010-01-14T09:45:00</Start>
    <Room>Guava/Tamarind</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Jim Wooley</SpeakerName>
    <Technology>.NET</Technology>
    <Track>Architecture and Design</Track>
    <SpeakerURI>/rest/speakers/Jim-Wooley</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Building-Dynamic-Data-Driven-Applications-Part-2</URI>
    <Title>Building Dynamic Data Driven Applications, Part 2</Title>
    <Abstract>A number of technologies have been released in recent years which make building data driven applications easier. Starting with the declarative data models in LINQ and the Entity Framework, we are now able to build more dynamic applications quicker and easier than ever before. Building on top of LINQ, we now have the ability to present data dynamically through services (using ADO.Net Data Services) and web applications (using ASP.Net Dynamic Data). In both of these, we can consume our data models the way we need to rather than by needing constantly modify our external contracts (in terms of Stored Procedures or service contracts). The capabilities we have available to us are not limited to the base scaffolding, but allows for significant customization as necessary for our particular business needs. In addition, we can reuse our underlying models to enforce business requirements while retaining these dynamic capabilities. In Part 2, we'll look at the UI portion of our web applications and see how we can take advantage of the flexabile data structures we built in part 1.</Abstract>
    <Start>2010-01-14T11:00:00</Start>
    <Room>Guava/Tamarind</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Jim Wooley</SpeakerName>
    <Technology>.NET</Technology>
    <Track>Architecture and Design</Track>
    <SpeakerURI>/rest/speakers/Jim-Wooley</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/The-Economics-of-Cloud-Computing</URI>
    <Title>The Economics of Cloud Computing</Title>
    <Abstract>Return on Investment is key for large and small organizations in these risky times. A key mitigator of ROI risk is the avoidance of capital expenditure on IT infrastructure. While traditional Application Service Provider style hosting services do fit this bill, there is a new service on the horizon that has key benefits over the ASP model - cloud computing. Cloud computing leverages virtualized resources to isolate the developer and user from details of the infrastructure, while spreading infrastructure capital expenses over a large number of hosted applications. Bill will discuss the realities of hosted applications, including the current popular ASP models, and compare them to cloud computing. There will be an overview of cloud computing architecture and strategy. He will end with a comparison of various commercial cloud services, including Google AppEngine, Amazon S3 and Microsoft Azure.</Abstract>
    <Start>2010-01-15T15:30:00</Start>
    <Room>E</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Bill Sempf</SpeakerName>
    <Technology>Other</Technology>
    <Track>Architecture and Design</Track>
    <SpeakerURI>/rest/speakers/Bill-Sempf</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/See-Processing-Run-Run-Processing-Run</URI>
    <Title>See Processing Run, Run Processing Run</Title>
    <Abstract>“Hello Data” in 3D animated Java-loving glory. Learn to use Processing – a free Java IDE and library toolset for creating 3D &amp;amp; 2D animated Java applets and standalone applications. If you can see your data, you can know your data, and have fun doing it!</Abstract>
    <Start>2010-01-15T09:30:00</Start>
    <Room>D</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Wes Faler</SpeakerName>
    <Technology>Java</Technology>
    <Track>Rich Clients</Track>
    <SpeakerURI>/rest/speakers/Wes-Faler</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Oh-Crap-I-Forgot-or-Never-Learned-C</URI>
    <Title>Oh Crap! I Forgot (or Never Learned) C!</Title>
    <Abstract>Chances are you code in a language that's either descended from C, inspired by C, or run in an interpreter that itself is written in C. Still... do you actually know how to code in C? Despite its long-standing position as a sort of &amp;quot;lingua franca&amp;quot;, an agreed-upon common language, more and more developers are putting together successful, satisfying careers, without ever learning this seminal language. But what if you have to call into C code from your favorite scripting language, or use APIs like OpenGL that are written to be called from C? Many developers find C very challenging, particularly its manual memory-management and other low-level concerns. In this session, we'll show you why you shouldn't be afraid of C, how you can use the skills you already have from the languages you code in today, and how to master structs, enums, typedefs, malloc(), free(), and the rest of C's sharp edges. Examples will be from the point-of-view of the C-skewing iPhone SDK, but will be designed to be broadly applicable and platform-agnostic.</Abstract>
    <Start>2010-01-15T09:30:00</Start>
    <Room>Indigo Bay</Room>
    <Difficulty>Advanced</Difficulty>
    <SpeakerName>Chris Adamson</SpeakerName>
    <Technology>Other Languages</Technology>
    <Track>Languages</Track>
    <SpeakerURI>/rest/speakers/Chris-Adamson</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/How-Do-You-Do-That-on-iPhone</URI>
    <Title>How Do You Do That on iPhone?</Title>
    <Abstract>If you've used iPhone OS applications, you've no doubt seen a number of common tricks that are in no way obvious from looking at the documentation provided in the SDK. In this session, we'll look at a grab-bag of some of the most popular and least obvious techniques you'll want in your developer's toolkit. These include:&lt;br&gt;* Designing custom table cells visually with Interface Builder, and using them in your app's tables&lt;br&gt;* Using buttons, switches and other controls inside table cells&lt;br&gt;* Animating changes in your GUI (rotation resizes, adding widgets, etc.)&lt;br&gt;* Gracefully handling interruptions from incoming calls&lt;br&gt;* Alerting the user with vibration&lt;br&gt;* Figuring out if your network connection is wifi or cellular&lt;br&gt;* Sharing information between applications you've written&lt;br&gt;* Building the &amp;quot;full&amp;quot; and &amp;quot;lite&amp;quot; versions of your app from the same Xcode project and sources&lt;br&gt;* Running automated nightly builds from the command-line&lt;br&gt;</Abstract>
    <Start>2010-01-14T16:50:00</Start>
    <Room>D</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Chris Adamson</SpeakerName>
    <Technology>Mobile</Technology>
    <Track>Other Track</Track>
    <SpeakerURI>/rest/speakers/Chris-Adamson</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Azure-Lessons-from-the-field</URI>
    <Title>Azure: Lessons from the field</Title>
    <Abstract>Come learn about Microsoft's Azure platform (and cloud computing in general) as we look at an application built to assist in the processing and publishing of large-scale scientific data. We will discuss architecture choices, benchmarking results, issues faced as well as the work-arounds implemented. This session will give you insight into the process of developing for the cloud, as well as tips and tricks to help you avoid some common pitfalls.</Abstract>
    <Start>2010-01-14T13:45:00</Start>
    <Room>Cypress</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Rob Gillen</SpeakerName>
    <Technology>.NET</Technology>
    <Track>Architecture and Design</Track>
    <SpeakerURI>/rest/speakers/Rob-Gillen</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Credit-Crunch-Code--Time-to-Pay-Back-the-Technical-Debt</URI>
    <Title>Credit Crunch Code – Time to Pay Back the Technical Debt</Title>
    <Abstract>Technical debt, the cost of putting off good development practices, can cripple a project's velocity, flexibility, and quality. This presentation will focus on a number of common anti-patterns such as &amp;quot;sensitive tests&amp;quot; which are brittle and overly coupled to odd situations which cause them to fail. Having identified these behaviours, we’ll look at techniques to firstly quantify the impacts via real world costing examples, after which we'll walk through mitigation strategies such as buying components of a solution versus developing everything from scratch. You'll leave this session with a better idea of how to avoid these pitfalls, and how to pull yourself out of them if you do end up therein.</Abstract>
    <Start>2010-01-15T13:45:00</Start>
    <Room>Mangrove</Room>
    <Difficulty>Advanced</Difficulty>
    <SpeakerName>Gary Short</SpeakerName>
    <Technology>.NET</Technology>
    <Track>Architecture and Design</Track>
    <SpeakerURI>/rest/speakers/Gary-Short</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/An-Agile-Toolchain-for-Flex-RIAs</URI>
    <Title>An Agile Toolchain for Flex RIAs</Title>
    <Abstract>RIAs are certainly changing the way we build software. User experience is now central to building great software. How does this impact our Agile methodologies? How do we implement Agile when working with designers? What testing and development tools exist to aid us in implementing Agile in RIAs? This session will use live coding and demos to show how Agile is being used to build Flex RIAs.&lt;br&gt;</Abstract>
    <Start>2010-01-15T10:45:00</Start>
    <Room>Mangrove</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>James Ward</SpeakerName>
    <Technology>Other Languages</Technology>
    <Track>Other Track</Track>
    <SpeakerURI>/rest/speakers/James-Ward</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Sexier-Software-with-Flex</URI>
    <Title>Sexier Software with Flex</Title>
    <Abstract>Building sexy software that users love is usually a challenging endeavor. The open source Flex SDK and your back-end of choice are a perfect combination of technologies for building rich, sexy software - for the web and the desktop. Flex applications can run in the browser using the ubiquitous Flash Player or on the desktop using Adobe AIR. In both instances your back-end of choice can be used for the server-side of the application. The communication between your back-end and Flex front-end can be a number of different communication protocols including SOAP, RESTful XML, JSON, and AMF. Using lots of live coding examples and demonstrations this session will cover the basics of using Flex to build sexy software for the web and the desktop.</Abstract>
    <Start>2010-01-14T09:45:00</Start>
    <Room>Mangrove</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>James Ward</SpeakerName>
    <Technology>Other Languages</Technology>
    <Track>Web Frameworks</Track>
    <SpeakerURI>/rest/speakers/James-Ward</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/NoSQL-Death-to-Relational-Databases</URI>
    <Title>NoSQL: Death to Relational Databases!(?)</Title>
    <Abstract>There’s a storm brewing. You may have felt the increased pressure when you last typed “CREATE DATABASE latest_project;” into your MySQL console - or you might have been seeding the clouds in an attempt to bring the thunder on faster. &lt;br&gt;&lt;br&gt;The name of that storm? NoSQL. &lt;br&gt;&lt;br&gt;New key-value stores seem to pop up daily, document databases like CouchDB and MongoDB get a great deal of press, and RDF itself is built as a graph database. Given that, and the fact that a number of domains just don’t map onto relational databases very cleanly, it behooves the development community to learn about these alternatives. How do they differ from relational databases? In what situations are they best used? How hard is it to split up a domain model into, say, a relational piece and a document piece - and is this ever worthwhile?&lt;br&gt;&lt;br&gt;I’ll answer those questions in this session, and I’ll refer to actual problem domains while illustrating the answers. As it turns out, a document DB like CouchDB works very well for modeling biological taxonomy - and a graph DB like Neo4J is a great fit for the (surprisingly complex) business of comic books. The NoSQL future is wide, varied, and exciting - and it might even have a place for our old friends, the relational DBs.&lt;br&gt;</Abstract>
    <Start>2010-01-14T13:45:00</Start>
    <Room>E</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Ben Scofield</SpeakerName>
    <Technology>Other Languages</Technology>
    <Track>Architecture and Design</Track>
    <SpeakerURI>/rest/speakers/Ben-Scofield</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Introducing-the-MVVM-Pattern</URI>
    <Title>Introducing the MVVM Pattern</Title>
    <Abstract>WPF and Silverlight demos that bind the &amp;quot;View&amp;quot; directly to the &amp;quot;Model&amp;quot; are nice for small applications. For real-world applications, however, this way of writing software quickly falls apart. The&lt;br&gt;Model-View-ViewModel (MVVM) pattern has gained popularity for testability, de-coupling and configurability. Learn about the MVVM pattern with code-driven demos that show how to properly separate the &amp;quot;View&amp;quot; from the &amp;quot;Model&amp;quot;.</Abstract>
    <Start>2010-01-15T13:45:00</Start>
    <Room>Guava/Tamarind</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Brian Genisio</SpeakerName>
    <Technology>.NET</Technology>
    <Track>Rich Clients</Track>
    <SpeakerURI>/rest/speakers/Brian-Genisio</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Being-an-Evil-Genius-with-F-and-NET</URI>
    <Title>Being an Evil Genius with F# and .NET</Title>
    <Abstract>In today's competitive global economy it's increasingly difficult to find quality henchmen to aid you in taking over the Earth. Fortunately the .NET platform has plenty of technological gems which can help you in your quest.&lt;br&gt;&lt;br&gt;Speech recognition APIs to automate your demands for ransom. The Parallel Extensions to .NET for distributing control your nanobots. Even image recognition to identify CIA spys and kill them on sight!&lt;br&gt;&lt;br&gt;This code-focused talk will show you the libraries you can use to make your next high-powered plot for world domination a success. (F# knowledge is not required, though will help any aspiring evil genius grep the demos.)&lt;br&gt;</Abstract>
    <Start>2010-01-15T09:30:00</Start>
    <Room>Portia/Wisteria</Room>
    <Difficulty>Advanced</Difficulty>
    <SpeakerName>Chris Smith</SpeakerName>
    <Technology>.NET</Technology>
    <Track>Other Track</Track>
    <SpeakerURI>/rest/speakers/Chris-Smith</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Source-Control-for-People-Who-Dont-Like-Source-Control</URI>
    <Title>Source Control for People Who Don't Like Source Control</Title>
    <Abstract>Few tools have changed the way I work as much as the git source control system. Its distributed nature and lightweight branching and merging have made it possible for me to massage my code base in ways I couldn't have even imagined before using git.&lt;br&gt;&lt;br&gt;However, git has a reputation for being hard to learn. Because of its rather different approach to source control issues, many of the techniques we have learned in other source control systems do not translate cleanly when using git.&lt;br&gt;&lt;br&gt;In this talk, we avoid the whole &amp;quot;fear of git&amp;quot; issue by not talking about git at all. Instead we introduce the &amp;quot;Custom Source Control&amp;quot; (CSC) system and build it up from first principles. In the end, we will ahve a completely functional, distributed source control system. And because each step in our journey of building CSC is simple and straight forward, we end up with a completely understandable system.&lt;br&gt;&lt;br&gt;So, this talk is not about git. But attendees will end up with a deeper understanding of the principles behind git.&lt;br&gt;&lt;br&gt;Did I mention this talk is not about git? No, really! It's not. &amp;lt;wink/&amp;gt;&lt;br&gt;</Abstract>
    <Start>2010-01-14T09:45:00</Start>
    <Room>D</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Jim Weirich</SpeakerName>
    <Technology>Other</Technology>
    <Track>Dev Processes and Methodologies</Track>
    <SpeakerURI>/rest/speakers/Jim-Weirich</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Testing-Java-in-the-Fast-Lane</URI>
    <Title>Testing Java in the Fast Lane</Title>
    <Abstract>The Java platform ecosystem harbors many languages besides Java. In that vast set of languages there is one that has received the title of “Next Generation Java” but not because it dismisses Java, not at all! it is because it embraces the language and extends it in a friendly and fluent way. That language is Groovy. Testing Java code can be cumbersome, specially when rigid limits as verbose syntax and static typing get in the way. Groovy can help you write less code while retaining the same behavior, it can also test your Java production code without any special bridge between languages. Groovy integrates seamlessly with all Java libraries, testing frameworks and IDEs, which means you won’t be throwing away your Java knowledge, you’ll just make it groovier.&lt;br&gt;&lt;br&gt;This session will demonstrate Groovy aiding Java tests in key areas as code verbosity, mocking and producing/consuming XML. </Abstract>
    <Start>2010-01-14T16:50:00</Start>
    <Room>Mangrove</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Andres Almiray</SpeakerName>
    <Technology>Java</Technology>
    <Track>Languages</Track>
    <SpeakerURI>/rest/speakers/Andres-Almiray</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/MacRuby-and-Cocoa-Applications-</URI>
    <Title>MacRuby and Cocoa Applications </Title>
    <Abstract>Learn how to leverage the elegance and expressiveness of Ruby to drive development of a Mac OS X GUI application using its native UI framework, Cocoa, with the rapidly-progressing MacRuby implementation. MacRuby is &amp;quot;a version of Ruby 1.9, ported to run [on] Mac OS X [using] the Objective-C common runtime and garbage collector&amp;quot;. As we walk through implementing a desktop client to interface with popular URL shortening services, we'll cover how to pull down and build the latest version of MacRuby, creating and working with Ruby domain objects, the use of Apple's Interface Builder tool to create the Cocoa GUI components, and how to use HotCocoa, a MacRuby DSL designed to create Cocoa interfaces in a much more streamlined manner.</Abstract>
    <Start>2010-01-15T13:45:00</Start>
    <Room>Indigo Bay</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Matt Yoho</SpeakerName>
    <Technology>Ruby</Technology>
    <Track>Languages</Track>
    <SpeakerURI>/rest/speakers/Matt-Yoho</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Ruby-and-Rails-for-the-Net-Developer-</URI>
    <Title>Ruby and Rails for the .Net Developer </Title>
    <Abstract>Ruby is a dynamic object-oriented language offering great expressiveness. We'll contrast its features and idioms with those of C#, the premiere statically-typed language on the CLR. We'll look at a distinction between object-oriented and class-oriented languages. We will then move on to Rails, discussing its focus on the essence of web development. We'll see how Rails removes much of the hassle of implementing verbose patterns and &amp;quot;best practices&amp;quot; used in the Java and .NET communities--approaches such as web MVC, Object Relational Mapping, Test/Behavior Driven Development, and Dependency Injection/IOC--in a refreshingly fun way.</Abstract>
    <Start>2010-01-14T13:45:00</Start>
    <Room>Indigo Bay</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Matt Yoho</SpeakerName>
    <Technology>Ruby</Technology>
    <Track>Web Frameworks</Track>
    <SpeakerURI>/rest/speakers/Matt-Yoho</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Analyze-and-Optimize-your-NET-Web-Application</URI>
    <Title>Analyze and Optimize your .NET Web Application</Title>
    <Abstract>Too many presentations focus on tips and tricks when it comes to your application performance, but chances are the problems in your app can't be solved with a simple tip or trick.&lt;br&gt;&lt;br&gt;In this session I will cover how to analyze your .NET application using both free and commercial tools and then what steps to take to solve those performance and scaling issues.&lt;br&gt;&lt;br&gt;There will be no slides in this talk, all code all the time.</Abstract>
    <Start>2010-01-15T15:30:00</Start>
    <Room>Guava/Tamarind</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>James Avery</SpeakerName>
    <Technology>.NET</Technology>
    <Track>Dev Processes and Methodologies</Track>
    <SpeakerURI>/rest/speakers/James-Avery</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/WTF-20--A-guide-to-building-social-applications</URI>
    <Title>WTF 2.0:  A guide to building social applications</Title>
    <Abstract>What is &amp;quot;Web 2.0&amp;quot; or &amp;quot;Social media&amp;quot;? No one really knows. Ask ten experts and you will get ten different answers. And yet with every single day that passes these terms race closer to ubiquity. Heck, my grandmother recently tried to &amp;quot;friend&amp;quot; me on Facebook. &lt;br&gt;&lt;br&gt;Yet despite this popularity, very few people really know what these terms represent. More importantly, the underlying concepts they represent when actually building a social application. So, as businesses choose to build or integrate these social features into their products, designers and developers are faced with a challenge on where to start.&lt;br&gt;&lt;br&gt;This talk is going to walk through the history of the social software movement and introduce the audience to the core underlying concepts and methodologies for both designing and developing social applications. This includes but is not limited to&lt;br&gt;&lt;br&gt;Social object theory&lt;br&gt;Webb / Butterfield / Smith&lt;br&gt;Power laws and Scoble&lt;br&gt;Communities of Practice&lt;br&gt;OAuth&lt;br&gt;OpenID&lt;br&gt;ActivityStreams&lt;br&gt;XRDS Simple&lt;br&gt;Pubsubhubbub&lt;br&gt;&lt;br&gt;When done, the audience will be able to begin the process of designing and building social applications, or, integrating other social products into theirs. </Abstract>
    <Start>2010-01-15T10:45:00</Start>
    <Room>Indigo Bay</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Anthony Broad-Crawford</SpeakerName>
    <Technology>Ruby</Technology>
    <Track>Dev Processes and Methodologies</Track>
    <SpeakerURI>/rest/speakers/Anthony-BroadCrawford</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Maintainable-ASPNET-MVC</URI>
    <Title>Maintainable ASP.NET MVC</Title>
    <Abstract>Objective&lt;br&gt;Introduce software developers to Microsoft’s ASP.NET MVC framework and provide &amp;quot;beyond the bits&amp;quot; guidance to help teams get up to speed on this exciting alternative to WebForms development.&lt;br&gt;&lt;br&gt;Specifications&lt;br&gt;Level: 100&lt;br&gt; Duration: 60-90 minutes&lt;br&gt; Subject Area: ASP.NET, Web Development, Patterns and Practices&lt;br&gt;&lt;br&gt;Introduction&lt;br&gt;Model-view-controller (MVC) is an architectural pattern that has been around for thirty years used to isolate business logic from input and presentation. While there have been open-source MVC frameworks for .NET, the recently released Microsoft ASP.NET MVC framework implements the MVC pattern using ASP.NET, making it readily available to all developers on the Microsoft platform.&lt;br&gt;&lt;br&gt;This session starts at File - New, and creates an ASP.NET MVC project. In addition to covering controllers and views, unit testing (using NUnit), dependency injection (using StructureMap), and data access (using LINQ and NHibernate) will also be covered. Best practices will also be presented to help avoid mistakes while adapting to this not-so-new style of web application development.</Abstract>
    <Start>2010-01-14T11:00:00</Start>
    <Room>Cypress</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Chris Patterson</SpeakerName>
    <Technology>.NET</Technology>
    <Track>Web Frameworks</Track>
    <SpeakerURI>/rest/speakers/Chris-Patterson</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Testing-the-Enterprise</URI>
    <Title>Testing the Enterprise</Title>
    <Abstract>This session will be about how we brought Ruby testing into Gap Inc Direct. GID has campuses in Columbus, San Francisco and offshore. In addition to the challenges in a distributed environment, training QA resources and developers new to Ruby, Watir, other libraries; we'll be talking about incremental adoption of Ruby in the Enterprise, and how it enables us to move from a Waterfall SDLC into an Agile model.&lt;br&gt;&lt;br&gt;We'll be going over lessons learned, pitfalls and successes. The points of view will be from Charley Baker, who has been responsible for the adoption of Ruby at our San Francisco campus over the past 4 years, and Leon Gersing from EdgeCase, who's working with our Columbus distribution IT organization as they adopt Agile practices and using Cucumber have bridged the gap between developers, QA and product teams.</Abstract>
    <Start>2010-01-15T09:30:00</Start>
    <Room>E</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Leon Gersing and Charley Baker</SpeakerName>
    <Technology>Ruby</Technology>
    <Track>Dev Processes and Methodologies</Track>
    <SpeakerURI>/rest/speakers/Leon-Gersing-and-Charley-Baker</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/An-Introduction-to-Cucumber</URI>
    <Title>An Introduction to Cucumber</Title>
    <Abstract>Cucumber is a tool designed to improve the dialog between Business Analysts and Technical Staff. It leverages the flexibility of the Ruby language to allow business and technical users to use a common lexicon to describe business value with reduced ambiguity which can lead to less confusion on both sides of the converstaion and stronger solutions with fewer defects. &lt;br&gt;&lt;br&gt;In this discussion we'll go over the high level architecture of cucumber, what it is and how you may be able to utilize it in your development. We'll also go over some tips and tricks to help you get started with this new technology with the least amount of overhead and friction. Business Analysts and Developers are both encouraged to attend.</Abstract>
    <Start>2010-01-14T15:35:00</Start>
    <Room>Indigo Bay</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Leon Gersing</SpeakerName>
    <Technology>Ruby</Technology>
    <Track>Languages</Track>
    <SpeakerURI>/rest/speakers/Leon-Gersing</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Looting-Design-Ideas-from-the-World-of-Warcraft</URI>
    <Title>Looting Design Ideas from the World of Warcraft</Title>
    <Abstract>The World of Warcraft (WoW) is today's most popular MMORPG, with 11.5 million subscribers generating an estimated $120+ million in monthly revenue for Blizzard Entertainment. Besides being a very successful video game, WoW can also be examined as a case study for creating interesting and scalable applications. In this session, we will demonstrate a handful of features found in WoW, including end-user interface customization using APIs and add-ons, presence awareness, realtime communication between users, data caching, and offline access to application data. For each feature, we will investigate ways to build similar functionality into your own LOB application using tools and technologies available today for free.</Abstract>
    <Start>2010-01-15T10:45:00</Start>
    <Room>Guava/Tamarind</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Jason Follas</SpeakerName>
    <Technology>.NET</Technology>
    <Track>Architecture and Design</Track>
    <SpeakerURI>/rest/speakers/Jason-Follas</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Leadership-101</URI>
    <Title>Leadership 101</Title>
    <Abstract>It doesn’t matter what point you’re at in your career, you need to understand some fundamentals about good leadership. If you’re well into your career you need to know how to get the most out of your teams. If you’re just starting then you need to learn what good leadership looks like – and how to help ensure you’re getting the leadership you and your colleagues need to succeed. In this session you’ll learn basic concepts about respect, responsibility, communication, and teamwork, based on experience drawn from Jim’s years of serving in the military, playing competitive sports, and working in a wide range of jobs.</Abstract>
    <Start>2010-01-15T10:45:00</Start>
    <Room>Portia/Wisteria</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Jim Holmes</SpeakerName>
    <Technology>Other</Technology>
    <Track>Other Track</Track>
    <SpeakerURI>/rest/speakers/Jim-Holmes</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/reStructuredText-Plain-Text-Gets-Superpowers</URI>
    <Title>reStructuredText: Plain Text Gets Superpowers</Title>
    <Abstract>Write a document, just once, in plain text. Enjoy all plain text's benefits - speed, simplicity, scriptability, version control. Now, from this single plain text source, automatically generate beautifully-formatted webpages, presentations, .PDFs, auto-indexed documentation trees, and more. It's time to quit slacking on documenting your software. reStructuredText will make you actually enjoy writing docs!</Abstract>
    <Start>2010-01-14T15:35:00</Start>
    <Room>E</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Catherine Devlin</SpeakerName>
    <Technology>Python</Technology>
    <Track>Dev Processes and Methodologies</Track>
    <SpeakerURI>/rest/speakers/Catherine-Devlin</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/060-with-Fluent-NHibernate</URI>
    <Title>0-60 with Fluent NHibernate</Title>
    <Abstract>Fluent NHibernate is a framework, that sits on top of NHibernate, which helps to cut down on some of the headaches you will indubitably encounter with picking up such a mature ORM. We'll be discussing how FNH can help cut down the learning curve of using NHibernate as an ORM and how it can benefit existing NHibernate production environments long term by utilizing a convention over configuration approach.</Abstract>
    <Start>2010-01-15T10:45:00</Start>
    <Room>Cypress</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Hudson Akridge</SpeakerName>
    <Technology>.NET</Technology>
    <Track>Architecture and Design</Track>
    <SpeakerURI>/rest/speakers/Hudson-Akridge</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/PowerShell-Ten-things-you-need-to-know</URI>
    <Title>PowerShell: Ten things you need to know</Title>
    <Abstract>Do you think PowerShell is just another command line prompt? Have you used PowerShell? Do you even know how to start with PowerShell? Join Aaron Lerch and Matt Hester as they discuss 10 things to get you started with PowerShell. You will learn how PowerShell combined with your applications can help save you time and money. Here are few of the topics you will see in the session:&lt;br&gt;* It’s all about Objects on the Command Line&lt;br&gt;* Automating your Build Process with Powershell and PSake&lt;br&gt;* How I Learned to Stopped Worrying and Love A Distributed Environment&lt;br&gt;&lt;br&gt;&lt;br&gt;</Abstract>
    <Start>2010-01-14T13:45:00</Start>
    <Room>Guava/Tamarind</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Matt Hester and Aaron Lerch</SpeakerName>
    <Technology>.NET</Technology>
    <Track>Dev Processes and Methodologies</Track>
    <SpeakerURI>/rest/speakers/Matt-Hester-and-Aaron-Lerch</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Whats-New-In-Silverlight</URI>
    <Title>What's New In Silverlight</Title>
    <Abstract>An in depth look at emerging features in Silverlight.  Specific topics will be announced in coming weeks.  Target audience is Intermediate Silverlight 3 Programmers with a working knowledge of: * XAML * Silverlight 3 programming * C# * RIA Services * Visual Studio 2008 and Expression Blend </Abstract>
    <Start>2010-01-15T15:30:00</Start>
    <Room>Cypress</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Jesse Liberty</SpeakerName>
    <Technology>.NET</Technology>
    <Track>Rich Clients</Track>
    <SpeakerURI>/rest/speakers/Jesse-Liberty</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Silverlight-From-Zero</URI>
    <Title>Silverlight From Zero</Title>
    <Abstract>Silverlight has been advancing so rapidly that it is easy to lose sight of the fact that many programmers are only first approaching Silverlight now. This presentation is for you if you have little or no Silverlight Programming experience and want to come up the learning curve fast.&lt;br&gt;&lt;br&gt;Attendees are assumed to have a working knowledge of C# and one of: ASP.NET, AJAX, WinForms or WPF.&lt;br&gt;&lt;br&gt;Topics to be covered include &lt;br&gt;&lt;br&gt;First program&lt;br&gt;Xaml and Code&lt;br&gt;Layout and Controls&lt;br&gt;Silverlight and ASP.NET and HTML&lt;br&gt;Multi-page applications&lt;br&gt;Transforms and Animation&lt;br&gt;Templates and The Visual State Manager&lt;br&gt;Data, Data-binding and Validation&lt;br&gt;Basics of Media</Abstract>
    <Start>2010-01-14T09:45:00</Start>
    <Room>Cypress</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Jesse Liberty</SpeakerName>
    <Technology>.NET</Technology>
    <Track>Rich Clients</Track>
    <SpeakerURI>/rest/speakers/Jesse-Liberty</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Developing-Enterprise-Apps-with-JavaFX</URI>
    <Title>Developing Enterprise Apps with JavaFX</Title>
    <Abstract>The JavaFX platform is the new platform of choice for developing rich Internet applications for the enterprise. This session builds on instruction in the Pro JavaFX Platform book to teach you how to develop rich enterprise applications for desktop and mobile platforms.</Abstract>
    <Start>2010-01-14T09:45:00</Start>
    <Room>E</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Jim Weaver</SpeakerName>
    <Technology>Java</Technology>
    <Track>Rich Clients</Track>
    <SpeakerURI>/rest/speakers/Jim-Weaver</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Funky-Java-Objective-Scala</URI>
    <Title>Funky Java, Objective Scala</Title>
    <Abstract>Funky Java, Objective Scala&lt;br&gt;&lt;br&gt;Session Title: Funky Java, Objective Scala&lt;br&gt;&lt;br&gt;Tagline: Polyglot programming is here, and can improve your style. Suggestions on how to inject a little more functional style into your Java, and temper Scala with a mix of Object Oriented and Functional style.&lt;br&gt;&lt;br&gt;Abstract:&lt;br&gt;&lt;br&gt;Recently, while the Java platform has been going from strength to strength, improving both performance and support for alternative languages, the Java language has started to appear less exciting than many of the alternatives that now run on the JVM. There is a lot to be said for the modern features of many of these new alternatives, but does that mean the fat lady has sung for Java?&lt;br&gt;&lt;br&gt;Not so, while we might still not have closures or properties, there are many new and interesting libraries and techniques that can breathe new life and style into your Java source. A stronger emphasis on immutable value objects, use of third party libraries like the Google collections library, DSL like fluent interfaces and more radical ideas like Project Lombok can all help you improve your style, reduce the boilerplate, reduce errors and be more productive with Java. It will bring fun back to your Java development.&lt;br&gt;&lt;br&gt;The first part of this session will look at libraries and techniques that you can use with today's Java 6, and a peek ahead to Java 7. Topics covered will include:&lt;br&gt;&lt;br&gt;Immutable value classes&lt;br&gt;Builder pattern and fluent APIs&lt;br&gt;Typesafe &amp;quot;Multiple returns&amp;quot; with Pairs and Triples&lt;br&gt;Predicates, functions, constraints, identity maps and more with the Google Collections Library&lt;br&gt;&lt;br&gt;At the same time, alternative languages that offer much more than Java are emerging on the JVM. Scala is one interesting option that offers static typing but with the same reduction of boilerplate and incidental complexity as many dynamically typed languages. Scala has a strong functional heritage, but also excellent support for Object Orientation, a fact that can greatly ease the transition to this new language. By starting with a mix of OO and Functional, the learning curve is lowered and the results are immediate. &lt;br&gt;&lt;br&gt;In the second part of this session we will look at Scala, it similarities to Java, and it's easy access improvements. Along the way, some functional techniques will be introduced where they make sense, and where they make life easier. This is intended to be like easing into a warm swimming pool rather than diving in at the deep end.&lt;br&gt;&lt;br&gt;Aimed at beginner and intermediate developers, this session aims to help you improve your productivity and coding style.&lt;br&gt;</Abstract>
    <Start>2010-01-14T15:35:00</Start>
    <Room>D</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Dick Wall</SpeakerName>
    <Technology>Java</Technology>
    <Track>Languages</Track>
    <SpeakerURI>/rest/speakers/Dick-Wall</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Amaze-Your-Friends-with-jQuery-</URI>
    <Title>Amaze Your Friends with jQuery </Title>
    <Abstract>Maybe you've played with jQuery a little bit but still don't feel comfortable with it, or maybe you've only heard about it. Either way, it doesn't take long to learn enough to be dangerous. While jQuery can be intimidating at first, it's based on some very simple principles. Once you grasp those principles, your JavaScript life will never be the same. By the end of this talk, you'll be easily navigating and manipulating the DOM, writing your own plugins, and of course, amazing your friends with the power and elegance of jQuery.&lt;br&gt;</Abstract>
    <Start>2010-01-14T11:00:00</Start>
    <Room>D</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Adam McCrea</SpeakerName>
    <Technology>Other Languages</Technology>
    <Track>Rich Clients</Track>
    <SpeakerURI>/rest/speakers/Adam-McCrea</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Get-Rid-Of-Visual-SourceSafe</URI>
    <Title>Get Rid Of Visual SourceSafe??!</Title>
    <Abstract>Are you still using Visual Source Safe? Have you heard about all the other version control systems that are out there but have not had the time or patience to evaluate them? Come and learn about the ins and outs, ups and downs of Team Foundation System, Subversion, and Git : what they offer and how to integrate them into your current environment.&lt;br&gt;</Abstract>
    <Start>2010-01-15T15:30:00</Start>
    <Room>Portia/Wisteria</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Joe Kuemerle</SpeakerName>
    <Technology>Other</Technology>
    <Track>Dev Processes and Methodologies</Track>
    <SpeakerURI>/rest/speakers/Joe-Kuemerle</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/An-Introduction-to-Functional-Programming-with-Scheme</URI>
    <Title>An Introduction to Functional Programming with Scheme</Title>
    <Abstract>This session is for developers interested in learning about functional programming and LISP languages. I'll provide a brief introduction to functional programming and Scheme, discuss some of our experiences learning the language, and show the audience a few examples of simple problems done in Java, Ruby, and Scheme (for comparison). I will develop one of the solutions &amp;quot;live&amp;quot; before the class.&lt;br&gt;&lt;br&gt;I am currently heading a study group on the SICP book. This session will be based primarily on our first eight weeks of learning.&lt;br&gt;</Abstract>
    <Start>2010-01-15T13:45:00</Start>
    <Room>Cypress</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Michael J Norton</SpeakerName>
    <Technology>Other Languages</Technology>
    <Track>Languages</Track>
    <SpeakerURI>/rest/speakers/Michael-J-Norton</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Techniques-for-Programming-Parallel-Solutions</URI>
    <Title>Techniques for Programming Parallel Solutions</Title>
    <Abstract>Building multi-threaded applications can be hard work. So come learn a number of techniques for developing software solutions that take advantage of today’s multi-core processors. In true CodeMash fashion, the session starts by laying a foundation of concurrency basics using C++. The bulk of the session then looks at all of the various techniques for parallelizing “work” in .NET 3.5 using C#, while avoiding a number of “gotchas”. Finally, the session concludes with how these techniques will make it easy to develop parallel solutions with the changes coming in Visual Studio 2010, .NET 4.0, and F#. </Abstract>
    <Start>2010-01-14T15:35:00</Start>
    <Room>Cypress</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Michael Slade</SpeakerName>
    <Technology>.NET</Technology>
    <Track>Dev Processes and Methodologies</Track>
    <SpeakerURI>/rest/speakers/Michael-Slade</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Testing-ASPnet-applications-using-Ruby</URI>
    <Title>Testing ASP.net applications using Ruby</Title>
    <Abstract>The Ruby community has always understood the importance of testing. They strive to make applications more testable while improving the approaches and tools they use. As a result, they have created some amazing frameworks and best practices to support testing, both from the developers and testers point of view. While this is great for Ruby developers, it also is extremely beneficial for ASP.net and C# developers. This session provides an insight into the Ruby world and how you can take advantage of the existing frameworks to create readable, maintainable and valuable acceptance tests for ASP.net based web applications testing different parts of the application including the business logic as well as the user interface in an automated fashion. The session will explain how frameworks such as RSpec and Cucumber can be used to verify not only that the application works as expected, but the customers are receiving the features they require with a correct implementation. Finally, Ben will look at IronRuby and how that fits into the process of testing C#\ASP.net applications using the Ruby language. </Abstract>
    <Start>2010-01-14T16:50:00</Start>
    <Room>Cypress</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Ben Hall</SpeakerName>
    <Technology>.NET</Technology>
    <Track>Dev Processes and Methodologies</Track>
    <SpeakerURI>/rest/speakers/Ben-Hall</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Cucumber--Beyond-the-Basics</URI>
    <Title>Cucumber - Beyond the Basics</Title>
    <Abstract>Cucumber is one of the most important tools to come along in the last several years, allowing development teams to express the expected behavior of a system in business-readable plain text. This talk will show some of the intermediate and advanced aspects of Cucumber including:&lt;br&gt;&lt;br&gt;- Multiline step arguments and scenario outlines&lt;br&gt;- Tagging&lt;br&gt;- Using profiles&lt;br&gt;- Testing javascript code&lt;br&gt;- Extending cucumber&lt;br&gt;- Writing steps in Java&lt;br&gt;- Running with Spork</Abstract>
    <Start>2010-01-14T16:50:00</Start>
    <Room>Indigo Bay</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Mike Doel</SpeakerName>
    <Technology>Ruby</Technology>
    <Track>Web Frameworks</Track>
    <SpeakerURI>/rest/speakers/Mike-Doel</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Agile-Iteration-0</URI>
    <Title>Agile Iteration 0</Title>
    <Abstract>The success of an Agile / SCRUM project is a successful start. The first interaction is often referred to as iteration 0. Other iterations have a set of stories with clear acceptance, certain which establishes the velocity of the team and its effort. What then is accomplished in iteration 0? How do we get an Agile process started? This session will outline all the &amp;quot;pre&amp;quot; activity tasks that lead into an agile development process. As well as the establishment of a task list of iteration 0, include the establishment of development environment, configuration management details. This will include several case histories examples of Iteration 0. </Abstract>
    <Start>2010-01-14T09:45:00</Start>
    <Room>Portia/Wisteria</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Ken Sipe</SpeakerName>
    <Technology>Other</Technology>
    <Track>Dev Processes and Methodologies</Track>
    <SpeakerURI>/rest/speakers/Ken-Sipe</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/T4-Code-Generation-with-Visual-Studio-2008</URI>
    <Title>T4: Code Generation with Visual Studio 2008</Title>
    <Abstract>A lesser-known feature in Visual Studio, Text Templating (T4) provides powerful code generation capabilities. We will start by creating a basic T4 template to explore statements and expressions. Then, we will dive into generating domain-specific artifacts based on external business logic. Finally, we will look at custom directive processors and hosts to handle advanced scenarios.</Abstract>
    <Start>2010-01-14T15:35:00</Start>
    <Room>Guava/Tamarind</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Steve Andrews</SpeakerName>
    <Technology>.NET</Technology>
    <Track>Languages</Track>
    <SpeakerURI>/rest/speakers/Steve-Andrews</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Seeing-Constraints-Kanban-Explained</URI>
    <Title>Seeing Constraints, Kanban Explained</Title>
    <Abstract>I have been practicing and coaching on kanban for 10 months now. I am passionate about kanban because without a lot of ceremony and time, I can get a team to self organize and start communicating. Since constraints become visible, it allows people to be more willing to go out of their comfort zone and thus wear any hat that it takes to produce quality software. Seeing constraints, pulling value and eliminating waste is the goal of practicing kanban. This would be a &amp;quot;kanban explained&amp;quot; session for those who are not familiar with this practice. I use physical boards to illustrate the concepts and encourage good dialogue. We will discuss several types of kanban boards such as WIP, backlog and retrospectives.&lt;br&gt;&lt;br&gt;This presentation has been tested at many user group meetings, at clients and in the open space forum at Agile 2009. The session takes 1 hour to present, 1 1/2 hours to have good dialogue during the presentation. &lt;br&gt;&lt;br&gt;Kanban, while not a new concept, nor complex - it is often misunderstood by those who don't practice it. Intended audience is for people that understand agile story wall concepts and whole team. The best audience is a Scrum master who will learn how kanban can take their craft to the next level of a self organizing teams by seeing, not hearing about constraints.</Abstract>
    <Start>2010-01-14T13:45:00</Start>
    <Room>Portia/Wisteria</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Jon Stahl</SpeakerName>
    <Technology>Other</Technology>
    <Track>Dev Processes and Methodologies</Track>
    <SpeakerURI>/rest/speakers/Jon-Stahl</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Refactoring-the-Programmer</URI>
    <Title>Refactoring the Programmer</Title>
    <Abstract>Many developers find themselves asking &amp;quot;how did I get here?&amp;quot;. You feel stuck where you are while everyone around you seems to be doing something exciting. You want to improve you situation but how? How do you raise a family, keep up with the industry, find out about new and exciting things, and get ahead? There seems to be too much out there. In this talk I will take you through a step by step approach to refactoring yourself and your career. I'll demonstrate strategies for getting caught up, and keeping up with the technical world around you. Strategies for learning and retaining information. Strategies for how you can concentrate on yourself and your career. </Abstract>
    <Start>2010-01-14T15:35:00</Start>
    <Room>Mangrove</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Joe O'Brien</SpeakerName>
    <Technology>Other</Technology>
    <Track>Other Track</Track>
    <SpeakerURI>/rest/speakers/Joe-OBrien</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/panel-Starting-Up-Fast--Lessons-from-the-Rails-Rumble</URI>
    <Title>(panel) Starting Up Fast - Lessons from the Rails Rumble</Title>
    <Abstract>The Rails Rumble is a 48-hour innovation competition in which teams of up to four developers embrace their environmental constraints to create a number of compelling microapps with Ruby and Rails. In this panel we’ll talk to a number of Rumble participants and discover the tips, tricks, and techniques they used to successfully launch innovative web properties in an extremely short time frame.&lt;br&gt;&lt;br&gt;Panelists will include a number of winners and other developers/designers who performed impressive feats during both the 2007, 2008, and 2009 contests. Questions will be taken before the conference starts, but attendees should come prepared with lots of questions for the panelists, such as:&lt;br&gt;&lt;br&gt;How they leveraged Rails and open source software to help them succeed.&lt;br&gt;How they scoped their projects and structured their applications to enable them to launch early and iterate often.&lt;br&gt;How they embraced the mantra of “simplest thing that could possibly work”, removing extraneous features and setting reasonable goals for themselves.&lt;br&gt;How they found partners whose skills complemented their own, and how they organized their team.&lt;br&gt;General productivity tips and work habit recommendations.&lt;br&gt;Their advice will be applicable to both future innovation competitions (such as the upcoming Rails Rumbles) as well as to any project that attendees may hope to bootstrap in their own copious spare time. We’ll also discuss how to get involved with innovation competitions and why their condensed nature and marketing opportunities can be a great motivator.&lt;br&gt;&lt;br&gt;Panelists include:&lt;br&gt;&lt;br&gt;Jonathan Penn - winner 2008&lt;br&gt;Jim Weirich - participant 2008&lt;br&gt;Josh Schramm - participant 2009&lt;br&gt;Matt Yoho - participant 2009&lt;br&gt;&lt;br&gt;Moderated by:&lt;br&gt;&lt;br&gt;Joe Fiorini&lt;br&gt;Josh Walsh&lt;br&gt;</Abstract>
    <Start>2010-01-14T11:00:00</Start>
    <Room>Indigo Bay</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Joe Fiorini, Jonathan Penn, Josh Schramm, Matt Yoho, Jim Weirich</SpeakerName>
    <Technology>Ruby</Technology>
    <Track>Other Track</Track>
    <SpeakerURI>/rest/speakers/Joe-Fiorini-Jonathan-Penn-Josh-Schramm-Matt-Yoho-Jim-Weirich</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Building-Webapps-with-Compojure</URI>
    <Title>Building Webapps with Compojure</Title>
    <Abstract>For the last year or so Clojure has quietly been sweeping developers into a wonderful sea of lisp. But this isn't your grandmother's lisp, this is lisp on Power Thirst! Come and see Aaron Bedra take you on a wild ride of functional, web driven bliss. You will take a look a a great little framework called Compojure. In this session you will learn how to harness the power of clojure to do your bidding and make your life building web applications a breeze. Hold on to your seats as Aaron takes you through lightning fast web development with Compojure and shows off the simplicity and elegance of this new web framework. You will tour the basic ideas behind Compojure including: * Your first &amp;quot;Hello Compojure&amp;quot; app * A short dive into the framework internals * Building a web mashup This will be a fire hose style, no holds barred blast of functional awesomeness leaving you itching to give both clojure and Compojure a try.</Abstract>
    <Start>2010-01-15T13:45:00</Start>
    <Room>D</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Aaron Bedra</SpeakerName>
    <Technology>Java</Technology>
    <Track>Web Frameworks</Track>
    <SpeakerURI>/rest/speakers/Aaron-Bedra</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Coding-Rainbows--Enterprise-Development-with-Prism</URI>
    <Title>Coding Rainbows - Enterprise Development with Prism</Title>
    <Abstract>In large organizations, it's common for an application to start out as small and &amp;quot;temporary&amp;quot; to morph into some large behemoth that is critical to a business function. As code is tacked on to this application it becomes harder and harder to maintain and troubleshoot. Enter Prism, the Composite Application Guidance for WPF and Silverlight. Using Prism gives you the guidance and foundation assemblies that will produce a functionally modular application that is testable, maintainable and evolvable. This talk will give an overview of Prism, benefits of it's use, and when it makes sense to use it.</Abstract>
    <Start>2010-01-14T16:50:00</Start>
    <Room>Guava/Tamarind</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Carey Payette</SpeakerName>
    <Technology>.NET</Technology>
    <Track>Rich Clients</Track>
    <SpeakerURI>/rest/speakers/Carey-Payette</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/SOLID-Ruby</URI>
    <Title>SOLID Ruby</Title>
    <Abstract>The SOLID principles are a set of design principles that improve an Object Oriented design. They are:&lt;br&gt;&lt;br&gt;* Single Responsibility Principle&lt;br&gt;* Open/Closed Princip&lt;br&gt;* Liskov Substitution Principle&lt;br&gt;* Interface Segregation Principle&lt;br&gt;* Dependency Inversion Principle&lt;br&gt;&lt;br&gt;The SOLID principles were written with a statically typed language (such as C++ or Java) in mind. What do the SOLID principles mean to a dynamic/flexible language like Ruby? This talk will focus on how SOLID and Ruby interact, how to create well designed Ruby software, and to suggest possibilities for new design principles for dynamic languages.&lt;br&gt;&lt;br&gt;ABSTRACT&lt;br&gt;&lt;br&gt;The 5 SOLID design principles form a great foundation for understanding good Object Oriented design. But the SOLID principles were originally conceived with statically typed OO languages, such as C++ and Java, in mind. How well do these principles hold up when the implementation language is Ruby? Are the principles just as pertinent as they were in Java, or does the dynamic nature of Ruby change what we mean by good design? In this presentation we will examine the SOLID principles to understand their core purpose, and then run them through the &amp;quot;Ruby Filter&amp;quot; to see if any of these core principles survive. By understanding these principles, we become better Ruby programmers.&lt;br&gt;</Abstract>
    <Start>2010-01-15T15:30:00</Start>
    <Room>Indigo Bay</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Jim Weirich</SpeakerName>
    <Technology>Ruby</Technology>
    <Track>Languages</Track>
    <SpeakerURI>/rest/speakers/Jim-Weirich</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/What-Makes-Ruby-Different</URI>
    <Title>What Makes Ruby Different</Title>
    <Abstract>You have heard about Ruby. You have heard about Ruby on Rails. What you have not seen is how they are different from the tools you are using. This talk is about code. C#, Java and Ruby, side-by-side, solving the same problems you face daily. This talk is focused solely on how the languages are different - beyond the surface of syntax and into the heart of design. We will show the difference between a purely object-oriented language and a class based language. We will show you what problem an IOC container solves, and why you don't need one in Ruby. This talk is not about selling a language, but comparing them. This is not about demonstrating features, but demonstrating benefits in real world code examples. </Abstract>
    <Start>2010-01-14T09:45:00</Start>
    <Room>Indigo Bay</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Joe O'Brien Mark Peabody Leon Gersing</SpeakerName>
    <Technology>Ruby</Technology>
    <Track>Languages</Track>
    <SpeakerURI>/rest/speakers/Joe-OBrien-Mark-Peabody-Leon-Gersing</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Going-Dynamic-with-C</URI>
    <Title>Going Dynamic with C#</Title>
    <Abstract>C# might be looking a little long in the tooth, but C# 4.0 adds dynamic support to compete with all the young punks. In this session, based on material from Effective C#, 2nd edition, you’ll learn how to mix dynamic features into the safety and performance of static typing. It’s yet another tool in the toolbox that you can use with C#. You’ll learn techniques that are easier to implement using dynamic features. You’ll learn how to bridge the gap between dynamic and static typing. Most of all you’ll learn when dynamic typing is an advantage, and when static typing provides the best solution.&lt;br&gt;&lt;br&gt;</Abstract>
    <Start>2010-01-15T09:30:00</Start>
    <Room>Cypress</Room>
    <Difficulty>Advanced</Difficulty>
    <SpeakerName>Bill Wagner</SpeakerName>
    <Technology>.NET</Technology>
    <Track>Languages</Track>
    <SpeakerURI>/rest/speakers/Bill-Wagner</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/RESTful-Interfaces-to-ThirdParty-Websites-with-Python</URI>
    <Title>RESTful Interfaces to Third-Party Websites with Python</Title>
    <Abstract>While the big players like Yahoo, Twitter, and Google provide API's for their services, not all sites have seen that light yet. This talk presents a methodology to add and publish a REST API to sites that do not provide their own. It covers design, implementation, testing, and best practices using a case-study. A basic understanding of Django and HTTP will be helpful.</Abstract>
    <Start>2010-01-15T10:45:00</Start>
    <Room>E</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Kevin Dahlhausen</SpeakerName>
    <Technology>Python</Technology>
    <Track>Architecture and Design</Track>
    <SpeakerURI>/rest/speakers/Kevin-Dahlhausen</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Engineering-vs-Design--How-to-work-together</URI>
    <Title>Engineering vs Design - How to work together</Title>
    <Abstract>In many companies, there is a separation of &amp;quot;church and state&amp;quot; between engineering and design (visual/interaction). For today's onslaught of rich internet applications, this separation can cause tension and/or lead to less than ideal applications. How do you work together? How do you get great and innovative UI design to cleanly pair with great software architecture and execution? This talk will collect the experiences from my career, and culminate in a system that works to deliver the best from both worlds.</Abstract>
    <Start>2010-01-14T16:50:00</Start>
    <Room>Portia/Wisteria</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Joe Nuxoll</SpeakerName>
    <Technology>Other</Technology>
    <Track>Dev Processes and Methodologies</Track>
    <SpeakerURI>/rest/speakers/Joe-Nuxoll</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Get-Higher-with-ScalaTest</URI>
    <Title>Get Higher with ScalaTest</Title>
    <Abstract>Newer JVM languages such as JRuby, Groovy, and Scala let you work at a higher level than Java. This talk will show you ScalaTest, a new testing tool that will let you work at a higher level than JUnit and TestNG. You'll learn about high-level features of Scala such as traits and self-types, implicit conversions and parameters, functions and closures, and internal DSLs, and see how ScalaTest exploits these features to help you work more productively. You'll see how you can reduce the lines of test code you write by half and more, how to mix Scala into your existing JUnit or TestNG infrastructure, and how to use Scala in various testing styles, including unit testing, behavior-driven development, integration and acceptance testing, and high-level property-based testing. You need not already know Scala to attend this talk, as you will be taught just enough Scala to understand the examples.</Abstract>
    <Start>2010-01-14T13:45:00</Start>
    <Room>Mangrove</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Bill Venners</SpeakerName>
    <Technology>Java</Technology>
    <Track>Dev Processes and Methodologies</Track>
    <SpeakerURI>/rest/speakers/Bill-Venners</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/User-Stories-Closing-the-Agile-Loop</URI>
    <Title>User Stories: Closing the Agile Loop</Title>
    <Abstract>A large number of Agile adoption initiatives start at a grassroots level among software developers who have grown uncomfortable with the blatant inefficiencies of classic approaches to software development. The teams who succeed often find themselves working more efficiently, but the impact of their success is hindered. They are still relegated to taking large functional specifications and digesting them into iterations of work, with little if any feedback from the business side of the house. A series of successful sprints can still be met with the cliche &amp;quot;that's not what we wanted&amp;quot; response, leaving development teams relegated to the &amp;quot;well that's what you wrote&amp;quot; response. Until the business people are participating in iterative feedback and realizing the flexibility and freedom they have in working with these Agile teams, there will always be a ceiling on their success.&lt;br&gt;&lt;br&gt;Attendees of this talk will be guided through pragmatic, proven approaches for building that bridge to the business representatives. A thorough treatment of how user stories can be used as an effective tool that allows business and development sides of the house to meet in the middle, as well as when and how to bend in order to move the adoption process forward. It will also cover the sometimes subtle pitfalls and hotspots of promoting a fully Agile process with participating business team members, and ways to hopefully allow good deeds to continue to go unpunished.</Abstract>
    <Start>2010-01-14T11:00:00</Start>
    <Room>Portia/Wisteria</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Barry Hawkins</SpeakerName>
    <Technology />
    <Track>Dev Processes and Methodologies</Track>
    <SpeakerURI>/rest/speakers/Barry-Hawkins</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/DomainDriven-Design-An-Introduction</URI>
    <Title>Domain-Driven Design: An Introduction</Title>
    <Abstract>The first book on Domain-Driven Design was published in 2003, authored by Eric Evans, who first coined the term and distilled the time-tested principles and patterns that make up the practice of DDD. In recent years, simplification and increased testability through frameworks like Spring, Hibernate, and others has substantially reduced the complexity of application infrastructure, allowing teams to turn their focus to honing their approach to software design. Domain-Driven Design meets practitioners in that quest with principles, practices, and process to recapture the spirit of software excellence that has been lost in so many of today's technology practices.&lt;br&gt;&lt;br&gt;This talk will introduce the foundations of Domain-Driven Design, and present several facets of DDD in action:&lt;br&gt;&lt;br&gt;* How models are chosen and evaluated&lt;br&gt;* How multiple models coexist&lt;br&gt;* How patterns help to avoid common pitfalls, such as overly-interconnected models&lt;br&gt;* How developers and domain experts together in a DDD team engage in deeper exploration of their problem domain and make that understanding tangible as a practical software design</Abstract>
    <Start>2010-01-14T15:35:00</Start>
    <Room>Portia/Wisteria</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Barry Hawkins</SpeakerName>
    <Technology>Other</Technology>
    <Track>Architecture and Design</Track>
    <SpeakerURI>/rest/speakers/Barry-Hawkins</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/IronPython-with-ASPNET</URI>
    <Title>IronPython with ASP.NET</Title>
    <Abstract>IronPython is Microsoft’s implementation of the Python language and it was one of the first dynamic language implementations for the CLR. It is currently nearing full release for the 2.6 implementation.&lt;br&gt;&lt;br&gt;We’ll start this session with a brief introduction to Python, then we’ll go right into how to make a new ASP.NET site play well with IronPython. Throughout this presentation we’ll discuss what benefits we get by using a dynamic language and what potential pitfalls you may encounter.&lt;br&gt;&lt;br&gt;When you leave this session you should be able to configure an ASP.NET website to work with IronPython and you'll be able to program basic basic functionality with IronPython in ASP.NET.&lt;br&gt;</Abstract>
    <Start>2010-01-15T13:45:00</Start>
    <Room>E</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Chris Sutton</SpeakerName>
    <Technology>Python</Technology>
    <Track>Web Frameworks</Track>
    <SpeakerURI>/rest/speakers/Chris-Sutton</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Photoshop-for-Engineers-Going-from-PSD-to-HTML</URI>
    <Title>Photoshop for Engineers: Going from PSD to HTML</Title>
    <Abstract>This session will walk engineers through the process that web developers go through when receiving a Photoshop document (PSD) from a designer - and turning it into real working HTML. This includes the aspects of cutting graphics out of PSD files and a bit of HTML/CSS to make things look right. The emphasis will be on getting stuff out of Photoshop, and assumes some CSS knowledge.</Abstract>
    <Start>2010-01-14T13:45:00</Start>
    <Room>D</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Joe Nuxoll</SpeakerName>
    <Technology>Other Languages</Technology>
    <Track>Dev Processes and Methodologies</Track>
    <SpeakerURI>/rest/speakers/Joe-Nuxoll</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Patterns-Studying-not-Stealing</URI>
    <Title>Patterns: Studying not Stealing</Title>
    <Abstract>Let go of your fear! In this fun and interactive session participants will learn the benefits of following respected patterns of interactive design to reduce waste and get fast feedback on initial designs. &lt;br&gt;&lt;br&gt;This session will cover concerns regarding intellectual property (IP), and identify guidelines to help developers determine where the line is between studying and stealing. We will emphasize the benefits of learning from others vs. creating an interface from scratch.&lt;br&gt;&lt;br&gt;Competitive analysis will be covered in depth as a quick, easy (and safe) way to determine what features are commonly provided to users. By studying these existing standards the project’s inventory of requirements will be representative of the users expectations. The resulting interface will benefit from others experience and ideas, without endangering the organization.&lt;br&gt;&lt;br&gt;This session will also explore additional methods that can improve software development by providing accurate information about users. Paper prototyping (low fidelity prototypes put in front of users) will be explored as a way to get fast feedback saves time and resources by allowing the team to iterate quickly based on the feedback without starting actual development.</Abstract>
    <Start>2010-01-15T13:45:00</Start>
    <Room>Portia/Wisteria</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Carol Smith and Jon Stahl</SpeakerName>
    <Technology>Other</Technology>
    <Track>Other Track</Track>
    <SpeakerURI>/rest/speakers/Carol-Smith-and-Jon-Stahl</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/An-Introduction-to-MongoDB</URI>
    <Title>An Introduction to MongoDB</Title>
    <Abstract>MongoDB is an open-source, high-performance, schema-free, document-oriented database. The goal of the MongoDB project is to bridge the functionality gap between a key/value store and a traditional RDBMS. This talk will introduce MongoDB and discuss some of the reasons why MongoDB might be the right fit for your project.&lt;br&gt;&lt;br&gt;We'll introduce MongoDB by explaining how it compares to traditional relational databases as well as some other non-relational systems. This will focus on the gains in scalability and flexiblity that make MongoDB an attractive option, as well as some examples of when MongoDB might not be the best fit. Following this introduction we will discuss some specific use cases for MongoDB. This will include examples of interacting with MongoDB from several different languages. We will review some of the advanced features of MongoDB and discuss how they can be put to good use.&lt;br&gt;&lt;br&gt;Questions and discussion will be encouraged throughout the presentation, but some time will be allotted at the end specifically for Q&amp;amp;A.&lt;br&gt;&lt;br&gt;&lt;br&gt;Notes: &lt;br&gt;- I filed this under Architecture and Design, but wasn't really sure where exactly it belonged. If you think it belongs in a different track feel free to adjust.&lt;br&gt;&lt;br&gt;- I also filed under Other Languages because there was no &amp;quot;All Languages&amp;quot; category. There are MongoDB drivers for all of the listed languages (and more), so the talk really applies to developers working in any of them.</Abstract>
    <Start>2010-01-14T11:00:00</Start>
    <Room>E</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Mike Dirolf</SpeakerName>
    <Technology>Other Languages</Technology>
    <Track>Architecture and Design</Track>
    <SpeakerURI>/rest/speakers/Mike-Dirolf</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Tapestry-5-Java-Power-Scripting-Ease</URI>
    <Title>Tapestry 5: Java Power, Scripting Ease</Title>
    <Abstract>The Apache Tapestry web framework has been making a name for itself in terms of &lt;br&gt;innovative features and ease of use. In this session, we'll introduce Tapestry&lt;br&gt;and explain its innovative approach to building fast, complex, reliable applications&lt;br&gt;from simple and reusable components. Along the way, we'll demonstrate the features&lt;br&gt;that make Tapestry so fun and productive: including live class reloading and &lt;br&gt;convention over configuration: we'll show how these result in minute amounts of code&lt;br&gt;to accomplish big goals, and how Tapestry brings scripting language productivity &lt;br&gt;within reach of Java developers without sacrificing any of Java's inherent speed and power.&lt;br&gt;</Abstract>
    <Start>2010-01-15T09:30:00</Start>
    <Room>Mangrove</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Howard M. Lewis Ship</SpeakerName>
    <Technology>Java</Technology>
    <Track>Web Frameworks</Track>
    <SpeakerURI>/rest/speakers/Howard-M-Lewis-Ship</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Clojure-Concurrent-Functional-Programming-for-the-JVM</URI>
    <Title>Clojure: Concurrent Functional Programming for the JVM</Title>
    <Abstract>Talk about strange bedfellows: what happens when you mix one part Lisp&lt;br&gt;(one of the oldest computer languages), one part Java (so young, yet&lt;br&gt;so well adopted), a healthy serving of functional programming, and a&lt;br&gt;state-of-the-art concurrency layer on top? That's Clojure, which&lt;br&gt;&amp;quot;feels like a general-purpose language beamed back from the near&lt;br&gt;future.&amp;quot; Clojure embraces functional programming with immutable data&lt;br&gt;types and first class functions. It is fully interoperable with&lt;br&gt;Java. Clojure's approach to concurrency includes asynchonous Agents,&lt;br&gt;and Software Transactional Memory. Clojure is fast, elegant, dynamic,&lt;br&gt;and scalable: a language for the future, today.&lt;br&gt;</Abstract>
    <Start>2010-01-15T15:30:00</Start>
    <Room>D</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Howard M. Lewis Ship</SpeakerName>
    <Technology>Java</Technology>
    <Track>Languages</Track>
    <SpeakerURI>/rest/speakers/Howard-M-Lewis-Ship</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Come-for-the-Phone-stay-for-the-Mac-</URI>
    <Title>Come for the Phone stay for the Mac </Title>
    <Abstract>Tons of developers are sticking their toe in the waters of Cocoa development hoping to knock out the next hit iPhone app. If you haven't gotten around to actually getting started, you may want to consider targeting the desktop instead where there isn't yet &amp;quot;an app for that.&amp;quot;&lt;br&gt;&lt;br&gt;This session is for experienced developers in a C-style language who have considered developing for the iPhone but haven't yet taken the plunge. We'll look at the core Cocoa coding techniques such as delegates, outlets and actions, Key value coding, key value observing, and bindings. You'll get the flavor of developing in Objective-C using Xcode, Interface Builder, and Instruments.</Abstract>
    <Start>2010-01-15T10:45:00</Start>
    <Room>D</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Daniel Steinberg</SpeakerName>
    <Technology>Mobile</Technology>
    <Track>Rich Clients</Track>
    <SpeakerURI>/rest/speakers/Daniel-Steinberg</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Tools-in-the-Trenches</URI>
    <Title>Tools in the Trenches</Title>
    <Abstract>Developers spend way too much of their time performing tedious and error prone tasks as part of their day to day work. Manual code reviews, waiting on slow and broken builds, fixing tests gone wild, firefighting scary releases--it never ends. But, fear not! There are tools and techniques for building a disciplined automated environment to rescue the developer, increase productivity and reduce monotony.  This session will briefly espouse the need for source control and issue tracking, but the focus will be primarily on what it takes to create high quality automatable builds and tests, and how to get them automated. Lessons learned while at Google and Netflix will be shared, as well as experience with a few specific products in key categories.</Abstract>
    <Start>2010-01-15T15:30:00</Start>
    <Room>Mangrove</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Carl Quinn</SpeakerName>
    <Technology>Java/JVM</Technology>
    <Track>Dev Processes and Methodologies</Track>
    <SpeakerURI>/rest/speakers/Carl-Quinn</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Five-Ways-to-Cure-the-Java-Blues-with-JRuby</URI>
    <Title>Five Ways to Cure the Java Blues with JRuby</Title>
    <Abstract>Are you burrowing in for the long winter with a Java project, but feeling a lack of motivation? Liven up your daily development experience by adding JRuby to the mix! Not into Ruby yet? Have no fear, there are lots of ways to get into Ruby without investing huge, up-front time learning the language. Use it to get some work done and decide for yourself. In this talk, I'll show five areas where you can start using JRuby in your Java project, from the smallest commitment up to deeper, more engaged ways to weave Ruby into your application. Interactively troubleshoot, build, test, configure, or develop with Ruby-based tools and frameworks right alongside your Java web application. And put the fun back into programming while doing it!</Abstract>
    <Start>2010-01-14T16:50:00</Start>
    <Room>E</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Nick Seiger</SpeakerName>
    <Technology>Java/JVM</Technology>
    <Track>Languages</Track>
    <SpeakerURI>/rest/speakers/Nick-Seiger</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Coding-Dojo</URI>
    <Title>Coding Dojo</Title>
    <Abstract>&lt;div&gt;Interested in learning some new coding skills, or honing up existing ones? Head over to the Coding Dojo held in the Banyan room Thursday and Friday. You can sit down by yourself or pair up with someone and walk through a number of exercises designed to improve your coding practices. Alternatively, use the room as an area to pair up with someone else to discuss anything you’re looking to work on. Our thanks go to the folks from Nimble Pros who are donating their time to help with this exciting addition to CodeMash!&lt;/div&gt;</Abstract>
    <Start>0001-01-01T00:00:00</Start>
    <Room>Banyan</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>N/A</SpeakerName>
    <Technology>Other</Technology>
    <Track>Other Track</Track>
    <SpeakerURI>/rest/speakers/NA</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Game-Room</URI>
    <Title>Game Room</Title>
    <Abstract>Settlers of Catlan, Incan Gold, Cosmic Encounters, Zombie Flux, and good old Dungeons and Dragons. Looking to sit down with some other gaming fans and enjoy some great games? Check out the Ironwood room on Thursday and Friday – we’re holding this room specifically for folks like you!</Abstract>
    <Start>0001-01-01T00:00:00</Start>
    <Room>Ironwood</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>N/A</SpeakerName>
    <Technology>Other</Technology>
    <Track>Other Track</Track>
    <SpeakerURI>/rest/speakers/NA</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/060-with-Fluent-NHibernate-Repeat</URI>
    <Title>0-60 with Fluent NHibernate (Repeat)</Title>
    <Abstract>&lt;div&gt;Fluent NHibernate is a framework, that sits on top of NHibernate, which helps to cut down on some of the headaches you will indubitably encounter with picking up such a mature ORM. We'll be discussing how FNH can help cut down the learning curve of using NHibernate as an ORM and how it can benefit existing NHibernate production environments long term by utilizing a convention over configuration approach.&lt;/div&gt;</Abstract>
    <Start>2010-01-14T11:00:00</Start>
    <Room>Crown Palm</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Hudson Akridge</SpeakerName>
    <Technology>.NET</Technology>
    <Track>Best of CodeMash</Track>
    <SpeakerURI>/rest/speakers/Hudson-Akridge</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Software-Design-and-Testability-Repeat</URI>
    <Title>Software Design and Testability (Repeat)</Title>
    <Abstract>&lt;div&gt;There is undeniable value in doing automated testing, but the question is whether the benefits of automated testing are worth the time and manpower investment. The benefits and costs of automated testing are greatly affected by design and architecture choices. In this talk I will examine the real world design issues, patterns, and principles that can enhance or hinder testability.&lt;/div&gt;</Abstract>
    <Start>2010-01-14T13:45:00</Start>
    <Room>Crown Palm</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Jeremy D. Miller</SpeakerName>
    <Technology>.NET</Technology>
    <Track>Best of CodeMash</Track>
    <SpeakerURI>/rest/speakers/Jeremy-D-Miller</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/SOLID-Ruby-Repeat</URI>
    <Title>SOLID Ruby (Repeat)</Title>
    <Abstract>&lt;div&gt;The SOLID principles are a set of design principles that improve an Object Oriented design. They are:&lt;/div&gt; &lt;div&gt;* Single Responsibility Principle&lt;br&gt;* Open/Closed Princip&lt;br&gt;* Liskov Substitution Principle&lt;br&gt;* Interface Segregation Principle&lt;br&gt;* Dependency Inversion Principle&lt;/div&gt; &lt;div&gt;The SOLID principles were written with a statically typed language (such as C++ or Java) in mind. What do the SOLID principles mean to a dynamic/flexible language like Ruby? This talk will focus on how SOLID and Ruby interact, how to create well designed Ruby software, and to suggest possibilities for new design principles for dynamic languages.&lt;/div&gt; &lt;div&gt;ABSTRACT&lt;/div&gt; &lt;div&gt;The 5 SOLID design principles form a great foundation for understanding good Object Oriented design. But the SOLID principles were originally conceived with statically typed OO languages, such as C++ and Java, in mind. How well do these principles hold up when the implementation language is Ruby? Are the principles just as pertinent as they were in Java, or does the dynamic nature of Ruby change what we mean by good design? In this presentation we will examine the SOLID principles to understand their core purpose, and then run them through the &amp;quot;Ruby Filter&amp;quot; to see if any of these core principles survive. By understanding these principles, we become better Ruby programmers.&lt;br&gt;&lt;/div&gt;</Abstract>
    <Start>2010-01-14T15:35:00</Start>
    <Room>Crown Palm</Room>
    <Difficulty>Intermediate</Difficulty>
    <SpeakerName>Jim Weirich</SpeakerName>
    <Technology>Ruby</Technology>
    <Track>Best of CodeMash</Track>
    <SpeakerURI>/rest/speakers/Jim-Weirich</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/What-Makes-Ruby-Different-Repeat</URI>
    <Title>What Makes Ruby Different (Repeat)</Title>
    <Abstract>You have heard about Ruby. You have heard about Ruby on Rails. What you have not seen is how they are different from the tools you are using. This talk is about code. C#, Java and Ruby, side-by-side, solving the same problems you face daily. This talk is focused solely on how the languages are different - beyond the surface of syntax and into the heart of design. We will show the difference between a purely object-oriented language and a class based language. We will show you what problem an IOC container solves, and why you don't need one in Ruby. This talk is not about selling a language, but comparing them. This is not about demonstrating features, but demonstrating benefits in real world code examples.  &lt;div&gt;&lt;/div&gt;</Abstract>
    <Start>2010-01-14T16:50:00</Start>
    <Room>Crown Palm</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Joe O'Brien Mark Peabody Leon Gersing</SpeakerName>
    <Technology>Ruby</Technology>
    <Track>Best of CodeMash</Track>
    <SpeakerURI>/rest/speakers/Joe-OBrien-Mark-Peabody-Leon-Gersing</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Patterns-Studying-not-Stealing-Repeat</URI>
    <Title>Patterns: Studying not Stealing (Repeat)</Title>
    <Abstract>&lt;div&gt;Let go of your fear! In this fun and interactive session participants will learn the benefits of following respected patterns of interactive design to reduce waste and get fast feedback on initial designs. &lt;/div&gt; &lt;div&gt;This session will cover concerns regarding intellectual property (IP), and identify guidelines to help developers determine where the line is between studying and stealing. We will emphasize the benefits of learning from others vs. creating an interface from scratch.&lt;/div&gt; &lt;div&gt;Competitive analysis will be covered in depth as a quick, easy (and safe) way to determine what features are commonly provided to users. By studying these existing standards the project’s inventory of requirements will be representative of the users expectations. The resulting interface will benefit from others experience and ideas, without endangering the organization.&lt;/div&gt; &lt;div&gt;This session will also explore additional methods that can improve software development by providing accurate information about users. Paper prototyping (low fidelity prototypes put in front of users) will be explored as a way to get fast feedback saves time and resources by allowing the team to iterate quickly based on the feedback without starting actual development.&lt;/div&gt;</Abstract>
    <Start>2010-01-15T09:30:00</Start>
    <Room>Crown Palm</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Carol Smith and Jon Stahl</SpeakerName>
    <Technology>Other</Technology>
    <Track>Best of CodeMash</Track>
    <SpeakerURI>/rest/speakers/Carol-Smith-and-Jon-Stahl</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Refactoring-the-Programmer-Repeat</URI>
    <Title>Refactoring the Programmer (Repeat)</Title>
    <Abstract>&lt;div&gt;Many developers find themselves asking &amp;quot;how did I get here?&amp;quot;. You feel stuck where you are while everyone around you seems to be doing something exciting. You want to improve you situation but how? How do you raise a family, keep up with the industry, find out about new and exciting things, and get ahead? There seems to be too much out there. In this talk I will take you through a step by step approach to refactoring yourself and your career. I'll demonstrate strategies for getting caught up, and keeping up with the technical world around you. Strategies for learning and retaining information. Strategies for how you can concentrate on yourself and your career. &lt;/div&gt;</Abstract>
    <Start>2010-01-15T10:45:00</Start>
    <Room>Crown Palm</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Joe O'Brien</SpeakerName>
    <Technology>Other</Technology>
    <Track>Rich Clients</Track>
    <SpeakerURI>/rest/speakers/Joe-OBrien</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Engineering-vs-Design--How-to-work-together-Repeat</URI>
    <Title>Engineering vs Design - How to work together (Repeat)</Title>
    <Abstract>&lt;div&gt;In many companies, there is a separation of &amp;quot;church and state&amp;quot; between engineering and design (visual/interaction). For today's onslaught of rich internet applications, this separation can cause tension and/or lead to less than ideal applications. How do you work together? How do you get great and innovative UI design to cleanly pair with great software architecture and execution? This talk will collect the experiences from my career, and culminate in a system that works to deliver the best from both worlds.&lt;/div&gt;</Abstract>
    <Start>2010-01-15T13:45:00</Start>
    <Room />
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Joe Nuxoll</SpeakerName>
    <Technology>Other</Technology>
    <Track>Best of CodeMash</Track>
    <SpeakerURI>/rest/speakers/Joe-Nuxoll</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Building-your-dream-software</URI>
    <Title>Building your dream software</Title>
    <Abstract>Getting your ideas off the ground</Abstract>
    <Start>2010-01-14T11:00:00</Start>
    <Room>2</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Jeff Miller</SpeakerName>
    <Technology>Other</Technology>
    <Track>Open Spaces</Track>
    <SpeakerURI>/rest/speakers/Jeff-Miller</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/FUBU-MVC-demo--strategy</URI>
    <Title>FUBU MVC demo &amp; strategy</Title>
    <Abstract />
    <Start>2010-01-14T11:00:00</Start>
    <Room />
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Jeremy D. Miller</SpeakerName>
    <Technology>Other</Technology>
    <Track>Open Spaces</Track>
    <SpeakerURI>/rest/speakers/Jeremy-D-Miller</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Lean-Software-Dev--AgileLean-in-nonAgile-environments</URI>
    <Title>Lean Software Dev &amp; Agile/Lean in non-Agile environments</Title>
    <Abstract>Starting the conversation.</Abstract>
    <Start>2010-01-14T15:35:00</Start>
    <Room>3</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Steve Horn &amp; Jon Kruger</SpeakerName>
    <Technology>.NET</Technology>
    <Track>Open Spaces</Track>
    <SpeakerURI>/rest/speakers/Steve-Horn--Jon-Kruger</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Siverlight-Open-Source--MEF</URI>
    <Title>Siverlight, Open Source, &amp; MEF</Title>
    <Abstract />
    <Start>2010-01-14T15:35:00</Start>
    <Room>6</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Jesse Liberty</SpeakerName>
    <Technology>Other</Technology>
    <Track>Open Spaces</Track>
    <SpeakerURI>/rest/speakers/Jesse-Liberty</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Developing-Android-20</URI>
    <Title>Developing Android 2.0</Title>
    <Abstract />
    <Start>2010-01-14T13:45:00</Start>
    <Room>8</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Jason Farrell</SpeakerName>
    <Technology>Other</Technology>
    <Track>Open Spaces</Track>
    <SpeakerURI>/rest/speakers/Jason-Farrell</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Amazon-Web-Services-QA</URI>
    <Title>Amazon Web Services Q&amp;A</Title>
    <Abstract />
    <Start>2010-01-14T15:45:00</Start>
    <Room>7</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Jason McHugh</SpeakerName>
    <Technology>Other</Technology>
    <Track>Open Spaces</Track>
    <SpeakerURI>/rest/speakers/Jason-McHugh</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/SharePoint--the-NET-Dev</URI>
    <Title>SharePoint &amp; the .NET Dev</Title>
    <Abstract />
    <Start>2010-01-14T15:45:00</Start>
    <Room>9</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Scott Zischerk</SpeakerName>
    <Technology>Other</Technology>
    <Track>Open Spaces</Track>
    <SpeakerURI>/rest/speakers/Scott-Zischerk</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/TDDBDD-with-Functional-Programming</URI>
    <Title>TDD/BDD with Functional Programming</Title>
    <Abstract />
    <Start>2010-01-14T16:50:00</Start>
    <Room>4</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Amanda Laucher</SpeakerName>
    <Technology>Other</Technology>
    <Track>Open Spaces</Track>
    <SpeakerURI>/rest/speakers/Amanda-Laucher</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Story-Teller-Fitnesse-Killer</URI>
    <Title>Story Teller "Fitnesse Killer"</Title>
    <Abstract />
    <Start>2010-01-14T16:50:00</Start>
    <Room>6</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Jeremy D. Miller </SpeakerName>
    <Technology>Other</Technology>
    <Track>Open Spaces</Track>
    <SpeakerURI>/rest/speakers/Jeremy-D-Miller-</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/GUI-TDD-Is-it-possible</URI>
    <Title>GUI TDD. Is it possible?</Title>
    <Abstract />
    <Start>2010-01-14T16:50:00</Start>
    <Room>8</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName />
    <Technology>Other</Technology>
    <Track>Open Spaces</Track>
    <SpeakerURI>/rest/speakers/</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Android--Whats-up</URI>
    <Title>Android - What's up?</Title>
    <Abstract />
    <Start>2010-01-15T09:30:00</Start>
    <Room>4</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Dan Hibbitts</SpeakerName>
    <Technology>Other</Technology>
    <Track>Open Spaces</Track>
    <SpeakerURI>/rest/speakers/Dan-Hibbitts</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Messaging-Events-CQRS-Mass-Transit</URI>
    <Title>Messaging, Events, CQRS, Mass Transit</Title>
    <Abstract />
    <Start>2010-01-15T09:30:00</Start>
    <Room>6</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Chris Patterson</SpeakerName>
    <Technology>Other</Technology>
    <Track>Open Spaces</Track>
    <SpeakerURI>/rest/speakers/Chris-Patterson</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Geek-Fitness</URI>
    <Title>Geek Fitness</Title>
    <Abstract />
    <Start>2010-01-15T10:45:00</Start>
    <Room>2</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Joe O'Brien</SpeakerName>
    <Technology>Other</Technology>
    <Track>Open Spaces</Track>
    <SpeakerURI>/rest/speakers/Joe-OBrien</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Compare--Contrast-ASPNET-MVC--Ruby-on-Rails</URI>
    <Title>Compare &amp; Contrast ASP.NET MVC &amp; Ruby on Rails</Title>
    <Abstract />
    <Start>2010-01-15T10:45:00</Start>
    <Room>3</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Jon Kruger</SpeakerName>
    <Technology>Other</Technology>
    <Track>Open Spaces</Track>
    <SpeakerURI>/rest/speakers/Jon-Kruger</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Finding-Value-as-an-Influencer</URI>
    <Title>Finding Value as an Influencer</Title>
    <Abstract />
    <Start>2010-01-15T13:45:00</Start>
    <Room>5</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Steve Andrews &amp; Leon Gersing</SpeakerName>
    <Technology>Other</Technology>
    <Track>Open Spaces</Track>
    <SpeakerURI>/rest/speakers/Steve-Andrews--Leon-Gersing</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Dr-Who-End-of-Time-Support-Group</URI>
    <Title>Dr. Who 'End of Time' Support Group</Title>
    <Abstract>For those fans who watched it and want to discuss.</Abstract>
    <Start>2010-01-15T13:45:00</Start>
    <Room>6</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Sara Ford</SpeakerName>
    <Technology>Other</Technology>
    <Track>Open Spaces</Track>
    <SpeakerURI>/rest/speakers/Sara-Ford</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/MobiMash</URI>
    <Title>MobiMash</Title>
    <Abstract>More details about the awesome</Abstract>
    <Start>2010-01-15T15:35:00</Start>
    <Room>3</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName />
    <Technology>Other</Technology>
    <Track>Open Spaces</Track>
    <SpeakerURI>/rest/speakers/</SpeakerURI>
  </Session>
  <Session>
    <URI>/rest/sessions/Practical-MVVM</URI>
    <Title>Practical MVVM</Title>
    <Abstract />
    <Start>2010-01-15T15:35:00</Start>
    <Room>5</Room>
    <Difficulty>Beginner</Difficulty>
    <SpeakerName>Brian Genisio</SpeakerName>
    <Technology>Other</Technology>
    <Track>Open Spaces</Track>
    <SpeakerURI>/rest/speakers/Brian-Genisio</SpeakerURI>
  </Session>
</Sessions>