Android Gnucash und Fremdwährungs-Buchungen

Ausgangslage: In der Android-App sind eine Reihe von Buchungen erfasst, in der eine Fremdwährung involviert ist. Folgende Konten sind betroffen:

  • Aktiva:Barvermögen:Bargeld – Fremdwährung
  • Aktiva:Barvermögen:Girokonto (in EUR)
  • mehrere Konten unterhalb der “Aufwendungen:” – Hierarchie in EUR

So gibt es Transaktionen zwischen dem Girokonto und dem Bargeld-Fremdwährungskonto und dem Bargeld-Fremdwährungskonto und den Aufwandskonten.

Problem: Es gibt keine Möglichkeit die Daten auf regulärem Weg in die Desktop-Anwendung zu importieren. Schlimmer: Es gibt nicht mal eine Möglichkeit diese Buchungen zwischen zwei Desktop-Gnucash-Instanzen auszutauschen.

Continue reading “Android Gnucash und Fremdwährungs-Buchungen”

pylint und Argumente von callback-Funktionen

Benutzt man eine Library, die Callback-Funktionen verlangt, hat man nicht unbedingt die Kontrolle über Anzahl und Verwendung der Argumente. Hier wird sich beispielsweise pylint beschweren mit “Unused argument ‘attrs’ (unused-argument)”:

def mycallback(arg1, arg2):
    pass

Glücklichweise gibt es eine Möglichkeit mit dem Präfix “cb_” pylint den Umstand mitzuteilen, daß es sich dabei um eine Callbackfunction handelt:

def cb_mycallback(arg1, arg2):
    pass

Damit mahnt pylint die Stelle nicht mehr an und akzeptiert, wenn man nicht an sämtlichen Informationen des Aufrufers interesiert ist.

Syncthing, wie man mit bereits existierenden Ordner umgeht

Normalerweise wird man bei Syncthing so vorgehen:

  1. Ordner auf Gerät A der Syncthing-Konfiguration hinzuzfügen und für Gerät B freigeben.
  2. Auf Gerät B auf die Freigabe warten und einem neuen lokalen Verzeichnis zuweisen.

Was aber, wenn beide Verzeichnisse bereits (weitestgehend) synchronisiert sind? Wenn man den Zeitpunkt ungünstig erwischt und z.B. Gerät B noch nicht mit Scannen beendet hat, werden u.U. unnötig Daten übertragen.

In dem Fall hat sich folgende Vorgehensweise bewährt:

  1. Ordner auf Gerät A der Syncthing-Konfiguration hinzufügen, aber noch nicht freigeben.
  2. Ordner auf Gerät B der Syncthing-Konfiguration hinzufügen, dabei diesselbe Ordner-Kenning (Folder ID) wie auf Gerät A wählen. Der Ordner wird auch hier noch nicht freigegeben.
  3. Warten bis der Scan-Vorgang auf beiden Geräten beendet ist.
  4. Auf Gerät A den Ordner auf für Gerät B freigeben und umgekehrt.
  5. Jetzt werden idealerweise nur noch die Meta-Daten mit den Hashes ausgetauscht

Hotfix for courier-mta on Ubuntu 16.04

On Ubuntu 16.04 the installation of the Courier MTA package fails  with the following error message:

courier-mta.service is not a native service, redirecting to systemd-sysv-install
Executing /lib/systemd/systemd-sysv-install enable courier-mta
insserv: script courier-mta: service courier-mta already provided!
insserv: exiting now!

Continue reading “Hotfix for courier-mta on Ubuntu 16.04”

Howto: Courier-MTA forward only setup

Folgendes Aufgabenstellung:

  • Es gibt ein zentrales Mail-Relay (“Relay”)
  • Es gibt einen Rechner mit einem lokalem Mailserver, bei dem smartd-Alarme etc. Cron-Jobs auf dem root-Account aufschlagen (“Server”)
  • Die Mails des Rechners sollen an einen Account auf dem Relay geschickt werden, damit sie (zusammem mit den Mails anderer Rechner) gelesen werden

Continue reading “Howto: Courier-MTA forward only setup”