Wie manche von euch wissen betreibe ich seit einiger Zeit ja ein kleines aber mittlerweile echt ganz gut erfolgreiches Blog über Horror- und Fantasyfilme. Bei dem dritten Gewinnspiel haben über 150 Leute mitgemacht und mir eine Email geschickt. Leider etwas viele um per Losverfahren Gewinner auszuwählen. Das folgende Beispiel wird für erfahrene Programmierer nichts neues sein oder total langweilig. Eventuell hilft’s aber dem einen oder anderen weiter ;-)
Einfach mit OSX Mail die Mails extrahieren, die das richtige Lösungswort enthalten, oder die man untersuchen möchte. Dabei erstellt Mail einfach eine Datei mit allen Email-Quelltexten untereinander in einer Textdatei. Diese kann man super mit der Bash maltretieren und die Absenderadresse extrahieren:
grep -Z -P '^From:s(.+)' mail_export.txt | uniq
Wenn man dann noch zwei Gewinner auswählen möchte, braucht man nur doch die Anzahl der Zeilen in der Datei und wählt dann einfach zwei aus. Das ganze Shell-Script sieht dann so aus:
#!/bin/bash
##########################################################
# Extract n radom emails from a file
#
# Usage:
# winner.sh [filename] [count]
#
# Author: Marcel Eichner // Ephigenia <love@ephigenia.de>
# Date: 2009-03-30
##########################################################
TMPFILE=`mktemp -t emails` || exit 1
grep -Z -P '^From:s(.+)' "$1" | uniq > $TMPFILE
# select random line from file
LCOUNT=`wc -l "${TMPFILE}" | awk ' { print $1; }'`
echo "Choosing ${2:-1} winners from ${LCOUNT} emails"
for (( i = 0 ; i < ${2:-1}; i++ ))
do
LINENUMBER=$((($RANDOM % $LCOUNT) + 1))
sed -n ${LINENUMBER}p ${TMPFILE}
done
Das Script kann wenn es ganz doof kommt auch zwei mal die gleichen Absender auswählen. Wenn das passiert kann man das Bash-Script ja gleich noch mal laufen lassen. Danke an Caspar der noch weitere hilfreiche Anregungen gegeben hat!
Aus aktuellem Anlass wollte ich ein Shell-Script schreiben das mir anzeigt, wenn sich eine Datei ändert (ein Log-File) und diese dann kurz ausgibt. Jedes mal wenn sich also die Datei ändert, klingelt es im Terminal (printf 'a') und ich bekomme die letzten Einträge angezeigt:
interval=${2:-1}
filename=$1
filename=${filename:?"missing."}
while true
do
if test `find "$filename" -mmin ${interval}`
then
clear;
printf "`date`n$filenameann";
tail "$filename"
fi
echo "sleeping for next check in $((interval * 60)) seconds ..."
sleep $((interval * 60))
done
Man kann das auch auf die Spitze treiben, aber so macht’s erstmal das was ich wollte. Benutzt wird es dann wie folgt:
./fileChanged.sh folder/testlog.log
Checkt dann jede Minute ob die Datei sich geändert hat. Wer rausbekommt wie man das mit Sekunden machen kann sagt mir Bescheid :)
Ich hatte gerade das Problem das ich ein gescanntes PDF mit mehreren Seiten verkleinern wollte. Leider kann man das ohne die Adobe Acrobat Professional Version in der man einfach als PDF drucken kann nicht so mir nichts dir nichts am mac erledigen.
Ein paar Minuten mit Google verbracht und schon gibt es die Lösung! Einfach die Quartz Filter aus diesem Zip hier in ~/Library/Filters packen und schon kann man sehr einfach Dateien in der Vorschau als PDF mit weniger DPI speichern.
Die Novum feiert ihren 85. Geburtstag und hat dazu nicht kommerzielle Postkarten mit 5 unterschiedlichen Motiven gedruckt die für Leser und Freunde gedacht sind. Eines der Motive wurde ein Teil meiner Cover-Illustration für die Spezialausgabe vom Mai 2007!
Wer eine Postkarte haben will kann sich ja bei mir melden oder sich eine abholen :)


Am Freitag hab' ich es endlich geschafft und mir die Illustration Ausgabe von Zeixs gekauft. Es ist schon eine Weile draussen und kann auch bei Amazon bezogen werden. Freut mich mit so vielen talentierten Illustratoren in einem Buch zu erscheinen :) Ganz besonders freut mich auch das meine Haut (ein altes Bild von 2001) es auch in das Buch geschafft hat :) (ist nicht auf den Photos)
Die Zeixs Reihe bietet ausser dem Illustration Buch auch noch eins zu Typographie, Design und Logos.
In der aktuellen Ausgabe der VISUAL-X ist ein Artikel von mir zu sehen. Seite 62 / 63, in dem ich einen kleinen Einblick gebe, wie ich meine Illustrationen erstelle. Auf der beiligenden CD ist ein Video welches in über 900 Frames jeden einzelnen Schritt zeigt. (So wie die Making-Of-Videos unter Work)
Die Novum hat mich gefragt ob ich ein Cover machen könnte. Klar - da bin ich doch dabei :) Im Mai wird die Sonderausgabe zum Thema Papier erscheinen. Danke an die Novum das ich da mitmachen durfte :D
In ein paar Tagen oder Wochen oder nachdem die Ausgabe da ist, werde ich auch noch andere Varianten als Referenz unter Work zeigen - also stay tuned!
Getting Real ist seit einiger Zeit bekannt und auch schon gelesen. Durch diverse Blogs und News ist es durchgegangen. Vor einer Woche hab ich entdeckt, dass es Getting Real auch als Print ausgabe gibt - undzwar bei Lulu (das ist kein Affiliate Link) :)
Dort hab ich mein Exemplar vor 6 Tagen bestellt und schon war es da. Nicht schlecht! Vor allem geb ich gerne mal 10Euro mehr aus um Getting Real als echtes Buch zu haben. Denn auf Papier kann man mucho better lesen :)
Getting real ist auch nicht mehr als Web 2.0 und die tieferen Beweggründe dahinter. Wer die ersten Seiten gelesen hat wird sehen das dort vieles steht was für Web 2.0 steht. (mal jetzt nich der community scheiss und tagging kack, sondern die essenz ..)
Was aber an der Lulu Umsetzung nicht so gut ist, das die Zeilen von Seite zu Seite und auch die Seitezahlen nicht richtig ausgerichtet sind, und auch das Layout nicht so schön rüberkommt wie ich gedacht hätte - also der Satz und alles ... aber hey ... vielleicht gibts das ja bald von Oreilie oder Gallileo oder sowas ;-)
Year, manche mini-jobs sind cool : D Gruß an Rosko
Daniel Knorn von Kombinat Ost verkauft jetzt seine T-Shirts in seinem Online-Shop Roskotees!! Original Siebdruckqualität! Steht finde ich anderen Shops/Shirts in nix nach!