Development
Data pipelines
Science

My name is Timo Millenaar

I am an Earth Science graduate but found a passion in coding. I get excited from building data pipelines that are performant and scalable.

Education

My interest in the world around me lead me to start the Physics bachelor at Groningen University. I had high hopes of becoming a particle physicist, a fire that was kindled by an earlier trip to CERN. After half a year I decided to leave the programme. While back then I blamed it on the extracariculars (climbing, diving, survivalrun) distracting me from the studies, I now realize I was just not well enough equipped for the quick pace. Until then I never had to put in large amounts of work in order to keep up and I had not developed the mental muscle to study hard enough for this programme. The next year I started on the Bachelor programme "Earth Sciences" at the Utrecht University. The programme appealed to me, for it scratched a very similar itch related to cultivating my understanding of the natural world. It was here that my love for programming was born. We were taught how to create numerical models in FORTRAN with the goal of isolating physical systems such that we could learn the impact of individual parameters on the outcome. I pursued this direction with my thesis for both the Bachelor and Masters programmes, learning Python in the process. For more information on my master thesis project, see the sediment transport model in the projects section.

Programming

I love programming. I do it as a profession and as hobby. I like to build data pipelines that are performant and scalable. Python is the language I am most well versed in. In it I build packages for data processing. These packages have an automated testing and deployment pipeline to make development comfortable. It also feels satisfying to add a nice bit of documentation that demonstrates the cool things you can do with the code. In my free time I like to learn about more low level concepts such as CPU cache and SIMD. I play with Rust to learn about coding performant code beyond what can be achieved in numpy + numba.

Hobbies & leisure activities

Besides the usual leisure activities in the form of friends, family and sports, I like to work on personal programming projects. This website is one of those hobby projects. The biggest of these is my GridKit project where I create a high-level API for working with grids in Python : https://github.com/tmillenaar/GridKit . For more projects, feel free to check out the aptly named section: Projects.

When it comes to sports, during my studies I mostly enjoyed sports climbing. Both indoors and outdoors. After my studies I picked up jogging, after wich I landed on survivalrun (obstacle course running), which is the perfect blend for me. These days I train survivalrun about two or three evenings a week and I go horseriding once a week.

When going on a holiday, I like to visit the mountains, which is the reason I joined the "Utrecht Student Alpine Club" (USAC). I lived in germany for about three years. While most of the friends I made there persued a career in science, most of them moved to other places. This does mean that my holidays often include a visit to friends abroad as well.





Curriculum Vitae









Contact


  





Projects

Geocoded grid operations in Python

GridKit
Grid creation tool

Find Airfrance/KLM flights

Find flights
Click for UI application

Sediment transport model

Sediment transport model over Geologic time
Click for info and downloads

Interactive Javascript datavisualization

World population visualization
Click for interactieve map

Attention: this project is still in development.
The goal of this project is to simulate the transport of sediment through an alluvial system in a foreland basin. The transport is treated as a diffusive process based on the conservation of mass. The model allows for the simulation of two grain sizes, gravel and sand. They are each transported individually and are allowed to be deposited in the same location. The deposition of the material is tracked through network of nodes, where each node has its own grain size fraction. Subsidence of the foreland basin is treated as a hinge process driven by the load in the hinterland (or equivalently, the mass of the overriding plate). The hinge is located at the distal end of the model.

The input, subsidence rate and the diffusivity constant (i.e. transport rate) can be altered through time and serve as the boundary conditions for the model.

The numerical model as well as the data processing and plotting is written in Python 3.6.

Most recent update: July 2nd 2019

Drag the right mouse button to select an area.

                  

       Data color:          Grid color:  

Data obtained from https://simplemaps.com/data/world-cities