Programme
Diese Seite soll eine Übersicht über alle Programme anbieten, an denen ich arbeite. Gleichzeitig soll die Seite aber auch Informationen sammeln, die mich beim Programmieren unterstützen, um darüber offensichtliche Fehler zu vermeiden.
Gliederung
Projekte
Arbeitsanwendungen
- Dashboard (2013-): Meine Webseite ist der Versuch, mein eigenes Wissen kritisch hinterfragbar zu machen, um damit zu besseren Überzeugungen und Methoden zu gelangen und Probleme systematisch zu lösen.
- TiddlyWiki für den Haushalt (2020-): Eine HTML-Datei für die gemeinsame Haushaltsplanung.
- TiddlyWiki für die Schulorganisation (2020-): Eine HTML-Datei für die Vorbereitung von Unterrichtseinheiten und die Planung eines Schuljahres. Oder generell für das systematische Lernen.
- FastWriter (2020): Ein Programm für schnelles, strukturiertes Schreiben mit Countdown-Funktion und verschiedenen Teilabschnitten.
- Freunde-treffen-Bot (2022): Ein Discord-Bot, der dazu gedacht ist, freie Zeiten innerhalb eines Kanals zu sammeln, um darüber festzustellen, wer Zeit und Lust für ein Treffen hat.
Computerspiele
- blues (2015): Ein Spiel über den Umgang mit Trennung; in einem C64-Stil, abstrakt und emotional
- Lost Path (2016-)
- Adventure Cards (2021-): Es handelt sich um einen rundenbasierten Deckbuilder mit einem stärkeren Fokus auf taktische Positionierungen und der Verbindung von Fähigkeiten und Kartenkategorien.
- Sandsteamers (2022-)
- Storm Island (2022-)
Konzepte
- Code wird durch das Ziel best
e besteht darin, Komplexität beim Schreiben von Code zu vermeiden. Komplexität meint dabei die Anzahl von abstrakten Beschreibungen sowie die Anzahl von Technologien, die gleichzeitig aktiv sind. [Designperspektive, Optimierungsperspektive]immt (Programmierung) (Updated: 2025-06-26) - Interoperabilität (Programmierung) (Updated: 2025-06-26)
- Interpretierbarkeit (Programmierung) (Updated: 2025-06-26)
<strong>Wiederholtes Schreiben desselben Codes<a href="/glossar/komplexitaet-vermeiden-programmierung">Komplexität vermeiden</strong>:(Programmierungsollte dazu tendieren, Aufgaben zu vereinfachen und zu automatisieren. Wenn man denselben Code immer und immer wieder schreibt, sollte man überlegen, wie dieser vereinheitlicht werden kann. [) (Updated: 2025-06-26)- Modularität (Programmierung) (Updated: 2025-06-26)
- Code wird durch das Ziel bestimmt (Programmierung) (Updated: 2025-06-26)
- Geschwindigkeit erhöht Immersion (Programmierung) (Updated: 2025-06-26)
<strong>Interoperabilität</strong>: Interoperabilität ist die Fähigkeit, dass zwei Systeme ohne größere Schwierigkeiten zusammenarbeiten können. Im Besonderen ist damit gemeint, dass die Nutzerdaten eines Systems in ein anderes System übertragen werden können. [Designperspektive]Interpretierbarkeit (Programmierung) (Updated: 2025-06-26)<strong>Geschwindigkeit erhöht Immersion</strong>: Eine hohe Immersion führt zu einem Gefühl von Mühelosigkeit, welche Stocker bei der Benutzung der Anwendung verhindern, was wiederum negativen Assoziationen insgesamt vorbeugt. Programme mit einer hohen Reaktionsgeschwindigkeit fühlen sich eher wie eine Erweiterung des eigenen Körpers an und stehen dementsprechend bei einer Arbeit nicht im Weg.</li><li>InterpretabilitätKomplexität vermeiden (Programmierung) (Updated: 2025-06-26)- Wiederholtes Schreiben desselben Codes vermeiden (Programmierung) (Updated: 2025-06-26)
- Bézier-Kurve: Eine Bézier-Kurve beschreibt eine Krümmung anhand von Punkten anstatt durch die 1-zu-1-Zuordnung einer Funktion. Dies ist nützlich, um beliebig komplizierte Kurven zu beschreiben.
- Koroutinen: Koroutinen helfen dabei, eine sich wiederholende Aktion in bestimmten Rhythmen umsetzen zu können, wobei sie es erlauben, einen ablaufenden Prozess auf mehrere Zeiteinheiten aufzuteilen. Zum Beispiel wird in der ersten Sekunde die erste Hälfte abgearbeitet, in der zweiten Sekunde die andere. Diese Funktionalität lässt sich auch mit Timern und einer Programmstatus-Verwaltung bauen, erhöht aber den Schreibaufwand.
- Sigmoid-Funktion: Die Sigmoid-Funktion ist eine Zuordnung eines Wertes zu annähernd 0 oder 1, wobei der Übergangs-Bereich um 0 herum ein Verlauf ist. Damit kann ein Bool'scher Zusammenhang ohne starke Grenze dargestellt werden.
- Zustandsübergänge (Statecharts von David Harel): Zur Beschreibung eines Systems, das verschiedene Zustände einnehmen kann, sollte über eine State Machine nachgedacht werden, die diese Zustände repräsentiert. State Chars von Harel sind eine effiziente Variante solche Systeme zu beschreiben.
- Quill: Javascript-Bibliothek für einen Online-Texteditor.
- Bewertungssysteme: Ein Bewertungssystem soll einem Nutzer die Möglichkeit bieten, schneller darüber entscheiden zu können, ob etwas nützlich sein könnte, indem es einen Punktestand (Score) zuweist, um Objekte nach der Höhe ihrer Platzierung sortieren zu können.
- Freundeskreise: Beim Teilen von Inhalten wird häufiger über eine Funktion nachgedacht, die dafür verantwortlich ist, den Zugang nur bestimmten Gruppen zugänglich zu machen. Der Vorteil besteht darin, an einer Stelle alles mit anderen teilen zu können, anstatt diese Funktion auf verschiedene Dienste zu verteilen. Das Hauptproblem einer solchen Funktion besteht darin, dass es bei einem gleichbleibenden Design sehr anstrengend sein kann, genau zu bestimmen, wer was sehen soll. Darüber hinaus muss eine Taxonomie von Freundschaften explizit gepflegt werden
- Checkboxen sollten eine Nichts-von-allem-Auswahlmöglichkeit besitzen, um Fehlverhalten von Anwendern zu minimieren. Das offizielle Designblog der britischen Regierung schlägt dieses Verhalten nach einer Reihe von empirischen Überprüfungen vor.