python-progressbar
Wenn ein Task mal länger läuft, dann hätte man ja gerne oft eine Fortschrittsanzeige. Mit der python-progressbar geht das sehr einfach. 17 Beispiele bzw. verschiedene Arten von Fortschrittsanzeigen sind schon dabei, weitere kann man selber hinzufügen.
Posted at 10:06nachm. Okt. 31, 2012 by cetixx in Links | Kommentare [0]
Dokumentenscanner unter Linux - Fujitsu ScanSnap S1500
Im neuen Linux Magazin 12/12 beschreibt Perlmeister Schilli, wie er seine Bücher mit Hilfe von Perl und dem Dokumentenscanner Fujitsu ScanSnap S1500 einliest. Der scheint unter Linux gut zu funktonieren und wird von SANE unterstützt. Robin Clarke hat hier für ein Script geschrieben, das die die Scan's automatisch einliest und als PDF speichert, sobald man auf den GO Knopf des Scanners drückt.
Posted at 10:06nachm. Okt. 31, 2012 by cetixx in Tipps | Kommentare [0]
Einfaches Solr Start/Stop-Skript
Hier ein kleines Start/Stop-Skript für Solr, wenn man den integrierten Jetty verwendet. Unter Ubuntu braucht man das "daemon" Paket, damit das Ganze funkt. Das Verzeichnis "/opt/solr" sollte dann dem User/Gruppe gehören, den man unter "--user" angibt. Ebenso sollte natürlich das Log-Verzeichnis existieren und dem User gehören, unter dem Solr dann läuft.
#!/bin/sh
Posted at 10:06nachm. Okt. 31, 2012 by cetixx in Tipps | Kommentare [0]
KWin Effekt implementieren mit JavaScript und Plasmate
Martin Graesslin hat auf seiner Seite einen Screencast, wie man mit JavaScript und Plasmate einen KWin Effekt erstellt.
Posted at 10:04nachm. Okt. 31, 2012 by cetixx in General | Kommentare [0]
Die Giana Sisters sind zurück!
Eines der Jump'n'Run Kultspiele auf dem Amiga ist zurück: GIANA SISTERS: TWISTED DREAMS Läuft aktuell auf Windows XP, Vista und Windows 7 und ist seit ein paar Tagen für 14,99 Dollar erhältlich.
Posted at 09:24nachm. Okt. 30, 2012 by cetixx in News | Kommentare [0]
Realtime Analysen mit Redis und Python: bitmapist
Wer schnell Antworten auf
Wie oft war User 123 heute, diese Wochen, diesen Monat online?
Hat User 123 Aktion X ausgeführt?
Wie viele User waren aktiv dieses Monat? Diese Stunde?
usw.
braucht, der sollte sich bitmapist (github) anschauen und implementieren.
Posted at 12:04vorm. Okt. 29, 2012 by cetixx in General | Kommentare [0]
Manchmal entdeckt man noch interessante User-Agents...
Mozilla/4.0 (compatible; MSIE 4.01; Digital AlphaServer 1000A 4/233; Windows NT; Powered By 64-Bit Alpha Processor)
Zu cool: Windows NT mit IE 4 auf einem DEC Alpha :-) Der hat aber sicherlich schon ein paar Jährchen auf dem Buckel... Manche Dinger gehen einfach nicht kaputt wie die Sun 420/450 mit UltraSPARC II - einfach unkaputtbar...
Posted at 11:57nachm. Okt. 28, 2012 by cetixx in General | Kommentare [0]
RedisConf 2012
Am 21./22.10.2012 fand die RedisConf statt. pinterest.com betreibt wohl über zweihundert Redis-Server und dazu noch memcached und auch MySQL, wie zu erfahren war (siehe Notes Part II) -> Stand Mai 2012. Ein erstes Slide gibt es von Crashlytics: Scaling Crashlytics: Building Analytics on Redis 2.6 . Dann gibt es noch RedisConf Notes Part I, Part II, Part III und Part IV.
Mit Reddish gibt es auch eine GUI für Redis.
Weiterhin wurde Redis 2.6 freigegeben (Release Notes). Redis 2.6 unterstützt Lua Scripts. Hierfür gibt es jetzt das Repo of Lua Scripts for Redis.
Dann wurde noch BigCache vorgestellt. Ein auf Redis basierender, verteilter und fehlertoleranter Cache (cache as a service) der zum memcached Protokoll binärkompatibel ist.
Zum Schluss noch ein Tipp: redis-cli --bigkeys zeigt die Keys an, die viel Speicher im Dataset belegen.
Posted at 11:32nachm. Okt. 22, 2012 by cetixx in News | Kommentare [1]
Sentry Application Exception Tracking
Sentry ist ein Event Logging System, um das Handling von Fehlern und Exceptions, die in Applikationen auftreten, zu verbessern und zu zentralisieren. Sentry gibt es auf Github als Open Source oder auch als Hostinglösung. Konnektoren gibt es für div. Programmiersprachen wie Java, Python, PHP, Ruby, Go, Node.js, usw.
Posted at 11:16nachm. Okt. 22, 2012 by cetixx in Links | Kommentare [0]
Langsame MySQL Queries ausfindig machen
Anstatt eines der MySQL Logs (slowquery.log im Speziellen) zu verwenden, um die langsamen Queries heraus zufinden, kann man das Ganze weit weniger invasiv (in Form von CPU und I/O) und genauer gestalten. Man benötigt dafür tcpdump und das Percona Toolkit.
Als Erstes schneiden wir mit tcpdump mal den Netzverkehr mit, der auf dem Standard MySQL Port 3306 läuft (mal angenommen tcpdump läuft auf dem Rechner, auf dem die MySQL auch ist):
tcpdump -s 65535 -x -nn -q -tttt -i any -c 9999999 port 3306 | gzip -c > /tmp/tcpdump.txt.gz
Das kann man dann solange laufen lassen, wie man will. I.d.R. dürften aber 10 bis max. 30 Min. vollkommen ausreichen. Hängt natürlich auch etwas davon ab, wieviel auf der DB so an Queries/Sek. rein gehen.
Dann können wir das Ganze auswerten:
gunzip -c /tmp/tcpdump.txt.gz | /pfad/zu/pt-query-digest --type tcpdump > /tmp/digest.txt
Zu pt-query-digest gibt es unzählige Optionen. Da muss man mal die Doku durchblättern. pg-query-digest kann nebei auch noch PostgreSQL und memcached Queries auswerten. Sehr praktische Sache... :-)
Alternativ finde ich das kommerzielle GUI-Tool Jetprofiler recht schön. Nicht ganz günstig, aber die Daten werden schön aufbereitet (nicht nur Queries, sondern noch viel mehr) und man hat alles im Überblick.
Posted at 11:15nachm. Okt. 22, 2012 by cetixx in Tipps | Kommentare [0]
Freie Editoren für Programmierer
Hier mal eine Auflistung von freien Editoren, die mir in letzter Zeit über den Weg gelaufen sind. Eclipse ist mir inzwischen einfach zu groß und schwerfällig und man braucht das Zeug alles gar nicht, was da drin ist. Die folgenden Editoren haben - wie immer - alle ihre Stärken und Schwächen, aber jeder hat ja auch so seine Vorlieben ;-)
Enki is a text editor for programmers
Ninja-IDE - Speziell (aber nicht nur) für Python-Entwickler mit Code Completion. Gefällt mir persönlich recht gut.
Sublime Text - Nicht OpenSource aber kann man so runterladen. Kostet 59$, wenn man ihn kauft, ansonsten kommt ab und an mal die Meldung, ob man das nicht tun will. Wenn man den Editor aufmacht, denkt man erstmal, was soll das denn sein? ;-) Ziemlich minimalistisch, aber wenn man eine Weile rum macht, sehr mächtig.
Geany - Basiert auf GTK2. Sehr klein und schnell, aber trotzdem schön damit zu arbeiten.
PyCharm - Kostet leider was ;-), aber das Teil ist schon recht gut und ziemlich flott (Python IDE in Java geschrieben - auch nicht schlecht ;-) ). Ist von JetBrains, die auch die Java IDE IDEA machen. Hier ist so ziemlich alles dabei, was das Herz begeehrt. 30 Tage kann man PyCharm kostenlos ausprobieren mit allen Features.
Aptana Studio - Eine ganz gute OpenSource IDE für HTML5, CSS3, JavaScript, Ruby, Rails, PHP and Python.
HTML5 Editoren - Eine Übersicht von 6 HTML5 Editoren.
Posted at 11:13nachm. Okt. 22, 2012 by cetixx in Links | Kommentare [0]
OpenStreetMap in PostgreSQL
Wie man OpenStreetMap Daten in Postgres bekommt, beschreibt dieser Blog von Michal Migurski.
Posted at 11:13nachm. Okt. 22, 2012 by cetixx in Links | Kommentare [0]
Redis in my PostgreSQL
Netter Blog von Craig Kerstiens wie man Redis Datenbanken über die PostgreSQL Foreign Data Wrapper (FDW) abfragen kann. Das Schöne an diesen FDW's ist, das man damit Joins mit externen Datenquellen wie eben einer Redis, MongoDB, MySQL, einer weiteren PostgreSQL, LDAP, usw. machen kann. Gibt sogar einen FDW für Twitter... ;-) Und wenn man das noch weiter spinnt, kann man damit SQL Queries über mehrere NoSQL-DB's machen - man missbraucht also Postgres soz. als SQL-Layer für NoSQL-DBs. Naja, aber der echte Vorteil ist hier, das man Datenquellen verbinden kann. Das kann für einige Anwendungen durchaus sehr interessant sein.
Posted at 01:18vorm. Okt. 19, 2012 by cetixx in Links | Kommentare [0]
VLAN trunking zu KVM VMs
Ein paar Infos zu dem Thema von Matthew Thode.
Posted at 12:19vorm. Okt. 19, 2012 by cetixx in Links | Kommentare [0]
Unit-Tests für Python mit nose
nose vereinfacht das Unit-Tests unter Python etwas und bietet noch etwas mehr. So sammelt nose Tests automatisch, die durchgeführt werden sollen, solange man sich an ein gewisses Schema hält, wie man seine Libs und Code organisiert. Außerdem kann es durch div. Plugins gleich noch Code Coverage, Doctests, Profiling, usw. durchführen.
Posted at 11:59nachm. Okt. 18, 2012 by cetixx in Links | Kommentare [0]