Das Invertika Update im September

Auch der September hat einen letzten Sonntag, so das es wieder Zeit ist für das Invertika Update. Bei Invertika handelt es sich um ein freies 2D-MMORPG unter GPL. Seit diesem Update gibt es in Burg Cedric ein Holzfällerhaus sowie einige Überarbeitungen im Greganyzoo. Auch wird nun überprüft ob man wirklich eine Eintrittskarte für den Zoo besitzt. In der Zentralbank wurden einige Fehler im Zusammenhang mit alten Tilesets behoben.

Einige fehlerhafte Warps und Ebenenfehler (Kacheln welche in der falschen Ebene liegen) wurden behoben. Das gleiche gilt auch für einige Kollisionstiles, welche angepasst wurden. In diesem Zuge gab es einige Anpassungen an einigen Tilesets.

Eine Netheksäule

Am Webclient wurden in diesem Monat mit der Nutzeroberfläche, bzw. der Implementation der selben experimentiert. Die Nutzeroberfläche ist nötig, damit der Nutzer Aktionen wie den Loginvorgang et cetera erfolgreich abschliessen kann. Bei weiterem Fortschritt der Arbeiten sollte es bald eine benutzbare Version geben.

Ein unterirdisches Dorf

Wer jetzt neugierig geworden ist, der kann sich Invertika unter http://invertika.org anschauen. Sehr hilfreich für den ersten Eindruck sind auch die Weltkarte und die Wiki.

CIA.VC ist tot

CIA.VC ist tot. Lang lebe CIA.VC. So könnte man die aktuelle Lage zusammenfassen. Bei CIA.VC handelte es sich um einen Dienst welcher die Aktivität von Open Source Projekten anzeigte und auch IRC Bots anbot, welche z.B. bei jedem Commit eine Nachricht im IRC Channel des Projektes hinterließen, was recht hilfreich war. Wenn man nun die Seite aufruft wird man nun von einer Meldung überrascht.

Die aktuelle und vorerst letzte Meldung von CIA.VC

Augenscheinlich gab es ein Problem beim Internet Service Provider, welcher die CIA.VC Server betreute, so das diese komplett gelöscht wurden. Auch gibt es keine Backups so das der Service im Moment nicht wieder hergestellt werden kann.

Das „Atheme Team“ möchte sich dabei nicht mehr die Mühe machen das ganze wieder aufzubauen und hat das ganze an Ilkotech übergeben, in der Hoffnung das diese das ganze von Grund auf neu aufsetzen. Schauen wir was die Zukunft bringt, es wäre schade um diesen Dienst.

Tears of Steel

Das vierte Open Movie Projekt ist da: „Tears of Steel“. Im Gegensatz zu den vorherigen Projekten „Elephants Dream“, „Big Bug Bunny“ und „Sintel“ ist der diesjährige Film nicht komplett animiert sondern von echten Schauspielern „durchsetzt“. Es handelt sich dabei um einen Science Fiction Film, in welchen natürlich stilecht die Welt gerettet werden muss.

Aktivieren Sie JavaScript um das Video zu sehen.
Video-Link: https://www.youtube.com/watch?v=R6MlUcmOul8

Zu finden ist der unter der CC-BY Lizenz stehende Film unter http://www.tearsofsteel.org/.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Blender_Foundation

Binärdaten über Websockets verschicken

Über Websockets kann man Binärdaten verschicken, leider ist dies nicht ganz so einfach wie es sein sollte. Das erste Problem ist, das es in JavaScript bis vor einiger Zeit keine „Binärtypen“ gab. Aber dank einiger Dinge ist es mittlerweile möglich Binärdaten per JavaScript und Websockets zu versenden. Mein Problem an der binären Datenübertragung war bisher, das es augenscheinlich nirgens ein komplettes Beispiel gibt, welche diese einfach mal demonstriert. Dabei ist das ganze relativ einfach:

<!DOCTYPE html>
<html>
  <head>
    <title>Websocket Binary Test</title>
    <meta charset="utf-8" />
  </head>
  <body>
    <script type="text/javascript">
      websocket = new WebSocket("ws://echo.websocket.org");
      websocket.binaryType = "arraybuffer"; //Binärtyp auf arraybuffer setzen

      //OnOpen verdraten
      websocket.onopen = function (e) {
        //Array zusammenbauen
        var message = new ArrayBuffer(9);
        var dataViewMessage = new DataView(message);

        dataViewMessage.setInt8(0, 25); //Command ID
        dataViewMessage.setInt16(1, 11); //Account ID
        dataViewMessage.setInt32(5, 43333020); //Anzahl der Credits

        //message per Websocket wegschicken
        websocket.send(message);
      }

      //OnMessage verdraten
      websocket.onmessage = function (wsPackage) {
        //Datentyp ermitteln
        if(wsPackage.data instanceof ArrayBuffer) alert("ArrayBuffer");
        else if(wsPackage.data instanceof Blob) alert("Blob");
        else if(typeof wsPackage.data === "string") alert("string");

        //Daten empfangen und auseinander bauen
        var dataViewPackage = new DataView(wsPackage.data);
        alert(dataViewPackage.getInt8(0));
        alert(dataViewPackage.getInt16(1));
        alert(dataViewPackage.getInt32(5));
      }
    </script>
  </body>
</html>

Im den ersten Zeilen im Skriptteil wird zuerst ein Websocket angelegt, welches sich mit „ws://echo.websocket.org“ verbindet. Dieser Server gibt immer genau das zurück was er empfängt und eignet sich somit ausgezeichnet für diesen kleinen Test.

Danach wird der „binaryType“ des Websockets auf „arraybuffer“ gesetzt, da wir mit einem solchen arbeiten wollen. In der verknüpften „OnOpen“ Methode wird ein „ArrayBuffer“ mit der passenden Größe angelegt und mit diesem ein „DataView“ initialisiert. Mit diesem ist es dann möglich problemlos möglich die entsprechenden Werte in den „ArrayBuffer“ zu setzen.

Dies geschieht dann mit den Zeilen:

dataViewMessage.setInt8(0, 25); //Command ID
dataViewMessage.setInt16(1, 11); //Account ID
dataViewMessage.setInt32(5, 43333020); //Anzahl der Credits

Am Ende wird das ganze weggeschickt und anschließend wieder in der „OnMessage“ Funktion empfangen. Dort wird der Datentyp ermittelt (für den Fall das man mit mehreren Typen arbeitet) und anschließend wird das Paket wieder Binär auseinander genommen.

Weitere Informationen gibt es unter:
http://www.websocket.org/echo.html
http://www.html5rocks.com/en/tutorials/webgl/typed_arrays/
https://developer.mozilla.org/en-US/docs/JavaScript_typed_arrays
http://msdn.microsoft.com/de-de/library/br212463%28v=vs.94%29.aspx
https://developer.mozilla.org/en-US/docs/JavaScript_typed_arrays/ArrayBuffer
http://stackoverflow.com/questions/11390021/transferring-files-with-javascript-through-websockets

osTicket

Im Open Source Bereich gibt es ja durchaus einige Ticketsysteme, wie z.B. das Open Ticket Request System (OTRS). Problematisch an den meisten Open Source Ticketsystemen ist dabei der Umstand das diese meist nicht bei den Wald- und Wiesenprovidern laufen, da es dort meist nur PHP und MySQL gibt. OTRS z.B. benötigt Perl, andere Systeme benötigen Ruby. Auf der Suche nach einem System welches auf einem solchen LAMP System läuft, habe ich osTicket gefunden. Dabei handelt es sich um ein freies Ticketsystem unter GPL. Problematisch sehe ich bloß das letzte Release welches im Jahr 2010 aufgelegt wurden. Das System selbst ist unter http://osticket.com zu finden. Derzeit scheint es leider kein halbwegs aktuelles Open Source Ticketsystem (welches unter PHP und MySQL läuft) zu geben.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Open_Ticket_Request_System
http://en.wikipedia.org/wiki/Comparison_of_ticket-tracking_systems