7 August 2018

Lesson learnt:003 - Auto optimise cause Manual fix

Lesson learnt is a series of blogs entries where I  write down a short description of the bug/mistake, the fix, and the lessons I learned.



I use IDE to automate boring parts like code format and cleanup imports.
Format code/optimise important works great for Java/ Spring Framework projects
While I was changing the code in projects that use Python, PHP, Symphony. I used to format code/optimise import feature during commit that removes imports that were required and


  • The project was unable to compile
  • One of  the pages didn't work

Undo commit
and commit without using automatically format code/optimise import feature.

Additional notes:
This project does not have UI tests since I discover a problem during manual testing on dev environment.

DO NOT USE Format code/optimise import in non-Java projects and double check what was published on git before request pair review

16 June 2018

Doms learn Chinese: Word Game v75.0 released!

Doms learn Chinese: Word Game

Download from: https://buff.ly/2zyCO5Z 
More info can be found here: https://dominiksymonowicz.com/2018/06/16/doms-learn-chinese-word-game-v75-released/ 
Study hard and have some fun .

23 April 2018

How to fix Error: Error:Module production: java.lang.Exception: (no MessageCollector configured) when you use Kotlin 1.2.40 ?

Solution/Workaround for:
IntelliJ IDEA 2108.1
Kotlin 1.2.40 ONLY

You try to run the program but you see this error:
Error:Module  production: java.lang.Exception: LOGGING: Loading modules: [java.se, javafx.base, javafx.controls, javafx.fxml, javafx.graphics, javafx.media, javafx.swing, javafx.web, jdk.accessibility, jdk.attach, jdk.compiler, jdk.dynalink, jdk.httpserver, jdk.incubator.httpclient, jdk.jartool, jdk.javadoc, jdk.jconsole, jdk.jdi, jdk.jfr, jdk.jshell, jdk.jsobject, jdk.management, jdk.management.cmm, jdk.management.jfr, jdk.management.resource, jdk.net, jdk.packager, jdk.packager.services, jdk.scripting.nashorn, jdk.sctp, jdk.security.auth, jdk.security.jgss, jdk.unsupported, jdk.xml.dom, oracle.desktop, oracle.net, java.base, java.compiler, java.datatransfer, java.desktop, java.xml, java.instrument, java.logging, java.management, java.management.rmi, java.rmi, java.naming, java.prefs, java.scripting, java.security.jgss, java.security.sasl, java.sql, java.sql.rowset, java.xml.crypto, jdk.internal.jvmstat, jdk.management.agent, jdk.jdwp.agent, jdk.internal.ed, jdk.internal.le, jdk.internal.opt, jdk.jlink] (no MessageCollector configured)
Solution is :
Rollback to the previous version and wait until Kotlin fixes the bug.

If you don't want to do that then:


  • 1.  Delete production folder in out folder
  • 2.  Run application
    • Bad news. You will need to do this every single time when you do changes to your program and you will try run again :(

15 March 2018

How to set groovysdk on mac in IntelliJ IDEA

The solution works for:
Groovy 2.4.12
IntelliJ IDEA 2017.2.6
macOS 10.12.6
Homebrew 1.5.10
It should work with other versions too.

    I tried to Config groovy SDK to use in IntelliJ IDEA ... but you need specific path which is .. something like that: /usr/local/Cellar/groovy/x.y.z/ libexec but I couldn't see usr folder. 
As it turns out you need to use a magical shortcut to enable a view of hidden files/folder in Finder on Mac.

  1. Go to Project Structure
  2. Go to Global Libraries
  3. Press +
  4. Select Java 
  5. In Finder, press  ⌘⇧. ( Command key, SHIFT key  dot key a the same time ) to enable 'view hidden files' mode
  6. Go to top level (MachintoshHD)
  7. go to /usr/local/Cellar/groovy/x.y.z/libexec and press open if you don't see usr folder... perform step 5 (and ensure you have all privileges required) 
  8. Press create
  9. Done :)

8 December 2017

What is the difference between a graduate, a junior, a senior and What is the difference between a developer, engineer, a team leader and an architect in software development?

If you want to know my answer on questions like What is the difference between a graduate, a junior, a senior and What is the difference between a developer, engineer, a team leader and an architect in software development? Then check my post on my personal blog (As this is not strictly IT subject).
 You can find my view here:


30 November 2017

How to clear cache partion on Nexus 9


Is your Nexus 9 get bit too slow over time?
Probably your problem is with fact that you ran too much on the tablet because  HTC screwed up badly as they decided to sadly have a crap idea to put on 2 GB RAM in this otherwise amazing tablet. There is nothing that you can do about it.
However sometimes Android get very slow due mess with the cache. In this case, there is a solution.
Did you search on the internet and found a few solutions to this problem? Well.. many of them are correct as it depends on the version of Android and bootloader.

This one will work on Nexus 9 with Android 7.1.1 and quite a decent version of bootloader.


  1. Charge battery to 40% (or to ensure that it will have enough battery for 30 minutes).
  2. Power off the tablet.
  3. Press and HOLD power button and volume down button for around 10 seconds.
  4. When the menu appears. Select Recovery (It is usually 2 or 3 position).
  5. When you will see lying down android with a red triangle (with the message "no command"), press and HOLD power button and press volume up button twice slowly.
  6. Then select wipe cache partition.
  7. Press Yes.
  8. Wait up to ...30 minutes (In my case it took 10 and 25 minutes, but it varies depends on the amount of crap on this partition.
  9. DONE.

14 November 2017

13 November 2017

How to find Gradle home path inc on Mac if you install it using homebrew ?

It works on:
  • MacOS Siera 10.12.6
  • IntelliJ IDEA 2017.2.5
  • Gradle 4.3
    It turns out in my new work I will enjoy my development on macOS that is loved by hipster developers. As expected I needed to adjust mindset to macOS universe as I used to develop on Windows.

After you installed Gradle using homebrew,
Go to project in IntelliJ IDEA:
In Gradle SDK you simply type:
and it works... sort of.

Obviously replace 4.3  with version you are using.

28 September 2017

Coolpointer.019 Unit test naming convensions

      7 Popular Unit Test Naming Conventions by Ajitesh Kumar shows few naming conversions for unit test. I used different conversion.  I follow Phil Webb's approach which is methodNameShouldExpectedBehavior. I tried few ways that I learnt on web and at work but this method works best for me as it helps me identify precisely what I am testing, where and what result I expect, so when test fails it helps me look to root of problem quicker.

methodName is my "when" which explain me what I am testing
ExpectedBehavior is my "then"
and optionally I added given which is my "Given?"

for example:

7 Popular Unit Test Naming Conventions by Ajitesh Kumar  

21 September 2017

The best of 'cutting-edge' messages from 'recruiters' to me.

This blog entry will be updated every time when I will get another gem from the recruiter.

    In my personal opinion, the worst thing about looking for jobs are recruiters.
However thanks to their "marketing creativity" I often get entertained with a unique selection of gems in form of poetic sentences. I decided to share it with the universe.


 "Hi Domonic" .
My name is Dominik. I understand that auto-correct will change my name to Dominic ,but ...Domonic is quite ... 'creative' .If recruiter do not pay attention to basics like first name, so chance to find job is slim ?   

"you'll work *** on cutting edge web technologies in *** and bleeding-edge Agile practices at ***".
I wonder what 'bleeding-edge Agile practices ' means.


"Our Tier-1 Client is hiring for Java Developer”

 fill your below required information’s for this role to share with our Client to proceed further.
Total years of experience:

Relevant years of Experience as per JD:

Current Daily Rate/Salary in GBP:  

Expected Salary in GBP:

Job - Notice Period:

Best time to reach you in working days:

Current Location (City or Area, Country):

Nationality / Work Authorization:

Best number to reach you:

"To decompose technical tasks and provide accurate estimates".