I’m new in writing blog posts or articles, but for me, there always has to be at least one picture accompanying such an article to liven it up a bit.
After finishing the content of my first blog post The Evolution of Git I started to search for a picture or at least some inspirations to spruce it up. Because the article was about Git, I thought it would be a great idea to have something with the Git logo or a branch visualization, but unfortunately, I didn’t find anything I liked. I started to use generative AIs to generate something, but in the end, I was not satisfied with the results - and I gave up (for now).
A few days later I found a data visualization of Jeff Palmer, which I though looked very interesting. I didn’t knew at what I’m looking, but I liked it. By reading his blog post I learned that the graphic visualizes the history of the Git SCM repository and I started to think about it.
Coincidentally, I had one additional day off (extended weekend, woohoo!) and no plans. It was a long time, since I programmed in my spare time, so I decided to find a way to replicate his work (simply coping it wouldn’t be fun).
First I searched for engines, frameworks or something like that, which only needs to get some data and voilĂ ! I’m not in data visualization and everything I found looked like a deep hole and I only had three days: So I decided to do everything by myself.
The first decision was whether I use python (which should be very suitable) or something else. It’s not that I can’t program in Python, but I would have to set up my computer for this first, that’s why I choosed C# (yes, TypeScript would be also a valid choice, but no).
In C# it is very easy to draw images (at least on Windows). And after finding a way to calculate and visualize an archimedean spiral, it was pretty easy. I spent most of the time with tweaking the sizes of the borders and circles, the order of layers and rotating the whole spiral. But it was fun!
I decided to only generate the spiral and adding everything else with Gimp. I’m pretty happy with the result:
