Projekte

Im Lauf der Jahre sind einige größere und kleinere Projekte entstanden. Mit jedem neuen Projekt sind meine Programmier­kenntnisse Schritt für Schritt gewachsen. Begonnen mit dem etwas eigenen Lua, über eine experimentier­freudige Zeit mit C und C++ bis hin zu meinem jetzigen Favoriten, Python, hat sich meine Präferenz für Programmier­sprachen 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 web server Logo

Sesimos Webserver

Juli 2022 – Jänner 2023 • C • maintained

TUcal Logo

TUcal

Oktober 2021 – Oktober 2022 • Python • PHP • TypeScript • maintained

acme.sh World4You Logo

acme.sh World4You DNS API

November 2020 • Shell • maintained

Necronda Web Server Logo

Necronda Webserver

Mai 2018 – September 2018 • C++ • not maintained

Der komplett in C++ geschriebene Necronda Webserver ist wohl mein erstes Programmier­projekt, das dauerhaft in Verwendung ist. Einen Apache oder nginx Server kann doch jeder verwenden, ich aber wollte die Daten- und Informations­flü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 Logo

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.

Argos Logo

Netzwerkanalyse eines Enterprise-Netzwerks (Argos)

Juni 2019 – April 2020 • Python • Diplomarbeit • not maintained

Im Zuge meiner netz­werk­technischen 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 Projekt­management soll den Schülerinnen und Schülern näher gebracht werden. Zusammen mit drei guten Freunden und Klassen­kollegen habe ich mich dazu entschlossen eine Netzwerk­analyse als Thema zu wählen. Alle Ergebnisse dieser Arbeit sind im Diplom­arbeits­buch auf unserer Website zusammengefasst und detailliert erklärt.

Owinec Logo

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.