Skip to content

Goodbye Taskwarrior ...

taskwarrior Nach über acht Jahren im Team ist es für mich an der Zeit, mich von der GothenburgBitFactory zu verabschieden. Es war eine schöne Zeit und ich habe viel, sogar sehr viel gelernt.

Der Hauptgrund dafür ist, dass das Projekt Taskwarrior in der stabilen Seitenlage ist und es seit fast vier Jahren kein neues Release mehr gab. Ich bin einfach auch müde geworden, mich bei den Teammitgliedern nach Lebenszeichen zu erkundigen.

Die Stagnation ist unter anderem damit zu erklären, dass das es zu wenig Leute gibt, die bereit oder in der Lage sind, inhaltlich mit Code beizutragen.

Anders als bei Taskwarrior, geht es bei Timewarrior gut vorwärts, Thomas leistet da einen hervorragenden Job.

Vermutlich werde ich Taskwarrior noch weiter benutzen, ich habe mich sehr an Features gewöhnt, die das Tool als Alleinstellungsmerkmale bietet. Aber ich bin parallel auf der Suche, nach einem neuen Aufgabenverwaltungswerkzeug (schönes Wort).

Region Settings ...

fedora Das bezieht sich jetzt nicht nur auf XFCE, aber da ist es mir aufgefallen ...

XFCE bietet keinen Dialog, um die Region-Settings anzupassen, ich habe gerne mein System in Englisch und die Regionaleinstellungen auf Deutsch oder der Schweizer Variante von Deutsch (Uhrzeit im 24 Stunden Format, Dezimaltrenner, ...).

Die Einstellungen kann man in der Datei /etc/locale.conf vornehmen, standardmässig ist nur die erste Zeile gesetzt:

LANG="en_US.UTF-8"
LC_COLLATE="de_CH.UTF-8"
LC_CTYPE="de_CH.UTF-8"
LC_TIME="de_CH.UTF-8"
LC_NUMERIC="de_CH.UTF-8"
LC_MESSAGES="en_US.UTF-8"


Weitere Informationen dazu gibt es unter System Locale and Keyboard Configuration.

Da ich das nur auf Desktop-Systemen so mache, bin ich noch nie darüber gestolpert.

Nextcloud-Client unter XFCE ...

fedora Ich habe den Nextcloud-Client aus den Fedora-Repositories installiert, Fedora liefert Version 2.5.2 aus.

Leider musste ich nach jedem Neustart den Login und das Passwort für die drei Accounts, die ich synchronisiere, neu eingeben, was ziemlich nervig ist.

Das Paket libgnome-keyring schafft da Abhilfe.
$ sudo dnf install libgnome-keyring

Neues Tablet ...

android Seit dem 30. April besitze ich ein neues Tablet, es ist ein Samsung Galaxy Tab S5e mit Book Cover Keyboard (ich habe leider keinen Link dazu auf den offiziellen Seiten) geworden.

Interessant, dass es knapp 14 Monate gedauert hat, ein Ersatz für mein altes Tablet zu finden, Details zum Verlust des alten Tablets hier. Wider Erwarten ist es doch ein Samsung Tablet gworden. Der Markt für Android Tablets mit Displays um 10 Zoll oder grösser ist halt relativ beschränkt.

Die Zeit habe ich mit einem iPad Pro (12.9 Zoll, 2. Generation), was mir gute Dienste geleistet hat, aber sehr einschränkend ist, wenn man die Freiheit unter Android gewohnt ist. So lassen sich aufgrund von Restriktionen im Apple Store beispielsweise keine Plugins in Firefox installieren oder Firefox als Default-Browser des Systems nutzen.

Das User Interface des Tablets ist ... nun ja ... bunt und sehr gewöhungsbedürftig. Das Display ist klasse und gestochen scharf. Die Tastatur ist unerwartet gut, ich muss nur noch meine grossen Hände trainineren, damit umzugehen, aber das Tippen geht - mit gelegentlichen falschen Tastendrücken - gut "von der Hand".

Die Grösse des Geräts ist prima, aber das Gewicht ist gefühlt höher als ich gedacht habe.

(Ich finde gerade spannend, dass mein Tablet mit Tastatur, mein Handy und meine "not so smart" Watch in Summe weniger kosten als das Handy eines Arbeitskollegen).

Zurück auf liquidprompt ...

linux Nachdem ich jetzt rund 1,5 Jahre Powerline genutzt habe, bin ich mit der Neuinstallation zurück auf Liquidprompt gewechselt.

Es gibt drei Gründe dafür: Zum Einen ist Liquidprompt deutlich schneller als Powerline und das merke ich sofort. Zum Anderen merkt man Powerline an, dass es "eigentlich" für die ZSH gemacht wurde und die Bash, na ja, rudimentärer unterstützt wird, weil sie vermutlich deutlich weniger Möglichkeiten für den Prompt bietet als ZSH. Weiterhin ist die Konfiguration deutlich einfacher ...

Wermutstropfen ist, dass das Projekt Liquidprompt nur sehr langsam bis gar nicht weiterentwickelt wird. Die ältesten nicht gelösten "Issues" sind knapp sieben Jahre alt.

Aber es tut seinen Job und das sogar sehr schnell und gut.

Fedora 30 ...

fedora Trotz der wirklich guten Erfahrungen, die ich mit dem Update von Fedora gemacht habe, habe ich mit der Version 30 - "aus Gründen" - eine komplette Neuinstallation gemacht.

Neben der "Datenhygiene" war dieses Mal der Grund, dass ich das Desktop Environment von KDE nach XFCE gewechselt habe.

Einer der Hauptgründe ist, dass ich kaum KDE-eigene Programme genutzt habe und gefühlt jede Tastenkombination mit einer Funktion belegt ist. XFCE ist deutlich schlanker, was die Menge der mit installierten Software betrifft und der weitgehende Verzicht auf Desktop Effekte macht die Arbeit gefühlt schneller.

Ich will nicht verhehlen, dass ich verärgert darüber bin, dass sich bei Borgbackup ein alter Fehler eingeschlichen hat, interessanterweise hat die Installation via pip in einem "Virtual Environment" auch nicht funktioniert. Wenn ich wieder zu Hause bin, werde ich einen Bugreport erstellen.

Am Rande bemerkt, bei Linux ist so etwas relativ leicht machbar.

devLUG ...

linux

Diesen Beitrag möchte ich gerne einmal nutzen, um über die devLUG zu informieren.

Die devLUG ist eine deutschsprachige "virtuelle" Linux User Group mit realen Menschen (deshalb ist das "virtuell" in Anführungszeichen).

Das Ziel der devLUG ist die Erstellung, Verbreitung und Förderung von Free/Libre Open Source Software (kurz FLOSS), insbesondere aber nicht ausschliesslich im Zusammenhang mit Linux­basierenden Betriebssystemen und Distributionen.

Um dieses Ziel zu erreichen, bedient sich der Verein moderner Kommunikationsmittel, die auf Verbindungen über das Internet basieren.

Wir sind in der devLUG an einen Punkt gekommen, ernsthaft über eine Vereinsgründung nachzudenken. Ohne die Gründung kommt es immer wieder zu Situationen in denen es aus verschiedenen auch rechtlichen Gründen nicht weitergeht.

Selbstverständlich bringt die Gründung eines - vielleicht sogar gemeinnützigen - eingetragenen Vereins einige Nachteile mit sich, jedoch denken wir, dass die Vorteile für die devLUG überwiegen.

Die "Aktiven" unter uns haben sich schon mal Gedanken gemacht, was sie in der devLUG sehen und was das Ziel sein soll.

Aktivitäten rund um Linux und FLOSS (Free/Libre Open Source Software), Nutzung von digitalen Möglichkeiten zur Kommunikation, Aktivitäten können Workshops, Anleitungen, Hilfe (zur Selbsthilfe), Podcasts, ... sein. Ziel ist es von und miteinander zu lernen, Linux User Groups im deutschsprachigem Raum miteinander zu vernetzen, Synergien zu nutzen, dezentrale Strukturen aufzubauen.

Wir wollen versuchen, uns kleine Ziele zu setzen welche auf virtuellen Stammtischen besprochen werden können. Dies können kleine online Workshops sein oder vieles andere mehr.

Wenn jemand Interesse an der Gründung eines Vereins für die virtuelle Linux User Group hat, kann sich einfach hier melden oder uns im IRC-Kanal #devlug aufFreenode (hinter dem Link verbirgt sich ein Webchat) vorbeischauen.

Einen Stammtisch gibt es auf Freenode in dem angegebenen Kanal, jeweils um 20:30 Uhr und alle zwei Wochen im Wechsel Dienstag / Donnerstag. Die nächsten Termine sind: 30. April, 16. Mai, 28. Mai, 13. Juni. Generell gibt es aber immer jemanden, der im Freenode-Kanal #devlug ansprechbar ist. Wir freuen uns auf Euren Besuch.

Ein Friendica-Forum wartet ebenfalls auf Euren Besuch.

Mein Arbeitsplatz ...

linux

Systemadministrator (aktueller "Jobtitel Senior System Engineer Linux/Unix") bin ich schon relativ lange und so lange ich diesen Job mache, so lange schraube ich und verbessere mein Arbeitssetup.

Das berufliche "Virtual Desktop"-Betriebssystem ist leider Windows, aktuell in der Version 10, via Thin Client, wobei ich bis auf Mailclient und Webbrowser (via SSL Interception Proxy) nur Zugriff auf die Linux- und Solaris-Infrastruktur benötige.

Dafür habe ich sehr vieles ausprobiert. Wir haben einen Remote Desktop mit NoMachine, den ich lange genutzt habe - vor allem, da ich ihn auch über beide Monitore strecken kann - aber so richtig warm geworden bin ich damit nicht. In einem anderen Kontext nutzen wir xrdp und auch X2Go habe ich getestet. Auf der Gegenseite läuft jeweils ein Red Hat Enterprise Linux 7 mit KDE 4 als Desktop (privat bin ich auf Fedora 29 mit KDE Plasma).

Nach allem Hin und Her bin ich mittlerweile bei PuTTY und - falls ich wirklich einmal (sehr selten) Grafik brauche - XMing, das reicht für mich völlig aus.

In PuTTY gibt es vier Settings, die ich jedem empfehlen möchte, der ernsthaft damit arbeitet.

  1. Unter Window / Behaviour habe ich "Full screen und Alt-Enter" gesetzt, damit lässt sich PuTTY in einem rahmenlosen Vollbild-Fenster betreiben.
  2. Unter Window / Selection ist die "Action of mouse buttons" auf "xterm (Right extends, Middle pastes)" gesetzt. Ihr wisst schon ... alter Sack ... Schwierigkeiten umzugewöhnen ... besser es funktioniert so wie auf jedem gewohnten Linux Desktop.
  3. Ebenfalls unter Windows / Selection gibt es den Punkt "Paste to clipboard in RTF as well as plain text" - gerade in Verbindung mit Outlook als Zwangsclient hilft das sehr, formatierte Dinge (inklusive Farben) aus der Shell zu pasten.
  4. Unter Connection / SSH / X11 muss natürlich "Enable X11 forwarding" eingeschaltet sein, sonst wird das nichts mit XMing.

Apropos XMing, das wird über einen Shortcut mit folgenden Parametern gestartet: Xming.exe :0 -clipboard -multiwindow -xkblayout ch -xkbvariant de

Was das ganze Setup aber zu meiner Administrationslösung macht, ist tmux. Meine Konfiguration findet Ihr am Ende das Artikels. Vielleicht erläutere ich sie einmal in einem weiteren Blogposting.

Bis vor kurzem habe ich immer ClusterSSH benutzt, wenn ich auf mehreren Systemen gleiche Befehle ausführen musste. Das hat auch mit XMing super funktioniert, bringt aber eine Inflation an Fenstern mit sich.

Daher bin ich richtig froh, dass ich tmux-xpanes entdeckt habe. Das Tools ist mit einer Fullscreen Terminal-Session via tmux einfach unschlagbar.

Meine zwei Monitore sind jetzt wie folgt aufgeteilt. Der linke Monitor trägt den ganzen Windows-Kram und der rechte eine PuTTY-Session im Fullscreen mit tmux. Das ist für mich perfekt.

# .tmux.conf
# Dirk Deimeke

set -s escape-time 1
set -g base-index 1
setw -g pane-base-index 1

bind r source-file ~/.tmux.conf \; display "Reloaded!"
bind S set-window-option synchronize-panes

bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

bind -r C-h select-window -t :-
bind -r C-l select-window -t :+

bind -r H resize-pane -L
bind -r J resize-pane -D
bind -r K resize-pane -U
bind -r L resize-pane -R

set -g default-terminal "xterm-256color"

set -g status-fg black

setw -g window-status-fg black
setw -g window-status-bg default
setw -g window-status-attr dim

setw -g window-status-current-fg white
setw -g window-status-current-bg red
setw -g window-status-current-attr bright

set -g pane-border-fg green
set -g pane-border-bg black

set -g pane-active-border-fg white
set -g pane-active-border-bg yellow

set -g message-fg white
set -g message-bg black
set -g message-attr bright

#### COLOUR (Solarized 256)

# default statusbar colors
set-option -g status-bg colour235 #base02
set-option -g status-fg colour136 #yellow
set-option -g status-attr default

# default window title colors
set-window-option -g window-status-fg colour244 #base0
set-window-option -g window-status-bg default
#set-window-option -g window-status-attr dim

# active window title colors
set-window-option -g window-status-current-fg colour166 #orange
set-window-option -g window-status-current-bg default
#set-window-option -g window-status-current-attr bright

# pane border
set-option -g pane-border-fg colour235 #base02
set-option -g pane-active-border-fg colour240 #base01

# message text
set-option -g message-bg colour235 #base02
set-option -g message-fg colour166 #orange

# pane number display
set-option -g display-panes-active-colour colour33 #blue
set-option -g display-panes-colour colour166 #orange

# clock
set-window-option -g clock-mode-colour colour64 #green
 

Datenbankbackup mit MyDumper unter CentOS 7 ...

centos

Zum Backup meiner Datenbanken benutze ich schon seit Jahren MyDumper und das MyLoader-Tool. Der grosse Vorteil von MyDumper neben der Geschwindigkeit durch Parallelisierung ist, dass alle Datenbanktabellen in einzelnen Dateien vorliegen und so leicht modifiziert werden könnten.

Höhere Geschwindigkeit bedeutet auch, dass man öfter Backups machen kann (bei mir alle vier Stunden).

MyDumper muss selber übersetzt werden, wenn es nicht in der Distribution dabei ist. Den Anfang bildet dass Holen des Quelltextes:

$ git clone https://github.com/maxbube/mydumper.git mydumper.git

Danach setzen wir die Variablen für das Übersetzen des Quelltextes.

$ export CC=/home/dirk/workspace/sclgcc.bash
$ export CXX=/home/dirk/workspace/sclc++.bash
$ export MAKEFLAGS="-j $(lscpu | awk '/^CPU\(s\)/ {print $2}')"

Die ersten beiden Variablen habe ich im gestrigen Artikel erwähnt.

Die MAKEFLAGS sorgen dafür, dass make mit mehreren Threads arbeitet. Ich nehme dafür die Anzahl der CPUs, die mir das System meldet.

$ yum install glib2-devel mysql-devel zlib-devel pcre-devel openssl-devel

Nachdem wir neben dem C++ Compiler, Make und CMake die Vorbedingungen installiert haben, kann es auch schon losgehen.

$ cd /home/dirk/workspace/mydumper.git
$ git clean -dfx
$ cmake . -DMYSQL_LIBRARIES_mariadb:FILEPATH=/usr/lib64/libmariadbclient.a -DWITH_SSL=OFF -DBUILD_DOCS=off
$ make
$ sudo make install

Das "git clean" räumt unter anderem die Reste von alten Übersetzungsversuchen auf. Guckt Euch bitte die Parameter gut an, bevor Ihr das in Repos macht, in denen Ihr Schreibrechte besitzt.

Da auf meinen Servern die aktuelle stabile Version von MariaDB arbeitet und ich ebenfalls den MariaDB-Client installiert habe, muss cmake das auch mitteilen.

Der Backup-User benätigt in der Datenbank "nur" Select-, Reload und Lock Tables Berechtigungen.
CREATE USER 'b2'@'localhost' IDENTIFIED VIA mysql_native_password USING 'kryptisches Passwort';
GRANT SELECT, RELOAD, LOCK TABLES ON *.* TO 'backup'@'localhost' REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

Nachdem jetzt alles fertig ist, kann das folgende Backupskript seinen Dienst tun.

#!/bin/bash
# db-backup.bash
set -o errexit

BACKUPDB_DIR="/srv/bak/dumps"
DB_USERNAME="backup"
DB_PASSWORD="kryptisches Passwort"
THREADS=$(lscpu | awk '/^CPU\(s\)/ {print $2}')

cd ${BACKUPDB_DIR}

/usr/local/bin/mydumper --user ${DB_USERNAME} --password ${DB_PASSWORD} --threads ${THREADS}

find ${BACKUPDB_DIR} -type d -name 'export*' -mtime +1 -exec xargs rm -r '{}' \+

WICHTIG: Am Ende des Skripts werden alle Backups gelöscht, die älter sind als ein Tag.

Aktueller C-Compiler auf CentOS 7 ...

centos

Spannend, ich hätte schwören können, dass ich das schon einmal im Blog hatte, kann einen entsprechenden Artikel aber leider nicht finden.

Ein Weg, einen aktuellen C-Compiler auf CentOS zu installieren sind die offiziell unterstützten SoftwareCollections, für unseren Fall insbesondere das Developer Toolset 7. Die achte Version gibt es schon für Red Hat Enterprise Linux 7, wird also in den nächsten Wochen auch in CentOS 7 verfügbar sein.

Zuerst werden die Software Collections aktiviert und aktualisiert

$ sudo yum install centos-release-scl
$ sudo yum update

Installation des entsprechenden Pakets mit allen Abhängigkeiten

$ sudo yum install devtoolset-7-gcc-c++
Welche Software Collections installiert sind, bekommt man übrigens mit dem Kommando scl --list heraus.

Eine Shell mit aktivierter Software Collection starten

$ gcc --version | head -1
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16)

$ scl --list
devtoolset-7

$ scl enable devtoolset-7 bash

$ gcc --version | head -1
gcc (GCC) 7.2.1 20170829 (Red Hat 7.2.1-1)

Neuen Compiler per Default aktivieren

Da man nicht jedes Mal eine neue Shell nutzen möchte, hilft der folgende Weg, das zu verwirklichen.

Wrapper Skripte für GCC und C++

#!/bin/bash
# sclgcc.bash

COMMAND="gcc $@"
scl enable devtoolset-7 "$COMMAND"
#!/bin/bash
# sclc++.bash
COMMAND="c++ $@"
scl enable devtoolset-7 "$COMMAND"

Setzen der Environment-Variablen, die cmake und make benutzen

$ export CC=/home/dirk/bin/sclgcc.bash
$ export CXX=/home/dirk/bin/sclc++.bash

Wie ich Taskwarrior nutze ...

taskwarrior

Wie in den Kommentaren eines anderen Blogartikels angeregt, schreibe ich hier gerne einmal zusammen, wie ich Taskwarrior benutze.

Meinen Workflow habe ich auf den Seiten von Taskwarrior beschrieben.

Hier ist eine aktualisierte Fassung:

Wo nutzt Du Taskwarrior?

Taskwarrior benutze ich nicht auf der Arbeit, weil ich dort hinter sehr strikten Proxies bin, die den Zugriff auf meinen Taskserver nicht erlauben.

Allerdings nutze ich meine privaten Taskwarrior Instanzen auch, um Aufgaben aus dem Job zu verwalten, weil ich damit alles in einer zentralen Lösung habe.

In den letzten Jahren habe ich fast alles Features von Taskwarrior einmal ausprobiert, bin aber jetzt zu einem sehr rudimentären Rumpf an Einstellungen geschrumpft.

Ich nutze immer die aktuelle Entwicklerversion.

Für welche Art Arbeit nutzt Du Taskwarrior?

Tatsächlich überwiegend für längerfristige Aufgaben, die nicht vergessen werden dürfen. Ich schreibe nicht alle Aufgaben in Taskwarrior.

Wie synchronisiert Du die Aufgaben, welche Geräte benutzt Du?

Da Taskwarrior für Android (kein offizielles Tool) oder Taskwarrior in Termux nicht die aktuelle Entwicklerversion als Basis haben, nutze ich Taskwarrior ausschliesslich auf Linux-Systemen mit einer Internetverbindung, die nicht Proxies benutzen müssen. Ich kompiliere Taskwarrior aus den Quellen selber.

Alle (meine) Taskwarrior-Instanzen synchronisieren gegen einen selbstgehosteten Taskserver. Alle Instanzen haben die gleiche Konfiguration, mit einem Unterschied, dass nur auf meinem Notebook der Eintrag "recurrence=no" fehlt.

Welchen Standard-Report benutzt Du?

Den "next"-Report ohne weitere Modifikationen.

Benutzt Du eine Standard-Methode oder auf Dich angepasst Methodik?

Aufgabenverwaltung ist sehr individuell, ich benutze einen Mix aus Methoden. Ein paar Informationen dazu finden sich in einem Vortrag, den ich vor zwei Jahren zum letzten Mal gehalten habe.

Nutzt Du irgendwelche Erweiterungen oder Hook-Scripts?

Nein.

Auf welches Feature vertraust Du am meisten?

Nahezu alle meine Aufgaben haben Zieldatum, auch wenn manche davon künstlich sind oder auch nicht von mir in der Zeit erledigt werden können.

Ich nutze das "wait"-Feature sehr häufig, um meine Aufgabenliste zu bereinigen.

Um meine Aufgaben zu organisieren, nutze ich Projekte und Subprojekte. Das hilft, mir den Überblick zu behalten und Aufgaben danach zu filtern.

Ausser "Virtual Tags" nutze ich keine weiteren Tags.

Für mich sind "Annotations" eines der wesentlichen Features, das nutze ich sehr häufig. Für angehängte URLs oder Pfade zu Dateien benutze ich Taskopen.

Ich benutze Anmerkungen auch, um meine privaten und beruflichen Ziele für einen Monat, ein Jahr und fünf Jahre zu verwalten. Die Ziele werden jeden Monat überprüft.

Welche Features nutzt Du bewusst nicht?

Ich benutze ganz selten nur Abhängigkeiten, zumeist benutze ich ein Datum, um zu steuern. Die eine Aufgabe hat ein Fälligkeitsdatum Ende der Woche und die nachfolgende Aufgabe ein Wartedatum Anfang nächster Woche.

Unglaublich, aber war, ich nutze Prioritäten überhaupt nicht.

Wie schaust Du Deine Aufgaben durch?

Dazu benutze ich das Review-Kommando der Taskshell.

Weitere Punkte

Ich benutze ein sehr rudimentäre Konfiguration bestehend aus einem Farbschema, Montag als Wochenstart, calendar.details=full und calendar.holidays=sparse.

Auch, wenn es keinen Sinn ergibt, nutze ich manchmal "wait:someday", um Aufgaben komplett aus dem Weg zu räumen. Man kann sie ja mit "task waiting" immer noch sehen.

Ich schreibe nicht alles in Taskwarrior. Ich habe ein Gehirn und bin gewillt es zu benutzen.

Fragen per Mail

Per Mail sind mir Fragen gestellt worden, deren Antworten ich hier gerne auch nenne.

Im Rahmen meiner Arbeit für Taskwarrior habe ich einen ganzen Haufen an Artikeln geschrieben und Vorträgen gehalten.

Beispielsweise Aufgabenverwaltung auf der Kommandozeile oder den Workshop bei Pro-Linux.

Weitere Vorträge finden sich auf meinem Speakerdeck-Account.

Verwendest du TW für private und geschäftliche Aufgaben?

Ja, allerdings auf privaten Geräten.

Setzt du bei allen Aufgaben einen Termin?

Ja, das mache ich.

Sortierst du die Aufgaben in Kategorien und/oder Projekte ein?

Ich benutze sehr intensiv Projekte und Unterprojekte, dafür aber keine Tags.

Wie priorisierst du in TW deine Aufgaben, damit diese ganz oben in deiner Liste stehen?

Da löse ich alles über das Fälligkeitsdatum. Ich blende Aufgaben auf, die nicht in den nächsten Wochen anstehen. Das führt dazu, dass ich selten mehr als eine Bildschirmseite benutzen muss.

Alternativ nutze ich "+next", um die Dringlichkeit (Urgency) zu erhöhen.

Recurring-Termine

Bei den Recurring-Terminen hatte ich in TW Problem, die Übersicht zu behalten bzw. viel Arbeit, diese ständig neu zu terminieren, wenn mal ein Termin nicht eingehalten wurde (passiert mir leider viel zu oft).

Taskwarrior ist keine Terminverwaltung ...

Hast Du Dir für den Fall einmal Dependencies angeschaut?

Wie klappt das bei dir?

Bei mir klappt es ganz gut. Ich vermisse ein paar Features, die mit Taskwarrior 3.0.0 kommen werden, da wird die Recurrence komplett überarbeitet.

Apps für das Smartphone ...

android

Angestiftet von Thomas folgt hier eine Liste der Apps, die auf meinem Smartphone installiert sind und von mir auch genutzt werden.

Ich habe einmal nachgeschaut, die Android-Kategorie meines Blogs ist relativ verwaist, die letzte App-Übersicht ist von 2011 und für das Tablet von 2017.

Vielleicht fange ich einmal damit an, dass ich neben dem vorinstallierten Playstore von Google auch noch F-Droid verwende. Wenn ich eine neue App brauche, schaue ich zuerst dort bevor ich auf den Google Playstore zugreife. Bei vergleichbarer Funktionalität greife ich lieber zu FLOSS (Free/Libre Open Source Software).

Die folgende Liste habe mit Hilfe von List My Apps erstellt. Apps von Google gebe ich nur an, wenn ich sie auch wirklich benutze.

Die Liste ist richtig lang geworden.

Medienkonsum

  • Pocket Casts ist mein Hauptmedienprogramm, es bietet gegenüber anderen Lösungen die Möglichkeit der Synchronisation des Hörstatus, um auf der Sonos, iOS oder dem Webplayer weiterhören zu können.
  • Audible, ja, Hören spielt eine grosse Rolle auf dem Handy, ich mag Hörbücher.
  • Spotify löst Audible immer stärker ab, ich höre kaum Musik, dafür viele Wortbeiträge.
  • EasyRSS synchronisiert sich gegen eine selbstgehostete FreshRSS-Instanz.
  • wallabag ist die passende App zum selbstgehosteten Wallabag-Dienst.
  • MuPDF viewer zum Anschauen von PDFs.
  • Netflix, Smart TV und Sonos nutze ich auf dem Handy sehr selten.

Internet

Zu den folgenden Tools schreibe ich nichts, die sind eindeutig.

Chat und Messaging

Ich chatte sehr wenig, was dazu führt, dass ich pro Toll gerade einmal ein oder zwei Personen habe, mit denen ich mich austausche, SMS wird übrigens auch noch genutzt.

  • Riot.im wird immer mehr zu meinem Haupt-Messenger. Ende-zu-Ende-Verschüsselung und verschiedene Brücken, unter anderem zum IRC, machen Matrix zu einer echten Empfehlung.
  • Telegram nutze ich am zweithäufigsten, würde ich aber gerne einstellen.
  • Nextcloud Talk wird hoffentlich bald auch Benachrichtigungen können.
  • Threema und Threema QR Code Plugin
  • WhatsApp brauche ich nur für eine oder zwei handvoll Gruppenchats, vielleicht schaffe ich das mal in eine VM auszulagern und dann via Matrix zu verbinden.

Organisation

  • Bring! zur "Verwaltung" der Einkäufe.
  • Bitwarden ist mein Passwortmanager.
  • Business Calendar ist für mich der beste Kalender.
  • DAVdroid synchronisiert die Kalender und Kontakte meiner Nextcloud-Instanz mit dem Handy.
  • ICSdroid tut das gleiche für ICS-Kalender (da habe ich zwei).
  • Joplin für Notizen und kurzfristige Aufgaben, synchronisiert mit der Nextcloud.
  • Nextcloud synchronisiert meine Photos mit der eigenen Nextcloud-Instanz und verwaltet einen grossen Haufen an PDFs und E-Books. E-Books lese ich nicht mit dem Handy.

Verkehr und Karten

Social Media

Ich nutze alle drei sehr selten.

Sonstiges

  • ALDI TALK - mein Handy kann zwei SIM-Karten verwalten, Aldi-Talk nutze ich in Deutschland.
  • Authenticator zur Erzeugung des zweiten Faktors.
  • Bose Connect für Firmware-Updates meiner Kopfhörer.
  • Clash Royale ist eines der zwei Spiele, das ich ab und an spiele.
  • Gadgetbridge stellt die Verbindung zu meiner Amazfit Bip ("not so smart Watch") her.
  • MeteoSwiss für den Wetter bericht in der Schweiz.
  • PostFinance - Kontostand und Bezahlen per NFC.
  • Reise & Waren enthält die Zollbestimmungen der Schweiz.
  • SecureLogin gibt den zweiten Faktor für die Firma.
  • Stocard benutze ich für Boarding Passes und eine Kundenkarte.
  • Supercard, selten genutzte Kundenkarte.
  • WeatherPro für Wetterberichte ausserhalb der Schweiz.
  • Wetter notification für Wetter auf der Amazfit Bip, spielt mit Gadgetbridge zusammen.
  • ti5x, Taschenrechner und das erste programmierbare Gerät, das ich hatte.
  • Yafi ist das zweite Spiel, ich habe einen FICS-Account seit 1996.
  • Nutze ich sehr selten: Barcode Scanner, GoPro

Docker-Hilfe ist hilfreich ...

docker Prinzipiell finde ich es ja super, dass die Docker-Kommandos eine eingebaute Hilfsfunktion haben, aber manchmal ist die Hilfe schon anders als erwartet.

Ich war mir nicht sicher, ob ich zuerst den Quell- oder Zieltag angeben muss beim Docker-Tag-Kommando:

$ docker tag --help

Usage:  docker tag IMAGE[:TAG] IMAGE[:TAG]

Tag an image into a repository

Options:
      --help   Print usage

Hotel-WLAN ...

linux Am vergangenen Wochenende durfte ich einmal mehr in einem Hotel zu Gast sein, das ein kaputt konfiguriertes WLAN hatte. Manchmal frage ich, was die Dienstleister befürchten, wenn sie den Zugang so kastrieren.

Für mich ist elementar, dass ich via SSH auf meine Server zugreifen kann, aber Port 22 ausgehend war geblockt. Das habe ich relativ schnell in den Griff bekommen, in dem ich via "Remote Console" auf einem meiner Server sslh installiert habe. sslh nimmt Verbindungen auf Port 443 (https) an und entscheidet mit dem Handshake an welchen Dienst die Verbindung "übergeben wird". Das klappt problemlos und ziemlich gut, wenn der WLAN-Administrator nicht auf Protokollebene blockt.

Zugriff geht dann via:

ssh -p 443 user@sslh-server.example.net


Die Weiterverbindung auf andere Server lässt sich dann mittels folgendem Befehl realisieren (das geht auch transparent mit der unten aufgeführten Lösung):

ssh -o ProxyJump=user@sslh-server.example.net user@ziel.example.com


Für reine SSH-Verbindungen ist das prima, aber es gibt ja zum einen noch andere Dienste (unter anderem Usenet, Protokoll nntp, Port 119), die ich auch noch nutzen möchte.

Da kommt dann das Tool sshuttle zum Einsatz. sshuttle benutzt SSH, um darüber alle tcp-Verbindungen plus DNS mittels Paketfilterregeln weiter zu leiten. Um die lokalen Regeln anzupassen wird sudo-Zugriff auf den root-Account benötigt.

sshuttle --dns --remote=user@sslh-server.example.net:443 0/0


Für mich funktioniert das und es macht "falsch" konfigurierte Netzwerke benutzbar.

Powerline ...

linux Ich habe jetzt einmal meinen Prompt von Liquid Prompt auf Powerline umgestellt, weil es damit ein wenig konsistenter ist, da sowohl die Shell wie auch Vim und tmux unterstützt werden.

Bei Fedora 27 ist Powerline direkt dabei, bei CentOS muss man Powerline "von Hand" installieren, das Verfahren wird auch bei anderen Distributionen funktionieren.

Fedora 27:
dnf install powerline tmux-powerline vim-powerline
systemctl enable powerline
systemctl start powerline


CentOS 7:
yum install python-pip
pip install powerline-status

cd /usr/share/fonts
curl -LO https://github.com/powerline/powerline/raw/develop/font/PowerlineSymbols.otf
fc-cache -vf /usr/share/fonts/

cd /etc/fonts/conf.d/
curl -LO https://github.com/powerline/powerline/raw/develop/font/10-powerline-symbols.conf


.bashrc
export POWERLINE_BASH_CONTINUATION=1
export POWERLINE_BASH_SELECT=1

# Fedora 27:
source /usr/share/powerline/bash/powerline.sh

# CentOS 7:
source /usr/lib/python2.7/site-packages/powerline/bindings/bash/powerline.sh


.vimrc
# Nur CentOS 7:
set rtp+=/usr/lib/python2.7/site-packages/powerline/bindings/vim/

# Fedora 27 und CentOS 7:
set laststatus=2


.tmux.conf
# Fedora 27:
source /usr/share/tmux/powerline.conf

# CentOS 7:
source /usr/lib/python2.7/site-packages/powerline/bindings/tmux/powerline.conf