Permalink

Review: Archive Assistant · Datei-Archivierung mittels AppleScript

Vor ein paar Wochen hatte ich mit BetterZip meinen neuen Favoriten für die Datei-Archivierung unter macOS vorgestellt.

Wesentlich nerdiger aber nicht weniger interessant ist der Archive Assistant.

01-Bildschirmfoto 2017-03-29 um 16.45.02-minishadow

Dabei handelt es sich um ein (AppleScript-)Skript, das auf recht einfache Art und Weise beim Erstellen von Archiven und Disk Images behilflich ist. Das Entpacken von Archiven beherrscht das Skript dahingegen nicht.

Installation des Skripts

Möchte man das Skript über das Menüleisten-Icon von Apples Skript-Editor starten, muss man es nach ~/Library/Scripts kopieren.

Dazu gibt es natürlich die Möglichkeit das Skript mit Schnellstartern wie LaunchBar oder Alfred sowie meiner allzeit beliebten Allzweckwaffe Keyboard Maestro zu starten. Hier ist der Speicherort des Skripts dann wieder egal, da innerhalb dieser Apps der Pfad angegeben wird.

02-Bildschirmfoto 2017-03-29 um 16.45.04

Was kann das Skript?

Wie schon geschrieben, geht es um das Erstellen von Dateiarchiven.

Dabei bleiben die Mac-typischen Metadaten (spotlight comments, openmeta tags, “resource fork”, extended attribute, ACLs) vollständig erhalten. Es gibt aber auch zwei Sonderfälle, die auf das Speichern von Metadaten verzichten und sich somit vorzüglich für das Versenden von Archiven an Windows-Nutzer eignen.

Dazu unterstützt das Skript verschiedene Dateiarchiv-Formate, wählbare Komprimierungsstufen, Archivverschlüsselung per AES und vieles mehr. Detailliert lässt sich folgende Aufstellung festhalten:

Folgende Archive/Images können erstellt werden:

  • tar, unkomprimiert
  • tar, gzip-komprimiert (tar.gz)
  • tar, bzip2-komprimiert (tar.bz2)
  • tar, lzma2-komprimiert (tar.xz)
  • xar, unkomprimiert
  • xar, gzip-komprimiert
  • xar, bzip2-komprimiert
  • zip (zwei Varianten)
  • 7z (lzma2)
  • dmg, read/write
  • dmg, read-only
  • dmg, zlib-komprimiert
  • dmg, bzip2-komprimiert
  • dmg, Sparse-Image
  • dmg, Sparse-Bundle

…und weitere Features:

  • Dateien zu tar-, cpio-, pax-, zip-, 7z-Archiven hinzufügen.
  • Dateien zu Read-only- oder komprimierten dmg via Shadow-File hinzufügen („shadow mount“).
  • Konvertieren zwischen verschiedenen dmg-Formaten.
  • Einstellbare dmg-Größe.
  • Zip, 7z und alle dmg-Typen optional AES-verschlüsselt.
  • Ändern des Passworts eines dmg.
  • Wählbare Komprimierungsstufen für Archive und dmgs.
  • Detaillierte Settings für lzma2-Komprimierung (xz und 7z), einschließlich Dictionary-Size, Word-Size, Multi-/Singlethreading, Solid/Non-solid/Solid by Filetype.
  • Möglichkeit, die fertig komponierte Befehlszeile ins Terminal zu kopieren, für eventuelle weitere Ad-hoc-Einstellungen.

Benutzung des Skripts

Erstellen von Archiven

In einem ersten Schritt markiert man in Apples Finder eine oder mehrere Dateien und/oder Verzeichnisse und startet das Skript.

03-Bildschirmfoto 2017-03-30 um 21.43.55_1300px

Anschließend wählt man den Typ des Archives aus, woraufhin man in die Archiveinstellungen gelangt. Mit gedrückter Cmd-Taste können hier auch mehrere Optionen gewählt werden, die dann für das wiederholte Verwenden für den Archivtyp gespeichert sind.

Danach vergibt man ggf. ein Passwort und wählt das Zielverzeichnis sowie den Namen des Archives aus. Das Skript verrichtet nun seine Arbeit im Hintergrund. Nachdem das Archiv erstellt ist, wird ein kleiner Statusbericht angezeigt.

04-Bildschirmfoto 2017-03-30 um 21.45.55_1300px

Die Archiveinstellungen sind übrigens kontextsensitiv und zeigen nur die Optionen an, die für die ausgewählte Datei sinnvoll sind.

Für die unterstützten Archivtypen tar, xar, 7z, zip und die verschiedenen Disk Images ergeben sich beispielshaft folgende unterschiedliche Options-Untermenüs:

05-Bildschirmfoto 2017-04-22 um 23.38.41_1300px

Normaler Modus vs. Terminal Modus

Ich sagte ja bereits, dass das Skript im normalen Modus im Hintergrund läuft und nach Beendigung des Jobs einen kleinen Statusbericht anzeigt.

Darüber hinaus kann man die Kommandos auch im Terminal ausführen. Das Skript unterschiedet hier zwischen Run in Terminal und Paste into Terminal.

06-Bildschirmfoto 2017-04-24 um 23.56.06-minishadow_1300px

Während im ersten Fall alle Befehle mit maximaler Geschwätzigkeit im Terminal ausgeführt werden, wird im zweiten Fall nur das Kommando mit allen im Menü gewählten Optionen ins Terminal kopiert aber nicht ausgeführt. Das hat vor allem dann Charme, wenn man in speziellen Fällen an Details des Kommandos schrauben möchte, die über das Menü des Skripts nicht einstellbar sind.

Daten zum Archiv hinzufügen

Für dieses Vorhaben gibt es mit -> Add to Existing Archive einen speziellen Punkt im Startmenü des Archive Assistant.

Hat man eine oder mehrere Dateien bzw. Verzeichnisse markiert und im Skriptmenü diesen speziellen Punkt gestartet, muss man zunächst einmal das bestehende Archiv auswählen, zu dem Daten hinzugefügt werden sollen.

07-Bildschirmfoto 2017-04-24 um 23.24.22_1300px

Anschießend landet man in den normalen (kontextsensitiven) Archiveinstellungen, die man schon vom Erstellen von Archiven kennt.

Das Hinzufügen von Daten funktioniert per Skript übrigens nur bei unkomprimierten Unix-typischen Archiven wie tar, cpio oder pax sowie zip- und 7z-Archiven. Möchte man Daten zu einer dmg-Datei hinzufügen, kann das einfach über den Finder per drag-and-drop in das eingehängte Image erledigt werden.

Disk Images

Auch wenn Disk Images streng genommen keine Archive sind, kann man sie unter macOS wunderbar als solche verwenden. Genau deshalb sind sie auch Teil dieses Skripts.

Das Erstellen von dmg-Dateien gleicht im Prinzip dem Erstellen von normalen Archiven. Die Optionen sind hier formatbedingt allerdings etwas limitiert. Zudem muss man ggf. die Größe des Disk Images angeben.

08-Bildschirmfoto 2017-04-25 um 10.25.14_1300px

Wesentlich interessanter sind dahingegen die dmg-Actions, die auf bestehende Disk Images angewendet werden können.

So kann man beispielsweise eine Konvertierung zwischen den verschiedenen dmg-Formaten vornehmen sowie die Größe oder bei verschlüsselten Disk Images das Passwort nachträglich ändern.

09-Bildschirmfoto 2017-04-24 um 23.46.54_1300px

Auch vergleichsweise selten verwendete dmg-Features wie das Shadow File werden vom Skript unterstützt.

Mit diese Option, des von macOS vorinstallierten Kommandozeilentools hdiutil, kann man Dateien zu read-only oder komprimierten Disk Images per Shadow Mount hinzufügen.

Use a shadow file in conjunction with the data in the image. This option prevents modification of the original image and allows read-only images to be attached read/write. When blocks are being read from the image, blocks present in the shadow file override blocks in the base image. All data written to the attached device will be redirected to the shadow file. If not specified, -shadow defaults to image.shadow. If the shadow file does not exist, it is created. Verbs accepting -shadow also accept -cacert and -insecurehttp.

Technisches

Das Skript ist mit OS X Yosemite oder höher kompatibel und nutzt, neben dem schon erwähnten hdiutil, die ebenfalls von macOS mitgelieferten Tools tar, pax, xar, ditto und basename/dirname.

Darüber hinaus ist p7zip, ein Port von 7-zip, im Script-Bundle enthalten. Dieses Tool wird nicht nur für 7z-Archive, sondern auch für gz, bz2, xz und teilweise zip verwendet, da es multi-threaded schneller und effizienter arbeitet als die entsprechenden Unixtools.

Sonstiges

Trotzdem diese Review des Archive Assistant schon vergleichsweise lang ist, habe ich die Funktionalität des Skriptes längst nicht umfassend dargestellt. Daher empfehle ich jedem Interessenten sich das dem Download beiliegende Handbuch genauer durchzulesen.

Dort hat Tom, der verantwortliche Entwickler des Archive Assistant, auf 17 Seiten jeden Funktion und Option genau erklärt. Auch zu den einzelnen Archivtypen, sowie dem Handling der Metadaten gibt es weiterführende Informationen.

-> http://dflect.net/archive-assistant

Permalink

Timing 2 · Time Tracking App lädt zum Early Access ein

Vor etwas mehr als 5½ Jahren hatte ich an dieser Stelle Timing, eine App zum Thema Zeiterfassung in einer Review genauer vorgestellt.

Daniel Alm, der Entwickler der App, schrieb mich vor ein paar Wochen an und ermöglichte mir einen ersten Blick auf den Nachfolger Timing 2, der seit gestern Abend per Early Access von jedermann kostenlos getestet werden kann.

01_30days_overview-minishadow_1300px

Die Codebasis der App wurde von Grund auf neu geschrieben, was sich neben Verbesserungen unter der Haube schlussendlich auch in der komplett neugestalteten Oberfläche bemerkbar macht.

Die finale Version von Timing 2 wird übrigens, im Gegensatz zu seinem Vorgänger, nicht mehr über den Mac App Store, sondern ab dem 09. Mai 2017 ausschließlich direkt verkauft werden. Die Gründe dafür liegen u.a. bei den Restriktionen des MAS, der mit Sandboxing und der fehlenden Möglichkeit bezahlter Upgrades gerade für Indie-App-Entwickler zu viele Einschränkungen hat.

-> https://2.timingapp.com

Permalink

Howto: iTerm2 · Pimp your macOS Terminal

Nachdem hin und wieder mal Nachfragen zum Aussehen meines Terminal gekommen sind, möchte ich heute eine etwas ausführlichere Anleitung schreiben.

Bildschirmfoto 2017-04-10 um 20.28.56_1300px

Direkt vorneweg: bei der App handelt es sich nicht um das macOS Terminal, sondern iTerm2; einem Terminal-Ersatz für macOS.

Die App bietet vielerlei Features, die man in Apples Variante vergeblich sucht. Es soll heute aber nicht um einzelne Features, sondern vielmehr den optischen Vorzügen gehen.

Schritt 1 – iTerm2 installieren

Bevor es gleich ans Eingemachte geht, muss man iTerm2 erst einmal installieren.

Neben der Installation über Homebrew, steht auch ein herkömmlicher Download zur Verfügung, mit dem man die App ganz normal in den Programme-Ordner von macOS verschieben muss.

brew cask install iterm2

Bildschirmfoto 2017-04-11 um 02.06.15-minishadow

Schritt 2 – Theme installieren

Da sich iTerm2 in den Standardeinstellungen optisch kaum vom macOS Terminal unterscheidet, folgt mit der Installation eines Themes die erste Anpassung.

Wer viel Zeit hat, kann sich einmal durch die verfügbaren iTerm2-Color-Schemes klicken und seinen Favoriten selber wählen. Ich persönlich bin mit dem Solarized Dark Theme (Patched) sehr zufrieden, welches in den iTerm2 Einstellungen unter Profiles > Colors > Color Presets… zunächst importiert und danach ausgewählt werden muss.

Bildschirmfoto 2017-04-08 um 00.12.31-minishadow_1300px

Wenig überraschend ist das Ergebnis ein leicht verändertes Theme.

Bildschirmfoto 2017-04-11 um 02.09.11-minishadow

Schritt 3 – Shell installieren

Anschließend geht es an die Installation der Z-Shell (zsh). Hier gibt es verschiedene Configuration Frameworks; das bekannteste und am meisten genutzte ist mit Sicherheit Oh-My-Zsh.

Neben einigen funktionalen Vorteilen gegenüber bash lässt sich (oh-my-)zsh durch die riesige Open-Source-Community und damit einhergehenden Plugins einfach sehr gut anpassen. Gerüchten zufolge soll zsh auch schneller als bash sein.

Die Installation erfolgt auf jeden Fall über das Terminal:

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Falls Xcode oder zumindest die Command Line Developer Tools noch nicht installiert sind, bricht die Installation an dieser Stelle mit einem Popup ab.

Bildschirmfoto 2017-04-10 um 04.16.58-minishadow

Hier muss man einfach nur auf die Schaltfläche Installieren klicken und danach den Befehl zur Installation von oh-my-zsh erneut ins Terminal eingeben.

Hinweis: Zur Änderung der Shell wird das Passwort des angemeldeten Nutzers benötigt.

Bildschirmfoto 2017-04-11 um 02.10.23-minishadow

Schritt 4 – zsh-Theme anpassen

Nachdem die Shell-Installation erfolgreich abgeschlossen wurde, muss das zu verwendende Theme mit einem Editor in der oh-my-zsh-Konfigurationsdatei angepasst werden.

Das funktioniert generell mit jedem Editor; um das Terminal allerdings nicht groß zu verlassen, empfehle ich vim, welches direkt in macOS zur Verfügung steht.

vim .zshrc

Kurzer vim-Exkurs

Die Pfeiltasten dienen in diesem Editor der Navigation. Dazu muss man natürlich die Shortcuts wissen; die hier benötigten sind:

yy → Zeile in die Zwischenablage kopieren
p → Zeile aus der Zwischenablage einfügen/duplizieren
i → aktiviert den Einfügen-Modus von Text

Der in diesem Schritt benötigte Text wird dann ganz normal über die Tastatur eingegeben. Mit der ESC-Taste verlässt man den Text-Einfügen-Modus wieder.

ZSH_THEME="agnoster"

:x → Änderungen speichern und vim beenden
:q! → vim beenden ohne die Änderungen zu speichern (nur im Fall der Fälle notwendig)

Bildschirmfoto 2017-04-11 um 11.52.32-minishadow

Startet man iTerm2 jetzt neu, ist die Ernüchterung zunächst groß…

Bildschirmfoto 2017-04-11 um 11.55.35-minishadow

Schritt 5 – Schriftart installieren

Dass die Anzeige im vierten Schritt etwas kryptisch aussieht, liegt am verwendeten (falschen) Font.

Nun gibt es eine ganze Reihe an Powerline Fonts. Ich persönlich empfehle Melso Dotted; speziell Meslo LG M DZ Regular for Powerline → bei GitHub einfach auf die Schaltfläche View Raw klicken und anschließend den heruntergeladenen Font über den Finder systemweit in macOS installieren.

Bildschirmfoto 2017-04-08 um 00.46.05-minishadow_1300px

Nachdem die neue Schriftart installiert ist, öffnet man erneut die iTerm2 Einstellungen und wählt diese unter Profiles > Text > Change Font aus.

Die Schriftgröße ist bei mir zudem auf 14 Pixel gesetzt.

Bildschirmfoto 2017-04-08 um 00.47.15-minishadow_1300px

Daraufhin wird aus dem einst kryptischen Aussehen eine wesentlich ansehnlichere Anzeige.

Bildschirmfoto 2017-04-11 um 11.55.53-minishadow

Schritt 6 – Powerlevel9k theme for zsh (optional)

Wem das im vierten Schritt aktivierte agnoster-Theme nicht gefällt oder ausreicht, sollte sich das Powerlevel9k-Theme genauer ansehen.

Die Installation erfolgt wieder über das Terminal; die Aktivierung des Themes über die oh-my-zsh-Konfigurationsdatei.

git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k

Bildschirmfoto 2017-04-08 um 00.39.50-minishadow_1300px

Das agnoster-Theme muss jetzt natürlich per # auskommentiert werden. Die neu in der Konfigurationsdatei einzufügende Zeile lautet:

ZSH_THEME="powerlevel9k/powerlevel9k"

Was durch das Anflanschen von Zeit & Co. erst mal wenig spektakulär aussieht, lässt sich in der Konfiguration zum Theme umfangreich anpassen. Wer daran Interesse hat, muss sich hier einfach mal selbst einlesen.

Bildschirmfoto 2017-04-11 um 14.07.17-minishadow

Weitere Tweaks

Wie ich bereits am Anfang irgendwo schrieb, gibt es unzählige Anpassungsmöglichkeiten sowie Plugins für zsh. Nachfolgend vier kleine Beispiele:

custom prompt styles

Per default wird im Terminal immer user@hostname angezeigt. Das ist in der Regel unnötig und bläht das Terminal nur unnötig auf.

Auch hier führt der Weg wieder über die oh-my-zsh-Konfigurationsdatei, der folgende Zeile hinzugefügt werden muss:

DEFAULT_USER=”$USER”

Bildschirmfoto 2017-04-11 um 15.04.17-minishadow

Daraufhin muss man iTerm2 neu starten und das user@hostname-Konstrukt ist verschwunden.

Bildschirmfoto 2017-04-11 um 15.04.52-minishadow

word jumps

Per default ist das Springen zwischen den Worten mit Opt + → oder ← nicht möglich.

Für die Aktivierung muss man die iTerm2 Einstellungen öffnen und zu Profiles > Keys navigieren. Hier müssen, wie im Screenshot zu sehen, über das Plus-Zeichen zwei neue Sequenzen angelegt werden:

Wortsprung rechts
⌥→
Send Escape Sequence
f

Wortsprung links
⌥←
Send Escape Sequence
b

Bildschirmfoto 2017-04-11 um 15.14.25-minishadow_1300px

zsh-autosuggestions

Auf Basis der in der Vergangenheit eingegebenen Terminal-Kommandos versucht dieses Plugin vorherzusagen, was man aktuell eingeben möchte.

Bildschirmfoto 2017-04-11 um 16.05.38-minishadow

Die Installation kann über Homebrew oder als Direktdownload per Terminal erfolgen:

Homebrew

brew install zsh-autosuggestions

Damit das Plugin aktiviert wird, muss man erneut die oh-my-zsh-Konfigurationsdatei editieren und folgende Zeile am Ende der Datei hinzufügen:

source /usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh

Bildschirmfoto 2017-04-11 um 16.19.49-minishadow

Direktdownload

git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions

Zur Aktivierung des Plugins muss man in der oh-my-zsh-Konfigurationsdatei die Sektion plugins=(git) suchen und diese erweitern:

plugins=(git zsh-autosuggestions)

Bildschirmfoto 2017-04-11 um 16.21.19-minishadow

zsh-syntax-highlighting

Dieses Plugin kümmert sich um Syntax Highlighting. Auch hier kann die Installation wieder über Homebrew oder als Direktdownload per Terminal erfolgen:

Homebrew

brew install zsh-syntax-highlighting

Die Aktivierung erfolgt analog zum Autosuggestions-Plugin am Ende der oh-my-zsh-Konfigurationsdatei:

source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

Bildschirmfoto 2017-04-11 um 16.20.30-minishadow

Direktdownload

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting

Auch hier erfolgt die Aktivierung analog zum Autosuggestions-Plugin.

plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

Bildschirmfoto 2017-04-11 um 16.21.48-minishadow

In diesem Sinne schon mal Frohe Ostern. Wir höhen uns vermutlich erst nach den Feiertagen wieder.

(inspired by)

Permalink

Review: SpamSieve · E-Mail Spam-Filter für macOS (Gewinnspiel inside)

Hin und wieder bekommt jeder von uns E-Mails von der dunklen Seite: die Tante in Hong Kong hat 25 Millionen Dollar gefunden und weiß keinen Weg das Geld nach Europa zu transferieren; eine russische Beautyqueen (mit Foto im Anhang) will unverzüglich Beischlaf; der kranke Onkel in Nigeria benötigt finanzielle Hilfe oder Jobangebote, die 6.000 Euro (netto) Monatsgehalt offerieren, sobald man diesen einen Link anklickt…

Um diesen täglichen Junk-Mails Herr zu werden, kann man beispielsweise den in Apple Mail eingebauten Spam-Filter nutzen. Dieser funktionierte bei mir anfangs auch recht zufriedenstellend. Die Resultate wurden im Laufe der Zeit aber immer schlechter, so dass ich, sowohl server- als auch clientseitig, mit manuellen Regeln nachhelfen musste, was extrem nervig ist.

Um die Spreu vom Weizen automatisiert besser trennen zu können, musste sich dringend etwas ändern und genau an dieser Stelle kommt SpamSieve ins Spiel.

banner

Bei diesem Tool handelt es sich um einen 3rd-Party-Spam-Filter, der mit einer Vielzahl der für den Mac verfügbaren E-Mail Programme, u.a. Apple Mail, Airmail, MailMate, Postbox, Thunderbird, Outlook, Entourage und einigen mehr, kompatibel ist.

Generelle Funktionsweise

Die Funktionsweise von SpamSieve basiert aus sogenannten Bayes-Filtern. Das heißt im Prinzip nichts anderes, als dass der Filter anhand von charakteristischen Wörtern einer jeden E-Mail abwägt, ob es sich um Spam handelt oder nicht. Darüber hinaus helfen dem Tool die Habeas Safeliste sowie automatisch erstellte White- und Blacklisten (im Deutschen Positiv- und Sperrlisten genannt) bei der Spam-Identifizierung.

Vielleicht als Beispiel: In der Whiteliste befinden sich u.a. alle E-Mail Adressen aus den macOS Kontakten.

Training

SpamSieve unterscheidet nicht zwischen einem Trainings- und Arbeitsmodus. Sobald das Tool das erste Mal gestartet wird, lernt es von eingehenden E-Mails; sowohl positiv als auch negativ. Will heißen: Verirrt sich eine eigentlich gute E-Mail in den Spam-Ordner (die sogenannten Falsch Positiv), entfernt man die Spam-Markierung. Landet dahingegen eine Spam-Mail in der Inbox (die sogenannten Falsch Negativ), markiert man sie als Spam.

Auf diese Art und Weise verbessert SpamSieve mit jeder E-Mail seine Wortlisten und wird in der Erkennung von Spam immer genauer.

einstellungen

Darüber hinaus kann man nach dem ersten Start der App auch ein initiales Training durchführen, um in der täglichen Arbeit mit E-Mails und SpamSieve (zumindest) anfänglich nicht allzu viele Falscherkennungen zu haben.

Bei diesem Training kommt es natürlich darauf an, was einem als Quelle an guten und schlechten E-Mails zur Verfügung steht. Generell sollte man darauf achten, dass bei diesem Training ca. 65% Spam- und 35% gute E-Mails gelernt werden.

Damit man diesen Lernprozess bzw. eine generelle Statistik zum Spamaufkommen im Auge behalten kann, bietet SpamSieve entsprechende Ansichten.

Außerdem wissenswert: In den SpamSieve Voreinstellungen kann man unter der Schaltfläche Erweitert über einen Schieberegler die Spam-Erkennungsstrategie festlegen; also quasi den Level der Aggressivität, mit dem die Bayesian-Klassifizierung bei der Erkennung von Spam zuschlagen soll.

statistik

SpamSieve benutzen

Nachdem die Haken bei den Voreinstellungen gesetzt sind, ist es vor dem produktiven Einsatz des Tools vorteilhaft noch einige Vorkehrungen aus Seiten des E-Mail Clients und Servers zu treffen:

So sollte man den eventuell schon im Mail-Programm eingebauten Spam-Filter deaktivieren und manuell erstellte Regeln zur Erkennung von Spam löschen. Gleiches gilt natürlich auf der Serverseite; wobei die Deaktivierung des serverseitigen Spam-Filters nicht immer möglich ist (z.B. bei iCloud Accounts). Google Mail lässt ein Deaktivieren allerdings zu. Man muss, wie im nachfolgenden Screenshot zu sehen, nur einen Filter einrichten.

Bildschirmfoto 2017-04-07 um 12.48.37-minishadow

Nun aber konkrete Beispiele, wie man SpamSieve mit den E-Mail Clients Apple Mail, Airmail und MailMate einsetzt.

Apple Mail

Bevor man SpamSieve mit Apple Mail nutzen kann, muss man ein passendes Plugin installieren.

Dazu muss Mail zunächst beendet werden; die Installation des Plugins über das SpamSieve Menü ist dann eine Sache von Sekunden.

Bildschirmfoto 2017-02-28 um 20.43.29_1300px

Nachdem Apple Mail neu gestartet wurde, muss man ein lokales neues Postfach anlegen.

Am einfachsten geht dieses Vorhaben über den Mail Menüpunkt Postfach > Neues Postfach. Beim Ort muss Lokal und beim Namen Spam (hier muss auf Groß- und Kleinschreibung geachtet werden) stehen.

Bildschirmfoto 2017-02-28 um 21.59.25_1300px

Anschließend startet man die Apple Mail Einstellungen und navigiert zu den (Mail-)Regeln.

Hier muss nun eine neue Regel mit dem Namen SpamSieve (zumindest muss die Beschreibung so anfangen; zusätzlicher Text ist möglich) erstellt werden, mit der alle E-Mails in das gerade erstellte lokale Postfach Spam bewegt werden.

Bevor jetzt jemand am Sinn dieser Regel zweifelt: es werden natürlich nicht alle eingehenden E-Mails in das Spam-Postfach verschoben. Das anfangs installierte Mail Plugin sorgt dafür, dass ausschließlich als Spam markierte E-Mails dort landen.

Bildschirmfoto 2017-02-28 um 22.03.42-minishadow

Bestätigt man diese Regel über die Schaltfläche OK, ist es wichtig, dass man die Regel auf bestehende E-Mails nicht anwendet. Klickt man hier nämlich fälschlicherweise doch auf anwenden, werden alle angezeigten alten E-Mails durch SpamSieve gejagt und man hat dadurch u.U. eine ganze Menge manueller Fehlerkorrekturen vor sich.

Zusätzlich ist darauf zu achten, dass die SpamSieve-Regel bei der Abarbeitung an erster Stelle steht und vor allem keine weiteren Regeln aktiv sind, die sich um die Problematik Junk-Mail kümmern.

Bildschirmfoto 2017-02-28 um 22.07.28_1300px

Jetzt wechselt man vom Reiter Regeln in den Reiter Werbung.

Hier muss nun der in Apple Mail integrierte Spam-Filter deaktiviert werden, indem der Haken bei Filter für unerwünschte Werbung aktivieren entfernt wird.

Bildschirmfoto 2017-02-28 um 22.14.03-minishadow

An dieser Stelle kann man nun mit dem optionalen Training für SpamSieve beginnen. Hier muss man einfach nur die weiter oben angesprochene 65/35%-Regel im Kopf behalten, um aus dem Stehgreif vorzeigbare Ergebnisse zu erzielen.

Ich persönlich habe beispielsweise auf ein initiales Training komplett verzichtet, was den Korrekturaufwand anfangs etwas in die Höhe trieb. Aber das zeigt, dass man auch ohne Training gut mit SpamSieve arbeiten kann, da das Tool mit jeder eingehenden E-Mail schlauer wird und weniger Fehler macht.

Sowohl für das Training, als auch für die hin und wieder nötigen Korrekturen werden mit installiertem SpamSieve Mail Plugin zusätzliche Optionen im Menüpunkt E-Mail angeboten. Hier kann man E-Mails mit einem Klick oder einen Shortcut als gut bzw. Spam bewerten.

Bildschirmfoto 2017-02-28 um 22.15.32_1300px

Auf diese Art und Weise werden die Wortlisten von SpamSieve täglich mehrfach erweitert.

Wirft man einen Blick in den lokalen Spam-Ordner, werden dort abgelegte E-Mails farbig dargestellt. Das ist keine Fehler, sondern zeigt auf Grundlage der Wortlisten den Grad der Verspammung jeder einzelnen E-Mail an. SpamSieve vergibt nämlich jeder E-Mail eine Kennzahl. Liegt diese sogenannte SpamSieve Score über 50, wird die E-Mail als Spam klassifiziert und abhängig von der Kennzahl farblich anders markiert.

Bildschirmfoto 2017-03-27 um 21.01.28-minishadow_1300px

Airmail

Um SpamSieve mit Airmail zu verknoten, muss kein Plugin installiert werden.

Man muss allerdings in den Account-Einstellungen unter der Schaltfläche Mehr beim Punkt Herunterladen den Haken bei Inhalt der Nachricht und Anhänge setzen. Darüber hinaus muss in den erweiterten Einstellungen der Haken bei SpamSieve benutzen aktiviert sein.

Bildschirmfoto 2017-03-02 um 15.13.58_1300px

Das war es im Prinzip und man kann sich direkt dem optionalen Training von SpamSieve zuwenden.

Ähnlich wie bei Apple Mail kann man einzelnen E-Mails den Status Gut oder Schlecht zuweisen.

Bildschirmfoto 2017-03-02 um 15.17.45-minishadow_1300px copy 2

Neben dem Kontextmenü stehen auch wieder Shortcuts zur Verfügung, die aber leider im Menüpunkt Nachrichten > Als Erinnerung markieren > Spam Filter… etwas versteckt sind.

Bildschirmfoto 2017-03-02 um 23.24.25_1300px

MailMate

SpamSieve wird in den Einstellungen zu MailMate unter dem Reiter Security aktiviert. Dazu ist darauf zu achten, dass Apply to new messages in auf Inbox steht.

Die Zahl darunter entspricht der schon angesprochenen SpamSieve Score, die hier zwar flexibel angepasst aber in den Standardeinstellungen auf 50 belassen werden sollte.

Bildschirmfoto 2017-03-22 um 23.17.44-minishadow

Anschließend beginnt wieder das Training nach dem 65/35-Prinzip.

Leider gibt es in MailMate per default keine Shortcuts (zumindest habe ich bisher keine gefunden), so dass die Junk-/Not Junk-Markierungen für das Training und im täglichen Arbeiten über den Menüpunkt Message > Junk State > (Not) Junk erfolgen muss. Um dem entgegenzuwirken, kann man allerdings Tools wie Keyboard Maestro oder BetterTouchTool einsetzen, die Menüpunkte mit Shortcuts triggern können.

Dazu kann man sich interessehalber für jede E-Mail über den darunter befindlichen Punkt SpamSieve die SpamSieve Score initial oder erneut berechnen lassen.

Bildschirmfoto 2017-03-22 um 23.27.08 copy

Diese SpamSieve Score lässt sich in MailMate auch jederzeit für alle E-Mails anzeigen.

Interessant ist in diesem Fall der direkte Vergleich mit der ebenfalls verfügbaren Spam Score. Letztere gibt nämlich den vom E-Mail Server vergebenen Spam-Level an, der bei mir, durch den deaktivieren Spam-Filter, nicht wenig überraschend überall auf 0,000 steht.

Bildschirmfoto 2017-03-31 um 20.39.56-minishadow

Sonstiges

Auch wenn SpamSieve im Hintergrund läuft, kann man sich jederzeit die Black- und Whitelisten ansehen oder auch eigene Regeln hinzufügen.

Bildschirmfoto 2017-04-10 um 09.59.04-minishadow

In einer ebenfalls verfügbaren Log-Datei sind Informationen zu jeder gefilterten und trainierten E-Mail enthalten.

Zur weiteren Analyse der Ergebnisse von SpamSieve kann ein Blick in der Korpus recht interessant sein. Dort sind alle Worte enthalten, die in guten und schlechten E-Mails gefunden wurden und anhand derer die Vorhersagen für zukünftige E-Mails aufgrund von Wahrscheinlichkeiten (die anfangs erwähnte Bayesian-Klassifizierung) getroffen werden.

Bildschirmfoto 2017-04-08 um 23.49.20

Ist das macOS Feature Power Nap aktiviert, ist SpamSieve auch im Ruhezustand des Mac aktiv und filtert einmal pro Stunde E-Mails. Das hat, sofern die eingerichteten Mail-Account dem IMAP- oder Exchange-Standard entsprechen, den Vorteil, dass u.U. auch mobile Mail-Clients auf dem iPhone oder iPad von SpamSieve profitieren können.

Darüber hinaus bietet das Tool eine umfangreiche Unterstützung von AppleScript. Einige Beispiele finden sich hier.

Bildschirmfoto 2017-04-07 um 15.32.20_1300px

Für weitere Informationen bietet SpamSieve eine umfassende In-App-Hilfe und ein PDF Handbuch an, das auch Online verfügbar ist.

Preise und Verfügbarkeit

SpamSieve wird ausschließlich über den Webstore seines Entwicklers C-Command Software verkauft. Das Tool kostet 30 US-Dollar und setzt Mac OS X 10.6 Snow Leopard oder höher zur Installation voraus.

Bildschirmfoto 2017-02-28 um 21.43.17-minishadow

Skeptiker greifen vor dem Kauf zur kostenlosen aber zeitlich begrenzt funktionierenden Testversion.

-> https://c-command.com/spamsieve/

tl;dr

Ich hatte immer mal wieder etwas über SpamSieve gelesen aber nie wirklich mit einem Kauf des Tools geliebäugelt. Die vorhandenen Spam-Filter in diversen E-Mail Clients und auch auf den Servern verrichteten einen guten Job.

Dennoch kam es bei mir seit ca. einem Jahr vermehrt zu Falscherkennungen, so dass ich mehrfach täglich neben der Inbox auch die jeweiligen Spam-Ordner nach guten E-Mails durchsuchen musste. Das und das Pflegen der manuellen Spam-Erkennungsregeln nervte irgendwann dermaßen, dass das Fass überlief.

Dass SpamSieve seinen Job aber derart gut verrichtet und innerhalb kürzester Zeit weit über 95% meiner Spam-Mails, bei nur einer Handvoll Falscherkennungen, zuverlässig erkennt, überraschte mich dann doch. Zumal das Tool angenehm unaufgeregt seinen Dienst im Hintergrund verrichtet und man von dieser Power absolut nichts mitbekommt.

aptgetupdateDE Wertung: (10/10)

Gewinnspiel

Michael Tsai, der Entwickler hinter SpamSieve, hat aptgetupdateDE drei Coupon Codes seines Tools für eine Verlosung zur Verfügung gestellt.

Zur Teilnahme kommt Rafflecopter zum Einsatz, bei dem die folgenden optionalen und gleichwertigen Lose enthalten sind:

  • Frage beantworten
  • aptgetupdateDE bei Facebook folgen
  • aptgetupdateDE bei Twitter folgen

Die Auslosung findet kommenden Montag, den 17.04.2017, statt. Viel Glück!

a Rafflecopter giveaway

Permalink

speedtest-cli · Kommandozeilen Tool zum Messen der Internet Bandbreite

Möchte man daheim oder im Büro die Datenübertragungsraten des Internetanschlusses testen, führt der Weg meistens über den Browser zu speedtest.net.

Braucht man keine fancy Grafiken, kann man selbiges auch im Terminal über das Kommandozeilen Tool speedtest-cli, welches quasi eine non-GUI-Ansicht von speedtest.net ist, erreichen.

Bildschirmfoto 2017-04-08 um 01.24.40-minishadow

Die Installation erfolgt recht simpel über Brew:

brew install speedtest_cli

Möchte man den Weg über Brew nicht gehen, sind auf der Projektseite bei GitHub weitere Installationsmöglichkeiten aufgelistet. Die einfachste ist sicherlich der Download über das Terminal:

curl -Lo speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
chmod +x speedtest-cli

Jetzt kann man speedtest starten und bekommt in den default-Einstellungen, wie oben im Screenshot zu sehen, recht umfangreiche Informationen angezeigt.

Vielleicht als Hinweis:
Normalerweise startet man speedtest über den Befehl speedtest. Darüber hinaus gibt es noch die beiden Aliase speedtest-cli und speedtest_cli, die Identisches bewirken.

Auf der Projektseite sieht man auch schon, dass es recht vielfältige Optionen zum Starten des Tools gibt. Die vereinfachte dreizeilige Anzeige der Ergebnisse erzielt man mit:

speedtest --simple

Bildschirmfoto 2017-04-08 um 01.25.38-minishadow

Exkurs Keyboard Maestro

Möchte man das Testen der Internet Bandbreite automatisieren oder mit einem globalen Shortcut (ohne Umweg über das Terminal) starten, kommt wieder die Allzweckwaffe Keyboard Maestro zum Einsatz.

Nachfolgend drei Macros, die immer etwas ausgefeilter werden:

The Simple Version

Über die erste und die letzte Aktion, und das ist allen Macros gleich, wird das Macro nach dem Starten gesperrt. Damit wird verhindert, dass das Macro doppelt gestartet wird und schlussendlich unsaubere Ergebnisse liefert.

KM_Macro_Screenshot_2017-04-05 um 12.24.57

Die zweite Aktion generiert eine Notification, die über den Start des Tests informiert und schon mal darauf hinweist, dass das Ergebnis ebenfalls in einer Notification angezeigt wird.

Die dritte Aktion ist der eigentliche, in diesem Fall vereinfachte dreizeilige Test, der einige Sekunden braucht, um Ergebnisse zu liefern. Hier ist darauf zu achten, dass der vollständige Pfad zum Tool angegeben ist. Da ich die Installation über Brew nutze, steht bei mir /usr/local/bin.

Bildschirmfoto 2017-04-04 um 22.54.10

The Fancy Version

Auch hier wird das Macro über die erste und letzte Aktion gesperrt, sofern es ausgeführt wird.

KM_Macro_Screenshot_2017-04-05 um 12.25.11

Die Notification aus der zweiten Aktion, die über den Start des Tests informiert, ist nun etwas detaillierter. Man kann den Titel sowie Untertitel und den eigentlichen Text separat festlegen. Dazu wird ein kleiner Soundeffekt abgespielt.

Die dritte Aktion startet den, in diesem Fall kompletten Test (auch hier muss man wieder auf den Pfad achten) und speichert das Ergebnis zunächst in eine Variable. Diese Variable wird in der vierten Aktion durchsucht und zur Ergebnisaufbereitung vier neuen Variablen zugeordnet. Diese neuen Variablen werden in der fünften Aktion aufgegriffen und unter einem Soundeffekt als Ergebnis des Tests als Notification angezeigt.

Bildschirmfoto 2017-04-04 um 22.54.58

The Special Version

Dieses Macro ist quasi eine Kopie des ersten Macros; allerdings mit zwei kleinen Unterschieden.

Zum einen wird das Macro bei eingeloggtem User jeden Tag alle 90 Minuten automatisch ausgeführt.

KM_Macro_Screenshot_2017-04-05 um 12.32.14

Zum anderen wird anstelle des direkten Aufrufs des Speedtest-Tools ein Python-Skript gestartet, das diesen Aufruf übernimmt (hier muss man erneut auf den Pfad zum Tool achten) und das Ergebnis aufbereitet als Notification ausgibt.

Das Ergebnis wird dann im Vergleich zum ersten Macro auch etwas anders dargestellt.

Bildschirmfoto 2017-04-04 um 23.01.59

Die drei hier vorgestellten Macros habe ich bei GitHub hochgeladen, so dass sie jeder selbst ohne großes Zutun ausprobieren und modifizieren kann.

-> https://github.com/johnnycash69/km-macros

Terminal Know-how

Möchte man nur die Downloadgeschwindigkeit seine Internetanschlusses testen, kann man auf den Service von speedtest.net oder dem dazugehörigen CLI auch komplett verzichten. Es genügt im Prinzip ein Einzeiler im Terminal. Voraussetzung ist allerdings die vorherige Installation des Tools wget.

wget --no-cache cachefly.cachefly.net/400mb.test -O /dev/null

Dieses Kommando lädt von CacheFly, einem der weltweit schnellsten CDNs eine 400 MB große Datei (man kann hier auch 100 MB, 600 MB… angeben) runter und zeigt dabei die Download-Geschwindigkeit an. Die Option -O /dev/null verschiebt diese Datei auch gleich ins Nulldevice, so dass nicht unnötig Platz auf der Festplatte verschwendet wird.

Bildschirmfoto 2017-04-08 um 01.27.56-minishadow_1300px

Möchte man auch auf das gute alte wget verzichten, führt auch folgendes Kommando zu Ziel, das das in macOS eingebaute Tool curl zum Testen nutzt.

curl --no-sessionid cachefly.cachefly.net/400mb.test -o /dev/null

Bildschirmfoto 2017-04-08 um 01.33.59-minishadow_1300px

(thx @konfluenzpunkt, via, via)

Permalink

Screen Commander · Externe Bildschirme temporär dunkel schalten

Kurzer Hinweis auf Screen Commander, einer kleinen kostenlosen Menüleisten-App, die im Mehr-Monitor-Betrieb einzelne Displays schwarz schalten kann.

Bildschirmfoto 2017-04-06 um 09.03.13

Das ist vor allem dann interessant, wenn man konzentriert an nur einem Bildschirm arbeitet und man vom zweiten oder dritten Display nicht abgelenkt werden möchte. Auch beim Schauen von Filmen, beim Zocken oder Teilen des Bildschirms via Skype & Co. kann das Vorteile haben.

Um den Desktop wieder sichtbar zu schalten, kann man auf dem schwarzen Bildschirm ein Kontextmenü aufrufen und muss dann die entsprechende Option wählen.

Bildschirmfoto 2017-04-06 um 09.03.46

Screen Commander setzt macOS 10.12 Sierra oder höher zur Installation voraus und wird kostenlos über den Mac App Store verteilt.

Screen Commander
Screen Commander
Entwickler: Alien Orb Software LLC
Preis: Kostenlos

(via)

Permalink

BetterTouchTool · Fenstermanagement und Snap Areas in macOS definieren (Gewinnspiel inside)

Dass BetterTouchTool die Produktivität eines jeden Mac-Users erhöhen kann, hatte Rob in seinem Gastartikel zum Erstellen eigener Touch Bars erst kürzlich ausführlich beschrieben.

BTT kann aber auch vermeintlich banale Dinge. Dazu gehört beispielsweise ein umfangreiches Fenstermanagement.

Bildschirmfoto 2017-03-27 um 00.52.10

Fenstermanager gibt es für den Mac wie Sand am Meer. Die wohl besten sind meiner Meinung nach Moom, Magnet (mittlerweile in Version 2 veröffentlicht) und BetterSnapTool*.

Nachdem ich mich vor ein paar Monaten mit neuer Hardware ausgestattet und macOS quasi von Grund auf neu aufgesetzt hatte, stand jede einzelne installierte App auf dem Prüfstand. So bin ich u.a. dazu übergegangen verstärkt multifunktionale Apps, eine der großen Stärken von BTT, zu nutzen. Das hatte zur Folge, dass Apps, die sich beispielsweise ausschließlich um das Fenstermanagement kümmern, obsolet wurden.

BTT unterscheidet beim Fenstermanagement in die drei Bereiche Window Snapping, Snap Areas und Window Moving & Resizing, die alle sehr flexibel konfiguriert werden können.

Window Snapping

Das wohl am meisten verwendete Feature ist Window Snapping.

Bildschirmfoto 2017-03-28 um 22.24.38_1300px

Schiebt man ein geöffnetes Fenster an die vier Bildschirmkanten bzw. in die vier Ecken, erscheint ein virtuelles Vorschaufenster. Dieses Vorschaufenster zeigt den Bereich an, in den die selektierte App verschoben wird.

In den Einstellungen zu BTT lässt sich dieses Vorschaufenster sehr flexibel konfigurieren.

Bildschirmfoto 2017-03-29 um 10.44.41-minishadow_1300px

Das fängt beispielsweise mit dem Aussehen an: Man kann eine Hintergrund- und Randfarbe sowie die Breite des Randes festlegen. Man kann das Aufspannen des Vorschaufensters verzögern oder animieren, den Hintergrund mit einem Blur-Effekt belegen oder runde anstatt eckiger Ecken zulassen.

Darüber hinaus kann man den Abstand der einzelnen Fenster zum Bildschirmrand bzw. zwischen sich selbst (Padding) bestimmen oder die Originalgröße des Fenster wiederherstellen, sofern man es aus der gesnappten Position wieder herauszieht.

Den über das Window Snapping verfügbaren Aktionen lassen sich über Predefined Actions auch Shortcuts bzw. Multi-Touch Gesten zuordnen.

Snap Areas

Reichen einem die über das Window Snapping verfügbaren Methoden (maximieren, Bildschirmhälfte oder -viertel) nicht aus, kann man zusätzlich eigene Bereiche festlegen. Zum Aktivieren dieser Bereiche muss man aber zunächst Snap Areas konfigurieren.

Bildschirmfoto 2017-03-27 um 00.52.11-minishadow_1300px

Diese Snap Areas funktionieren nur auf dem Bildschirm, auf dem sie mit der Auflösung X erstellt wurden und sind auch wieder extrem flexibel konfigurierbar.

Neben der eigentlichen (Snap Area-)Fläche, die mit einem Namen sowie farblich angepasst werden kann, sind vor allem die Einstellungen unter dem Zahnrad interessant.

So lassen sich diese Snap Areas ganz bestimmten Apps zuweisen oder erst beim Drücken von Sondertaste (Shift, Fn, Ctrl, Opt, Cmd oder Kombinationen daraus) aktivieren. Außerdem kann man hier pixelgenau die Position und Größe des aufzuspannenden Fensters festlegen.

Bildschirmfoto 2017-03-29 um 14.13.57_2

Richtig spannend wird es bei den Preconfigured Actions/Dimensions.

Anstelle des pixelgenauen Anpassens der Fensterposition und -größe, können hier auch andere vordefinierte Fensterpostionen oder Aktionen wie quit app, close window oder minimize window hinterlegt werden.

Wer richtig nerdig sein will, kann natürlich auch einzelnen Snap Areas über die vordefinierte Aktion Trigger Snap Area eigene globale oder App-spezifische Shortcuts bzw. Multi-Touch Gesten zuordnen.

Bildschirmfoto 2017-03-29 um 14.42.23-minishadow_1300px

Window Moving & Resizing

Im letzten Punkt soll es um das Verschieben und die Größenanpassung von Fenstern gehen.

Zunächst muss man sich allerdings zwischen dem gerade aktiven/fokussierten Fenster und dem Fenster unter dem Mauszeiger entscheiden.

Anschließend kann man unter Zuhilfenahme der Sondertasten und des sich bewegenden Mauszeigers Fenster auf dem Desktop verschieben oder in der Größe anpassen.

Bildschirmfoto 2017-03-28 um 22.08.35-minishadow_1300px

Auch bei diesem Feature lassen sich, ähnlich wie bei den Snap Areas, Multi-Touch Gesten hinterlegen.

In diesem Zusammenhang weise ich gerne nochmals auf diesen macOS Tipp hin, der zumindest beim Verschieben von Fenstern ähnlich leistungsfähig ist.

Preise und Verfügbarkeit

BetterTouchTool setzt auf ein flexibles Bezahlkonzept. Die App kann in Abstufungen zu einem Preis von 4,49 Euro bis maximal 50,00 Euro gekauft werden.

Dazu gibt es eine auf 45 Tage begrenzte kostenlose Testversion. Zur Installation wird Mac OS X 10.7 Lion oder höher vorausgesetzt.

-> https://www.boastr.net

*Wem BetterTouchTool zu mächtig oder unübersichtlich ist, kann auch zu BetterSnapTool greifen.

Die App stammt ebenfalls vom BTT-Entwickler und konzentriert sich ausschließlich auf die drei hier vorgestellten Funktionen zum Fenstermanagement.

BetterSnapTool wird lediglich über den Mac App Store verkauft und kostet dort 2,99 Euro. Zur Installation wird Mac OS X 10.6 Snow Leopard oder höher vorausgesetzt.

BetterSnapTool
BetterSnapTool
Entwickler: Andreas Hegenberg
Preis: 2,99 €

Hinweis:
Wer BetterSnapTool oder auch BTT Remote (Pro), quasi die BTT-Fernbedienung für iOS, gekauft hat, kann für BetterTouchTool eine kostenlose Lizenz bekommen. Dazu gibt es eine entsprechende Aktivierungsoption im BetterTouchTool Registration View.

Bildschirmfoto 2017-04-03 um 16.35.23-minishadow_1300px

Gewinnspiel

Andreas Hegenberg, der Entwickler hinter BetterTouchTool, hat aptgetupdateDE drei Lizenzen seiner App für eine Verlosung zur Verfügung gestellt.

Zur Teilnahme kommt Rafflecopter zum Einsatz, bei dem die folgenden optionalen und gleichwertigen Lose enthalten sind:

  • Frage beantworten
  • aptgetupdateDE bei Facebook folgen
  • aptgetupdateDE bei Twitter folgen

Die Auslosung findet kommenden Montag, den 10.04.2017, statt. Viel Glück!

a Rafflecopter giveaway