CodeMash V2.0.1.0

January 13-15, 2010 Sandusky, Ohio
Stay
Connected

Sessions - All

(panel) Starting Up Fast - Lessons from the Rails Rumble
0-60 with Fluent NHibernate
0-60 with Fluent NHibernate (Repeat)
Agile Iteration 0
Amaze Your Friends with jQuery
Amazon Web Services Q&A
An Agile Toolchain for Flex RIAs
An Introduction to Cucumber
An Introduction to Functional Programming with Scheme
An Introduction to MongoDB
Analyze and Optimize your .NET Web Application
Android - What's up?
Azure: Lessons from the field
Being an Evil Genius with F# and .NET
Building Dynamic Data Driven Applications, Part 1
Building Dynamic Data Driven Applications, Part 2
Building Webapps with Compojure
Building your dream software
Clojure: Concurrent Functional Programming for the JVM
Coding Dojo
Coding Rainbows - Enterprise Development with Prism
Come for the Phone stay for the Mac
Compare & Contrast ASP.NET MVC & Ruby on Rails
Convention over Configuration Applied to .Net
Credit Crunch Code – Time to Pay Back the Technical Debt
Cucumber - Beyond the Basics
Developing Android 2.0
Developing Enterprise Apps with JavaFX
Domain-Driven Design: An Introduction
Dr. Who 'End of Time' Support Group
Engineering vs Design - How to work together
Engineering vs Design - How to work together (Repeat)
Finding Value as an Influencer
Five Ways to Cure the Java Blues with JRuby
FUBU MVC demo & strategy
Funky Java, Objective Scala
Game Room
Geek Fitness
Get Higher with ScalaTest
Get Rid Of Visual SourceSafe??!
Going Dynamic with C#
GUI TDD. Is it possible?
How Do You Do That on iPhone?
Introducing the MVVM Pattern
IronPython with ASP.NET
Leadership 101
Lean Software Dev & Agile/Lean in non-Agile environments
Looting Design Ideas from the World of Warcraft
MacRuby and Cocoa Applications
Maintainable ASP.NET MVC
Messaging, Events, CQRS, Mass Transit
MobiMash
NoSQL: Death to Relational Databases!(?)
Oh Crap! I Forgot (or Never Learned) C!
Patterns: Studying not Stealing
Patterns: Studying not Stealing (Repeat)
Photoshop for Engineers: Going from PSD to HTML
PowerShell: Ten things you need to know
Practical MVVM
Refactoring the Programmer
Refactoring the Programmer (Repeat)
RESTful Interfaces to Third-Party Websites with Python
reStructuredText: Plain Text Gets Superpowers
Ruby and Rails for the .Net Developer
See Processing Run, Run Processing Run
Seeing Constraints, Kanban Explained
Sexier Software with Flex
SharePoint & the .NET Dev
Silverlight From Zero
Siverlight, Open Source, & MEF
Software Design and Testability
Software Design and Testability (Repeat)
SOLID Ruby
SOLID Ruby (Repeat)
Source Control for People Who Don't Like Source Control
Story Teller "Fitnesse Killer"
T4: Code Generation with Visual Studio 2008
Tapestry 5: Java Power, Scripting Ease
TDD/BDD with Functional Programming
Techniques for Programming Parallel Solutions
Testing ASP.net applications using Ruby
Testing Java in the Fast Lane
Testing the Enterprise
The case for Griffon: developing desktop applications for fun and profit
The Economics of Cloud Computing
Tools in the Trenches
User Stories: Closing the Agile Loop
What Makes Ruby Different
What Makes Ruby Different (Repeat)
What's New In Silverlight
WTF 2.0: A guide to building social applications

(panel) Starting Up Fast - Lessons from the Rails Rumble
Technology/Platform: Ruby
Difficulty Level: Beginner

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.

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:

How they leveraged Rails and open source software to help them succeed.
How they scoped their projects and structured their applications to enable them to launch early and iterate often.
How they embraced the mantra of “simplest thing that could possibly work”, removing extraneous features and setting reasonable goals for themselves.
How they found partners whose skills complemented their own, and how they organized their team.
General productivity tips and work habit recommendations.
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.

Panelists include:

Jonathan Penn - winner 2008
Jim Weirich - participant 2008
Josh Schramm - participant 2009
Matt Yoho - participant 2009

Moderated by:

Joe Fiorini
Josh Walsh

Presented By: Joe Fiorini, Jonathan Penn, Josh Schramm, Matt Yoho, Jim Weirich

About the Speaker: Joe Fiorini has previously spoken at a number of conferences, including Railsconf '09, Windy City Rails '08, and Cleveland Day of .NET. This is his third CodeMash conference. He is a full time Ruby on Rails developer, winner of the 2008 Rails Rumble and participant in 2009. He enjoys spending free time with his wife and Bichon Frise.

Top
0-60 with Fluent NHibernate
Technology/Platform: .NET
Difficulty Level: Intermediate

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.

Presented By: Hudson Akridge

About the Speaker: I've been involved and active in the .NET community for a couple years. I've given talks at the Lake County .NET Users Group, Chicago Alt.NET user group, Chicago Code Camp, and in two weeks, Strange Loop Conference in St. Louis. (You can watch one of the videos here:
http://chicagoalt.net/event/July2009Meeting060withFluentNHibernate )

I'm one of the Developers on the Fluent NHibernate team, and I maintain Ayende's NHibernate Query Analyzer (Now somewhat depreciated with the advent of NHibernate Profiler).

I currently work in a midsize printing company where I'm on a small team using whatever technologies we feel we need to write good software. Current project is an enterprise level EAV system, with a stack using NHibernate, Castle, RhinoMocks, and MVC.NET.

Top
0-60 with Fluent NHibernate (Repeat)
Technology/Platform: .NET
Difficulty Level: Intermediate

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.

Presented By: Hudson Akridge

About the Speaker:

Top
Agile Iteration 0
Technology/Platform: Other
Difficulty Level: Intermediate

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 "pre" 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.

Presented By: Ken Sipe

About the Speaker: Ken Sipe is a Technology Director with Perficient, Inc. (PRFT), IBM's largest service partner, where he leads multiple teams in the development of solutions in the SOA, Web 2.0 and portal domains, on both the Java and .Net platforms. Ken was the founder of CodeMentor, where he was the Chief Architect and Mentor, leading clients in the execution of RUP and Agile methodologies in the delivery of software solutions. He is a former trainer for Rational in OOAD and RUP, and a CORBA Visibroker trainer for Borland. He continues to enjoy providing training and mentoring in all aspects of software development. Ken has a deep need to be highly diversified. Ken often works with IT executives on high-level strategic roadmaps, currently geared around service-oriented architectures. Ken also likes to keep his hands "dirty" in the code, which has him on a regular basis, pairing or otherwise producing code.

Top
Amaze Your Friends with jQuery
Technology/Platform: Other Languages
Difficulty Level: Beginner

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.

Presented By: Adam McCrea

About the Speaker: Adam McCrea is the logician and head of product development at EdgeCase in Columbus, Ohio. A strong believer in the power of small, he loves working for a small company and working with simple but powerful tools. He has been developing web applications for seven years and has presented on JavaScript and Ruby on Rails at the Columbus Ruby Brigade and eRubyCon.

Adam's passions include creating intuitive user interfaces, mastering the Ruby Way, and showing fellow developers that JavaScript can be elegant and fun. He is also a husband, father, and all-around swell guy.

Top
Amazon Web Services Q&A
Technology/Platform: Other
Difficulty Level: Beginner

Abstract:

Presented By: Jason McHugh

About the Speaker:

Top
An Agile Toolchain for Flex RIAs
Technology/Platform: Other Languages
Difficulty Level: Intermediate

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.

Presented By: James Ward

About the Speaker: James Ward is a Technical Evangelist for Flex at Adobe and Adobe's JCP representative to JSR 286, 299, and 301.

Much like his love for climbing mountains he enjoys programming because it provides endless new discoveries, elegant workarounds, summits and valleys. His adventures in climbing have taken him many places.

Likewise, technology has brought him many adventures, including: Pascal and Assembly back in the early 90's; Perl, HTML, and JavaScript in the mid 90's; then Java and many of it's frameworks beginning in the late 90's.

Today he primarily uses Flex to build beautiful front-ends for Java based back-ends. Prior to Adobe, James built a rich marketing and customer service portal for Pillar Data Systems.

Top
An Introduction to Cucumber
Technology/Platform: Ruby
Difficulty Level: Beginner

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.

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.

Presented By: Leon Gersing

About the Speaker: Leon has been bringing value to clients large and small for over ten years, and has a passion for technology, art and community. He has experience using technologies ranging from ASP.Net and C++, to Objective-C, Ajax, and Actionscript – and of course, Ruby and Rails. A believer in building strong communities, Leon spends time presenting on a wide variety of development topics at events and user groups in the region. He loves nothing more than to be around other developers, working together to create something unique and fresh; something that has never been done before. He believes there is no challenge that can't be overcome with passion and creativity. He spends his spare time with his wife, two beautiful girls, two sweet kitties, and his ukulele.

Top
An Introduction to Functional Programming with Scheme
Technology/Platform: Other Languages
Difficulty Level: Beginner

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 "live" before the class.

I am currently heading a study group on the SICP book. This session will be based primarily on our first eight weeks of learning.

Presented By: Michael J Norton

About the Speaker: I am a husband, father, developer, and runner. I've held positions with titles such as Manger, Director, and CTO for corporations in Ohio, but my true love and passion is Coaching and Development. I'm a ground-and-pound kind of guy who likes to be in the trenches getting the work done.

I love working in teams and I am an avid agilist.

My development interests are varied. I stick with the Web arena, but can be found pairing happily at any layer; Model, View, Controller, Services, or the User Interface.

Top
An Introduction to MongoDB
Technology/Platform: Other Languages
Difficulty Level: Intermediate

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.

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.

Questions and discussion will be encouraged throughout the presentation, but some time will be allotted at the end specifically for Q&A.


Notes:
- 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.

- I also filed under Other Languages because there was no "All Languages" 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.

Presented By: Mike Dirolf

About the Speaker: Mike Dirolf is a Software Engineer at 10gen, where he works on the MongoDB project. He mainly works on client drivers for Python and Ruby, but also takes time out to talk about MongoDB - he has presented at EuroPython, Strange Loop Conf, RuPy and RubyConf as well as at meetup groups in New York City, London, Washington D.C. and San Francisco. Mike received a B.S.E. in Computer Science from Princeton University. Born in Albany NY, Mike currently resides in New York City.

Top
Analyze and Optimize your .NET Web Application
Technology/Platform: .NET
Difficulty Level: Intermediate

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.

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.

There will be no slides in this talk, all code all the time.

Presented By: James Avery

About the Speaker: James Avery is a founder and president of Adzerk LLC, which runs The Lounge and Ruby Row advertising networks as well as providing a SAAS ad delivery platform. James is also the founder and owner of Infozerk Inc. which provides .NET and Ruby consulting. James has been working with .NET since 2001 and has been a web developer since 1996. He has written books for Microsoft Press, Wrox, and O'Reilly Press. James has written articles for MSDN Magazine and Dr. Dobbs.

Top
Android - What's up?
Technology/Platform: Other
Difficulty Level: Beginner

Abstract:

Presented By: Dan Hibbitts

About the Speaker:

Top
Azure: Lessons from the field
Technology/Platform: .NET
Difficulty Level: Intermediate

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.

Presented By: Rob Gillen

About the Speaker: Rob is a developer focused on Microsoft technologies for over ten years working in the service provider (hosting) market place as well as with federal and corporate customers. Rob specializes in application and service provisioning, identity management, SharePoint and is currently working on the intersection of traditional HPC and the commercial “cloud”. Rob has spent the last two years working on the applications team at Oak Ridge National Laboratory and was one of the team members driving the IT transformation there. Rob is currently working in the Computer Science Research Group at ORNL studying the role of cloud computing in our portfolio of scientific computing.

Top
Being an Evil Genius with F# and .NET
Technology/Platform: .NET
Difficulty Level: Advanced

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.

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!

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.)

Presented By: Chris Smith

About the Speaker: Chris Smith works as a tester on the Microsoft F# team and is author of Programming F# by O'Reilly. Before joining the F# team, Chris worked on various parts of Visual Studio from WCF support to the Settings and Resource designers. Chris lives in the Seattle area and enjoys skiing and blogging about F# at http://blogs.msdn.com/chrsmith. He has a burning passion for girly drinks.

Top
Building Dynamic Data Driven Applications, Part 1
Technology/Platform: .NET
Difficulty Level: Beginner

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.

Presented By: Jim Wooley

About the Speaker: Jim Wooley is a frequent speaker, member of the INETA Speaker Bureau, MVP, and author of "LINQ in Action". He is always striving to stay at the forefront of technology and enjoys the thrill of a new challenge. He has been active evangelizing LINQ since it's announcement in 2005. In addition, he attempts to pass on the insights he has gained by being active in the community, including organizing the Atlanta Code Camp, leading the Microsoft MS Pros and Atlanta VB Study Group and serving as INETA Membership Manager for the Georgia region. Jim has actively helped to guide Microsoft through Software Design Reviews with product teams and is an active Microsoft Data Programmer Insider and Visual Basic Insider. In addition to speaking at numerous user groups and code camps in 7 states, Jim has presented at product launch events, MSDN conferences, and TechEd.

Top
Building Dynamic Data Driven Applications, Part 2
Technology/Platform: .NET
Difficulty Level: Beginner

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.

Presented By: Jim Wooley

About the Speaker: Jim Wooley is a frequent speaker, member of the INETA Speaker Bureau, MVP, and author of "LINQ in Action". He is always striving to stay at the forefront of technology and enjoys the thrill of a new challenge. He has been active evangelizing LINQ since it's announcement in 2005. In addition, he attempts to pass on the insights he has gained by being active in the community, including organizing the Atlanta Code Camp, leading the Microsoft MS Pros and Atlanta VB Study Group and serving as INETA Membership Manager for the Georgia region. Jim has actively helped to guide Microsoft through Software Design Reviews with product teams and is an active Microsoft Data Programmer Insider and Visual Basic Insider. In addition to speaking at numerous user groups and code camps in 7 states, Jim has presented at product launch events, MSDN conferences, and TechEd.

Top
Building Webapps with Compojure
Technology/Platform: Java
Difficulty Level: Intermediate

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 "Hello Compojure" 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.

Presented By: Aaron Bedra

About the Speaker: Aaron brings the ability to quickly ninja any application. His passion for spreading the security word via his blog is kicking off a new wave of security consciousness throughout the Ruby community and creating an avalanche of better development practices. His passion for exploring new technologies and traveling new roads has quickly shot him up through the Ruby industry and on to the Relevance team.

Top
Building your dream software
Technology/Platform: Other
Difficulty Level: Beginner

Abstract: Getting your ideas off the ground

Presented By: Jeff Miller

About the Speaker:

Top
Clojure: Concurrent Functional Programming for the JVM
Technology/Platform: Java
Difficulty Level: Beginner

Abstract: Talk about strange bedfellows: what happens when you mix one part Lisp
(one of the oldest computer languages), one part Java (so young, yet
so well adopted), a healthy serving of functional programming, and a
state-of-the-art concurrency layer on top? That's Clojure, which
"feels like a general-purpose language beamed back from the near
future." Clojure embraces functional programming with immutable data
types and first class functions. It is fully interoperable with
Java. Clojure's approach to concurrency includes asynchonous Agents,
and Software Transactional Memory. Clojure is fast, elegant, dynamic,
and scalable: a language for the future, today.

Presented By: Howard M. Lewis Ship

About the Speaker: Creator of the Apache Tapestry web framework and author of "Tapestry in Action". Frequent speaker at JavaOne, ApacheCon, NoFluffJustStuff and elsewhere.

Top
Coding Dojo
Technology/Platform: Other
Difficulty Level: Beginner

Abstract:
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!

Presented By: N/A

About the Speaker:
N/A

Top
Coding Rainbows - Enterprise Development with Prism
Technology/Platform: .NET
Difficulty Level: Intermediate

Abstract: In large organizations, it's common for an application to start out as small and "temporary" 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.

Presented By: Carey Payette

About the Speaker: Carey Payette is a Senior Software Developer at American Electric Power where she implements Enterprise Applications using Web Services, ASP.NET, and WPF. Carey holds a Bachelor of Science in Computer Science from Laurentian University in Sudbury Ontario. She is the president of the Central Ohio .Net Developer's group (www.condg.org) in Columbus Ohio and has a history of speaking at various conferences in the midwest including Codemash, MSDN Developer's Conference, and multiple Day of .Net events. A mother of three boys, she is always on the go, but still finds time to keep up to speed on the latest technology trends as an avid magazine and book reader. Carey is also a Microsoft MVP in Client Application Development. In her spare time, she enjoys playing hockey and going camping with her husband and boys. You can keep up with Carey by visiting her blog at http://codingbandit.com/blog or on Twitter at http://twitter.com/careypayette.

Top
Come for the Phone stay for the Mac
Technology/Platform: Mobile
Difficulty Level: Beginner

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 "an app for that."

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.

Presented By: Daniel Steinberg

About the Speaker: I currently write and edit books for the Pragmatic Programmers. My current book is on Cocoa. I used to edit java.net. I've written a dozen books - some of them are probably still on Amazon, hundreds of articles for everyone from Apple's developer site to JavaWorld Magazine, and have spoken at WWDC, MacWorld Expo, Mac Hack, JavaOne, SDWest, and tons of other places. I also co-teach the iPhone Studio for The Pragmatic Studios.

Top
Compare & Contrast ASP.NET MVC & Ruby on Rails
Technology/Platform: Other
Difficulty Level: Beginner

Abstract:

Presented By: Jon Kruger

About the Speaker:

Top
Convention over Configuration Applied to .Net
Technology/Platform: .NET
Difficulty Level: Intermediate

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 "Convention over Configuration" 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.

Presented By: Jeremy D. Miller

About the Speaker: Jeremy is the Chief Software Architect at Dovetail Software, the coolest ISV in Austin. Jeremy began his IT career writing "Shadow IT" applications to automate his engineering documentation, then wandered into software development because it looked like more fun. Jeremy previously worked as a systems architect building mission critical supply chain software for a Fortune 100 company and learned agile development practices as a .Net consultant at ThoughtWorks, one of the pioneers of agile development. Jeremy is the author of the open source StructureMap (http://structuremap.sourceforge.net) tool for Dependency Injection with .Net and the forthcoming StoryTeller (http://storyteller.tigris.org) tool for supercharged acceptance testing in .Net. Jeremy's thoughts on just about everything software related can be found on his weblog "The Shade Tree Developer" at http://codebetter.com/blogs/jeremy.miller, part of the popular CodeBetter site. Jeremy is a Microsoft MVP for C#.

Top
Credit Crunch Code – Time to Pay Back the Technical Debt
Technology/Platform: .NET
Difficulty Level: Advanced

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 "sensitive tests" 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.

Presented By: Gary Short

About the Speaker: Gary Short works for Developer Express as the Technical Evangelist on the frameworks team. He has a deep interest in technical architecture, especially in the areas of technical debt and refactoring. Gary is a C# MVP and gives presentations at user groups and conferences throughout the UK.

As well as C#, Gary also has an interest in dynamic languages such as Smalltalk, Ruby and Python as well as iPhone development using Objective-C.

Gary's ducelt tones can also be heard on the SodThis and the CodeCast podcasts.

Top
Cucumber - Beyond the Basics
Technology/Platform: Ruby
Difficulty Level: Intermediate

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:

- Multiline step arguments and scenario outlines
- Tagging
- Using profiles
- Testing javascript code
- Extending cucumber
- Writing steps in Java
- Running with Spork

Presented By: Mike Doel

About the Speaker: Mike is the CTO of VacationView, Inc. - a Columbus-based startup looking to make it easier to find, rent, and trade vacation property. Prior to that, Mike spent 11+ years with CompuServe and AOL where he led several efforts including international web portals, broadband provisioning, and online access services. Mike does most of his work in Ruby.

Top
Developing Android 2.0
Technology/Platform: Other
Difficulty Level: Beginner

Abstract:

Presented By: Jason Farrell

About the Speaker:

Top
Developing Enterprise Apps with JavaFX
Technology/Platform: Java
Difficulty Level: Intermediate

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.

Presented By: Jim Weaver

About the Speaker: James L. (Jim) Weaver is the Senior VP of Technology at VNI Media http://vnimedia.com. He writes books, speaks for groups and conferences, and provides training and consulting services on the subject of JavaFX. Jim also posts regularly to his blog at http://JavaFXpert.com whose stated purpose is to help the reader learn JavaFX Script and other JavaFX technologies.

Top
Domain-Driven Design: An Introduction
Technology/Platform: Other
Difficulty Level: Intermediate

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.

This talk will introduce the foundations of Domain-Driven Design, and present several facets of DDD in action:

* How models are chosen and evaluated
* How multiple models coexist
* How patterns help to avoid common pitfalls, such as overly-interconnected models
* 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

Presented By: Barry Hawkins

About the Speaker: Barry Hawkins has played various roles in his 13 years in the software industry, from lone developer to team lead to Agile coach and mentor. Barry is one of the few native Atlantans, currently specializing in coaching and mentoring for Agile software development. Over the years, he has developed on several platforms, including Microsoft and Java as well as several other less-annoying technologies. Barry has also participated as a package maintainer for the Debian GNU/Linux distribution. When not working or doing things with his family, he can usually be found playing Lord of The Rings Online, and formerly, World of Warcraft. He also sporadically blogs at http://www.yepthatsme.com.

Barry around the Intertubes:

Tips for Introducing Change - Lightning Talk at Java Posse Roundup 2009 http://www.youtube.com/watch?v=U6fwxVG0wRI

Staffing Agile Teams - Java Posse Roundup 2009 - A podcoast of the conversation I convened at this Open Spaces conference: http://javaposse.com/index.php?post_id=493300

Why Agile Is Hard - Java Posse Roundup 2008 - A podcast of the conversation I convened at this Open Spaces conference http://javaposse.com/index.php?post_id=323727

Top
Dr. Who 'End of Time' Support Group
Technology/Platform: Other
Difficulty Level: Beginner

Abstract: For those fans who watched it and want to discuss.

Presented By: Sara Ford

About the Speaker:

Top
Engineering vs Design - How to work together
Technology/Platform: Other
Difficulty Level: Intermediate

Abstract: In many companies, there is a separation of "church and state" 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.

Presented By: Joe Nuxoll

About the Speaker: Joe has a deep passion for both great user interface design and engineering. He has been involved in design, technology, and business throughout his professional history - covering a wide range from designing, architecting, and coding complex commercial software to meeting with executives, investors, and the press. He has run engineering and product design for small companies, and has been a key contributor for much larger organizations. Joe is also a co-host of the Java Posse, the #1 ranked Java technology podcast. Aside from the hustle and bustle of the software design and engineering career, Joe enjoys racing cars, instructing new race car drivers, and taking lots of photographs of pro soccer and nature.

Top
Engineering vs Design - How to work together (Repeat)
Technology/Platform: Other
Difficulty Level: Beginner

Abstract:
In many companies, there is a separation of "church and state" 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.

Presented By: Joe Nuxoll

About the Speaker:

Top
Finding Value as an Influencer
Technology/Platform: Other
Difficulty Level: Beginner

Abstract:

Presented By: Steve Andrews & Leon Gersing

About the Speaker:

Top
Five Ways to Cure the Java Blues with JRuby
Technology/Platform: Java/JVM
Difficulty Level: Beginner

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!

Presented By: Nick Seiger

About the Speaker: Nick Sieger is an engineer at Engine Yard, working on JRuby and leading the effort to make the Java Virtual Machine a robust yet easy-to-use deployment platform for Rails and Ruby web applications. He created and co-maintains the JDBC adapter for ActiveRecord that JRuby on Rails uses for database connectivity, as well as the Warbler tool and JRuby-Rack library for dealing with Java application server deployment.

Top
FUBU MVC demo & strategy
Technology/Platform: Other
Difficulty Level: Beginner

Abstract:

Presented By: Jeremy D. Miller

About the Speaker:

Top
Funky Java, Objective Scala
Technology/Platform: Java
Difficulty Level: Intermediate

Abstract: Funky Java, Objective Scala

Session Title: Funky Java, Objective Scala

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.

Abstract:

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?

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.

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:

Immutable value classes
Builder pattern and fluent APIs
Typesafe "Multiple returns" with Pairs and Triples
Predicates, functions, constraints, identity maps and more with the Google Collections Library

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.

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.

Aimed at beginner and intermediate developers, this session aims to help you improve your productivity and coding style.

Presented By: Dick Wall

About the Speaker: Dick Wall is a veteran Java developer and a more recent Scala convert. He currently works for Navigenics, Inc., a Bay Area startup specializing in personal genomics, and co-hosts the Java Posse podcast providing news, commentary and interviews around the Java development sphere. In addition, Dick founded and still runs the Bay Area Scala Enthusiasts (BASE), a Scala oriented user group.

Top
Game Room
Technology/Platform: Other
Difficulty Level: Beginner

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!

Presented By: N/A

About the Speaker:
N/A

Top
Geek Fitness
Technology/Platform: Other
Difficulty Level: Beginner

Abstract:

Presented By: Joe O'Brien

About the Speaker:

Top
Get Higher with ScalaTest
Technology/Platform: Java
Difficulty Level: Intermediate

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.

Presented By: Bill Venners

About the Speaker: Bill Venners is president of Artima, Inc., publisher of Artima Developer (www.artima.com). He is author of the book, Inside the Java Virtual Machine, a programmer-oriented survey of the Java platform's architecture and internals. His popular columns in JavaWorld magazine covered Java internals, object-oriented design, and Jini. Active in the Jini Community since its inception, Bill led the Jini Community's ServiceUI project, whose ServiceUI API became the de facto standard way to associate user interfaces to Jini services. Bill is also the lead developer and designer of ScalaTest, an open source testing tool for Scala and Java developers, and coauthor with Martin Odersky and Lex Spoon of the book, Programming in Scala.

Top
Get Rid Of Visual SourceSafe??!
Technology/Platform: Other
Difficulty Level: Beginner

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.

Presented By: Joe Kuemerle

About the Speaker: Joe Kuemerle is a Lead Developer at PreEmptive Solutions, LLC ( www.preemptive.com ) and has over 14 years of development and database experience. Joe specializes in application and data security topics as well as application usage tracking. Joe has spoken at user groups, community events, CodeMash, Devlink and the MSDN Developer Conference. Joe is a presenter on Microsoft's MS Dev training site.

Top
Going Dynamic with C#
Technology/Platform: .NET
Difficulty Level: Advanced

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.


Presented By: Bill Wagner

About the Speaker: With more than 20 years experience in software design and engineering, Bill Wagner has led the design on many successful engineering and enterprise Microsoft Windows products and adapted legacy systems for Windows.

In 2000, he started using .NET and now spends his time facilitating the adoption of .NET in clients’ product and enterprise development. Knowledgeable in all .NET areas, Bill’s principal strengths include the C# language, the core framework, Smart Clients, and Service Oriented Architecture and design.

In addition to his role at SRT Solutions, Bill serves as Michigan’s Regional Director for Microsoft. In 2005, Microsoft awarded him “C# Most Valuable Professional (MVP)” status. These honorary positions allow Bill previews of upcoming technologies and help ensure SRT clients the most advanced and cutting-edge solutions for their technology projects.

An internationally recognized author on the C# language evolution, Smart Clients and enterprise design, Bill has been a contributing editor, editorial board member and regular columnist for over a decade with his tutorials and advanced essays published in MSDN Magazine, MSDN Online, .NET Insight, and .NET DJ. He also writes a monthly column for Visual Studio Magazine, and a monthly column on the MSDN C# team developer center.

Bill’s book, Effective C#, was published in 2004. His next book, More Effective C#,was publichsed in 2008.

Top
GUI TDD. Is it possible?
Technology/Platform: Other
Difficulty Level: Beginner

Abstract:

Presented By:

About the Speaker:

Top
How Do You Do That on iPhone?
Technology/Platform: Mobile
Difficulty Level: Intermediate

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:
* Designing custom table cells visually with Interface Builder, and using them in your app's tables
* Using buttons, switches and other controls inside table cells
* Animating changes in your GUI (rotation resizes, adding widgets, etc.)
* Gracefully handling interruptions from incoming calls
* Alerting the user with vibration
* Figuring out if your network connection is wifi or cellular
* Sharing information between applications you've written
* Building the "full" and "lite" versions of your app from the same Xcode project and sources
* Running automated nightly builds from the command-line

Presented By: Chris Adamson

About the Speaker: Chris Adamson is an independent writer, editor, and developer, living in Grand Rapids, Michigan. Now focusing on iPhone and Mac development, he is the co-author of iPhone SDK Development. He is also the author of QuickTime for Java: A Developer's Notebook and co-author of Swing Hacks. He was formerly the editor of java.net, and of ONJava.com. He consults and publishes through his corporate identity, <a href="http://www.subfurther.com/">Subsequently and Furthermore, Inc.</a>, with a focus on user-facing and digital media development for Mac and iPhone. He blogs on digital media software development at <a href="http://www.subfurther.com/blog/">[Time code];</a>. In a previous career, he was a Writer / Associate Producer at CNN Headline News, and over the years, he has managed to own eleven and a half Macs.

Top
Introducing the MVVM Pattern
Technology/Platform: .NET
Difficulty Level: Intermediate

Abstract: WPF and Silverlight demos that bind the "View" directly to the "Model" are nice for small applications. For real-world applications, however, this way of writing software quickly falls apart. The
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 "View" from the "Model".

Presented By: Brian Genisio

About the Speaker: Brian Genisio currently is employed as a Senior Software Developer for Siemens Medical Solutions in Ann Arbor, MI. For almost 10 years, Brian has worked both in Linux and in Windows, covering many languages and technologies along the way. He has been developing with C# in .NET for over 3 years and he strongly believes in TDD and CI practices. Brian loves to learn new ideas and talk about them with others.

Top
IronPython with ASP.NET
Technology/Platform: Python
Difficulty Level: Intermediate

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.

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.

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.

Presented By: Chris Sutton

About the Speaker: Chris Sutton is a software developer and technical trainer in Eastern Iowa and has been working with ASP.NET since 2002. He helps run CRineta.org in Cedar Rapids, Iowa and he co-founded the Iowa Code Camp in 2008. Chris is a Microsoft MVP, a Microsoft Certified Trainer (MCT) and holds the MCPD:Enterprise certification. He has been consulting and speaking on software development topics since 2005 and loves developing for the web.

Getting to spend time with his wife and kids makes his tech work worthwhile. He also enjoys hiking and biking in the summer and snowshoeing in the winter.

Top
Leadership 101
Technology/Platform: Other
Difficulty Level: Beginner

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.

Presented By: Jim Holmes

About the Speaker: Father. Husband. Geek. Veteran. Over 20 years IT experience. Co-author of “Windows Developer Power Tools.” Coffee Roaster. MVP for C#. Chief Cat Herder of the CodeMash Conference. Liked 5th grade so much he did it twice. One-time setter, middle blocker, and weakside hitter. Blogger (http://FrazzledDad.com). Quality Lead at Telligent Systems. Big fan of naps.

Top
Lean Software Dev & Agile/Lean in non-Agile environments
Technology/Platform: .NET
Difficulty Level: Beginner

Abstract: Starting the conversation.

Presented By: Steve Horn & Jon Kruger

About the Speaker:

Top
Looting Design Ideas from the World of Warcraft
Technology/Platform: .NET
Difficulty Level: Intermediate

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.

Presented By: Jason Follas

About the Speaker: Jason Follas is a Technical Architect for Perficient, serving clients primarily located in the greater Detroit region (including Toledo, where he lives and serves as the President of the Northwest Ohio .NET User Group). Since 1994, he has developed many interesting solutions on the Microsoft platform, including an Aircraft Weight and Balance system used by an air freight company, several e-Commerce websites, Risk Management systems, and blend optimization software. In 2007 and 2008, Microsoft recognized Jason as a Microsoft MVP (SQL Server).

Top
MacRuby and Cocoa Applications
Technology/Platform: Ruby
Difficulty Level: Beginner

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 "a version of Ruby 1.9, ported to run [on] Mac OS X [using] the Objective-C common runtime and garbage collector". 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.

Presented By: Matt Yoho

About the Speaker: Matt Yoho is a web-focused developer who has built applications for institutions such as universities and public utilities as well as small businesses and start-ups (including his own) since 2005. He has worked on platforms such as PHP, ASP.NET, and Ruby on Rails, finding the last to yield the most enjoyable development experience to date. He is an agile development enthusiast and currently the lead developer for Toobla, a central Ohio start-up that aims to change the way you think about collecting and sharing content on the web. He has had the good fortune of teaching a project-based course in Ruby and Rails for the Scholars program of the Ohio State University, where once upon a time he received a B.S. in Computer Science & Engineering along with one in Psychology. He is a recovering karaoke addict and one fairly hep cat.

Top
Maintainable ASP.NET MVC
Technology/Platform: .NET
Difficulty Level: Beginner

Abstract: Objective
Introduce software developers to Microsoft’s ASP.NET MVC framework and provide "beyond the bits" guidance to help teams get up to speed on this exciting alternative to WebForms development.

Specifications
Level: 100

Duration: 60-90 minutes

Subject Area: ASP.NET, Web Development, Patterns and Practices

Introduction
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.

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.

Presented By: Chris Patterson

About the Speaker: I am a Senior Architect at RelayHealth and a Microsoft C# MVP. For the past twenty years, I have been building enterprise applications on the Microsoft platform for several industries. My primary language is C#, however, I am also fluent in C++ and JavaScript. While focused on service-oriented architecture and enterprise application integration, I also work on web applications using ASP.NET, web services and messaging. With over twelve years of experience in healthcare transaction systems, I have a deep understanding of transaction processing, data security, and application performance tuning.

Top
Messaging, Events, CQRS, Mass Transit
Technology/Platform: Other
Difficulty Level: Beginner

Abstract:

Presented By: Chris Patterson

About the Speaker:

Top
MobiMash
Technology/Platform: Other
Difficulty Level: Beginner

Abstract: More details about the awesome

Presented By:

About the Speaker:

Top
NoSQL: Death to Relational Databases!(?)
Technology/Platform: Other Languages
Difficulty Level: Intermediate

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.

The name of that storm? NoSQL.

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?

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.

Presented By: Ben Scofield

About the Speaker: Ben Scofield is the Technology Director for Viget Labs, where he uses his experience working with startups like Squidoo and ODEO and his expertise in Ruby, Rails, and other technologies to help new businesses get on the right track. In addition to speaking at various conferences (including Rubyconf, Railsconf, and Railsconf Europe) and authoring Practical REST on Rails 2 Projects for Apress, he's one of the primary organizers behind Developer Day - a series of local, technology-agnostic events around the US. When at home, he reads voraciously and spends time with his wife and young daughter.

Top
Oh Crap! I Forgot (or Never Learned) C!
Technology/Platform: Other Languages
Difficulty Level: Advanced

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 "lingua franca", 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.

Presented By: Chris Adamson

About the Speaker: Chris Adamson is an independent writer, editor, and developer, living in Grand Rapids, Michigan. Now focusing on iPhone and Mac development, he is the co-author of iPhone SDK Development. He is also the author of QuickTime for Java: A Developer's Notebook and co-author of Swing Hacks. He was formerly the editor of java.net, and of ONJava.com. He consults and publishes through his corporate identity, <a href="http://www.subfurther.com/">Subsequently and Furthermore, Inc.</a>, with a focus on user-facing and digital media development for Mac and iPhone. He blogs on digital media software development at <a href="http://www.subfurther.com/blog/">[Time code];</a>. In a previous career, he was a Writer / Associate Producer at CNN Headline News, and over the years, he has managed to own eleven and a half Macs.

Top
Patterns: Studying not Stealing
Technology/Platform: Other
Difficulty Level: Beginner

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.

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.

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.

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.

Presented By: Carol Smith and Jon Stahl

About the Speaker: Carol Smith
Carol figures out what makes people tick. She takes the time to understand user's needs and behaviors and creates tools that convey this information in an easy to understand format. She then helps organizations integrate users needs and behaviors directly into their development projects through her company, Midwest Research, LLC. Carol is the Treasurer and Director of Chapters for the Usability Professionals' Association (UPA), an international organization that promotes usability concepts and techniques. Carol has a Master's degree in Human-Computer Interaction and has nine years of usability experience.

Jon Stahl
Jon's passion is eliminating waste, optimizing the performance of IT teams and helping organizations become lean and agile. He has worked directly with leadership teams of Fortune 500 organizations to reduce waste and improve delivery. He was named the agile leader and co-managed the transformation of an organization with over 26 agile teams. He is the co-organizer of Cleveland events such as Ignite Cleveland, Cleveland Startup Weekend, Cleveland Code Retreats, and Cleveland Give Camp for IT Philanthropy. His company is located on a boat in downtown Cleveland and hosts ~10 tech meetings a month. His goal is to pair with the best in the industry to improve our craft and improve the credibility of our community.

Top
Patterns: Studying not Stealing (Repeat)
Technology/Platform: Other
Difficulty Level: Beginner

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.
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.
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.
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.

Presented By: Carol Smith and Jon Stahl

About the Speaker:

Top
Photoshop for Engineers: Going from PSD to HTML
Technology/Platform: Other Languages
Difficulty Level: Beginner

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.

Presented By: Joe Nuxoll

About the Speaker: Joe has a deep passion for both great user interface design and engineering. He has been involved in design, technology, and business throughout his professional history - covering a wide range from designing, architecting, and coding complex commercial software to meeting with executives, investors, and the press. He has run engineering and product design for small companies, and has been a key contributor for much larger organizations. Joe is also a co-host of the Java Posse, the #1 ranked Java technology podcast. Aside from the hustle and bustle of the software design and engineering career, Joe enjoys racing cars, instructing new race car drivers, and taking lots of photographs of pro soccer and nature.

Top
PowerShell: Ten things you need to know
Technology/Platform: .NET
Difficulty Level: Beginner

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:
* It’s all about Objects on the Command Line
* Automating your Build Process with Powershell and PSake
* How I Learned to Stopped Worrying and Love A Distributed Environment



Presented By: Matt Hester and Aaron Lerch

About the Speaker: Matt Hester is a seasoned Information Technology Professional Evangelist for Microsoft. Matt has been involved in the IT Pro community for over 15 years. Matt is a skilled and experienced evangelist presenting to audiences nationally and internationally. Prior to joining Microsoft Matt was a highly successful Microsoft Certified Trainer for over 8 years. After joining Microsoft, Matt has continued to be heavily involved in IT Pro community as an IT Pro Evangelist. In his role at Microsoft Matt has presented to audiences in excess of 5000 and as small as 10. Matt has also published 4 articles for TechNet magazine and runs a successful blog with ~350K touches a month. Aaron is a developer and team lead at Interactive Intelligence, an ISV that creates large scale "unified communications" IP telephony software for the contact center. A contributor to several open source projects, Aaron's interests and experience spread the gamut of .NET software development from Powershell to ASP.NET MVC to Windows Forms and WPF. But what gets him really excited is learning, growing, and improving. Aaron has spoken at several Indianapolis-based developer events, but you can find his thoughts on software development on his blog at aaronlerch.com, or on twitter at twitter.com/aaronlerch.

Top
Practical MVVM
Technology/Platform: Other
Difficulty Level: Beginner

Abstract:

Presented By: Brian Genisio

About the Speaker:

Top
Refactoring the Programmer
Technology/Platform: Other
Difficulty Level: Beginner

Abstract: Many developers find themselves asking "how did I get here?". 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.

Presented By: Joe O'Brien

About the Speaker: Joe is a father, speaker, author and developer. Before helping found EdgeCase, LLC, Joe was a developer with ThoughtWorks and spent much of his time working with large J2EE and .NET systems for Fortune 500 companies. He has spent his career as a developer, project manager, and everything in between. Joe is a passionate member of the open source community. He co-founded the Columbus Ruby Brigade and helped organize the Chicago Area Ruby Users Group. His passions are Agile Development in the Enterprise, Ruby, and demonstrating to the Fortune 500 the elegance and power of this incredible language.

Top
Refactoring the Programmer (Repeat)
Technology/Platform: Other
Difficulty Level: Beginner

Abstract:
Many developers find themselves asking "how did I get here?". 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.

Presented By: Joe O'Brien

About the Speaker:

Top
RESTful Interfaces to Third-Party Websites with Python
Technology/Platform: Python
Difficulty Level: Intermediate

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.

Presented By: Kevin Dahlhausen

About the Speaker: Kevin Dahlhausen is a software developer at Key Bank and an unabashed Python developer at night. He holds a Bachelor of Science degree in Computer and Information Science from the College of Engineering at the Ohio State University. In his spare time, he enjoys rowing and home-brewing.

Top
reStructuredText: Plain Text Gets Superpowers
Technology/Platform: Python
Difficulty Level: Beginner

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!

Presented By: Catherine Devlin

About the Speaker: In 1999, Catherine was working as a secretary when a freak accident transformed her into a database administrator. She took up Python programming a few years later and never looked back. She is an active speaker and organizer in the Oracle and Python communities, member of the Python Software Foundation, and chair of PyOhio. She grew up in International Falls, Minnesota, and doesn't think it's cold outside. She blogs at catherinedevlin.blogspot.com.

Top
Ruby and Rails for the .Net Developer
Technology/Platform: Ruby
Difficulty Level: Beginner

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 "best practices" 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.

Presented By: Matt Yoho

About the Speaker: Matt Yoho is a web-focused developer who has built applications for institutions such as universities and public utilities as well as small businesses and start-ups (including his own) since 2005. He has worked on platforms such as PHP, ASP.NET, and Ruby on Rails, finding the last to yield the most enjoyable development experience to date. He is an agile development enthusiast and currently the lead developer for Toobla, a central Ohio start-up that aims to change the way you think about collecting and sharing content on the web. He has had the good fortune of teaching a project-based course in Ruby and Rails for the Scholars program of the Ohio State University, where once upon a time he received a B.S. in Computer Science & Engineering along with one in Psychology. He is a recovering karaoke addict and one fairly hep cat.

Top
See Processing Run, Run Processing Run
Technology/Platform: Java
Difficulty Level: Beginner

Abstract: “Hello Data” in 3D animated Java-loving glory. Learn to use Processing – a free Java IDE and library toolset for creating 3D & 2D animated Java applets and standalone applications. If you can see your data, you can know your data, and have fun doing it!

Presented By: Wes Faler

About the Speaker: Wes Faler has 10110 years of professional programming experience and is a veteran of several commercial grid-computing applications. Wes is currently doing grid simulations for the US EPA, working with cloud computing, and finding every reason possible to use Processing.

Top
Seeing Constraints, Kanban Explained
Technology/Platform: Other
Difficulty Level: Beginner

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 "kanban explained" 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.

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.

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.

Presented By: Jon Stahl

About the Speaker: Jon's passion is eliminating waste, optimizing the performance of IT teams and helping organizations become lean and agile. He has worked directly with leadership teams of Fortune 500 organizations to reduce waste and improve delivery. He was named the agile leader and co-managed the transformation of an organization with over 26 agile teams.

He is the co-organizer of Cleveland events such as Ignite Cleveland, Cleveland Startup Weekend, Cleveland Code Retreats, and Cleveland Give Camp for IT Philanthropy. His company is located on a boat in downtown Cleveland and hosts ~10 tech meetings a month.

His goal is to pair with the best in the industry to improve our craft and improve the credibility of our community.

Top
Sexier Software with Flex
Technology/Platform: Other Languages
Difficulty Level: Intermediate

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.

Presented By: James Ward

About the Speaker: James Ward is a Technical Evangelist for Flex at Adobe and Adobe's JCP representative to JSR 286, 299, and 301.

Much like his love for climbing mountains he enjoys programming because it provides endless new discoveries, elegant workarounds, summits and valleys. His adventures in climbing have taken him many places.

Likewise, technology has brought him many adventures, including: Pascal and Assembly back in the early 90's; Perl, HTML, and JavaScript in the mid 90's; then Java and many of it's frameworks beginning in the late 90's.

Today he primarily uses Flex to build beautiful front-ends for Java based back-ends. Prior to Adobe, James built a rich marketing and customer service portal for Pillar Data Systems.

Top
SharePoint & the .NET Dev
Technology/Platform: Other
Difficulty Level: Beginner

Abstract:

Presented By: Scott Zischerk

About the Speaker:

Top
Silverlight From Zero
Technology/Platform: .NET
Difficulty Level: Beginner

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.

Attendees are assumed to have a working knowledge of C# and one of: ASP.NET, AJAX, WinForms or WPF.

Topics to be covered include

First program
Xaml and Code
Layout and Controls
Silverlight and ASP.NET and HTML
Multi-page applications
Transforms and Animation
Templates and The Visual State Manager
Data, Data-binding and Validation
Basics of Media

Presented By: Jesse Liberty

About the Speaker: Jesse Liberty, Silverlight Geek, is a Developer Community Program Manager for Microsoft Silverlight.net. His areas of interest include RIA, C Data and Web Services, Cross-platform Line of Business programming, and most of all, building strong relationships between the Development Division at Microsoft and software developers world-wide.
Liberty is a frequent guest on numerous podcasts and his blog is a required resource for Silverlight programmers. He is the author of over two dozen books, including the forthcoming Programming Silverlight 4. His twenty years of programming experience include stints as a Distinguished Software Engineer at AT&T; Vice President of Human-Computer Interaction at Citibank and Software Architect at PBS/Learning Link. He can be reached at jliberty@microsoft.com

Top
Siverlight, Open Source, & MEF
Technology/Platform: Other
Difficulty Level: Beginner

Abstract:

Presented By: Jesse Liberty

About the Speaker:

Top
Software Design and Testability
Technology/Platform: .NET
Difficulty Level: Intermediate

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.

Presented By: Jeremy D. Miller

About the Speaker: Jeremy is the Chief Software Architect at Dovetail Software, the coolest ISV in Austin. Jeremy began his IT career writing "Shadow IT" applications to automate his engineering documentation, then wandered into software development because it looked like more fun. Jeremy previously worked as a systems architect building mission critical supply chain software for a Fortune 100 company and learned agile development practices as a .Net consultant at ThoughtWorks, one of the pioneers of agile development. Jeremy is the author of the open source StructureMap (http://structuremap.sourceforge.net) tool for Dependency Injection with .Net and the forthcoming StoryTeller (http://storyteller.tigris.org) tool for supercharged acceptance testing in .Net. Jeremy's thoughts on just about everything software related can be found on his weblog "The Shade Tree Developer" at http://codebetter.com/blogs/jeremy.miller, part of the popular CodeBetter site. Jeremy is a Microsoft MVP for C#.

Top
Software Design and Testability (Repeat)
Technology/Platform: .NET
Difficulty Level: Intermediate

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.

Presented By: Jeremy D. Miller

About the Speaker:

Top
SOLID Ruby
Technology/Platform: Ruby
Difficulty Level: Intermediate

Abstract: The SOLID principles are a set of design principles that improve an Object Oriented design. They are:

* Single Responsibility Principle
* Open/Closed Princip
* Liskov Substitution Principle
* Interface Segregation Principle
* Dependency Inversion Principle

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.

ABSTRACT

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 "Ruby Filter" to see if any of these core principles survive. By understanding these principles, we become better Ruby programmers.

Presented By: Jim Weirich

About the Speaker: Jim Weirich is the Chief Scientist for EdgeCase LLC, a Rails development firm located in Columbus Ohio. Jim has over twenty-five years of experience in software development. He has worked with real-time data systems for testing jet engines, networking software for information systems, and image processing software for the financial industry. Jim is active in the Ruby community and has contributed to several Ruby projects, including the Rake build system and the RubyGems package software.

Top
SOLID Ruby (Repeat)
Technology/Platform: Ruby
Difficulty Level: Intermediate

Abstract:
The SOLID principles are a set of design principles that improve an Object Oriented design. They are:
* Single Responsibility Principle
* Open/Closed Princip
* Liskov Substitution Principle
* Interface Segregation Principle
* Dependency Inversion Principle
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.
ABSTRACT
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 "Ruby Filter" to see if any of these core principles survive. By understanding these principles, we become better Ruby programmers.

Presented By: Jim Weirich

About the Speaker:

Top
Source Control for People Who Don't Like Source Control
Technology/Platform: Other
Difficulty Level: Beginner

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.

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.

In this talk, we avoid the whole "fear of git" issue by not talking about git at all. Instead we introduce the "Custom Source Control" (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.

So, this talk is not about git. But attendees will end up with a deeper understanding of the principles behind git.

Did I mention this talk is not about git? No, really! It's not. <wink/>

Presented By: Jim Weirich

About the Speaker: Jim Weirich is the Chief Scientist for EdgeCase LLC, a Rails development firm located in Columbus Ohio. Jim has over twenty-five years of experience in software development. He has worked with real-time data systems for testing jet engines, networking software for information systems, and image processing software for the financial industry. Jim is active in the Ruby community and has contributed to several Ruby projects, including the Rake build system and the RubyGems package software.

Top
Story Teller "Fitnesse Killer"
Technology/Platform: Other
Difficulty Level: Beginner

Abstract:

Presented By: Jeremy D. Miller

About the Speaker:

Top
T4: Code Generation with Visual Studio 2008
Technology/Platform: .NET
Difficulty Level: Beginner

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.

Presented By: Steve Andrews

About the Speaker: Steve Andrews is a Team System MVP and INETA speaker, and has been working as a developer for more than 9 years. During this time, he has designed and developed applications in such widely varying areas as trust accounting, medical information management, supply chain management, and retail systems. Steve is also a MCTS, ICSOO, and community fanatic.

Top
Tapestry 5: Java Power, Scripting Ease
Technology/Platform: Java
Difficulty Level: Beginner

Abstract: The Apache Tapestry web framework has been making a name for itself in terms of
innovative features and ease of use. In this session, we'll introduce Tapestry
and explain its innovative approach to building fast, complex, reliable applications
from simple and reusable components. Along the way, we'll demonstrate the features
that make Tapestry so fun and productive: including live class reloading and
convention over configuration: we'll show how these result in minute amounts of code
to accomplish big goals, and how Tapestry brings scripting language productivity
within reach of Java developers without sacrificing any of Java's inherent speed and power.

Presented By: Howard M. Lewis Ship

About the Speaker: Creator of the Apache Tapestry web framework and author of "Tapestry in Action". Frequent speaker at JavaOne, ApacheCon, NoFluffJustStuff and elsewhere.

Top
TDD/BDD with Functional Programming
Technology/Platform: Other
Difficulty Level: Beginner

Abstract:

Presented By: Amanda Laucher

About the Speaker:

Top
Techniques for Programming Parallel Solutions
Technology/Platform: .NET
Difficulty Level: Intermediate

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#.

Presented By: Michael Slade

About the Speaker: Michael Slade is an Applications Programmer – Lead with Progressive Insurance. Prior to joining Progressive, he was a senior software engineer with ABB, where he spent 12 years building real-time, highly concurrent Windows applications for to help ABB customers automate their chemical, power, and manufacturing plants.

Top
Testing ASP.net applications using Ruby
Technology/Platform: .NET
Difficulty Level: Intermediate

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.

Presented By: Ben Hall

About the Speaker: Ben Hall is a UK C# developer\tester with a strong passion for software development and loves writing code. Ben enjoys exploring different ways of testing software, including both manual and automated testing, focusing on the best ways to test different types of applications. He also loves developing web applications using ASP.net and Ruby on Rails. Ben is a C# MVP, author of the book Testing ASP.net Web Applications and maintains a blog at Blog.BenHall.me.uk.

Top
Testing Java in the Fast Lane
Technology/Platform: Java
Difficulty Level: Beginner

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.

This session will demonstrate Groovy aiding Java tests in key areas as code verbosity, mocking and producing/consuming XML.

Presented By: Andres Almiray

About the Speaker: Andres is a Java/Groovy developer with more than 10 years of experience in software design and development. He has been involved in web and desktop application development since the early days of Java. He is a true believer in open source and has participated on popular projects like Groovy, Griffon, and DbUnit, as well as starting his own projects (Json-lib, EZMorph, GraphicsBuilder, JideBuilder). Founding member of the Griffon framework. Andres maintains a blog at http://jroller.com/aalmiray

Top
Testing the Enterprise
Technology/Platform: Ruby
Difficulty Level: Intermediate

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.

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.

Presented By: Leon Gersing and Charley Baker

About the Speaker: Leon has been bringing value to clients large and small for over ten years, and has a passion for technology, art and community. He has experience using technologies ranging from ASP.Net and C++, to Objective-C, Ajax, and Actionscript – and of course, Ruby and Rails. A believer in building strong communities, Leon spends time presenting on a wide variety of development topics at events and user groups in the region. He loves nothing more than to be around other developers, working together to create something unique and fresh; something that has never been done before. He believes there is no challenge that can't be overcome with passion and creativity. He spends his spare time with his wife, two beautiful girls, two sweet kitties, and his ukulele.

Charley is a lead developer on Watir, a web testing tool written in Ruby. He has 15 years of experience in the IT field, working as developer, team lead, QA Architect and . He has been working in the software and IT industry for 15 years as a developer, QA Engineer and other roles where necessary. Charley has worked in startups from small boutiques to large scale as well as enterprise level well established companies, such as Gap Inc direct where he has been serving the role of QA Architect for the past several years. His wide range of experience and interest in technology has afforded him the opportunity to work with C/C++, Java, Php, Perl, Windows API, and his current passion - Ruby. As well as Ruby, Charley's current passions are focused on Agile collaboration in a distributed Enterprise environment, open source and delivering high value projects. He lives in Denver and loves spending time with his two boys, wife, and dog when he's not traveling.


Top
The case for Griffon: developing desktop applications for fun and profit
Technology/Platform: Java
Difficulty Level: Beginner

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.

Presented By: Andres Almiray

About the Speaker: Andres is a Java/Groovy developer with more than 10 years of experience in software design and development. He has been involved in web and desktop application development since the early days of Java. He is a true believer in open source and has participated on popular projects like Groovy, Griffon, and DbUnit, as well as starting his own projects (Json-lib, EZMorph, GraphicsBuilder, JideBuilder). Founding member of the Griffon framework. Andres maintains a blog at http://jroller.com/aalmiray

Top
The Economics of Cloud Computing
Technology/Platform: Other
Difficulty Level: Beginner

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.

Presented By: Bill Sempf

About the Speaker: Bill Sempf is an enterprise architect. In 17 years of professional experience he has participated in the creation of well over 200 applications for large and small companies and managed the software infrastructure of two internet service providers. He is the author of Visual Basic for Dummies (2008 and 2005) and has contributed to numerous other publications. He is a graduate of The Ohio State University with a Bachelor's of Science in Business Administration and has several professional certifications.

Top
Tools in the Trenches
Technology/Platform: Java/JVM
Difficulty Level: Beginner

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.

Presented By: Carl Quinn

About the Speaker: Carl Quinn has been developing software professionally for 30 years, starting with BASIC on an Apple II, slogging through C/C++ on DOS, Windows and embedded, and finally landing in the Java on Linux world. The one thread through his career has been an inexplicable attraction to developer tools, spending time building them at Borland (C++ & Java IDEs), Sun (Java RAD), Google (Java & C++ build system) and most recently at Netflix (Java build and deployment automation). Carl also co-hosts the Java Posse podcast, the #1 ranked Java technology podcast.

Top
User Stories: Closing the Agile Loop
Technology/Platform:
Difficulty Level: Intermediate

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 "that's not what we wanted" response, leaving development teams relegated to the "well that's what you wrote" 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.

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.

Presented By: Barry Hawkins

About the Speaker: Barry Hawkins has played various roles in his 13 years in the software industry, from lone developer to team lead to Agile coach and mentor. Barry is one of the few native Atlantans, currently specializing in coaching and mentoring for Agile software development. Over the years, he has developed on several platforms, including Microsoft and Java as well as several other less-annoying technologies. Barry has also participated as a package maintainer for the Debian GNU/Linux distribution. When not working or doing things with his family, he can usually be found playing Lord of The Rings Online, and formerly, World of Warcraft. He also sporadically blogs at http://www.yepthatsme.com.

Barry around the Intertubes:

Tips for Introducing Change - Lightning Talk at Java Posse Roundup 2009 http://www.youtube.com/watch?v=U6fwxVG0wRI

Staffing Agile Teams - Java Posse Roundup 2009 - A podcoast of the conversation I convened at this Open Spaces conference: http://javaposse.com/index.php?post_id=493300

Why Agile Is Hard - Java Posse Roundup 2008 - A podcast of the conversation I convened at this Open Spaces conference http://javaposse.com/index.php?post_id=323727

Top
What Makes Ruby Different
Technology/Platform: Ruby
Difficulty Level: Beginner

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.

Presented By: Joe O'Brien Mark Peabody Leon Gersing

About the Speaker: Joe is a father, speaker, author and developer. Before helping found EdgeCase, LLC, Joe was a developer with ThoughtWorks and spent much of his time working with large J2EE and .NET systems for Fortune 500 companies. He has spent his career as a developer, project manager, and everything in between. Joe is a passionate member of the open source community. He co-founded the Columbus Ruby Brigade and helped organize the Chicago Area Ruby Users Group. His passions are Agile Development in the Enterprise, Ruby, and demonstrating to the Fortune 500 the elegance and power of this incredible language.

Marc comes from a deeply rooted background in Java but began his fascination with other JVM languages after discovering the power and elegance of Ruby not possible in his beloved Java language. He has been exploring new language paradigms ever since.

Marc now sets out to bring the power of the Ruby language to Java enterprises everywhere with the help of his trusty sidekick: JRuby, the Ruby implementation on the Java platform. Together, he and JRuby shall achieve unparalleled prosperity and business value for all who are willing to taste the glory of its sweet IT nectar.

Leon has been bringing value to clients large and small for over ten years, and has a passion for technology, art and community. He has experience using technologies ranging from ASP.Net and C++, to Objective-C, Ajax, and Actionscript – and of course, Ruby and Rails. Leon also has high hopes for IronRuby and the much needed efficiency and agility that it has the potential to bring to the .Net world.

A believer in building strong communities, Leon spends time presenting on a wide variety of development topics at events and user groups in the region. He loves nothing more than to be around other developers, working together to create something unique and fresh; something that has never been done before. He believes there is no challenge that can't be overcome with passion and creativity. He spends his spare time with his wife, two beautiful girls, two sweet kitties, and his ukulele.

Top
What Makes Ruby Different (Repeat)
Technology/Platform: Ruby
Difficulty Level: Beginner

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.

Presented By: Joe O'Brien Mark Peabody Leon Gersing

About the Speaker:

Top
What's New In Silverlight
Technology/Platform: .NET
Difficulty Level: Intermediate

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

Presented By: Jesse Liberty

About the Speaker: Jesse Liberty, Silverlight Geek, is a Developer Community Program Manager for Microsoft Silverlight.net. His areas of interest include RIA, C Data and Web Services, Cross-platform Line of Business programming, and most of all, building strong relationships between the Development Division at Microsoft and software developers world-wide.
Liberty is a frequent guest on numerous podcasts and his blog is a required resource for Silverlight programmers. He is the author of over two dozen books, including the forthcoming Programming Silverlight 4. His twenty years of programming experience include stints as a Distinguished Software Engineer at AT&T; Vice President of Human-Computer Interaction at Citibank and Software Architect at PBS/Learning Link. He can be reached at jliberty@microsoft.com

Top
WTF 2.0: A guide to building social applications
Technology/Platform: Ruby
Difficulty Level: Intermediate

Abstract: What is "Web 2.0" or "Social media"? 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 "friend" me on Facebook.

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.

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

Social object theory
Webb / Butterfield / Smith
Power laws and Scoble
Communities of Practice
OAuth
OpenID
ActivityStreams
XRDS Simple
Pubsubhubbub

When done, the audience will be able to begin the process of designing and building social applications, or, integrating other social products into theirs.

Presented By: Anthony Broad-Crawford

About the Speaker: My passion is technology and the creation and application of innovative social software. As such, I’ve been involved in leading all product development efforts encompassing product and technical strategy as well as operations for Cleveland-based start-up company, Within3. These communities connect health professionals around the world and better enable them to participate, communicate, and collaborate on patient cases and latest research, all while helping to drive better medical outcomes for their patients.

My background in collaboration, information management, data interoperability, linguistics, search, and digital communities has led to my active involvement in several Healthcare and technology-focused government, academic, and industry groups which seek to promote both improved healthcare and the open web (Web 3.0, 4.0 ... I think ... who’s versioning this thing anyways?). I am currently on the DataPortability Steering Committee and chairing the Healthcare Taskforce. Additional committee roles include the Health 2.0 accelerator, The Open Web Foundation, Start-up Weekend, and the OpenSocial Foundation.

Previously as an Enterprise Product Architect for a Fortune 100 company I managed high volume, large scale platforms as I oversaw the direct line of business in technology strategy, architecture, and performance with the goal of accelerating all product delivery.

In my spare time I present nationally at conferences, organize conferences like Start-up Weekend, actively host a podcast, video cast, write for several blogs all on social software, technology, Ruby on Rails, and entrepreneurship. Additionally, I donate time to local philanthropic efforts in accelerating their software development efforts. Last but not least, you will on occasion see me across from you at a local camp ground, poker table, state park, zoo, or avant garde dining location.

Top

Session Schedule

CodeMash 2010 Schedule!

Sponsors

Adamantium

  • Microsoft
  • Platinum

    Quick Solutions
  • Platinum

    Developer Express
  • Platinum

    SRT Solutions
  • Platinum

    Perficient
  • Platinum

    Amazon
  • Platinum

    Sogeti
  • Gold

    Information Control Corporation
  • Gold

    HMB Information System Developers
  • Gold

    Rally Software Development
  • Gold

    PreEmptive Solutions
  • Gold

    Pillar
  • Gold

    Compuware
  • Gold

    Techsmith
  • Gold

    Telerik
  • Gold

    Red Gate
  • Gold

    Pivotal Tracker
  • Gold

    The Sophic Group
  • Gold

    Stout Systems
  • Gold

    Addison Wesley
  • Gold

    Inedo
  • Gold

    Inner Circle Media
  • Silver

    Cardinal Solutions Group
  • Silver

    nPlus1
  • Silver

    ComponentOne
  • Media Partner

    Deep Fried Bytes
  • Service Provider

    Tech-Tattoos
  • Individual Consultant

    Brilliant Fantastic
  • Individual Consultant

    Judd Solutions
  • Individual Consultant

    Validus Solutions
Become a Sponsor in 2010