Total Commander lebt! Version 9 Beta1 erschienen

logo_phpBBKein anderes Tool hat derart lange Bestand in meiner Werkzeugkiste, wie der Total Commander. Ich frage mich nach wie vor, wie man effektiv an seinem PC arbeiten soll, ohne das damals noch Windows Commander genannte Schweizer Messer. Ich bin nach wie vor davon überzeugt, dass wenn man bereit ist, die Möglichkeiten zu erforschen, Shortcuts beherrscht und auch mal die Hilfe bemüht, es einfach nichts produktiveres gibt, im Bereich der Datei- und Verzeichnisverwaltung unter Windows.

An der Stelle einmal ein ausdrückliches „Danke schön“ an Christian Ghisler! Im Übrigen hat er noch nie Update-Gebühren verlangt. Und dies seit vielen Jahren nicht. Und auch mit neuer Version wird er es nicht tun. Ich hätte jedes Update bezahlt. Ohne zu überlegen.

In Version 9.0 beta 1 sind folgende neuen Features enthalten:

Es hat nun wenig Sinn diese Liste hier zu wiederholen. Für mich ein Highlight ist die Integration des „Everything„-Tools. Weitere aus meiner Sicht bedeutende Neurungen sind:

  • Ansichtsmodi, können manuell über das Menü „Anzeigen“ oder automatisch durch benutzerdefinierte Regeln umgeschaltet werden
  • Symbole auf den Tabs (Registerkarten) anzeigen, abhängig vom angezeigten Ordner
  • Gedimmte Symbole für versteckte Dateien / Ordner
  • Klick auf Tab-Header bei Option „gesperrt, aber Verzeichnisänderungen erlaubt“ -> ins Basisverzeichnis dieses Tabs zurückkehren
  • Bessere Unterstützung für Bildschirme mit hoher Auflösung
  • Skalierung der Dialogfelder (OverrideDPI) über Konfigurieren – Einstellungen – Schrift
  • Unicode-Unterstützung für descript.ion-Dateien
  • Umbenennen (Umsch+F6): Pfeil nach oben/Pfeil nach unten um zur vorherigen/nächsten Datei zu springen (konfigurierbar)
  • F5 Kopieren/F6 Bewegen: Combobox mit allen geöffneten Tabs und allen Unterverzeichnissen im Zielfenster (Umsch: Quellfenster)
  • F5 Kopieren: leere Verzeichnisse überspringen durch Anhängen von | **\ an die Zeile „nur Dateien dieses Typs“
  • Dateien direkt löschen (nicht in den Papierkorb): Bei Fehlern erst am Ende der gesamten Operation nachfragen
  • Dateien direkt löschen: Neue Option „Alle überspringen“, falls Dateien fehlen
  • „Everything“-Tool benutzen, um auf NTFS-Laufwerken viel schneller zu suchen, wenn möglich auch bei Netzwerklaufwerken
  • Mehrfach-Umbenenntool:
    • Neue Buttons zum Einfügen seltener benutzter Felder
    • Verbesserter Dialog zur Auswahl von Namensbereichen
    • Automatisches Umbenennen in „name (2).ext“, „name (3).ext“ anbieten, wenn es doppelte Namen gibt, oder Namen, die bereits vorhanden sind
  • Lister:
    • Strg+Umsch+Q: Schnellansicht in einem separaten Lister-Fenster öffnen, Inhalt anpassen beim Wechsel zu anderen Dateien
    • Größeren Puffer verwenden, um große Textblöcke ohne Zeilenumbrüche korrekt anzuzeigen
  • Virtuelle Ordner wie die Netzwerkumgebung asynchron einlesen (schnellere erste Antwort) und in Hintergrund-Thread

Dann werde ich jetzt mal mit dem Beta-test beginnen.

 

Papierloses Büro: Halbautomatische Archivierung preiswert realisiert 

Inspiriert durch diesen Artikel von Caschy habe ich einmal schnell zusammen geschrieben, wie ich mein papierloses Büro realisiert habe.

postscan_offce-n-pdff

Mein größtes Problem war bisher die Disziplin. Und das hatte einen einfachen Grund. Das Scannen war ja schon immer schnell erledigt, in meinem Fall mit Scanner Pro für iOS oder mit meinem ScanSnap. Doch dann lagen da einen Haufen hübsch benannter PDFs und die musste man sich alle noch einmal ansehen, um ihnen einen sinnvollen Namen zu geben und sie in eine vernünftige Ordnerstruktur abzulegen. Ich habe mir ein Rezept erstellt, mit dem ich das alles ein wenig automatisiere oder zumindest vereinfache. Und das alles zu recht günstigen Konditionen.  Die Zutaten dazu sind:

 

  1. Abby Finereader Corporate (~189,– € HVK, deutlich preiswerter im Netz zu finden)
  2. Autohotkey (kostenlos)
  3. xpdf  (kostenlos)
  4. Total Commander  (37,– €, lebenslange Updates)
  5. Office-N-PDF (69,– €)

Zu den Kosten: Das sind lediglich ~295 € für eine rechtssichere Langzeitarchivierung, die folgendes kann:

  • Perfektes OCR
    • Hohe Erkennungsraten
    • Automatisch im Hintergrund
    • Ordner auf neue Dateien prüfen und geplant verarbeiten
  • Anhand von Regeln
    • den Zielordner bestimmen
    • Metadaten aus dem Dokument lesen
    • PDF-Metadaten schreiben
    • Alternativ oder optional in Evernote ablegen
    • Belegtyp, Belegnummer, Belegdatum und Kundennummer aus Dokument lesen
    • In ERP importieren oder verlinken
  • Zusätzliche Informationen im Verzeichnis
    • Für das schnelle manuelle Umbenennen
    • Zum Verschieben in die richtige  Ordnerstruktur
    • Um Regeln unkompliziert erstellen zu können

Nächster Schritt ist das automatische Aufteilen großer Dokumente, ebenfalls nach Regeln. Wenn bspw. mehr als eine Leer(Trenn-)seite vorhanden ist, neues Dokument anlegen. Oder wenn sich die Belegnummer ändert. Damit ist es dann möglich, große Stapel zu scannen und später aufzutrennen.

Das Rezept

Zunächst werden alle Dokumente gescannt. Hier ist dann einzig der korrekte Zielort von Bedeutung. Der Pfad, der als Hotfolder in Abbyy Finereader konfiguriert wurde. Dateiname ist noch völlig irrelevant. Da man hier nicht viel denken muss, ist das dann schnell erledigt. Und man kann einen mobilen Scanner auch so einrichten, dass er per Cloud ebenfalls in diesen Ordner überträgt.

Nun kommt ein von mir geschriebenes Skript zur Anwendung. Es ist für/mit Autohotkey entwickelt. Die Autohotkey-Dokumentantation ist sehr umfangreich, daher gehe ich zu AHK hier nun nicht detaillierter ein.

Was macht nun mein Skript?

Es schreibt mit xpdf den vorab erkannten Inhalt der PDF in eine descript.ion Datei im gleichen Verzeichnis. Je Dokument dort ein Eintrag. Dies wird dann im Total Commander sehr praktisch angezeigt:

postscan_totalcommander

Zunächst habe ich hier nun die Möglichkeit, anhand diese Texte, die mit Strg-Z je Datei auch in voller Größe angezeigt werden, die Dateien sinnvoll zu benennen und zu verschieben. Doch mein Skript fängt jetzt erst richtig an:

Es liest aus einer XML definierte Regeln: postscan_xml

Aus diesen geht u.a. hervor, was in die Metadaten der PDF geschrieben, nach welchen Suchworten das Dokument mit der Regeln verknüpft, oder auch, nach welchem Datum, Belegnummer, etc. gefunden werden soll.

Sobald das Skript fündig geworden ist und dann auch noch alle Aufgaben erfüllen konnte, wird die Datei ins Archiv an richtige Stelle, mit sprechendem Dateinamen und informativen Metadaten verschoben. postscan_pdf

Sollte das Skript zwar zum Dokument eine Regel gefunden haben, aber es fehlen erforderliche Daten, wird dies ebenfalls wieder in die descript.ion-Datei geschrieben und ich sehe sofort, für welche Dateien ich die Regeln überarbeiten muss. Im optimalen Fall, habe ich für alle meine eingehenden Belege Regeln definiert. Dann brauche ich nur noch scannen. Sonst nichts. Danach ist der Eingangsordner leer.

Evernote-Integration

Für Dokumente, die ich mobil dabei haben möchte, kann ich Evernote-Daten angeben. Sie werden dann auch gleich mit Tags und ordentlichem Titel dort importiert.

Das Langzeitarchiv

Nun müssen die Dokumente noch gesetzeskonform in ein unveränderliches Langzeitarchiv. Hierzu verwende ich Office-N-PDF von JBSoftware. Diese Lösung hat den für mich den entscheidenden Vorteil: Es importiert Archive aus einer Ordnerstruktur und bildet diese exakt im Kategoriebaum so ab. Und beim Export kann man diese Struktur ebenfalls wiederherstellen. Hieraus ergibt sich in Kombination mit den Metadaten im PDF-Dokument eine völlige Unabhängigkeit. Solange es aber JBSoftware gibt, Office-N-PDF weiterentwickelt wird, kann ich mich an Volltextsuche, schönem Kategoriebaum, gespeicherte Suchen (bspw für Steuererklärung) und vielem mehr erfreuen.

ERP-Integration

Im ERP-System, im meinem Fall TimeLine Enterprise, möchte ich nun ebenfalls diese Dokumente im Zugriff haben. Hier importiere ich, ebenfalls mit meinem Skript, komprimierte, kleinere Versionen der archivierten Dokumente inkl. eines Office-N-PDF-URL zum Archiv, so es dann doch mal das Original sein muss.

Und die Originale?

Die Originale hefte ich in Ordnern, je Jahr, unterteilt je Monat, chronologisch ab. Es wird nichts entsorgt. Durch die Chronologie ist aber dennoch alles immer schnell wiederfindbar. Da brauche ich weder Barcodes noch sonstige Stempel. Da ich mit einem Ordner je Jahr hinkomme, maximal 2, nimmt das alles nicht nennenswert Platz weg.

Fazit

Es war zugegebenermaßen recht viel Arbeit, das Autohotkey-Skript zu schreiben, zumal ich die Sprache auch noch mehr lernen musste. Meine Zeit eingerechnet, ist das vielleicht doch nicht eine so ganz preiswerte Lösung. Aber ich wollte auch AHK lernen. Und ich bin nun unabhängig. Letzteres gerade für meine in mancher Hinsicht wertvollen Dokumente, ein unglaublich wichtiges Argument. Und es ist natürlich auch nicht zu vergessen, dass die Regeln geschrieben werden müssen. Das hatte ich in einer ersten Version alles in einer CSV-Datei. Hier hat sich die Umstellung auf XML wirklich gelohnt. Denkbar wäre nun noch, die Regeln im ERP-System abzulegen. Aber auch das ist meiner geplanten Folgeversion vorbehalten.

 

 

 

 

 

 

Schreibtrainer Tipp10 in neuer Version

tipp10_2016So kann man doch auf die Idee kommen, dass Schreibtrainer ein ausgelaugtes Thema ist und sich keiner mehr die Mühe macht, daran noch etwas zu ändern, oder zu verbessern. Trifft für sehr viele Programme in dem Bereich auf jeden Fall zu. Nicht jedoch bei Tipp10!

Mit vollständig überarbeitetem Layout in der Onlineversion präsentiert sich TIPP10 moderner und effektiver. Das neue Layout passt sich jetzt an die Browsergröße an und bietet so mehr Platz für Inhalte und neue Funktionen. Und vor allem ist TIPP10 jetzt auch mit Tablets besser zu nutzen. Woher wussten die Entwickler, dass das genau das ist, was ich mir gerade gewünscht habe?

Daran dürfen wir uns u.a. erfreuen:

  • Die Größe des Schreibtrainers lässt sich anpassen
  • Für den Schreibtrainer stehen zwei Farblayouts zur Verfügung (hell und dunkel)
  • Das aktive Zeichen kann jetzt auch unterstrichen dargestellt werden
  • Die Lernstatistik hat nun eine Summenzeile, einen Export und erweiterte Filter

Eine Liste aller Änderungen sind hier zu finden: https://www.tipp10.com/de/news/

An der Stelle sein erwähnt, dass Tipp10 kostenlos ist, der Anbieter sich aber über eine Spende freut.

Fazit: Meine klare Empfehlung.

Redmine auf aktuellen Stand gebracht, so ist es abgelaufen

Es braucht gar nicht weiter gelesen werden. Ich habe die Aktion abgebrochen. Ich habe eigentlich jede Hürde gemeistert. Ruby in korrekter Version, Rails und Passenger. Passenger ohne Fehlermeldungen. Mysql2 und weitere Dinge, alles hinbekommen. Keine Fehlermeldungen. Aber es funktioniert dennoch nicht. Auch /public ist korrekt.  Redmine will einfach nicht starten. Nachdem ich derart viel Zeit mit dem Thema verbracht habe, musste ich mir wieder ehrlich gestehen, dass man sowas nicht „mal eben“ macht und man sich mehr als gedacht in die Sache rein hängen muss.

Sollte ich sowas noch einmal in Angriff nehmen, denke ich daran schon mal viel Zeit zu reservieren. Und: Ruby On Rails ist nicht meine Welt.


 

Welche Umgebung liegt vor?

Welche Linux-Version?

zulu1902:~# uname -a
Linux zulu1902.*******.de 2.6.32-5-amd64 #1 SMP Tue May13 16:34:35 UTC 2014 x86_64 GNU/Linux

Welche Distribution?

zulu1902:~# lsb_release -a No 
LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 6.0.10 (squeeze)
Release: 6.0.10
Codename: squeeze

Welche Ruby-Version ist installiert?

zulu1902:~# ruby -v
ruby 1.8.7 (2010-08-16 patchlevel 302) [x86_64-linux]

Welche Rails-Version ist installiert?

zulu1902:~# rails -v
Rails 2.3.5

 Welche Umgebung ist erforderlich?

ruby 1.9.33, 2.0.02, 2.1, 2.2.1
Rails 4.20

Demnach muss Ruby wie auch Rails zunächst aktualisiert werden. Ich habe es zunächst mit RVM probiert, aber irgendwie ursächlich fieser Fehlermeldungen im Zusammenhang mit MySQL den Faden verloren. Nichts ging mehr. extconf.rb:67:in `<main>‘: uninitialized constant Config (NameError) ist zwar relativ sprechend, auch habe ich erfahren, es es nicht mehr Config sondern RbConfig ist. Aber ist habe die Probleme nicht lösen können. Ein beherztes

rvm implode 

hat dieser Geschichte, deren Sinn ich im Nachhinein gar nicht mehr nachvollziehen kann, ein entsprechendes Ende gesetzt. 

 

1. Update Ruby On Rails

Ich habe Ruby zunächst vom System entfernt. Mit
sudo apt-get remove ruby1.8
war das schnell erledigt. Dann habe ich nach dieser Anleitung Ruby komplett neu eingerichtet. Mit
wget ftp://ftp.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.gz
heruntergeladen und mit folgenden Kommandos kompiliert und installiert:

cd ruby-1.9.3-p547
./configure --enable-pthread --prefix=/usr/local 
make && checkinstall --type=debian --install=yes --fstrans=no --pakdir='~'

Ein erneuter Versuch… 

Ich laufe noch immer auf viele Fehler, also versuche ich es erneut:

rvm install 2.2.1
rvm use 2.2.1
rvm install rails

Probleme mit Passenger

Leider gibt es erhebliche Probleme bei der Installation des Passenger Application Servers. /mod_passenger.so ist nicht zu finden. Ein beherztes

find -iname mod_passenger.so 

hat mir dann den wahren Ort den Apache-Moduls verraten und ich konnte, abweichend von der Installationsdokumentation, den korrekt Pfad eintragen. Und siehe da, Webserver Apache läuft wieder. Nun mit geladenem Passenger-Modul.

Nun kann das Update Redmine durchgeführt werden

Die Anleitung hierzu habe ich hier gefunden: http://www.redmine.org/projects/redmine/wiki/RedmineUpgrade

1. Backup

Da sowieso jeden Tag ein Backup durchgeführt wird, beschränke ich mich auf die Kontrolle, ob es denn heute auch funktioniert hat. Wobei nur die Datenbank gesichert und auf einen anderen FTP-Server übertragen wird, jedoch nicht die Dateien. Dies mache ich sicherheitshalber auch fix per WinSCP manuell. Zu finden in /usr/share/redmine/files

2. Das Update

Es gibt 2 Varianten: Download des Stable Releases oder Checkout aus einen SVN -Repository. Da Letzteres sehr einfach erscheint, es sind nun 2 Befehle an der Kommandozeile, versuche ich zunächst die 2. Option.

svn update
bundle update

Ein schönes GitHub-Markdown-Feature für Tabellen

Man kann auch die Spaltenbreite in Tabellen bestimmen. Die Anzahl der Bindestriche bestimmt dies. Demnach ist es nicht beliebig, wieviele Bindestriche man in der zweiten Definitionszeile einträgt. Drei sind es mindestens, aber mehr als drei erweitern die Spaltenbreite.

Das

|Nummer|Beschreibung-----------|Ort------------|Menge|Preis|Summe|
|------|-----------------------|---------------|-----|-----|-----|

ist nicht gleich das:

|Nummer|Beschreibung-----------|Ort------------|Menge|Preis|Summe|
|---|---|---|---|---|---|