>

instant-thinking.de

just enough to get you started and leave you confused

13. Hochzeitstag

| Kommentare

Heute vor dreizehn Jahren haben Kathi und ich geheiratet.

Ich wünsche der besten Ehefrau der Welt und mir eine wundervolle Veilchenhochzeit1 und freue mich auf das nächste Jahr im aufregenden Hafen der Ehe.

  1. Es gibt wirklich wunderliche Listen im Internet…

Passwort für imapfilter aus der macOS Keychain holen

| Kommentare

Unter macOS gibt es einen eingebauten Passwortmanager, den Schlüsselbund bzw. die Keychain1. Und mit security kann man die auch von der Kommandozeile aus benutzen.

Passworte auf der Shell unter macOS

So kann man die Standard-Keychain aufschließen:

Keychain entsperren
1
2
3
$ security -v unlock-keychain
unlock-keychain
password to unlock default:

Und so ein Passwort hinzufügen, hier ist es ein IMAP-Passwort:

Passwort hinzufügen
1
$ security add-internet-password -a "someone@icloud.com" -s icloudimap -w "TOPSECRET" -r 'htps'

Sehr wichtig ist dabei, dass man mit -r ein Protokoll mitgibt2, sonst klappt das mit dem Hinzufügen gar nicht.

Den neuen Eintrag kann man sich dann auch in der GUI-Keychain angucken:

Das Passwort des Eintrags mit security auch auf der Shell wieder auszulesen ist dank dem Paramater -w3 für das find-internet-password Subkommando ganz einfach4:

Passwort auslesen
1
2
$ security find-internet-password -w -s "icloudimap"
TOPSECRET

Ganz dummerweise gibt es keinen entsprechenden Parameter für den Usernamen. Hier muss man sich mit etwas Schnipselei an die Gesamtausgabe begeben und nur dieacct-Zeile betrachten5:

Usernamen per grep und cut rausschnipseln
1
2
$ security find-internet-password -s "icloudimap" | grep "acct" | cut -d "=" -f 2
"someone@icloud.com"

Passwort in imapfilter verwenden

Super. Klasse. Was macht man nun damit? Zum Beispiel kann man auf einem eh da Mac mini einen eigenen imapfilter laufen lassen, um die eher schwachbrüstigen Filterfunktionen6 von iCloudmail deutlich zu verbessern. Und mit diesem Vorgehen muss man das Passwort dann nicht im Klartext in einer Textdatei rumliegen haben. Passworte im Klartext sind eine Doofe Idee™.

Der Loginteil für ein iCloud-Mail Konto schaut dann aus wie folgt:

iCloud Logindaten in der config.lua von imapfilter
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
-- Get the iCloud IMAP username from the keychain (removing surrounding quotes and the newline)
status, user = pipe_from('security find-internet-password -s "icloudimap" | grep "acct" | cut -d "=" -f 2')
user = string.gsub(user, '"', '')
user = string.gsub(user, "\n", "")

-- Get the iCloud IMAP password from the keychain (removing the newline)
status, passwd = pipe_from('security find-internet-password -w -s "icloudimap"')
passwd = string.gsub(passwd, "\n", "")

-- iCloud connection parameters
icloud = IMAP {
server = 'imap.mail.me.com',
username = user,
password = passwd,
ssl = 'tls1',
}

Wie das Suffix der Datei schon nahelegt ist das hier im Prinzip ein Lua-Programm. Die Bash-Einzeiler von oben werden per pipe_from Funktion eins zu eins übernommen um Username und Passwort zu bekommen. Beim Passwort wird in Zeile 8 noch der hier überflüssige7 Zeilenumbruch entfernt. Der ist nicht Teil des Passworts, das klappt sonst eher schlecht mit dem Login.

Beim Usernamen müssen vor dem Entfernen des Zeilenumbruchs in Zeile 4 außerdem in Zeile 3 die Anführungszeichen entfernt werden. Das ginge vielleicht auch irgendwie durch escapen der einfachen Anführungszeichen von tr in der zweiten Zeile aber ich habe mich hier für den Weg des geringsten Wiederstandes entschieden und entferne die Anführungszeichen ebenfalls per gsub in Lua. So läuft das jetzt super. Einige Beispielregeln finden sich auch hier, noch mehr und viel ausführlichere Beispiele hier sowie dort.

Einige andere8 Vorgehensweisen um an ein Passwort für imapfilter zu kommen finden sich auch in dieser Beispielconfig.

Das ganze läuft bei mir nun seit vielen Monden in einem tmux pane vor sich hin9:

imapfilter alle 5 Minuten ausführen
1
2
3
4
5
6
7
#!/bin/sh
while true
do
    date
    imapfilter
    sleep 300
done

Das ergibt dann solche Ausgaben:

imapfilter Ausgabe
1
2
3
4
5
Sa 25 Mar 2023 08:29:42 CET
6 messages, 0 recent, 1 unseen, in someone@icloud.com@imap.mail.me.com/INBOX.
1 messages moved from someone@icloud.com@imap.mail.me.com/INBOX to someone@icloud.com@imap.mail.me.com/Lists/Verbraucherinformationen.
Sa 25 Mar 2023 08:34:55 CET
5 messages, 0 recent, 0 unseen, in someone@icloud.com@imap.mail.me.com/INBOX.

Alles in allem ist imapfilter sehr zum feinstreifigen durchsieben und filtern von allen Postfächern geeignet, die selbst keine derartigen Funktionen mitbringen. Anstelle eines Mac minis kann natürlich so gut wie alles benutzt werden, was eh da ist. Nicht mal antike Raspberry Pis sollten hier irgendeine Art von Load verspüren.

(via: diesem imapfilter GitHub issue)

  1. Ich bleibe mal beim englischen Begriff…

  2. Auch wenn man es eigentlich gar nicht braucht, bzw. ein anderes…

  3. -w Display only the password on stdout

  4. Allerdings wird nach dem Passwort auch ein Zeilenumbruch ausgegeben, das wird später noch wichtig werden…

  5. Hier wird der Username allerdings in Anführungszeichen ausgegeben und ebenfalls mit einem Zeilenumbruch abgeschlossen. Die Anführungzeichen könnte man mit einer weiteren Pipe und tr -d '"' entsorgen. In der eigentlichen Verwendung mit ìmapfilterführte das aber zu Problemen und musste anders gelöst werden, immer ist was…

  6. Ernsthaft, das war in Googlemail viel besser…

  7. Auf der Shell hübsch, hier falsch…

  8. Eher für Linux gedachte…

  9. Ja, das gehört mal auf einen LaunchAgent umgestellt…

Seiten aus vielen PDF-Dateien zählen

| Kommentare

Excuse me, wir haben 2023.

Aber trotzdem musste ich, aus durch und durch unerfreulichen Gründen1, eine ganze Menge PDFs aus einer ganzen Menge Verzeichnisse ausdrucken2. Und ich war mir überhaupt nicht sicher, ob denn die Tinte im uralten Tintenstrahler noch ausreicht, ich neue kaufen muss, oder ob ich doch endlich mal einen Laserdrucker erwerbe. Wie viele Seiten das wohl sind? frug ich mich…

Weil ich ganz wenig Lust hatte, das alles von Hand zu zählen, fand ich ziemlich schnell diesen superuser-Thread. Allerdings geht es da um viele PDFs in einem einzigen Verzeichnis. Ich hatte ein Verzeichnis mit vielen Unterverzeichnissen, das ganze sah ungfefähr so aus:

Verzeichnisstruktur
1
2
3
4
5
6
7
$ tree -d Steuern\ 2021/
Steuern\ 2021/
├── Haushaltsnahe\ Dienstleistungen
├── Kinderbetreuung
├── Spenden
├── Versicherungen
└── Werbungskosten

Und dann aber noch ein paar mehr Verzeichnisse und da drin jeweils viele PDFs…

Glücklicherweise war die Vorlage aber nur vor dem Semikolon für das Shell-Globbing 3 anzupassen: Anstelle des for i in *.pdf; für das Durchzählen aller Seiten aller PDFs im aktuellen Verzeichnis benutzt man dann for i in ./**/*.pdf; um alle PDFs in allen Unterverzeichnissen zu erwischen.

Dann konnte ich so nach allen Seitenzahlen einzeln gucken:

Die Seitenzahl aller PDFs einzeln ausgeben
1
2
3
4
5
6
7
8
9
10
11
$ for i in ./**/*.pdf; do echo $i && pdfinfo "$i" | grep "^Pages:"; done
./Haushaltsnahe Dienstleistungen/2021-10-19-Schmitz Haustechnik-Rechnung.pdf
Pages:           1
./Haushaltsnahe Dienstleistungen/2021-10-25-Fugentechnik Schorsch-Rechnung.pdf
Pages:           1
./Kinderbetreuung/2022-01-03-Jugendamt-Bescheid Elternbeiträge.pdf
Pages:           3
./Werbungskosten/2021-08-06-Heise-Rechnung ct 2021.pdf
Pages:           1
./Werbungskosten/2021-09-08-telekom-festnetzrechnung-September-2021.pdf
Pages:           2

Und so ein grand total ausgeben:

Die Summe aller Seiten aller PDFs ausgeben
1
2
$  for i in ./**/*.pdf; do pdfinfo "$i" | grep "^Pages:"; done | awk '{s+=$2} END {print s}'
169

169 Seiten, seufz… Schlussendlich habe ich dann, schon wieder, neue Tinte gekauft. Die kann ich jetzt aber immerhin absetzen. Ha, Profit!

(via: superuser)

  1. Es müssen Steuern erklärt werden…

  2. Ebenfalls so gar nicht erfreulich, musste aus Gründen aber sein…

  3. Man braucht nur eine aktuelle Shell (bash ab 4.0 oder zsh ab irgendwas) und aktiviertes globstar shopt

9

| Kommentare

Heute vor neun Jahren kam Nina auf die Welt. Jetzt haben wir schon fast ein Jahrzehnt mit dem Kind verbracht. Da können wir uns wirklich glücklich schätzen.

Nina geht mit großen Schritten auf die letzte Runde der Grundschule zu und meistert das bislang alles komplett ausgezeichnet. Seit ungefähr einem Jahr hat sie außerdem ein Faible für das Skateboard entwickelt und auch hier läuft es gut und es macht großen Spaß, ihre Fortschritte zu begleiten und zu bewundern.

Habe einen tollen neunten Geburtstag liebe Tochter, happy happy Birthday von deinen Eltern und deinem Bruder. Wir haben dich unfassbar lieb.

2022 in VDSL-Zahlen

| Kommentare

Wie schon in den letzten Jahren (2016, 2017, 2018, 2019 2020 und 2021) wurde auch das Jahr 2022 dank der Anregung von Michel bandbreitentechnisch vermessen. Und es ist noch nicht mal Mai! Die Spitzenreiter sind wie immer jeweils in fett ausgezeichnet1.

Monat Upload (GB) Download (GB) Gesamt (GB)
Januar 186,35 937 1.123
Februar 164,89 706,69 872
März 133,78 654,72 789
April 161,29 728,02 889
Mai 173,79 710,4 884
Juni 165,59 560,52 726
Juli 188,33 579,95 768
August 267,97 699,58 968
September 230,16 729,79 960
Oktober 279,78 759,5 1.039
November 282,77 717,68 1.000
Dezember 324 786,46 1.110
2022     11.129

Alles relativ stetig, im Sommer wird weniger übertragen als im Winter, das passt alles so weit, da sind keine großen Überraschungen dabei.

Alle Werte wurden wieder in Handarbeit aus den Mails der Fritzbox kopiert und in eine Tabelle eingetragen, die automatische Erfassung der Zählerwerte via Fritz Speed hat erneut nicht stattgefunden, der Punkt steht auf der ToDo, das wird schon noch mal werden.

Aus Spaß habe ich mir mal die Entwicklung der gesamten2 Übertragungsmenge über die Jahre angesehen:

Ich kann echt nicht sagen, warum in den Jahren 2019 und 2020 weniger übertragen wurde, als 2018, den generellen Trend haben die Jahre aber nicht gebrochen. 2021 war eine sehr deutliche Steigerung zu sehen, erstmalig über 10 Terabyte. In diesem Jahr dann nochmals eine moderate Steigerung auf knapp über 11 Terabyte und jetzt können wir mal schauen, wohin uns 2023 dieses Jahr so bringen wird.

(via: Pixelscheucher)

  1. Diese Markdown-Tabellen sind dank TableFlip echt flugs erstellt…

  2. Upload und Download…

12

| Kommentare

Heute1 vor zwölf Jahren kam Linus auf die Welt.

Die große Party in diesem Jahr ist dann zur Abwechslung nicht wegen allgemeiner Pandemie, sondern wegen spezifisch krankem Geburtstagskind verlegt, nachgeholt und schließlich gefeiert2 worden.

Das Kind hatte trotz allem einen schönen Geburtstag und die Nachholparty war dann auch eine sehr tolle. Im nächsten Jahr, so die nicht gänzlich unbegründete Hoffnung, wird dann alles wieder direkt und wie geplant und ausgezeichnet klappen.

Allesalles Gute & Liebe zu deinem zwölften Geburtstag lieber Linus!

  1. Aus ziemlich unerfindlichen Gründen wurde dieser Post nicht wie sonst immer automatisch zu dem Geburtstag des Kindes veröffentlicht. Lieber Sohn, bitte entschuldige.

  2. Also schon ziemlich an diesen Post angelehnt das Vorgehen…

QuickLinks vom 20. Juni bis zum 29. September

| Kommentare

Meine pinboard.in-Links vom 20. Juni bis zum 29. September:

  • Möbius Sync - is a third-party iOS app for Syncthing, allowing you to synchronise files between iOS and other devices (including Windows, MacOS, Linux, Android).
  • a-Shell - is a local iOS terminal, with Python, Lua, JS, clang, TeX, sh and all Unix utilities. Perfect for programming locally on iPhones, efficient when combined with Shortcuts.
  • Suspicious Package - is an Application for Inspecting macOS Installer Packages
  • MultiSoundChanger - is a small tool for changing sound volume even for aggregated audio devices on MacOS ‘cause native sound volume controller can’t change volume of aggregated devices
  • Streetmix - Entwerfe, remixe und teile deine Straße. Füge Radwege hinzu, verbreitere Gehwege oder Fahrstreifen und finde heraus, wie das deine Gemeinde beeinflusst.
  • nb - is a command line and local web note taking, bookmarking, archiving, and knowledge base application with: plain text data storage, encryption, filtering, pinning, #tagging, and search, Git-backed versioning and syncing, Pandoc-backed conversion, [[wiki-style linking]], terminal and GUI web browsing, inline images, todos with tasks, global and local notebooks, organization with folders, customizable color themes, extensibility through plugins, and more, in a single portable script.
  • tuc - You want to cut on more than just a character, perhaps using negative indexes or format the selected fields as you want… Maybe you want to cut on lines (ever needed to drop first and last line?)… That’s where tuc can help.
  • Bookmarker for pinboard - is a macOS Safari App Extension that allows you to submit links to pinboard.in. It supports submitting the URL, title, description, tags, indication if you want to read the page later and if the web link should be public or private.
  • URL Linker for Safari - is a Safari App Extension that helps you to copy website’s URL with your favorite format. You can define custom copy format (e.g. markdown link format, your company’s wiki link syntax, etc.) in this app, which can be quickly used from context menu of Safari.
  • Runestone - is a lightweight plain text editor built with performance in mind. It has the core features for writing code including syntax highlighting, line numbers, page guide, theming, customizable line height and kerning, and more. It’s like a colorful and customizable TextEdit for iPhone and iPad.

QuickLinks vom 06. November bis zum 08. Juni

| Kommentare

Meine pinboard.in-Links vom 06. November bis zum 08. Juni:

  • Überholabstand - CLI-Script zur Erstellung einer Grafik vom Überholvorgang eines Fahrrads durch ein Kraftfahrzeug.
  • Music MiniPlayer for macOS - is a replica of the classic iTunes MiniPlayer to control Apple Music on modern macOS.
  • Boop - is a magical place to paste some plain text and run some basic text operations on it. Goodbye, unreadable XML! So long, HTML entities! Au revoir, undecipherable time-stamps!
  • ArchiveBox - is a powerful, self-hosted internet archiving solution to collect, save, and view sites you want to preserve offline. It takes URLs/browser history/bookmarks/Pocket/Pinboard/etc., saves HTML, JS, PDFs, media, and more… The goal is to sleep soundly knowing the part of the internet you care about will be automatically preserved in durable, easily accessible formats for decades after it goes down.
  • Path Copy Copy - is an add-on for Windows Explorer that adds contextual menu items on all files and folders allowing the user to copy the path(s) in various formats.
  • ueli - A keystroke launcher for Windows and macOS - is a keystroke launcher for Windows and macOS with lots of plugins.
  • Shareful - makes the macOS system share menu even more useful by providing some commonly needed share services: Copy, Save As, Open In
  • Lunacy - is a next-gen vector graphic software for UI, UX, and web design. It has everything you are used to in other similar apps and goes beyond. Created by designers for designers to focus on the workflow and minimize distractions. No more wasting time surfing the internet for graphics or switching apps to remove backgrounds, or thinking placeholder texts! Lunacy has it all and even more. Faster than Figma, smarter than Sketch!
  • Lunar - intelligent adaptive brightness for your external display
  • Data Jar - is a data store designed for Shortcuts. Works on iOS and starting with Monterey also on macOS

2021 in VDSL-Zahlen

| Kommentare

Wie schon in den letzten Jahren (2016, 2017, 2018, 2019 und 2020) wurde auch das Jahr 2021 dank der Anregung von Michel bandbreitentechnisch vermessen. Die Spitzenreiter sind wie immer jeweils in fett ausgezeichnet1.

Monat Upload (GB) Download (GB) Gesamt (GB)
Januar 151,61 738,93 891
Februar 98,39 786,72 885
März 191,99 745,47 937
April 231,11 921,62 1.153
Mai 210,02 691,36 901
Juni 109,81 671,78 782
Juli 232,38 596,97 829
August 74,5 743,73 818
September 78,26 714,06 792
Oktober 92,54 856,12 949
November 119,1 621,89 741
Dezember 129,86 868,69 999
2021     10.677

Über das gesamte Jahr zeigt sich ein recht homogenes Bild in Sachen Bandbreite. Einziger Ausreißer ist der April, der mit deutlich am meisten Download und dem zweithöchsten Upload die Gesamtsumme auf über ein Terabyte pusht. Ursache wie immer irgendwie unklar.

Auch in diesem Jahr ist das alles in Handarbeit entstanden, die automatische Erfassung der Zählerwerte via Fritz Speed hat erneut nicht stattgefunden, ToDo-Listen sind geduldig und dieser Post ja auch erst weit im laufenden Jahr 2022 veröffentlicht.

Onwards!

(via: Pixelscheucher)

  1. Diese Markdown-Tabellen sind dank TableFlip echt flugs erstellt…

12. Hochzeitstag

| Kommentare

Heute vor zwölf Jahren haben Kathi und ich geheiratet.

Ich wünsche der besten Ehefrau der Welt und mir eine wundervolle Nickelhochzeit1 und freue mich auf das nächste Jahr im aufregenden Hafen der Ehe.

  1. Es gibt wirklich wunderliche Listen im Internet…