Um auch unterwegs ein wenig an meinen Horrorblog Reviews zu arbeiten und Konzepte zu schreiben oder sonstwas zu machen habe ich mir in der letzten Woche mein erstes Netbook zugelegt. Das trendige iPad kam nicht in Frage, da es keine Tastatur hat, nicht erweiterbar ist und man nur die Apps aus dem AppStore installieren kann.
Um mich nicht mit dem auf dem Samsung N150
vorinstalliertem Windows 7 rumägern zu müssen hab ich direkt beim zweiten mal hochfahren den vorher präparierten USB Stick mit der Ubuntu Live-CD angesteckt und schon nach wenigen Klicks war Ubuntu installiert. Beim erstellen des USB Sticks hat es sich herausgestellt, dass die Anleitung auf der Ubuntu Download Seite für OSX nicht funktioniert und dass man mit der Windows Anleitung besser fährt.
Nach der Installation stand mir die ganze Open-Source Welt offen und ich hab’ erstmal meine Lieblinge cmatrix und figlet für die Kommandozeile installiert. Weitere Programme findet man über die Software suche und kann sie super schnell und einfach installieren.
Da mir schon vor einiger Zeit der Computer-Lesestoff ausging, hab’ ich mir letzte Woche jQuery Cookbook
bei Amazon bestellt.
Das Buch ist angefüllt mit praktischen Beispielen und Lösungen, auf die man, wenn man viel mit jQuery arbeitet, schon gestoßen ist. Wenn ihr Glück habt findet ich viele, oder so wie ich, weniger neue Sachen in dem Buch. Auf jeden Fall sollte man mal reinschauen! Die deutsche Ausgabe kommt im Juni raus, jQuery Kochbuch
kann man schon vorbestellen.
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!
Letzte Woche hab ich den Grillmeister für die Berliner Gazette gespielt. Auf Ihrer Gala zum 10 jährigem Bestehen durfte ich Unmengen von Grillfleisch und Würsten an die Leute bringen. In der ehemaligen Kosmetiksalon der DRR, dem Babette (Karl-Marx-Allee) gab’s Lesungen. Einen Bericht gibt es bei der Berliner Gazette und Photos gibt es im Wasser Flickr Set!
In einem Spiegel Artikel wurde ich auf eine kostenlose Alternative zu Parallels hingewiesen: VirtualBox von Sun!
Da meine Parallels Lizenz schon etwas alt ist und ich mir das Update auf die neue Version und die neue Serial verkneifen möchte kommt mir das sehr gelegen. Runtergeladen, Installiert, funktioniert! Sehr schnell und intuitiv hat man sich ein virtuelles Ubuntu auf seinen Rechner geknallt! Ausprobieren!
Mehr oder weniger durch Zufall bin ich auf Kontoblick.de gestoßen. Nach der Anmeldung kann man dort sein echtes Konto von fast jeder Bank eintragen und sich die Umsätze fortan über ein Java-Applett in Kontoblick laden. Anscheinend wird dort Sicherheit ganz groß geschrieben. Mal sehen ... auf jeden Fall kann man sich dann seine Kontoauszüge schön katalogisiert und für die Statistik aufbereit anschauen. So wird aus jeder Überweisung an die Telekom direkt als solche erkannt und auch die Miete oder änliches gleich in der richtigen Kategorie abgelegt.
So erhält man ohne viel zu machen eine schöne Aufstellung über die Ausgaben und Einnahmen.
Vor ein paar Wochen war ich auf einer Lesung von Ivo Sachs.
In dem echt "überfüllten" Cafe konnte man sich bei ein zwei Bier gut in die gefüllten Anekdoten reinversetzen. In seinem Buch Schimpansen am Abgrund gibts nur so was. Leseprobe gibts auch undzwar auf der Seite vom Proviantbuch Verlag.
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.
Wer sich mit Nested Sets in MySQL beschäftigt wird das folgende Problem kennen. Andere die sich irgendwann einmal damit beschäftigen werden, werden eventuell darauf stoßen:
Wenn man ab MySQL 5 eine relativ simple Abrage mit Joins startet kann es vorkommen das man diese Meldung erhält:
Unknown column ‘table.columnname’ in ‘on clause’
Das kommt zum Beispiel bei simplen Queries wie dieser hier:
SELECT *
FROM table1, table2
INNER JOIN table3 ON table1.columnname = table3.columnname;
Wenn man nun die Tabellennamen in Klammern setzt funktionert alles wie gewohnt:
SELECT *
FROM (table1, table2)
INNER JOIN table3 ON table1.columnname = table3.columnname;
Hat echt etwas Zeit gekostet das herauszufinden denn das ist nicht ganz nachvollziehbar was da jetzt schief ging ;-)
Das erste mal konnte ich live miterleben wie jemand oder mehrere eine Website hacken! Heute Abend hat ja bekanntlich die Macworld stattgefunden die schon mit den ganzen 17'' MacBook Pros durch alle Blogs geistert. Das muss ich nich auch noch bloggen!
Nach einer Weile eher langweiligen neuen Features für iWork und tralala konnte ich fast erschrocken lesen "Steve Jobs just died" ... Nach einer Minute wurde dementiert und es folgten im Sekundentackt neue Nachrichten (wie man sie auch oben sehen kann) :)
Lustig anzusehen, aber auch wieder ein schönes Beispiel wie wichtig es ist seine System geschlossen zu halten und ruhig mal einen Tag oder mehr damit zu verbringen es zu sichern oder sich mit dem Thema allgemein zu beschäftigen.
Hacker sind unheimlich kreative Leute und finden teilweise Lösungen in etwas einzusteigen auf die noch keiner gekommen ist. Wie es gelungen ist die Macrumorslive Übertragung zu manipulieren ist bisher aber noch unklar.