Skip to content

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.

Neue Hardware

Das Thema Homeoffice wird mich vermutlich länger nicht loslassen.

Mein einziges Arbeitsgerät ist derzeit ein mittlerweile 4,5 Jahre altes Notebook in einer Dockingstation. Dass ich es mobil verwendet habe, ist vermutlich länger als ein Jahr her. Aufgrund von Corona werde ich es höchstwahrscheinlich auch in nächster Zeit nicht mobil einsetzen. Ein neues Notebook wäre somit eher sinnlos.

Den Platz auf dem Schreibtisch könnte ich aber gut gebrauchen. Mein Notebook wird auch noch länger gut mobil oder bei Präsentationen funktionieren, so dass ich zum ersten Mal seit längerer Zeit wieder über ein immobiles Standsystem nachdenke. Einmal mehr merke ich, dass ich von Hardware wirklich keine Ahnung habe. Die Faustregel "nimm etwas mit Intel-Prozessor und -Grafikkarte, dann funktioniert es auch unter Linux" gilt weiterhin.

Also, liebe Mitleser, was würdet Ihr kaufen?

Anforderungen:

  • Ich mache viel mit virtuellen Maschinen und mit Containern, daher sollten es schon 64 GB RAM sein.
  • Einen aktuellen Prozessor sollte das Teil auch haben, da der Trümmer hoffentlich lange Jahre Dienst tun wird.
  • Eine schnelle SSD / NVMe mit 1 TB ist Pflicht, wenn noch Platz für eine 4 TB SATA-Platte vorhanden ist, dann ist das umso besser.
  • Netzwerk (kabelgebunden) plus WLAN als Fallback sind nötig.
  • Betrieben wird das Gerät an einem Monitor mit 2560x1440 Pixeln Auflösung, daher ist ein Display Port Anschluss vermutlich eine gute Idee.
  • Wichtig wäre noch, dass der Trümmer möglichst leise ist.
  • Aufgrund der Notwendigkeit, Citrix Workplace zu verwenden, kommt Ubuntu zum Einsatz - Fedora hätte ich lieber.

In meiner engeren Auswahl sind die folgenden beiden Konfigurationen auf Basis von Tuxedo Core One v10 oder Tuxedo Cube v8 ich bin aber offen für weitere Vorschläge.

Onyx Boox Max 3 - Erfahrungsbericht

Mein letzter letzter Artikel zum Onyx Boox Max 3 ist schon fünf Monate her und in der Zwischenzeit benutze ich das Gerät täglich beruflich, privat und auch im Urlaub.

Zwischenzeitlich kam ein Update auf Android 10 und das nächste grössere Update steht vor der Tür. Onyx hat eine Reihe neuer Geräte auf den Markt geworfen. Zum grössten Teil handelt es sich dabei um Weiterentwicklungen der bestehenden Produktlinien. Der Nachfolger meines Gerätes ist auch erschienen, das Onyx Boox Max lumi. Es hat knapp ein Jahr gedauert bis der Nachfolger da war. Jetzt wird die Zeit zeigen, wie lange mein Gerät unterstützt wird und ob es noch weitere Updates geben wird.

Auch, wenn das Gerät mit Android bestückt ist, so habe ich es weder mit dem Google Playstore verbunden, obwohl ich könnte. Und, ich habe auch keine weiteren Apps installiert. Für das, was ich mache, reichen die Apps die bereits installiert sind. Weitere Apps - wie beispielsweise die Kindle App - sind im "hauseigenen" App Store verfügbar. Der App Store ist mit rund 70 Apps - zum grossen Teil nicht aktuell - eher dürftig bestückt. Aber, für den, der es benötigt, gibt es ja reichlich andere Quellen für Anwendungen.

Denen von Euch, die gerne einen grossen Teil der Funktionen erklärt bekommen wollen, kann ich nur den YouTube-Kanal My Deep Guide empfehlen. Für Artikel in Deutscher Sprache verweise ich gerne im Blog von Robert Lender auf das Schlagwort Boox.

So viel zum Vorgeplänkel und jetzt zurück zu mir. Das Gerät hat WLAN, man kann es aber komplett ohne Verbindung zum Netz betreiben, auch die Updates lassen sich auf den Seiten des Herstellers herunterladen. Es wird übrigens ein MicroSD-USB-C-Adapter mitgeliefert, mit dem man selbstverständlich auch E-Books, PDFs, Apps, Notizen, ... übertragen kann.

Ich selber bin zu faul dafür und nutze zum Transfer von Daten den vom Anbieter zur Verfügung gestellten Dienst push.boox.com und im Urlaub habe ich auch einmal den eingebauten Webserver verwendet.

Die Botschaft ist, wenn Ihr das Gerät ohne Netz oder Internetzugang betreiben wollt, ist es möglich.

Tatsächlich benutze ich selber aber nur einen Bruchteil der Funktionen, nämlich nur die Lesefunktion ("Neo Reader") und die Notizfunktion da kenne ich den Namen nicht. Die ganzen erweiterten Funktionalitäten wie Spracherkennung, Schrifterkennung, Benutzung als externer HDMI-Monitor, und andere habe ich mir noch nicht einmal angeschaut.

Ziel war es, mit dem Gerät störungsfrei zu Lesen und ebenfalls störungsfrei Notizen machen zu können. Auch das bekommt man vermutlich mit jedem anderen Gerät durch Kappen der Internetverbindung hin, aber das macht man ja dann doch nicht.

In den vergangenen fünf Monaten habe ich mit dem Gerät genau das getan, für das ich das Ding gekauft habe. Das hat perfekt geklappt.

Die Akkulaufzeit ist beeindruckend gut - im Urlaub habe ich zwei Wochen lang jeweils zwei Stunden täglich gelesen und der Akku ging von 100% auf etwa 66% runter.

Durch den "Reader" / "Note-Taker" habe ich auch wieder begonnen, handschriftliche Notizen und Skizzen zu machen. Es gibt verschiedene Studien, die sagen, dass das gut "für das Hirn" ist. Ich merke einfach nur, dass es mir gut tut, mich fokussieren zu können und die Möglichkeit, nicht an Formen gebunden zu sein, hilft meiner eigenen Kreativität.

Es ist sehr spannend zu sehen bzw. zu bemerken, wie schwer es mir gefallen ist, längere Artikel oder gar Bücher am Stück zu lesen. Ich bin gewillt, meine minimal gewordene Aufmerksamkeitsspanne wieder zu vergrössern und dabei hilft mir ein solches Hilfsmittel.

Das ist natürlich die Paradedisziplin und das macht auch sehr viel Spass. Insbesondere das A4-Format und der acht-Kern-Prozessor helfen sehr, auch grössere PDFs - ich habe das Linux-Magazin abonniert - flüssig in Ganzseitenansicht zu lesen. Andere Formate sind natürlich noch viel weniger ein Problem, ob epub- oder mobi-Format.

Das Gerät ist sehr teuer, gar keine Frage, aber für mich ist es jeden einzelnen Rappen oder Cent wert.

Was ich mir besser gewünscht hätte, wäre, dass ein deutlich besserer Stift mitgeliefert wird. Der passt einfach nicht zur Preisklasse des Geräts. Er funktioniert sehr gut, wirkt aber billig. Meine Frau hat sich einen Lamy EMR Pen gegönnt - sie ist mit Lamy-Füllern gross geworden - und ich liebäugele mit einem Noris digital Jumbo. Achtet bei einem Kauf darauf, dass das Gerät eine Löschtaste hat.

Zusätzlich habe ich mir noch das Cover zugelegt, was das Gerät gut schützt und es schlafen legt, wenn das Cover geschlossen wird oder aufweckt, wenn man es öffnet, aber auch hier hätte ich mir für den Preis eine bessere Verarbeitung gewünscht. Bei meiner besseren Hälfte war der Stifthalter nach ein paar Wochen abgerissen.

In Summe bin ich sehr zufrieden und würde es, oder besser den Nachfolger, wieder kaufen.

Onyx Boox Max 3

Vor einigen Tagen habe ich hier etwas über das reMarkable geschrieben, habe mir aber in der Zwischenzeit ein neues Lese- und Schreibgerät zugelegt.

Es handelt sich um das zugegebenermassen nicht so günstige Onyx Boox Max 3. Die Webseite ist übrigens ziemlich gut. Wenn Ihr weiter runter scrollt, findet Ihr ein paar Videos zum Gerät.

Warum? Es gibt eine Reihe von guten Gründen für mich.

Displaygrösse: Die Bildschirmdiagonalen der beiden Geräte sind 10.3 Zoll (262 mm) bzw. 13.3 Zoll (338 mm). Das Display des reMarkable (209x157 mm) ist ungefähr so gross wie DIN A5 (210x148 mm) und das Display des Max 3 (284x183 mm) liegt fast bei DIN A4 (297x210 mm), wenn ich richtig gerechnet habe. Der Unterschied ist merkbar.

Android: Das Max 3 läuft mit Android 9 und erlaubt damit die Installation von reichlich Android Apps. Standardmässig ist es nicht mit Google verbunden, man kann aber den Playstore nutzen wenn man möchte (ich möchte es nicht). Im Standard ist es mit dem Store des Herstellers verbunden, aus dem man beispielsweise die Apps von Amazon oder Tolino installieren, um auch DRM-verseuchte E-Books lesen zu können.

Keine Cloudbindung: Anders als bei reMarkable, das nur vernünftig nutzbar ist, wenn man den Cloudspeicher der Hersteller mitbenutzt, lässt sich das Max 3 komplett ohne Clouddienste benutzen. E-Books können über den eingebauten Webserver verschickt werden, dem Gerät liegt ein USB-C microSD Adapter bei, über den man ebenfalls Dokumente kopieren kann.

Grössere Leistung: Damit meine ich nicht alleine die technischen Daten. Ich hatte auf dem reMarkable häufig Probleme, aufwendige PDFs zu öffnen. Die Probleme beim reMarkable bestanden darin, dass das Blättern mehrere Sekunden dauert und die Darstellung enorm verzögert ist. Beim Max 3 werden selbst aufwendige PDFs nahezu instantan angezeigt. Super.

Speicher: 8 GB vs 64 GB, nicht dass man rein für E-Books so wahnsinnig viel Speicher braucht, aber es ist schön das in der Hinterhand zu haben. Alle "meine" E-Books belegen 25 GB, ich könnte also alle auf das Gerät kopieren. Ich vermute das Handling würde keinen Spass machen, aber es ginge.

Gimmicks HDMI: Das Max 3 lässt sich via HDMI als externer Monitor benutzen. Ich könnte mir gut vorstellen, auf dem Max 3 ein PDF zu haben, das ich benötige, um auf dem Hauptgerät zu arbeiten. Ob das das jemals versuche, weiss ich nicht. Es gibt ein interessantes Video - Boox Max3 - Secondary Monitor Demo dazu. Die Halterung sieht super aus.

Noch einmal der Preis. E-Book-Reader mit Notizfunktion kosten Geld, leider nicht wenig Geld. Aber der Nutzen ist relativ gross. Jede oder jeder muss den Wert für sich selber bestimmen und auch ob er oder sie bereit ist, das Geld dafür zu bezahlen.

reMarkable

Den Entwurf dieses Artikels habe ich schon lange "auf Halde". Auch, wenn ich das Gerät einen Monat kaum benutzt habe, möchte ich hier gerne ein Zwischen-Fazit geben. Mir ist klar, dass die Version 2 des reMarkable gerade vorbestellbar ist. Soweit ich gesehen habe, ist das aber nur Produktpflege, ausser schöner, flacher, leichter, ... hat sich nicht so viel getan.

Wie hier beschrieben, habe ich das reMarkable von meiner Frau "geerbt".

Früher (tm) habe ich sehr viel gelesen. "Wir hatten ja nichts", oder vielmehr wurden wir von viel weniger Dingen abgelenkt als heute. Dazu kommt, dass meine Frau Buchhändlerin gelernt hat und wir immer Lesestoff zu Hause hatten. Das ging sogar soweit, dass wir in einen zweiwöchigen Urlaub eine voll gepackte Plastikkiste mit Büchern mitnahmen und die auch am Ende des Urlaubs gelesen waren. Dem Gewicht und dem Platzbedarf dieser Kiste heule ich nicht hinterher.

Das letzte Tablet habe ich gekauft, um mehr zu lesen. Das hat nicht geklappt. Zum einen kann man auch viele andere Dinge mit einem Tablet machen zum anderen ermüdet Lesen auf einem Tablet die Augen sehr. Witzigerweise nutze ich das Tablet zum Konsumieren von Medien, insbesondere Netflix und Podcasts, Web surfen und "Administration unterwegs".

Meine Handschrift ist Mist, tatsächlich kann ich keine "Schreibschrift" mehr. Die Ausnahme ist meine Unterschrift. Meine Art zu schreiben ist eine Mischung aus Blockschrift und etwas, was eine Schreibschrift sein könnte. Das ist auch der Grund, weshalb ich Notizen nur mit dem Rechner bzw. mit dem Tablet (und Keyboard) mache. Da ich auch keine künstlerische Ader habe, skizziere ich sehr wenig. Und wenn, dann nur in Vorträgen oder Meetings auf dem Whiteboard oder manchmal auch auf Flipcharts.

Wie spielt jetzt das reMarkable da rein?

Das Lesen von Texten mit einem darauf spezialisierten Gerät macht deutlich mehr Spass als mit einem Tablet oder am Bildschirm. Das reMarkable hat leider keine Hintergrundbeleuchtung, das Display ist aber flackerfrei und gestochen scharf. PDFs im DIN A4 Format sind ebenfalls gut lesbar, hier merkt man aber bei "schlecht optimierten PDFs" einige Verzögerung beim Umblättern und das stört leider den Fluss. Das Hauptfeature ist aber, dass mich nichts vom Lesen ablenkt.

Toll ist, dass man jedes Dokument, was man liest, mit handschriftlichen Notizen und Markierungen versehen kann. Die sehen auf dem Gerät top aus, der Export ist so "na, ja". Man muss schon genau wissen, wofür man das Gerät benutzt.

Das Schreiben auf dem Tablet fühlt sich wie Schreiben auf Papier an. Das Gefühl ist wirklich unglaublich. Trotz meiner Aversion gegen das Schreiben, macht das richtig Spass. Auch hier kommt wieder der Vorteil zum Zug, dass man durch nichts unterbrochen wird. In meiner Zeit vor der "Homeoffice-Verbannung" habe ich wieder viele Notizen gemacht. Ein Cloudservice wandelt (selbst meine) Notizen in lesbaren Text. Das hat mich beeindruckt.

Damit kommen wir auch gleich zum eigentlichen Problem, das ich mit dem Gerät habe. Das Gerät ist fest mit einem 8-GB-Cloudspeicher bei reMarkable verknüpft und synchronisiert sich damit. Da man das WLAN ebenfalls benötigt, um die regelmässigen Updates einzuspielen, kommt man nicht darum herum. Schade eigentlich.

Software zur Verwaltung gibt es für Mac OS X, Windows, Android und iOS - leider nicht für Linux. Die Software interagiert mit dem Cloudspeicher und das Gerät synchronisiert sich dann beim nächsten Kontakt zu einem WLAN. Das klappt problemlos.

Mit einem der letzten Updates ist die Möglichkeit dazu gekommen, einen Webserver einzuschalten, wenn man das Gerät mittels USB verbindet. Das funktioniert unter Linux sehr gut, auch wenn die Möglichkeit, noch als "beta" eingestuft wird. Für Linux gibt es das Open-Source-Tool rMAPI für die Kommandozeile, was mir gute Dienste leistet.

Fazit

Ich mag das Gerät sehr, es ist ein toller E-Book-Reader und ein phantastisches "Notizbuch". Mit einer Linux-App und fehlenden Zwang, den Clouddienst zu nutzen, wäre es perfekt. Der Preis ist sehr hoch und ich würde es mir nicht kaufen.

Spannend ist, dass mich das Gerät wieder dazu gebracht hat, handschriftliche Notizen zu machen.