-
Effectively Working with Large PostgreSQL Tables: EXPLAIN and Server Side Cursors
At molescrape I am currently storing all crawling results into a PostgreSQL storage. This was a conscious decision after I had experienced the mess you can get into if you choose the best tool for every part of your application and end up with 10 different services you have to maintain and connect (also some form of premature optimization). Thus, I decided to store everything into PostgreSQL until I find out that I cannot handle something in PostgreSQL anymore. At this point I would pull out only this one component into another solution.
-
Verschlüsselte Home-Partition unter Gentoo automatisch mounten
Wer zwei verschiedene Festplatten für Root und Home hat und beide verschlüsselt, möchte in der Regel sein Passwort trotzdem nicht zweimal eingeben. Stattdessen kann man die Root-Partition mit einem Passwort schützen, welches man beim Booten eingibt, und die Home-Partition schützt man durch eine Key-Datei, die auf der Root-Partition gespeichert wird.
-
Ändern eines LUKS2-Devices zu LUKS1 durch Kopieren auf eine neue Partition
cryptsetup verwendet seit Version 2.1.0 das LUKS2-Format als Standard. Allerdings wollte mein Gentoo initramfs kein LUKS2-Device entschlüsseln, während LUKS1 problemlos funktionierte. Daher musste ich irgendwie meine Gentoo-Root-Partition von LUKS2 auf LUKS1 konvertieren. Der
convert
-Befehl in cryptsetup funktionierte nicht, weil mein Keyslot nicht luks1-kompatibel sei. -
Methodik der Analyse zur Berichterstattung der Bundestagswahl 2017
Von einem Studenten habe ich eine Anfrage zu meinem Artikel zur Berichterstattung zur Bundestagswahl 2017 erhalten. Deshalb möchte ich an dieser Stelle ein wenig die Methodik hinter der Auswertung erklären.
-
Installing Different Versions of Python from Source
When I wanted to use Tensorflow I found out that it requires Python 3.6 and does not work with Python 3.7. However, Archlinux already uses Python 3.7. Besides, when Python 3.7 came out Scrapy also failed with 3.7, because twisted used
async
as variable names and Python 3.7 definedasync
as a reserved keyword.