I spent last Tuesday (May 15) in Berlin being a tourist and getting over jet lag a bit; it's quite an amazing city filled with parks and open spaces -- no wonder people are attracted to it.
On Wednesday I took a train to Poznan (pronounced "poshnan"), where the Geecon conference took place (see www.geecon.org). That afternoon I gave the Scala tutorial for the first time and it turns out all the work I did to make the slides resizeable came in handy because plugging into the projector immediately made the fonts too big, but because of my new system I could quickly adjust them. Although the feedback on the tutorial was good, I had a few shocked moments when I realized that the examples, even though they worked, were "incorrect" in the way they presented some ideas or they didn't conform properly to our self-imposed standards. This reminded me of my experiences developing "Thinking in C++" and "Thinking in Java" where I presented the material in numerous seminars and had many experiences realizing that examples were in the wrong place or didn't present the right ideas or could be made simpler, and fixed them. As a result I emailed my coauthor and suggested we hold some seminars, in order to test the material again and to force ourselves to do a detailed code review while presenting the examples.
Thursday I gave the opening keynote for the conference, a presentation I've given several times before ("The Power of Hybridization") and which I know tends to expand (actually, all my presentations tend to expand as I give them more; I suspect I both get more comfortable with them and unconsciously come up with more to say). Despite my attempts to force myself quickly through the introductory material, I failed even worse this time to get to the interesting examples and realized that I simply need to drastically trim the introductory material to a couple of slides so I will automatically get to the interesting examples. Fortunately the full version of the talk was recorded and put on the internet last fall by CERN when I gave it there.
In the afternoon, I gave my "Reinventing Business" talk, after which several people suggested that it should have been the opening keynote. Even though I feel quite engaged with the programming topics and that they are new and interesting things, I suspect that I just come across as a lot more passionate about Reinventing Business and that comes through -- that and the fact that, at its core, the talk addresses the happiness of people at work and holds out the promise that they can be happy, creative and productive at work, and this gets people excited by the possibility of a much better life.
Although I had no talks to give on Friday I ended up going to the conference for much of the day anyway. I began wondering why I seemed to have developed a much lower tolerance threshold for presentations, and eventually suspected two possibilities: (1) Listening to podcasts allows me access to lectures that have already been filtered to a large degree, and then I filter them further by pre-selecting what I'm interested in. If a talk is less-than-stellar I can just push the "next" button, (2) Once again I've been spoiled by open spaces conferences which would not let some of these talks get very far before challenging the ideas with conversation (which would get us a lot further than listening to a canned lecture drift off into the intellectual weeds). For example, one rather well-known individual asserted that he and his new society for something-or-other were going to discover "Maxwell's Equations for Software Development" which exhibits an astounding misunderstanding of both physics and software development or is perhaps just an exceptionally poor choice of metaphor (he can't actually mean that, right?). An open-spaces discussion would have challenged this idea immediately and possibly borne useful fruit, but instead he threw doubt on everything that came after that declaration. Another example: after seeing talks on Scala and Jetbrain's Kotlin language, I saw an introduction to the Ceylon language. Scala and Kotlin have both made an effort to justify your shift in language by doing new and interesting things, and both have put in the work to remove extra noise like semicolons and to include type inference -- things that require work for the language designer but remove work for the programmer. Ceylon left in semicolons, and their idea of type inference was declaring the type only once on the left of the equals rather than on both sides as in Java. I found the presentation to be insulting because of the assumption we would bother to change languages in the face of so little effort and again, would have found a discussion among the presenters about the relative merits of their languages to have been much more useful (and perhaps the Ceylon people would have gone off with a determination to try harder).
On Saturday we held an open-spaces conference for a much smaller group of people who had attended Geecon. This was a separate event and had been added on somewhat later so the group size was maybe 40 at the most, which was just fine for a first experiment and for the venue that had been provided. I had been warned that Polish people might be a little reluctant to participate, but this turned out to be the standard first-time jitters about open spaces; indeed, once I had made my usual introduction the board was filled (overfilled, really -- we had to combine some topics to make more room) almost instantly. This was the quickest I've ever seen complete open-spaces novices fill up a board. As always, the discussions went very well, everyone seemed very happy with the event and I ended up learning more in the 3/4 of a day than I had at two days of the conference. The Geecon organizers plan to make it a regular event after seeing it work so well. Also, several of the attendees stated that they were planning to create their own events, which is always something I love to see. It seems that open spaces is such a different way of thinking that you really do need to see it in action first, but after that it becomes obvious that you can do it yourself.
Although I continually find that open spaces are a far better experience than eyes-forward conferences, I must also note that my experience of user-organized conferences is far better than commercial conferences and I think the reason is important: the alignment of user-organized/community conferences is directly and only to the satisfaction of the attendee, whereas if you have any kind of for-profit involvement it starts to split the goals (essentially, you introduce multiple customer bases) and this muddies the decision-making process. User-organized conferences only have to ask "does this make the attendees happy?" whereas conferences that are controlled by for-profit organizations have to first ask "does this make the sponsor(s) happy?" I think the future of conferences (which has been enabled by the internet) is in the user-organized ones like Codemash, Devoxx, Geecon, Pycon, etc. Witness what has happened to the now-defunct Software Development Conference (which I helped organize for many years) and the formerly-huge Java One (which I never liked anyway) under the auspices of Oracle: even the Java Posse no longer wants to go.
Sunday we filled the car with part of the Geecon team and drove to Krakow ("krakov"), stopping in
Wroclaw ("roshlav") which no one in the car had seen, so we had lunch and walked around the square. I found it somewhat different and charming in its own way and all-in-all quite pleasant. The total drive to Krakow was significant, maybe five or six hours in all, but the part between Wroclaw and Krakow was on a new freeway. There's a lot of building activity happening in this country and they seem determined to improve everything. Also, everyone seems compelled to try to speak English and so it's one of the easier countries to get around in (so far, all the restaurants I've been in have had English menus or subtitles).
Yesterday I met with Ela who cofounded Applicake and from that has spun off Future Simple. She appears to have boundless energy and enthusiasm and based on her accomplishments and ambitions, apparently no need for sleep. Applicake is a bootstrapped web design firm that uses Rails with a heavy emphasis on graphic design (see their web site to get a feel for it). My impression is that she looks for opportunities where she can get the greatest combined leverage. Both companies are next to each other in an older building of converted flats, which gives (at least, to my Western eye) much more character to the business, but they add to this a lot of things you might see in the bay area like a "chill room" with beanbag chairs and hammocks that was getting quite a bit of use, along with shared spaces that generally got a lot of multiple uses. Something I've seen in many of these places: privacy is achieved by the use of headphones rather than larger spaces and walls, and I suspect that there are some subtle differences in the experience as a result, because you are always in the presence of several others whether you are consciously paying attention to them or not. The entire experience of Applicake/Future Simple left me inspired and energized, and although my experiences of seeing startups is limited so far, the feel of the place was one of the best I've seen (Ela said that she intentionally tries to bring a feminine perspective to the companies and this may have been what I was experiencing). In general, Poles seem to assume that the startup environment here could not hope to come close to that in the US, but it seems to me that they may actually have something far better, without knowing it.
In the evening at about 6pm I gave the (updated after the conference) Reinventing Business presentation for the Hive user group in the basement of a bar in a space that was clearly designed for bands and dancing. We estimated somewhat over 100 people attending. Without a time limit I was able to stretch out and talk about everything in detail and it seems like it went at least 1.5 hours; I can't tell because afterwards the host did a kind of interview with me where he asked questions, then the audience asked questions and finally it became groups of people talking, and this went on until nearly 10pm, after which a handful of us went out and found dinner. For me it was nonstop presenting and discussing until nearly midnight, and yet I didn't find my interest flagging as it would have with computer programming topics (which still interest me, but clearly not nearly as much as this does). Again, there seemed to be a lot of interest and energy around Reinventing Business. During the "interview" section, the interviewer asked the audience how many loved their jobs, and it looked somewhere around 20%, 25% at the most. I need to start asking that question during presentations.
I've had another realization about open spaces. In the early days when I was writing books and giving various speeches and seminars, the one-way nature of the eyes-forward relationship made it possible to go along with the idea that I was the expert. People believed this and it was the standard connection, but it always made me feel uncomfortable although I never knew what to do with it. However, after numerous experiences with open spaces I've had direct evidence that everyone has something valuable to offer and that has made it much easier and more comfortable to get over the awkward "expert" relationship and move more quickly into a real discussion. For me, this is a great relief and I end up getting far more value out of the conversations. Had I been somehow more evolved I could have reached this place on my own, but open spaces enabled the transition for me.