It Has Begun

The past few months have been crazy. I have started two new freelance projects, visited meetup events about JavaScript, started playing basketball in Nieuwegein, started reading some really interesting books, and had many new ideas for hobby projects.

First of all: work. I've started working at two awesome companies: Video Media Group and Kukua. Both are project based (sort of), so I will be dedicating detailed blog posts about each of them later. A short introduction for both of them:


Video Media Group is a Dutch startup, located in Almere, that focuses on revitalising the way video advertisements are shown. By cleverly placing advertisements in the page's content, view and clickthrough rates will grow. This results in more revenue for the website owner and reduces the need for spamming advertisements all over the page. Which is good for the visitors.

It's my job to refactor the player script, which loads, places, and controls the advertisement. It's quite an impressive script. It supports VAST, VPAID, HTML5, Flash and many many configuration options. However the years of development resulted in a substantial codebase (4 files with 4400 LOC). This makes it hard to maintain (fix bugs, add features, etc.). The solution was simple: refactor to ECMAScript 6 + Grunt. Modern technology all the way. This has many benefits: modulair components (through imports), release scripts, code linting, and unit-testing. More about that later.


The other company is Kukua, which is an in Hilversum based startup that has a very nobel cause: providing weather services for african farmers. As shown in the video on the website, local farmers can lose al their savings if they plant their seeds at the wrong moment. By placing many low-cost weather stations in Tanzania, lots of valuable weather data can be gathered. With this data weather forecasts can be given to local farmers.

At Kukua, I'm working on the backend part of the system: ConCaVa. An open-source binary payload processor for Converting, Calibrating, and Validating dynamic sensor data. It sounds complicated, but is actually really simple. Let's say you have ten sensors, some of them using a different protocol ('language'). ConCaVa is a server that processes sensor data. It provides several connectors, which allow you to connect your sensor. No matter what kind of data it sends. ConCaVa processes the data in three generic steps:

  1. Convert: translate it from one's and zero's to a readable format
  2. Calibrate: e.g. convert from Celsius to Fahrenheit
  3. Validate: e.g. making sure the value lies between 1 and 100

For more info, check out the introduction slides.


Enough about work. I have also been working on two - in my eyes - ridiculously cool hobby projects: Bonsai and AfterEight. Bonsai is a tool for creating lists, much like Trello. However a backend will be optional, and it will be plugin driven. Which means: you can shape it in any way you want. Checkboxes? Easy. Due dates? Peasy. If This Than That triggers? Japanesey. Also After Eight is something I'm really excited about. Mainly due to it's simplicity: LED strip + Raspberry Pi = Wake-up Light + Reading Light + Ambi Light. Both still in its early stages though. But open-source. Ofcourse.

Feel free to leave a comment. Always happy to talk about my projects. ;-)