Tech Blog

Evergreen Innovations

AI & Machine Learning


Principal component analysis

Principal component analysis (PCA) is a technique to reduce the number of features of a machine learning problem. This blog post intrudces some of the PCS features and provides an image recognition example.


Quantile loss function for machine learning

We recently worked on a project where predictions were subject to high uncertainty. The client required for their decision to be driven both by both the predicted machine learning output and a measure of the potential prediction error. The quantile regression loss function solves this and similar problems by replacing a single value prediction by prediction intervals. This post introduces the powerful quantile loss regression, gives an intuitive explanation of why it works and solves an example in Keras.


Function Interpolation with known piecewise averages

In a typical interpolation problem, values are estimated within a discrete set of known data points. Recently, we had to “interpolate” a function from which we only knew the averages at certain time intervals. A set of known data points was not available and regular interpolation techniques could not be applied. This post explains the solution that we implemented by way of an example.


What is new in TensorFlow 2.0

TensorFlow 2.0 (currently alpha release) brings some exciting changes. This blog outlines why you may want to implement your next machine learning project using TensorFlow 2.0.


Regression loss functions for machine learning

Loss functions and their correct applications are essential to machine learning models. In this blog Jose gives a first overview of three very common loss functions.

IOT Solutions


ELK stack in Docker

Modern software comprises modular, scalable applications that are often designed and built around a microservice architecture. This blog is the first of a series of blogs covering microservice architectures.


Simulating IOT devices using GO

IoT or embedded software developers often need to start developing and testing code before they have access to the actual hardware. This blog shows how to implement an example testing setup for Modbus TCP that can run entirely on localhost.

Web & General programming


Writing function main in Go

An important part of writing software is dealing with errors and, in particular, their interaction with resources. This blog examines how the main function in Go can be structured to yield efficient and fault tolerant code.


Working with package time in Go​

This blog post demonstrates some of the functionality of the standard library time package and highlights a couple of issues we came across when first getting to grips with the package.


Creating a Cassandra database cluster for local development

Cassandra is an open source NoSQL database in large-scale production use at companies such as Apple, Netflix and eBay. One of the main advantages of Cassandra is that it can be run as a multiple node cluster in which data is replicated across several nodes. This blog demonstrates how a Cassandra cluster can be set up for a local development environment.


Installing WordPress on a virtual private server (VPS) from scratch

Thinking of going for a self-managed virtual private server, that allows you full flexibility for hosting your company website or multiple sites? This blog takes you through a step-by-step guide - from raw Ubuntu server to fully running WordPress website.


Python Parsing

Mark takes you through some of the techniques to do effective parsing in Python.


Solving ODEs in Python

Need to numerically integrate an ordinary differential equation in Python? Here is how it's done.


Continous delivery

This post introduces GitHub actions, explains some of the common terminology, and shows automated deployment for three mock microservices from a GitHub code repository to an AWS EC2 server.


Infrastructure as Code (IoC)

This blog provides a demonstration of Infrastructure as Code, where we deploy an EC2 instance using a CloudFormation template.

LabVIEW Blogs


Setting up a LabVIEW real time project

This blog gives a brief introduction to setting up the LabVIEW real-time cRIO / FPGA environment.


LabVIEW cRIO Real Time Loops

Johannes explains how to break (and not break) the real time behavior of a LabVIEW real time loop.


A LabVIEW real-time application example

This application example demonstrates how to use LabVIEW real-time for a real-word motor controller. This includes using the cRIO real-time OS as well as the cRIO FPGA.


Deploying a real-time LabVIEW project as a startup executable

For many industrial and prototyping applications, we like bundling up our LabVIEW code and deploy the code as a startup executable on a real time target. This blog shows you how it's done.


Creating a state-space block in LabVIEW

The state-space formulation is immensely powerful in many control and modeling applications. This blog takes you through an application example of state-space in LabVIEW. The blog also compares the LabVIEW result to a Matlab simulation.


EtherCAT on LabVIEW / cRIO

EtherCAT is a powerful industrial real-time communication protocol. This blog demonstrates how to set up EtherCAT on the National Instrument cRIO system, how to interface to an EtherCAT device via LabVIEW, and how to undertake some first benchmark performance tests.

Engineering applications


Wave tank testing

We have done a lot of wave tank testing as part of our consultancy services. This blog shares some of our experience. Enjoy!


Scientific Publications

We have had lots of fun writing articles for journals and conferences. Find our summary in this blog ...



Drawing Manga

We also have fun sometimes.