Skip to content

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
 

Ungoogled Chromium

Auf meinem privaten Hauptarbeitsrechner habe ich mir einmal verschiedene Browser angeschaut, darunter Brave, Chrome, Opera und Vivaldi. Dabei habe ich festgestellt, dass alle Browser, die auf Chrome basieren auf meiner fünf Jahre alten Hardware schneller waren als der Firefox, den ich sonst benutzt habe.

Da ich es immer noch etwas spooky finde, meinen Browser einer Firma anzuvertrauen, bei der ich jeweils nicht weiss, was mit meinen Browsing-Daten passiert, habe ich mich nach Alternativen umgeschaut. Früher habe ich einmal Iridium als Zweitbrowser verwendet, der scheint aber nicht mehr weiterentwickelt zu werden. Bei meiner Recherche bin ich dann auf Ungoogled Chromium gestossen, der sehr viel versprechend aussieht. Ich habe dern Browser auch in der TILpod Episode 5 als Tooltipp genannt.

"Ungoogled" bedeutet auch, dass der Browser ohne Zugriff auf den Webstore für die Erweiterungen kommt. Dafür gibt es aber mit dem chromium-web-store-Plugin, das sich manuell installieren lässt, eine Abhilfe. Generell ist es eine gute Idee, sich die FAQ des Browsers anzuschauen.

Fazit für mich nach einer Woche ausschliesslicher Nutzung: Der Browser ist eine echte Alternative zu Firefox er hinkt Chrome um weniger Versionsnummern hinterher, funktioniert aber bestens. Es gibt Repositories für das rpm- oder deb-Paketformat oder AppImage für andere Linux-Distributionen (auch Binaries für MacOS und Windows).

Aber: Beim Benutzen von Ungoogled Chromium habe ich gemerkt, dass ich einige Features von Firefox wirklich vermisse und ich deswegen auch wieder zurück zum Firefox wechsele. (Ein Hardware-Upgrade wird ja in den nächsten Wochen kommen).

Facebook und WhatsApp verlassen

Das fühlt sich mal so richtig gut an.

Es war eigentlich schon sehr lange an der Zeit und ich habe die beiden Accounts nur aus traditionellen Gründen behalten. Aktiv genutzt habe ich sie schon sehr lange nicht mehr.

Facebook lief in einem Facebook Container in Firefox (wenn Ihr Euren Account behalten wollt, wäre das eine Option), bitte nicht auf dem Handy oder als App benutzen. Da werden noch mehr Daten gesammelt, als man eigentlich möchte.

"Natürlich" machen es einem die Dienste nicht einfach, dass man sie verlässt.

Hier sind zwei Anleitungen, die es gut erklären.

Für WhatsApp: Nase voll? WhatsApp-Konto löschen

Für Facebook: Facebook komplett löschen - so geht's

Update zu Messengern

Ich bin völlig zu Recht darauf hingewiesen worden, dass mein Artikel zu Messengern ein Update benötigt. In dem verlinkten Artikel gibt es auch Informationen zu meinem Status bezüglich XMPP und Wire.

Ein weiterer Grund für das Update ist die Tatsache, dass WhatsApp seine Nutzungsbestimmungen angepasst hat und dass man zustimmen muss, dass alle gesammelten Daten - inklusive dem Adressbuch - anderen Unternehmen des Konzerns wie Facebook und Instagram und - noch schlimmer - auch Dritten zur Verfügung gestellt werden sollen.

Meiner Meinung nach wird man nie alle Menschen dazu bekommen, sich auf einen Messenger bzw. ein Protokoll zu einigen, dafür sind sie zu unterschiedlich und bieten unterschiedliche Features, die interessant sein könnten.

Mich könnt Ihr über drei (vier) verschiedene Protokolle und Messenger erreichen, wenn Ihr das möchtet. Die Kontaktdaten findet Ihr auf meiner Homepage.

  • Es gibt immer noch nur einen Messenger bzw. ein Protokoll, das alles erfüllt, was ich von einem modernen Messenger erwarte und das ist Matrix mit Element als Client.
  • Threema ist ein kommerzieller Messenger, bei dem der Quelltext des Clients neulich als Open Source freigegeben wurde. Die Server-Software ist weiterhin Closed-Source-Software, der Hersteller ist an die Datenschutzgesetze der Schweiz (und damit auch der EU) gebunden. Eine grosse Besonderheit ist, dass die Firma hinter Threema den Quelltext und die Infrastruktur regelmässigen unabhängigen Audits unterziehen lässt und die Ergebnisse veröffentlicht. Threema arbeitet immer noch an der Multiplattformfähigkeit, Threema Web ist da leider nur ein dürftiger Ersatz.
  • Telegram verschlüsselt leider nicht und wenn, dann nur Ende-zu-Ende, so dass man die verschlüsselten Nachrichten nicht mit allen eigenen Clients lesen kann, sondern nur mit dem, der an der verschlüsselten Kommunikation beteiligt war. Der Server ist auch kein FLOSS und föderierbar ist es auch nicht. Immerhin behaupten die Betreiber, dass alle Nachrichten verschlüsselt gespeichert werden.
  • Signal ist bekannt geworden als "der Messenger, den auch Edward Snowden benutzt". Ich bin damit nie warm geworden, habe mir aber gestern wieder einen Account zugelegt. Wenn ich da innerhalb eines halben Jahres keine aktiven Kontakte habe, wird er wie schon zuvor bei anderen Messengern abgestellt.

Meine Kriterien oder Wünsche an einen Messenger:

  • FLOSS, Client und Server
  • Verschlüsselung n:m
  • Verschlüsselung nachweisbar auditiert
  • Föderiert
  • Unterstützung für Proxies
  • Clients für die gängigen Plattformen
    • Android
    • iOS
    • Web (oder alternativ native Clients für Linux, MacOS und Windows)

Derzeit erfüllt nur Matrix alle meine Wünsche.

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?

Meine Firefox-Addons Ende 2020

Und als letztes ein Update von Meine Firefox-Addons Ende 2019.

Bei meinen Firefox Addons hat sich eine Menge getan. Fragen gerne in die Kommentare.

Die Links unten findet Ihr auch in meiner Shaarli-Instanz.

Besteht seitens der Leserschaft eigentlich Interesse an Visual Studio Code Plugins, die ich einsetze? Sind nicht ganz so viele.

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)
  • Das private 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.

Threema App wird quelloffen

Kaum kommt die Meldung, dass der Quelltext des Threema-Clients offen liegt, kommen die Bedenkenträger, dass das kein Grund zur Freude wäre, so lange der Quelltext des Servers noch nicht offen ist.

Zwei Anmerkungen dazu und auch gleichzeitig eine Einladung zur Diskussion.

  1. Haben wir verlernt, uns über Teilerfolge zu freuen? Muss es immer 100% sein? Kein Wunder, dass wir es uns immer schlechter gehen lassen, wir tragen selber die Schuld daran.
  2. Auch, wenn der Quelltext der Serverkomponente offen liegt, gibt es keine Garantie dafür, dass der Quelltext die Basis für den Server ist, der auf Seiten des Betreibers läuft. Ich setze als Blogengine Serendipity ein. Ihr müsst mir glauben, dass das so ist und keine von mir abgewandelte Variante der Software.

Wenn man etwas nicht selber macht, muss man darauf vertrauen, dass es sich so verhält wie behauptet.

Nebenbei: Auch die App müsste man selber bauen, um sicher zu sein, dass die App auf dem Handy aus dem offen gelegten Quelltext gebaut wurde.

Applikationen unter Linux am Beispiel CentOS

centos Aus CentOS 8 wird CentOS Stream.

Über die Meldung, dass CentOS 8 zugunsten von CentOS Stream einstellt, habe ich mich sehr geärgert. Ich war sogar richtig gehend angepisst.

CentOS war immer die Möglichkeit, eigene Dinge auf Red Hat Kompatibilität zu testen, ohne Subskriptionskosten (für das Patching) bezahlen zu müssen.

Leider hat es das CentOS-Team mit der Version 8 nicht geschafft, zeitnah auf Updates und Hotfixes durch Red Hat zu reagieren und ist aus diesem Grund auch nicht mehr meine Distribution der Wahl. Mein Kram wird im Lauf der nächsten Wochen und Monate auf Ubuntu LTS migriert.

Machen wir uns aber bitte nichts vor. CentOS ist keine "schöne" Linux-Distribution. Das Tooling ist nicht so berühmt. Durch die lange Unterstützung und die durch Red Hat versprochene API-Kompatibilität über die ganze Laufzeit veraltet Software in Red Hat Enterprise Linux (RHEL) und damit auch in CentOS sehr schnell. (Gilt übrigens für andere paketbasierte Distributionen im gleichen Mass, die helfen sich nur mit häufigeren Releases).

RHEL (CentOS) möchte man eigentlich nur aus genau einem Grund einsetzen, nämlich, dass nahezu jede Business-Software für RHEL zertifiziert wird. Und aufgrund der versprochenen Kompatibilität ist es nahezu garantiert, dass sie auch über die komplette Laufzeit das Major-Releases von zehn Jahren bzw. 13 Jahren mit extended Support auch lauffähig bleibt.

Wenn man aktuelle Open-Source-Software auf CentOS einsetzen möchte, so konnte man sich nur dadurch behelfen, dass man entweder darauf vertraut hat, dass die irgendwann in den Software-Kollektionen aufgeschlagen ist, da wurde sie dann "neben" der Basisinstallation installiert oder dass man externe Repositories verwendet hat. Bei meinen Servern habe ich beispielsweise PHP aus den Remi Repositories, sowie Docker und MariaDB direkt vom Hersteller bezogen.

Das hat auch Red Hat erkannt und mit Version 8, Modules oder "Application Streams" eingeführt. Hier gibt es eine sehr gute englischsprachige Erklärung dazu. Kurz zusammengefasst, lassen sich mit diesem Konzept mehrere Versionen der gleichen Software parallel installieren und auch benutzen.

Vermutlich hat dieses neue Konzept die Ressourcen vom CentOS-Projekt gesprengt, ich habe keinen Beweis für diese Vermutung. Für mich ist dieses Konzept aber nur ein Zwischenschritt auf dem Weg, das Basis-Betriebssystem komplett vom Applikationsteil zu trennen.

Im Grossen und Ganzen: Kernel, Netzwerk, Infrastruktur (Backup, Authentifizierung, ...) macht die Distribution und den ganzen Rest können Applikationen alleine besser.

Wenn wir die Distributionen nur als stabile Basis ansehen, auf der wir Dienste mit den Hersteller-Repositories (Docker, MariaDB, ...) oder Snaps, Flatpaks und AppImages oder Containern (Docker, Podman, ...) aufsetzen, dann würden wir allem gerecht werden.

Es entspricht einer Trennung von Applikation und Plattform, die in vielen Firmen trotz DevOps immer noch betrieben wird. DevOps bezieht sich im Grossen und Ganzen auch mehr auf Applikationsentwicklung und -betrieb. DevOps (oder EngOps) für die Plattformentwicklung ist davon getrennt.

Wenn wir diese Sichtweise weiterspinnen, werden paketbasierte Linuxdistributionen obsolet.

Wohin das in Summe führen kann, sehen wir mit Kubernetes (und OpenShift) oder durch den Einsatz von Containern (mit Docker oder Podman oder ...).

Kubernetes ist es egal, auf welchem linuxbasierten OS es läuft, wenn die Voraussetzungen gegeben sind. Den Leuten, die Kubernetes benutzen (nicht verwalten), ist die komplette Infrastruktur darunter egal, so lange das Cluster zur Verfügung steht.

Und, die alten erinnern sich, das hatten wir schon einmal, aber nicht ganz so ausgereift.

Java hat den Ruf (weitestgehend) plattformunabhängig zu sein. Klar, dafür muss man mit der Runtime (JRE) oder dem JDK auch ein halbes OS mitinstallieren. Darauf kann man Applikationsserver wie Tomcat, JBoss, Weblogic, Websphere, ... betreiben und auch da gab es das Versprechen, sich nicht um die darunter liegenden Schichten kümmern zu müssen.

Meiner Meinung nach wurde dieses Versprechen nie komplett eingelöst, obwohl sehr viele gute Konzepte vorhanden waren.

Mit Containern und Orchestrierungslösungen sind wir aber der Erfüllung dieses Versprechens einen Schritt näher gekommen.

Bin an Euren Meinungen und einer Diskussion darüber sehr interessiert.

TILpod

podcast Es tut sich wieder viel an der Podcasting-Front.

Nachdem ich im Oktober zusammen mit Mario den Podcast BuzzZoom gestartet habe, hier der Link zur Ankündigung, habe ich mit Sujeevan nach jahrelangen Gedanken (tatsächlich etwas über zwei Jahre), die wir uns mit vielen Unterbrechungen gemacht haben, endlich den Podcast TILpod begonnen.

Auf den ersten Blick passen Sujeevan und ich gar nicht zusammen ... (auch auf den zweiten und dritten Blick nicht). :-D

Warum das dennoch funktionieren könnte, erklären wir Euch in der Nullnummer.

Inhaltlich soll es um das Folgende gehen:

Sujeevan und Dirk reden über Themen, die Ihnen in der letzten Zeit untergekommen sind. Die Abkürzung "TIL" steht für "Today I learned", es geht also um Themen, die neu für die beiden waren oder die sie in der letzten Zeit erst so richtig verstanden haben.

Dazu kommen Hinweise, wie sie versuchen, ihr Arbeitsleben zu verbessern und zusätzlich gibt es auch den einen oder anderen Karrierehinweis.