29 June 2011

What a couple of months! I've been running around like crazy. I attended Geecon, the Spring S2G Forums, and then the JAX San Jose conference, all in fairly short order. I'll try to put up roundups of my trips a bit more consistantly, starting with Geecon. I've been to many European conferences, but this one is now among my favorites. The conference has the unique combination of excellent speakers at a low price, like the SpringSource S2GX Forums or SpringOne.

Poland was the real surprise. This was my first time here and it far exceeded my many expectations. The Polish Zlati is cheap against the English Pound, European Euro and - yes - even the American dollar (2.6, in May). It's easy to be taken (in any country) as a tourist, but I found myself dropping my guard after five days. Nobody'd really tried anything, and most everything met with my expectations.

 Assert.assertTrue( taxi.getPrice() <= expectedAmount,
    "the cab faire should never exceed " + expectedAmount+"!" ) );

At one point, I was taken for a ride (literally!): a taxi charged me 50 Polish Zl for a ride from the central square to my hotel which was otherwise consistently 19-24 Zl (even in traffic). By comparison, a train ride from Krakow to Lodz is 54 Zl, and the trip is several hundred kilometers. That said, 50 Zl is roughly 19 USD at the moment, which is not enough to feed two adults and a child at McDonald's (the lowest of the low) in the states. So, it's all relative. The takeaway is that even being ripped off didn't feel so bad in Poland.

I did a university talk on the first day (the university talks are three hours each), and I did a second, single-hour talk, on the first day of the conference proper. The university talk was interesting because fully 70% of it was live coding or walk throughs or demos of some sort and I had dual screens, so I ended up coding using a 50' theatre-screen! I still have some small neck pain! :-) Next time, I'll simply mirror my screens. Ow.

The audience was great, I never know what to expect of audiences. Some times they ask questions, some times they don't. These audiences did a fine job of asking questions all throughout the talks and outside, during the conference! Wonderful. This makes these trips worthwhile. The in-the-conference-hall discussions are invaluable, and redeeming.

After the first two days, I decided to have a look around. The conference promoters were kind enough to help arrange a tour of the salt mines for Heinz Kabuts, Heinz' son Maxi, and myself. Heinz is a personal hero of mine. I suspect most Java developers have read his pearls of wisdom as dispensed in his newsletter at some point or another. I found him through Bruce Eckel, whose book - Thinking in Java - helped me learn Java 13+ years ago. (I liked the book so very much that I sent Bruce a brief letter, the majority of which has appeared in the reader comments section of the book since 2003!) So, to finally get a chance to hang out with Heinz was great - he's even cooler than I imagined! His son Max is quite the character, and of course is already programming!

In the photo, Juergen Holler, myself, Eugene Ciurana, (name unknown, sorry!), and Cyril
As usual, hanging out with Juergen Hoeller was a unique and wonderful experience. I joined SpringSource to get a chance to work with him and others like him, and I'm always grateful for his time. The truth is, he gives of his time to anybody. No question too small, no topic to inane, and no JIRA too trivial. Juergen is easily one of the most indulging, humble people you'll ever meet. Brilliant. If you get a chance to attend a conference where he's speaking, do so. You'll invariably learn something! I always learn something.

On the final day - Saturday - Heinz (and son Max), Emmanuel Bernard and I took a tour of the Za Kapane mountains - and the region surrounding it. What an amazing tour! We also took an impromptu boat trip, and floated downstream on a river bordering Slovachia on a wooden raft / boat for a few hours. I'm a throughly crispy critter at this point -- I burnt in the sun and am now watching my skin turn into flakes. This was very good fun and the conversation even greater. We then toured the regions specifically, stopping in markets, at castles, and at other geological oddities like a mountain that resembled a sleeping man. As the tour guide - Carolyna - predicted, I was asleep in my seat as we returned home.

Emmanuel (a French speaker) and Heinz ( a German speaker) both speak impeccable English, and it always depresses me that I've let my language skills fall so far behind while they do so well in so many other languages!

Several people asked me about the code to my university talk, which was a walking tour through all of Springdom. It introduced core Spring and the advanced component model underneath, AOP, and the proxy facilities, it introduced Spring's support for data processing and backend architecture (including JDBC, JPA, Hibernate, various NoSQL options, batch processing, event driven architectures, messaging, integration, and services), Spring's support for web applications including rich clients and web clients (including Spring @MVC - both standard HTML and REST, Spring Flex, Spring Mobile and Spring Android) and it introduced the world of Spring in the cloud. The code is here and I'll put the slides up as soon as possible and tweet it from my Twitter handle @starbuxman.

After the Geecon conference, I took a trip to Lodz (pronounced, I learned, as "wooj"), in Poland, to visit a friend of mine (who I know by way of my mother's online bridge tournaments). I spent a few wonderful days there surrounded by truly wonderful people. I can't possibly hope to relay all the great experiences I had there, but I will share one. I was asked to talk to a young man of 13 years - my host's nephew - to encourage him in his computer studies. I reluctantly obliged and sat with him. The conversation was moving pretty well, he explained that he was trying to learn Java, and that he loved the new Android mobile phones. I asked him how he was proceeding in his Java studies, and he trotted out Thinking in Java, in Polish! I asked him which phone he most fancied (that, he later explained, he was saving up to purchase) and he responded that he liked the Google Nexus S (which I both have and love!). I materialized the iPad I had in my backpack and he was uninterested, fascinated more with the Nexus S. I asked him to bring out his laptop so I could help him get setup to program in Java. He rebooted and - this is the part that kills me - he already had Ubuntu installed, but was still taking his first steps and hadn't quite figured out how to get on the internet. Amazing! What a kid! I think - and you can never tell him this - that I emerged from that discussion more inspired than he was. What a wonderful experience.

I was a curious kid, growing up, and I owe any success I've had to this curiosity. I was programming very early in my life, and this was fortunate, because it's empowered me. I've heard it said that there will be two types of people -those who consume computers, and those who control computers. I'm privileged, I think, to be among those who can control computers. I'm excited by this kid's potential - indeed, by all of our potential.

After Poland, I was then off to the Spring S2GX Forums in Amsterdam and London. I'll cover that trip, however, in another post.