Nach dem ich am Montag Die Kunst der Mailminimierung - Hermetisches Schreiben von Sascha Lobo auf Webciety gelesen hatte, hab’ ich mich gestern Abend ran gemacht und meine Google Mail Filter überarbeitet. Der Vorteil daran, seine Mails direkt in Google Mail zu filtern, und nicht erst im Mail Client (Mail, Thunderbird) liegt darin, dass die E-Mails schon von Google gefiltert werden und so auf jedem Endgerät, auf dem man seine E-Mails lesen will, schon sauber sortiert ankommen.
Bestimmt hat jeder von euch irgendeinen kleinen Filter, der zum Beispiel Newsletter oder die Mails von der Familie in einen entsprechenden Ordner legt.
So lange man dabei mit der Benutzung der ersten drei Felder From
, To
und Subject
, die später alle zu einer UND Verknüpfung werden, klar kommt, ist alles super. Nun ist es aber so, dass man, wenn man mehrere Kriterien die auf To
und Subject
mit ODER verknüpft werden sollen nur zwei Möglichkeiten hat:
Entweder man erstellt zwei Filter mit einmal dem gefüllten To
Einstellungen und einmal mit gefüllten Subject
Einstellungen oder man macht es auf die elegante Weise und benutzt das Has the Words
Feld.
Dieses Has the Words
sucht eigentlich in der gesamten E-Mail (auch in den Headern) nach dem Vorkommen der gewünschten Zeichenkette. Wenn man den Suchbegriff jedoch mit geschweiften Klammern {} einklammert kann man hier jede Menge coole Sachen machen:
Suche in E-Mails die an horrorblog.org
gingen, dabei soll es egal sein ob sie direkt oder via cc an horrorblog.org
gingen:
Abgekürzt geht’s auch so:
Der Clou dabei ist, wie oben schon erwähnt, das Google Mail jetzt in den Feldern mit ODER statt mit UND sucht. Hätte man einfach in die From
, To
Felder horrorblog.org
eingetragen, hätte der Filter nur funktioniert, wenn die Mail von und an horrorblog.org
geschickt worden wäre.
Die ganze Macht der Filter kommt auch in dem folgenden Beispiel zu tragen, mit dem man alle E-Mails die von so automatischen Services kommen gesammelt in einen Ordner Notifications
packen lassen kann:
Die generelle Syntax für die UND oder ODER Verknüpfungen in den Filtern wird auch in Build advanced Gmail filters and persistent searches bei Lifehaker beschrieben wo es heisst, dass normale Klammern () immer UND bedeuten und geschweifte Klammern {} ein ODER. Diese Filter kann man übrigens am besten bearbeiten, wenn man sie vorher in einem Text-Editor (mit Syntax Highlighting) bearbeitet und dann in das Feld pastet. Die Filter funktionieren auch in der normalen Suche von Google Mail.
iTerm ist eine willkommene Alternative zu der nativen Terminal App für OSX. Jetzt kann man die auch mit AppleScript verwursten.
Wenn man es Leid ist immer wieder die selben Terminal Fenster aufzumachen um Apache-Logs zu lesen oder die Datenbank zu überwachen sollte man überlegen ob das nicht noch besser geht. Klaro geht das besser! Mit Apple-Script!
tell application "iTerm"
activate
-- create server log terminal
make new terminal
tell the last terminal
activate current session
launch session "Default Session"
tell the last session
write text "clear;"
write text "tail -f /Applications/MAMP/logs/apache_access.log"
set background color to {15000, 200, 200}
end tell
end tell
set the bounds of the first window to {0, 700, 840, 900}
set the name of the first window to "apace_access.log"
-- creat working terminal
make new terminal
tell the last terminal
activate current session
launch session "Default Session"
tell the last session
write text "welcome user, start now"
end tell
end tell
set the bounds of the first window to {0, 0, 840, 660}
set the name of the first window to "workspace"
end tell
So kann man ganze Fenster Setups zusammencoden und erspart sich so hoffentlich einen Haufen Zeit.
Nachtrag:
Man kann dann das Apple-Script auch automatisch bei jedem Start von iTerm ausführen lassen indem man es in ~/Library/iTerm/AutoLaunch.scpt ablegt. Weitere Beispiele gibt es auf der Scripting Seite von iTerm.
Viele von den PHP Codern da draussen kennen es wahrscheinlich schon, aber ich will trotzdem mal darauf hinweisen. Datei Uploads in PHP sind ja manchmal etwas verwirrend, vor allem was verschiedene Fehlerquellen angeht. Um schon im Vorhinein Fehler abzufangen bietet sich folgendes Code-Snippet an:
// test if a file was uploaded
$formFieldName = 'myFile';
if (isset($_FILES[$formFieldName])) {
switch(@$_FILES[$formFieldName]['error']) {
case UPLOAD_ERR_OK: // 0
// everything is ok with the upload for php
break;
case UPLOAD_ERR_INI_SIZE:
// file is larger than the size set in php.ini
// upload_max_filesize
break;
case UPLOAD_ERR_FORM_SIZE:
// file exceeds size set in form
break;
case UPLOAD_ERR_PARTIAL:
// file upload
break;
case UPLOAD_ERR_NO_FILE:
// no file was specified (empty form field)
break;
case UPLOAD_ERR_NO_TMP_DIR:
// no tmp dir specified in php.ini
break;
case UPLOAD_ERR_CANT_WRITE:
// tmp dir from php.ini is not writable for php
break;
default:
// unknown error code
break;
}
}
Wie man sieht bietet PHP weit aus mehr Möglichkeiten fehlgeschlagene Datei-Uploads zu erkennen als manchen bewusst ist. Vor allem wenn große Dateien hochgeladen werden die zu groß sind (upload_max_filesize) gibt PHP direkt einen Fehler aus, ohne riesen Dateien anzunehmen.
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.
Das Script von letztens verkürzt:
ls | grep -E ".*part(1|01|001).rar" | xargs nice -n 20 unrar e -p[passwort]
Extrahiert mehrere Rar Dateien mit dem selben passwort, eins nach dem anderen. So einfach is det :)
k, ich hab’s ja versprochen, hier ein kleines shell script für den kleinen mac und auch die großen, um mehrere *.rar Dateien mit einem Passwort zu entpacken:
# copy from marceleichner.de/
password=$1
i=0
for var in "$@"
do
if [ "$i" != 0 ]
then
echo "extracting $var"
command="nice unrar e -p$password $var"
echo $command
$command
fi
i=$((i+1))
done
echo 'OK, finished!'
Das ganze einfach, am liebsten als unroar.sh abspeichern, und aufrufen:
sh unroar.sh passwort erstedatei.rar zweitedateivonwoanders.rar
vielleicht hilft das ja dem einen oder anderen!
Okay!
So geht ein Soft-Launch! Einfach Domains derbe umrouten und verlinken, genervt sein von dem vielen Inhalt den man Pflegen muss und am liebsten neu schreiben würde. Hammer!
Das ist ein temporärer Blogeintrag für alle die es mitbekommen. Großer Launch mit korrekter URL in ein paar Tagen würd’ ich sagen :) Blog is online - mit korrekter Domain und pipapo!
Nach 4 1/2 Jahren endlich geschafft :) Yes!
Hab ich glaube ich schon vor ein paar Wochen gefunden. In der Yahoo Design Pattern Library gibts Lösungen für oft gefragte Fragen wenn man Websites baut. Hauptsächlich für Communities. Altbewährtes und auch neue Sachen. Verständlich erklärt und schön sortiert.
So, jetzt mal wieder was für die Shell-Freaks und so ... ist vielleicht nicht für alle interessant, wie schon die vorherigen Beiträge gezeigt haben, aber naja, hey! ich blogge wieder - is das 'n Ding ;-)
Verzeichnisse eines Ordners in einen Array lesen
for i in ./*
do
if (test -d "$i") then
arr[${#dirArr[*]}]=$i;
fi
done
Danach kann man die Ordner fein Zippen - oder sonstwas damit machen wenn man Bock hat:
for dirName in ${dirArr[@]}
do
zip -rq $dirName ./$dirName/*
done
PHP Sicherheit von Christopher Kunz & Peter Prochaska hab ich letzten Freitag bekommen und schon zur Hälfte durch. Erstaunlich auf was für Sachen leute kommen. Email Header Injections oder HTTP Response Splitting sind nur zwei interessante Beispiele.
Das Buch kann ich jedem PHP Coder ans Herz legen der seine Scripte gegen Angriffe schützen möchte!
Mitlerweile gibt es auch dei 2. überarbeitete Auflage.