Ich wollte nur [...] und dann ist das Universum explodiert.

Projects
Books
Archive
About









    Permalink
  1. ZRE | Live Game Mitschnitt via jQuery und PHP

    Eine der Aufgaben, von denen ich wirklich wenig bis keine Ahnung habe, war die Umsetzung der Live Gamebox für ZRE. Die Anforderung hat mich ehrlich gesagt mal in die Nähe des Web2.0 Wahns getrieben, von dem ich mich sonst fernzuhalten versuche. Zumindest von Entwicklerseiten her.

    ZRE als Daemon (ja, der Teil kommt auch noch) hat die Eigenschaft im zufällig wiederkehrendem Rhythmus Output in ein Textfile zu produzieren. Dieses Textfile (game.txt) hat einen Platz im DocumentRoot des Webauftritts zombies.n0q.org (Ist das eigentilch das erste Mal, dass ich die URL erwähne? Ich glaube ja.). Diese möchte ich parsen und über asynchrone Aktualisierung in den Browser des Heimanwenders bringen.

    Zuerst musste ich also den PHP Parser Teil schreiben, der mir die letzten 20 Zeilen, oder falls weniger eben diese aus meiner game.txt ausließt.

    $input = file($zreoutput);
    $resultArray = "";
    $index = 20;
    if (count($input) < 20)
    {
       $index = count($input);
    }
    for($i=count($input)-$index; $i
    {
       $resultArray .= $input[$i]."<br/>";
    }
    return $resultArray;

    Als nächstes war es dann noch nötig diesen zurecht gebogenen Output dann noch selbst aktualisierend in meine Index Datei zu portieren. Dazu ist dann eine JavaScript nötig um die Funktion zu definieren.

    setInterval(
        function() {
          $('#gamebox').load('../statics/gamequery.php');
          }, 2000
    );

    Jetzt mussten sowohl jQuery als auch das JavaScript Snippet in die Index Datei eingebunden werden. Über Kritik und Anregung freue ich mich natürlich wie immer.

    <!-- game informations -->
    <script src="js/jquery-min.js" type="text/javascript"></script>
    <script src="js/gamebox.js" type="text/javascript"></script>
    <!-- game results -->
    <div id="gamebox"></div>
    

    An der Stelle hatte ich gleich mal tatkräftige Hilfe eines Arbeitskollegen ;) Danke an dieser Stelle.


  2. Permalink
  3. ZRE | Zombie Revolution Environment. Im Web!

    Demnächst könnte es unter Umständen zu einer Vielzahl von Posts kommen, die sich um das damals erwähnte Zombie Revolution Environment drehen. Um jetzt nicht unnötig weit auszuholen versuche ich es mal so kurz wie mögilch zu beschreiben.

    Vor ca. 2 Wochen bekamen wir @ School einen Flyer für den JOY-Dortmund Wettbewerb für Informatik Projekte von IT Auszubildenden. Was unter anderem zu dem hier erwähnten Projekt führte. Holger und ich kamen auf die Idee im Grunde ZRE für das Web umzusetzen. Aber nicht nur um die Welt auf unterhaltende Art und Weise anzeigen zu lassen, sondern viel mehr eine Analyse des Spielverlaufs mit Hilfe von Statistiken zu erstellen.

    Da das “Spiel” ausschließlich aus zufällig generierten Umständen besteht, wäre die Auswertung der Entwicklungen der simulierten Welt evtl. interessant. Grade wenn man so auf Statistiken steht. :/

    Anforderungen

    • ZRE (in Bash geschrieben) als lauffähigen Daemon umsetzen der Output an eine Stelle generiert. (Bash – Shell)
    • Eine geeignete Website erstellen bzw. designen (HTML, CSS, PHP)
    • Eine Schnittstelle die die generierten “Welten” im Web anzeigt. Am besten als selbst aktualisierende live Anwendung. (JavaScript, AJAX)
    • Ein SQL-Modul für ZRE entwickeln, welches statistische Werte an eine Datenbank übermittelt. (MySQL)
    • PHP-Funktionen definieren, die Ergebnisse aus Datenbank abholen. (PHP)
    • Statistiken visualisieren (R statistical Programming Language)

    Im wesentlichen sieht die Aufgabenteilung vor, das sich Holger um Website, Design und PHP kümmert und ich mich um die Bash-Module, ZRE an sich, SQL Datenbank und statistische Auswertung bemühe. Selbstverständlich würden wir auch jegliche andere Hilfe oder freiwillige Mitarbeiter dafür begrüßen, falls Interesse besteht. Das wir an dem Wettbewerb teilnehmen wird zusehens unwahrscheinlicher, da das Projekt an sich schon eher einen Unterhaltungswert, statt dem wirklichen Nutzen eines IT-Projekt hat.

    Wer sich ZRE an sich mal ansehen will, kann einfach mal das Git-Repo auschecken und starten (auch unter Mac OS X lauffähig).

     

    $ git clone git://github.com/noqqe/zombie-revolution-environment.git
    $ cd zombie-revolution-environment
    $ ./zre.bash
    

  4. Permalink
  5. Charset | UTF8 für Apache, PHP, MySQL, Debian und WordPress

    Nachdem ich die Migration meines Blogs auf meinen neues Stück Blech größtenteils abgeschlossen hatte, wurde ich wieder an den Charset Wirr-Warr von IT-Systemen erinnert. Um meinem Blog seine Umlaute wieder zu beschaffen habe ich folgende Änderungen an verschiedenen Stellen eingespielt. Vorzugsweise immer in den entsprechenden conf.d/ Verzeichnissen, da die Änderungen evtl. beim nächsten Upgrade überschrieben werden könnten.



    Apache2 Charset
    vim /etc/apache2/conf.d/charset
    AddDefaultCharset UTF-8

    PHP5 Charset
    $ vim /etc/php5/apache2/conf.d/charset.ini
    [PHP]
    default_charset = "utf-8"
    [mbstring]
    mbstring.language = utf-8
    mbstring.internal_encoding = utf-8
    mbstring.http_input = utf-8
    mbstring.http_output = utf-8

    MySQL Charset
    $ vim /etc/mysql/conf.d/character
    [client]
    default-character-set = utf8
    [mysqld]
    default-character-set = utf8
    character-set-server = utf8
    collation-server= utf8_general_ci
    init_connect = ‘SET collation_connection = utf8_general_ci’
    init_connect = ‘SET NAMES utf8′
    [mysqldump]
    default-character-set = utf8
    [mysqlimport]
    default-character-set = utf8
    [mysql]
    default-character-set = utf8

    Debian WordPress Config
    $ vim /etc/wordpress/config-blog.url.php
    define('DB_CHARSET', 'utf8');
    define('DB_COLLATE', '');
    define('WPLANG', 'de_DE.UTF-8');

    Debian Locales
    $ dpkg-reconfigure locales

    Sollte ich es mal wieder brauchen, les ich hier nach.


  6. Permalink
  7. WordPress | Archive Page erstellen

    War ‘ne schwere Geburt, was sich da jetzt unter Archive versteckt. Zum einen (ungewöhnlicher Weise) schlecht und nicht umfassend genug dokumentiert bei codex.wordpress.org und zum anderen ist mein aktuelles Theme schon etwas widerspenstig was solche Sachen angeht. Unter anderem diese Widerspenstigkeit war der Punkt, warum ich kein Plugin verwenden konnte.

    Umständlich aber trotzdem zielführend. Die single.php stellt die Einzelansicht eines Blogposts. Super das will ich ja. Die Archiv-Template-Seite kann man in dem Theme-Dir ruhig liegen lassen:

    cd /var/www/blog/wp-contents/themes/clouds/
    cp single.php archive.php

    Darauf folgend habe ich die Post-Aufrufe aus dem Quelltext entfernt. Der Source ist relativ selbsterklärend. Somit besteht nur noch das Grundgerüst einer Einzelansicht. Wo sich vorher die Aufrufe für die Posts befand, fügte ich folgendes ein:

    <br/><b>Monthly outline</b>
    <?php wp_get_archives('type=monthly&show_post_count=1'); ?>
    <br/><b>Post outline by date</b>
    <?php wp_get_archives('type=postbypost');?>

    Die Funktion wp_get_archives ist allerdings sehr schön dokumentiert. Die Kunst an dem eigentlich Spass war aber das einbinden dieser archive.php-Datei.

    Damit WordPress erkennt, dass es sich bei archive.php um eine Template-Datei handelt:

    <?php
    /**
    * @package WordPress
    * @subpackage Default_Theme
    */
    /*
    Template Name: Archives
    */
    ?>

    am Anfang der Datei einfügen. Jetzt noch in WordPress die Seite erstellen. Dazu musste ich eine Seite anlegen mit leerem Inhalt. Anschliessend bei Seiten -> bearbeiten -> Quickedit(!) -> Template: Archive auswählen.


  8. Permalink
  9. WordPress | Tags in Theme einbauen

    Ich tagge ;). Und zwar In der Einzelansicht der (mehr oder minder) guten Posts hier. Bewerkstelligen lies sich das mit der Hilfe der Codex WordPress Site und der Datei single.php (Name kann je nach Theme variieren). Vordefinierte Funktion von WordPress:
    <?php the_tags('Tagging: ',' | ','<br/>'); ?>


  10. Permalink
  11. WordPress | RSS und Planet

    rssUm bestimmte Beiträge des Blogs im Planeten erscheinen zulassen, hab ich wie bereits beschrieben einen Feed einer bestimmten Kategorie erstellt.
    http://noqqe.de/?feed=rss&cat=ID_364

    Nach kurzer Rücksprache mit Ritze vom Ubuntuusers-Team ergab sich aber das mit dem generierten Feed was nicht stimmt. <published> und <updated> Tags würden fehlen und somit liess sich der Feed nicht in den Planeten einbinden. Ich begann meinen Feed mit anderen Blogfeeds des Planeten zu vergleichen. Diese rief ich immer mit http://blog.de/?feed=rss auf. Mysteriöserweise erkannte ich nie Unterschiede.

    Am End war trotzdem nur eine einzige Ziffer ausschlaggebend.
    http://noqqe.de/?feed=rss&cat=ID_364

    http://noqqe.de/?feed=rss2&cat=ID_364

    Wer erkennt den Unterschied?
    Kopf -> Tisch.


  12. Permalink
  13. Theme | Clouds edited

    Ich war auf der Suche nach einem Thema für den Blog hier. Was einreihiges. Oder “one column”. Wegen mir auch nicht ganz so auf Usability ausgelegt. Aufjedenfall hab ich dann das Clouds-Theme von http://aliasaria.ca/blog/themes/ ali asaria gefunden, welches unter creativ commons license steht und ich somit verändern darf :). Er hat das ganze auf Basis von http://thoughtcloud.tumblr.com/ gebastelt.

    Nach kleinen Anpassungen siehts so aus. An der Stelle muss ich gleich mal erwähnen das ich inidizierte GIFs hasse, da die Abrundungen (anders als bei quotes.zwetschge.org) mit Bildern gemacht sind.

    Finds schön eigentlich. Ein paar Punkte muss ich noch erweitern zwecks Navigation.
    Greez, Flo


  14. Permalink
  15. Quotes | Sammelsurium ist anders Oo

    “Es sollte ja doch nach aussen hin einen relativ einheitlichen Eindruck machen”. Genau. Deswegen musste das alte Layout von sammelsurium.zwetschge.org dran glauben, und dem quotes.zwetschge.org weichen. Inhaltlich komplett das selbe.

    Juhu grosser Namens-Relaunch. Wegen des schlechten Images der Site

    quotes.zwetschge.org

    Kann man denk ich lassen.


  16. Permalink
  17. Blog | Random-Text-Pool

    Seit gestern gibts neben dem Zufalls-GIF auch noch das Widget Random-Text-Pool. Darin sind im Moment zirka 100 nette Sprüchlein… zum Teil von Fortune zum Teil privat gesammelte Sachen und auch ein paar Sachen die einfach mal gesagt werden müssen. Diese Sprüche werden aus einer MySQL-Datenbank bei jedem Zugriff per Zufall ausgewählt und erneuert :) Wenn ich mehr Sachen finde die da rein passen könnten Pflege ich diese natürlich ein :) Das ganze wird also ständig wachsen :) Viel Spaß beim Lesen! =)


  18. Permalink
  19. html | Favicon in WordPress

    Auch ein Vorteil der Self-Hosting Bloglösung :) Hab eben ein Favicon eingebaut. Aus dem Logo das auch schon im Banner ist. Muss zugeben es ist nicht optimal für eine 16×16 Auflösung geeignet aber das geht glaube ich ok. Ein Favicon wird in der header.php im head-Bereich eingefügt.

    <link rel="shortcut icon" href="http://zwetschge.org/statics/favicon.ico" >

    Greez, Flo


Older »