Tag Archives: Java Posse

Winter Tech Forum 2016: A different kind of conference

Nine years ago, the Java Posse and Bruce Eckel teamed up to create a conference devoted to the listeners of the Java Posse podcast. Because of Bruce’s experimentation with Open Spaces conferences, he convinced these accomplished speakers to give a wacky idea a try — let the attendees of the conference create the schedule and participate in the conversation. This format’s success surprised many, and the longevity of the conference, held in the middle of the winter in Crested Butte, Colorado, surprised many more.

Last year, the conference evolved in part because the Java Posse’s technical interests diverged and in part because a weekly podcast was a bit too much of a burden on this group of friends, who had spent a decade volunteering their time to provide content to Java developers. But the conference went on, newly dubbed the “Winter Tech Forum” (yes, we know the acronym) and the dedicated folks who had traveled to Crested Butte for many years … showed up with that same enthusiasm for creating a conference and for sharing ideas.

And it keeps on going. This year, the Winter Tech Forum will be from February 29 – March 4, 2016. But if you’re going, do yourself a favor and travel in the previous weekend if you can. Not only can travel be challenging (it’s really best to drive from Denver, given that flights into Gunnison are often canceled due to snow), but also because there will be a warm welcome party at Bruce’s house on Sunday night. It’s a great way to meet your fellow attendees!

If you have heard about the Java Posse Roundup or the Winter Tech Forum, you may know that attendees often get together to rent houses in town. This conference can be an immersive experience, but many attendees also choose to stay at the hotels or B&Bs in town.  Once you register, you will gain access to a group where discussions about rental housing, gatherings, etc. take place.

Wait — I forgot to mention the schedule! Sessions are scheduled for each morning, and then there’s a break for lunch. Here’s the overall theme and some ideas that may be discussed, copied from the WTF information page.

Theme: Creating Adaptware in the Information Continuum
From Big Data to Responsive Systems

  • Reactive Programming
  • The Enterprise as a Scriptable Large-Scale Computation Engine
  • Tradeoffs in Software
  • The Internet of Things
  • Libraries vs. Frameworks
  • Front End to REST Endpoints to Library APIs
  • Java 8 vs. The Next Big JVM Language
  • Distributed Big Data Systems
  • Platforms for Big Data
  • The JVM in the DevOps World
  • Commit To Production, Without Human Intervention
  • Erlang for Building Servers
  • And lots more
  • Plus anything else anyone wants to talk about, of course
  • And our business track

Although the theme sets the general tone of the conference, it doesn’t preclude session topics that might be considered “off theme.” The goal of the theme is to stimulate ideas, not to prevent discussion.

But what about the snow?

Many people trek to Crested Butte for the conference because they also enjoy wintertime activities, like downhill skiing, cross country skiing, or snowshoeing. There’s time each afternoon for those activities, if you care to do so. But if you’re not into winter sports, you will find that a large number of the attendees spend that time hacking on projects, individually or in groups, or preparing for the evening lightning talks. Attendees tend to get back together for dinner and then meet up for lightning talks each evening.

If you’re intrigued, I definitely recommend checking out the information page. And maybe I’ll see you in Crested Butte!

Changes in the Java world

Or at least … at the Java Posse. As of episode #383, changes abound for the Java Posse.

Most of the Java developers I know stay up to date on JVM languages and the latest in the industry by listening to the Java Posse. This week’s newscast highlights 2 significant changes: Dick Wall has moved on from his day job at Locus Development to take on Scala consulting fulltime. This continues the strong message about the adoption of Scala in our industry. Secondly, Joe Nuxoll has decided to leave the Java Posse. He was the latest addition to the Posse, and is now the first one out.

Habitual listeners of the Posse know that Joe has moved away from software development and is focused on User Experience. His contribution to the podcast has been significant, in my opinion. His sense of humor, his business-related contributions, and his insight have benefitted me greatly. I missed him at the Roundup this year, and I will miss him on the podcast. Joe sort of invoked the “Law of Two Feet” concept of open spaces conferences toward leaving the podcast. He didn’t feel engaged in Java news, and he’s decided that’s not where his passion is. While I’ve felt that his participation was valuable, I totally understand his departure.

In any case, I wish Dick well in his new job … and I hope that Joe does return for the holiday specials (as he has promised) and perhaps for the Roundup.  Or, at least for CodeMash!

Day 4 at the Java Posse Roundup: Wrapping it up for 2012

On the final day of the Roundup for 2012, Gunnar Hillert, who organizes DevNexus in Atlanta, suggested that he and I convene a session on Organizing your own Conference. Since I had previously done such a session in March 2008 with Stephan Janssen (of DevOxx): Java Posse Podcast #197, I was initially reluctant. But open spaces is about seeing what will happen, and there were others to learn from. In addition, I’ve learned a lot since then with Codemash. We decided to go for it.

The two conferences couldn’t be more different, in spite of the fact that they are both developer-organized. CodeMash attracts a diverse group of developers, intent on learning other technologies in order to improve what they do with their own. DevNexus focuses mainly on Java developers. CodeMash is in the sleepy town of Sandusky, OH, meaning that pretty much everyone has to drive (or fly) to get there. DevNexus is in the heart of downtown Atlanta, which draws an audience from the metropolitan area.

We talked a lot about what it takes to organize a conference. I think that the real key is that there is someone who is willing to put his or her neck out without knowing whether or not it will be a success. Signing a catering or rental agreement with a venue is a scary thing and I’ll be forever grateful to Jim Holmes for taking on this risk for CodeMash.

Other user-organized conferences that people might be interested in checking out:

That Conference

Strange Loop

PyCon

Stir Trek

After the Organizing your own Conference session, I joined Andrew Harmel Law in a discussion on Variations in Pair Programming. He had originally intended it to be a lightning talk, but 5 minutes is really short! When he told me a little about the rules his company had come up with around Pair Programming, I immediately challenged one of his tenets: that pair programming should be 2 people, 1 keyboard, 1 mouse. We’ve been effectively programming with 2 people, 2 keyboards, 2 mice, 2 monitors, facing each other rather than sitting next to one another, for a few years now. He was intrigued by the variation, and we convened a session to see what others thought.

Like both of our companies, many of the participants said that they do not pair program 100% of the time.  The developers decide when and where to pair program. Our programmers have wide latitude around self-organization. Some teams have a dedicated “pairing computer” in addition to their own laptops. Andrew was thinking that he might take that back to his company as well. I’ll be intrigued to see if he does. And I can’t wait to expose our team to Andrew’s Tarot Cards of Pair Programming.

Others expressed concerns about teams of various skill levels in pair programming. Mainly these concerns seem to have come from people who were thinking about pairing, rather than those who were actively doing it. Those who actively pair program see it as a way to bring a new team member up to speed on a project quickly, and also as a way to take advantage of the individual strengths of team members to build a better overall solution. It was a fun session, and it should be interesting listening once it becomes available on the podcast.

The last session of the conference was a wrap-up session where we all talked about what we got out of the conference and what improvements can be made. This is the 6th Java Posse Roundup and it became obvious to many of the old-timers that the newbies are becoming integrated into the group more quickly. Apparently, they just have more mentors. It was also interesting to learn that at least 2 of the attendees this year had never heard of the podcast but decided to come to the conference anyhow.

On Friday night, many people head home. Those of us who have attended in previous years tend to stay until Saturday, because flights on Friday often mean missing the last session. This has led to a variety of experiments around Friday night activities. For the past several years, a group has gone up to Mount Crested Butte to a very nice (star-rated) restaurant called (appropriately for this crowd) Djangos (Geek humor alert: There’s a python web framework called Django). They have small plates and wonderful wine. The groups have tended to order “One of Everything” which is a great way to try their wonderful food. But we also found out that we could rent a yurt, accessible only via nordic skis or snowshoes. We didn’t have time to organize it last year, but this year, a group expressed interest and we were able to organize catering at the yurt for a group of about 25 people (20 others went to Djangos). This was a fabulous experience, in spite of the bad trail conditions. We hiked out to the yurt, and had a wonderful meal catered out there, complete with tiramisu for dessert. It was so much fun that it seems likely to continue in subsequent years.

People filtered out of town throughout the day on Saturday. About 30-40 people showed up for a departing breakfast. Barry Hawkins organized it and cooked up endless amounts of eggs while many others chipped in to help, such as cooking bacon on the grill, and making biscuits and gravy. It was a great way to use up the food that people had bought for their week in town, and way more fun and interactive than the smaller group that a restaurant could accommodate.

So now the Java Posse Roundup 2012 has come to a close, but the git repository remains and the projects that were started will continue to be developed. Even more significantly, the knowledge and energy that everyone took away from the conference will spread throughout our companies over the next several months until it’s time for the Java Posse Roundup 2013. I’m planning to be there, of course.

Days 2 and 3 at the Java Posse Roundup

Some people ask me why I go back to the Java Posse Roundup each year. After 3 days of Open Spaces sessions at the Java Posse Roundup (and a day of hacking), I have to say it only gets better and better each year. A few years ago, we added an additional session at Rumors, a coffeeshop/bookstore (yes, those do still exist) in Crested Butte. The intent was to give people an additional place to go as the conference grew, and the first year, we tried to record those sessions too. The traffic and espresso machine at a coffeeshop, however, don’t make for a good recording so we changed the location to target “off the record” talks. This has been an amazing addition to the conference, giving people the opportunity to speak freely without concern that their coworkers, bosses, customers, or friends might later hear what they said.

I’ve attended several sessions there, including one on Mindfulness in Programming. This particular session was held at the off-the-record location not because it was private or wouldn’t have made a good podcast, but rather because all of the other rooms were in use.

Mindfulness is “a state of active, open attention on the present”, according to Psychology Today. I was first introduced to mindfulness when I took a meditation class, and I was interested to hear what people would think about mindfulness as it applies to programming. I interpret that to deep focus on the technical task, avoiding the temptation to be distracted by other things that compete for your attention, without a longing for a speedier conclusion to the activity or annoyance that you’re doing it at all. We talked a lot about how to achieve that, as well as many related topics, such as meditation, distraction, and techniques for becoming more aware of the present task.

After the mindfulness discussion was one that was a continuation of a work/life balance discussion that had been held the day before, but it didn’t really go in that direction at all, and instead was more of a continuation of the mindfulness topic.  This made me happy, and was fine with the convener of the session. Women business owners get embroiled in these discussions often, and I would have used the Law of Two Feet if it had been the same old tired discussion.

Other discussions that I attended on Days 2 and 3 were decidedly less “fluffy”. I attended the discussion Modern Web Apps, which had us talking a lot about the amped up user experience requirements for modern web apps. People expect that these apps will seamlessly manage flaky internet connections and offline mode. They want consistent, client-agnostic capabilities across a variety of devices, yet also expect that the unique features of a particular device will offer richness unique to that device. We also discussed the movement of web apps toward Javascript and complexities involved with that. Ember got a lot of attention, and a hacking session was scheduled for the afternoon.

The Play2 asset compiler got some love, as it runs Javascript through a compiler for validation. GWT is still appreciated with its capabilities to develop in Java and generate javascript. Dart, which makes Javascript static, was discussed as an emerging solution to the problem, but drew groans from many in the group. IntelliJ tools were cited as hugely beneficial to Javascript developers, and enforcing “strict” mode was strongly encouraged. The book “JavaScript: the Good Parts” was recommended by several people.

Much different than the Day 1 session on Productivity Tools for Programmers was a discussion on Tools for Running a Business so that you can Write More Code. Yes, I convened that session. I’m always intrigued by what others do toward this. The key message that came out of the discussion was that, much like choosing a “stack” for software, when you choose business tools, you’re often choosing a stack for that as well. For example, QuickBooks Online integrates with Harvest (for time tracking) and Expensify (for expenses). Kashoo and Freshbooks were used by one attendee who wrote some software to integrate other tools, such as eFax. I didn’t realize that you could invoice through Zoho, but apparently you can, and it’s particularly good at invoicing in blocks of time and keeping track of when those blocks are exhausted. The Ruby Freelancers podcast was noted as a good resource for learning about business tools for small businesses. Streak, as an add-on to gmail and google apps, was noted as decent Customer Relationship Management (CRM) solution. Desk.com is a help desk solution that some folks use. It integrates with Salesforce, but it sounds like you can use it without Salesforce as well.

As always, I learned a lot from several of the longtime attendees of the Roundup. Many of them have run successful companies for a long time, and it’s great to hear their perspective. Some attendees noted that this year we had a lot of sessions around effectively starting or running a business. This marks an interesting change in the nature of the Java Posse Roundup. A variety of technical sessions were convened and nearly everyone participated in the hacking session, which tells me that the crowd was decidedly technical, yet the number of non-technical sessions indicates that many of the attendees have aspirations toward running their own businesses as well.

The third session of the 3rd day was on Building Effective Teams. We decided that effective teams:

  • set expectations of success
  • self-organize
  • encourage participation
  • interact and communicate

Many techniques were described. They varied from general, such as engaging the team members cross functionally and how to deal with asocial scientists, to very specific, such as how to integrate the Quality Assurance team with the Software Developers. Discussion also included how important it is to have quick success, for both customers and for developers. Some people might be surprised to learn this, but there was universal agreement that software developers are most happy when they deliver software to real customers and it makes its way into the field. Distributed teams face challenges; some of those can be overcome by effective communication, but nothing is better than an in-person get together a few times a year. One interesting discussion was around competition in teams. Some participants described how it can be used effectively in an organization, but only when it’s a non-threatening competition between teams rather than internally in one team.

On the afternoons, we continued to break into small groups who worked on projects. I was hoping to work on getting the Scala Koans online in the same way that the Ruby Koans are. This would remove some of the barriers to trying Scala, in that people wouldn’t have to install Scala, and build and test frameworks in order to get started. A small group formed at one of the houses, and we worked with Play and a library from Twitter to get things started. We still have a lot of work to do, but it was a great collaborative start!

On Wednesday evening, we got together for more lightning talks. They never disappoint. It’s amazing to see the wide variety of interests. The highlight of the evening was Eirik’s talk, projected onto a red washcloth, where he was able to do a presentation within a presentation, and change slides by flinging the washcloth. This is a do-not-miss lightning talk!

We started a tradition on Thursday nights a few years ago.  Before getting together for a live podcast, we hold a progressive dinner, traveling from one house to another for a “course”. This year, 9 groups of people in houses hosted a “stop” on the progressive dinner, and the final location was at the conference location, where we had dessert supplied by those who hadn’t hosted earlier … and then recorded a live version of the Java Posse podcast.

The progressive dinner is an interesting addition to the Java Posse Roundup. The first year was super fun, but only included a handful of houses. The second year, we feared that we had too many people, and tried to over-engineer it in an attempt to reduce traffic all at the same time (see progressive dinner on Wikipedia for overplanning). We quickly realized that the progression from one house to the next was part of the experience. Last year, we went back to the mass movement from one house to another. We publish a schedule, including a start time, and this year, we had about 20 minutes at each house. Those hosting often skip a house or two before theirs to make sure that their house was ready for 50-60 people to show up. It’s fun and crazy and the walk between houses is a walking geek-fest with non-stop talking. It’s become one of my favorite social events at the Roundup.

Stay tuned for Day 4 … and the wrapup of Java Posse Roundup 2012.

Day 1 at the Java Posse Roundup 2012

I’m in Crested Butte, Colorado, for the Java Posse Roundup 2012. This is my 6th Java Posse Roundup, which means both that I have perfect attendance and that my husband is extremely tolerant of my travel.

The Roundup is a 4-day open spaces experience, dedicated to exploring technologies and open discussion. The mornings are set aside for discussion. Broken into 3 1-hour sessions, with 30 minute breaks in between, these are highly interactive sessions around a variety of topics that the attendees themselves identify and propose.

On Day 1, we held an intro session followed by 3 discussions.

For the first discussion of the day, I chose Tools that Make you Productive. Some tools that I thought were interesting included:

CamScanner – turns your Android or iPhone into a portable scanning device. Most notably, people are using it for high contrast whiteboard images.

Evernote – I already use this for notetaking on the web and mobile devices, but I learned  about its browser extension (click to copy) and that you can take notes by voice on the mobile version.

Livescribe smartpens – allow you to record what you write and hear for later playback. Uses special pens and paper.

There were many suggestions for todo list management, including Asana, Workflowy, AnyDo, and Do It (Tomorrow).

Desk.com was described as effective for help desk management (integrates with Salesforce!), and Trello and AgileZen were both discussed for agile software project management boards.

Boomerang, a gmail/google apps plugin, was highly regarded for email management and scheduling.

The Pomodoro technique was described (and has high participation in this group), and there was a strong emphasis on providing a distraction free environment with a comfortably large monitor and good keyboard/mouse/trackpad.  Communication between team members (and customers) is essential and tools such as IRC, Yammer, HipChat, and Campfire promote communication with off-site staff. Google Talk (particularly with the “go to voice” option) is also highly regarded.

For the last session of the day, I attended a discussion on Continuous Deployment. We contrasted the term with continuous delivery, where you build artifacts and deliver to point where it could be deployed. It is critical that there are no special (different) steps for production. We discussed the challenges around achieving that, both technology and people, and delved into metrics that can be monitored to determine success.

Unlike the first discussion, only a few tools were mentioned (Splunk and AppDynamics) while much of the emphasis was on the process of getting to the point where tools would be meaningful.

Core to the discussion was a mindshift of a release as a big (and scary) event, but rather a regular occurrence of a small bit of functionality rolled out to customers. Spreading out features over time reduces risk and provides value to customers.

Following these sessions, I went to an “off-the-record” session around team dynamics. The off-the-record sessions are held offsite, and are not recorded. This enables attendees to be frank in their discussions without concern about who might hear the podcast. I have personally benefitted from these sessions every year, and their inclusion  is one of the many advantages that in-person attendees have over those who stay at home and listen to the podcasts.

Another advantage, of course, is the hallway conversation. While open spaces conferences are organized to make hallway conversations accessible to all, I find that we’re all in non-stop communication mode, and the ample minute breaks between sessions encourage this. Various discussions from work-life balance to pair programming to languages all happened in these “breaks”.  We also talked while at lunch, while out snowshoeing, and while at dinner. Others did some more hacking.

In the evening, we all got together for lightning talks (recorded and will be released on YouTube). For some reason (maybe we didn’t post the list fast enough), the list for lightning talks was only half-full when we arrived. Several of us kicked it into high gear and developed lightning talks on the spot, and soon the schedule was full.

I spoke about Raising Geeks, with the key message that we should all buy “cool toys”. My favorites are Snap Circuits Jr (and I saw a bunch of parents in the audience nodding in agreement) and LEGO WeDo. I had been talking about the WeDo to a few other parents at the conference, and they suggested I do a lighting talk, because its availability is not widely known. Kids can build things (like an alligator) with LEGOs and sensors, and then “program them” with a LabView-like visual interface. It’s sold through the LEGO Education division, and it’s been a huge hit at my house.

There were many other lightning talks on a variety of topics, some software related and some not. They’re always enjoyable to watch!

Many of the Java Posse attendees share houses in town and discussion doesn’t really stop when the sessions end. Every year, I go home from this week both energized from the ideas that arise and exhausted from the interaction.

Stay tuned for a summary of Day 2 …

Finally: a CodeMash trip report (and some upcoming community events too)

Finally starting to feel a bit human after CodeMash.  While I scaled back my volunteer time this year, SRT was still pretty busy at the conference this year, with scaling up to a Platinum sponsorship and MobiMash! But I found a lot of time to attend sessions this year, which was great.  It's been a few weeks since the conference, but I did want to highlight some of my favorite moments.

During the precompiler, I went to Ruby Koans, given by Jim Weirich and Joe O'Brien.  What a great way to learn!  Joe and Jim even brought a little humor to their teaching, with the exercises reflecting "enlightenment".  Love those guys! I completed my precompiler day with Mary Poppendieck's workshop on Competency and Leadership in Software. I worked with a small group, created a fictitious company that we could use to analyze for effectiveness. Great fun! Very instructive!  I've been fortunate enough to spend some time with Mary and Tom during 3 of the last 4 CodeMash events.  I definitely hope that they make it next year!

For the Wednesday night panel discussion, the Java Posse invited Bill Wagner (representing C#) and Chris Smith (representing F#) to join them.  It was a great group, with lots of interesting discussion.

The variety of talks at CodeMash this year was impressive.  Jim Weaver's JavaFX demo was thought-provoking, and I suspect that Bill Venners' Scalatest demo spoke to more than just Java developers.  Andres Almiray's enthusiasm for Groovy/Griffon was contagious.  And Chris Smith's "Evil Genius with F#" was well-planned and interesting.  We were also really lucky to get the Java Posse to come to CodeMash, both for their panel discussion and their sessions.  Joe Nuxoll's Photoshop for Engineers and Engineering vs. Design sessions were well-attended and offered insight that I haven't previously seen at CodeMash.  Dick Wall did "Funky Java, Objective Scala" which was both fun and interesting, offering functional aspects of Java and object-oriented aspects of Scala.  Carl Quinn rounded out the Posse talks with his on Tools in the Trenches.

Of course, there were many sessions that I regret missing, such as James Ward's Agile Toolchain for Flex and Barry Hawkins' "User Stories: Closing the Agile Loop".  I also missed various iphone and Cocoa development sessions, by both Chris Adamson and Daniel Steinberg, and Nick Siegler's talk on JRuby. And many more.

I'm already looking forward to CodeMash 2011. In the meantime, there are some interesting community-driven conferences coming up.  On March 13, you can attend "2010 Michigan: Agile and Beyond" in Dearborn.  The early bird rate on that ends soon (February 10!), so register soon to get $29 registration rather than the regular rate of $99.  After the very successful 1DevDay in 2009, I've heard rumblings of that conference returning in 2010.  Watch the Detroit Java User Group for announcements there.  And, of course, don't miss the Java Posse Roundup in Crested Butte, CO.  It runs March 15-19, with the first day dedicated to "Alternate Languages on the JVM".  There's graduated pricing on the Roundup, so the sooner you know you want to go, the better!

This week, being the first of the month, is a busy one for user group meetings in Ann Arbor.  Tomorrow night, the Ann Arbor Study Group features Django.  This interactive learning experience will be led by Darrell Hawley, and hosted at SRT Solutions ( 206 S. Fifth Ave., Suite 200, Ann Arbor).   The Ann Arbor Computer Society hosts Aaron Thul for Postgres SQL on Wednesday, February 3.  On Thursday, join the Michigan Python User Group in their monthly meeting/discussion.  Both of these events will be hosted at SRT Solutions as well. 

My schedule for CodeMash 2010

Or, more accurately, CodeMash 2.0.1.0.

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!

Insight into the Java Posse Roundup: Why I Go

The 3rd Java Posse Roundup was held last week in Crested Butte, Colorado.  As I flew back home on the plane, I reflected about why this conference is my favorite conference to attend, and why I start looking forward to the next event as soon as the current one concludes.

The contributing factors include:

1. The people

2. The format

3. The location

 

The people.

The Roundup attracts some new faces and some diehards. Some come back after missing a year for whatever reason.  Even before the conference begins, an online group is created which starts communication among attendees about housing, flights, what to bring, etc.  This communication is not driven by the old-timers.  Sure, they answer questions, but the new attendees are pro-active as well.  This year, one newbie set up a google map of the areas of interest (houses, etc.) while another set up a list of things to bring.  Discussions were started long before we ever met one another, and houses were shared by complete strangers.

It also helps immensely that the people who drive the conference (in particular, Bruce Eckel, Dick Wall, Carl Quinn, Tor Norbye, and Joe Nuxoll) are all really approachable and inviting.  They invite people into their homes for dinners and for hacking sessions and for discussions that extend long into the night.  Their approachability sets the tone for the conference, and the attendees reflect that with one another as well.  I have never felt intimidated about going up to ANY roundup attendee (including industry luminaries) to talk.  They've all been very nice and generous.  This sense of approachability was described by attendees all week, this year.

Through our online group, the attendees continue to maintain contact throughout the year.  As one attendee put it, there's a lot of benefit in having a personal connection to the other attendees, in setting up that network.  I have certainly made long-lasting friends and those relationships continue to grow.

 

The format.

The open spaces format of the event is announced/described on the registration page, but even before people experience open spaces, they act in an open spaces way.  The self-starting attitude that the attendees, old and new, bring to the conference is apparent long before we all touch down in Crested Butte.  It doesn't take long for the attendees to understand that pretty much anything goes.  The first day or so is often a bit driven by concerns about where the boundaries are, with newbies asking "should we do it this way", "is it OK to do this".  The answers typically come back as "Sure, go ahead" (when it's an idea that someone has, or "Let's just let things happen" (when someone is trying to impose some additional order on the process).  Quickly, people learn that for the most part, things will happen, but that this is their experience to help mold and create, and they go with it.

 

The location.

The conference is held in the remote mountain town of Crested Butte, CO.  A town of just 1200 residents, CB is a great place to hold the conference for many reasons.  For one, Bruce Eckel lives there.  He helps to organize the conference with the Posse and holding it in his town certainly simplifies things.  The prior-year attendees are comfortable with the town and with the rental housing there, and that has a bit impact on the interactivity among the attendees. And I think that it's a really big deal that no one (other than Bruce) is close enough to their homes or their jobs to be able to move in and out of the conference.  For the most part, people are on a retreat (or as several people called it "Camp"), and spend the entire week together.  The retreat from "real life" in a region unfamiliar to most encourages the attendees to eat together and to form groups to hack or to ski. I strongly believe that if this conference were held in the Bay Area, we would have a boatload of attendees, but the experience wouldn't be nearly as rewarding.  And the town reflects a casual welcoming attitude as well.  By policy, there are no chain (stores or restaurants) in Crested Butte. That means that visitors are "forced" to local hangouts, where they quickly learn that they are welcome.  People stop and talk, and seem genuinely interested in a conference coming to their town. A few locals have stopped by lightning talks to see what it's all about.  After a while, several of us recognize some of the locals, and we even turned the tables on one of them, with 15 of us visiting his restaurant.   We chatted him up, and he knew who we were.  In addition to being a fabulous town, Crested Butte offers the perfect backdrop to such a friendly conference, but being an approachable town.

 

What I've decided is that it's hard to separately analyze these factors.  While I definitely think that the Roundup would succeed in another location (because of the people who organize it, and because of the format), I do think that care has to be taken to choose a location that reflects its intimate nature.  On the other hand, I believe that the people and the open spaces format are the key ingredients to the Roundup's success.   And if I had to pick only ONE component that really described why I like to attend the Roundup each year, why I count it as my favorite conference, I would have to answer … the people.  It's really all about the people.

Another Java Posse Roundup comes to a close

Well, I've been here in Crested Butte since Sunday afternoon, for the 3rd Java Posse Roundup. It's been an amazing experience, as always.  I blogged earlier in the week about how this conference evolves to match the interests of the attendees. Of course, I should have anticipated that it was still changing.  The attendees really take charge of this conference, and that's part of why it's so great.

In addition to the new (optional) hackathon day, there were several other changes this year. First of all, the size has exceeded the capacity of the Posse House and so the evening events were held at the conference location.  This gave everyone a bit more breathing room and was just as fun.

The lightning talks offer a wide variety of topics, not all of which are Java-related. I enjoy the non-technical talks and tech talks alike.  Some of the more amusing sessions from this year include Barry Hawkins' "Introducing Change" and Andrew Harmel Law's "Zombies".  The lightning talks will make their way to YouTube at http://youtube.com/javaposse.

The sessions, as always, were fascinating. Ranging from the very specific to the very general, they were all great. Of course, they will be released on the Java Posse podcast channel, and it will be interesting to hear the reaction of those who didn't attend. But I did realize that if you're not here, you miss out on a lot.  Not only will you likely not get the jokes, but you also miss out on the opportunity for "free consulting".  People are very generous with their time and ideas.  I have met some amazing people here over the years, and I do keep in touch with them throughout the year.  We bounce ideas off of one another and I benefit immensely.  I hope that I offer at least a fraction in return. 

The afternoon activities were varied. Some people gathered at houses around town to hack together, while others "networked" (aka, skiied and snowmobiled).  I was thrilled yet again to leave my downhill gear packed because of the interest attendees had in learning how to cross-country ski.  We went out two days (so far; I suspect we will go tomorrow morning as well) and the groups were great! Some footage may make its way to the internet; we'll have to see.  Fewer people downhilled this year than in years past, and I suspect that was a combination of the weather (it was grayish without new snow) and the fact that Bruce had broken his leg a few weeks ago.  I think that his mishap may have spooked people.

The hacking groups had productive afternoons as well.  Dick was able to rewrite his JFlubber app in both JavaFX and Flex. With both Tor and James to work with, Dick seemed pretty happy.

Bill Venners was here as well, and he was able to find several willing participants to work on ScalaTest.  Rumor has it that he and Tor got the NetBeans build working for ScalaTest, which will certainly improve the developer experience "out of the box". We had a group at our house one afternoon, and most of us were having difficulty getting it to build.  I'm glad that they were able to make progress. Bill's done a great job with ScalaTest!

After lightning talks, groups formed.  I never went to bed early, always intrigued by some interesting conversation at my house or another one, that went well into the night.  As is consistent with the previous 2 Roundups, I found that I spent nearly ALL of my waking time with other attendees.  I had one brief shopping trip alone to buy souvenirs for my kids.  That's it.  So, if any employers doubt the "hard work" that we do at this conference, pass this information along.  Even while we were out cross-country skiing, we were talking about "things", either about Java things or business things or the conference.  It's truly an experience in conference immersion.

 

Oh, and just to dispel the myth that geeks don't socialize and can't cook, here's a story:

Since several of us had rented houses around town (5 or 6 in total) rather than renting hotel rooms, we got together and organized a progressive dinner.  While Wikipedia describes it as a complex process requiring a lot of organization, we didn't have that experience and it was awesome.  So, if you're going to do one, don't do it THAT way.  Try it OUR way … you might be surprised.  Here's the official (LOL) Java Posse/Open Spaces version of a progressive dinner:

  1. Write down addresses of houses that are interested in participating. Each house will prepare "some food" (we left that open).
  2. Pick a start time.
  3. Pick a house to start at.
  4. Pick the successive houses and write down the order on the paper.
  5. Go to first house, and migrate to the next in line until done.

We announced this on Tuesday afternoon, and simply reminded everyone on Wednesday at noon.  40 people traipsed from house to house!  It was a lot of fun.

Pretty simple. And FUN! Not only did it get everyone moving around, talking to different people, it was a great way to see the other rental houses and to learn who liked to cook. We didn't go to the trouble of telling people what to prepare, assigning a course, or even letting one another know our plans.  Our menu was varied and we had a blast. Try it.

The week was way too short.  There was a lot that I wanted to do.  But, as usual, I'll be returning home with my batteries charged and new friends. Can't ask for much more than that.

Alternative Languages on the JVM at the Java Posse Roundup

The Java Posse Roundup conference continues to evolve to meet the interests of the attendees. This year, the first day was an optional day,  with groups coding on alternate languages on the JVM.  Groups formed to share their collective knowledge and interest surrounding several languages. I chose to attend the Scala Hacking session, as did 13 other people.  In other locations around town, there was a similarly sized JavaFX group, and a smaller Groovy/Grails group.  Later in the day, Fan was added.

In the Scala session, we went through some code that we had developed for an evening session last year, implementing some functionality of LINQ (Language Integrated Query for .NET), in Scala.  We based our work on Bill Wagner's article from Visual Studio Magazine.  We didn't make much new progress, mainly because we were trying to dissect what we had dome both for our benefit as well as for those who had never seen the language.  We're hoping to get back to that later in the week.  You can read Joel Neely's blog that summarizes a lot of what we did along with some insight.

Later in the day at the Scala Dojo, Dick Wall demonstrated some of the work he's been doing with genomics, while another group moved over to another house, to work on ScalaTest with Bill Venners.  We spent some time getting our development environments set up, and started with some assignments.  Bill's talking about a release later this week, and is looking for help on the project.  Several people have expressed interest and working together was a good start.  I suspect that wasn't the last Scalatest hacking session either!

After a short break for dinner, we all got back together at the Posse House (as we affectionately call the house where the Java Posse stays during the conference) for a review of how we had all spent our day.  The Groovy/Grails team demonstrated their work on getting a simple CRUD app to work, and the JavaFX team demonstrated an application that they had built, which included a timer that counted down.  By adding some designer work in PhotoShop, they were able to get a styled app up and running, and even included sound.  It was an impressive demo. Joel Neely reviewed what our team had dome with Scala, and Fred Simon (who endured 48 hrs of travel and delays to get here) did a brief overview of Fan, which is a language that targets both the JVM and CLR.

We're all looking forward to the conference starting today, with open spaces sessions.  This year, we have exceeded the capacity of the Posse House for lightning talks (but not for gatherings), so the consensus is that the evening lightning talks will likely be held at the conference location as well.  It's not as cozy, but it will likely be more functional!  I'm sure that at some point today, people will head off to ski, and that's part of the experience as well.

So, off for another day in beautiful Crested Butte. First stop, Camp4Coffee.  Then, conference kickoff!