Practical Scala slides posted

My talk at CodeMash focused on a transition from Java to Scala, demonstrating the simplicity that Scala brings to ordinary Java tasks, like Swing code.  I believe that as programmers become familiar with the syntax of Scala, they will embrace its elegance.  With that, they will enjoy using it and the functional elements will be adopted over time.

Slides posted here.

Almost recovered from CodeMash

I was shocked to see that I hadn't blogged in a month. It's been a long time since I neglected my writing for that long.

As most people know, I'm one of the CodeMash organizers, and I also spoke this year (read that as "my family didn't see much of me during the holidays"). 

But CodeMash was a resounding success, attracting a capacity crowd of 550 attendees.   It was amazing to see the conference grow from a concept to sold-out!  The speakers we've been able to attract have astounded me.  This year, as in the past, we have been able to attract nationally known keynoters as well as a mix of national and local speakers. The sponsors definitely make it all possible, since we could not put on a conference with meals for less than $200 without the generous sponsorship.

The highlight of this year's event, for me, was Venkat Subramaniam's keynote. His talk represented the objectives of CodeMash: to bring together people in a non-threatening and cooperative way, to learn about things outside of their comfort zone both to provoke thought and to expand their minds.  Venkat's keynote mixed humor and insight. He's an amazing speaker, and I highly recommend that you take advantage of any opportunity to hear him speak.  His low-key style really suits CodeMash well.  I suspect it also suits No Fluff Just Stuff well, as he is a regular speaker at the NFJS conferences as well.  Oh and I'm not really sure WHY he likes to speak in his socks, but the lack of shoes really does help to emphasize his relaxed style.

This year CodeMash tried a "precompiler" day, an optional "day 0" for people who wanted sessions to be a bit more in-depth.  Mary Poppendieck's Value Stream Mapping Workshop was invaluable. Like with Venkat, take every opportunity that you can to hear Mary speak; she offers great insight with a very pragmatic style. Tom and Mary Poppendieck travel and speak as a team. Mary does most of the speaking, but Tom always seems to interject something of great value into every talk she gives. They do make a wonderful team.  For a nice summary of Mary's workshop, check out Bill Wagner's blog on the session.

I suspect that the precompiler sessions will be back in 2010.  Attendees really seemed to like them!

I was able to attend more sessions this year than last, since my talk (slides posted) was on Thursday instead of Friday (which meant that I wasn't editing my talk on Friday!). Some of my favorites included Dustin Campbell's "Multithreaded Mojo with F#" and "Actor Concurrency" with Alex Miller.  Of course, I enjoyed Venkat's "Practices of an Agile Developer" and "Programming in Scala".  My biggest regret is in missing Jennifer Marsman's "Developing for the Microsoft Surface".  I didn't get to a single Ruby talk this year, which was a huge regret as well (but I did get to some last year at the Philadelphia Emerging Tech conference).

And so, for me and I suspect for all of the CodeMash conference committee members, much recovery time was needed post-conference.  I think I've almost made up the long nigths and weekends to my family (but not quite).  I hope to get back to regular blogging now that I'm almost caught up with customer projects as well.  But first, maybe I'll go listen to SRT's Chris Marinos and Mike Woelmer talk about their conversion of PaintWars from C# to F# on DotNetRocks (http://tinyurl.com/bjz3pc).

 

ArbCamp 2008 expanded! Registration still open

ArbCamp 2008, to be held Thursday December 18, is still open for registration! It had sold out, but they were able to find a larger space and re-open registration. 

See the following note from the organizers:

After selling out in 3 short weeks, and facing the prospect of turning
away 100 waitlisted attendees, we've changed venues to accomodate
everyone!

Thanks to SPARK, we have a new location for ArbCamp on the edge of
campus - Cottage Inn at 512 E William St, Ann Arbor (just a few blocks
from the original SPARK location). Please join us this Thursday at 6
PM, and direct anybody else who might be interested in an evening of
intense speed geeking and community building to register for ArbCamp
08!

http://a2geeks.org/display/geek/ArbCamp+08

CodeMash 2009

Just a reminder that today is the last day to register for CodeMash with an alumni discount code.  Regular pricing ($175) is in effect after today.  While still a great deal, keep in mind that we're limited to 500 attendees and approaching that number QUICKLY.

Maggie Longshore, an esteemed member of the software development community, posted a great post today, "Why I wish I were Hermione at CodeMash", listing the sessions that she's planning to attend (and wishing she had a "TimeTurner" to be able to go to more than one talk at a time).  I loved her post, not only because I'm thrilled to have such great content at CodeMash, but also because I was feeling that same tug.  So I decided to play along.

So here's my "If I were Hermione Granger at CodeMash …" post.  I decided to limit myself to my top 2 choices, in spite of having 4 that I wanted to attend in some time blocks.  Those were HARD choices! Even Hermione couldn't be THAT adept, could she?  And, of course, I want to leave time for Open Spaces as well!

(Please note that the schedule may change, so don't use this schedule for planning purposes)

 

Wednesday:

Full-Day
CodeJam: Gary Bernhardt, Sarah Dutkiewicz, Joe Fiorini, Corey Haines, John Stockton
.NET 101 With Jeff Blankenburg and Josh Holmes
Java, Groovy, and Grails 101

AM
iPhone Development 101
Test-driven Development 101 With Leon Gersing
Turning the Ship With Dave Donaldson

PM
Kanban 101
iPhone Development 101
Test-driven Development 101 With Phil Japikse
Value Stream Mapping Workshop With Mary Poppendieck

Thursday

8:15am to 9:30am
KEYNOTE #1: Eric Meyer: JavaScript Will Save Us All

9:45am to 10:45am
Dynamic Hyper-Video in Silverlight (Jesse Liberty)
Introducing Agile for Real World Programmers (Greg Huber)
Programming in Scala (Venkat Subramanian)
Introducing the iPhone SDK (Chris Adamson)
Introducing the Live Mesh SDK (Jeff Blankenburg)
Adobe Flex Fundamentals (TBA)

11am to 12pm
Re-thinking UI: WPF Data Templates (Carey Payette)
Three Tips to Improve Your Dev Process (Jim Holmes)
Introducing Prototype and Scriptaculous (Leon Gersing)
Developing JoeMetric for the iPhone (Joe O'Brien)
Pumping Iron into Python: Intro to FePy (Sarah Dutkiewicz)
Developing for the Microsoft Surface (Jennifer Marsman)
Dynamic Languages and the JVM (Nathaniel Schutta)

12:15pm to 1:30pm
LUNCH + KEYNOTE #2: Venkat Subramanian: Pointy-Haired Bosses and Pragmatic Programmers—Facts and Fallacies of Everyday Software Development

1:45pm to 2:45pm
Scaling Habits of ASP.NET Applications (Richard Campbell)
Thrashing (Mary Poppendieck)
Erlang: The Basics (Kevin Smith)
Groovy/Grails for non-Java Developers (Mike Kimsal)
Python Data Visualization and Imaging (Zach Steindler)
Well, Isn't that Spatial (SQL Server Spatial Data) (Jason Follas)
Adobe Flex with MVC Frameworks (Robert O'Malley)

3:35pm to 4:35pm
Demystifying Windows Communications Foundation (Keith Elder)
Soft Skillz (Brian Prince)
Managed Extensibility Framework (Drew Robbins)
IPhone Web Development with Grails (Chris Judd)
Practical Scala (Dianne Marsh)
What? Threads Are Hard? (Jim Weirich)
Functional Concepts for OOP Developers (Bryan Weber)

4:50pm to 5:50pm
Modeling Types with Extension Methods (Bill Wagner)
CI: More than just a toolset (Jay Harris)
Griffon in Front, Grails in Back (Jim Shingler)
Ruby Desktop Application Framework (Lance Carlson)
Microsoft Virtual Earth, Now in 3D! (Aydin Akcasu)
Drupal at Zattoo: A Case Study (Chris Cassell)

Friday
8:15am to 9:30am
KEYNOTE #3: Mads Torgersen: One Big Happy Family – Where are the Managed .NET Programming Languages Heading?

9:45am to 10:45am
Dev Guide: Skinning Silverlight Controls (Jesse Liberty)
Practices of an Agile Developer (Venkat Subramanian)
Grease, a Parallel Systems Architecture (Vielmetti)
Testing Rails (Joe O'Brien)
JVM Scripting with Jython (Mark Ramm)
Test Infecting the Legacy Organization (Nathaniel Schutta)
IronRuby in the Real World (Michael Letterle)

11am to 12pm
Guerilla SOA for WCF (Joshua Graham)
Language-Oriented DDD (David Laribee)
Networking and Communications in Silverlight (John Stockton)
Cool Stuff with Computer Vision (Scott Preston)
Rich Apps with Groovy Swingbuilder (Andres Almiray)

1:45pm to 2:45pm
Deep LINQ: C# Query Expression Pattern (Bill Wagner)
Improving Web Application Performance and Stability (Steve Smith)
Spring 2.5 MVC (Ken Sipe)
Actor Concurrency (Alex Miller)
Introducing BazaarNG (Mike Woelmer and Jay Wren)
A Look Inside Microsoft Labs: Photosynth, Deep Zoom, Live Mesh, and More (Jeff Blankenburg)
A Programmer's Guide to User Experience (Josh Walsh)

3:30pm to 4:30pm
Multi-threading Mojo with F# (Dustin Campbell)
Executable Documentation with easyb (Andrew Glover)
Cloud Computing with .NET (Wesley Faler)
Modern Web Applications with .NET (Drew Robbins)
Ruby Isn't Just About Rails (Adam Wiggins)
Reverse Engineering Applications (Joe Kuemerle)

Upcoming events in the Ann Arbor area

I missed posting about a lot of events in the past few weeks. It's unfortunate, because there were some great events, including Kirsten Schwark's talk on "Why Groovy" at the Detroit JUG this past Wednesday.

But, it's time to look forward. Today, SRT is hosting lightning talks from 3:30-5.  Held at our office at 206 S. Fifth, Suite 200, this event is open to the public and free.  We love it when other geeks come in and talk for 5 minutes about things that they're doing.  It keeps us all up to date!

Next week is a slow week, but there are some things coming up in December that look interesting and useful:

December 3: Eclipse DemoCamp, Compuware, 6 pm.  Free. There will be a presentation about building applications on top of the Eclipse OSGi framework, demos of products / plug-ins built on the framework and after the presentations, people will head over to the Detroit HardRock Cafe. The Detroit HardRock Cafe is located on the first floor of the Compuware building.  There will be plenty of free parking and security at Compuware.

The Ann Arbor Computer Society also meets on December 3 at 6 pm.  Topic is still TBD, but I hear rumors that people may try out parts of their CodeMash talks, to get input from the AACS audience.  That will probably be quite fun and interesting.  And of course, this is also free (pizza supplied by AACS). Meeting will be held at SRT Solutions, 206 S. Fifth Ave., Suite 200.

On Thursday, December 4, the Michigan Python User Group meets at 7 pm. The MichiPUG group negotiates its meeting topics in the week prior to the event on its google group, and they never disappoint.  Join them at SRT Solutions, 206 S. Fifth Ave, Suite 200. Their meeting is free as well.

On Thursday, December 18, ArbCamp resurfaces … as a BarCamp! You can read more about this event in detail at http://tinyurl.com/6eda4s. This article is not only about the ArbCamp event, but it's a great look at building and growing the tech community in Ann Arbor.  I think that this is going to be a fabulous event, and people will not want to leave.  It starts at 6 pm on the 18th (I'm trying to figure out how I can get there … have to figure out how to break it to my very understanding husband).

On Wednesday, December 10, the Ann Arbor .NET Development Group will host Jason Follas, speaking on Spatial Data 2008. The meeting will be at SRT Solutions, 206 S. Fifth Ave, Suite 200 at 6 pm.  Donations taken for pizza.  More details at http://aadnd.org

On Wednesday, December 17,  the Great Lakes Area .NET user group meets at 6 pm at Microsoft's office in Southfield, 1000 Town Center Drive, Suite 1930, Southfield, MI.  I'm not sure what the topic is, but keep an eye on http://migang.org

 And, don't forget to sign up for CodeMash (January 7-9 in Sandusky, OH). The early bird deadline is November 29! We have an amazing group of speakers lined up, including Mads Torgerson, Venkat Subramaniam, Jesse Liberty, Bill Wagner, David Laribee, Chris Adamson, Jim Weirich, Joe O'Brien, Andrew Glover, Ed Vielmetti and many many more. Whether you're looking for a talk on Ruby or Python, Silverlight or Multithreaded programming, User Experience or Continuous Integration, CodeMash has something for you. Wondering about Erlang? We have talks. IPhone development?  I'm VERY excited about this event.  

CodeMash 2009 Information and Session List

The CodeMash organizing committee has been hard at work for weeks, reviewing the 300+ proposals for CodeMash talks. We had so much great content that we added a 7th concurrent track this year, and STILL turned down amazing talks. I am just blown over by the quality of speakers that submit for CodeMash, the vast majority of whom are from Michigan and Ohio.

The early bird deadline, originally set as Friday, November 15, has been extended to Friday, November 29. We wanted to give people some breathing room after the talks were announced, before having to register.  

I wish we could have accepted twice as many talks – we had the content!

CodeMash 2009 will be held January 7-9, 2009, once again at the Kalahari Resort, which is an indoor water park in Sandusky, OH.  We've added an optional 3rd day (Day 0: Precompiler Session), which will have some amazing tutorials and hands-on activities, including:

FULL DAY Language Tutorials 

.NET 101 with Josh Holmes and Jeff Blankenburg (and maybe others). 
Figure out how to get your feet wet in the .NET framework, C#, Visual 
Basic, WPF, Silverlight and more. 

Java, Groovy, and Grails 101 with Chris Judd and Jim Shingler. Two 
Java experts walk you through the basics of Java, it's newest dynamic 
language (Groovy), and the shiniest web framework (Grails.) 

Ruby 101 with Jim Weirich and Joe O'Brien.  Yeah, does it get any 
better? Go learn Ruby from two masters of it. 

HALF DAY Methodologies Tutorials 

Turning The Ship with Dave Donaldson. (HALF DAY) Spend time in a highly interactive session with Dave as he discusses practical lessons learned on changing processes, mindsets, and culture to steer a company onto a more agile, productive path. 

Kanban 101 with Dave Laribee. (HALF DAY) What's Kanban? How's it different from other Agile implementations? Learn about a not-so-new approach to managing projects that will help you boost your team's productivity and speed to delivery. 

Fundamentals of Test Driven Development. (HALF DAY.  REPEATS MORNING AND AFTERNOON.) Sit down and walk through the basics of TDD with Leon Gersing and another presenter yet to be announced.  This hits the basics of TDD and is hands on with two of the most passionate advocates of TDD around.  Learn TDD, evolve your critical thinking.

 iPhone with Chris Adamson.  Join the author of the upcoming Pragmatic Programmers book "iPhone SDK Development" for a hands-on introduction to the iPhone SDK. In just a few minutes, attendees will have a useful, running application. From here, we'll go into a further exploration of the iPhone SDK's most commonly used APIs, frequently-encountered design patterns, and useful tips and tricks for getting the most out of the SDK environment, including debugging/performance tools and documentation. The iPhone SDK requires use of an Intel-based Mac computer, so if you want to do some hands-on work, show up with one! 

 —————————————

As for the "regular" 2-day conference, here's the lineup:

* Ruby Isn't Just About Rails (Adam Wiggins) 
* Actor Concurrency (Alex Miller) 
* Rich Apps with Groovy's SwingBuilder (Andres Almiray) 
* MS Robotics Studio vs. The Antique Robot (Andrew Craze) 
* Executable documentation with easyb (Andrew Glover) 
* Microsoft Virtual Earth, Now in 3D (Aydin Akcasu) 
* deep LINQ: C# query expression pattern (Bill Wagner) 
* Modeling types with extension methods (Bill Wagner) 
* Soft Skillz (Brian Prince) 
* Refactoring Java with JRuby (Brian Sam-Bodden) 

* Ruby Web Components with Trellis (Brian Sam-Bodden) 
* Functional Concepts for OOP Developers (Bryan Weber) 
* Re-thinking UI – WPF DataTemplates (Carey Payette) 
* Introducing the iPhone SDK (Chris Adamson) 
* Introducing Drupal: A Look Inside Zattoo's Drupal Implementation 
(Chris Cassell) 
* iPhone Web Development with Grails (Christopher M. Judd) 
* JRuby and the Infinite Toolbox (Clinton R. Nixon) 
* Silverlight 2 Architectural Best Practices (David J Kelley) 
* Language Oriented DDD (David Laribee) 
* Practical Scala (Dianne Marsh) 

* Managed Extensibility Framework (Drew Robbins) 
* Modern Web Applications with .NET (Drew Robbins) 
* Multi-threading Mojo with F# (Dustin Campbell) 
* Grease, a parallel systems architecture (Edward Vielmetti) 
* Introducing Agile for Real World Developers (Greg Huber) 
* Well, Isn't that Spatial… (SQL Server 2008 Spatial Data) (Jason Follas) 
* CI: More than just a toolset (Jay Harris) 
* A Look Inside Microsoft Labs: Photosynth, Deep Zoom, Live Mesh, and 
More (Jeff Blankenburg) 
* Introducing the LiveMesh SDK (Jeff Blankenburg) 
* Developing for Microsoft Surface (Jennifer Marsman) 

* Dev Guide: Skinning Silverlight Controls (Jesse Liberty) 
* Dynamic Hyper-Video in Silverlight (Jesse Liberty) 
* Three Tips to Improve Your Dev Process (Jim Holmes) 
* Griffon in front, Grails in back (Jim Shingler) 
* What? Threads Are Hard? (Jim Weirich) 
* Reverse Engineering Applications (Joe Kuemerle) 
* Developing JoeMetric for the iPhone (Joe O'Brien) 
* Testing Rails (Joe O'Brien) 
* A Programmers Guide to User Experience (Josh Walsh) 
* Guerilla SOA for WCF (Joshua Graham) 

* Demystifying Windows Communication Foundation (Keith Elder) 
* Spring 2.5 MVC (Ken Sipe) 
* Erlang: The Basics (Kevin Smith) 
* Ruby Desktop Application Framework (Lance Carlson) 
* Introducing Prototype and Scriptaculous (Leon Gersing) 
* JVM scripting with Jython (Mark Ramm) 
* Thrashing (Mary Poppendieck) 
* Groovy/Grails for non-Java developers (Michael Kimsal) 
* IronRuby In The Real World (Michael Letterle) 
* Test Infecting the Legacy Organization (Nathaniel Schutta) 

* Dynamic Languages and the JVM (Nathaniel Schutta) 
* Scaling Habits of ASP.NET Applications (Richard Campbell) 
* Adobe Flex with MVC Frameworks (Robert A. O'Malley) 
* Clean Code Ruby (Robert C. Martin) 
* Pumping Iron into Python: Intro to FePy (Sarah Dutkiewicz) 
* Cool Stuff With Computer Vision (Scott Preston) 
* Improving Web Application Performance and Scalability (Steve Smith) 
* Practices of an Agile Developer (Venkat Subramaniam) 
* Programming in Scala (Venkat Subramaniam) 
* Cloud Computing with .Net (Wesley Faler) 
* Python Data Visualization and Imaging (Zach Steindler)

 

Boo! at Lansing Area .NET User Group meeting

Nope, this isn't a Halloween gag, but it's timed well. On Thursday, October 16, Jay Wren will be speaking about the Boo programming language at GLUGNet in Lansing. Boo is a statically typed language with a python-inspired syntax and it runs on the .NET platform.  He will be discussing how to create Domain Specific Languages using Boo.

The meeting will be held on Michigan State's campus in East Lansing, at 1235 Anthony Hall.  The meeting starts at 6 pm.

More information and directions are available on the GLUGNet website.

Detroit Java User Group is ALIVE!

After a long while of on-again/off-again meetings, I was pleased to hear the news that the Detroit Java User Group has reformed! This is great news for the east-siders who find Ann Arbor a bit too far to go for an evening meeting about Java. The Detroit group has a new home: ePrize headquarters in Pleasant Ridge (I-696 and Woodward area, near the Detroit Zoo).

The next 2 meetings have been scheduled.  More information yet to come, but here are the topics, so that you can set the time aside to go.  They look great to me, and I'm hoping to attend.

Wednesday October 22nd, Jim Steinberger – DOJO and DWR
Wednesday November 19th, Kirsten Schwark – Groovy

To be complete, I should add that the Ann Arbor Java User group topic has been announced for October as well.  On October 28, Matt VanVleet from Pillar Technology will discuss Automated testing using Pillar's tool: Verde.  

And many thanks to Kirsten for her summary of my Scala talk at the Ann Arbor Java User Group on September 23 (and for the "geek celebrity" title!).

 

 

Ann Arbor events this week: Continuous Integration and Lightning Talks

Jay Harris will be speaking at the Ann Arbor .NET Developer Group Meeting tomorrow night, October 8.  The topic is Continuous Integration.  Join us at SRT Solutions, 206 S. Fifth, Suite 200.  The meeting is open to everyone and free (donations taken for pizza).  The meeting starts at 6 pm.

On Friday, SRT's Lightning Talks will be held, from 3:30-5 pm.  Also open to all, lightning talks are 5 minute discussions on the topic of your choice. Please come, but don't go over the 5 minutes or you'll get buzzed with a kitchen timer.

 

Events and News from Ann Arbor this week

October snuck up on me.  Tonight is the monthly Ann Arbor Computer Society (AACS) meeting.  I had thought that Bill Heitzeg was going to be talking about Mono, but it turns out that I had some outdated information.  John Fohrman is going to be discussing scrum.  The meeting, as always, will start at 6:00, and is open to everyone (free).  AACS will supply pizza and soda. Members ($20/year) qualify for door prizes.

And, if you're still raring to go after the AACS meeting, stop off for "Coffee House Coders", from 9-11 pm at Espresso Royale on State Street for some tech talk and hacking with friends, powered by coffee.  You can even join in remotely:

irc.freenode.net
#coffeehousecoders

 

Tomorrow night, the Michigan Python user group (MichiPUG) will meet at 7:00 pm.  The topic for this month is "What's Cool in Python 2.6".  Since Python 2.6 final is due to be released, this is a timely topic.

Both AACS and MichiPUG will be held at SRT Solutions, 206 S. Fifth Ave, Suite 200, Ann Arbor.

No lightning talks this Friday.  Join us on October 10 at 3:30 for the next round of lightning talks.

I also wanted to report some GOOD news from Michigan, this time from my alma mater.  Michigan Tech and the Smart Zone just received a $3 million business incubator grant.  They will use the money to renovate the former UPPCO building in downtown Houghton.  The SmartZone will lease space in the building, along with other tenants. 

The investment will reportedly help to create 355 jobs and generate another $5.1 million in private investment in the Houghton area. Wow!  So area business leaders have already announced a "Mich-Again" campaign, intended to attract Michigan transplants back to Michigan.  Knowing Tech grads as I do, I'm pretty sure that moving back to the Keweenaw would be an easy sell.  With the renovations being complete in mid-2009, Houghton may find itself swatting back those of us who feel strong ties to the area.