Tuesday 17 June 2014

[Review] Zen and the Art of Motorcycle Maintenance by Robert M. Pirsig


This is not a book about motorcycle maintenance. This is not only a book about the zen. This is not only a novel. This is mostly a book about philosophy. But philosophy is served in nice form. 

This book took me to journey though a USA. I was feeling that I was an passenger of this journey. I was feeling that I was traveling with author that talks to me about philosophy. 

During this journey, the idea of quality and value was assembled and dissembled many times, like motorcycle parts. It was mostly presented in straightforward form and readable manner. It has a good points to think about it. But, some parts were misleading for me.


I read this book because I need a change from normal technical book. My score for that book is 4 of 5 points. 

Saturday 14 June 2014

[Event] Devoxx4Kids Polska

We did it. We did the first Devoxx4Kids Poland. For the last half year we worked very hard to prepare and organise this event. 

I would like to introduce co-organisers of this conference, Tomek Kucharski, Dariusz Kaczyński, Ewa Waliczek. Big thanks to them. I would like to thank Konrad Hoszowski and Eliza Kruczkowska for help. Also this event could not be possible without school and computer administrators from schools. Thank you! Big thanks have to go to Robomaniacs and Robocamp for preparing workshops. And of course this event could not be possible without our sponsors
We also receive help from 20 volunteers and two professional photographers. Thank you!

We did eight parallel tracks for kids from 6 to 14 years old. They were four age groups. Each group have different T-shirt colour.  There was a huge variety of topics. There were workshops related to hardware, software and mixed. We used Lego, Arduino and also games like minecraft. Visit devoxx4kids.pl for more informations.


Do you want to organise this kind of event in your city? Email me, I
would like to help you to start this kind of event in your city. Do you want to help in next year edition and join steering committee ? Email me.



[Event] A note from 33rd Degree

This year 33rd Degree conference is over. I'm glad I could help Grzesiek in the organization as a volunteer. It was a good experience and great opportunity to meet new people. 

For me the biggest advantage of this conference are talks. There were many rock star speakers with cutting edge topics. I would like especialy say thank you to Tomek Nurkiewicz. His talk was about Saiku. 
Tomek charisma, teaching skills, good preparation and selection of material is at the highest possible level. Thus that, after one hour I felt like an expert of Saiku and OLAP. 

Thank you and see you next year.

Sunday 18 May 2014

[Review] Sam Newman - Building Microservices

Two days after the ending of GeeCON, I’ve managed to read „Building Microservices” by Sam Newman Book. It is in Early Release stage, so half of the chapters were missing.

The first chapter about concept of microservices is very good. It determines the direction of thinking. It relates to SOA, OSGI, and many know to me aspects and problems. If you do not know what microservices are, read only this chappter. 

The rest completed chapters were good. I had a feeling that those chapters were written not only for architects, but for developers in the first place. There were funny sentences like „Big Scary CRM”. I was also enjoyed because there were many real life system described.


To summarize. I am looking forward for the finished book, to read it again. Also I would like to try to implements some solutions in microservices way :)

Friday 16 May 2014

[Event] GeeCon 2014

I’ve spent the last three days on GeeCon 2014. I must say I become demanding when I go to conference, so my opinion is becoming more critical.

Basically the conference was good. There was small problems with WiFi, venue wasn’t in the city center (imagine 1000 peoples ordering taxi or getting to the local bus), but generally it was ok. Most of the talks were good. There is one thing, that I am really happy about. I made a lot of new connections. This is the aspect that push me to the next edition of GeeCON :)

I really enjoyed the afterparty at ‚Stara Zajezdnia’. This place is a local brewery, so we drunk very good beer. Also we had opportunity to take a tour with experienced brewer, so I also learned new things about brewery. Thus GeeCoin game, I also meet new people ;p

There was not any feedback system, so this is my feedback. Lets make an talk about hobbies or very light topics which will take 30 minutes after the dinner. I would like to listen about how take care of you health when working all days with computer, how to make a beer, something about motorization or photography. I need a longer break after the diner with soft topic.

I’ve selected talks, that I think was good and which I would recommend for my friends (excluding keynotes):
- All Sam Newman talks about microservices. Just must watch or read a book.
- Josh Long talk about Spring, because live demo was exploding with energy.
- Tom Bujok with ’33 things you want to do better’, but only the first part. Second part was to obvious for java developer with some experience.
- Kevlin Henney with ‚Seven Ineffective Coding Habits of Many Java Programmers’ for great preparation of content.


Thats it. See you next year.

Sunday 27 April 2014

[Event] CraftConf 2014 in Budapest

There was a ticket to CraftConf to win on WJUG raffle. Maciek Górski win this ticket, but he couldn’t go, so he gave the ticket to me :) I was so happy to go to this conference. 

This was three days conference, one day of workshop, two days of university. The ticket I won was for university. At the moment there wasn’t any space left to register on workshop that I was interested in, so I wasn’t present at the workshop.

The day before the conference, there was five meetups:
  • Budapest Agile Meetup Group.
  • Budapest Database And Big Data Meetup.
  • Budapest DevOps Meetup.
  • PHP Meetup Budapest.
  • Frontend Meetup Budapest + UX Budapest.
The speakers on those meetups were conference speakers. They must have very good communication between those groups and conference organisers, to organise those events :)

My meet up was in ‘Prezi house of ideas’. Prezi is a company started in Budapest. They have great auditorium, for about 200 geeks, where you have place to eat pizza, drink bear all the time, beamer is ready to use and speakers just work. Lets look at the photo:


I feel confused when I entered venue. There wasn’t any tips (arrows) on how to reach the registration desk. Next was the conference room that haven’t been signed. So on web page and on badges, there was order: MainRoom, Room1, Room2. In the venue there was three floors, so many people made an assumption that floor 1 is a MainRoom, floor 2 was room1, floor 3 was room3. It was wrong assumption because MainRoom was floor 2. After first session, arrows appeared on the wall’s. For me, it was only one thing that was bad on this conference. 

Let investigate conference bag. 
I have found, three good gadgets in conference bag:
  • Headphones from e-pam. All conference session’s were transmitted online. If I wanted to switch the rooms, I used my computer and headphones to make a sneak peak preview of the other presentations and decide where to go. It was so great ! I did it only twice, because presentations was generally awesome. 
  • Phone cover from yahoo. It was raining all the time in Budapest, so this thing was great, because you could use your phone on the rain.
  • Sugru from Google. 
So how about main room? 5 big screens. One for slides, two for camera, two for twitter. Makes an impression. 

For questions to the speech we used sli.do. Whole event was led by one person, who did it great. I remember following sponsors talk Ericcson, Misys, Yahoo, T-Mobile, JetBrains, Epam and maybe more, but I fall asleep. One more fact. 20% of the speakers was woman. Great achievement.

I make about 500 lines of notes. I think I never noted more before. I probably never ever read them again, but this help me remembering things. 

I can distinguish three kinds of topics that was on conference. 
First are about motivation, passion, craftsmanship. Those kind of of lectures makes you to think about why you do.
Second group of talks were about architecture or similar things. Those kind of of lectures makes you to think about how you do. 
Third group of talks where about specified technique or technology. Those kind of of lectures makes you to think about, what you do.

Talks are becoming available at: http://www.ustream.tv/craft. If somebody ask me to pick three best lectures (except keynotes) I will point at:
Jackstones: the journey to mastery - Dan North (Dan North & Associates)
How I Learned to Stop Worrying and Love Flexible Scope - Gojko Adzic (Neuri Consulting LLP)
Functional Reactive Programming in Elm and JS - Evan Czaplicki (Prezi)

You may ask, why those three? First two are simply great in every word. The third is about passionate speaker. Im do not like front-end and things like that. But Evan, when he presented Elm language, there was a message “I believe in what I am doing” and it was great.

How about networking ? I met geeks from Finland, Germany and even from Australia. After parties helps with this a lot :) 

To summarize. Why to go to CraftConf 2015? Because this conference is a good therapy session. 

Sunday 13 April 2014

[JDK8] - New methods in Map.Entry comparingByKey and comparingByValue

JDK 8 is still new and how. I have explored some new methods in Map.Entry interface, to sort objects.

Image that we have following collection:
        Map map = new HashMap<>();
        map.put("Kawasaki", 3);
        map.put("Honda", 1);
        map.put("Norton", 5);
        map.put("Moto Guzzi", 2);

There are four new methods:

  • comparingByKey()
  • comparingByKey(Comparator<? super K> cmp)
  • comparingByValue()
  • comparingByValue(Comparator<? super K> cmp)
The method names are self-describing. If we pass different comparator, we can get different behaviour. 


If we want to sort by value with default behaviour (ascending), we can do something like this:
List<Map.Entry<String, Integer>> comparingByValue = map.entrySet().stream().sorted(Map.Entry.comparingByValue()).collect(Collectors.toList());

comparingByValue.forEach(System.out::println);

As a result, we get a list sorted by values:
Honda=1
Moto Guzzi=2
Kawasaki=3
Norton=5

If we want to sort by key with default behaviour (ascending), we can do something like this:
List<Map.Entry<String, Integer>> comparingByValue = map.entrySet().stream().sorted(Map.Entry.comparingByKey()).collect(Collectors.toList());

comparingByValue.forEach(System.out::println);

As a result, we get a list sorted by keys alphabetically:
Honda=1
Kawasaki=3
Moto Guzzi=2
Norton=5

If we want to sort by key length, we can pass function as a comparator,  Then we can achieve something like this:
List<Map.Entry<String, Integer>> comparingByValue = map.entrySet().stream().sorted(Map.Entry.comparingByKey((String s1, String s2) -> s1.length() - s2.length())).collect(Collectors.toList());

comparingByValue.forEach(System.out::println);

As a result, we get a list sorted by keys length:
Honda=1
Norton=5
Kawasaki=3
Moto Guzzi=2

[Review] Impact Mapping: Making a big impact with software products and projects - Gojko Adzic


Before I read this book, I was on Impact Mapping workshop by Krzysztof Jelski on Agile By Example. I knew the concept. I practiced it in my company in one internal project. I am going to use it in next project with client. 

But now. About the book. The book is very good. The knowledge in this book is very concise. Which was good for me, but may be problematic for person who does not know the topic, because important parts may be missed. Because the book has a lot of condensed knowledge, I'm going to read it again.

I found things not directly related to impact mapping. For example chapter about iterative and incremental software building process. I liked chapters, which were abstracts of other peoples thoughts, for example Tom Gilb about metrics. It is an advantage.

I like the idea that the concept of impact maps has been described without going into unnecessary detail. This book is some kind of guideline, blueprint. And this is good. 

And the most important chapter for me was "Typical mapping mistakes". It allowed me to find a place, where I do something bad (I was unaware of it). 

Apart from book. I asked myself, why we do impact maps? One of the main reasons is to create good channel of communication. To create a big picture view for technical and business people. Second reason is to decide, what should be built to achieve our goal, to reduce waste and over-engineered solutions. 

I strongly recommend this book and to try this technique. 

Sunday 16 March 2014

[Review] Functional Programming in Java. Harnessing the Power of Java 8 Lambda Expressions by Venkat Subramaniam.

My new year commitment was, that I read one book each month. I don’t predicted an unexpected events that may me slow down :( I do not give up. Next book review will be in 16’th of April.

About the book. I’ve read a beta 6 edition from 13 of January, but I think that final version is very similar to the this beta version. It is not the book about Java 8. It is a book about Lambda Expressions in JDK8. The title says that. In JDK8 there are for example changes in GC. I was missing at least one chapter or few pages about it. 

It was book easy to understand. I have Groovy and Scala experience, so there was nothing new to me. All the time I was mapping Java code to Scala code :). It was good for me. 

Next good thing is that it reads like a group of blog posts. We have some examples of imperative style, then we move to declarative or functional style. Size of chapters was appropriate for me to read before sleep. 

I didn’t like code examples (not in book, but downloadable code). Code examples was without tests and assertions. Just run and print output. I like BDD tests, and it will be great to read examples that are combined with BDD tests. 


I would recommend this book to a friend, because it is focused on good developer practices. 

Saturday 8 February 2014

[Review] Groovy Recipes by Scott Davi

Hi. My new year commitment is to read a book every month and write a review on this blog.
So the first book is Groovy Recipes by Scott Davis. This book was easy to read. I read it fast. Very fast. Mostly because I know more or less about Groovy. There was one maybe two things that was new to me. So I think this book w is not good for developers with some Groovy experience.

Besides that book was very well organized. In each chapter we could find answer to to the problem related to chapter title. 

This book need an update. It was written in 2008. A lot changed since then. For example maven building style. 

I will definitely recommend this book to my friends who would like to start using Groovy quickly. 


My rate is 4 of 5 starts.