Der persönlichen Website von Johannes Juds
Hier präsentiere ich ihnen meine bisherigen Projekte und Werke, die sich hauptsächlich in den Bereichen Webentwicklung und Systemadministration befinden.
Eine Webversion des Klassikers in nativem Javascript
Hier spielenAls kleines Sommerprojekt habe ich diese Version des Bricker Breaker Spiels, bekannt von Blackberry Handys, geschrieben. Diese Spiele haben mir immer viel Freude bereitet, deshalb habe ich mich selber an eines gemacht.
Man verhindert, dass der Ball den Boden berührt in dem man ihn immer wieder mit der Plattform abprallen lässt. Die Plattform steuert man entweder mit den Pfeiltasten, der Maus oder auf Touchgeräten über das Berühren der linken oder rechten Bildschirmseite. Ich habe der Plattform eine feste Geschwindigkeit gegeben, so dass man auch die Flugbahn des Balls erahnen muss. Das Spiel wäre meiner Meinung nach sonst zu einfach.
Ich habe hier erstmalig für Performanz optimiert. Die Darstellung über CSS abzuwickeln und keine Canvas Bibliothek zu verwenden würde ich bei größeren Projekten nicht wiederholen. Logik und Darstellung voneinander zu trennen behalte ich mir allerdings sehrwohl.
Mit etwas Trigonometrie und ein paar Physiktricks, war das Spiel mathematisch letzendlich doch relativ einfach zu entwickeln.
Ich verwalte das häusliche Netzwerk, einen Drucker, sowie meine Serversysteme und Endgeräte. Dafür nutze ich hauptsächlich ssh.
Weitergehend möchte ich ihnen meine wichtigsten System sowie ihre Funktionen vorstellen.
Ein Raspberry Pi 4, auf dem unter anderem der nginx Webserver, über welchen sie auf diese Seite zugegriffen haben, läuft.
Der nginx Webserver wurde mit einem Modul für HLS Streaming erweitert, um Videostreams von deskbob aus weiterzuleiten. Um die Wiedergabe im Browser zu ermöglichen, verwende ich die Video.js Javascript Bibliothek.
HLS VideostreamFür eine verschlüsselte Kommunikation nutze ich ein sich automatisch erneuerndes "Let's Encrypt" Zertifikat und certbot.
Eine Aktualisierung der der DNS Einträge erfolgt über folgendes Script, welches alle 30 Minuten von cronjob ausgeführt wird.
dynv6.shAußerdem läuft hier ein IRC Server, ein klassischer Chatserver. Auf diesen kann über die Instanz des node.js Programms "thelounge" zugegriffen werden, welche wiederum von ngninx geproxied wird.
IRC ChatDa der Raspberry Pi über keine SATA-Anschlüsse verfügt, eignet er sich nich als NAS. Für diesen Zweck habe ich den Vorgänger des deskbobs, einen alten Tower-PC, um 2 neue, entsprechend große Enterprise Festplatten sowie eine SSD für das Betriebssystem erweitert.
Als Protokoll nutze ich NFS, den de facto Standard bei Netzwerken von Unixartigen.
Mein treuer Desktop PC. Kompilieren, Virtualisieren, Unmengen an Browsertabs, Videospiele mit 144 Bildern die Sekunde. Für sämtliche anstehenden Arbeiten steht er mit seiner hohen Rechenleistung zur Verfügung.
Linux Mint mit der cinnamon Desktopumgebung bietet eine aus der Windowswelt vertraute, allerdings auch schnelle und Leistung Arbeitsumgebung.
Die NFS Freigabe vom servius wird über systemd automount in das System eingebunden.
Ein selber restauriertes Notebook, für kleinere Tätigkeit unterwegs.
Im Rahmen dieses Projekts haben wir ein VoIP Telefonie Netzwerk, mit einem Asterisk Server als Herzstück, eingerichtet. Zusammen mit meinem Projektpartner konnte das Netzwerk, trotz ungünstiger physischer Gegebenheiten, innerhalb von 3 Tagen aufgesetzt werden.
Eine detaillierte Dokumentation finden sie hier:
Asterisk VoIP Projekt auf tainet.deDieses Klickerspiel habe ich als frühe Javascript Übung geschrieben. Nennenswert sind die Speichern- und Ladenfunktionen sowie einige CSS Darstellungsspielereien. Erstmalige Verwendung von js Intervallen.
Hier spielen