Evening Sessions at Java Posse Roundup

Java Posse Roundup After Hours

 In addition to the daytime (morning) sessions, we’ve been getting together in the evenings.  Someone suggested lightning talks in the evenings, and posted a signup sheet.  8-10 talks per night were quickly filled up.

The evening talks were a mix of technical and non-technical.  All talks were limited to 5 minutes.  Well, it quickly became apparent that 5 minutes was a bit too short, so we set the timer for 5 mins and gave the person 1 more minute to wrap things up.

The first night, there was an attempt to record the sessions, but they were highly visual, and since no one was really set up to capture the sessions with Camtasia (or the like), listening might not be all that useful.

So, Wednesday night, we had talks on such diverse topics as:

Thursday night, people got a little bit more creative in terms of talking “outside of the Java box”.  It was a tribute to the format of the lightning talks that several people chose to bring their spouses that evening, and everyone seemed to have a good time.

Those talks included (not complete list):

  • Yahoo Pipes
  • Flex running with Apollo (and communicating between them)
  • Orienteering
  • Java Docs in the year 2020
  • More racing from Joe (book link: http://tinyurl.com/2bd6vp)
  • Optimal letter spacing from Joel (who does beautiful calligraphy)
  • Right brain vs. left brain

We did the lightning talks at the very large house where the Java Posse was staying.  It was really perfect for this sort of a gathering.

On Thursday night, after the lightning talks, the Java Posse surprised us by telling us their intended format for that evening’s recording of the podcast.  As *** put it, “We provide this show for YOU guys all of the time.  How about this time, we just start it off and then go around the room and ask each of you what you thought about the Roundup?”.  Nice idea, but much stress in the room as we all contemplated actually speaking.  All in all, it was really great (for those present at least) to hear what the others thought about the Roundup, the Open Spaces format, the skiing, etc.

On Friday night, it was even more laid back.  Everyone showed up at the Secret Stash (a unique Crested Butte restaurant, that serves interesting pizza).  The menu is online, so I’m able to share our selections here:

ME & MY UNCLE'S PIE
grilled chicken ~ black beans & corn ~ chipotle sauce ~ cheddar cheese ~ fresh cilantro ~ roasted red peppers

KALADI'S FAVORITE
Grilled Assorted Veggies ~ Fresh Goat Cheese ~ and our Balsamic Reduction

We also had a blue cheese pizza, but I don’t see it on the online menu.

We sat at a table on the floor, with pillows.  This was a bit uncomfortable for the (inflexible) guys with long legs, but I was OK!  A good time was had by all, and those who drank a local beer called Mojo gave it high ratings.  After that, we all descended upon Bruce’s house and watched amusing stuff on YouTube, Google video, etc. well into the night.

 

 

Java Posse Roundup: Day 2

Java Posse Roundup: Day 2

Session 1: Java Development Environments

I convened a session on Java Development Environments (IDEs, tools, etc.). My question was, “Is it a benefit or a detriment that we have choice in our tools?”. For comparison, when programming on the Microsoft platform, developers are given tools that work together out of the box. If they choose to add new tools to their arsenal, they can (especially see Jim Holmes book, “Windows Developer Power Tools”, which includes a lot of open source tools for use on the Windows platform.

In any case, as Java developers, we’re not only free to choose our own tools, but sort of forced into choosing and configuring. Yes, there are packages like MyEclipse and NetBeans which bundle things together, but the IDEs have gone back and forth many times in the past several years. I’ve personally tried at least half a dozen. Currently, I’m using Eclipse, but on the recommendation of the group here, I’m encouraged to give NetBeans another try.

The consensus of the group was generally that we’re glad to have options. I’m still left thinking, however, that we spend a lot of time spinning our wheels, evaluating tools, instead of actually solving problems for our customers (or employers).

Session 2: User Groups

The next session that I attended was on User Groups. Graham, a Crested Butte local, is considering starting a user group here, in Crested Butte. He was looking for ideas and suggestions about how to get started, while others were looking for ideas about how to grow their user groups or to keep people coming back.

I held the position of president of the Ann Arbor Computer Society for 2 years, and I got some great advice from past leaders of that group: DELEGATE. I’m not always good at it, but it’s a good objective. Having a strong leader that can delegate tasks to get done is pretty critical, I think. Several (3) of the guys in the session were from Atlanta, and the AJUG has a dynamic and energetic leader, and it sounds like he does a phenomenal job of keeping their user group going. In addition to an annual DevCon, which is well attended, they offer Job Postings for both potential employers and job seekers (JRecruiter). The Ann Arbor JUG also has this, but I want to look at what they’re doing in Atlanta, because it sounds more effective than the blog-like postings on the AAJUG.

Remote user groups (Taos, Crested Butte) face different challenges. There are few area users, and having a JUG may be too restrictive. It sounds like Dean from Taos and Graham from Crested Butte may create a more encompassing group that serves all software developers, rather than limiting to a JUG.

Chris Adamson was also in attendance. He is an editor for java.net, and he offered to help solicit updates for the JUG list that they maintain. GREAT IDEA, since they really have gotten out of date.

The basic “take-aways” from the session were:

1.Start small. None of the big groups started big. We all started with 2 or 3 people who wanted to get around and talk about cool stuff.
2.Have a compelling reason for people to attend meetings. Good content, opportunities to learn about jobs, etc.
3.Mix in local and national speakers, if you can. National speakers provide visibility to the group, while local speakers get experience talking to a group of people.

Some groups charge dues, while others are free. Some are corporate sponsored, others are not. You just have to find what works in your area.

I would love to create a “meta-group” of JUGs or other user group leaders who might communicate on an eGroup or such to toss ideas back and forth. Maybe we can start with the list on Java.Net?

Java User Groups on Java.net: http://tinyurl.com/36r2ku

Here’s a view of what Sun coined as the Top 50 JUGS:

http://wiki.java.net/bin/view/JUGs/SunTop50JUGProgram

Session 3: Convergence of Desktop/Web/Mobile

Joe Nuxoll convened a session on the convergence of desktop, web, and mobile application development. Questions were raised about how to determine which platform to develop for, or if it made sense to sometimes build a web app that could be used on a desktop. Mobile has its own set of challenges, but even so, we’re becoming more demanding about what we expect in mobile apps.

One real key is that a lot of time users don’t even know where they’re running up against web/desktop boundaries. One good example of this is Google Earth and Google Maps. Google Earth is clearly a desktop app but it accesses the web to get data that Google maps also uses. Sketchup is a nice application that also pushes these boundaries, in connection with Google Earth.

Joe’s pretty adamant about good user interface design, regardless of desktop or mobile or web. Everyone pretty much agreed that we have to use the right tool for the job, and that it’s not always clear what people need when looking at what people are CURRENTLY doing. Sometimes we need to mix stuff up and come up with a new way of interacting with the user. There are some really cool demos from demo.com that really push this envelope.

Java Posse Roundup Day 1

The conference officially begins!

 

The Java Posse Roundup officially started today.  About 25-30 people have gathered here in Crested Butte, Colorado.  Bruce Eckel and the Java Posse together organized this open spaces event, and I’m really enjoying myself so far.   I won’t try to transcribe the sessions here, since the Java Posse will be putting them out in podcast format, assuming the audio is all fine.  It’s a great experiment, and I hope that it comes out great.  

 

The day started out at the event location, with Bruce describing the structure of Open Spaces.  I’ve blogged about that before, and I’m a total convert.  The ability to be able to put up ideas for discussion while at the event, thereby shaping your own experience, has totally ruined me for the eyes-forward (eyelids dropping) conferences.  

 

It always seems a bit strange to newcomers, but those of us who have done this before eagerly rushed over to the board to grab post-it notes and write down ideas for discussions.  We egged on the others, and soon the boards for all 4 days were pretty full, with 4 concurrent sessions. 

 

The first session of the day offered many choices, all difficult to choose from.  I went to a talk on Dynamic Languages on the JVM.  It started out with a discussion about dynamic languages, but quickly headed toward Domain Specific Languages (easy to build with dynamic languages).  At one point, we realized we had diverged, but everyone voted to keep going.  We had a great 1 hour talk that included mention of Jython, Groovy, Spring, Scala, CLOS, LISP, Ruby, tuples in Java, Domain Driven Design, performance of exceptions, and many many more topics. 

 

And, as always a huge number of book references came out of the discussion.  Some were technical, others fun but also offering some perspective to technical things.  I’ll list them here, just for fun (and so that I have a place to look when I want to read a new book):

 

Poignant Guide to Ruby (online book)

Innovation Games (by Luke Hohmann)

The Design of Everyday Things (by Donald A. Norman)

 

That was it for the first part of the first day.  We all headed off to ski, and planned to meet up later at Bruce’s house for a BBQ.  While most people downhill ski at these events, I had a hard time ignoring the Nordic trails, so off I went with another attendee and we skied the “Town Loop” (a free, flat loop in town).  It was great, just what I needed while I was adjusting to the altitude.

 

And yes, after skiing, everyone headed over to Bruce’s, where geek talk went on well into the night.  I finally left around 9:30 pm or so … it had been a long day.

 

 

Web Frameworks Comparisons at the Java Posse Roundup

Java Posse Roundup Day 0

 I’m here in Crested Butte for an Open Spaces conference, The Java Posse Roundup.  The conference officially starts this morning, but we had an “extra session” last night at Bruce’s house.  Graham Ullrich presented his experiences with TurboGears and Django, both web application frameworks written in Python. 

Graham’s experience with TurboGears was in the summer of last year, with about the 0.9 release.  Since then it has been released as 1.0, and I think that the documentation has been improving steadily.

The major drawbacks of TurboGears include:

  1. Kid templating errors are hard to decipher
  2. SQLObject is limited in functionality

Both of these can be addressed now, as you can drop Genshi in place of kid (and Genshi has awesome error reporting), and SQLAlchemy is more powerful than SQLObject (and arguably than the ORM built into Django).

The major drawbacks of Django include:

  1. Incomplete documentation
  2. Newforms development incomplete 
  3. Not easy to understand what to do with static content

The Django project was poorly advised to put a note in the documentation that new projects should use newforms, since there are major pieces that are not implemented.

Overall, Graham reported that his experience with Django was more “pythonic” than his experience with TurboGears.  It’s hard to tell whether that’s because he was using an earlier version or whether it just feels more natural to him.  In particular, he likes the admin interface and database mapping.

Here are some more comparisons of the 2 toolkits:

http://www.oreillynet.com/onlamp/blog/2006/02/a_brief_djangoturbogears_compa.html

http://www.petersblog.org/node/1083

And, if you missed the presentation and want to read through his slides, he's provided them (see below).

Graham's presentation on Django vs. Turbogears

CodeMash 2007

Well, the CodeMash conference has come and gone. Ah, all of that planning and now it’s over. How will I spend my days if I don’t have to help plan and publicize this event? Maybe I’ll actually get some work done (and see my kids)!

The conference was very cool. One problem in helping to arrange the event is that I had a lot of input into which talks were accepted. That meant that in every time slot, there were multiple talks that I wanted to attend! Ugh! So I moved in and out of the talks, sampling each. Sometimes, I got captivated with a talk and stayed until the end. Other times, some conference organization thing came up and I had to step out. But all in all, people seemed thrilled with the talks, the keynotes, and the venue. And I had lively conversations with attendees and speakers alike, WAY past my bedtime. The 6:30 am organizer scrum came very early on Thursday morning (since I had barely gotten to sleep, it seems). I dashed off without so much as washing my hair (eek, I had to be on stage to introduce Bruce Eckel’s keynote and there would certainly be photos!). Sigh. I had planned to get more sleep on Thursday night, but instead, I found myself talking to speakers and other attendees, including both Mark Ramm and Mike Levin (who I hear continued the conversation even later!) until 1:30 am. Friday night, much of the same. Oh well, maybe I can catch up on my sleep this week.

We kicked off the conference with an “Expert Panel on Languages”, which was moderated by Bruce Eckel and panelists included: Neal Ford, David Stanek, Bill Wagner, James Ward, and Jay Pipes. Many thanks to both Jay and James who stepped in at the last minute to round out the panel!

In addition to the scheduled talks, I attended (and convened) some Open Spaces talks. These are interactive conversations, decided by the makeup of the group. I was introduced to Open Spaces by Bruce Eckel at several conferences in Crested Butte (the next of which is the Java Posse Roundup in March). As he warned often happens, Open Spaces conferences have really spoiled me for eyes-forward talks. Sure, sitting in a lecture and listening to someone talk about something is often an effective way to learn. But I LOVE the interaction of Open Spaces, where every participant is actively involved in the conversation, sitting on the edge of their chairs, engaged. Not falling asleep.

Ah, anyhow, since Bruce was at CodeMash, we had him introduce the concept of Open Spaces and provided a board where people could post talks. His conferences are ALL open spaces, while this one had open spaces “on the side”. I think that we could have done things better in this regard, but I saw some engaging open spaces talks, including some convened by Bruce Eckel (for questions after his keynote) and Mary Poppendieck (for questions after her talk on Lean Software Development).

Other Open Spaces sessions that I attended …

Social Networking for Nerds (Versions 1 and 2):

One of the scheduled talks, for example, was “Networking for Nerds” (hardware stuff), but a few of us were thinking that a “social” networking for nerds might be a good thing to do, so we convened an open spaces session, “Social Networking for Nerds”. But as we were about to begin, there were rumblings about hitting the water park (CodeMash was at the Kalahari Resort and Indoor Water Park in Sandusky). So, we simply moved the “social networking” open spaces TO the water park. “Meet at the Lazy River!” And we did. A bunch of geeks in swimsuits … hmm, that knocks down some social barriers. As I explained to Josh Holmes later, “Once you’ve floated down the Lazy River in a raft, or raced down a water slide side by side with another conference participant, you don’t really feel too shy about asking if you can sit next to him at lunch!”.

Later, we did convene a second session, “Social Networking for Nerds 2”, in a more traditional venue … in the Nia Conference Center midday on Friday. It was well-attended as well. I think about 20 people showed up. I voiced my one regret in my career as not having kept in touch with people from prior jobs in my 20 years as a professional developer. One guy said that he keeps birthdays in Outlook and emails people yearly! He doesn’t feel like he’s “using” another person when he has a question for them later. Good idea (and it was his birthday as well, so we all wished him a happy birthday). Another guy (Barry Hawkins, who I first met in Crested Butte), indicated that his first Java User Group meeting was an eye-opener for him. He realized that people went and heard the presentation, but didn’t interact otherwise. So he announced a “pre-event” meeting where he would be at a local restaurant beforehand, and he gets a great turnout for that. Like our “social networking” session, it’s self-selecting. Those who are interested in networking, go! And while geeks have a bad reputation for being antisocial, I think that those who attend conferences perhaps have a bit more interest in socializing than the standard geek. The consensus seemed to be that most of us feel socially awkward at one point or another, but we push on and do it anyhow. And so we get better at it, just like software development!

Building a TurboGears Widget with Flex:

James Ward, Flex evangelist from Adobe, and Kevin Dangoor, the creator of TurboGears, paired to build a widget in TurboGears that embodied a Flex component. They built a DisplayShelf widget and deployed it to the Python Cheese Shop in under an hour. In a nice demonstration of pair programming, it actually worked the FIRST TIME. Phenomenal. About a dozen people sat around and watched the two at work, and later went to work themselves, grabbing the widget from the cheese shop and quickstarting a TurboGears app and using it themselves. When I got home from the conference and explained this to my husband, he insisted that I do the same. I easy_installed the widget and had it working in about 16 minutes (including copying images to use), in spite of me NOT wearing my glasses. Impressive.

Women in Software:

We brainstormed a bit on why there are so few women in software development these days. Mary Poppendieck explained that when she first got into software, about 40% of the developers were women. She thinks that companies were afraid to hire men because they might be drafted for Vietnam, and so it was “safer” to hire women. And women did it. Another attendee landed in software development from a secretarial field because of an awesome role model and mentor in her (female) boss. Another woman who attended came from a mechanical engineering background. Several men attended as well. We tried to work out some differences, and the one thing that kept coming up was … what drives us. Several of the women in attendance were really drawn by fulfilling customer’s (or company’s) needs. HELPING people. As a generalization, the men seemed more drawn by “building cool things”. Interesting. So maybe when we talk to girls about computer science, we need to talk to them about the human interaction component? That’s a thought. Mary Poppendieck brought up an interesting point as well. She doesn’t think that we need to reach young girls to convince them to go into computer science. She thinks we need to reach their PARENTS. Ah, interesting, especially since many of us indicated that our parents were guiding influences in our choice of professions. So we didn’t come up with “a solution” but that wasn’t really the goal. We have some insight and that’s a start.

User Stories: Reaping the Benefits of Agile Software Development:

Barry Hawkins convened an Open Spaces session on User Stories. A few of us gathered and described why user stories are so critical to the success of agile development. We delved into the representation of personas and we all really feel that these are key to user stories. It’s not all that productive to talk about “the user” as if my 67 year old retired dad and my 23 year old neighbor with a college degree see and use software in the same way. Should we just ban the words “THE USER” in our discussions? OK, maybe not, but building up personas really does help us keep in mind how people use software differently. And building stories for what the components are in software is a great way to help management define not only the complexity of a task but also how essential it is. Ah, now that we all clearly SEE what we’ve been talking about, maybe we can live without it. Or maybe it’s even more critical and needs to be elevated in priority. User stories really help that.

There have been a lot of blogs about CodeMash, since the conference ended. Those that say that they’re glad that they attended and that they would come again, or that they would recommend the conference to their colleagues, make me feel like I didn’t spend the last few months planning this conference for nothing. The real benefit in community-organized events is, however, in letting people know what you would like done differently next time. We’re not a bunch of conference organizers. We’re developers. As I said several times at the conference, this is the conference (and content) that WE wanted to attend. If others in the development community pitch in with ideas and speakers and keynoters and what to do differently, it can be even MORE awesome next time. Did I say “next time”? EEK! Don’t tell my family …. But do join the CodeMash google group and provide feedback, suggestions, etc.!

CodeMash website

CodeMash google group

TurboGears 1.0 is released!

TurboGears, which has been at 1.0b1 for a while now, was released as 1.0 today. Here’s a link to an IRC chat that describes what that means, and more about the future of the TurboGears project.

http://irclog.turbogears.org/archive/freenode/turbogears/2007/01/03 (scroll down to timestamp 17:00 for the relevant info).

This is all great timing, since the TurboGears Jam is starting in just a week and a half, here in Ann Arbor. It’s January 14-16 (more details on Bruce Eckel’s site: http://mindview.net/Conferences/TurboGearsJam/).

Here’s Kevin’s mention of the TurboGears Jam from the IRC chat:

Next minor item: I'd just like to remind folks that Bruce Eckel's TurboGears Jam is happening here in Ann Arbor, Michigan in less than two weeks. It should be a lot of fun and I hear that Bruce creates a great learning environment at these kinds of events. I will be at the Jam as much as I can. Also, I'll be introducing TurboGears at CodeMash in Sandusky, Ohio later that same week.

I’m really looking forward to the TurboGears Jam, and I’m excited to see what 1.0 has to offer that I haven’t already seen in 1.0b1. If you haven’t already signed up, I think that there’s still room for a few more people. Join us! Sunday is “introductory day” with pricing that allows you to attend Sunday only (great for those who want exposure to TurboGears, but can’t justify it to their bosses … yet). Monday and Tuesday should give us a lot of time to experiment.

My responses to Kathy Sierra’s blog on 5ish questions

As often happens when Kathy Sierra posts a new blog entry, I find myself compelled to get something in writing. Her writing really does provoke passion and interest … what a great job she does!

Last week, I read her blog (late) about women’s t-shirts at conferences (ahem, lack thereof). Since I’m in the midst of helping to organize the CodeMash conference, I’m really pushing women’s tees. If we pull it off, I’ll definitely send Kathy one (and anyone else who wants one). Our logo is cool (check it out). Anyhow, women’s tees cost an extra $3/shirt but heck, so do the XXL’s and we’re buying THOSE, so why not!

Anyhow, back to this week’s Creating Passionate Users blog entry, where Kathy turned the “5 Things You Don’t Know About Me” question around a bit, and asked it of her readers. Certainly, it’s great to know who’s reading, but I think that she’s built up a community around her blog posts and REALLY just wants to know who’s in it.

So here are her questions, with my answers.

0) What's your name and website URL? (optional, of course)

Dianne Marsh, www.srtsolutions.com

1) What's the most fun work you've ever done, and why? (two sentences max)

I worked for a small startup (5’ish people) from 1992-1996, doing human genome software (specifically sequence analysis). This was the most fun application area I’ve been in, to date: interesting, challenging, personally rewarding.

2) A. Name one thing you did in the past that you no longer do but wish you did? (one sentence max)

Triathlons: I can’t say I ENJOYED them but it was good to be training.

B. Name one thing you've always wanted to do but keep putting it off? (one sentence max)

Learn to play the piano.

3) A. What two things would you most like to learn or be better at, and why? (two sentences max)

Patience and relaxation. Life seems to get away from me, and stress seems to take over.

B. If you could take a class/workshop/apprentice from anyone in the world living or dead, who would it be and what would you hope to learn? (two more sentences, max)

My three year old daughter, as an adult. I would love to be able to understand the impact of my parenting on her, and learn from that experience (even though I couldn’t apply it!).

4) A. What three words might your best friends or family use to describe you?

Bossy, opinionated, dedicated

B. Now list two more words you wish described you…

Neat, polished

5) What are your top three passions? (can be current or past, work, hobbies, or causes– three sentences max)

My children, the environment, and community (both web and IRL)

6) (sue me) Write–and answer–one more question that YOU would ask someone (with answer in three sentences max)

Q: Have you chosen the right profession?

A: Yes; I enjoy what I’m doing and there’s plenty of opportunity for me to keep learning about things in my profession throughout my career. If this weren’t true, I would change professions. Life’s too short.

[Bonus: What is one question you wish people would ask themselves?]

Q: WHY do you think you need to eat trans-fats?

CodeMash early bird deadline

CodeMash, a developer conference organized by volunteer developers, is to be held January 18-19 in Sandusky, OH. Drawing from national talent as well as regional experts, this conference provides a unique opportunity for a diverse set of people to get to

CodeMash deadline is TODAY!

Today is the last day to get in on the $99 registration for CodeMash. Tomorrow, it goes up to $149 (still incredibly reasonable). CodeMash is January 18-19, 2007 at the Kalahari Resort (www.kalahariresort.com) in Sandusky, OH, and will bring together developers from all worlds … Java, .NET, Python, PHP, Ruby, TurboGears … you name it! We’ll all learn from one another in a cool and fun environment.

Engaging keynotes by Bruce Eckel, Scott Guthrie, and Neal Ford. Talks by Brian Goetz, Mary Poppendieck, Jay Pipes, David Stanek, Kevin Dangoor, Ted Neward and more!

Don’t miss out on early bird pricing. But even more importantly, don’t miss out … space is limited, so sign up soon!

I’m promoting CodeMash heavily because not only am I on the organizing committee, but also because this is a conference with a theme that I believe in, strongly. SRT Solutions, with diverse knowledge among its staff, definitely benefits from the cross-pollination of ideas. One friend asked me if I thought that the “generic developer” would get much out of this sort of a conference. My response? Any time you learn something, you’re benefiting. You may not use any more than one of these languages in your job, but knowing about the others, and their strengths and weaknesses, makes you a better developer.

CodeMash Registration

Digg story on CodeMash and other events

Kalahari Resort
Conference Venue

Why I May Have to Start Using Linux

It’s the little things …

If Windows Update asks me one more time if it can restart my computer, I think that I may snap. It’s going to ask me, in just a few minutes. Unfortunately, there’s no way to STOP it from asking except by rebooting the stinking computer. I need to be able to tell it that I will reboot when I’m darned well good and ready.

Bill tells me that he was in the middle of a presentation once, when the incessant bothering started. That’s even worse than someone IM’ing you in the middle of a presentation (at least you can turn IM off!).

Seriously, it’s putting me over the edge, and I may well grab that Ubuntu install CD before the night is over.

OpenLevel Java Seminar

This unique approach to Java training will be held January 22-26 in Ann Arbor, Michigan.

I was first exposed to an Open Spaces conference at Bruce Eckel’s Programming the New Web conference in Crested Butte, CO last March. I was a bit mystified at first. The idea was to go, pick the topics that we wanted to discuss, discuss them, and go home knowing more than when we had arrived. No planned agenda. The seminar description listed things that we MIGHT discuss, but the agenda was to be decided by the participants. The idea is that at traditional conferences, the really useful knowledge is what you learn on coffee breaks, or when just standing around, talking to other attendees, so this is a way to organize an entire conference on what you REALLY want to learn, rather than an agenda set forth ahead of time. I loved it. I learned a ton … way more than I had ever learned at traditional conferences.

I even attended a second conference in Crested Butte, with the same flavor: the Web Frameworks Jam. Bruce said that he really hadn’t intended it to be based on OpenSpaces, but that it was going to be a fairly free-formed workshop where groups would work together toward learning and developing with a web framework of their choice. It turned out great, and the group I worked in had a blast with TurboGears.

So when I asked Bruce to come out to Ann Arbor to do some Java training, it felt a bit odd to ask him to do “traditional” training. Both of us kept going back to how much we learned at the Web Frameworks Jam, and we brainstormed a bit on how to make it more customized to the individual learning styles and different skill sets that people arrive with at a training class. And thus, Bruce started to form the plans for an OpenLevel Java Seminar.

The idea is that people will work on exercises from his book, Thinking in Java, 4th Edition. With the OpenLevel concept, people will be able to choose the exercises that interest them most, in the areas where they need work, or want to focus. One really cool aspect of this is that people can move forward at their own speed, but Bruce will be there as a Java expert, to get them over any stumbling blocks that the group encounters. Another really cool aspect is that this is not limited to beginning Java programmers. Advanced Java programmers can come, and be confident that they will not be bored by repeating the things that they already know about the language. Instead, they can move right on to the more advanced topics that they haven’t had exposure to yet (or haven’t quite been able to figure out on their own).

I’m really excited about this seminar. Not only is this the first training that Bruce has done from his book, Thinking in Java 4th edition, but it’s also the first time that he’s organizing it as an OpenLevel seminar. It’s going to be an amazing learning experience, and I’m thrilled that it’s going to happen in our town.

OpenLevel Java Seminar: January 22-26, 2007

(Registration and more details at http://mindview.net/Seminars/ThinkingInJava)