I was really surprised not seeing long queues for the registration, so not wasting a lot of time, equipped with good-looking conference T-shirt, we went to see the first presentation. Tomasz Bujok with his From zero to jBPM hero! lecture did a great job introducing jBPM framework. I have seen quite a few presentations about this engine already, thankfully Tomasz made one step further in the topic and have shown some anti-patterns and other tips for jBPM developers. This was really interesting as anyone, after reading a book or two, can have a "How-to" talk. But having "How-not-to" talk requires knowledge and experience in the technology far beyond the typical tutorial-driven "experts". I would really like to work with jBPM for a while, but I’m also full of concerns about the future of this framework.
I have seen Wojciech Seliga last year on Java Developers’ Day, where he’s been talking about Crucible, code review tool his company is developing for Atlassian. This time he shared with us some of his experience in working using agile methodologies. I must admit I was pretty amazed how well they adapted Scrum, especially in the field of their relationships with customers. Some people didn’t believe them when they promised to deliver first running software version after a week (one sprint). But they did and this is how they achieve customer trust. Probably one of the most successful companies implementing agile, proving it can really work and bring money. Lots of respect to you guys!
Piotr Jagielski had a whole speech about test code refactoring (and actually – test code quality at all). The most important idea from his lecture: if some setup/data is not important for the test, it is important to not include it in this test. For instance, suppose you are testing that creating Person object with birth date in the future should throw IllegalArgumentException. Unfortunately, the only available constructor requires, besides birthDate, also firstName and lastName. Supplying fake names would do the trick, but the test method is now cluttered with irrelevant setup code. Moreover, the reader of this test code might not be so sure about fake names irrelevancy. Some flavor of Builder pattern, introduced by Piotr, is the good solution for this problem. Or one can simply use Groovy with its ability to pass arbitrary property -> value map to the constructor call. I suggested Piotr he could benefit from using Groovy, but seems like he’s not using it for testing purposes.
After the lunch my time has come. Project Voldemort - when relation database is not enough (too much?) lecture taken place in Boolean room (BTW: great idea of naming conference rooms after Java data types according to their size!), here is the English translation of the presentation:
...and one of the photos taken during my presentation, thanks to Javarsovia 2010 gallery:
All about me. For those who have seen me, hope you didn’t regret it! Personally I would choose Sławomir Sobótka talk about design patterns, so thank you for choosing me instead :-).
Many times I was a bit jealous of American speakers, but after seeing Paweł Lipiński (and Dawid Weiss few month earlier) I find some Polish speakers being at least as charismatic and entertaining as those coming from the other side of the Ocean. Paweł came out with a toothbrush in his mouth, wearing a dressing-gown. Instantly everybody knew that he’s going to talk about clean... not code, but tests - although wonderful Uncle Bob’s book has been mentioned many times.
The truth is, I keep hearing the same things about TDD over and over. Same techniques, same principles, same dos and donts. But still some people live in their caves and don’t realize how could they benefit by using TDD (and even unit testing at all!) Some time ago a friend of mine, after developing in Wicket for a few months (and hundreds of my persuasions), finally tried out WicketTester class. "It’s great", he said, "how could I live without it?" If only I had such a charisma and experience like Paweł, maybe he would have tried earlier. Why can’t people wake up and keep manually testing their code, redeploying and restarting EARs over and over? If Paweł’s talk didn’t opened their eyes, they should at least be ashamed. It was not a developer or project manager lecture. He looked more like a rock-star, shouting with anger, desperately trying to convince the audience. Next time I will attend Paweł Lipiński’s talk, even if it will be on National Crocheting Congress. Great job, wonderful speech.
I really couldn’t wait to see Jarosław Pałka cross-sectional talk on NoSQL. Unfortunately, being short on time, he only managed to show Neo4j database and skipped promised CouchDB and BerkeleyDB. Although Neo4j is the most interesting NoSQL software from these three, it’s a shame there was no time for other players. The speaker had some technical issues while running the examples and focused too much on irrelevant details. Too bad, because the beginning of the lecture was very promising. I would really like to hear the lecture again, but it seemed to lack one or two days of preparation.
I must say Javarsovia 2010 was a really successful conference, that could easily compete with GeeCON or JDD. More than 600 attendees, 4 independent tracks and very good organization. Oh, did I mention the conference was completely free, including after party in pub? See you next year, good job! Tags: conferences, nosql