Skip to main content

Blog Posts

Notes, write-ups, and the occasional long read: research from my PhD years, home automation, and side projects.

2023

2022

2020

2019

Oct
Setting up Home Automation with Docker Compose: Home Assistant, Node-RED, and more Docker-compose is a convenient way to setup and configure your home automation system. In this post, I describe my setup and the configuration needed to run the containers.
Aug
Epithelium segmentation using deep learning and immunohistochemistry We developed a new deep learning method to segment epithelial tissue in digitized hematoxylin and eosin (H&E) stained prostatectomy slides using immunohistochemistry (IHC) as reference standard.
Jul
The public PESO dataset: prostate H&E whole-side images for epithelium segmentation Public dataset of prostatectomy whole-slide images for epithelium segmentation, licensed under a BY-NC-SA Creative Commons license.
Jul
Pathologist-level Gleason grading using artificial intelligence (AI) & deep learning We developed a fully automated deep learning system to grade prostate biopsies using 5759 biopsies from 1243 patients, and showed that this system achieved pathologist-level performance.
Feb
My Home Assistant Smart Home setup with hardware list Continuously updated overview overview of the tech I use in my smart home.
Jan
Node-RED based custom full-room wake-up light Using Node-RED and Home Assistant and would you like to build a custom full room wake-up light? In this post I show my setup and explain how to build a wake-up light using Node-RED.
Jan
Simple and efficient data augmentations using the Tensorfow tf.Data and Dataset API The tf.data API of Tensorflow is a great way to build a pipeline for sending data to the GPU. In this post I give a few examples of augmentations and how to implement them using this API.
Jan
Setting color temperature and brightness of IKEA Tradfri lights simultaneously with Home Assistant A small trick to set the color temperature and brightness of IKEA Tradfri lights simultaneously using Home Assistant and/or Node-RED.

2018

2017

2016

2015

Dec
Publishing an ES6/ES2015 package to NPM How to take an ES6/ES2015 library, transpile it with Babel, and publish it to npm so it runs on ES5 systems without elaborate build tooling.
Oct
Kalman filters explained: Removing noise from RSSI signals Why RSSI signals are noisy, why that matters for indoor localization, and how a one-dimensional Kalman filter cleans them up in real time.
Sep
Lightweight Javascript library for Noise filtering using Kalman filters KalmanJS, a tiny dependency-free Kalman filter for one-dimensional signals in the browser. Built originally for an indoor localization project.
Sep
Human SLAM, Indoor localization using particle filters A particle-filter approach to indoor localization that maps a building and locates the user at the same time, using only a phone and Wi-Fi RSSI.
Jun
SLAC.js Indoor localisation using Javascript SLAC.js, a JavaScript implementation of FastSLAM for indoor localisation. Locates the user and the access points around them at the same time.
Feb
Diving in into the Model with GPy A closer look at the inner workings of GPy models, decomposing the Gaussian Process Latent Variable model parameter by parameter.
Feb
First steps with GPy A practical introduction to Gaussian processes through GPy, the Python framework maintained by the Sheffield machine learning group.
Feb
Simple WSN Simulation with Matplotlib Animations A small Python simulator for wireless sensor networks I wrote during my graduation internship, with Matplotlib animations of the result.
Feb
Hello, World! The mandatory first post of the blog. Nothing technical here, just a marker for the day the site went live in February 2015.

Back to interests Looking for the recipes?

Copyright © 2026 Wouter Bulten

I may not have gone where I intended to go, but I think I have ended up where I needed to be.

Douglas Adams, The Long Dark Tea-Time of the Soul