Skip to content

Kommunikationswerkzeuge und Messenger Ende 2021

Bei den Messengern hat sich mit einer grossen Ausnahme relativ wenig getan, wie ein Vergleich mit dem Artikel aus dem letzten Jahr zeigt.

Nutze ich:
  • Matrix
  • Signal
  • Threema
  • Big Blue Button
  • Jitsi (aber sehr selten)
  • Mattermost
  • Microsoft Teams
  • Nextcloud Talk
  • Rocket Chat
  • SMS
  • Telegram

Nur dienstlich:

  • Skype for Business
  • WebEx
  • Zoom

Nutze ich nicht (mehr):

  • appear.in
  • Duo
  • Facetime
  • Facebook Messenger
  • Hangouts
  • Keybase
  • Skype
  • Slack
  • WhatsApp
  • Wire
  • XMPP

Vermutlich ist das noch nicht einmal vollständig.

Wie ich Ende 2021 arbeite (Client)

Was soll ich als Einleitung schreiben, auch hier gab es einen Artikel im letzten Jahr? Hier hat sich ebenfalls viel mehr getan als auf der Serverseite.

Hardware

Nach längerer Zeit, in der ich mir nur Notebooks gekauft habe, verrichtet nun ein neu gekaufter TUXEDO CORE One unter Ubuntu 20.04 LTS bei mir seinen Dienst. Ich bin mit dem Gerät sehr zufrieden und froh gewechselt zu sein. Selbst ohne Corona habe ich das Notebook nur maximal fünf Mal im Jahr benötigt und dafür tut es immer noch seinen Dienst (oder kann durch ein Tablet ersetzt werden).

Für den Dienst habe ich ein neues iPad Pro (12.9 Zoll) mit Magic Keyboard und M1-Prozessor bekommen. Geniales Gerät, die Tastatur ist grossartig und mit dem Touchpad muss ich auch nicht mehr unbedingt auf dem Tablet "rumfingern".

Nach dem Reinfall mit der Sequent Supercharger 2 habe ich eine Withings Scanwatch als neue Armbanduhr. Ich bin von dem Gerät und auch dem Ökosystem, inklusive dem Support begeistert.

Damit sind meine "daily driver":

  • Privat: Fairphone 3
  • Hybrid: iPad Pro 2021
  • Hybrid: Onyx Boox Max 3
  • Privat: Withings ScanWatch
  • Privat: TUXEDO CORE One
  • Privat: Sony WH-1000XM4.
  • Arbeit: Dell OptiPlex 7010 mit Windows 10
  • Arbeit: iPhone 12
  • Arbeit: Plantronics Voyager Focus UC

Wer sich für die anderen technischen Geräte bei uns interessiert, wird auf der Technikseite im Blog fündig.

Software

Android

Als Podcast-App setze ich wieder auf AntennaPod und höre nur über mein Fairphone. Auf dem Android-Tablet lade ich die Deutsche und die Schweizer Tagesschau damit herunter und schaue sie täglich.

Die Clockify nutze ich zur Zeiterfassung. Wenn ich einen guten Überlick habe, wird sie auch wieder verschwinden.

Da ich mit dem Führen einer Leseliste auf Goodreads begonnen habe, ist auch der Client auf dem Handy installiert.

Linux

Auf allen Linux-Clients ist jetzt eine lokale Installation des LanguageTool-Servers vorhanden. Das hilft sehr.

Als Zweitbrowser setze ich den Ungoogled Chromium ein. Ich benötige ihn nicht häufig, aber manche Webseiten funktionieren leider mit der Chrome-Engine besser.

Nach unserer TILpod-Episode über Monorepos bin ich zu der Entscheidung gekommen, dass es auch für mich sinnvoller ist, viele meiner Repositories zusammen zu führen.

Es war an der Zeit, mich von IRC zu verabschieden, Goodbye IRC.

Das (alte) Notebook habe ich mit Fedora neu installiert und werde perspektivisch vermutlich auch den Desktop wieder migrieren, allerdings gibt es einige Business Apps nur für Ubuntu und nicht für Fedora.

Mailclient auf dem Notebook ist Thunderbird, neben Evolution auf dem Desktop. Thunderbird hat sich mit den hohen Versionsnummern (grösser neunzig) echt gemacht.

Suchmaschine

Die Suchmaschine meiner Wahl ist wieder DuckDuckGo, damit fühle ich mich am wohlsten, die Ergebnisse sind genauso gut oder schlecht wie in anderen Web-Suchmaschinen.

Kommunikation

Direkt Anfang des Jahres habe ich einen Schlussstrich unter Facebook und WhatsApp gezogen, das fühlt sich richtig gut an.

Neu im Team ist Signal, da hat sich eine Menge getan und der Messenger ist so endbenutzertauglich, dass wir sogar die Hundeschule meiner Frau dahin umgezogen haben.

Die Reihenfolge der Messsenger ist neu: Matrix, Signal, Threema und zur Not Telegram. Kontaktdaten unter dirk.deimeke.ruhr.

Wie ich Ende 2021 arbeite (Infrastruktur)

In der Infrastruktur hat sich ein bisschen getan, hier der Artikel aus dem letzten Jahr.

Alle von mir betriebenen Server laufen mittlerweile mit Ubuntu 20.04 LTS, weil ich das Gehampel rund um CentOS leid bin und E-Mail schon 2020 zu einem Dienstleister umgezogen ist.

Beim Monitoring setze ich mittlerweile auf UptimeRobot, die kostenlose Variante bietet alles, was ich benötige, auch eine Statusseite für die von mir angebotenen Dienste. Das reicht mir aus.

Für das Kapizitätsmonitoring setze ich auf Prometheus mit Node Exporter und Grafana, das läuft super. Einen Überblick über das Setup findet Ihr im Monitoring Zwischenintermezzo.

Ich habe mich aus dem IRC zurückgezogen, daher habe ich den Dienst The Lounge eingestellt.

Nicht nur, weil ich mich mit Hugo auseinandersetzen wollte, habe ich ein ChangeLog aufgesetzt, in dem ich meine "Erzeugnisse" bündele. Sehr auch Changelog und Polywork.

Neben verschiedenen Versionsupdates war es das auch schon.

Mein Arbeitsplatz Ende 2021

Hier gibt es erfahrungsgemäss wenig Änderungen, wie ein Vergleich mit dem letzten Artikel zeigt.

Mitte des Jahres war ich wieder vermehrt im Büro und habe es genossen, ich muss vor den Leuten nicht weglaufen.

Die grösste Arbeitsplatz-Änderung ist, dass ich für die Bereitschaft (Pikett) ein neues iPad Pro (12.9 Zoll) mit Magic Keyboard bekommen habe, ich habe mich bewusst gegen ein MacBook Air und auch gegen ein Notebook mit Windows entschieden. Der Grund dafür ist, dass wir BlackBerry Work als Kommunikationslösung ("Outlook auf dem Tablet und Handy") einsetzen und ich darüber deutlich schneller an die E-Mails komme als über den Virtual Desktop.

Meine Visual Studio Code Plugins Ende 2021

Dieser Artikel ist der Nachfolge-Artikel von diesem hier.

Die Funktionalität des Bracket Pair Colorizer 2 ist mittlerweile im Kern von VSCode enthalten, aus diesem Grund benötige ich das Plugin nicht mehr.

Was sind Eure Empfehlungen?

LanguageTool

Schon seit längerem setze ich LanguageTool zur Grammatik- und Rechtschreibprüfung ein und es hat mir mehr als einmal geholfen, halbwegs korrekte Texte zu verfassen.

Das Tool besteht aus einem Plugin für gängige Software, wie beispielsweise Webbrowser und Textverarbeitung und einer Serverkomponente, die man selber hosten kann oder die in "der Cloud" (tm) liegt. Momentan schreibe ich zu wenig, als dass sich ein Premium-Account für mich lohnen würde, allerdings bietet dieser zusätzliche Features.

Bei mir kommen beispielsweise die Plugins für Firefox und LibreOffice zum Einsatz. Für LaTeX setze ich das Visual Studio Code Plugin LanguageTool Extension und die dazu passenden Sprachen Deutsch und Englisch ein. Achtung: der Autor der VSCode-Extensions ist leider verstorben und daher werden sie nicht weiterentwickelt. Momentan funktionieren sie aber noch sehr gut. Für Thunderbird gibt es übrigens auch ein Plugin, was ich allerdings nicht getestet habe, weil ich kein Thunderbird benutze.

Wenn man den Server lokal betreiben will - das mache ich auf allen meinen Linux-Clients - benötigt man ein installiertes Java und den LanguageTool embedded HTTP Server, den man sich unter diesem Link herunterladen kann.

Ein aktuelles Java, kann man sich von der Webseite des OpenJDK-Projektes herunterladen.

Installation Java.

cd ~/Downloads

curl -LO https://download.java.net/java/GA/jdk17.0.1/2a2082e5a09d4267845be086888add4f/12/GPL/openjdk-17.0.1_linux-x64_bin.tar.gz

tar xzf openjdk-17.0.1_linux-x64_bin.tar.gz

ln -s jdk-17.0.1 java

Anmerkung: Wenn ein aktuelleres oder anderes Java benutzt werden soll, muss man einfach den Link umsetzen.

Funktionstest.

export JAVA_HOME=~/Downloads/java

export PATH=${JAVA_HOME}/bin:${PATH}

java -version
openjdk version "17.0.1" 2021-10-19
OpenJDK Runtime Environment (build 17.0.1+12-39)
OpenJDK 64-Bit Server VM (build 17.0.1+12-39, mixed mode, sharing)

Installation LanguageTool-Server.

cd ~/Downloads

curl -LO https://languagetool.org/download/LanguageTool-5.5.zip

unzip LanguageTool-5.5.zip

ln -s LanguageTool-5.5 LanguageTool

Sollte die aktuelle Version mit einem Plugin oder einer Extension nicht funktionieren, so findet man vorhergehende Versionen auf der Download-Seite.

Funktionstest.

Für den Funktionstest würde ich gleich ein Start-Skript - hier ~/Downloads/LanguageTool.bash - schreiben, dass man später auch für das automatische Starten des Servers via systemd verwenden kann.

#!/bin/bash
set -o errexit
set -o nounset
set -o pipefail

export JAVA_HOME=~/Downloads/java

cd ~/Downloads/LanguageTool

${JAVA_HOME}/bin/java -cp languagetool-server.jar \
    org.languagetool.server.HTTPServer --port 8081 --allow-origin "*"

Getestet wird mit dem folgenden curl-Aufruf, der JSON zurückliefert.

curl --noproxy localhost -d "language=en-US" -d "text=a simple test" http://localhost:8081/v2/check

{"software":{"name":"LanguageTool","version":"5.5","buildDate":"2021-10-02 12:33:00 +0000","apiVersion":1,"premium":false,"premiumHint":"You might be missing errors only the Premium version can find. Contact us at support<at>languagetoolplus.com.","status":""},"warnings":{"incompleteResults":false},"language":{"name":"English (US)","code":"en-US","detectedLanguage":{"name":"French","code":"fr","confidence":0.815771}},"matches":[{"message":"This sentence does not start with an uppercase letter.","shortMessage":"","replacements":[{"value":"A"}],"offset":0,"length":1,"context":{"text":"a simple test","offset":0,"length":1},"sentence":"a simple test","type":{"typeName":"Other"},"rule":{"id":"UPPERCASE_SENTENCE_START","description":"Checks that a sentence starts with an uppercase letter","issueType":"typographical","category":{"id":"CASING","name":"Capitalization"}},"ignoreForIncompleteSentence":true,"contextForSureMatch":-1}]}

Automatisches Starten mit systemd.

Erstellen der Datei /etc/systemd/system/LanguageTool.service mit folgendem Inhalt ("EuerUser" und "EuerHome" müssen ent1sprechend ersetzt werden). Zu systemd-user-services mache ich einmal einen separaten Artikel.

[Unit]
Description=LanguageTool
Wants=network.target
After=network.target

[Service]
User=
Type=simple
Restart=on-failure
RestartSec=10s
ExecStart=/Downloads/LanguageTool.bash
WorkingDirectory=/Downloads/LanguageTool

[Install]
WantedBy=multi-user.target

Aktivieren des Services.

sudo systemctl daemon-reload
sudo systemctl enable --now LanguageTool

sudo systemctl status LanguageTool
Viel Spass!

Monitoring Zwischenintermezzo

Jetzt habe ich schon einen neuen Rechner, kann aber natürlich nicht sagen, wie ich ihn im Normalbetrieb auslaste. Dass die NVMe-Performance sehr gut ist, habe ich ja bereits geschrieben.

Um es vorweg zu nehmen: Gar nicht!

Mehr über den neuen Rechner herauszufinden, ist aber eine gute Gelegenheit, sich einmal mit Prometheus und Grafana auseinanderzusetzen. Im Rahmen der Beschäftigung damit war sehr positiv überrascht, wie leicht das alles ist, zumindest in diesem einfachen Fall.

Disclaimer: Bitte versteht das folgende als "Proof of Concept", um schnell zu einem Ergebnis zu kommen. Benutzt es bitte nicht für ein Produktionssetup auf Servern im Internet.

Ganz bewusst nutze ich keine Pakete, sondern die Binaries von den Webseiten der Hersteller. Wenn ich das Experiment beende, können die Daten und Installationen sehr schnell gelöscht werden.

Hier werde ich keine Einführung in Prometheus geben, dafür gibt es zahlreiche Webseiten, die das schon sehr ausführlich gemacht haben. Für dieses Setup muss man nur so viel wissen, dass Prometheus selber die zentrale Komponente ist, die in regelmässigen einstellbaren Abständen, Daten von den Exportern sammelt und in eine eigene "Time series database" schreibt. Der Node Exporter stellt Daten über Diskbelegung, I/O-Verhalten, CPU, Load, ... und vieles andere mehr zur Verfügung. Grafana greift auf diese gesammelten Daten zu und bereitet sie grafisch in Dashboards auf.

Der Spass beginnt mit der Anlage des Users, mit dem alles laufen soll.

# adduser --system --home /srv/monty --shell /sbin/nologin monty

Danach folgt der Download der nötigen Archive von der Prometheus Download Seite und der Grafana Downloadseite (die ist ein bisschen versteckt).

# mkdir /srv/monty/archive 

# cd /srv/monty/archive 

# curl -LO https://github.com/prometheus/prometheus/releases/download/v2.26.0/prometheus-2.26.0.linux-amd64.tar.gz

# curl -LO https://github.com/prometheus/node_exporter/releases/download/v1.1.2/node_exporter-1.1.2.linux-amd64.tar.gz

# curl -LO https://dl.grafana.com/oss/release/grafana-7.5.3.linux-amd64.tar.gz

Die einzelnen Archive werden ausgepackt und es wird jeweils ein Link auf das ausgepackte Archiv gesetzt. Das macht das Update deutlich einfacher.

# cd /srv/monty

# tar xzf archive/prometheus-2.26.0.linux-amd64.tar.gz

# tar xzf archive/node_exporter-1.1.2.linux-amd64.tar.gz

# tar xzvf archive/grafana-7.5.3.linux-amd64.tar.gz

# ln -s grafana-7.5.3 grafana

# ln -s node_exporter-1.1.2.linux-amd64 node_exporter

# ln -s prometheus-2.26.0.linux-amd64 prometheus

Jetzt noch schnell je ein Verzeichnis für die Grafana- und die Prometheus-Daten anlegen und die mitgelieferten Konfigurationen kopieren. Der Nodeexporter ist "dumm", der plappert wie ein Wasserfall, wenn er gefragt wird.

# cd /srv/monty

# mkdir promdata grafdata

# cp prometheus/prometheus.yml promdata

# cp grafana/conf/defaults.ini grafdata/grafana.ini

In der grafana.ini-Datei sind die folgenden Änderungen vorzunehmen, alles andere muss nicht angefasst werden:

data = /srv/monty/grafdata
logs = /srv/monty/grafdata/log
plugins = /srv/monty/grafdata/plugins
provisioning = /srv/monty/grafdata/provisioning

An die prometheus.yml-Datei muss man nur die folgenden Zeilen hinter - targets: ['localhost:9090'] anhängen:

- job_name: 'terrania'

scrape_interval: 5s

static_configs:

  - targets: ['localhost:9100']

Der Name ist natürlich frei. Prometheus und Node Exporter arbeiten sehr ressourcenarm, daher kann man durchaus alle 5 Sekunden (oder noch öfter) Werte nehmen. Weitere Exporter werden einfach an das Ende der Datei angehängt. Das Standard-Abfrageintervall sind 15 Sekunden.

Abschliessend noch dem User monty alle Dateien und Verzeichnisse übereignen.

# chown -R monty /srv/monty

Bleibt noch systemd, bitte kopiert die folgenden Service-Files nach /etc/systemd/system und führt danach ein systemd daemon-reload aus.

# /etc/systemd/system/node_exporter.service
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=monty
WorkingDirectory=/srv/monty/node_exporter
Type=simple
ExecStart=/srv/monty/node_exporter/node_exporter

[Install]
WantedBy=multi-user.target

Bitte beachtet, dass nach den Backslashes "\" nur das Zeilenende kommen darf.

# /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target

[Service]
User=monty
Type=simple
WorkingDirectory=/srv/monty/prometheus
ExecStart=/srv/monty/prometheus/prometheus \
    --config.file /srv/monty/promdata/prometheus.yml \
    --storage.tsdb.path /srv/monty/promdata \
    --web.console.templates=/srv/monty/prometheus/consoles \
    --web.console.libraries=/srv/monty/prometheus/console_libraries

[Install]
WantedBy=multi-user.target
# /etc/systemd/system/grafana.service
[Unit]
Description=Grafana
Wants=network-online.target
After=network-online.target

[Service]
User=monty
WorkingDirectory=/srv/monty/grafana
Type=simple
ExecStart=/srv/monty/grafana/bin/grafana-server \
    -config /srv/monty/grafdata/grafana.ini \
    -homepath /srv/monty/grafana \
    web

[Install]
WantedBy=multi-user.target

Die Services werden der Reihe nach gestartet und aktiviert.

# systemctl enable --now node_exporter

# systemctl enable --now prometheus

# systemctl enable --now grafana

Eventuell auftretende Fehler systemctl status node_exporter prometheus grafana sollten natürlich behoben werden.

Grafana lässt sich nun über localhost:3000 aufrufen. Im Standard sind Username und Passwort auf "admin" gesetzt.

Um die ersten bunten Bilder zu sehen, muss noch eine Datasource und ein Dashboard angelegt werden.

Als Datasource solltet Ihr über das Zahnrad und "Data Sources" den Eintrag "Prometheus" auswählen. Prometheus hört standardmässig auf Port 9090, ich musste die komplette URL angeben, das "Scrape interval" habe ich auf "5s" gesetzt.

Als Dashboard empfehle ich den Import von 1860 und die Angabe der gerade konfigurierten Datenquelle Prometheus.

Ich wundere mich immer wieder, dass die CPU-Werte ganz oben angezeigt werden und nicht die aussagekräftigere "System Load".

Abschliessende Anmerkung: Einige von Euch wundern sich vermutlich über die Links, die ich gesetzt habe. Als ich den Artikel geschrieben habe, habe ich auch gleich ein Update von Prometheus und Grafana eingespielt, das funktioniert wie folgt:

# cd /srv/monty/archive

# curl -LO https://github.com/prometheus/prometheus/releases/download/v2.26.0/prometheus-2.26.0.linux-amd64.tar.gz
# curl -LO https://dl.grafana.com/oss/release/grafana-7.5.3.linux-amd64.tar.gz

# cd ..

# tar xzf prometheus-2.26.0.linux-amd64.tar.gz
# tar xzf grafana-7.5.3.linux-amd64.tar.gz

# systemctl stop grafana 
# rm grafana 
# ln -s grafana-7.5.3 grafana 
# systemctl start grafana

# systemctl stop prometheus 
# rm prometheus 
# ln -s prometheus-2.26.0.linux-amd64 prometheus 
# systemctl start prometheus

Wenn man das alles in eine Zeile schreibt, dauert der Teil Stoppen, Link ändern und Starten deutlich unter einer Sekunde.

Viel Spass, bin gespannt auf Eure Kommentare.

TUXEDO CORE One

Der Entscheidungsprozess für einen neuen Rechner hat dann doch etwas länger gedauert als erwartet. Ich habe mir die Entscheidung nicht leicht gemacht und viel Feedback von aussen eingeholt.

Wie im Betreff angedeutet, ist es ein TUXEDO CORE One AMD-Ryzen-Series v10 + Micro-ATX Tower mit folgenden Komponenten geworden:

  • 64 GB (4x 16GB) 3600Mhz G.Skill
  • AMD Ryzen 9 3900 (12x 3.1-4.3GHz Twelve-Core, 24 Threads, 70 MB Cache, 65W TDP)
  • 1000 GB Samsung 980 PRO (NVMe PCIe)
  • 2x 4 TB HDD (Seagate / 5.400 rpm / SATAIII)
  • DVD-Brenner
  • CORE One mATX Tower
  • NVIDIA GeForce GTX 1650 4GB GDDR5, 1x HDMI2.0, 1x DisplayPort 1.4, 1x DVI-D
  • mit Intel Wi-Fi 6 AX200 & Bluetooth 5.1 (bis zu 2400Mbps)
  • Gigabyte AMD B450 Chipsatz
  • Ultra Silent 1250 (80+ Gold | 140mm | 1250 Watt | Modular)

Das Gerät ist klasse, sehr gut verarbeitet und rasend schnell. Ich habe es bis jetzt noch nicht geschafft, es auch nur annähernd auszulasten. Es erfüllt meine Anforderungen, die Ihr im verlinkten Artikel finden könnt, zu 100%.

Ich hatte eigentlich eine passiv gekühlte Grafikkarte bestellt, die leider nicht mehr lieferbar war. TUXEDO Computers hat dann eine etwas teurere aktiv gekühlte Grafikkarte ohne Aufpreis geliefert. Natürlich nach Rückfrage, ob ich damit einverstanden bin.

Mir wurde gesagt, dass ich die gleichen Komponenten günstiger bekommen kann. Das stimmt, aber ich habe zwei linke Hände und mir macht es nicht zuletzt deswegen keinen Spass, an Hardware zu schrauben. Dazu kommt, dass ich vom Support von TUXEDO Computers überzeugt bin, den wir für den Rechner meiner Frau auch schon nach der Garantiezeit in Anspruch nehmen mussten. Die Abwicklung war unkompliziert und der Kontakt sehr freundlich. Beides, der Support und auch das Zusammenschrauben hat einen Wert - meine Arbeitszeit übrigens auch.

Ergänzend möchte ich noch erwähnen, dass es in Deutschland leider nur wenige Versender gibt, die in die Schweiz schicken. Damit fallen viele der "üblichen Verdächtigen" unter deutschen Online-Shops aus.

Mir wurde gesagt, dass TUXEDO Computers nur "ein weiterer Kistenschieber" ist. Ja, und? Selbst in Markenhardware von namhaften Herstellern stecken manchmal die gleichen Komponenten.

Zur Aussage, dass ich mir ein neues Notebook mit aktuellen Spezifikationen kaufen sollte, habe ich die folgende Meinung. Mein aktuelles Notebook - mittlerweile fünf Jahre alt - hat bis auf zwei oder drei Wochenenden im Jahr einer Dockingstation gesteckt. Zum Einsatz kam es nur auf Veranstaltungen und dem Weg dorthin und von dort nach Hause. Das wird das alte Notebook auch weiterhin leisten können. Wenn es in die ewigen Jagdgründe geht, kann ich Präsentation und mobiles Arbeiten auch mit einem Tablet oder Chromebook erledigen. Dazu kommt, dass ein Notebook mit nur annähernd vergleichbarer Leistung zu einem Standgerät ein vielfaches von dem Standgerät kostet (wenn es die Leistung überhaupt in einem Notebook gibt).

Ich bin sehr gespannt auf Eure Kommentare.

Disk Performance

Der neue Rechner ("terrania") ist mittlerweile da und läuft.

Die Performance NVMe vs. SSD beim fünf Jahre alten Notebook ("crest") ist schon beeindruckend:

$ grep IOPS crest.rand*
crest.randread.txt:  read: IOPS=94.5k, BW=369MiB/s (387MB/s)(4096MiB/11096msec)
crest.randrw.txt:  read: IOPS=63.4k, BW=248MiB/s (260MB/s)(3070MiB/12391msec)
crest.randrw.txt:  write: IOPS=21.2k, BW=82.8MiB/s (86.8MB/s)(1026MiB/12391msec); 0 zone resets
crest.randwrite.txt:  write: IOPS=66.6k, BW=260MiB/s (273MB/s)(4096MiB/15734msec); 0 zone resets

$ grep IOPS terrania.rand*
terrania.randread.txt:  read: IOPS=391k, BW=1528MiB/s (1602MB/s)(4096MiB/2681msec)
terrania.randrw.txt:  read: IOPS=254k, BW=992MiB/s (1040MB/s)(3070MiB/3094msec)
terrania.randrw.txt:  write: IOPS=84.9k, BW=332MiB/s (348MB/s)(1026MiB/3094msec); 0 zone resets
terrania.randwrite.txt:  write: IOPS=117k, BW=458MiB/s (480MB/s)(4096MiB/8939msec); 0 zone resets

Es werden drei Tests durchgeführt: "random read", "random read/write" (75% read, 25% write) und "random write". Spannend ist, dass das Lesen generell vier Mal schneller ist, vom alten zum neuen Rechner. Im Mix ist auch das Schreiben vier Mal schneller. Beim ausschliesslichen Schreiben ist der Neue aber "nur" noch knapp doppelt so schnell.

Als Tool kommt fio - Flexible IO Tester zum Einsatz. Wenn jemand eine bessere URL kennt, nur her damit. FIO ist in den meisten Distributionen enthalten.

Über synthetische Tests kann man natürlich geteilter Meinung sein, die Werte geben aber einen guten Anhaltspunkt für Vergleiche.

Ich benutze dieses kleine Skript, um die Daten zu sammeln.

#!/bin/bash

echo randrw
fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=4G --readwrite=randrw --rwmixread=75 --output=$(hostname --short).randrw.txt --output-format=normal
[[ -r test ]] && rm test
echo

echo randread
fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=4G --readwrite=randread  --output=$(hostname --short).randread.txt --output-format=normal
[[ -r test ]] && rm test
echo

echo randwrite
fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=4G --readwrite=randwrite --output=$(hostname --short).randwrite.txt --output-format=normal
[[ -r test ]] && rm test
echo

Repositories zusammenführen

Meine Daten, unter anderem den Schriftverkehr, meine Präsentationen und kleinen Skripte, verwalte ich in Git-Repositories (Mehrzahl). Nach längerer Diskussion bin ich zu der Einsicht gekommen, dass es sinnvoller ist, alles in einem einzigen Repository zu haben.

Natürlich möchte ich dabei die Historie nicht verlieren.

Der folgende Weg löst den Import für mich.

Ergänzungen von Euch sind mir jederzeit willkommen.

Im Source-Repository (ausgescheckt nach presentations.git):


$ cd presentations.git

$ tomove=$(ls -1a | egrep -v '^(.|..|.git)$' | xargs)

$ mkdir presentations

$ git mv $tomove presentations

$ git commit -am "Vorbereitung für den Merge"

$ git push

$ cd ..
 

Im Destination-Repository (ausgecheckt in main.git):


$ cd main.git

$ git remote add -f presentations URL/presentations.git

$ git merge --allow-unrelated-histories presentations/master

$ git push

$ git remote remove presentations
 

Visual Studio Code Plugins

Es reicht ja, wenn es eine Person interessiert (Hallo Oliver!).

Hier kommen die Visual Studio Code Plugins, die ich beruflich und / oder privat einsetze.

Der grösste Unterschied ist, dass ich beruflich alle Plugins bis auf Remote SSH remote einsetze und nicht lokal, da ich mich den ganzen Tag mit VSCode nur auf dem Jumpserver befinde. Das Bearbeiten findet lokal auf Windows mit Dateien unter Linux statt.

  • Nur Job: Remote - SSH, um über SSH auf Dateien zuzugreifen und diese zu bearbeiten.
  • Nur Job: Remote - SSH: Editing Configuration Files, wird automatisch vom vorherigen Plugin mitinstalliert.
  • Bracket Pair Colorizer 2 finde ich enorm praktisch, weil es zu jeder Klammer die korrespondierende in der gleichen Farbe anzeigt.
  • GitLens erweitert den eingebauten Git-Client um einige sinnvolle Features.
  • Nur privat: LaTeX language support, weil ich privat viel mit LaTeX mache. Dieses Plugin hat den Vorteil, nicht automatisch die Dateien zu übersetzen.
  • Markdown All in One bringt hilfreiches rund um Markdown mit (ich möchte deutlich mehr mit Markdown machen).
  • markdownlint weist auf unschönen Markdown-Quellcode hin.
  • Python für die Entwicklung von Python-Skripten.
  • Jupyter wird von Python mit installiert, brauche ich nicht.
  • Spell Right benutze ich zur Rechtschreibkontrolle.

Welche Plugins nutzt Ihr und warum nutzt Ihr sie?

Mein Arbeitsplatz Ende 2020

Und hier kommt das Update von Mein Arbeitsplatz Ende 2019.

Das grösste Update ist, dass mehr als ein halbes Jahr mein Arbeitsplatz zu Hause war und nicht in der Firma.

Damit verbunden ist eine unglaublich grosse Nutzung von Skype for Business als Tool für Audio- und Videokonferenzen und Cisco WebEx (Zoom ist in der Firma verboten).

Ansonsten hat sich im Tooling nichts getan. Reicht auch.

Wie ich Ende 2020 arbeite (Client)

Dieser Artikel ist ein Updates des Artikels Wie ich Ende 2019 arbeite (Client).

Wieder einmal hat sich auf der Client-Seite deutlich mehr getan als auf dem Server.

Hardware

Es ist spannend, wie viel man sich leisten kann (und auch möchte), wenn man das "Taschengeld" zurücklegt. ;-)

Drei Jahre sind rum und ich habe ein neues Telefon für die Arbeit bekommen, ein iPhone 12 - ich vermisse den Knopf und die Möglichkeit, das Telefon mit dem Fingerabdruck zu entsperren. Das Format ist prima, die Grösse des Bildschirms entspricht der des Vorgängers, einem iPhone 8 Plus, aber das Gehäuse ist deutlich kleiner.

Zu Beginn der ersten grösseren Einschränkung und der "Verbannung" ins Homeoffice habe ich mir ein Telefon-Headset gekauft und die Kosten von der Firma erstatten lassen. Es ist ein Plantronics (Poly) Voyager Focus UC.

Bedingt durch Homeoffice habe ich mir einen gebrauchten Dell OptiPlex 7010 Slim Tower () i7 & 8GB RAM & 240GB SSD) zugelegt, den ich nur für die Arbeit verwende. Ja, es tat weh und ja, jetzt habe ich Arbeit und Privat deutlich besser getrennt. Details in diesem Blogartikel.

Die für mich beste Anschaffung des letzten Jahres war ein Onyx Boox Max 3, ich werde an dieser Stelle nicht alle Gründe dafür erneut erklären und verweise auch stattdessen auf die Blogartikel zu dem Thema: Lesen! und Onyx Boox Max 3 - Erfahrungsbericht und E-Book-Reader: Size Matters, bitte nehmt Euch die Zeit und folgt den Links in den Kommentaren.

Das Notebook wird im April fünf Jahre alt und eigentlich hätte ich gerne etwas neues, aber es funktioniert noch zu gut. :-) Ich komme immer mehr zu der Überzeugung, dass ich kein neues Notebook benötige, so selten wie ich das derzeitige Mobil eingesetzt habe. Vermutlich wird es daher eher ein Standrechner und ich denke, dass ich von Intel auf AMD wechseln werde.

Von Nerdzoom Media habe ich zum Podcasten zwei Geräte geliehen bekommen (Danke Marius!), zum einen das Mikrophon Shure SM7B und zum anderen das Audio-Interface Focusrite Scarlett 2i2, beide Gerätschaften nutze ich seit dem in zwei Podcasts, die mit mir in 2020 gestartet sind, siehe auch Mein 2020, die positive Seite.

Meine Frau brauchte für die Fahrten im öffentlichen Verkehr ein Headset mit Noise-Cancelling, da habe ich ihr mein altes Headset vererbt und mir neu das Sony WH-1000XM4 gekauft, klanglich finde ich das noch einmal deutlich besser als das alte Gerät. Allerdings höre ich in stillen Passagen ohne viel Umgebungsgeräusche ein leichtes Rauschen.

Damit sind meine "daily driver" (die Android-Geräte laufen alle mit Android 10):

  • Fairphone 3
  • Samsung Galaxy Tab S5e
  • Onyx Boox Max 3
  • Amazfit Bip
  • Dell Latitude E7450 mit Ubuntu 20.04 LTS (habe ich nicht immer dabei)
  • Privat mit dem Sony WH-1000XM4.
  • Dell OptiPlex 7010 mit Windows 10 (habe ich auch nicht immer dabei) ;-)
  • iPhone 12 (Homeoffice und wenn ich Bereitschaft habe)
  • Im Job mit dem Plantronics Voyager Focus UC

Wer sich für die anderen technischen Geräte bei uns interessiert, wird auf der Technikseite im Blog fündig.

Software

Betriebssystem

Durch die neue Anforderung im Homeoffice auch Audio- und Videocalls mit Skype for Business zu machen, habe ich auf dem Notebook einige Linux-Distributionen ausprobiert. Auf keiner funktionierte es problemlos. Die Linux-Unterstützung durch Citrix ist einfach mies. Ich bin jetzt bei Ubuntu 20.04 LTS hängen geblieben, weil ich da die Chancen sehe, dass eine Unterstützung in Reichweite ist (Ubuntu 18.04 LTS wird unterstützt).

Um dem Drama mit dem Homeoffice zu begegnen, habe ich jetzt auch Windows 10 im Haus. Spannenderweise nutze ich den Trümmer nur als ThinClient und nicht für mehr.

Android

Durch Homeoffice und den vermehrten Einsatz von iDevices bich zurück bei Pocket Casts als Podcast Client. Das wechseln des Clients und weiterhören, wo ich aufgehört habe, ist schon ein Killerfeature.

Durch den Wechsel zu Mastodon benutze ich sporadisch Tusky als Client.

Mailclient ist neu FairEmail, synchronisiert werden nur die Monitoring Meldungen.

Für den Hundeschulen-Chat habe ich mir den RocketChat-Client installiert.

Photos mache ich mit Open Camera Note to myself: Kamera beim Fairphone aktualisieren.

Da wir von Spotify zu Deezer gewechselt sind, habe ich auch die App auf dem Handy.

iOS

Nutze ich wieder vermehrt, aber ausser Pocket Casts, Todoist und Bitwarden sind keine privaten Apps darauf.

Linux

Der Desktop läuft mittlerweile mit einem Standard Ubuntu 20.04 LTS. Auf dem Desktop setze ich vermehrt Flatpaks (bevorzugt) und Snaps ein.

Aufgrund von Inkompatibilitäten mit verschiedenen Plugins, setze ich neben Vim der originale Visual Studio Code ein, beispielsweise auch für das Schreiben dieses Blogartikels.

Suchmaschine

Meine Standardsuchmaschine ist neu Ecosia (setzt im Hintergrund Bing ein), die Suchergebnisse sind genauso schlecht wie bei anderen Suchmaschinen. Dazu inspiriert hat mich diese Episode des t3n-Podcasts.

Kommunikation

Von XMPP (Jabber) und Wire habe ich mich mangels chatfreudigen Kontakten getrennt.

Hauptmessenger ist Element (Matrix), danach Telegram und als letztes Threema.

Wie ich Ende 2020 arbeite (Infrastruktur)

Dieser Artikel ist der Nachfolgeartikel von Wie ich Ende 2019 arbeite (Infrastruktur).

Zusätzlich zu den Servern unter CentOS 7 habe ich jetzt auch welche mit Ubuntu 20.04 LTS, die das Ziel einer Migration sein sollen.

Für die Hundeschule meiner Frau habe ich eine RocketChat-Instanz als Snap aufgesetzt, allerdings ohne Benachrichtigungen auf Mobiltelefone, da sonst alle Nachrichten über den Anbieter geroutet werden.

So ein bisschen interessiert mich ja schon, wer sich auf meinen Webseiten herumtreibt, daher lasse ich eine containerisierte Umami-Instanz laufen.

Ansonsten hat sich ausser Versionsaktualisierungen nichts Neues ergeben.

E-Book-Reader: Size matters

Da ich das vergessen hatte, im letzten Artikel zu erwähnen, mache ich das jetzt hier.

Einigen Menschen aus meiner Blase liegt es schwer im Magen, so viel Geld für ein Lesegerät auszugeben, wie ich es für das Onyx Boox Max 3 getan habe.

Dazu vielleicht ein kleiner Ausflug in Display-Grössen.

Für den Fall, dass mich Pythagoras nicht verlassen hat, entspricht DIN A4 einer Diagonale von 14.3 Zoll, DIN A5 liegt bei 10.1 Zoll und DIN A6 bei 7.2 Zoll. E-Book-Reader gibt es in ähnlichen Grössen mit wenigen Ausnahmen, die grösser als DIN A4 oder kleiner als DIN A6 sind. Das hilft die Abmessungen besser einzuschätzen.

Wenn Eure Augen in Ordnung sind oder Ihr ständig mit einer Lesebrille lest, ist die Handlichkeit bzw. die Grösse der Jacken- oder Handtasche vielleicht das entscheidende Kriterium für die Wahl des Lesegeräts. Das gilt umso mehr, wenn Ihr nur Belletristik lest, also grob gesagt Romane.

Sobald die Lektüre aber zu einem signifikaten Anteil aus seitengebundenen Publikationen, beispielsweise im PDF Format besteht, denke ich, dass man das nur vernündftig mit Lesegeräten im Format A5 oder grösser möglich ist. Als ich noch keine Lesebrille bei zu kleiner Schrift oder zu schlechten Lichtverhältnissen benötigt habe, wäre A5 das Format meiner Wahl gewesen.

Jetzt ist es aber so, wie es ist und ich habe mich für ein Gerät im nahezu DIN A4 Format entschieden. Der grosse Vorteil für mich ist, dass ich auf die Lesebrille meistens verzichten kann und sie nur bei schlechten Lichtverhältnissen benutzen muss.

Es ist spannend zu sehen, dass es rund um die A4-Grösse nur sehr wenig Wahlmöglichkeiten gibt, bei A5-Geräten ist die Auswahl deutlich grösser aber nicht annähernd so gross wie bei kleineren E-Book-Readern.