Archiv

Artikel Tagged ‘blog’

“Ein Besucher”

16. Juli 2010 1 Kommentar

Available in ENG.

Bekomme ich ab und zu von einer Computerstimmt am Rechner zu hören.

Warum? Ich war sehr angetan hiervon: http://tinkerlog.com/2007/12/04/arduino-xmas-hitcounter/, da ich meinen Arduino aber momentan für was anderes brauche, mache ich das ganze Softwareseitig. Ich wollte es außerdem nicht jede 10sec pollen sondern das ganze in Echtzeit haben.

In die Blogsoftware habe ich folgendes eingefügt:

<script type="text/javascript" src="http://fly3rman.dyndns.org:887/counter.js"></script>

Und zwar in den Headerbereich der index.php-Template-Datei von WordPress. Zuerst wollte ich das ganze mit einem PHP-Get Request umsetzen. Doch brauche ich ca. 1 Sekunde timeout dafür. In dieser Zeit jedoch tut PHP nichts und liefert natürlich auch keine Webseite aus. Solange tut also auch der Browser nichts. Alle modernen Browser laden jedoch Elemente parallel und meine Webseite braucht laut Chrome (strg+umschlt+i) ca. 2,5-3 Sekunden um komplett geladen und dargestellt zu werden. In der Zeit spielt es keine Rolle, wenn ein einzelnen Javascript-File nicht geladen werden kann, da parallel eh nochg genug anderes passiert.

Worauf verweist die Adresse? Auf den dyndns.org service und dieser wird von meinem Router automatisch mit der aktuellen IP-Adresse gefüttert. Der Port 887 zeigt auf meinen PC. Lokal läuft ein Python Script mit folgenden Code:

import SocketServer
import SimpleHTTPServer
import winsound

PORT = 887

class CustomHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
    def do_GET(self):
        if self.path=="/counter.js":
            soundfile = "einbesucher.wav"
            winsound.PlaySound(soundfile, winsound.SND_FILENAME|winsound.SND_ASYNC)
            return

httpd = SocketServer.ThreadingTCPServer(("", PORT),CustomHandler)
print "serving at port", PORT
httpd.serve_forever()

Dieser reagiert bei einem HTTP Get Request auf die Datei counter.js und spielt eine Wavedatei ab, die ich vorher bei http://www2.research.att.com/~ttsweb/tts/demo.php gebastelt habe.

Caching ist noch etwas problematisch und ich verstehe das Verhalten gegenüber bereits einmal-nicht-gefundenen-Dateien bei meinem Chrome Browser nicht, aber meistens funktionert es. (F5 funktioniert 1-2 mal im selben Tab, danach wird die Datei ausgelassen, im neuen Tab geöffnet wird wieder ein Request geschickt).

Ich weis, das ganze ist vielleicht etwas unsicher aber ich hoffe mein Coder ist halbwegs exploitfrei =)

Ich weiß übrigens, dass du da bist.

Portierung meines Blogs zu Serendipity gescheitert

1. September 2008 Keine Kommentare

Heute kam ich auf die Idee mal (wieder) Serendipity zu testen und damit eventuell WordPress zu ersetzen.

Nach der Installation konnte ich sogar die Inhalte aus WordPress importieren. Leider gingen dabei die Umlaute zu Bruche (egal ob ISO Oder UTF Einstellung). Dafür wurden aber Benutzer, Einträge (sogar mit richtigen Kategorieren und etc) übernommen.

Nach einigem rumspielen und dem suchen nach passenden Designs, von denen es viel weniger als für WordPress gibt, habe nichts finden können was mir gefiel. Und ein anständiges Gallerieplugin fehlt dem ganzen, man kann nämlich keine Gallerien in Posts einbinden und ich brauche dieses Feature.

Dafür habe ich jetzt auf meinem WordPress statt myGallery, NextgenGallery eingebaut, toll, gibt auch bald Bilder aus dem technischen Museum damit (muss nochmal abklären wie das rechtlich ist). Vielleicht sogar 1-2 Hdr Bilder =).