I like functional programming because it has saved me a few times over the years from either making mistakes or going down rabbit holes. It is reassuring knowing that given the same input the output is always the same.

I colleague told me about fp-ts a few years ago. Unfortunately, I found almost no useful manuals to get started and I gave up on it. For instance, I quickly lost the plot trying to parse the dense vocabulary around groups, semi-groups, pro-functors, etc. …


This post is based on my experience of hosting techccino.com . Part I gives you all the answers regarding hosting a static website on Google Cloud. Part II is a historical overview of how I got there. By static websites, this article envisages single-page applications created for instance with create-react-apps , but it can applied to any static page with minor modifications.

Part I: How to host a static web page step by step?

For readers who are busy, here is how to do it. Warning: the full solution requires you to read a few external guides on the way.

There are two things this tutorial explains:

  1. How to host a dev…

My first proper encounter with Dash was relatively recently. I partnered with a company to host a Dash app in Google Cloud. Working with Dash was OK but the overall experience was not great. These are a few of the hiccups I encountered.

Persisting information in the web page itself

Dash apps are meant to be stateless and this is for a good reason. Normally the app will be run as multiple Python processes behind one server in order to serve multiple requests simultaneously. For any simple app using a stateless server is the best starting point because sharing state in-memory between these processes is just asking…


In this post I focus on why and how I created a very simple desktop app called Encrypt-Sync, which can encrypt and sync files with a cloud-storage provider while you are working on them.

I was one of the early adopters of Google Drive. It is really good at backing up large quantities of data and giving you access wherever you are, but there is a catch… All the data are up in the cloud, the cloud vendor has access to them and they make the most of it. Google Drive now offers the ability to search inside your documents…


Ray, Numba, Dask and Vaex are a few of the Python libraries that can save you precious time when working with big data.

Python is a standard tool for analysing and visualising data. The process looks generally as follows:

  1. loading the data from different sources, SQL databases, files, etc.;
  2. reshaping the data, which may involve simple data cleansing, some calculations and checks on the raw data, etc.;
  3. (building a predictive model;)
  4. plotting the results.

It all works until the dataset gets bigger or the calculations require more resources, e.g. RAM and CPUs. A source of frustration for analysts is waiting…


Common pitfalls in charts and how to avoid them

Aims and Goals

Most people think charts are boring. In many ways they are but that is because they are so familiar. Hence, many data visualisation experts spend a lot of time creating “new” and never-seen-before visuals. Unfortunately such visuals require lots of mental work to understand and in many cases they are a rather ambiguous representation of the underlying data.

Therefore, I decided to write a short tutorial on how to improve every-day charts. This article explains the thinking behind the final design.

The evolution of a chart

Most people actually prefer working with

Scatter Plots

Line Charts


Monads are a rather useful way of enforcing some kind of patterns in the code, which are (mathematically) guaranteed to give you particular outcomes.

I spend a lot of my time coding in JavaScript (poor me!) for Node.js. I have found over the last few years that promises can be tricky to use in a consistent way. Especially now, the await/async paradigm in ES2017 probably makes things even more confusing as to what programming style to adopt.

In a recent project I had to make sure asynchronous events were executed in a particular order and if one of them were…

Nik Vaklev

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