The goal of this post is to give a brief overview of some of the free software that proves to be very useful in my setup. Additionally, I want to promote great free software as I firmly believe that as much software as possible in research should be free software and that we should fund its development to make important software accessible to everybody and adaptable to our needs.
The pieces of software that I talk about in this post[1] are:
This is of course only a small selection from a lot of free software that I am using. At this point I also want to say a BIG thank you to all the authors of free software for their great work and for dedicating so much time and energy to something of such great benefit to the public!
Probably everybody in computational geometry knows Ipe — for a good reason. It's a vector graphics editor that can be used to make nice geometric figures as well as slides and posters[2]. I create most of my figures, slides, and posters with it.
There are many great things about Ipe, but I want to highlight some specifically:
out-of-the-box latex support (every text is compiled latex)
supports precise alignment and intersections to make accurate geometric figures
can be saved directly to pdf and then still opened by Ipe (i.e., just save the figures of your paper in pdf, and you can edit them any time in Ipe)
written and maintained by Otfried Cheong, who is part of the computational geometry community
runs on Linux, MacOS, and Windows
extendable via so-called ipelets
figures, slides, and posters can be made in one and the same software
Ipe is maintained (almost?) entirely by Otfried and thus development can sometimes be slow but it is steady, and Otfried is very approachable regarding bugs and new features.
I really like having a laptop with a built-in tablet such that I can easily annotate papers that I am reading or quickly sketch a figure for myself or during a meeting. For this purpose I use Xournal++: a note taking and pdf annotation software. Development is quite active, so every update tends to bring some great improvements. Also, it is available for Linux, MacOS, and Windows.
Xournal++ has everything important that I need from note taking software. If I could choose some features to be added, the first two that come to my mind are:
a start screen that shows thumbnails of the most recently edited documents
a highlighting pen with which one can make strokes that disappear after a second
Everything else is very well-suited for my needs and I can absolutely recommend it.
I use Zotero to manage my literature. It conveniently comes with a browser add-on such that one can directly import papers from the browser into Zotero. Since recently it also comes with a built-in pdf annotation tool and one can add written notes to the paper that are searchable from within Zotero. The latter is particularly helpful if a paper contains a result that got its name assigned later and hence I want to search for this term to find the paper in my collection. Furthermore, Zotero allows for having different collections of papers which I normally use to structure literature for my different projects. It can also conveniently export bibtex citations — however, I am often not happy with the result and then still fetch the bibtex citation from dblp. It would be nice if there would be a plugin to automate that process.
And a small final hint: there also conveniently exists a way to automatically retrieve a paper from scihub that is not otherwise available.
Matplotlib is a python library for plotting and not a standalone software, but I still wanted to include it as it is the second software, next to Ipe, that I use to create figures for my papers.
It is hugely versatile and the documentation contains many example plots such that one can simply browse through them to see where to start from when creating a new plot. I could write so much more about its great features, but I just leave it at: If you need to plot something, use it!
Another software that I believe deserves to be mentioned is Thunderbird. I mention it here because I have the feeling that it is very under-appreciated. I use it for everything related to emails, my calendar, and also for managing my tasks. I very much prefer having all my emails separated by accounts but in the same software, over forwarding all emails to one account, as emails to my different accounts tend to have different importance. Also, for all that missed it: after years of very little development, Thunderbird is now again developed very actively and saw a lot of great improvements recently.
One of the last pieces of free software that I want to mention is Zulip. Zulip is a team chat that has a quite nice threading model. I try to use it more and more for research collaborations, in order to collect conversations and ideas at one place. It is important for me to stress that even though there are different plans that one can buy, Zulip is entirely free software. Hence, it can be self-hosted for free and is therefore a great solution to let the communication of your lab run on your own servers. Furthermore, Zulip feels much more light-weight for me in its usage than other solutions like Slack or Mattermost.
Finally, I want to also give a shout-out to KeepassXC, which I use for managing my passwords. It also comes with a browser add-on to nicely integrate it. Additionally, by hosting an encrypted password file on your own git server, you can have a password manager solution that does not need to rely on third-party servers.
[1] | As far as I see, this is my first blog post ever. Any comments are very welcome. :) |
[2] | For examples you can search through my list of publications for papers where I linked slides and posters. |