Mit ‘fbk’ getaggte Artikel

Blörker

Samstag, 20. August 2011

Den Blörker habe ich nur initiiert, damit ich die ersten Erfahrungen bzgl. Ajax, JQuery und verschiedenen Konzepten sammeln kann, wie ich diese mit dem FBK verbinden kann und wie man das Einladen von Inhalten und Zuordnen von diesem auf bestimmte Webseiten-Bereiche zentral steuern kann.

Im Großen und Ganzen ist es ein Twitter-Klon, den ich auch für eigene Projekte und Konzepte einsetzen möchte.

In der aktuellen Version habe ich mich entschieden, dass der Server bestimmt, wo die angefragten Inhalte angezeigt werden sollen. Dazu vielleicht etwas später.

Aktueller Status sieht folgendermaßen aus… (neben einem gerötetem Bauch wegen dieser Sonne).

image

Kleine Demo-Applikation

Samstag, 16. Juli 2011

In Bezug auf den Blog-Beitrag zuvor hatte ich mir überlegt, ob ich mir nicht eine Anwendung zusammenbau, die genau dies tut. Ist zwar jetzt keine Schönheit, soll aber zeigen, dass dieses Konzept funktioniert.

Genutzt wird dafür der FBK. Die einzige Auffälligkeit sind die benötigten Administrator-Rechte, da unter Windows eine Registrierung mit dem http.sys diese benötigt. Hier könnte ich mir aber eine Änderung unter Windows 8 vorstellen, so dass Registrierungen unter http://127.0.0.1/~username oder ähnliches ohne Administratorrechte möglich sind.

Auch lässt sich das Programm jeweils nur einmal starten, da eine feste Url genutzt wird: http://127.0.0.1:8081/BurnSystemsCalc/index.bspx

https://bitbucket.org/mbrenn/calcweb oder direkt als Download: .zip (im bin-Verzeichnis)

Unter Linux gibt es leider ein paar Probleme mit dem eingebetteten Webbrowser, der Webserver selbst läuft einwandfrei.

image

Das ganze lässt sich auch in einem Webbrowser selbst bedienen (solange die Applikation aktiv ist):

image

image

Viele Plattformen

Sonntag, 10. Juli 2011

Erstmal ein paar Screenshots, vielleicht später mal mehr Text.

Unter all den untenstehenden Plattformen kompiliert ein und die gleiche Projektdatei des FBK ohne Fehler und funktioniert auch ohne Einschränkung. Es ist jeder Zeit möglich die IDE zu wechseln und die Vorteile der spezifischen IDE zu nutzen.

.Net… Write once, run everywhere?!

1) Visual C# 2010

image

2) Sharpdevelop 4.0

image

3) Monodevelop Windows

image

4) Monodevelop Linux (Ubuntu)

image

Griechische Geschichte

Donnerstag, 28. April 2011

Die Geschichte von Pyrrhus erzählt von vielen gewonnenen Schlachten, die aber nicht zum Erfolg geführt hat.

WPF hat ähnlich gehandelt. Es hat mich zermürbt, es hat mich mit Fehlermeldungen gequält, es hat mich gehasst.

Das endgültige Ergebnis: Ich habe es besiegt. Jede meiner Niederlagen hat mich zu neuen Höchstleistungen angespornt und nach der Implementierung der NotificationListView wurde das DataBinding von WPF besiegt.

image

Änderungen in den tabellerischen ‘DataGrids’ werden sofort in Xml-Dateien übertragen. Der Nutzer und das DataGrid wissen nichts von den Xml-Dateien.

image

Damit ist der vollständige Round-Trip gewährleistet und ich kann mich nach einigen Tagen endlich wieder an die Implementierung von neuen Funktionen machen…

Umbra und FBK-Konfiguration

Donnerstag, 14. April 2011

Für Umbra habe ich ein Plugin zur Konfiguration des FBK eingebaut.

Ziel des Plugins ist es die Konfiguration und Nutzung des FBK so zu vereinfachen, dass die wichtigsten Funktionen auch ohne Kenntnisse von Xml verändert werden können:

Startet man Umbra, so kann man das FBK-Verzeichnis auswählen und das Plugin ermittelt eine Liste aller konfigurierten und aller vorhandenen FBK-Module.

image

Per Doppelklick auf eines der Module erhält man die aktuelle Konfiguration, die auch modifizierbar und speicherbar ist:

image

Klickt man doppelt auf ein Modul, dass der Umbra-FBK schon bekannt ist, so wird eine spezielle Ansicht erzeugt. Untenstehend sieht man nun eine einfache Demo-Ansicht. Natürlich kann man per Rechtsklick auf die Entität auch die obige Ansicht für dieses Modul erzwingen.

image

In den nächsten Schritten soll eine interne Datenbank mit den Klarnamen der einzelnen Plugin-Module und Beschreibungen hinzugefügt werden und als Fleißaufgabe steht eine Erstellung von Ansichten für die unterschiedlichen FBK-Module an.

Den Quellcode von Umbra (ohne FBK-Umbra-Plugin) kann man im Übrigen unter http://depon.net/w/Umbra per Mercurial beziehen.

Geteiltes Leid ist halbes Leid

Donnerstag, 10. März 2011

Den FBK habe ich nun in mehrere Unter-Repositories auch auf BitBucket unterteilt.

Aus dem vormals großem Modul: BurnSystems.FBK wurden folgende kleinere Module:

  1. BurnSystems.FBK: Enthält nur den Kern, der Plugins verbindet
  2. BurnSystems.FBK.MetaHosting: Enthält die Schnittstellen, die den FBK mit dem MetaHosting verbindet. Zum MetaHosting komme ich später noch einmal.
  3. BurnSystems.FBK.Modules: Allgemeine Sammelstelle für alle Arten von Plugins. Es kann sein, dass ich hier nochmals Unterteilungen fahren werde
  4. BurnSystems.FBK.Modules.Web: Webserver-Funktionalitäten

Leider habe ich spontan nicht herausgefunden wie man Repositories in Mercurial um die nicht mehr benötigten Dateien befreien kann.

Durchgeführt habe ich diesen Schritt durch das Klonen des alten Repositories BurnSystems.FBK in die vier Unterprojekte und dem nachfolgenden Löschen der jeweils nichtbenötigten Dateien. So blieb die gesamte History dieser erhalten. Der Nachteil ist die Größe des Repositories (momentan etwa 13 MB), das nun vervielfältigt worden ist.

Aber c’est ca… Speicher ist billig…

Zu finden unter http://bitbucket.org/mbrenn/another-spacegame-public.

Oder fertig kompiliert unter http://www.depon.net/downloads/fbk.zip

Anfänge einer Html-Bibliothek

Dienstag, 08. März 2011

Um schnell und einfach Html erzeugen zu können, habe ich die Anfänge der ersten zwei Klassen implementiert:

HtmlDocument und HtmlElement

Aus folgendem Schnipsel-Code wird dann ein vollwertiges Html-Dokument erzeugt:

var result = HtmlDocument.Create(
    "Titel",
    new HtmlElement(
        "div",
        "Es ist " + DateTime.Now.ToString()),
    new HtmlElement(
        "div",
        "IP des Aufrufers ist: "
            + webContext.ListenerContext.Request.RemoteEndPoint.ToString())
    );

=>

image

In den nächsten Schritten wird diese Klasse um weitere Hilfsfunktionen erweitert. Insbesondere sollen Hilfsmethoden eingeführt werden, die den Head-Bereich gezielt modifizieren.

Dynamische Bilder, now running again

Freitag, 04. März 2011

Nach der Separierung des FBK vom internen Webserver gab es noch ein paar kleinere Probleme mit den dynamischen Bildern. Diese funktionieren nun wieder.

Der Code für die ImageCreatorRequest-Klasse befindet sich auf Bitbucket.

Konfiguriert wird ein solcher ImageCreator über ein kleines Xml-Schnipsel in der Konfiguration:

<handler url="/images/button.png"
         assembly="BurnSystems.FBK.Web.Requests.dll"
         type="BurnSystems.FBK.Web.Requests.ImageCreatorRequest">
  <page>
    <!–
    Dieses Bild wird als Untergrund genutzt.
  –>
    <src>templates/buttonbackground.png</src>
    <!–
    In diesem Verzeichnis werden die erzeugten Bilder zwischengespeichert,
    so dass nicht bei jeder Abfrage das Bild neu erzeugt werden muss.
  –>
    <cache>cache/buttons/</cache>
    <font face="Arial" size="10" />
    <!–
    Eine Auflistung aller erlaubten Bilder.
  –>
    <images>
      <image name="attack">templates/images/angriff.png</image>
      <image name="defense">templates/images/verteidigung.png</image>
      <image name="message">templates/images/nachricht.png</image>
      <image name="transport">templates/images/transport.png</image>
    </images>
  </page>
</handler>

In den nächsten Tagen werde ich nun eine Beispiel-Webserver-Applikation erschaffen und freigeben.

Another Spacegame ist zurück

Dienstag, 14. September 2010

Nach langer Periode der Abstinenz (den Logs nach ist das Programm schon vor drei Monaten ausgefallen), habe ich mich mal wieder um das Spiel Another Spacegame gekümmert.

Der Grund des Ausfalls war ein Schutzmechanismus. Als irgendwer den ersten Kollektor gebaut hat und dieser angegriffen worden ist, hat der FBK gemerkt, dass das Kampfsystem überhaupt keinen Kollektor kennt und eine Ausnahme geworfen. Das Spiel hat sich daraufhin abgeschaltet.

Diese Gelegenheit habe ich gepackt, Tschacka, um mehrere Dinge zu implementieren:

  1. Beim Starten des FBK wird der Administrator informiert wenn unschöne Konfigurationen bzgl. der Einheiten aufgetreten ist.
  2. Der Administrator erhält eine Mail wenn der FBK wegen einer Ausnahme abschmiert.
  3. Der FBK wurde auf .Net 4 portiert.

Das Ergebnis:

image

Schöner, schneller, besser?!

Zumindest konnten die alten serialisierten Daten eingelesen werden und es war kein Neustart der Welt nötig.

Das Jungfrauenspiel (das im Übrigen schon seit 4 Monaten ohne Aufsicht läuft) wird im Laufe der Renovierungsmaßnahmen ebenfalls auf .Net 4 gehoben.

Hierbei wird auch das Feature implementiert, das das JFS pausieren lässt, wenn ein Spieler eine gewisse Zahl von Punkten erreicht hat.