Freier Decompiler von Avast

Wer kennt das nicht; man steht mitten im Nirgendwo und benötigt plötzlich einen Decompiler. Da passt es nur allzu gut, dass Avast vor einigen Tagen einen Decompiler veröffentlicht hat. Der Retargetable Decompiler war, laut Aussage von Avast knapp sieben Jahre in der Entwicklung, bevor er nun das Licht der Öffentlichkeit erblickte. Mit Hilfe dieses Decompilers können Kompilate unterschiedlicher Architekturen (Intel x86, ARM, MIPS, PIC32 und PowerPC) decompiliert werden. Leider werden im Moment nur 32-Bit Binaries unterstützt. Auch die Liste der unterstützen Dateiformate für die zu decompilierende Datei reicht von ELF, PE, Mach-O, COFF, AR, Intel HEX bis zu reinem Maschinencode.

Die Online-Version des Decompilers

Als Plattformen für die Ausführung des Decompilers, werden offiziell Windows und Linux unterstützt. Unter macOS funktioniert die Ausführung ebenfalls, allerdings wird hier keine Garantie für die Funktionsfähigkeit gegeben. Daneben existiert eine Online-Version, mit welcher der Decompiler ausprobiert werden kann. Hierbei gilt eine Beschränkung von 10 MiB je Binary. Der Retargetable Decompiler unterstützt die statische Analyse der zu dekompilierenden Dateien, erkennt automatisch den verwendeten Compiler und Packer und ist in der Lange die Ausgabe in C und einer an Python angelehnten Syntax auszugeben. Der Quelltext des Decompilers ist auf GitHub zu finden. Das Projekt ist unter der MIT-Lizenz lizenziert und damit freie Software. Der Download und weitere Informationen zum Retargetable Decompiler findet man auf der offiziellen Seite des Decompilers.

Freie Alternative(n) für Evernote

Evernote ist eine praktische Anwendung. Mit ihr können Notizen gespeichert und verwaltet werden. Leider verlangt Evernote mittlerweile happige Preise für seine Premium-Funktionalitäten. Aus meiner Sicht ist dies allerdings das kleinere Problem. Viel schwerer wiegt, das die eigenen Daten einer amerikanischen Firma anvertraut werden müssen. Neben den proprietären Alternativen wie z.B. OneNote von Microsoft, gibt es mittlerweile einige freie Alternativen. Bevor man sich nach einer Alternative umschaut, sollte man erst einmal schauen welche essentiellen Features Evernote bietet. Kurz zusammengefasst sind die wichtigsten Features die Synchronisation über verschiedenen Geräte, der Web-Clipper, die Offline-Funktionalität und die OCR-Erkennung für PDF, Bilder und ähnliches. Wie wichtig jedes dieser Features ist bleibt der eigenen Gewichtung überlassen.

Mir persönlich wäre eine Lösung auf Basis von Nextcloud am liebsten. Als Notizanwendung auf Markdown-Basis bietet sich die Nextcloud App Notes an. Allerdings handelt es sich hierbei nur um eine rudimentäre Lösung. Mehr in die Richtung Evernote gehen die Lösungen ownNotes bzw. dessen Fork NextNote. Leider scheint bei diesen beiden Projekten keine Weiterentwicklung mehr stattzufinden bzw. diese sehr träge zu verlaufen.

Neben auf ownCloud bzw. Nextcloud basierenden Lösungen, gibt es eine Reihe von Standalone-Lösungen. Zu nennen wären hier unter anderem Paperworks, Permanote, Laverna, TagSpaces, Nemex, Brainstorm und OpenNote.

Die Login-Seite von wallabag

Vielen diesen Lösungen werden entweder nicht mehr weiterentwickelt oder lassen nicht wirklich das Evernote-Feeling aufkommen. Daneben gibt es Lösungen welche sich für bestimmte Aspekte von Evernote als Ersatz eignen. Ein Beispiel dafür ist wallabag, welches sich als Read-It-Later-Lösung versteht und zur Archivierung von Webseiten genutzt werden kann.

Eine Lösung welche in letzter Zeit verstärkt in den Fokus gerät ist Joplin, die vom gleichen Entwickler wie eine hier vor längerer Zeit vorgestellte Backuplösung ist. Joplin versteht sich als Alternative zu Evernote und setzt voll und ganz auf Markdown. Das bedeutet allerdings nicht das man keine Bilder oder andere Anhänge zu einem Projekt hinzufügen kann; dies ist problemlos möglich.

Joplin unter macOS

Für Joplin existieren Clients für macOS, Linux und Windows. Für die mobilen Plattformen existieren Apps für iOS und Android.

Joplin
Preis: Kostenlos
Joplin
Preis: Kostenlos

Als Backend unterstützt Joplin, das Dateisystem und eine Synchronisation zu OneDrive. An einer Unterstützung für Nextcloud und Dropbox wird gearbeitet. Laut dem Entwickler, wird diese nach der Beseitigung eines speziellen React Native Bugs implementiert:

Currently, synchronisation is possible with OneDrive (by default) or the local filesystem. A NextCloud driver, and a Dropbox one will also be available once this React Native bug is fixed. When syncing with OneDrive, Joplin creates a sub-directory in OneDrive, in /Apps/Joplin and read/write the notes and notebooks from it. The application does not have access to anything outside this directory.

Durch die geplante Nextcloud-Unterstützung ist es möglich die Synchronisierung auf dem eigenen Server zu nutzen; die eigenen Daten bleiben somit geschützt. Joplin hat mittlerweile die Betaphase verlassen und kann produktiv genutzt werden. Für einen Umstieg von Evernote auf Joplin existiert in der Anwendung eine Importfunktion um die enex-Dateien, welche beim Export aus Evernote erzeugt werden, zu importieren. Der Quelltext ist auf GitHub zu finden und unter der MIT-Lizenz lizenziert. Daneben gibt es eine offizielle Projektseite.

Kontrastverhältnisse im Vergleich

Um eine gute Lesbarkeit auf einer Webseite zu erreichen, ist es wichtig ein sinnvolles Kontrastverhältnis zwischen Hintergrund und Schrift zu wählen. Ist dieses Verhältnis zu schlecht, leidet die Lesbarkeit der Texte. Große Webkonzerne wie Google und Apple gehen hierbei teilweise mit schlechtem Beispiel voran.

leaverou.github.io/contrast-ratio/

Nach der WCAG 2.0 Richtlinie wird im Normalfall ein Kontrastverhältnis von mindestens 4,5:1 gefordert. Ob die eigene Webseite diesem Kontrastverhältnis entspricht, kann man mit dem contrast ratio Tool testen, welches auf GitHub unter leaverou.github.io/contrast-ratio/ zu finden ist. Der Quelltext, der unter der MIT-Lizenz lizenzierten Software, ist ebenfalls auf GitHub zu finden.

Zwischenablage aus einer Webanwendung heraus nutzen

Wer aus einer Webanwendung heraus etwas in die Zwischenablage kopieren möchte, der benötigte bis vor einiger Zeit dazu ein Schnipsel Flash. Mittlerweile lässt sich dies, ohne zusätzliche Plugins, in den meisten Browsern über eine entsprechende Web Api nutzen.

clipboardjs.com

Einfacher wird die Nutzung dieser Web Api mit der JavaScript-Bibliothek clipboard.js. Die Bibliothek welche sich seit September 2015 in der Entwicklung befindet, abstrahiert die Nutzung der entsprechenden Web Api. Damit wird es möglich, mit wenigen Zeilen, die Zwischenablage in einer Webanwendung zu nutzen. Der Quelltext der Bibliothek ist auf GitHub zu finden. Sie ist unter der MIT Lizenz lizenziert und damit freie Software.

Webseiten aus der Wayback Machine herunterladen

Wenn man eine nicht mehr verfügbare Webseite aufrufen möchte oder einen älteren Stand einer Webseite benötigt ist die Wayback Machine vom Internet Archive stets zur Stelle. Das Internet Archive ist eine gemeinnützige Organisation, welche seit 2007 offiziell als Bibliothek vom US-amerikanischen Bundesstaat Kalifornien anerkannt ist.

archive.org/web/

Manchmal benötigt man einen Snapshot einer bestimmten Version der Webseite und möchte diesen nicht umständlich über das Webinterface der Wayback Machine herunterladen. In diesem Fall kann sich des Tools wayback-machine-downloader bedienen. Dieses Tool, welches in Ruby geschrieben ist, kann einfach über den Ruby-Paketmanager installiert werden:

gem install wayback_machine_downloader

Anschließend kann das Tool genutzt werden:

wayback_machine_downloader http://example.com

Damit wird der letzte gesammelte Snapshot heruntergeladen. Daneben existieren Option wie die –to Optionen um den Snapshot nur aus einem bestimmten Zeitraum zu holen. Da ich mehrere Snapshots einer Seite benötigte habe ich das ganze in ein Skript gegossen:

#sh

for i in `seq 127 1`;
  do
    # Define date postfix
    DATE_POSTFIX="28120000";
			
    # Linux (Linux date)
    #DATE=`date +%Y%m -d "$i month ago"`    
				
    # macOS (BSD date) 
    DATE=`date -j -v-${i}m +%Y%m` 
    
    # Add date postfix
    DATE=$DATE$DATE_POSTFIX
				
    # Create folder for snapshot
    mkdir $DATE
    cd $DATE

    # Download snapshot
    wayback_machine_downloader http://example.com --to $DATE

    # Leave folder
    cd ..
  done  

In diesem Skript wird durch das Skript 127 Monate in die Vergangenheit gereist und ein Snapshot der Webseite heruntergeladen. Das ganze läuft so lange durch bis das Ende der Schleife erreicht ist. So erhält man pro Monat einen Snapshot. Der Wayback Machine Downloader, dessen Quelltext auf GitHub zu finden ist, ist unter der MIT Lizenz lizenziert und damit freie Software.