Functional Generators in Java 8

I recently had the chance to toy around with property-based testing. Property-based tests verify statements about the output of your code based on some input, where the same statement is verified for many different possible (admissible and inadmissible) inputs. Such tests rely heavily upon randomly generated objects and values. Even if you do not fully commit to property-based testing, having abstractions for generating random objects and values from your domain can simplify testing a lot. This article shows how to build a simple generator-based approach that plays well along with property-based testing and can simplify your test cases tremendously.

more ...

Developing Python scripts for Raspberry Pi using IntelliJ IDEA

I switched from various Eclipse flavours (vanilla, CDT) to IntelliJ IDEA Ultimate Edition almost a year ago and never looked back. The IDE is not only suitable for Java development, but for Python projects as well and I would like to use it when developing Python scripts that ought to run on my Raspberry Pi. Programming directly on the Raspberry Pi using an IDE can be quite cumbersome, since modern IDEs run abysmally due to the CPU and memory limitations of the Pi and unless your a vi guru, you won't have fun with that editor either. I needed a way to write my Python scripts on my development machine, while programming against the Python SDK on the Pi (with all its installed libraries like RPi.GPIO and pygame) remotely. Easy deployment to the Pi would be a benefit, but not necessarily a must-have, since I could live with a simple scp-based solution that copies over project files recursively. Turns out that IDEA is able to fulfill both requirements to full extent, easing Python development for the Pi tremendously. This short article will guide you through the configuration of a remote Python interpreter and the setup of an module-based deployment to your Pi.

more ...

Hi there! I'm Markus!

I'm an independent freelance IT consultant, a well-known expert for Apache Kafka and Apache Solr, software architect (iSAQB certified) and trainer.

How can I support you?