Mein erstes "Hello World" (Schneider CPC6128)
1995
Schneider BASIC 1.1
Output to Display
Mein erstes "Hello World" erblickte 1995 auf einem Schneider CPC6128 das Licht der Welt.
Screenshot
Screenshot

Mein erstes "Hello World" in Q-BASIC (IBM PC)
1996
Q-BASIC 1.1
Output to Display
Mein erstes "Hello World" unter DOS mit Q-BASIC 1.1.

Mein erstes "Hello World" in C64-BASIC (Commodore C64)
1996
C64 BASIC v2
Output to Display
Mein erstes "Hello World" auf einem Commodore 64.

VGAEdit / VGAMaus
1996
Q-BASIC 1.1 / Power BASIC 2.3
Pixelediting
Mouse movement under DOS
BMP File Format
Der VGA Editor entstand, weil ich damals einfach und schnell Sprites erstellen wollte. Die mussten natürlich Pixel für Pixel gezeichnet werden. Als ich mit dem Editor anfing, war er nur im Textmodus geschrieben und arbeitete mit einer Sprite Auflösung von 12x20 Pixel. Da ich aber auch größere Sprites benötigte ging ich dazu über den Editor noch einmal für den VGA Modus zu schreiben, daher auch der Name VGAEdit. Drei Jahre später überarbeitete ich die letzte Version vom VGAEdit und fügte eine Maussteuerug ein. Nun heißt die zweite Version deshalb VGAMaus. Da dieser aber bis auf einige Codezeilen identisch mit dem Original ist, habe ich ihn nicht extra aufgeführt, sondern hier zusammengefasst mit dem Original. Alles in allem leisten mir die beiden auch heute noch gute Dienste. Sie können sowohl auch eigenes RAW-Dateiformat benutzen (Endung .VGA, Objektdatei im Programm) wie auch BASIC-Quellcode abspeichern. Diesen gibts dann wahlweise mit einem kleinen Ladeblock zum anzeigen oder auch als DRAW-Anweisung, die man bei Q-BASIC benutzt um Grafikausgaben zu machen. Außerdem kann der VGAEditor auch BMP-Dateien importieren, solange sie 16 Farben haben. Netterweise habe ich bei der späteren Entwicklung meiner SVGA.SUB - Grafikbibliothek daran gedacht eine Laderoutine für die mit VGAEdit erstellten Sprites einzufügen und umfangreiche Sprite-Operationen zu programmieren, so dass Spieleentwicklung unter DOS damit relativ leicht fällt.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

Nettalk v1.0
1997
Q-BASIC 1.1
Network Drives
Network Files
File operations in Coop-Mode under DOS
Remote Control under DOS
Nettalk entstand aus der Not im Informatikunterricht miteinander chatten zu können. Das Schulnetzwerk war Novell Netware basiert, weswegen jeder Zugriff auf das TEMP-Laufwerk des Servers hatte. Mit diesen Vorraussetzungen macht ich mich ans Werk und entwickelte die Ur-Version der Nettalk-Reihe mit Q-BASIC. Die ersten Versionen liefen mit dem Q-BASIC Interpreter von Microsoft, der damals den DOS-Versionen beilag. Zum starten wurde einfach eine Batch-Datei verwendet, die den Interpreter mit dem Source-Code fütterte. Die ersten Versionen waren noch mit festen IDs für die Rechner bestückt und hatten keine Konfigurations oder Installationsmodule. Alles war fest im Quellcode vorgeschrieben, lediglich der Benutzername war frei wählbar.

DUNE ST2
1997
Q-BASIC 1.1
Mousemovement under DOS
Machine Code in Q-BASIC
PixelArt (16 Colors)
Sprites
Dieses Programm wurde von mir als Teil des Dune 5-Projektes geschrieben. Es "baut" Gebäude, die in dem Spiel vorkommen sollten. In diesem Programm tauchten erstmalig alle Gebäude des Spiels auf, was vorher aufgrund der mangelhaften Möglichkeiten von Q-BASIC niht möglich war. Auf den 486ern, die mir damals zur Verfügung standen, lief es jedoch flüssig und die neuartige Mausunterstützung in einer interpretierten DOS-Programmiersprache, welche mir dank Maschinensprache geland, war für meine damaligen Programme erstmalig.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

AQUANOID
1997
Q-BASIC 1.1
Breakout algorithm
Game programming (QB/DOS)
Automatic Ball Movement
Das ist mein erster und einziger Aquanoid-Clone. Naja mal wieder ein Proof-of-concept, aber eines das funktioniert, vom Spielstart bis zum "Game Over". Ziel ist natürlich den Ball mit dem Balken immer wieder aufzufangen, solange bis alle Blöcke weg sind. Ein Block hinterlasst wenn er getroffen wird ein Goodie, das man einsammeln kann, um mehr Punkte zu bekommen. Ist ein Level vorbei, gehts von vorne los. Das ganze gibts natürlich mit Sound aus dem PC-Speaker, damit man sich mit seinem 486er die Nacht um die Ohren schlagen kann.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

3D-Algorithm
1998
PB3.5 / DOS
SVGA-Graphics(VESA)
Assembler and PowerBASIC - the unholy alliance
Bitmap-Files as Textures
3D-Arithmetics
Dieses Programm war das erste seiner Art, welches ich mit einer eigenen proprietären 3D-Engine versehen habe. Es nutzt einige Routinen aus meiner selbstgeschriebenen SVGA-Library, die teils in BASIC und teils in Inline-Assembler geschrieben ist. Die Darstellung erfolgt nur durch Punktkoordinaten, die im Raum bewegt bzw. rotiert werden. Die Texturen sind nur Punktansammlungen, die ebenso wie die Objektkanten in Arrays gespeichert sind.
Screenshot
Screenshot
Screenshot

3D-Algorithm v2
1998
PB3.5 / DOS
SVGA-Graphics(VESA)
Assembler and PowerBASIC - the unholy alliance
Bitmap-Files as Textures
3D-Arithmetics
Code-Optimization
3D-Vectoroperations
Dieses Programm verwendet erstmalig statt Punkten auch Vektoren. Die Berechnunggeschwindigkeit hat sich dadurch extrem erhöht. Die Kanten werden dann durch Linien verbunden und nicht wie früher durch Punkte. Da nun nicht jeder Punkt einer Linie berechnet wird, sind auch komplexere Objekte möglich geworden.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

NettalkP v10.0
1999
Power BASIC 2.3
Network Drives
Network Files
File operations in Coop-Mode under DOS
Remote Control under DOS
Hidden Tasks under Win9x Windows Scripting Host
Kernel Calls under Win9x
Installation Routines under DOS
BMP File Format
SVGA-Graphics(VESA)
Dies war die letzte Version von Nettalk. Seit der ersten Version hatte sich viel getan. Mittlerweile lag das Programm kompiliert vor und unterstützte sogar Windows9x. Es konnte den Rechner neustarten oder anhalten und beherrschte proprietäre Remote Control Funktionen. Ausserdem konnte ein Administrator oder ein priviligierter Benutzer mehr als nur noch chatten. So war es möglich die Farben zu ändern, die Speicherauslastung anzuzeigen oder Benutzer ähnlich aktueller Chaträume, zu kicken, zu muten oder zu bannen. Es hatte sich viel getan an dem Programm, doch mangels Verkaufszahlen und in anbetracht, des leider drohenden Todes von MS-DOS, starb das Programm mit der Version 10.0 aus. Rest in Peace my old Friend !

VTEXT
2000
Power BASIC 3.5 (PB/DOS)
VideoText
Chardrawing in Graphics Mode
In meiner Schule bestand damals die Möglichkeit einen Datenstrom auf eine VHS Kassette zu speichern. Dieser wurde dann unsichtbar neben dem normalen Bild gespeichert. Nun ging es mir darum diesen Datenstrom wieder sichtbar zu machen. Die Spezifikationen dafür lagen leider nicht offen, es gab lediglich ein Programm, dass nicht als Source vorlag, sondern als Kompilat. Es konnte Daten beliebiger Art in den Datenstrom einbetten, nur blöderweise nicht auslesen. Dafür schrieb ich dann dieses Programm. Es nimmt einen ausgelesenen Datenstrom auf und interpretiert die einzelnen Steuercodes, die darin enthalten sind, um den VideoText anzuzeigen, der in diesem Datenstrom gespeichert wurde. Ein anderes Programm kümmerte sich stets darum den Datenstrom von der VHS zu holen und als ASCII abzulegen.
Screenshot
Screenshot
Screenshot
Screenshot

Tetrix / 3D-Tetris
2001
Power BASIC 3.5 (PB/DOS) / Assembler
SVGA-Graphics(VESA)
Assembler and PowerBASIC - the unholy alliance
Bitmap-Files as Background
3D-Arithmetics
Basierend auf den früheren Versuchen 3D-Gittermodelle darzustellen, brachte ich den Schülern meiner damaligen Arbeitsgemeinschaft an 3 Gymnasien bei, wie man Tetris programmiert. Das hier ist das stolze Ergebnis, an dem ich meinen Schülern Stück für Stück alles gezeigt habe. Links wird eine dreidimensionale Vorschau des nächsten Tiles angezeigt, den Rest kennt man ja aus jedem anderen Tetris auch. Es hat sehr viel Spaß gemacht mit allen aus der Arbeitsgemeinschaft den Code durchzusprechen und ihnen dabei die erweiterten Grundlagen von Power BASIC und DOS, insbesondere dem VESA Grafikstandard durchzusprechen. Die Funktionen für Sinus und Cosinus musste ich in Inline-Assembler schreiben, da sie für die 3D-Objekte häufig benötigt wurden und in PB zu langsam waren. Der Quellcode setzt auf die von mir geschriebene SVGA.SUB Grafikbibliothek auf und ist ansonsten recht funktionstüchtig. An dieser Stelle noch einen Gruß an alle AGler von damals. Die insgesamt 5 Jahre mit euch waren eine schöne Zeit.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

ELIZA
2002
Power BASIC 3.5 (PB/DOS) / LISP
Artificial Intelligence
FuzzyLogic
Basierend auf dem uralten ELIZA-Code, der in LISP geschrieben ist, erstellte ich diese ELIZA in Power BASIC. Mehr als nur ein Proof-of-concept war sie ein beliebter Party-Gag und auch im Informatikunterricht konnte man damit die Leute unterhalten. ELIZA basiert auf Schlüsselwörtern, die es aus der Benutzereingabe heraussucht und antwortet mit einer Liste vorgefertigter Antworten darauf. ELIZA bedient sich der englischen Sprachsyntax, da diese sehr leicht abzuändern ist. ELIZA hat dabei nicht wirklich Intelligenz, sondern ist durch FuzzyLogic an ihre Grenzen gebunden. Da sie sich ähnlich wie ein Therapeut verhält, bringt sie den Benutzer dazu von sich zu erzählen. ELIZA ändert dann das Gesagte ab, durch Konjugation der Pronomen etc. und antwortet auf ihre Weise.
Screenshot
Screenshot
Screenshot

»SynthelicZ« Extended Console for CS1.5 v1.2
2003
PERL5.6
GUI Design(Perl/TK)
File operations in Coop-Mode(Perl)
Cooperation with the Half-Life-Engine
Half-Life/Counter-Strike Scripting Language
Dies ist eine zusätzliche Konsole zu der in der Half-Life Engine bereits vorhandenen. Sie ermöglicht dem Spieler neue Befehle in der HLConsole, welche diese dann über eine Datei an meine Konsole weitergibt. Die SZXC bearbeitet diese daraufhin und liefert ihre Ergebnis wieder in Form einer Datei an die HL-Engine zurück. Nun bekommt der Spieler noch ein akustisches Signal und kann eine Taste drücken, die einen Befehl ausführt, um das Ergebnis der SZXC im Spiel dargestellt oder zu hören zu bekommen. Wichtigste Funktionen sind die Ingame-Cheaterabfrage ähnlich Cheating-Death, die Stats-Abfrage des Servers und die Voice-Mitteilungen.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

»SynthelicZ« Homepage
2003
HTML / JavaScript (JS) / Document Object Model (DOM) / Cascading Style Sheets (CSS) / PHP
Dynamic Content(JS)
Webdesign
User management(JS)
Applications(JS)
File modifications(PHP)
JavaScript/PHP Remote Procedure Call
Plain Text Files as Data Source(JS)
Dies ist die erste Homepage des Project »SynthelicZ«, sowie des Counter-Strike Clans {>SynthelicZ<]. Der Poll, sowie die Linkliste werden mit JavaScript erzeugt. Der Memberbereich und der Clanwarbereich sind durch eine JavaScript Applikation navigierbar. Beim Eintragen von News, Mitgliedern etc. ruft ein JavaScript-Code eine PHP-Datei auf, die auf dem Server weitere JavaScript-Dateien ändert und dann eine Nachricht an den aufrufenden Prozess zurücksendet. Somit ist es möglich, Dateien auf dem Server durch JavaScript mittels PHP-RPC zu modifizieren. Dies wird benutzt, um die News zu verwalten, die Members und die Clanwars. Es gibt auch einen internen Bereich in den sich Benutzer einloggen können. Die Benutzernamen, sowie ein Passworthash werden dafür verschlüsselt ine einer JavaScript Datei abgelegt und bei der Eingabe abgeglichen. Ist ein Einloggen erfolgt, wird ein Cookie gesetzt, dass zudem die Zugriffsberechtigungen in Form von Flags enthält. Das Design der Seite wurde in Zusammenarbeit mit Naii'Ra Tee erstellt.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

Webview Matrix
2004
HTML / JavaScript (JS) / Document Object Model (DOM) / Cascading Style Sheets (CSS) / Windows Scripting Host (WSH)
Windows-Webviews
Dies ist ein Webview, mit dem ich den Standard-Webview von Windows 98 aufbessern wollte. Hier machte ich erste Erfahrungen mit den spezifischen Objekten, die nur Webviews benutzen. Ausserdem bot sich hier ein Cross-Over aus WSH und JS an.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

Webview Design 26
2004
HTML / JavaScript (JS) / Document Object Model (DOM) / Cascading Style Sheets (CSS) / Windows Scripting Host (WSH)
Windows-Webviews
Binary Files threated as Text Files(JavaScript)
File Type AVI
File Type BMP
File Type MP3
File Type JPG
File Type GIV
File Type WAV
Document Object Model
Config-Files(JavaScript)
Dies ist mein zweiter WebView für Windows 98. Diesmal jedoch sehr viel leistugsfähiger als der erste. Dieser liest mehrere Dateitypen aus und zeigt detailierte Informationen zum Dateisystem und der Datenträgerbelegung an. Unter anderem werden Informationen zu den obigen Dateitypen mit JavaScript eingelesen, was sich durchaus schwierig gestaltet, da erst ein Wrapper für Binärdateien geschrieben werden musste, um diese mit einem OpenTextFile zu verarbeiten. Bei AVI werden die Streams identifiziert und die enthaltenen Audio- und Videocodecs ermittelt. Bei MP3 werden sogar die in den Tags enthaltenen Informationen angezeigt.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

»SynthelicZ« Clanpage
2004
HTML / PHP / Document Object Model (DOM) / Cascading Style Sheets (CSS)
File Upload(PHP)
Plain Text Files as Data Source(PHP)
Diese Seite wurde entwickelt, um dem Counter-Strike Clan des Project »SynthelicZ« gerecht zu werden. Die Seite unterstützt Add-Ins wie zum Beispiel ein Picture of the week und wurde in Zusammenarbeit mit Stormy geschaffen.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

»SynthelicZ« Transferpage
2004
HTML / JavaScript (JS) / Document Object Model (DOM) / Cascading Style Sheets (CSS)
none
Dieser Transferpage war in der Zeit online, zu der gerade die alten Homepages auf die gemeinsame neue umgestellt wurden. Dies dauerte ca. 4 Wochen, in denen die Besucher mit dieser Zwischenseite auskommen mussten.
Screenshot
Screenshot

»SynthelicZ« Homepage
2004
HTML / JavaScript (JS) / Document Object Model (DOM) / Cascading Style Sheets (CSS)
Window-coding(JS)
Eventhandling(JS)
Cross-Browser(JS)
Dynamic Design(JS)
Dynamic Skinnable Elements(JS)
typical GUI-Elements (Icons, Windows, Desktops)(JS)
Extended Objects(JS)
Mit diesem Projekt soll sowohl ein Proof-of-Concept geliefert werden, als auch eine umfangreiche GUI mitsamt virtuellen Datenträgern zur Verfügung gestellt werden. Es gibt virtuelle Anwendungen, die in Form von IFRAMES oder DIVs bereitgestellt werden. Das ganze ist zudem modular, so dass im Betrieb Objekte eingeladen und verwendet werden können. Natürlich findet sich auch allerhand Inhalt zum Project »SynthelicZ«, sowie zum CS-Clan des Projektes.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

Terrorhuhn
2004
HTML / JavaScript (JS) / Document Object Model (DOM) / Cascading Style Sheets (CSS)
Sprites(JS)
Event-Handling(JS)
Mouse-Collision-Detection(JS)
Games programming(JS)
Diesen Moorhuhn-Clon habe ich in einer 30-minütigen Pause in meiner Ausbildungszeit geschrieben. Ein Mit-AZUBI meinte es sei nicht möglich und ich wollte es halt einfach ausprobieren. Naja das Ergebnis ist zufriedenstellend, auch wenn ich nicht den Drang verspürte eine Highscore-Liste zu machen oder ein Menü oder sonstwas. Ich habe mich lediglich auf das eigentliche Spielprinzip ohne Nachladevorgänge oder GameOver konzentriert. Natürlich wäre das auch alles überhaupt keine Schwierigkeit.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

Intranet Gruppenseite
2004
HTML / JavaScript (JS) / Document Object Model (DOM) / Cascading Style Sheets (CSS)
Event-Hanling(JS)
Dynamic-Content(JS)
Diese Seite wurde entwickelt, um zwei AZUBI-Gruppen einen Instranet-Auftritt zu ermöglichen. Das Thema "Tresor" wurde von den Gruppen ausgewählt und dann mittels JavaScript von mir umgesetzt. An der Oberkante befindet sich eine Art Menu, in welchem die Namen aller Gruppenmitglieder mittels der weißen Pfeile scrollbar sind. Dazu findet man ein kleines Icon, das die jeweiligen Gruppen voneinander unterscheidet. Bewegt man die Mouse über einen Namen erscheint am unteren Rand das Gesicht der Person, welches wieder verschwindet, sobald man die Mouse vom Namen weg bewegt. Klickt man auf den Namen oder wählt mittels der Pfeile den nächsten oder vorherigen Eintrag an, öffnet sich der Tresor je nach Gruppe auf der linken oder rechten Seite und gibt einen Blick auf den Steckbrief der Person, Gruppenphotos oder ähnlichem frei. Am Ende jedes Steckbriefes findet sich ein Link zu einer ganz persönlichen Seite der geweiligen Mitglieder. Wird dieser geklickt, öffnen sich beide Tresortüren und geben den Blick frei. Transparent scheinen dann von unten 2 Mappen mit der Aufschrift "Top Secret" durch. Natürlich musste ich die Gruppeninhalte für die Screenshots aus Datenschutzgründen entfernen.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

JSP-Login and Webshop
2005
HTML / JavaScript (JS) / Document Object Model (DOM) / Cascading Style Sheets (CSS) / Java Server Pages(JSP)
Java Beans
SQL Connection(JAVA)
Java Server Pages
WebShop(JSP)
Dies entstand in einer Java-Schulung, als man mir die Grundkonzepte von Java Server Pages vermittelte. Ich probierte dann natürlich gleich einiges aus und so entstand das Login-Modul mit Datenbankanbindung und einen Tag später ein kleiner Webshop. Die Artikelbilder sind auf den Screenshots leider nicht enthalten, da der Tomcat etwas streikte. Im Original funktionieren sie aber.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

ICS/ICFW Portmapper
2005
Windows Scripting Host (WSH) / Visual BASIC Script (VBS)
Windows Network Libraries(VBS)
Windows Internet Connection Sharing(VBS)
Dieses Script entstand aus der Not, dass es bei Windows XP nicht möglich ist ganze Port-Ranges in der Firewall umzuleiten, bzw. freizugeben. Also schrieb ich ein Script, dass es ermöglicht Port-Ranges in die Firewall einzutragen und zwar Port für Port. Es bedient sich dabei einiger Active-X Objekte, die von Microsoft bereitgestellt werden unnd nimmt dadurch Änderungen an den Firewall Einstellungen vor. Es kann Ports und Port-Ranges hinzufügen und löschen. Für jemanden der mal ebend 100 Ports freigeben oder weiterleiten muss ist das eine echte Hilfe.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

»SynthelicZ« Designstudie
2005
HTML / Cascading Style Sheets (CSS)
WebDesign
Dies ist lediglich eine Designstudie. Ein Freund bat mich mal etwas in diese Richtung am Beispiel der »SynthelicZ« Seite zu versuchen und das ist das Ergebnis. Ich kam zu dem Schluss, dass dies zwar der allgemein gängigen Praxis vieler damaliger Clanseiten entsprach, jedoch nicht der Stil von »SynthelicZ« wäre.
Screenshot
Screenshot
Screenshot
Screenshot

»SynthelicZ« Fensterstudie
2005
HTML / JavaScript (JS) / Document Object Model (DOM) / Cascading Style Sheets (CSS)
Pixel by Pixel Layout
Hierbei ging es darum für eine andere AZUBI-Gruppe den Windows Explorer möglichst pixelgenau nachzubauen und dabei den rechten Teil navigierbar zu machen. Man kann also im rechten Teil dynamischen Inhalt durch JavaScript anzeigen und kommt durch einen Klick auf den Zurück-Button in der oberen Leiste stets zum Ausgangspunkt zurück. Das ganze wurde mit Inhalt versehen und später eingereicht. Der Vorschlag wurde vom Administrator angenommen und ins Intranet gestellt.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

DIVX Calculator
2005
Power BASIC 3.5 (PB/DOS)
DIVX Rate Calculation
Dieses Programm schrieb ich, um eine Anzeige über mögliche Bitraten von Filmen einer bestimmten Länge zu bekommen. Es errechnet die Bitrate eines Videostreams in Abhängigkeit zu seiner Länge, bezogen auf bestimmte Größenangaben, zB eine CD. Beim Start kann man eine Filmlänge in Minuten angeben, die dann ebenfalls berechnet und in der unteren Tabellenzeile angezeigt wird. Links sieht man die einzelnen Filmlängen, während oben die Grenzwerte zu sehen sind. Die Werte in der Tabelle geben an, wie hoch die Bitrate des Films sein muss, damit seine Gesamtgröße genau innerhalb dieses Grenzwertes liegt. Die Farben zeigen an, wie gut die Bildqualität bei dieser Bitrate noch ist. Dabei kann man davon ausgehen, dass alles was grün oder blau ist, recht gut aussieht. Hellrot sind Bitraten, die über 15000kBit/s liegen, was wohl eher Verschwendung von Speicherplatz ist. Richtig fies sieht das Bild meist bei den braunen und dunkelroten Bitraten aus, denn da nehmen die Blöcke schon Überhand. Gelb ist die durchschnittliche Qualität einer VCD/SVCD. Man kann sich mit dem Cursor durch das Feld bewegen und erhält unnten die genauen Werte angezeigt. An Stellen wo n/A in der Tabelle steht, müsste die Bitrate des Videos negativ sein, da bereits der Audiocodec mit 224kBit/s zu Buche schlägt und den gegebenen Speicherplatz ausschöpft.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

JavaScript Water Effects
2006
HTML / JavaScript (JS) / Document Object Model (DOM) / Cascading Style Sheets (CSS)
Microsoft Filter and WebDesign
In dieser kleinen Demo ging es eigentlich nur darum einen aufwendigen Effekt mit Hilfe der Microsoft Web Filter zu generieren. Ist zwar nur auf dem IE bzw. Browsern mit der IE - Engine lauffähig, für diese Demo war allerdings auch nicht mehr von Nöten. Geschrieben habe ich dies, nachdem mich in der BBi jemand gefragt hat, ob es denn generell möglich sei einen wasserähnlichen Effekt mit JavaScript in Echtzeit zu generieren. Hier ist das Proof-of-Concept dazu.
Screenshot
Screenshot

»SynthelicZ« Extended Console for CS1.6 v2.0
2006
VBS / HTML4.01 / CSS / JS2.0 / WSH5.6 / DOM
File Operations in Coop-Mode(WSH/VBS) Cooperation with the STEAM-Engine
Half-Life/Counter-Strike Scripting Language
Speech Synthesis with WSH/VBS
Dies ist eine zusätzliche Konsole zu der in der Half-Life Engine bereits vorhandenen. Sie ermöglicht dem Spieler neue Befehle in der HLConsole, welche diese dann über eine Datei an meine Konsole weitergibt. Die SZXC bearbeitet diese daraufhin und liefert ihre Ergebnis wieder in Form einer Datei an die HL-Engine zurück. Nun bekommt der Spieler noch mittels Sprachausgabe einen Hinweis und kann eine Taste drücken, die einen Befehl ausführt, um das Ergebnis der SZXC im Spiel dargestellt zu bekommen. Wichtigste Funktionen sind die Ingame-Cheaterabfrage ähnlich Cheating-Death und die Stats-Abfrage des zum Spieleserver gehörenden Stats-Servers.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

PHP Webshop
2006
HTML / JavaScript (JS) / Document Object Model (DOM) / Cascading Style Sheets (CSS)
MySQL Database Connections(PHP)
User Management(PHP)
WebShop(PHP)
Dieser WebShop entstand in der Berufsschule innerhalb eines 2-mann kleinen Entwicklungsteams. Das Modul für die Benutersessions ist nicht von mir sondern von tinitram. Das ganze ist ein Auktionshaus, wie ebay-nur kleiner. Prinzipiell liegen sämtliche Produkte und Benutzer in einer SQL-Datenbank. Es gibt kein Design der Oberfläche, daher dieser Nur-Text-Look. Dafür war eine dritte Person gedacht, jedoch war diese innerhalb des Projektzeitraums von gerade mal 2 Wochen krank. An diesem Projekt lässt sich sehr gut ein mehrschichtiges modulares Konzept erkennen, dass im Fachkonzept auch als solches bezeichnet ist.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

Isometric JavaScript Engine(beta)
2006
HTML / JavaScript (JS) / Document Object Model (DOM) / Cascading Style Sheets (CSS)
Isometric graphics engine(JS)
Staggered Maps(JS)
Dies ist ein Projekt an dem ich zur Zeit arbeite. Es soll eine Spieleengine in JavaScript werden, die die Spielfläche als Isometrische Karte darstellt, ähnlich wie Civilization oder Diablo. Eventuell wird das ganze mit Karten in Plain Text Files funktionieren. Mal schauen, ob es bei einer Studie, einem Proof-of-concept oder einem beliebten MMORPG endet.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

JavaScript Process Kernel
2006
HTML / JavaScript (JS) / Document Object Model (DOM) / Cascading Style Sheets (CSS)
Virtual Processes(JS)
Ein als Proof-of-concept gedachtes JavaScript Kernel. Es kann virtuelle Prozesse ausführen, entweder indem aus ein Objekt erstellt oder eine Funktion aufruft. Natürlich kann es auch Prozesse beenden und Nachrichten mit dem Prozess austauschen. Ziel ist eine Mehrschichtarchitektur, die ähnlich wie in richtigen Betriebssystemen mit Multitasking und GUI arbeitet. Das alljährlich erneuerte GUI-System der »SynthelicZ« Seite soll mit diesem Kernel und dem Dynmischen JavaScript Lader zusammengeführt werden und so als Arbeitsoberfläche für die Besucher dienen.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

»SynthelicZ« Transferpage
2006
HTML / JavaScript (JS) / Document Object Model (DOM) / Cascading Style Sheets (CSS)
Cross-Browser CSS
Dieser Transferpage war in der Zeit online, zu der gerade die alte Homepage auf die neue umgestellt wurde. Dies dauerte ca. 2 Wochen, in denen die Besucher mit dieser Zwischenseite auskommen mussten.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

»SynthelicZ« Homepage
2006
HTML / JavaScript (JS) / Document Object Model (DOM) / Cascading Style Sheets (CSS)
Window-coding(JS)
Eventhandling(JS)
Cross-Browser(JS)
Dynamic Design(JS)
Dynamic Skinnable Elements(JS)
typical GUI-Elements (Icons, Windows, Desktops)(JS)
Extended Objects(JS)
Virtual File System(JS)
ObjectViewer/-parser(JS)
Encryption methods(JS)
Tree-Parsing(JS)
Mit diesem Projekt soll sowohl ein Proof-of-Concept geliefert werden, als auch eine umfangreiche GUI mitsamt virtuellen Datenträgern zur Verfügung gestellt werden. Außerdem ist ein Verschlüsselungstool, sowie ein Objekt-Viewer enthalten. Es gibt virtuelle Anwendungen, die in Form von IFRAMES oder DIVs bereitgestellt werden. Das ganze ist zudem modular, so dass im Betrieb Objekte eingeladen und verwendet werden können. Natürlich findet sich auch allerhand Inhalt zum Project »SynthelicZ«, sowie zum CS-Clan des Projektes.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

CSS Fensterstudie
2006
HTML / JavaScript (JS) / Document Object Model (DOM) / Cascading Style Sheets (CSS)
CSS Positioning
CSS Cross-Browser
Bei diesem Projekt geht es darum visuelle Skins nicht wie bisher über JavaScript, sondern allein durch CSS zu realisieren. Dies soll einen Geschwindigkeitsgewinn in der nächsten Fenster-basierten Oberfläche bringen. Außerdem soll damit die browserübergreifende Engine zuverlässiger arbeiten.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

»SynthelicZ« Askengine / D&D Characterhelper
2006
HTML / JavaScript (JS) / Document Object Model (DOM) / Cascading Style Sheets (CSS)
Dynamic Rulesets
Dynamic Content
Dynamic GUI
Mix of local and web content
Cross-browser
In Ahnlehnung eines Charakterberaters für das Spiel Dungeons&Dragons habe ich diese Fragebogen-Engine geschrieben. Sie ist universell einsetzbar und kann mit den verschiedensten Fragen und Regelwerken gefüttert werden, um jede Art von Fragebogen zu simulieren und die Antworten des Benuters auszuwerten. Sie enthält weiterhin einen Editor, mit dem sich die Auswirkungen jeder Frage bearbeiten lassen, so dass es mit wenigen Mouse-Clicks möglich ist einen Fragebogen zu generieren. Der Charakterberater für Dungeons&Dragons war das erste Regelwerk und der erste Fragenkatalog für die Engine. Er dient dazu den jungen Rollenspielern bei ihrer Wahl eines Charakters zu helfen, indem er anhand ihrer Antworten auf die gestellten Fragen den Charakter zusammenstellt, der ihnen am nächsten kommt.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

Containermanager
2006
HTML / JavaScript (JS) / Document Object Model (DOM) / Cascading Style Sheets (CSS) / Active Server Pages (ASP) / VisualBASIC Script (VBS) / OracleSQL
Dynamic GUI
Parser
User management(ASP)
Ein Projekt hinter dem viel Arbeit steckt ist der Containermanager. Er hat einige tausend Zeilen Quellcode und wurde komplett mit einem Benutzermanagement, oder Benutzerverwaltung, der Implementation von Gruppen und Kategorien und umfangreicher Datenbankanbindung entwickelt. Das Projekt kann jede Art von Daten darstellen, solange die Datenstruktur einem gewissen Schema folgt. Grundsätzlich gibt es eine hierarchische Struktur bei der Anzeige, die sich in Ober- und Unterklassen teilt. Dabei werden die Oberklassen durch die umrandeten DIVs dargestellt und die Unterklassen als Blöcke innerhalb der Oberklassen. Der Containermanager ist sehr flexibel und wurde auf den Screenshots als Versionverwaltung verwendet. Ebenso wäre er geeignet alle Computer eines Unternehmens zu verwalten oder eine Übersicht sämtlicher Server und den auf ihnen laufenden Applikationen, die Auslastung derselben oder auch für ganz andere Dinge. Ein Parser kann sogar Abhängigkeiten innerhalb verschiedener Tabellen verfolgen und Datenblöcke farbig darstellen. Es können sogar mehrere verschiedenartige Oberklassen auf einer Seite dargestellt werden, die ebenfalls verschiedenartige Unterklassen enthalten können. Dieses System kommt in einer modifizierten Version momentan in der T-Systems zum Einsatz, weswegen ich leider keinen Quellcode dazu veröffentlichen darf. T-Systems verwaltet damit seine Server und ihre Applikationen und stellt eine Verbindung zwischen Servern und Projekten bzw. Umgebungen und Systemen her. Dort liefert der Containermanager wichtige Aussagen darüber zu welchen Systemen welche Server gehören und ob Server eventuell völlig unausgelastet sind. Benutzer die das Tool benutzen können sich zudem ihre Ansichten umsortieren und Datensätze ausblenden, die für sie uninteressant sind. Bei der Entwicklung wurde peinlichst genau auf CSS und HTML Konformität geachtet und auch "barrierefreies" Benutzen für sehbehinderte Menschen ist möglich.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

»SynthelicZ« History
2006
HTML / JavaScript (JS) / Document Object Model (DOM) / Cascading Style Sheets (CSS)
Dynamic GUI
Cross-Browser
Text-Browser compatible
Tableless Design
Um meine History und meine Referenzen benutzerfreundlich umzusetzen und trotzdem eine JavaScript-freie Version darbieten zu können, wurde diese Seite erzeugt. Sie dient einzig und allein der Navigation durch meine persönliche Programmiergeschichte und bietet auch mir selbst einen Überblick was ich schon gemacht hab und was nicht.
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

»SynthelicZ«