Skip to content

Espruino: JavaScript Mikrocontroller

Auf Kickstarter.com gibt es gerade ein neues Projekt: Espruino (JavaScript for Things), ein Mikrocontroller der ähnlich einem Raspberry Pi klein und energiesparend ist, sich aber in JavaScript programmieren lässt. Nach ein paar Tagen bereits wurde das Ziel für die Realisierung erreicht, aber man kann noch einsteigen. 

Interessant ist das allemal. Ich sollte das im Auge behalten.

Zabbix SNMP - Error building asn.1 representation

Fragt man mit Zabbix per SNMP Hosts ab und erhält die Meldung

Error building asn.1 representation

liegt es vermutlich an den fehlenden (und vermutlich noch nicht installierten) MIBs. Um unter Debian/Ubuntu diese MIBs zu installieren, genügt ein

apt-get install snmp-mibs-downloader

Danach sollte Zabbix noch mal durchgestartet werden und die SNMP Fehlermeldung sollte weg sein.

Testen kann man dies beispielsweise mit

snmpget -v2c -c public <serveradresse> SNMPv2-MIB::sysUpTime.0

Erhält man wie erwartet die aktuelle Uptime als Antwort, werden die MIBs aufgelöst und es funktioniert.

GlusterFS zu OCFS2 mit DRBD migrieren

Mit Cluster Filesystemen kann man schon ziemlich viel Zeit verbringen. Nicht nur beim Einrichten, sondern auch beim Warten auf Daten, die von eben jenen Filesystemen angefordert werden. 

Major Hayden beschreibt in seinem Blog, was ihn dazu bewogen hat, von GlusterFS auf ein OCFS2/DRBD Konstrukt zurück zu wechseln. Der Post ist schon von 2010, dürfte aber grundsätzlich noch immer relevant sein.

Open Source Digital Asset Management

DAM oder "Digital Asset Management" Software wird zum Verwalten von digitalen Gütern verwendet. Häufig sind das Bilder oder andere Medien. Es gibt im Open Source Bereich zwischenzeitlich einige brauchbare Produkte:

Darüber hinaus habe ich noch einige weitere gefunden, die obigen sahen mir aber am brauchbarsten aus.

Wozu man so etwas benötigt? Beispielsweise für die Verwaltung gekaufter Bilder von Bildagenturen. Diese werden ja nur unter bestimmten Bedingungen lizensiert und auch wenn man ein solches Bild nach einem Jahr noch mal irgendwo verwendet, muss man diese Lizenzbestimmungen natürlich beachten. Damit hier keine bösen Überraschungen drohen, sollte man die Lizenz immer gemeinsam mit dem Bild aufbewahren. Und genau so etwas kann ein DAM tun.

Ein anderes Beispiel: Ein Wiederverkäufer hatte von verschiedenen Herstellern Produktbilder bekommen und stellte diese seinen Kunden wiederum zur Verfügung. Das gefiel einem der Hersteller nicht und mahnte den Wiederverkäufer ab aufgrund der nicht erteilten Lizenz. Und wenn man einige tausend Bilder zu verwalten hat, dann kann das manuell recht mühsam sein und der Einsatz eines DAM sich sehr schnell amortisieren.

Webserver, simpel

python -m SimpleHTTPServer

Der Befehl startet einen Webserver, der das aktuelle Verzeichnis über Port 8000 freigibt.

~# python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...

Man kann also nun über http://<adresse>:8000/ auf das Verzeichnis zugreifen. Da Python quasi überall vorhanden ist, werden keine weiteren Freigaben oder Software benötigt. Nicht einmal root Rechte braucht man dafür.

Wer einen anderen Port bevorzugt, kann diesen noch dahinter angeben:

python -m SimpleHTTPServer [port]

So etwas ähnliches gibt's auch in Bash, die obige Lösung finde ich aber einfacher.

Rsync Logical Volumes / LVM

Wenn man regelmäßig Daten transferieren oder abgleichen möchte, dann ist Rsync in der Regel das beste Mittel der Wahl. Rsync überträgt nur geänderte Dateien, tut dies sehr effizient, komprimiert dabei noch und verschlüsselt die Daten während des Transfers. Rsync funktioniert für regelmäßige Dateitransfers also extrem gut.

Schön wäre es nun, wenn man so etwas wie Rsync auch für sehr große Dateien oder Logical Volumes eines LVM verwenden könnte. Ein typischer Anwendungsfall ist die Sicherung von virtuellen Maschinen, bei denen diese Images auch schon mal mehrere hundert GB groß sind.

"Rsync Logical Volumes / LVM" vollständig lesen

Bash: Zeile für Zeile

Neulich musste ich für die Umstellung eines Mailsystems ca. 3.300 Aliase umschreiben. Da diese Aliase aus mehreren Quellen stammen sollte das ganze auch automatisch und jederzeit wiederholbar sein. Ich kam irgendwann an den Punkt, an dem ich eine Datei lesen und mit jeder Zeile etwas tun musste. 

Der Klassiker in Bash ist einfach:

for LINE in $(cat /pfad/zur/datei)
do
    echo $LINE
done

Dazu gibt es jedoch eine meist bessere Alternative:

while read LINE
do
    echo $LINE
done < /pfad/zur/datei

Variante 2 nutzt das read Kommando unter Linux und liest die Datei wirkich zeilenweise, wogegen Version 1 wortweise liest.

Beispiel:

Quelldatei

zeile eins
zeile zwei

Ergebnis der Variante 1:

zeile
eins
zeile
zwei

Ergebnis der Variante 2:

zeile eins
zeile zwei

Mir gefällt mir die erste Variante durchaus besser von der Form, aber sie verhält sich eventuell nicht, wie man es erwarten würde.

Zarafa WebApp 1.3 verfügbar

Zarafa veröffentlicht die neue Version der WebApp.

Da die WebApp unabhängig vom normalen Release Zyklus der Zarafa Collaboration Suite (ZCP), alsod es normalen Zarafa Server Pakets ist, kann man es auch direkt für die Versionen ab 7.0.12 und 7.1.0 herunterladen und einsetzen. 

Mein persönliches Highlight ist übrigens der Drag & Drop Upload von Attachments direkt aus dem Windows Explorer heraus. Und das sogar ohne Java nur mit HTML5. Perfekt ;-).

tweetbackcheck cronjob