Samstag Jan. 26, 2013

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...).

Freitag Jan. 25, 2013

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.

Python Unit Testing Tutorial

Doug Hellman hatte in seinem Python Module Of The Week das unittest Modul (Python 2.6) ganz gut beschrieben. Corey Goldberg hat das Ganze für Python 3.3 neu aufgelegt.

GUI für die Git History

Das Programm Giggle zeigt unter Linux die Git History recht schön an. Das erleichtert es einem ungemein, den Schuldigen zu finden, wenn mal wieder jemand einen Commit überbruzelt hat, ohne den Konflikt sauber aufzulösen...

Video: Warum die Mondlandung kein Fake war...

Nettes Video auf universetoday.com warum die Mondlandung kein Fake war...

Dienstag Jan. 22, 2013

Statische Bildergallerie erzeugen mit iGal

Wenn man mal schnell aus ein paar Bildern eine kleine statische Webseite mit einer Bildergalerie erzeugen will, ist iGal2 ganz praktisch. Einfach installieren (ist bei div. Linux-Distributionen dabei), in das Verzeichnis mit den Bildern wechseln und igal2 eingeben. Dann die index.html aufrufen in dem Verzeichnis mit dem Browser und glücklich sein ;-)

Donnerstag Jan. 17, 2013

PyQuery - JQuery in Python

Und weil wir vorher gerade bei HTTP-Requests waren: Wer HTML-Seiten manipulieren oder durchstöbern möchte, der tut das mit JavaScript oft mit JQuery. Gleiches geht auch mit Python mit PyQuery. Es wird leider nicht der komplette Funktionsumfang von JQuery unterstützt, aber es ist sehr viel dabei. Da kann man die meisten anderen HTML-Tools oftmals gleich in die Tonne treten ;-)

Python Requests HTTP Lib

Also wer mit Python HTTP-Requests machen möchte, der sollte sich mal unbedingt Requests anschauen und urllib2 gleich vergessen. Die Implementierung ist einfach super und sowas von elegant und effektiv, das sieht man nicht sehr oft. Beispiel gefällig?

>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json; charset=utf8'

>>> r.encoding
'utf-8'

>>> r.text
u'{"type":"User"...'

>>> r.json() 
{u'private_gists': 419, u'total_private_repos': 77, ...} 

>>> r = requests.get('https://github.com/timeline.json')
>>> r.text
'[{"repository":{"open_issues":0,"url":"https://github.com/...

Also wenn das nicht einfach und effektiv ist... :-)

Passed dazu gibt es dann noch requests-cache. Das ist ein transparenter Cache für die Requests-Lib. Ihn interessieren keine HTTP-Header, sondern er cached einen Seitenabruf solange man die Cachezeit angegeben hat. Sehr praktisch wenn man externe Resourcen während des Debuggens miteinbeziehen muss. Macht die Sache erheblich schneller.

Samstag Jan. 12, 2013

MediaGoblin

MediaGoblin ist eine OpenSource Media Publishing Platform, die man sich als dezentralisierte Alternative zu Flickr, YouTube, SoundCloud, usw. vorstellen kann. Das Ganze ist in Python geschrieben und steht noch etwas am Anfang, aber man kann damit schon ganz gut arbeiten.