Tools and techniques to focus on what matters the most!

Photo by Anete Lūsiņa on Unsplash

I wanted to share with you some techniques I have used for task management at work. Ever since I became an engineering manager, my (work)life has been full of interruptions, putting down fires and juggling with various tasks. It’s probably a common feeling among managers that you’re super busy all the time while still having the feeling you’re not getting anything done.

This is what I felt for a long time. Nowadays my day consists of various meetings, ad-hoc chats with several people, code reviews and various low-priority tasks. Of course, this is usual (and important!) …

Training machine learning model without a single line of code!

BigQuery has a nice feature for creating and executing machine learning models standard SQL commands. This allows you to bring the models to data instead of the other way around. BigQuery ML supports different models starting from linear and logistic regression to deep neural networks. You can also upload your previously trained Tensorflow model and use BigQuery ML for making predictions.

I wanted to test how you use it for sentiment classification. This post walks you through the (simple) process of loading the data into BigQuery and creating a classification model. Let’s get started!


I used the IMDB dataset from…

How to test and label data for motion detection


As you might have noticed from my previous articles, I have (everlasting) project where I’m building a security camera system for myself. The idea is to use the object detection to spot the intruders on my property and then notify me on my phone. Here are some of my previous articles about this:

Object detection is relatively easy nowadays due to all the pre-trained models but developing the motion detection on top of it turned out to be a bit challenging than I originally thought. …

Building a language-agnostic classifier using sentence embeddings

The folks at Google published a multilingual BERT embedding model, called LaBSE. It produces language-agnostic sentence embeddings for more than 100 languages in a single model. The model is trained to generate similar embeddings for bilingual sentence pairs that are translations of each other.

I wanted to build a language-agnostic text classifier, which can be used to detect texts about soccer in any language. The plan was to train it with English texts and then classify texts in other languages. Let’s see how to do it.

Training data

My training data consisted of ~550k short texts and half of them were related…

As a learning project, I wanted to build a hate-speech detector for the web. There’s really no practical use for such an application but it felt like a fun thing to do. It would record user’s webcam and then (virtually) hush the user’s when she says something that is frowned upon. This article describes how I ended up doing it, and hopefully, it’ll be useful for you as well!

Here’s a sneak peek of the final implementation (starring me!!):

The software running on Raspberry Pi is like any (production) system which benefits from proper logs. Logs are crucial to debugging, monitoring, alerting, and just keeping the systems up and running without interruptions. Depending on your setup, you might have several Raspberry Pis (other any IoT devices) so the logs from all the devices need to be aggregated and accessible in a single place.

There are many alternatives for centralized logging and Google Cloud Logging is one of the options. But why choose it? Well, it’s practically free at least on a small scale and it provides centralized logging with…

I finally managed to find time for testing the Coral USB Accelerator from Google. This USB device provides Edge TPU as a coprocessor enabling high-speed ML inferencing in local devices.

I wanted to track objects using a standard IP camera and Raspberry Pi. Raspberry Pi will record the RTSP stream from the IP camera and will pass the image to Coral USB Accelerator to do all the heavy lifting.

I’ll describe next how this was implemented. The steps are:

  1. Setting up Coral for Raspberry Pi (using Docker)
  2. Packaging the Coral’s object detection library as a Docker image
  3. Grabbing images from…

Spring boot + Docker + Gitlab + Raspberry Pi = Success!

By frank mckenna on Unsplash

Docker is a really useful tool for running applications because it enables you to easily pack, deploy, and run any application, which can run anywhere. As Docker containers don’t have much overhead you can even run them on low-end IoT devices. Like Raspberry Pi (even though they’re quite powerful nowadays!)

Building the Docker images for Raspberry Pi is a bit different due to the ARM-based CPUs it has but luckily Docker’s new multi-arch builds makes this much easier. Let’s go through how to build a custom Docker image for Raspberry Pi and run a Spring Boot application with it.

Setting up Raspberry Pi


We’re using application monitoring at work for making sure any issues with our services won’t go unnoticed. Notification email is always sent in case of emergency, but the emails often get lost in people’s inboxes and the investigation of the problem is delayed. Therefore, I wanted to create a real world counterpart of the alert emails to inform us when our services encounter issues. Since a single email may go unnoticed, but bright flashing light in the middle of the room will not.

Therefore, I needed to create a link between physical and digital world. I had an extra Raspberry…

For my project of building a real world warning light for application monitors, I needed a way to control 12 V beacon light with my Raspberry Pi 3. Details about the project can be found in here:

While I understand there are already many different relay boards for Raspberry Pi, but I had my reasons for building it from scratch:

  • To fit it inside an official Raspberry Pi 3 case
  • To power it directly from Raspberry Pi 3
  • To be able to drive 5 V, 12 V and 24 V devices
  • To build it myself ☺

The main goal was…

Antti Havanko

Manager. Maker of things. Optimist. Happy.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store