Hack’in holidays

Die­se Woche sind in Baden-Würt­tem­berg Schul­fe­ri­en, und auch der Par­la­ments­be­trieb läuft etwas lang­sa­mer – des­we­gen hat­te ich vier Tage frei. Wie es sich so erge­ben hat, war ich an die­sen vier Tagen vor allem mit Tech­nik­krams beschäftigt.

1. Digital Independence Day rückt näher

Einer mei­ner pri­va­ten Rech­ner läuft aus Grün­den noch unter Win­dows 11 (der ande­re unter Linux Mint). Das inte­griert inzwi­schen One­dri­ve tief ins Sys­tem, und ja, irgend­wie ist es auch ganz prak­tisch, so eine Cloud, bei der ich dann auch in Ess­lin­gen (auf dem Linux-Rech­ner) auf Datei­en zugrei­fen kann, die hier in Gun­del­fin­gen „lie­gen“. Aber mir gefällt weder die per­spek­ti­vi­sche KI-Inte­gra­ti­on noch der Cloud-Zwang noch die Rich­tung, in die Micro­soft sich ent­wi­ckelt. Inso­fern habe ich die Feri­en­ta­ge genutzt, mei­ne Daten und Bil­der in eine eige­ne mana­ged Next­cloud zu ver­schie­ben. Das hat recht gut funk­tio­niert (auch wenn’s ein paar Stun­den gedau­ert hat), bis …

2. Nextcloud Desktop Client macht Sachen

… der Next­cloud Desk­top Cli­ent sich heu­te auf die aktu­el­le Ver­si­on 35.x aktua­li­sie­ren woll­te. Bzw. auto­ma­tisch aktua­li­siert hat. Was dann dazu führ­te, dass der Desk­top Cli­ent nicht mehr star­te­te und die Dateisystemintegration/Synchronisation erst­mal stopp­te (wie hier von jemand ande­rem beschrie­ben). Work­around: deinstal­lie­ren, 34.x instal­lie­ren und das auto­ma­ti­sche Update aus­schal­ten. Dann ging’s wieder.

3. Alternativen zu Evernote?

Der Next­cloud-Bug war beson­ders ärger­lich, weil ich mich auch hin­ge­setzt habe, und mei­ne umfang­rei­ches Ever­no­te-Archiv (größ­ten­teils ein­ge­scann­tes Zeug, Ord­ner aus drei­ßig Jah­ren usw.) expor­tiert habe. Das geht bei Ever­no­te nur Notiz­buch für Notiz­buch, und eine Syn­chro­ni­sa­ti­on muss hän­disch vor­ge­nom­men wer­den. Ten­den­zi­ell will ich weg von Ever­no­te, nicht nur wegen dem Eigen­tü­mer­wech­sel hin zu Ben­ding Spoons, son­dern auch, weil mir da inzwi­schen zu vie­le Extra-Fea­tures (mit KI) etc. auf­ge­taucht sind. Gleich­zei­tig ist’s bequem, weil a. Cloud und von über­all her zugreif­bar und b. ich einen ganz guten Work­flow eta­bliert habe (Brot­her ADS 4300N als Ein­zugs­scan­ner, das Ergeb­nis lan­det dann direkt in der Inbox von Evernote). 

Jeden­falls liegt eine aktu­el­le Kopie mei­nes Ever­no­te-Archivs nach eini­gen Stun­den Rum­kli­cken jetzt auf mei­ner Fest­plat­te (in HTML plus PDF) und in der oben genann­ten Next­cloud. Gibt es einen Cli­ent, der (auf dem Desk­top oder als Next­cloud-Inte­gra­ti­on) mit einer aus Ever­no­te expor­tie­ren Ord­ner-Struk­tur sinn­voll umge­hen kann? Auch im Sin­ne Such­funk­ti­on? Dann wäre das viel­leicht der Trop­fen, der mich ganz weg­bringt von die­ser App.

4. Foto der Woche im digitalen Bilderrahmen

Dane­ben habe ich mich mit ganz ande­ren Din­gen rum­ge­schla­gen (bzw. an ganz ande­ren Din­gen rum­ge­bas­telt). Wer mein Blog kennt, weiß, dass ich hier jede Woche ein „Foto der Woche“ ver­öf­fent­li­che. Wäre doch eigent­lich was Schö­nes für den digi­ta­len Bil­der­rah­men („Paper­less­pa­per“, basiert auf einem 7‑Farb-E-Paper; je nach Motiv und Erfolg der Ras­te­rung sieht’s mehr oder weni­ger foto­gen aus, was dort dar­ge­stellt wird). Der Bil­der­rah­men kann Web­sites ein­le­sen und dar­stel­len, und die Kate­go­rien-Sei­te zum Foto der Woche zeigt die fünf neus­ten Fotos. Inso­fern eine ein­fa­che Lösung, um neben Wet­ter und Kalen­der auch das jeweils aktu­el­le Foto zu zei­gen. Nur: ganz so hübsch ist ein auf 480 x 800 Pixeln ger­en­der­tes Blog nicht. Mit ein wenig CSS müss­te das schö­ner dar­stell­bar sein, dach­te ich mir. War es dann auch, die Lösung war aber etwas kom­pli­zier­ter – auch, weil ich gelernt haben, dass aus Sicher­heits­grün­den moder­ne Web­sites extrem emp­find­lich sind, wenn es dar­um geht, Inhal­te ande­rer Web­sites ein­zu­bet­ten und zu laden. 

Mei­ne Lösung ist nun eine klei­ne HTM­L/­Ja­va­script-Datei, die Kate­go­ri­en­sei­te ganz alt­mo­disch als IFrame ein­bin­det und die­se dann um ein Style­sheet ergänzt, das vor allem Din­ge aus­blen­det – alles bis auf die Über­schrift und das Bild des ers­tens Ein­trags der Kate­go­ri­en­sei­te. Da bei­de Datei­en in der sel­ben Domain lie­gen, darf Java­script den ein­ge­bet­te­ten Code ver­än­dern. Sobald das nicht der Fall ist, funk­tio­niert die­se Lösung nicht mehr. Und damit habe ich jetzt eine HTML-Datei, die von Paper­less­pa­per gela­den wer­den kann, und die immer das aktu­el­le Foto der Woche zeigt.

5. Apropos Foto der Woche

Die Fotos der Woche wer­den in mei­nem Blog von mei­nem Flickr-Account aus ein­ge­bun­den. Das klappt seit meh­re­ren Jah­ren sehr gut. Heu­te ist mir aller­dings auf­ge­fal­len, dass eini­ge Fotos nicht mehr ange­zeigt wer­den – evtl. lag es dar­an, dass die von Flickr ange­for­der­ten Bild­da­tei­en zu groß waren (1600 Pixel). Durch den Ein­bet­tungs­code für 800-Pixel-Bil­der ersetzt, funk­tio­niert es wieder.

6. Apropos E‑Paper

Neben diver­sen E‑Book-Lese­ge­rä­ten und dem erwähn­ten Bil­der­rah­men fiel mir ein, dass in einer Schub­la­de ja auch noch ein klei­nes altes 4,2″-Waveshare-Display liegt, das ich mal von einem Raspber­ry Pi aus ange­steu­ert hat­te. Mal zu gucken, ob es noch tut, erwies sich dann als län­ger­wie­ri­ge Ange­le­gen­heit: Hür­de 1 war die Tat­sa­che, dass ich den alten Pi nicht griff­be­reit irgend­wo lie­gen hat­te, und auf dem Pi 400 das Pro­gramm zum Ansteu­ern nicht instal­liert war. Gleich­zei­tig war bei Wavesha­re sel­ber nur die Doku­men­ta­ti­on für neue­re Model­le zu fin­den. Das Python-Pro­gramm, um auf dem E‑Paper Bil­der anzu­zei­gen, hat­te ich noch, und das ließ sich natür­lich auch auf den Pi 400 kopieren. 

Hür­de 2: mein Pro­gramm ver­wen­det ImageTk, das wie­der­um ist bei Pillow/PIL inzwi­schen? unter Debi­an? stan­dard­mä­ßig nicht ein­ge­bun­den. Nach lan­gem Rum­pro­bie­ren: es gibt ein Modul python3-pil.imagetk, das sich über sudo apt install python3-pil.imagetk instal­lie­ren lässt. Damit lief dann zumin­dest mal der Gra­fik­teil des Programms. 

Auf der ande­ren Sei­te, Hür­de 3, hat sich bei dem neue­ren Pi 400 auch eini­ges bei GPIO ver­än­dert. Nicht nur, dass die Pins über Kopf ste­hen, son­dern auch in Python ist inzwi­schen gpiozero das Sys­tem, mit dem GPIO ange­steu­ert wird, nicht mehr älte­re Libra­ri­es. Der Code für ande­re, neue­re Wavesha­re-Dis­plays zeig­te mir, wie ich die­sen Teil mei­nes Pro­gramms anpas­sen muss­te (war­um der CS-Pin nicht funk­tio­niert und im Code ent­spre­chen­de aus­kom­men­tiert ist, erschließt sich mir nicht). 

Dann ging es, Hür­de 4, nur noch dar­um, das Dis­play kor­rekt anzu­schlie­ßen. Gesagt, getan, aber da pas­sier­te nichts. Nach x Fehl­ver­su­chen ohne Erfolg fiel mir irgend­wann auf, dass eines der Kabel gar nicht am rich­ti­gen GPIO-Pin hängt (war­um auch immer, …). Das kor­ri­giert, erweck­te das Dis­play dann zum Leben – also zu zwei Drit­teln, ein Drit­tel funk­tio­nier­te nicht mehr und ließ sich nicht ansprechen. 

7. Internet of Tubes

Last but not least habe ich Zeit ver­bracht mit dem Inter­net – mit die­ser Sand­box und mit die­sem Sim­Ci­ty-wir-bau­en-ein-Netz-Spiel.