Hello. I am a passionate Groovy and Java developer based in Tilburg, The Netherlands. My goal is to write software, like Pixar makes movies, BMW makes cars, Bang & Olufsen makes audio and TV systems and Apple makes computers and devices: clean, elegant, user-centered and high quality.
My name is Hubert A. Klein Ikkink. Not a very common name, right? To make things easier I just picked the first letters of my firstname and surname and came up with haki. So there you have it, now I am known as Mr. Haki or mrhaki for short. The following Groovy code shows this:
assert ['Hubert', 'Alexander', 'Klein', 'Ikkink'] .inject('mr') { nickname, name -> nickname + name[0].toLowerCase() } == 'mrhaki'
Or in Clojure code:
(assert (= "mrhaki" (reduce (fn [nickname name] (str nickname (clojure.string/lower-case (first name)))) "mr" ["Hubert" "Alexander" "Klein" "Ikkink"])))
Or in Kotlin code:
assert( listOf("Hubert", "Alexander", "Klein", "Ikkink") .fold("mr") { nickname, name -> nickname + name[0].toLowerCase() } == "mrhaki" )
And finally the Java code:
assert List.of("Hubert", "Alexander", "Klein", "Ikkink") .stream() .reduce("mr", (nickname, name) -> nickname + Character.toLowerCase(name.charAt(0))) .equals("mrhaki")
In 2009 I started writing blog posts about Groovy with the name Groovy Goodness. These posts contain small snippets of code explaining core and exotic features of the Groovy language. During the years I wrote about subjects like Grails, Micronaut, Gradle, Spock, Clojure and Asciidoctor.