Tag Archives: C#

My schedule for CodeMash 2010

Or, more accurately, CodeMash

This is the week that software development in many locations in the midwest takes a hiatus so that its developers can beef up on new skills and ultimately provide more benefit to their companies and customers. In its 4th year, CodeMash this year will attract nearly 700 developers to the Kalahari Resort and Indoor Waterpark in Sandusky, OH.  The conference kicks off with the "precompiler" sessions (fast-paced interactive tutorials) on Wednesday, and a panel discussion featuring the Java Posse on Wednesday night.  Thursday morning, the conference will be in full gear, with morning sessions by industry luminaries such as Joe O'Brien, Jesse Liberty, Jim Weaver, Jim Weirich, James Ward, Ken Sipe, and Jim Wooley.    Fortunately, due to "Best of CodeMash" repeat sessions, I can pass up the "Why is Ruby Different" talk during that session in hopes of catching it later and then only have to decide between the JavaFX talk by Jim Weaver and the Flex talk by James Ward.  The next session of the day pits the panel discussion "Lessons from the Rails Rumble" against the venerable Andres Almiray in "The Case for Griffon", not to mention Barry Hawkins' "User Stories: Closing the Agile Loop"  Hard choices: that's what CodeMash is all about.

Once I survive the struggle from my choices from the morning, and after a lunch keynote by Hank Janssen from Microsoft, I'll have to choose between Joe Nuxoll's "Photoshop for Engineers: Going from PSD to HTML" and Bill Venners' "GetHigher with ScalaTest". Then it's a hard choice between Leon Gershing's "Introduction to Cucumber",  Michael Slade's "Techniques for Programming Parallel Solutions", Catherine Devlin's "reStructuredText: Plain Text Gets Superpowers", and Barry Hawkins' "Domain Driven Design".  But I'll almost certainly choose Dick Wall's "Funky Java, Objective Scala", as I've been looking forward to this talk and its domain examples in bioinformatics.  Fortunately, Joe O'Brien's "Refactoring theProgrammer" has a repeat session!  And then there's one more session before dinner, where I'll have to choose between a more advanced Cucumber talk, Chris Adamson's "How do you do that on the iPhone", Andres Alimary's "Testing Java in the Fast Lane", and Carey Payette's "Enterprise Development with Prism".  I almost missed that Nick Sieger is talking about "Five Ways to Cure the Java Blues with JRuby" in this timeslot.  Again the "Best of CodeMash" repeat sessions come to the rescue and I can choose to see Joe Nuxoll's "Enginering vs. Design" talk later.

Thursday night is always fun at CodeMash.  This year, we're adding a concert (Enter the Haggis) to the cocktail party and jam session.  Every other year, I've headed out to the water park for a while on Thursday night.  Not sure I'll have time to do that this year!

Friday morning, there's no keynote (after that late night, probably a good thing!).  We'll start the day with Chris Adamson's "Oh Crap! I Forgot or Never Learned C!", "Going Dynamic with C#" by Bill Wagner, "Being an Evil Genius with F# and .NET", and "Software Design and Testability" with Jeremy Miller.  I really enjoy Chris Smith's banter, and so I'll probably head to the F# talk.  The next slot has several sessions that I'm really interested in: "RESTful Interfaces to Third Party websites with Python", "Come for the Phone Stay for the Mac" (by author Daniel Steinberg) and James Ward's "Agile Toolchain for Flex".

I'm REALLY REALLY excited about Friday's lunchtime keynote with Andy Hunt.  I heard Andy speak at the Philly Emerging Tech conference last year and was thrilled that we were able to get him to come to CodeMash.  And by "we", I mean Jason Gilmore.

SRT's Friday vendor session "MobiMash" should be interesting.  Jay Wren, Mike Woelmer, Dan Hibbits, and Patrick Steele worked together and independently to provide a mobile solution for CodeMash, incorporating scheduling, session rating, and favorites.  And they did it in the 4 major mobile platforms: iPhone, Windows Mobile, Android, and Blackberry.  The iPhone and Android apps are available for download in their respective stores.  The Blackberry and Windows Mobile apps should be available Real Soon Now.  They will discuss the development challenges (and rewards) on the various platforms, using the MobiMash app as a case study.  I'm looking forward to it!

After the vendor sessions, I'll have to choose between "Clojure" and "Tools in the Trenches".   That's a really hard choice, because I'm both really interested in Clojure and yet also intrigued with Carl Quinn's tools talk.  Maybe I can convince Carl to do a lightning talk version at the Java Posse Roundup 2010!

C# 3.0/LINQ MiniCamp at SRT in March

The Richard Hale Shaw will present a 1-day MiniCamp on LINQ and C# 3.0 for experienced .NET developers on March 14 from 9 am – 5 pm.  This class will be held at SRT Solutions' offices, at 206 S. Fifth Ave, Suite 200, Ann Arbor, MI.

To attend this course, you should have a minimum of 2 years experience programming C# and the .NET Framework and 1 year programming C# 2.0, or you should have attended the .NET Bootcamp.

Cost of the course:
$350 by February 18 (NOTE: That's Monday!)
$500 by March 7
$600 by March 14, if space is still available

Detailed course information and registration is at http://srtsolutions.com/static/register.php 

C# Jam early bird deadline is tomorrow …

Bruce Eckel has put together another Jam event for the Ann Arbor area.  This one is on C#, and will feature authors Jamie King (who is co-authoring a book with Bruce on C#) and Bill Wagner (who is working on "More Effective C#" as a follow-on to his previous 2 C# books). 

Here's "What is a Jam" from Bruce's registration page:


A software jam is a lab-based workshop experience, where you can:

  • Decide if you want to work on your own projects or work on the supplied programming exercises.

  • Work alone or in a group.

  • Set your own pace, so that you can "go deep" in areas that are important to you.

  • Get guidance from an instructor, as needed.

Although the format is different than what you may be used to, we've found that people seem to learn a lot more than they do in traditional seminars.

I have to agree.  I've attended several Jam events and found them to be great learning experiences.  Bruce is going to come if attendance warrants an assistant.  Jamie and Bill are the experts (but, of course, Bruce is no slouch either).

If you're planning to attend, sign up by tomorrow or miss the early bird deadline.  http://www.mindviewinc.com/Conferences/CSharp3Jam/Index.php


Rich Internet Application Jam: Silverlight and Flex

Last week, James Ward (Adobe), Josh Holmes (Microsoft), and Bruce Eckel (well, Bruce Eckel!) conducted a Rich Internet Application Jam at our office. This was NOT a competitive event.  Rather, in the spirit of CodeMash, people came together to learn about competing technologies in a cooperative manner.  Each attendee decided which technologies to explore, and how much time to spend on them.  Most of the attendees were interested in Flex, but Silverlight was represented as well.  And of course, the Jam included discussions of the strengths of each.  It appears that Flex has strong support for controls, yet to be provided in Silverlight.  Silverlight shines in its support of vector graphics, which Flex doesn't currently provide.

I spent some time looking at the AdvancedDataGrid in Flex 3.  One of the attendees had a customer requirement for a lot of grid data, including summaries and rollups.  The advanced data grid supported what he needed to do, using a combination of summary rows and groupings.  On the summary rows, he was able to choose one of five functions that are baked into the advanced data grid: min, max, average, count, and sum.  Nice!  If you're interested in this, note that the documentation is apparently not available in the Flex 3 docs that are downloaded, but is available online.  Sreenivas Ramaswamy's blog has a nice writeup about this control (and others!).

Andy Beaulieu's site has a cool Silverlight demo.  If you enter an address for which there is Virtual Earth data, you can play a game that allows you to destroy UFO's while flying over that address.  Impressive!

Once again, I was impressed by the Jam format.  With Bruce, James, and Josh to help people over any rough spots, attendees were able to work on exercises that interested them, and spend as much time as they needed on any particular task.  I like this better than the typical situation where a class is in lock step for exercises, and individual attendees are either sitting around waiting for someone to finish, or frantically trying to rush through so that everyone else can move on.  And these people were able to focus on using the technology in a way that is meaningful for their purposes, but have the support of an expert right there.

The attendees seemed to enjoy themselves and learn a lot.  I can't wait til our next Jam: it's a C# Jam with Bill Wagner, Jamie King, and Bruce Eckel.  It will be held at our office April 8-11.  Bruce and Jamie are working on a C# book, and Bill's working on his 3rd C# book.  This Jam will focus on C# 3.0 and its new language features.   The early bird deadline for that event is January 31.


CodeMash speakers announced

I'm really looking forward to CodeMash 2008.  There is an amazing list of speakers. 

Here's a subset of the talks that interest me (not in any particular order)

Testing with Guice, by Dick Wall

Dick is a cohost of the Java Posse podcast, which is invaluable for keeping up to date on Java.  He's also a software developer at Google.

Getting Started with Django, by Leah Culver

Leah is the cofounder/lead developer for Pownce.  Don't know Pownce?  It's a social networking platform that has been compared to twitter, jaiku, and tumblr.  Perhaps it's more than all of those.  Hopefully we'll get Leah to tell us more!

LinqTo<T>:Implementing IQueryProvider, by Bill Wagner

Bill is the author of Effective C# and the upcoming More Effective C#.  He's also my business partner at SRT Solutions.

Engineering and Polyglot Programming, by Neal Ford

Neal works for Thoughtworks and travels extensively, speaking at many different conferences.  He spoke at CodeMash last year and gave an awesome keynote as well.

Crash, Smash, Kaboom Crash Course in Python, by Catherine Devlin

Catherine did this talk at PyCon, to rave reviews.

Bitter Java? Sweeten with JRuby, by Brian Sam-Bodden

Brian is the author of Beginning POJOS and Enterprise Java Development on a Budget.  I'm interested in learning more about JRuby and this looks like an interesting talk.

Why I Love Python, by Bruce Eckel

Bruce is a longtime author and active in the development community.  He was a founding member of the ANSI/ISO C++ committee.  He has spoken at many different conferences, including CodeMash 2007, where he did a fascinating keynote which brought together elements from many different aspects of life about progress toward a solution.

Coding in Silverlight, by Jesse Liberty

Jesse is the Senior Program Manager of Microsoft's Silverlight team. 


And there are so many more (but I should get back to work, so check it out yourself on the online session list).

The early bird deadline is tomorrow.  Conference registration is $125 today, but will go up to $175 on Friday.


CodeMash – I'll be there!

Bill Wagner in Lansing tonight for GLUGnet

Bill is headed to Lansing to speak for the Greater Lansing Area .NET User Group (GLUGNet).  You may recall that Jay Wren spoke for them a week or so ago, but that talk was in Flint. Yes, GLUGnet has a Flint and a Lansing meeting now.  Anyhow, Bill's on his way there, so if you are in Lansing, looking for a talk on C# 3.0 (Think More, Type Less), check out http://portal.artemis-solutions.com/glugnet/


Bill Wagner on DotNetRocks

Check out Bill Wagner’s latest appearance on DotNetRocks, Show #223. For anyone who doesn’t know, Bill is my business partner and author of Effective C#, The C# Little Black Book, and various articles. I haven’t listened to his DNR podcast yet, but I plan to listen to it on the way home from Redmond tomorrow.

Bill on Dot Net Rocks

Java Posse Roundup: Day 4

Friday, March 9

Friday was the final day for the Java Posse Roundup. We had 2 regularly scheduled sessions followed by a final session which included everyone.

For the first session of the day, I attended a session on JNI, convened by Josh Marinacci of Sun. A major part of the discussion centered around the idea that perhaps JNI is overly complex for what people often use it for these days, and that maybe some assumptions CAN be made about the atomicity of calls made in the JNI (if the programmer says it’s so). Maybe we should have JNI, as it currently exists, and also JNILite.

JNA is also a good replacement for many of the common usages of JNI. Instead of the programmer writing JNI code, annotations are used to access native libraries, all without writing a single line of native code. Interesting perspective arose that there aren’t many Java programmers who actually WRITE C code anymore, and so the availability of something like the JNA is a good thing.

Many comparisons were made to Microsoft’s CLR and unmanaged code.

And, a lot of us remember the old recommendations to AVOID doing things using JNI because it wasn’t “pure Java”. Well, it sounds like we need to get past that, and use the right tools for the job. If it needs to be in native code, write it. Josh did a really cool demo during one of the lightning talks where he wrote a small amount of JNI code (I think he said one line!) to communicate with the motion sensor on his Mac, using that motion to change a display shelf of pictures to move to the next page. VERY cool! And totally impossible if you wanted to avoid JNI code, since the PCs don’t generally have motion sensors. We really need to be able to use the native interface for things like this, and for creating innovative user experiences. Maybe instead of scaring people away from the JNI, we should come up with some recommendations and (dare I say?) best practices for its use.

Next, I went to a discussion of applets, positioned as “Applets: Does Java need an answer to Flex?”. Very quickly, it became apparent that there was agreement that applets have a certain “suck factor”. When the audio of this session becomes available on the Java Posse, this is something that I think both Java programmers and Microsoft programmers will find interesting.

With applets, there’s simply not enough attention paid to detail. Flash, on the other hand, provides a user experience where you can’t really even tell that it’s a Flash app because the plug in was done so well.

The recommendation was made that we change the applet architecture. Perhaps a 2 phase load would make sense. Everyone agreed that a spinning Sun logo, reminding the user that s/he’s waiting on a Sun applet is bad marketing! The slow loading is not in the JVM, but rather in the plugin.

A competitive requirement is that desktop apps can directly connect with web apps. And pretty much all agreed that Flash is winning on web for user interface from a Java perspective. A great amount of stress was generated in the group, centered around how to move forward. Waiting for Java 7, even as Java 5 is still being rolled out into corporate environments, probably means death for Java. The question was ultimately raised, “Is it worth solving this problem?”. I agreed with the group of people in the room who don’t believe in playing catch-up, not with Microsoft, not with Adobe. Pick the sweet spot that Java has and work in interoperating with Flash using Flex. Forge an alliance with Adobe.

IMO, Microsoft would take both paths. They would fix the plugin AND they would forge an alliance with Adobe. I don’t know if Java will take that direction, and that’s OK as long as they don’t continue trying to play catch-up.

This session was ultimately attended by everyone who was still in the building. Little by little, the crowd grew. The energy was amazing. The audio for this session will be incredible, and I would urge anyone to listen to it, both for the ideas and for feeling the energy of an open spaces event.

The last session of the day was the closing session for the conference. We all met together, and went around the room to suggest what improvements could be made. The appreciation for the Open Spaces format was evident the night before, when the Java Posse did a live podcast recording at the house that they were renting. And Camp4Coffee got a big plug too (“second best consistent coffee in the US, according to Pete from Australia).

Anyhow, so instead of asking how people felt about the event, format, etc., the question was asked about what could be improved. This was all recorded, and will be made available through the Java Posse at some point. My suggestions included involving the people at home more. Since the Java Posse podcast has a large audience, of which only a tiny percentage actually attended, I feel like somehow keeping the people who couldn’t come involved would be a great way to build the community and keep events like this populated in the future. As it was, I think that when registration opens for Java Posse 2008, the event will sell out quickly.

For those of us who have attended several of these events, we’re cautious about changing much about the format. It works. Tread lightly so as not to break it. But one thing that a lot of people suggested was ancillary to the conference itself, and more personal in nature. It would be nice to be able to include the spouses and families in a more formal way. Bruce and I have talked extensively about arranging childcare in Crested Butte so that my family could come (without my husband being in a hotel room with 2 kids, staring off at the snowy mountains that he can’t ski). Others echoed this. Even for those who wouldn’t be bringing kids, it would be nice for the spouses to have a parallel board, where they could arrange activities among themselves. That really relieves the pressure on people who are feeling guilty about leaving families at home!

As it was, many of the spouses attended the lightning talks in the evenings. If there had been scheduled spousal activities, people felt that their spouses would have wanted to attend. I’m looking forward to that in the future, even if my spouse ends up being the only male in the group!

CodeMash … and Football!

Have I mentioned CodeMash? LOL! Even my conversations IRL these days seem to find their way to CodeMash. So no one will fall over when I mention CodeMash and football in the same blog post, right? Well, at least not my real life friends …

Yeah, we were being daring, putting together developers of all languages and platforms to learn from one another. Back when the conference planning started (ahem, discussions last spring!), we didn’t really THINK about football. But … it’s happened. One of the longest standing rivalries in college football has escalated to be The Game. Not just for the Big Ten Championship, but likely for rights to go to the National Championship. And it is coincidentally occurring on the same year that we’re putting together Michigan and Ohio programmers for CodeMash.

In this family, my 1 year old son signaled “touchdown” before he said “Mommy” (and I was OK with that). And my 3 year old daughter yells, “GO, GO, GO! RUN!”, and “NO!” at all of the appropriate times. Yup, we’re huge football fans. MICHIGAN football fans.

Sadly, even though Josh is an Ann Arborite, he isn’t really a football fan. So, on the organizing committee for CodeMash, it’s me against the Ohio guys (many of whom are in Columbus). They’ve been polite, even as they were apologetic in their hopes that Michigan would lose to Notre Dame in the early season, setting up a OSU/Notre Dame national championship. But alas, we know what happened (reminder to the Fighting Irish: it was 47-21 MEECHIGAN!). I didn’t gloat. I just quietly sat in meetings throughout the year, hoping that both teams would go UNDEFEATED into the UM/OSU matchup.

So on November 18, I’ll be cheering on Chad Henne, Mike Hart, and Steve Breaston (no trash-talking on my buddy Breaston, Kirk Herbstreit!), and all of the other guys including the AWESOME defensive line. And then the following Tuesday, I’ll go back to our weekly CodeMash organizing meeting with “the Ohio guys”.

So come one, come all to CodeMash! We’ve got Java and Python and .NET … and even some people from both Michigan and Ohio State!

CodeMash – I'll be there! 

Announcing CodeMash 2007

Ohio … where you need to be January 18-19

What? January in Ohio?! That’s always the first reaction. But … once I tell them what’s going on (and that it’s at an indoor water park), the tune changes to, “Really? Cool!”.

I’ve been involved with the planning of CodeMash, a 2-day conference for developers, to be held in Sandusky, Ohio January 18-19. 2007. It’s a conference for developers of all flavors: Java, .NET, Python, PHP, Perl … you name it! We’ll have some Ruby on Rails and some TurboGears, some Oracle and MySQL. The goal is to all get together and learn from one another. We all benefit from advances in other languages and platforms.

We’ve scheduled some really cool keynotes. Bruce Eckel is going to talk about issues of design in software development, from a philosophical standpoint. Neal Ford is planning a talk about the evolving programming paradigm. Scott Guthrie will also be doing a keynote.

We’re accepting abstracts right now, and conference registration will be open really soon (you can reserve a spot now, though!). The pricing is phenomenal … early bird price of $99 for the 2 day conference, if you stay at the Kalahari Resort (conference hotel, discounted room rate of $88/night). The regular price for registration (after Nov 30) is $149.

I think it’s going to be an amazing event.

CodeMash – I'll be there!

Code Mash Conference Page