AI & Machine Learning
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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 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.