Inzwischen gibt es mein Blog seit 10 Jahren. In diesem Artikel will ich ein bisschen Revue passieren lassen über die vergangenen Jahre und schauen, was in den nächsten Jahren vielleicht an Artikeln kommen könnte.

Das Ziel meines Blogs war es nie, eine besonders große Leserschaft zu erreichen - die habe ich auch nicht. Vielmehr macht es mir Spaß, für mich selbst festzuhalten, was ich gemacht habe. Die wenigsten Artikel greife ich selbst später noch einmal als Referenz auf, in der Regel ist der Schaffensprozess des Artikels der wichtige Teil. Während diesem setze ich mich so mit einer Technologie auseinander, dass ich sie anderen erklären kann.

Meine Themen

Mit welchen Themen habe ich mich also in den letzten Jahren befasst?

Eine Entwicklung ist ganz klar, aber die ist mir auch ohne Blog klar: Ich bin in den letzten Jahren von PHP auf Python gewechselt. Eigentlich hätte ich auch sehr gerne noch viel mehr C gemacht, aber leider fehlt der Einsatzzweck. Für die Blogserie zur Betriebssystemprogrammierung war es super, aber ansonsten habe ich keine Projekte, wo ich C einsetzen könnte. C++ fände ich auch spannend und ist mit Qt auch super für GUI-Projekte einsetzbar, reizt mich aber deutlich weniger als das puristische C.

Ein ganz klarer Trend ist auch ein Fokus auf Hosting und Linux seit 2016. Dieses Thema hat Data-Mining abgelöst, womit ich mich vorwiegend von 2011 bis 2015 befasste.

Außerdem sind in den letzten Jahren immer mehr Artikel auf Englisch anstatt auf Deutsch erschienen. Mein persönlicher Ansatz dabei ist: Wenn ein Thema interessant genug ist, dass ich erwarte, auch mit der englischsprachigen Konkurrenz mithalten zu können, oder wenn dieses Thema von anderen vielleicht noch gar nicht bearbeitet wurde, dann schreibe ich auf Englisch. Wenn es für den englischsprachigen Markt nicht spannend genug erscheint, dann auf Deutsch.

Natural Language Processing ist ein Dauerbrenner, hierzu habe ich immer mal wieder Artikel geschrieben von 2012 bis 2018. Ein Thema, das mich dabei nie losgelassen hat, ist ein System zum Vorschlagen von Texten in Fremdsprachen passend zum Leseniveau eines Sprachenlerners. Dabei sollten sowohl Vokabular (idealerweise ca. 10 neue Wörter pro Text), als auch Satzkomplexität und Grammatik miteinbezogen werden. Leider habe ich hier bisher noch keine gute Implementierung gefunden. Insbesondere für die Suche nach Texten mit ca. 10 unbekannten Wörtern fehlt mir eine geeignete schnelle Datenstruktur.

Die meisten Artikel zu Algorithmen und Datenstrukturen stammen aus den ersten Semestern meines Studiums. Hier möchte ich aber demnächst eine neue Serie zu Datenstrukturen starten, die im Bachelorstudium nicht behandelt werden.

Ausblick

Was wird die Zukunft bringen? Ganz eindeutig kann man das bei mir nie wissen, dazu bin ich zu vielseitig interessiert.

Meine Masterarbeit schreibe ich möglicherweise im Bereich der Theoretischen Informatik. Das ist ein Themengebiet, das ich prinzipiell sehr spannend finde, zu dem ich aber weder beruflich noch privat ansonsten einen Bezug habe. Festgelegt ist das aber noch nicht.

Beruflich möchte ich mich im Bereich Cloud Computing weiterentwickeln und werde hierzu vielleicht auch ein Zertifikat von AWS anstreben. Interessieren würde mich auch der Bereich Sicherheit sehr, aber im Detail wird das wahrscheinlich nicht einfach. Aktuell schreibe ich zwar eine Seminararbeit zu CPU-Schwachstellen durch transiente Ausführung (Meltdown, Spectre, LVI), für Low-Level-Sicherheit fehlt mir aber viel Erfahrung mit C. Durch ein privates Hobby werden in nächster Zeit aber vielleicht wieder ein paar Artikel zu C und Low-Level-Entwicklung allgemein erscheinen.

An Programmiersprachen fände ich Go und Rust ebenfalls spannend, weil ich dann einzelne Binaries kompilieren könnte (was mit Python nur mit Helfern wie pyinstaller geht). Allerdings erscheint mir die Dependency-Situation bei Rust noch sehr unübersichtlich. Bei Python habe ich eine umfangreiche Standard-Bibliothek und kann meine Abhängigkeiten sehr selektiv auswählen. Bei Rust muss ich ziemlich schnell auf externe Bibliotheken zurückgreifen und auswählen, welche davon von den Rust-Entwicklern selbst verwaltet werden oder sonst vertrauenswürdig sind - und das sollte ich eigentlich auch für alle transitiven Abhängigkeiten machen, die selbst bei einfachen Bibliotheken des Rust-Teams enthalten sind.

Aus dieser Sicht wäre Go vielleicht einen Blick wert, auch weil es im Cloud-Computing-Umfeld gerne verwendet wird. In Go war zuletzt die Verwaltung von Abhängigkeiten ebenfalls recht verwirrend, die Umstellung auf das neue System sollte aber meines Wissens inzwischen erfolgt sein.

Für das Blog sehe ich mehrere zukünftige größere Themenreihen: Wie bereits geschrieben möchte ich eine Reihe über Fortgeschrittene Datenstrukturen starten, weil mich das Thema selbst interessiert.

Als zweite Entwicklung würde ich gerne ein wenig theoretisch hinter moderne Tools blicken, die gerade einen Hype erleben oder schon knapp über den Hype-Punkt hinaus sind. Jedem einzelnen Tool hinterherzurennen, interessiert mich nicht mehr besonders. Was mich aber interessiert, ist zu verstehen, welche Konzepte hinter den Programmen liegen und warum sie so beliebt sind.

Außerdem würde ich gerne eine Themenreihe starten, die sich mit den Nachteilen von bestimmten Programmen beschäftigt. Meines Erachtens haben wir in der IT-Blogger-Szene zu viele Artikel, die beschreiben wie toll und super etwas ist und warum man es unbedingt lernen sollte. Dem würde ich gerne entgegenwirken und auch die negativen Aspekte der neuen Technologien beleuchten.

I do not maintain a comments section. If you have any questions or comments regarding my posts, please do not hesitate to send me an e-mail to blog@stefan-koch.name.