Blog posts tend to be longer. Follow me on Twitter if you prefer bite-sized comments and thoughts.
All Blog Posts
On this blog, I write about my interests, programming, and research. All expressed opinions are my own, and do not necessarily reflect those of my employers or funders. All posts are listed below, from the newest to the oldest. If you want to browse only a specific topic, hover your mouse over Blog in the menu above. Then click on the category that you would like to read about. Alternatively, use the search box on the right.
This page is for those attending the Python Introduction (2 and 3 November) as part of the PyBrain workshop at the MRC Cognition and Brain Sciences Unit. Thanks to Johan Carlin for organising this series of virtual training sessions!
What the “Kanye West vs. Taylor Swift” of neuroscience tells us about open science
A clash between two major figures in cognitive neuroscience came to a head yesterday, and it got a bit ugly. The dispute centers around a publicly posted peer review of a publicly posted manuscript. Although seemingly aligned with Open Science ideals, the public review prompted worries about ulterior motives and power dynamics in some researchers. In addition to being juicy drama, the events reveal that Open Science requires trust, tact, and integrity. This post summarises the things I’ve learned.
Using the BIOPAC MP160 in Python
Via Twitter, Dennis Hernaus (@hernaus_tweets) contacted me about my MPy150 library for BioPac’s MP150 system (read this older blog post for more info). After some fiddling, he managed to get his MP160 device to work in Python, and I figured it would be good to share his efforts here.
OpenSesame and PyGaze workshop in Potsdam
Titus von der Malsburg and colleagues have organised an OpenSesame and PyGaze workshop at the University of Potsdam. This page contains instructions and downloads, and is updated throughout the workshop based on what we need and produce on each day.
Testing children with iPad games
Testing children is less easy than testing adults, primarily because they lack the social inhibition to tell psychological researchers to go away with their super boring tests. This presents a problem in developmental research: How do you reach these kids?! We developed a bunch of iPad games to test the cognition of an entire classroom in one go. And it works!
Computer vision: Taylor Swift saliency mapping
In cognitive neuroscience, we’re interested in what guides human attention. We distinguish between influences from high-level cognition (e.g. current goals), and low-level visual features. There are highly sophisticated models of how visual features such as intensity, colour, and movement guide human attention. Computerised implementations of these models allow computers to mimic human eye movements. Turns out Taylor Swift’s amazing videos are an excellent example!
Dalmaijer DPhil DONE!
Traditional English DPhil programmes end in a viva. This is an examination by one internal and one external examiner, who critically assess the candidate and their thesis over the course of several hours. Mine was today, and I am delighted to announce that I passed! Many thanks to my wonderful …
Python Day at the CBU
Today was Python Day at the MRC Cognition and Brain Sciences Unit. Download all the required files and scripts here.
PyGaze supports Tobii Pro SDK
Tobii is a major player in the eye-tracking world, selling devices to customers in business and science. Today, Tobii has made a major step towards supporting open science by adding support for its new SDK in PyGaze (and by extension in OpenSesame). You can review the code on GitHub, download the PyGaze package as a zip, or download a full WinPython version. Details below, and more info on downloading here.
Python workshop at ECEM 2017
European Conference on Eye Movements The European Conference on Eye Movements is a biennial event for scientists and engineers who research or use eye movements in their work. The 2017 edition will be hosted in Wuppertal, Germany, and is preceded by several workshops. One of these is Edwin Dalmaijer’s “Learn …
Python wrapper for Gazepoint’s OpenGaze API
Gazepoint is a relatively small player on the eye-tracking market. They sell two devices: the 60 Hz GP3 at a price of $695, and the 150 Hz GP3 HD at $1995 (both of those prices exclude VAT and shipping). Because of its relatively low price, the basic GP3 is an appealing model for researchers on a budget. As of today, PyGaze supports Gazepoint’s trackers through their OpenGaze API. Download the new code from GitHub, and have fun!
EPOS workshop: Python for Experimental Psychologists
The EPOS graduate school has invited me to give a Python workshop for Experimental Psychologists. They are generously providing all participants with a copy of my book Python for Experimental Psychologists. This page provides all info you need throughout the workshop.
When do you ‘see’ what you see?
That is one confusing title! The point is this: When light reaches your eyes, you’re not immediately aware of that. It takes some time for your visual system to process the light, and to translate it into something the rest of your brain can work with. When that’s done, you consciously ‘see’. In a new paper, we show that the process of becoming aware of what you see, is affected by how large an object is. With an oversimplified example: If light bounces of a puppy, into your eyes, it takes a fraction of a second for you to become aware of the puppy. And it takes a fraction of a second longer if it’s a fat puppy.
The EyeTribe stops and that stinks
This morning, the EyeTribe announced via an email to their customers that they would stop the development of their products. The particular reason is rather vague (“we’ve decided to go in a different direction with our technology“), and researchers across the board are not happy. The EyeTribe was the only real option for cheap eye tracking: It was great for demonstrations, for pupillometry and fixation control, it had a very elegant API, and the hardware was great for how much you paid for it. Best of all: It didn’t come with the restrictive licenses that almost all of the EyeTribe’s competitors use to milk their customers for more money. I, for one, am sad about the loss of this great company.
Sign our letter: Sick leave for PhD students
This is the letter as we plan to submit it. Please consider signing it. To do so, email your name, title, and affiliation to Edwin Dalmaijer. You can also leave a comment below.
Cancer during your PhD? Sucks!
This doesn’t need any clarification: cancer really sucks. It’s mentally and physically exhausting, even for people who catch it as a young grad student. My experience until now (described here) was very positive given the circumstances, but support for serious illnesses can be lacking at other funding institutions and universities. Students should be better protected, both during and after their treatment.
The downsides of open science that nobody talks about
Open Science (#openscience) is great! It entails sharing data and code between scientists, so that we can all benefit from each other’s efforts. However, there is a downside to sharing your stuff: You become a helpdesk for people who would like to use it, and sharing distracts from a core part of the job: publishing papers! Because research positions are offered to those who publish a lot, distracting yourself from doing so might put you out of a job in the long run. To solve this problem, publishing open data and software should be valued as much as publishing papers.
Tutorial: creating a Twitterbot
Although it sounds like a lot of effort, creating a Twitter bot is actually really easy! This tutorial, along with some simple tools, can help you create Twitter bots that respond when they see certain phrases, or that periodically post a tweet. These bots work with Markov chains, which can generate text that looks superficially good, but is actually quite nonsensical. You can make the bots read your favourite texts, and they will produce new random text in the same style!
Sigmund Freud Twitter Bot
Sigmund Freud is back! He returned in the form of a Twitter bot that replies when someone uses the hashtag #askFreud in their tweets. Not unlike the real Freud, Sigbot produces nonsensical, but real-looking text that is produced using a Markov chain. The bot can recognise and respond to specific keywords, and it can speak both German and English.
Apologies for the downtime
The PyGaze website was down for a few days, because it exceeded its monthly bandwidth allowance. This has been a problem for a few months now, so we’ve decided to upgrade. Our apologies for any inconvenience, and thanks for using PyGaze!
NVP Winter Conference 2015
The Dutch Psychonomic Society’s biennial Winter Conference is upon us! Here, Dutch and international members of the Society meet to discuss cutting edge research. I’ll be there to listen to all of the amazing speakers, and to present a poster on our work in speed skating. Read this post for some additional info, and for a digital copy of the poster.
Is skating really unfair? Yes, even at 100m times.
Two weeks ago, we published a Perspective article on how the starting procedure in racing sports could bias competitions. Some speed skating enthusiasts suggested we analyse the 100-meter times from the races we reported on. So we did! The results are very similar to our earlier results: Longer ready-start intervals lead to slower 100-meter times in Olympic speed skating.
Distracted by danger!
Threatening elements (think spiders) in your surroundings tend to grasp your attention more strongly than non-threatening things (think puppies). Some scientists believe that your brain is wired to notice threatening stimuli quicker, via a special sub-cortical route. In a new experiment, we show that task-irrelevant threatening stimuli are prioritised over non-threatening stimuli, but that they are not processed any quicker.
Is skating really unfair? Yes, even in extra stringent analysis.
Yesterday, we reported that random variability in the starting procedure of racing sports can bias competitions, even at Olympic events. Not everyone agreed. In this post we address all questions and criticisms, and provide an extra analysis that looks at within-athlete effects of changes in the ready-start interval on changes in race times. This analysis is robust to differences between skaters’ individual qualities, and has causal power. Our results indicate that there still is evidence that random differences in ready-start intervals might bias competitions. At the very least, this calls for future research into the starting procedure of racing sports. Which is exactly what we intended to provoke with yesterday’s publication.
Life is unfair, and so are racing sports
At Olympic racing sports, the gold goes to whoever is the most talented and has trained the hardest. Or does it? Our new research shows that subtle random differences in starting procedures can bias athletes’ alertness. This makes them slower to respond to the starting shot, resulting in a higher finishing time. This small bias can the difference between winning gold, and not even being on the podium!
PyGaze installation on Debian 8 “Jessie”
This guide will teach you how to install PyGaze and its dependencies on Linux. The guide is written for Debian 8, but the same steps are highly to work on other Linux distributions too.
Attentional Problems in Psychopathy
One underlying issue in psychopathy is an inability to use contextual information (e.g. the look on someone’s face) to guide attention. New research shows that psychopathic traits are associated with top-down, but not with bottom-up attention. In non-psych lingo: psychopaths are very focussed on the task at hand, and have issues in directing their attention to information that is irrelevant to said task (even if it might have helped them perform better).
Investigating the Building Blocks of Behaviour
Defining and treating neurological and psychiatric conditions by their symptoms alone is too narrow an approach. In order to create effective rehabilitation programmes, we need to look beyond symptoms, and uncover the basic building blocks of behaviour that underlie conditions. Fundamental research on healthy individuals is a crucial part of this process.
Using the BIOPAC MP150 in Python
Introducing MPy150: an easy-to-use Python library for using a BIOPAC MP150. Sample code included!
Selective Gmail Auto-Reply
In Gmail, you can set a vacation responder, which is great for automatic replies. But it offers no selectivity for people that have more than one address linked to their account: You can’t set the vacation responder to reply only to emails that were sent to your work address! That’s annoying. Fortunately, this little hack does allow you to set a selective auto-reply.
The $100 EyeTribe Tracker
The EyeTribe tracker is really cheap, and you can now use it in Python and in Matlab. It’s not as bad as you would expect from its price, and you could probably use it in fixation or pupillometry studies. For in-depth info, read this validation study.
PyGaze Analyser is a new (basic) tool to create gaze data visualisations such as heatmaps. The code is open source and free to use. Read the post for example images and the download link!
The mantis shrimp has the most incredible eyes on earth, and is a blood-thirsty killer with supersonic claws. This post summarises pop culture and scientific views on this amazing animal.
Webcam Eye Tracker
Building your own eye tracker for dirt cheap. How hard can it be? Turns out the basics are surprisingly simple! This post explains how, including demo videos and source code.