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.

  • groovy

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.

  • git

Custom inspections in IntelliJ IDEA

Configuring custom inspections in IntelliJ IDEA with Structural Search and Replacement inspection

  • intellij
  • tips

Surround selection in IntelliJ IDEA

This tiny post is all about one little feature of IDEA: surrounding selection with quotes or braces.

  • intellij
  • tips
  • micropost

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.

  • intellij
  • language-injection
  • tips

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
  • checkout
  • bash
  • get-branch-name
  • tips

Git tips: To The Hotfix and Back

Git trick, that allows switching tasks without loosing context and messing with stash.

  • git
  • tips