Groovy Closures and local variables
As you may know, in Java 8 lambda can access outer variables. These variables have to be 'effectively final', and you can't reassign them from lambda. Groovy seems free from that limitation and here I'll show how it's achieved.
Git revisions explained
Git has a somewhat complex set of concepts to refer a particular point in history. We have commits, branches, tags, remotes. More than enough to get confused! I'll try to clarify this by sorting out all this concepts in holistic system, connecting them together, from simple to complex.
Custom inspections in IntelliJ IDEA
Configuring custom inspections in IntelliJ IDEA with Structural Search and Replacement inspection
Surround selection in IntelliJ IDEA
This tiny post is all about one little feature of IDEA: surrounding selection with quotes or braces.
Language injections in IntelliJ IDEA
I'll show how to simplify modification of code fragments, that are kept in files of different type. Things like Groovy or CSS code in XML file, Java class reference in tag, or SQL in string are not a reason to deny yourself of autocompletion and smart highlighting.
Git tips: Pattern-based Checkout and Search for Branch
Checkout a branch using just a part of it's name. Ideal if you have branch naming convention with unique part in it (e.g. JIRA number). Or select a branch same way for other operation.
Git tips: To The Hotfix and Back
Git trick, that allows switching tasks without loosing context and messing with stash.