Learning how to cope with a new world and making the best use of the tools available.

Image for post
Image for post
Photo by Etienne Delorieux on Unsplash

My first language was Python. I love Python for its versatility, ease of usage, and wonderful community.

Some months ago, I started venturing out deep into the JavaScript jungle as I had begun building out ViTeach (currently only available in German). ViTeach is a math platform which aims to fast-track and personalize the learning of mathematics with the use of machine learning and natural language processing. But this post is not about advertising my project. This post is about some basic Python functionalities that I missed while working with JavaScript. …


Implementing a retry decorator can protect you against unexpected one-off exceptions.

Image for post
Image for post
Image by Free-Photos from Pixabay

People often describe Python as a “glue-language.” The term “glue-language” to me entails that a language helps to connect systems and makes sure that data gets from A to B in a desired structure and format.

I have built countless ETL-scripts (Extraction Transformation Load) with Python. All those scripts essentially are functioning according to the same principle. They are pulling data from somewhere, transform the data, and then run a final operation. This last operation would typically mean to upload the data somewhere, but could also be a conditional deletion.

An ever-increasing proportion of a typical company’s infrastructure is moving…


Germany seems to be a COVID-19 anomaly in the sense that it has relatively high infection rates, but an extremely low case fatality rate (0.4%), especially when compared to Italy (9.5%).

Foreword:

I wrote the first draft of this article over the weekend because I was very surprised by the seeming divergence of the figures for both countries and wanted to better understand what was causing it. After finishing the article, I wasn’t sure if I should publish it or not, because I did not like the dire conclusions in terms of the very similar, but time-shifted development in Italy and Germany. So I updated the data on Monday and Tuesday just to see if things changed significantly. They didn’t.

My analysis suggests that Italy is 7 to 19 days ahead of…


To this point, I had not found a good visualization of the development of COVID-19 on the district level in Germany, so I decided to build one.

Image for post
Image for post
Reported COVID-19 Cases in Germany from March 10 to March 15, 2020

TL;DR: Here is a link to the app

Update (25.03.2020):
I was really surprised by how different Germany and Italy are at first glance and dove a little bit deeper into the topic. If you are curious, have a look.

Original Article:
I went grocery shopping the other day and saw empty shelves. People seemed to be on edge and more distant than usual. This made me feel slightly uneasy, so when I got home, I decided to dig a little deeper into this hysteria around Corona.

For me, the first step is always to get data. Unfortunately, for COVID-19, the data for Germany is sparse on a…


You are just a few lines of code away from speeding up your code by orders of magnitude with multithreading

Image for post
Image for post
Image by RÜŞTÜ BOZKUŞ from Pixabay

I first came across the necessity for parallelizing my code with Python when I had to run hundreds of external update operations on our CRM system without the option of batching them.

Each update operation would be submitted via an API call and then take about two to three seconds to process. Those updates would trigger processes in the CRM and sometimes throw errors.

The possibility of errors meant that I had to go through the motions countless times to make sure that everything finished to my satisfaction.

What made this endeavor take so excruciatingly long was the fact that…


You are just one line of code away from speeding up your functions by using simple caching functionality

Image for post
Image for post
Image by Pexels from Pixabay

Not so long ago, I built an ETL-pipeline that was running daily, pulling data from an external service to enrich my input data and then loading the result into a database.

As my input data grew, my ETL-process became slower and slower because waiting for the responses from the external service was time-consuming. After some investigation, I realized I didn’t have that many different input values (~500) compared to the number of total records (~500k).

So, in other words, I was calling the external service with the same argument roughly 1000 times per record.

A situation like this is a…


Image for post
Image for post
Image by Pete Linforth from Pixabay

THE ULTIMATE GUIDE — BUILD YOUR OWN FULL-STACK REACT APP

Building the Backend for a Milestone Referral Program (I/II)

In this article, you will learn how to build a web app with Node.js, Express.js, Passport.js, and MongoDB to authenticate a user via REST-endpoint with password and email. You will also learn how to connect that endpoint with a frontend of your choice. The article is intended as a code-along guide, so boot up your VisualStudio and let’s go.

Structure of the article

In this piece, we will build the first version of the backend for a referral app. The article is self-contained up to the point where we connect the backend with our frontend. However, If you want to use your frontend, that…


THE ULTIMATE GUIDE — BUILD YOUR OWN FULL-STACK APP

MongoDB is a lightweight document-oriented NoSQL database. Learn how to set up a MongoDB instance in seconds.

Image for post
Image for post
Image by Gerd Altmann from Pixabay

In this article, you will learn how to install a MongoDB on Mac, Windows, Ubuntu18.04, or run it straight out of a Docker Container and subsequently verify that the installation was successful. The article is a step-by-step guide with plenty of screenshots and explanations.

Motivation (skip if you just want to install Mongo)

This article is the third of a series of articles to develop, build, and deploy a full-stack app. The individual articles are all intended as code-along articles and to be as self-contained as possible. This means that this article does not depend on anything we have done earlier.

The app itself is going to be a…


THE ULTIMATE GUIDE — BUILD YOUR OWN FULL-STACK REACT APP

Building the Frontend for a Milestone Referral Program (II/II)

Image for post
Image for post

This article is the second of a series of articles to develop, build, and deploy a full-stack app. The app itself is going to be a template for a milestone referral program. You can then easily customize the app for your use-cases. The idea behind a milestone referral program is that every referral somebody makes brings them closer to achieving a particular milestone and claim a prize. For our example, we are going to use cute kittens as milestones.

The series of articles are all intended as code-along articles and to be as self-contained as possible. There is a repo


THE ULTIMATE GUIDE — BUILD YOUR OWN FULL-STACK REACT APP

Learn how to scaffold a React.js app, change the defaults, set up a columnar layout and build your first component with react-bootstrap.

Image for post
Image for post
one kitten, two kittens, three kittens

This article is the first of a planned series of articles to develop, build, and deploy a full-stack app. The pieces are all intended as code-along articles and to be as self-contained as possible. There is a repo accompanying the series. In the repo, there will be a branch to reflect every step of the app development.

The app itself is going to be a template for a milestone referral program and can thus be easily adjusted and used for various scenarios. The idea behind a milestone referral program is that every referral somebody makes brings them closer to achieving…

Fabian Bosler

Founder of www.viteach.de — modern math education. EX-Consultant turned tech geek! Business intelligence, marketing, advanced analytics, and machine learning.

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