Kniebes.com

Ups…

Ist schon ein Zufall, dass ich es überhaupt bemerkt habe. Ich musste die PHP Version für meine beiden Blogs bzw. deren vhost gerade (endlich) mal von PHP 8.0 auf PHP 8.3 umstellen. Im Halbschlaf habe ich wohl eine Klasse geändert, so dass die mit 8.0 nicht mehr wollte;)

Aber aufgrund des aktiven Cache habe ich wohl eine Weile nicht bemerkt, dass das Frontend nicht funktioniert.

Der Editor bzw. das Admin-Dings läuft schon eine Weile mit 8.3. Aber Code ist völlig unabhängig vom Frontend. Und gestern Abend huschte mir wohl ein readonly in den Konstruktor einer Klasse. Und das darf erst ab 8.1.

Wird Zeit, dass ich die Frontends mal überarbeite. Ich trage mich schon seit seit einer Weile dem Gedanken statische HTML Seite zu rendern und maximal die Suche weiterhin über PHP laufen zu lassen.

Flickr Upload aus dem Blog

Eigentlich macht man sowas an langen Winterabenden. Ich nehme dafür Sommernächte.

Letztes Wochenende habe ich endlich den Bildupload zu Flickr direkt aus dem Blog fertiggestellt. Mit Hilfe von PhpFlickr ist das ziemlich einfach.

Wie die meisten Feature im Blog ist auch dieses keine interne Komponenten sondern eine kleine externe Api auf einer Subdomain, die ich aus dem Blogeditor heraus anspreche. Ich mag es die Kernanwendung relativ kompakt zu halten und alle Feature drumherum werden dann Miroservices.

Neues im Blog

Wo soll ich anfangen.

Durch Thomas bin ich auf Slash Pages aufmerksam geworden.

Slash pages are common pages you can add to your website, usually with a standard, root-level slug like /now, /about, or /uses.

Ein paar habe ich ja schon, wie /now oder /contact. Dazu gekommen sind ein /colophon und das /changelog und die /blogroll haben eine eigene Seite bekommen.

Wird es noch mehr geben? Ich weiss noch nicht. Die /faq bietet ja schon Antwort auf viele Fragen.

Außerdem habe ich angefangen das Blog ans Fediverse anzuschließen, wie man so schön sagt. Das heißt, man kann dem Blog unter @mk@kniebes.com auf Mastodon folgen.

Das Ganze befindet sich noch in einem frühen Entwicklungsstadium. Man kann folgen und auf Posts reagieren. In Anbetracht meiner Vorliebe für Tippfehler hat das Updaten von Posts die allerhöchste Priorität ;)

Die Darstellung von Reaktionen (Likes, Replies) im Blog selbst ist noch in Arbeit. Ehrlich gesagt weiss ich auch noch nicht wirklich wie ich das darstellen möchte. Tatsächlich den Content aus dem Messages anzeigen oder nur ein Verweis auf die Replies des Users. Vielleicht muss ich mal schauen, wie andere das so machen.

Archiv meines Twitter Accounts

Vor einer Weile habe ich mit die Daten von meinem Twitter Account zusenden lassen. Mit eingelegtem Account geht das über:

„Mehr ⇒ Einstellungen und Datenschutz ⇒ Ein Archiv deiner Daten herunterladen“.

Nach einer Weile wird man informiert, dass die Daten zum Download bereit stehen.

Man bekommt so ziemlich alles was zum Account gehört nett verpackt in einer Archiv Seite, die mit Javascript funktioniert. Alles Daten sind in diverse JSON Dateien hinterlegt und die Skripte verpacken diese dann in eine Seite, die Twitter nicht ganz unähnlich ist. Das könnte man im Prinzip hochladen und es würde rein technisch funktionieren. Allerdings sind auch sämtliche private Informationen, die im Account hinterlegt sind auch darin zu finden, zum Beispiel Direkt Messages. Das möchte man vielleicht nicht ;)

Ich habe dann die Datei mit den Tweets (tweets.js) genommen und daraus statische HTML Seiten erzeugt und hochgeladen: twitter-archive.kniebes.io

Für die Lightbox zur größeren Anzeigen von Bildern habe ich die Fullscreen Lightbox benutzt. Hat keine weiteren Abhängigkeiten und die einzelne Javascript Date ist extrem schnell eingebunden.

An und für sich kann ich nun meinen ohnehin auf Privat gestellten Twitter Account nun löschen.

Und ja, ich bin mit bewusst, dass Twitter schon seit einer Weile X heißt.

Es gibt keine Wochenupdates mehr!

Die alten Updates werden noch im chronologischen Blog angezeigt, aber es wird keine neuen Updated mehr geben. Alles war ich in einem Wochenupdate schreibe, könnte auch ein separater Blogpost werden.

Wo soll ich die Grenze ziehen? Was kommt in ein Wochenupdate und was wird ein Blogpost? Um dem minimalistischen Charakter dieser Seite gerecht zu werden, habe ich ich mir diese Entscheidung erspart und die Wochenupdates ausrangiert.

Die freien Tage zwischen den Feiertagen

Das ganze Jahr schiebt man Miniprojekte in genau diese drei freien Tage nur um dann, wenn es so weit ist, was völlig anderes zu machen. Warum plant man überhaupt. Wie sagte Wilhelm Busch sogleich: Erstens kommt es anders, und zweitens als man denkt.

Wie auch immer.

Ich habe den RSS Feed um die Bookmarks von dieser Seite angereichert und den Einträgen einen permanenten Link gegeben. Das spiegelt sich im RSS Feed druck die Elemente <link> und <guid isPermaLink="true"> wieder. Wobei das <link>-Element die URL des Bookmarks enthält und im <guid>-Element ist der Permalink zu finden, wie das Attribute schon zu verstehen gibt. Halbwegs brauchbare RSS Reader wie bspw. NetNewsWire sollten damit adäquat umgehen können.

Die letzten Links kann man zwar auf dieser Seite einsehen aber das Tool bleibt zum Suchen und Stöbern erhalten. Naja, ich vermute, ich bin der Einzige, der es benutzen wird.

Ich habe auch eine Pläne die Links irgendwo zwischen den Blogpost einzusortieren. Ist halt eher so ein RSS Feature ;)

Enclosure

Angestiftet durch den Post von Dave Winer habe auch mal das enclosure-Element in den Feed aufgenommen.

<enclosure url="https://photo.kniebes.com/photo/2023/11/28/der-erste-schnee.jpg" 
  length="5474114" 
  type="image/jpeg" />

Mir fällte gerade auf, dass wann immer ich über meinen RSS Feed schreibe, den Post in guter RSS Club-Tradition auch nur im Feed aufführe;)

frisches Archiv

Das langweilig Monatsarchiv war mir schon länger ein Dorn im Auge. Ich habe das etwas aufgepäppelt und es sieht nun ein bisschen wie ein Balkendiagramm aus. In der linken Spalte ist der verlinkte Monat und rechts die Anzahl der Posts in dem Monat. Eigentlich selbstredend.

Es ist zwar mittlerweile eine längere Liste aber nicht so öde wie diese quasi kalendarische Ansicht, die ich zuvor benutzt habe.

Und da ich gerade bei war, ist die Tagcloud nun auch keine Cloud mehr, sondern daran angepasst.

Mein altes Photoblog läuft wieder.

Bei der Änderung meiner Anschrift auf meinen Seiten, bin ich auch wieder auf mein altes Photoblog gestoßen. Eigentlich war das nur noch ein Redirect auf mein aktuelles.

Aber das muss ja nicht so bleiben und so habe ich es technisch wieder lauffähig gemacht. SSL aktiviert und ein paar Fehler gelöst. Allerdings läuft es nach wie vor auf PHP 5.6 und das Layout ist etwas in die Jahre gekommen. Naja, man benötigt schon eine Lupe um auf einem 5K Monitor noch irgendwas lesen zu können. Auf mobiles Geräten ist es kaum benutzbar. Aber das ist halt ziemlich genau 16 Jahre alt. Der erste Eintrag stammt vom 4. Oktober 2007. Damals war mobiles Surfen noch kein echtes Thema.

Ich habe keinesfalls vor, das alte Blog mit neuem Inhalt zu füllen oder das Layout zu überarbeiten damit es etwas zeitgemäßer oder überhaupt zugänglicher wird. Nein, eigentlich habe ich das nur aus nostalgischen Gründen gemacht. Es spiegelt halt meinen ersten Zugang zur digitalen Fotografie wieder.

Tote Links und SEO-Bullshit

Vor ein paar Tagen habe ich angefangen mir die bis zu 20 Jahre Einträge im Blog anzuschauen und zu prüfen, wohin die Links noch führen.

Es ist ein bisschen ernüchternd und eher selten, dass Links noch zu ihrem ursprünglichen Ziel führen. Entweder ist Domain ganz verschwunden, die Seite wird mit einem 404 einfach nur nicht mehr gefunden oder - und das finde ich sehr unangenehm - der Link verweist nun auf einen neuen Inhalt, der entweder nur begrenzt oder nichts mit den ursprünglichen Inhalt zu tun hat. Im schlimmsten Fall ist ein Ad-Hub oder sonst irgendeine dumme SEO-Content-Falle für Bots. Ganz eklig dabei: Kryptowährung und NFT SEO-Bullshit.

Alter Propeller! Und das sind echt viele... Also Bullshit und alte Einträge, meine ich.

Mein Blog hat Geburtstag

Mein Blog wird Heute 22 Jahre.

Traditionellerweise gibt einen kleinen Rückblick auf das "Leben" meine kleinen Blogs im vorangegangene Jahr.

Der Baustellenreport hat ein Ende gefunden, da die Bauarbeiten an der Hattinger Straße nun abgeschlossen sind.

Inhaltlich gab es eigentlich weiter keine großen Veränderungen. Fotos und ein wenig Gerede über Serien, Filme und was mir in den Sinn kommt. Zwischendurch ein paar unkommentierte Links.

Balkendiagramm mit Einträgen je Monat von 01/2022 bis 08/2023

Das Tagging der Posts ist wieder ein wenig weiter vervollständigt worden. Aber es fühlt sich immer noch an wie ein Tropfen auf dem heißen Stein.

Weniger relevante Elemente habe ich auf den statischen Seiten mit web components umgesetzt.

Kommentare via Twitter gibt es leider nicht mehr, da die API nun was kostet. Und weil ich Twitter auch nicht mehr nutzen mag. Auf eine vergleichbare Integration über Mastodon hatte ich noch keine Lust, wird aber früher oder später kommen.

Nach 22 Jahren würde ich immernoch sagen, ein Blog auf eigenem Webspace lohnt. Irgendwelche Social Media Dinger kommen und gehen (besonders Twitter geht gerade) aber ein Blog bleibt.

Wenn Du also irgendwas zu erzählen hast oder irgendeinen kreativen Output hast, gib Deinem Schaffen ein ordentliches Zuhause. Ein Blog.

Journal-Tags aus Exif Daten

Seit einer Weile speichere ich auch die Exif Daten der Fotos in der Datenbank und nun habe ich mir mal die Zeit genommen und für jeden Post mit einem Foto, das die Infos hat, Tags für Kamera und Objektiv zu generieren. Das fängt leider erst im Oktober 2021 an. Das sind nicht einmal 2 Jahren von insgesamt 22 Jahren.

Ich bin mir nicht sicher, ob ich den Rest manuell taggen möchte...

Hier sind auf jeden Fall die nigelnagelneuen Tags:

Und natürlicherweise auch in der Wolke zu finden.

SQL zum Erstellen der Relationen zwischen Tag und Post ist dank JSON_EXTRACT relativ einfach:

REPLACE INTO journal_entry_tag (entryId, tagId) 
  SELECT DISTINCT je.id, 494  
  FROM journal_image ji 
  INNER JOIN journal_entry je ON je.content LIKE concat('%',ji.url,'%') 
  WHERE REPLACE(JSON_EXTRACT(ji.exif, '$.lens'),'"','') LIKE 'Zeiss Planar%'; 
-- wobei 494 die Id vom Tag "Zeiss Planar T* 1.4/50 ZF.2" ist 

Da soll mal jemand sagen: ein Blog wäre kein Hobby ;)