David Plotzki

Foto David Plotzki

I’m from Leipzig, Germany, where I studied physics. Today I live in Rostock and develop software for embedded systems.

Email: hello@this_domain

PGP key for encryption, if you like.

You’ll also find me on GitHub and ORCID.

This website uses icons from the Font Awesome and Noto Emoji collections as well as the Inter font family.

Legal Notice


Staying sane in the Mainframe

People have different ideas of freedom. For me, a big aspect is staying independent from closed systems. The internet is designed to be a decentralized network full of individuality and creativity, freely available to anyone. I’d like to live up to this spirit as much as I can. In the hope that it will inspire ideas in some of you, I’d like to give insights into my digital life and how I create this website.

My digital life

Maybe you guessed it: I use Linux. Around 2010, after some Windows and Mac experience, I decided to try something new. After the initial distro-hopping, I found my home in Arch and never looked back. I don’t rely exclusively on open source, but on free standards, so that any software can be easily replaced.

I’m a fan of the Xfce desktop environment and love its light weight, user friendliness, customizability and options for tinkering and scripting. The people on their online forum are very helpful and friendly. My favorite “secret” advanced tip is the Generic Monitor Plugin that easily lets you create your own widget items for the panel using any programming language of your choice.

My daily text editor is Sublime Text, with LSP packages for the languages I use most: Python, LaTeX, C++, HTML and CSS. I prefer this simplicity over a fully-integrated IDE. Close second place is Mousepad, which comes with a lot of professional features in a very light-weight package, and its easy user interface really makes me happy.

Note-taking and synchronization

For notes, I keep a simple folder structure with Markdown files. A text editor is usually fine to view and edit them, but when I want to include images, render LaTeX equations or follow links between notes, I switch to Typora for more advanced visual editing.

To synchronize notes with my smartphone, I currently use an SFTP server, together with the FolderSync app on both my phone and computer. Photos and messenger chats are backed up in the same way. Of course, a Nextcloud instance works as well and might be a more user-friendly choice.

Calendar and address book

My email host provides calendars and address books using the CalDAV and CardDAV standards. On the desktop, these integrate well into Thunderbird, but on the smartphone, this is trickier. Android unfortunately doesn’t support them. A third-party app is needed to add such functionality: DAVx⁵ costs a bit of money, but it’s worth it and does a reliable job.

How this website is made

This website is static, which means that all of the HTML and CSS code is located on the webserver as fixed files and not generated dynamically from a database. This saves processing time when a page is requested, but means that any page must be ready as a file. In 2020, I decided to move away from a PHP-based version because I didn’t use any dynamic content anymore. This made the website very portable and more resource-friendly.

To upload changes, I use Beyond Compare, a great tool for file and folder comparison.

The site structure and data for photographs are stored in JSON files. My site generator is a self-made Python script. It builds the HTML files from the information in the JSON structures and combines it with HTML templates. It also takes care of the sub-folder structure (for nicer URLs) and relative link paths. Additionally, it resizes the original photographs to make web-friendly versions and thumbnails, and it generates maps to display the photo locations using GeoPandas and Cartopy.

Each page is available in English and German, so two files for each page are generated. Each language version uses its own unique, non-conflicting file names and folder structures, which interweave in the generated release version of the website. Corresponding language versions of a page are linked in the JSON structures via unique IDs. This way, the language to display is already hidden in the file paths without the need for GET parameters to be passed or Cookies to be used.

It works well for a small site like this. Do you have any recommendations? Let me know via email!

Peace ✌️