Definition of Done

      0 min read     

It is not always clear what are the requirements for the task to be considered „done”. Each team member might have slightly different understanding of „done” which is build gradually with gaining experience in the team. This can sometimes cause miscommunication and misleading perception of functionality as being production ready. From the team member perspective (especially someone new in the team) it is hard to tell if all the work required for the task, has been completed.

There is a solution for this issue called „Definition of Done” which is well known Agile methodology tool.

Date and time in Java – java.util.Date and java.time.Instant

      0 min read     

I have lately discovered, I wasn’t fully aware how date and time works in Java. In my current project we are using date and time quite heavily, but until recently we were on Java 7 and we have used java.util.Date and Joda-Time library.

Recently things have changed when we’ve started a new project using Java 8 with brand new and shining Date and Time API (JSR 310). Because we are integrating our application with external system which API library was using old java.util.Date, we had to convert data between old java.util.Date and new date and time Java API.

Editable HTML element with AngularJS and HTML5 contentEditable attribute

      0 min read     

There is a new attribute in HTML5 „contentEditable”. It allows user to edit content of the website elements like „span” or „div”. It might be very useful when you need to make some element editable only in the specific circumstances.

In my TaskRoo project I am using „contentEditable” with AngularJS to make tasks names editable in-place with the double-click.


In this post I will describe how to implement and use AngularJS directive to make HTML element editable in-place. In case you are just looking for solution, you can find complete implementation on plunker:

Null sucks

      0 min read     

I know there are already many articles in this topic, but sometimes looking into the codebase, I feel it is still not emphasised enough. This post purpose is to explain why null reference is undesired in clean code. I would like this post to clearly answer why „null” should be avoided if you care about quality of your code.

Game of Life on Global Day of Coderetreat 2014

      1 min read     

Last Saturday I took part in the Global Day of Coderetreat 2014 (GDCR2014) in Aspect Capital, London. GDCR is an amazing event organised every year since last 6 years. This year it was organised in 44 countries, 141 cities with about 2500 developers participating. Long story short – on GDCR there is a simple programming problem to solve: Conway’s Game of Life. The aim is to learn as much as possible and not necessarily solve the problem.

Groovy coding conventions

      0 min read     

At work we are using Groovy language to write the Cucumber acceptance tests. Groovy turns out to be very nice language with flat learning curve for Java developer. There are many interesting features in the language, but I believe some of them have to be used with caution.

As we work more with Groovy and learn more of its features we found there are many ways of doing the same thing. It is useful, because it makes code more expressive, but it can also be an issue when there are multiple developers working on the same code base. This problem most probably exists in every programming language and it can be partially solved by agreeing on the coding conventions. Unfortunately there is no established code convention for Groovy yet as there are for other languages like Java.

In this post I list some features of the Groovy language and try to choose a convention to use. Of course this is not the only correct approach. This is more a try to orginise the conventions and keep it for future reference.

Owncloud – instalacja i aktualizacja

      2 min read     

Owncloud to aplikacja, która umożliwia utrzymywanie swoich plików, kontaktów i kalendarzy w prywatnej chmurze. Owncloud do działania potrzebuje tylko PHP i MySQL (lub SQLite). Większość osób najprawdopodobniej kojarzy Dropbox, który ma bardzo podobny sposób działania. Owncloud wyróżnia się tym, że możemy go zainstalować na własnym serwerze dzięki czemu nie musimy polegać na firmie, która będzie zarządzać naszymi danymi. Instalacja z konsoli, na serwerze, na którym jest zainstalowany Apache wraz PHP i MySQL jest banalnie prosta i opiera się na pobraniu odpowiednich plików z repozytorium GIT.

I'm Linux!

      1 min read           · ·

Linux Foundation startuje z kampanią reklamową, a właściwie konkursem, mającym promować systemy Linux. Kampania „I’m Linux” ma być odpowiedzią linuksowego świata na wcześniejsze akcje promocyjne „I’m Mac” oraz „I’m PC”. Linux Fundation zachęca wszystkich do nadsyłania filmików związanych z zaletami systemów Linux. W zamian, na twórcę najlepszego filmu czeka wylot i konferencja Linux Foundation Japan Symposium w grudniu 2009. Tutaj można umieszczać filmy, a także zdobyć więcej informacji na temat konkursu.