Freitag März 01, 2013

Camera C64 für iPhone

mzl.ihwajylu.320x480-75.jpg Lustige App für's iPhone. Mit Camera C64 for iPhone holt man sich das "Bildfeeling" vom C64 zurück, in dem man Aufnahmen entsprechend verfälschen kann, damit sie so aussehen, wie seiner Zeit auf dem C64.

Mittwoch Feb. 20, 2013

Cassini Top 10 Bilder 2012

Auf der JPL Seite zur Raumsonde Cassini kann man sich jetzt die schönsten Bilder von 2012 anschauen. Sind ein paar sehr schöne Aufnahmen von Saturn und seinen Begleitern dabei.

Varnish Cache Objekt vor Ablauf der TTL erneuern

Der Varnish ist an sich ein toller Reverse-Proxy, hat nur vereinzelt ein paar Dinge, die manchmal etwas Kopfzerbrechen bereiten. Eine Sache davon ist, das Erneuern von gecachten Objekten. Ist die TTL eines Objekts abgelaufen und jemand frägt dieses Objekt ab, muss er warten, bis der Varnish es vom Backend neu gezogen hat. Fragen andere gleichzeitig dieses Objekt ab, bekommen sie es weiterhin aus dem Cache, soweit man eine Grace-Period definiert hat. Aber dieser eine o.g. User muss warten. Das kann man umgehen, in dem man sich für die wichtigsten Seiten einen Job schreibt, der das Objekt bereits vor Ablauf der TTL erneuert. In der Varnish-Konfiguration könnte das dann so aussehen:

acl refresh {
  "localhost";
}

sub vcl_recv {
  if (req.request == "REFRESH") {
    if (client.ip !~ refresh) {
      error 405 "Not allowed";
    }
    set req.hash_always_miss = true;
    set req.request = "GET";
  }

req.hash_always_miss funktioniert seit Varnish V 2.1.4. Während die User ja die Seiten mit der HTTP GET-Methode weiterhin aus dem Varnish-Cache bekommen, kommt unser Skript mit der REFRESH-Methode rein, setzt "req.hash_always_miss = true" und umgeht somit den Cache und zieht das entsprechende Objekt neu vom Backend. Anschließend wird es im Cache ersetzt und wir haben wieder ein "frisches" Objekt. Sehr praktisch :-)

Montag Feb. 11, 2013

npm cheatsheet

Marak Squires hat auf dieser Seite ein recht praktisches Cheatsheet zusamengestellt, mit allen wichtigen Kommandos für den NodeJS Paketmanager npm.

Vermeintlicher Telefonanruf des Microsoft-Kundendienstes

Bei einem Telefonanruf des "Microsoft-Kundendienstes" ist grösste Vorsicht geboten. Der vermeintliche Support-Mitarbeiter will, das er TeamViewer installiert. Am anderen Ende der Leitung spricht ein Gauner. Aber ein User weiß sich zu helfen - er hat einen Atari Mega ST4 Computer :-)

CVGM Computer & Video Game Music

Wer mal wieder alte C64-, Amiga-, Atari-, usw. Songs hören möchte, kann dem CVGM-Stream lauschen und auch selber Songs requesten (wenn man registriert ist).

Samstag Jan. 26, 2013

Slide: Lasttest mit JMeter

Ein gute Einführung von Larry Davidson:

Load Testing With JMeter by LAwebdevmeetup

Loadtesting mit curl-loader

curl-loader könnte für Leute interessant sein, die keine Freunde von GUI-Tools wie JMeter sind. curl-loader läuft komplett auf der Kommandozeile und die Konfiguration ist relativ einfach gehalten - was überhaupt nicht bedeutet, das man damit keine komplexeren Load Szenarien nachstellen könnte. Im Gegensatz zu so einfachen Tools wie ab unterstützt curl-loader auch Authentifizierung, Cookies, POST-Requests, Zufalls-Zeitgeber und noch eine Reihe mehr. Login-Vorgänge lassen sich damit z.B. auch abbilden.

Retro Remakes: Bulla Bolla (Bubble Bobble)

Leider nicht für Linux aber für Mac und Windows gibt es einen kostenlosen 3D Bubble Bobble Clone namens Bulla Bolla. Das Ganze gibt es auch als Online-Version (aber da man ein Plugin benötigt, auch hier nur für Mac und Windows...).

Memcache/Redis Proxy: twemproxy

Die Twitter-Jungs haben schon vor einiger Zeit einen Proxy names twemproxy herausgebracht, welcher in C geschrieben ist, um als Vermittler zwischen den Redis-Clients und vielen Redis-DBs zu sitzen, was die Connection-Anzahl bei den Redis-DB deutlich reduzieren kann. Fast noch interessanter ist aber, das die Proxies auch sharding und consistent hashing beherrschen. Damit lassen sich Daten recht einfach auf verschieden Nodes verteilen, ohne das sich der Client um eine solche Implementierung kümmern müsste. Sehr praktische Sache :-)

Freitag Jan. 25, 2013

Computer Club 2 - 30 Jahre Commodore 64 mit dem Return-Magazin

iUI - Framework für Smartphones und High-End Devices

Mit dem iUI Web-Framework kann man Webapps bauen, die von der GUI so aussehen wie native iOS, Android, usw. Apps.

Redis Partitioning

Wie man Daten auf verschiedene Redis-Instanzen am Besten verteilt, beschreibt dieser Artikel.

Donnerstag Jan. 24, 2013

Python: Exceptions mit Context Manager kapseln

Einen sehr schönen Blog-Post hat William Thompson verfasst. Dabei geht es darum, diese, den Lesefluß störenden try: ... except: ... Blöcke aus Python-Skripten rauszubekommen und mit Hilfe der Contextmanager und dem with-Statemant lässt sich das sehr schön lösen, wie ich meine.