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".

14 September 2017

Coolpointer.018 : Junior developer accidentally destroyed production.

    This is a wonderful story about a young fellow who accidentally destroyed production database on his first day in the new old job. To make this more interesting, one of the people who responded to this story was a guy who is titled as "Database (removal) Specialist" as he is a guy who accidentally nuked GitLab.com's database earlier this year. It is worth reading it.
In my opinion, this guy should be rewarded for finding unacceptable fucked up in the company. CTO should be fired. Gitlab shows how to handle accidents like this.

Accidentally destroyed production database on the first day of a job, and was told to leave, on top of this I was told by the CTO that they need to get legal involved, how screwed, am I? by  cscareerthrowaway567

24 August 2017

Coolpointer.017 : Equality in JavaScript

    If you have a privilege to coding in JavaScript then you may discover in painful way that equality is treat by JavaScript in very spontaneously way. If you need get your head around it, Dorey created a simple page that should help innocent programmer to understand when equal is strictly equal and when is very loosely equal.

Equality in JavaScript by Dorey

10 August 2017

Coolpointer.016 : pass by value

    Java is Pass-by-Value, Dammit! by Scott Stanchfieldis is an article that busts a myth that
"primitives are passed by value, objects are passed by reference".
"Java is strictly pass-by-value, exactly as in C. Read the Java Language Specification (JLS). It's spelled out, and it's correct. In http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.4.1:
When the method or constructor is invoked (�15.12), the values of the actual argument expressions initialize newly created parameter variables, each of the declared Type, before execution of the body of the method or constructor. The Identifier that appears in the DeclaratorId may be used as a simple name in the body of the method or constructor to refer to the formal parameter."
The truth is that  Primitives and Object references are passed by value. Check  his article to read about why is like that. It is an interesting read. 

On side note. I believe that we as IT professionals we should really define clean glossary and give them a  As it turns out there is a lot of mess due "semantic" around that.

Equality in JavaScript by Scott Stanchfieldis