Projekte
Im Lauf der Jahre sind einige größere und kleinere Projekte entstanden. Mit jedem neuen Projekt sind meine Programmierkenntnisse Schritt für Schritt gewachsen. Begonnen mit dem etwas eigenen Lua, über eine experimentierfreudige Zeit mit C und C++ bis hin zu meinem jetzigen Favoriten, Python, hat sich meine Präferenz für Programmiersprachen immer weiter verändert. Besonders anzumerken ist auch meine Angewohnheit, alles mögliche selbst zu implementieren (sofern die Zeit es zulässt), statt fertige Bibliotheken zu verwenden. So versuche ich die tiefer liegenden Protokolle besser zu verstehen. Für wichtigere und professionelle Projekte versuche ich diese Angewohnheit natürlich weitestgehend zu unterdrücken. ;)
Sesimos Webserver
Juli 2022 – Jänner 2023 • C • maintained
TUcal
Oktober 2021 – Oktober 2022 • Python • PHP • TypeScript • maintained
acme.sh World4You DNS API
November 2020 • Shell • maintained
Necronda Webserver
Mai 2018 – September 2018 • C++ • not maintained
Der komplett in C++ geschriebene Necronda Webserver ist wohl mein erstes Programmierprojekt, das dauerhaft in Verwendung ist. Einen Apache oder nginx Server kann doch jeder verwenden, ich aber wollte die Daten- und Informationsflüsse zwischen den einzelnen Komponenten (z.B. Browser, Netzwerkstack, Webserver, PHP, etc.) genauer verstehen um für die Technologien hinter dem Web ein besseres Gefühl zu bekommen. Nach zwei Jahren, die ich an einem Prototyp gearbeitet hatte, habe ich mich dazu entschlossen einen halbwegs professionellen Webserver zu programmieren – und diese Website ist das Ergebnis.
World4You API
Dezember 2018 – April 2019 • August 2020 • Python • maintained
Wie unter IT'lern allgemein bekannt sein sollte, bringt eine zu Hause gehostete Website durchaus ihre Probleme mit sich. Eines davon ist, dass man vom Internet Service Provider eine dynamische IP-Adresse zugewiesen bekommt. Das heißt, dass sich die IP-Adresse im Laufe der Zeit ändert. Das Problem dabei ist, dass nach einer Änderung der IP-Adresse die Nutzer einer Website diese nicht mehr unter ihrer alten Adresse erreichen können und deshalb der Eintrag in DNS aktualisiert werden muss. Aus diesem Grund habe ich ein kleines Python Programm geschrieben, mit welchem man beim DNS-Anbieter World4You automatisch seine Einträge aktualisieren kann.
Netzwerkanalyse eines Enterprise-Netzwerks (Argos)
Juni 2019 – April 2020 • Python • Diplomarbeit • not maintained
Im Zuge meiner netzwerktechnischen Ausbildung an einer HTL in Österreich, genauer gesagt der HTL Rennweg in Wien, war vorgesehen, dass alle Schülerinnen und Schüler der fünften – also abschließenden – Klassen in kleinen Teams eine Diplomarbeit durchführen. In einer Diplomarbeit ist nicht nur eine gute technische Umsetzung gefragt, auch die Seite des Projektmanagement soll den Schülerinnen und Schülern näher gebracht werden. Zusammen mit drei guten Freunden und Klassenkollegen habe ich mich dazu entschlossen eine Netzwerkanalyse als Thema zu wählen. Alle Ergebnisse dieser Arbeit sind im Diplomarbeitsbuch auf unserer Website zusammengefasst und detailliert erklärt.
Open Windows Event Collector (Owinec)
März 2020 – April 2020 • Python • not currently maintained
Wer sich schon einmal mit Windows Event Forwarding beschäftigt hat weiß, dass es oft sehr schwierig sein kann Windows dazu bewegen, seine Logdaten mit nicht-Windows-Systemen zu teilen. Owinec dient als Proof-of-Concept um zu zeigen, dass es mit genügend Ausprobieren möglich ist als nicht-Windows-System möglich Logdaten von Windows-Systemen zu sammeln. Ursprünglich war das Projekt nur reine Prokrastination meinerseits, mittlerweile habe ich aufgehört daran weiterzuarbeiten, aber vielleicht ändert sich das in der Zukunft noch.