Python for the Lab

First published:

Last Edited:

Number of edits:

Python for the Lab started as the companion website of my services as a freelance software developer. Initially, I thought I would move towards offering more comprehensive solutions, such as helping scientists with data management , or grant writing . Over the course of the months, it became clear that my project was focusing exclusively on developing Python programs to control experiments.

Now a days I just prefer to say that my project after the PhD was Python for the Lab (or PFTL) even though the name came somewhat later.

Writing to consolidate presence and knowledge

I started writing on the website as a way of documenting what I was doing in ways the code itself does not allow you to. I started by writing very opinionated guides on how to work developing programs, or how to use specific libraries.

I wrote a wildly successful article on the use of HDF5 , which still is responsible for the majority of the traffic to the site. The fact that people could easily find my tutorials started to put me in the radar. Plus, the feeling of finding someone answering a question on Stack Overflow, linking to your website generates an immense gratitude.

Writing has also helped me iron out details I had, perhaps, a bit fuzzy in my head. Tried the edge cases, the limits, and documented what I was doing. The website is therefore one of my ways of learning in public .

Offering Courses

I realized that I was spending a lot of time teaching people how to use the programs I was developing myself. Even if I was trying to deliver software with enough documentation, there is always a barrier that people need to cross in order to become active contributors instead of passive consumers.

With all the knowledge I had acquired while developing, I embarked into the idea of designing and offering courses. I tested the waters in order to validate the need for this kind of workshop. The first one was at Leiden University , thanks to Martín Caldarola who convinced the group. They were the beta testers, and I learned a lot iterating with them both during and after the course.

Other places where I've organized the courses are:

The Book

The lecture notes made an idea starting material for a book . As soon as I had a complete PDF I uploaded it to the website and put it on sale. It was a good way of discovering that there is a lot of people willing to acknowledge the effort that I was putting on the website. Many wrote thanking, because I'd saved them a lot of time.

I also made very explicit in the first chapters of the book that I am open to offer courses in person. So far the book has triggered more conversations than the forum, but sadly they all happen by e-mail and stay locked-in.


I also deployed Discourse to create a forum so people who followed the course could keep interacting with me and others with similar problems. Building a community is tough, but once in a while a message arrives with questions or remarks, which generates a lot of satisfaction.

How to make it grow

It is hard to think about the future, especially with such a limited available time. I considered offering an pftl online course , because is a concentrated effort that can last much longer (such as a book), while delivering a lot of value to the people subscribing to it. There is a balance between effort and pay off (both monetary and in interest)


The newsletter has over 1500 subscriptions. However, sitting down to write is becoming challenging. I don't find inspiration, and it is hard to know what to share with my audience that will keep them engaged. I am also not completely sure what brought them to my website, if it is actually the "for the lab" or the "python" part.


Share your thoughts on this note
Aquiles Carattino
Aquiles Carattino
This note you are reading is part of my digital garden. Follow the links to learn more, and remember that these notes evolve over time. After all, this website is not a blog.
© 2021 Aquiles Carattino
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License
Privacy Policy