ob's notebook

This is my blog. It contains my ideas, insights, or other stuff of software development that I believe are worth to be written down. I hope these notes will be helpful for others as well. As software developers we discover exciting features and new possibilities of coding almost every day. And this blog aims to make the things that I have discovered open source.

Updating FindBugs beyond 3.0.1 for Gradle
04 Jun 2017

The popular Java build tool Gradle comes with built-in support for FindBugs, a static code analysis tool for finding bugs in Java code. Recently FindBugs just stops working on my current project with a StackOverflowError. A short search reveals that this bug has been fixed already some time ago, however there is no official bug release available, so what do to?

Read more ...

A Simple grunt-backstopjs Plugin
30 Dec 2016

Lately I had to support our front end team by adding the visual regression test tool BackstopJS to their build environment. Since they used already Grunt as their build tool, the simple task was to run BackstopJS from Grunt. As it turned out, with the new 2.* version of BackstopJS this is far simpler than expected.

Read more ...

True Lazy Sequences
25 Nov 2015

Lately I have read two very inspiring articles about sequences in Swift. Both articles use the sequence of Fibonacci numbers as an example of an unlimited and lazily evaluated sequence. In a lazy sequence its elements are not generated until their processing. However, there are some pitfalls that need to be avoided when working with such sequences.

Read more ...

How Many Ways To Find A Way?
04 Nov 2015

Recently I had to explain recursive functions to my students. One of the examples was the recursive formula for Binomial Coefficients which can be visualized as Pascal's triangle. Looking for a real world problem that can be solved by using Pascal's triangle I found the shortest grid path problem. Since I'm currently trying to get familiar with programming in Swift, I thought to myself, why not coding something in Swift that computes these paths?

Read more ...

Testing Of Enumerations Made Easy
31 Oct 2015

Have you ever wondered how to test enumerations with associated values easily in Swift? The point is that you can do all sorts of pattern matching with enums, but you cannot express a simple expectation in a single line. Well, with a little help from a function, you actually can.

Read more ...

Optional Chaining Oddities
24 Oct 2015

Optional chaining in Swift is a means to safely access properties of potential nil values using the ?. operator. This concept is also known in other languages, particularly in Groovy or Spring EL which provide the Ā«safe navigation operatorĀ». However, there is a subtle difference between Groovy's and Swift's implementation.

Read more ...