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.