Tag Archives: poznanjug

Summary of 2014

Yup, it is almost March and I am doing a summary of previous year. In general 2014 was great but the beginning of 2015 is a real blast so far ;-). Last year after reading “Make summaries not promises” I decided that this a way to go. So, here it goes, the most relevant events of 2014 (related to my professional life).

Changing a job

After 8 years in PSNC, I’ve changed employer. It was definitely a good decision, it was not an easy one but in general I am really glad that I’ve made it. At PSNC I had a chance to work with great people, on awesome things. I had visited several nice places including my beloved Balkans, Istambul, Lisbon and many, many others. Librarianship is not considered as something very exciting but librarians who I have met are very far from that (they are more like this ;-)).

Allegro is a completely different pair of shoes, I really like the atmosphere of this company. Sometimes I am feeling like a kid in candy shop, there are so many technological candies here, it is hard to decide which one to eat first ;-). Really great people, whole load of stuff to learn — good choice.


I am organizing all kinds of community events since 2007. When I am attending meetup/conference it is highly probable that I am helping to organize it in some way or another (sic!). I had a firm resolution to change that.

In 2014 I had an opportunity to speak at three great conferences: Devcrowd 2014, Atmosphere 2014 and last but not least Polyconf. Apart from that, thanks to my JUnit talk (who could expect that people would like to listen about good old JUnit) I’ve visited Poznań JUG and Trójmiasto JUG (thanks to courtesy of Jakub Marchwicki) — really nice experience.

Polyconf is something new. I was really impressed by the diversity of topics/languages and approaches which was touched during this conference. I am really looking forward to go there in 2015.

When it comes to regular conference attendence, I’ve never had a chance to participate in one more, totaly focused event. Most of the dev conferences are covering broad set of topics (depending on speakers who are available) related to all kinds of software development areas. In November I’ve participated in Lucene/Solr Revolution in Washington D.C. Conference entirely dedicated to SOLR/Lucene. I must say, that this kind of approach gives really nice results. To some extent it was an inspiration for Test Driven GeeCON, which took place in Jan 2015.

Technical reviewer

For the second time (after NetBeans 7 Cookbook) I had a chance to appear as a technical reviewer for one of the Packt Publishing books. I broke my relationship with Java EE after leaving PSNC but I was honoured when my former students and great colleagues Michał Matłoka and Michał Ćmil asked me to take a look at their very first book. “Java EE 7 Development with Wildfly” is a really nice compendium of knowledge about Java EE 7. If you are looking for a book which will show you testable face of enterprise flavour of Java this is the right choice. Once again congratulations for getting to an end with that guys!

What I didn’t like in 2014

I gave up on running, this was the least time consuming form of sports which I know. I’ve promised myself that I will come back to this. Thankfully I am stil an active biker ;-).


As I said in the beginning 2015 started with a series of very important things, our third child was born (Matylda), together with Łukasz Stachowiak (and others at GeeCON team!) we’ve managed to organize (in just two months) Test Driven GeeCON. Looking at these things it seems that 2015 might be even better than 2014.

As one of my resolutions, I’ve promised myself to resurrect this blog (and support of course allegrotech.io) with at least 6 posts. Apart from that I hope that 2015 will be the year of open source for me. I’ve never contributed to OSS and it’s time to change that.

Global Day of Coderetreat in Poznań

Recently, I had a chance to participate in organisation of Poznań’s part of Global Day of Code Retreat. Poznań JUG together with Poznań GTUG (which stands from Google Technology User Group) have organised 2nd Code Retreat in Poznań. Just to remind you, first one was held in January 2011 and resulted (apart from loads of great code) with this awesome movie (thanks to Zbigniew Wantuch).

But let’s get to the merit, our event was a part of Global Day of Code Retreat (GDCR). The idea is simple, on 3rd of December developers from all around the world joins their local Code Retreats to experiment and improve skills in the area of Test Driven Development, Pair programming and clean object design. Gathering 2000 developers and forcing them to deal with Conway’s Game of Life itself is awesome, but it seems that apart from that, Corey Haines (and others) managed to create a real, interesting community around the idea of Code Retreat – which is ultimately awesome ;-).

Thanks to courtesy of Poznań University of Technology we had a really nice venue for our Code Retreat. Initially I was hoping to get more than 40 but finally we had 35 registered participants, 20 of them managed to get to the event. What’s interesting, only three or four people were attending our first CR.

Most of people who came to CR were familiar with coding in Java, but there were also a few working in Javascript and Ruby. In an announcement I wrote that knowledge about programming in Java is obligatory (as a common denominator) but pairs can work in whatever language they want. It seems that this requirement is not necessary, because mixed-language pairs had a lot of fun.

As for knowledge about TDD and experience in pair programming, most of participants knew that these techniques exist but did not have a chance to practise them in the past. So, during the first two session (and retrospectives) our great facilitators Wojtek Buras (from PSI Polska), Jakub Milkiewicz (from Poznań JUG) and Paweł Stawicki (from Software Mill) had quite a lot to do.

We had 5 sessions:

  • session #1 – No constraints
  • session #2 – Develop a solution to the problem with the constraint that no computers are to be used in the first 10 minutes
  • session #3 – Develop a solution in which no primitives can be used – the solution must be built on classes;
  • session #4 – TDD as you meant it
  • session #5 – No touchpad/mouse, small methods (<5 lines)

During session everything went very smooth (at least IMHO). Apart from great coding session we had really cool retrospectives (people didn’t have any problems to speak about their problems and discuss).

When we will organise CR next time we will surely add one more session (maybe even two). I have also my personal wish list of constraints ;-):

  • while reading notes from hosts of other CR I saw that silent session (or Mute Evil Pair) was really funny one. In this exercise developers are not allowed to speak, they can only communicate through code.
  • Another interesting idea is legacy code session. After the previous session ends no one is allowed to delete code (!), instead of swapping pairs, people swap their workstations.
  • No loops/no conditionals because this sounds like a real challenge 😉

Considering that everyone is asking when we will have next CR it seems that we had really successful workshop ;-). Pictures from CR are available here.

Big thanks to Łukasz Stachowiak and Daniel Mendalka for their organisational effort – thanks guys!

Videos from Poznań NetBeans Platform Training 2010

It took me a while, but finally I managed to publish two videos from NetBeans Platform Training which was held in January 2010 in Poznań. If you are interested in NetBeans Platform Services Architecture take a look at these two great lectures delivered by Toni Epple:

  • NetBeans platform Service Architecture (1) – Lookups
  • NetBeans platform Service Architecture (2) – Registry

More details about this remarkable event can be found at Poznań JUG website.

Algorithms of the intelligent web – review

Thanks to MEAP and Poznań JUG I had a chance to read “Algorithms of the intelligent web” by Haralambos Marmanis and Dmitry Babenko. Content is organized into seven chapters, starting with general introduction which gives a broad overview of state-of-art in the field of modern web application. Second chapter offers a few bites of theory and finally practical example of building simple search engine. You can also find information about using classifiers, creation of recommendation systems and document clustering. Final chapter presents complete example of news portal which incorporate all introduced techniques in neat working solution.

Chapters from two to six have similar structure, starting with some theory necessary to understand presented concepts, then some clear examples presenting real word usage. Examples are extended with some additional more advanced features but everything is still perfectly understandable. Readers would learn how to adopt existing APIs (eg. digg.com), how to aggregate and transform content in order to create innovative mashups. After practical part, readers will find some notions about usage of presented solution in production. Authors describes common mistakes which leads to dead ends during implementation of modern intelligent web applications and this is definitely one of the biggest advantages of this book. What is also worth to mention, Marmanis and Babenko emphasize the role of quality of results and show general ways in which one can evaluate obtained outcome. At the end of each chapter readers can find TODOs, a section with tasks that maybe done in order to utilize presented solutions better.

All examples are delivered in BeansShell and Java. Nowadays, in the age of frameworks like Grails or Ruby on Rails the choice of BeanShell is quite unexpected. Examples in JRuby or Groovy could simplify adoption of presented solutions in real life web applications. But this is a minor thing, BeanShell is very similar to Java, so none Java developer should have problems with understanding examples. In MEAP-copy of book which I have evaluated there was also no information about how to run presented examples nor that knowledge about Java or BeanShell are required. I hope that would be improved in final release of book (from that what I’ve read in answer to my feedback those issues were addressed in final version). Authors presents quite a few open source libraries which can be easily use not only during creation of intelligent web applications but also in everyday work of Java developer.

What’s missing? I would love to read more about OpenSocial API which is only mentioned in first chapter of the book. Another thing that is missing are some references to so called Web 3.0, I’m constantly looking for a comprehensive overview of semantic web applications (eg. OpenCalais, Hakia). Creating a small semantic enabled application would definitely be a plus.

„Algorithms of the intelligent web” is definitely worth to recommend to all developers who want to gain knowledge about some useful Information retrieval and Machine learning techniques. Those techniques are presented in a very clear and understandable way. Book contains universal methods and algorithms, knowledge like this does not get old so fast (like for example web frameworks). I would definitely come back and read this book again.