Raivo Laanemets. Software consultant.

About

My name is Raivo and I am a software consultant, a business owner, and an Open Source contributor. I have 15 years of experience in software development and I hold a Masters degree in Computer Science.

I enjoy to create web applications. My latest projects include a web-based truck load optimizer, an online CAD application and an electronic voting system. I maintain the Blog-Core blogging framework and a number of Open Source libraries.

Technology

My usual developement stack is made of:

Node.js server-side JavaScript runtime.

Express web application framework.

React frontend framework.

Bootstrap frontend user-interface framework.

MySQL database.

I also love to play around with SWI-Prolog and often try out new libraries and frameworks. I keep in touch with the community by reading a large number of technical blogs and visiting local developer meetups.

Availability

I am available for hire as a consultant. The terms for hiring me can be found here. I can work remotely or on-site. Travelling is not an issue.

Recent projects

Recent posts

This is an update on things related to this blog and my work.
Blogging
Since the last update I have been returning to a more stable schedule of writing. I now usually write 1 or 2 articles per w...read more

It does matter what you call yourself. It sends out a signal of what you do and how you can be useful. By the offers I have been getting recently I have come to a conclusion that my current title (...read more

A day ago (Tuesday, 6th September) Estonian Information System Authority was informed about a security vulnerability in the electronic chip of Estonian ID cards.
Use of electronic signatures is v...read more

Sometimes Chrome hangs for a couple of seconds with the "Resolving Host" message on the status bar. The problem is very annoying as it delays page loading for multiple seconds. It happens randomly,...read more

Chrome 59 on Linux renders fonts differently than the rest of the system. This happens when you use subpixel hinting on your system. Chrome 59+ seems to ignore your settings. It can be fixed by twe...read more

I'm often approached by potential clients wanting to build something. Usually they have a vague vision of the final result but not a concrete execution plan to reach it. My job is to reach the succ...read more

In 2017 the typical setup of my project stack has been:
Backend
Node.js 8+ with the available ES6+ features.
Express 4 with either EJS or JSX-based templates.
MySQL database accessed through the...read more

My company, Infdot OÜ, has been given an award "Kaugtöö Tegija 2017" for practising remote work. 50 companies in Estonia received the award. I have been freelancing for almost 15 years and particip...read more

React goes a long way to provide a sane approach for building large-scale complex frontend solutions but it does not solve everything. One of such use cases is the manipulation of existing markup.
...read more

RPi.GPIO is a popular Python module for accessing hardware GPIO pins on devices like Raspberry Pi. Unfortunately it has a threading bug that causes Python-side event callbacks executed in parallel ...read more