Laziness

In conservative circles, laziness has a slightly negative connotation, but in IT it should be seen positive, if we understand it right. If we as humans get our job done in a more efficient way, by working less, this laziness is a good thing. So let’s be lazy by becoming more efficient. For now, just …

Share Button

Clojure

Functional programming languages have become a bit of a hype. But the ideas are not really so new. The first languages beyond Assembly language that have maintained some relevance up to today were FORTRAN, COBOL and Lisp. Indirectly also Algol, because it inspired pretty much any modern mainstream programming language in some way through some …

Share Button

Slick

Almost every serious programming language has to deal with database access, if not out of love, then at least out of practical necessity. The theoretical background of a functional programming language is somewhat hostile to this, because pure functional langauges tend to dislike state and a database has the exact purpose to preserve state for …

Share Button

How to create ISO Date String

It is a more and more common task that we need to have a date or maybe date with time as String. There are two reasonable ways to do this: * We may want the date formatted in the users Locale, whatever that is. * We want to use a generic date format, that is …

Share Button

Scala Exchange 2015

It was possible to arrange a visit of Scala Exchange 2015 in London, short #ScalaX. I visited the following events: day 1: Keynote: Scaling Intelligence: moving ideas forward by Jessica Kerr Functional Patterns for FP beginners by Clément Delafargue Introduction to Apache Spark by Deenar Toraskar Keynote: Without Resilience, Nothing Else Matters by Jonas Bonér …

Share Button

What do +, – and * with Integer do?

When using integers in C, Java or Scala, we often use what is called int. It is presented to us as the default. And it is extremely fast. Ruby uses by default arbitrary length integers. But what do +, – and * mean? We can rebuild them, in Ruby, kind of artificially restrict the integers …

Share Button

Devoxx 2015

This year I have had the pleasure to visit the Devoxx-Conference in Antwerp in Belgium. I have visited the following talks: Day 1: Opening Keynote Session about Java 9 modules Keynote Session about the beginning of the Universe Asynchronous programming in Java 8: how to use CompletableFuture by José Paumard Ignite Sessions I JRuby 9000 …

Share Button

Java: Using Enums for Singletons

This singleton pattern is not really a big deal, but overused because it gives us the coolness of knowing about design patters without learning too much stuff for that… It does have its uses in some programming languages, while more or less implicit or obsolete in others, depending on the point of view. I have …

Share Button

Design Patterns: Singleton

Deutsch This Singleton Pattern has the advantage to be easy to memorize. The only really interesting aspect of it is the issue of initialization („lazy or „eager“) and maybe the dependencies between multiple singletons. But I would like to mention two generalizations. A Singleton exists once in the whole program. Generalizations can address the uniqueness …

Share Button

Using Collections

When Java came out about 20 years, it was great to have a decent and quite extensive collection library available as part of the standard setup and ready to use. Before that we often had to develop our own or find one of many interesting collection libraries and when writing and using APIs it was …

Share Button