My new stickleback poster

Over the Christmas break I couldn’t resit playing around with some detailed stickleback photos I took for one of our experiments, and created my first full-size non-academic poster! It just arrived and I am very excited about the result:

My first non-academic poster: an array of close-up photos of 33 experimental sticklebacks.

The poster shows the 33 individual sticklebacks that we used for an experiment in which we investigated consistent individual differences. As is clear from the poster, despite the fish being size-matched for the experiments, the fish have a beautiful range of colour and shading patterns. Let’s see if I’ll continue doing this for all my future experiments..!

Installing virtual python environments

When you start working with Python it is great practice to create isolated Python environments to work on your specific projects.

The standard python environment is used by a large number of system scripts and therefore best to leave alone. In addition, when working on different projects, those projects may have different and conflicting dependencies and therefore should ideally be installed in their own python environments. The ability to create different python environments can also be really beneficial when developing your own python packages and thereby test its installation and performance in different versions of python.

Below I guide you through the basic steps of installing and working with python virtual environments.

Read further…

Interview in Kosmos magazine

I was honoured to be invited for an interview in Humboldt Kosmos magazine a couple months ago. Great to now see the full two-page article out in print! Had fun with the photoshoot in my chest wader ;) You can read the full article by clicking the image below.

Easy install OpenCV for python on Mac, Ubuntu, and Raspberry Pi

Installing OpenCV has never been easy and always required a lot of careful usage of the command line to build from source. This was especially painful when working with a Raspberry Pi as building and installing OpenCV took a lot of time on the RPi, especially on the older models. Luckily this has changed very recently as it is now possible to install OpenCV with pip!

Below I guide you through the basic steps that I think are necessary to get opencv to work nicely on Mac, Ubuntu and Raspberry Pi. If you want more background information, see the excellent article by Adrian Rosebrock from

Read further…

Install ffmpeg on Mac OS X

FFmpeg is a great little program to help convert more or less any media format. I previously wrote an article how to install ffmpeg on the Raspberry Pi. This short tutorial will help you install ffmpeg on Mac, which is luckily a lot simpler!

The easiest way to install ffmpeg is to use HomeBrew a package manager for Mac. If you don’t have homebrew installed on your mac already, run the following command using terminal:

/usr/bin/ruby -e "$(curl -fsSL"

Once you have Homebrew installed, you can now simply install ffmpeg from terminal with the following command:

brew install ffmpeg

To install ffmpeg with specifical modules, instead of running the above command run below command or remove those modules you do not need:

brew install ffmpeg --with-chromaprint --with-fdk-aac --with-fontconfig --with-freetype --with-frei0r --with-game-music-emu --with-libass --with-libbluray --with-libbs2b --with-libcaca --with-libgsm --with-libmodplug --with-librsvg --with-libsoxr --with-libssh --with-libvidstab --with-libvorbis --with-libvpx --with-opencore-amr --with-openh264 --with-openjpeg --with-openssl --with-opus --with-rtmpdump --with-rubberband --with-sdl2 --with-snappy --with-speex --with-tesseract --with-theora --with-tools --with-two-lame --with-wavpack --with-webp --with-x265 --with-xz --with-zeromq --with-zim

Installing ffmpeg with h264 support on Raspberry Pi

The Raspberry Pi is a fantastic little computer for recording video. For about €50,- you can record in HD with full customizability and for as long as you want or have storage for. However, one issue is that the .h264 format it records in is hard to work with. It is therefore often important to convert videos to widely applicable formats like .mp4 to be able to view them properly and get the right meta information. For this I recommend the program FFmpeg.

Installing ffmpeg on a Raspberry Pi is not as simple as downloading an executable from the command line, but it is also not too difficult. Here are the steps:

Read further…

The path from PhD to research fellow as a young dad

This is a repost of an article I was invited to write for the Academic Life Histories Blog, a great collection of articles about navigating academia. See it here.

I always knew in the back of my mind I wanted to have children. However, I never really thought about when that would be. About halfway through my PhD that started to change. Work was progressing well and I was really enjoying the freedom of being able to dive deep into my own research interests. I was fortunate to have my own scholarship and a great supervisor who gave me all the freedom I wanted but was also there for me for long chats about science and academia. I was making my own plans and working according to my own schedule, which wasn’t exactly always nine to five. After some time, I suddenly started to realise that these conditions were actually pretty ideal for having a child and that, as I wanted to have children anyway at some point, why wait?

Towards the end of my third year as a PhD student my son was born. As I was doing my doctorate in the UK, that unfortunately also meant that I only had a few months of funding left. I took a couple weeks of paternity leave and, when my son was about five weeks old, flew with my family to Southern Germany for a job interview. I was lucky to get offered a postdoc position. I still had my PhD to finish though…

Read further…

Simply store jupyter script as executable

To save a jupyter script as an executable .py script you can use the nbconvert command in terminal:

$ jupyter nbconvert --to script [NOTEBOOK_NAME].ipynb

Make sure to either cd into the directory where the ipynb file is located or to paste the complete path of the file. But even better is to call the command directly in a jupyter notebook by prepending !, which will run bash code inside any jupyter script:

!jupyter nbconvert --to script [NOTEBOOK_NAME].ipynb

In this way you can save your .ipynb file to .py file in an easy and fast way and only when you need it, such as when pushing a commit to github, saving time compared to when using auto convert.

Talk at SEB conference Florence

The last couple days I have been in Florence for the SEB conference. What a great location to have a conference! Where else can you have pizza for breakfast?

On Tuesday I gave a talk about a mechanistic framework I am developing with Shaun Killen to understand the role of individual heterogeneity in collective behaviour. The sessions this year are all really relevant to me and saw lots of great talks and posters and nice to bump into academic friends from around the world. Too many new project ideas! But I think some nice new collaborations will come from it as well.

Read further…

Departmental seminar Münster University

Today I visited Münster to give an invited departmental seminar at the Institute for Evolution & Biodiversity. It was great to see the nice stickleback labs of Jörn Scharsack and Joachim Kurz and the way in which they are able to experimentally parasitise the fish with Schistocephalus.

Really enjoyed meeting many other members of the department and the very enthusiastic students in the group. I am excited about the possibilities for future collaborations with Jörn to unravel the mechanistic underpinnings of parasite infection and its link to personality variation. Thanks again to Jörn and Nicolle for inviting me!

Departmental seminar University of Bonn

Today I visited the Institute for Zoology at the University of Bonn. I was invited by Gerhard von der Emde to give a departmental seminar and discuss ideas for investigating individual differences and collective behaviour in weakly electric fish.

Gerhard is an expert on electro-signalling and communicating in weakly electric fish and has been doing great work on unravelling the potential ways that these fish use their electric field. See for example their recent paper in PNAS that shows fish actively use electrocommunication in their interactions.

Read further…

Collaborators Shaun Killen & Lucy Cotgrove visiting

The last couple days Shaun Killen and Lucy Cotgrove from the University of Glasgow visited me in Konstanz to work together on a couple of exciting projects. Shaun and I started collaborating about a year ago to bridge the fields of animal physiology, animal personality, and collective behaviour.

With help of a Zukunftskolleg mentorship grant, we recently started writing an opinion paper on the topic, as well as analysing an exciting experiment with Lucy on the role of individual differences in metabolic rate on collective movement dynamics of schooling fish.Read further…

Poster at the von Humboldt conference

The last three days I attended the annual von Humboldt conference. It was great fun meeting my fellow research fellows and learning about their (extremely diverse!) work. Quite surprised to learn I was the only Dutch research fellow this year among the many nationalities. Had the chance to present my work during the poster session, which was great fun, and exciting to showcase my new tracking software live using a mobile projector. Got many new ideas these last couple days by chatting with the other researchers at such an inter-discplinary level.

New MSc student joins the lab

Today French MSc student Pauline joins the lab! She starts a three-month project to investigate the mechanisms underlying the boldness personality trait and will run a range of behavioural experiments with three-spined sticklebacks.

Started von Humboldt & Zukunftskolleg fellowship

Today is the start of a new research period for me. I was very lucky to be awarded both a von Humboldt postdoctoral fellowship as well as a Zukunfstkolleg fellowship. These fellowships will give me the freedom to fully develop and pursue my own research ideas and set up my own interdisciplinary research program.

The next couple years I will aim to set up a unified framework for investigating the link between consistent behavioural variation, the emergence of collective properties, group functioning, and ultimately individual fitness and between-group dynamics. I will employ a combination of detailed laboratory experiments, field surveys, and computational modelling to study consistent behavioural phenotypes and collective behaviour of three-spined sticklebacks (Gasterosteus aculeatus).

By developing this framework and fully bridging the gap between the fields of Animal Personality and Collective Behaviour, I aim for this project to yield crucial new insights into the ecological and evolutionary implications of consistent behavioural phenotypes and the evolution of sociality.