Ich war am Wochenende auf dem CloudFest Hackathon und hatte zum zweiten Mal die Change ein Projekt zu betreuen. Die Idee zu „Enable Mastodon Apps“ stammt von @alex und ich freue mich sehr, dass er mir sein „Baby“ für den Hackathon anvertraut hat!

Hier ist unser Pitch:

Hier klicken, um den Inhalt von YouTube anzuzeigen.
Erfahre mehr in der Datenschutzerklärung von YouTube.

Ich bin begeistert von der Idee!

Das Nachbauen der Mastodon-API stellt eine relativ einfache Lösung für das aktuelle ‚App-Problem‘ von WordPress dar. Die gängigen Apps zielen darauf ab, den Nutzern das traditionelle Bloggen zu ermöglichen. Allerdings haben soziale Medien im Allgemeinen und Twitter im Speziellen, die Art und Weise wie wir im Internet kommunizieren, maßgeblich verändert. Es geht nicht mehr um lange Artikel, sondern um kurze Nachrichten ohne Titel mit dem Fokus auf Bilder oder Videos.

Ein weiterer Nebeneffekt sind die sozialen Interaktionen wie Kommentieren (die WordPress über die letzten Jahre spärlich vernachlässigt hat), Liken, Boosten und Bookmarken (die WordPress nativ gar nicht unterstützt), welche die Mastodon Apps von Haus aus schon mit bringen.

„Enable Mastodon Apps“ stellt aber nur die Endpunkte für diese Interaktionen bereit, um sie nutzen zu können, braucht es weitere Plugins, wie z.B. Friends und/oder ActivityPub. Mehr dazu hier: Friends with ActivityPub – Deine nachhaltige Identität im Web.

Das Projekt hat mich sehr an die frühen Twitter-Jahre erinnert. Die Twitter-API galt lange als der de-facto Standard für Micro-blogging und Automattic/@photomatt hat damals schon die Vorteile für sich erkannt und die API für WordPress.com nach gebaut:

Of course one of the coolest things about Twitter right now is the client applications, particularly the mobile/iPhone ones. I use Tweetie 2 on my iPhone every day. Wouldn’t it be cool if you could get all your blog subscriptions and post to your WordPress.com blog from apps like Tweetie? Well here’s an early Christmas present…

We’ve enabled posting to and reading of WordPress.com blogs via the Twitter API. Any app that allows you to set a custom API URL will work.

Post and Read via Twitter API

Hackathon

Wir waren zwar nur 4 Personen, aber ich sag nur „Qualität statt Quantität“!

Vielen Dank @Drivingralle, @matze und @obenland, es war super produktiv und hat großen Spaß gemacht 🙂

Von links nach rechts: Ralf Wiechers, ich, Matthias Kittsteiner und Konstantin Obenland

Was wir erreicht haben:

  • Die meisten Mastodon-API-Endpunkte wurden implementiert.
  • „Hooks“ und „Actions“ für den internen Gebrauch.
  • Dokumentation aller Hooks.
  • Grundlegende Beispielimplementierungen in ActivityPub und im Friends Plugin.
  • Testen von zusätzlichen Clients.

Und hier ein paar Statistiken von den zweieinhalb Tagen:

  • 3 new contributors to the plugin
  • 4,101 lines added
  • 911 lines removed
  • 213 commits
  • 34 files changed
  • 25 PRs merged
  • 7 PRs almost merged
  • 0 Social Media posts

Und hier der Pull Request in seiner ganzen Pracht: Collection of changes from the CloudFest Hackathon

Vielen Dank auch an @bart und das Team von Mammoth, die uns im Vorfeld unterstützt haben. Mammoth funktioniert jetzt wunderbar mit WordPress und Alex und ich hatten einen Einblick in die App-Entwicklung und deren Eigenheiten 🙂

Hier ein paar Bilder:

Ich bin schon vor Monaten über einen Artikel auf heise gestolpert, der das potentielle Phänomen der „Demenz bei Künstlicher Intelligenz“ beschreibt.

Die nächste Generation von KI-Anwendungen werde unweigerlich auch an Datensätzen im Netz trainiert, die nicht von Menschen, sondern von früheren KI-Anwendungen erstellt wurden.

Künftige KI-Modelle potenziell von Demenz bedroht

Das ist vor allem deshalb spannend, weil es genau die zwei Anwendungsfälle von KI betrifft, die auch mich, in meiner Arbeit oder als Betreiber eines Blogs, begleiten:

  1. Das automatische Generieren von Inhalten
  2. Die automatische Verarbeitung und Interpretation von Inhalten

Konkret handelt es sich um Plugins/Dienste, die beim Erstellen von Texten helfen oder sogar komplett automatisiert Texte verfassen, um AI-generierte Bilder oder der Kombination aus beidem. Auf der anderen Seite stehen Dienste wie Google et al., die versuchen, Antworten auf Suchanfragen direkt aus den Suchergebnissen zu extrahieren, um dem Suchenden den Klick auf den entsprechenden Link zu „ersparen“.

Auch wenn ich das generelle Potential von KI durchaus sehe, sind das zwei Bereiche in denen mich deren Anwendung eher nervt!

Ich bin ein „Kind“ der Generation Web 2.0, ich schreibe meine Gedanken ins Web um mich mitzuteilen und mit anderen über meine Ideen und Einschätzungen zu diskutieren und (konstruktiv) zu streiten. Wenn ich was zu schreiben habe, schreibe ich etwas, wenn nicht, nicht.

Leider gibt es aber auch Menschen, die berufsbedingt schreiben müssen, ohne dabei die Freiheit zu haben, dies lediglich nach Lust, Zeit oder Inspiration zu tun. Dieser Druck verstärkt die Verlockung, auf KI-Unterstützung zurückzugreifen natürlich wesentlich.

Ein „wunderbares“ Beispiel hierfür ist die WordPress Community auf LinkedIN. Ein stetiger Stream an ähnlichen und meist inhaltslosen Posts mit einem überzeichneten, grellen, bunten Bild im Comic Stil, in dessen Mitte ein verunstaltetes WordPress Logo prangt!

Mein RSS-Reader ist zum Glück noch frei von solchen Inhalten, aber die Anzahl der KI generierten Bilder steigt auch hier auffällig konstant.

@Krisuuu schreibt in seinem Blog:

Das persönliche Bloggen hat eine lange und reiche Geschichte. Es ermöglicht Menschen, ihre Gedanken, Erfahrungen und Leidenschaften in einer einzigartigen Stimme zum Ausdruck zu bringen. Doch mit dem Aufkommen von KI-Technologien, die in der Lage sind, menschenähnliche Texte zu generieren, könnte das persönliche Bloggen bedroht sein. Die Versuchung, diese Aufgabe an Algorithmen abzugeben, ist real – aber sie könnte auch den Verlust von etwas Unersetzlichem bedeuten.

Der Kampf um Authentizität: Warum persönliches Bloggen unersetzbar bleibt

Per definition hat das nichts mehr mit „bloggen“ zu tun1, aber das ist Wortklauberei und das Problem ist wirklich real!

So real, dass Google aktuell schon damit zu kämpfen hat:

In the continual cat-and-mouse game of Google Search versus search engine optimization (SEO) firms, Google seems to be losing lately. Search feels less useful with every passing day as the ChatGPT era has unleashed a tsunami of AI junk that quickly fills up search results. Google played a big part in creating all this with its invention of transformers, and now it’s finally doing something about it. A new blog post details efforts to reduce „spammy, low-quality content on Search.“

Google now wants to limit the AI-powered search spam it helped create

Das ging schneller als ich dachte!

Auf Social Media hab ich ein sehr schönes Kommentar zu der Misere gelesen. Leider finde ich es nicht mehr und muss deshalb improvisieren. Hier eine sinngemäße Zusammenfassung: „Ein Ziel der industriellen Revolution war, unliebsame und stupide Prozesse zu optimieren um dadurch mehr Zeit für Kunst und Kultur zu schaffen. Und was macht AI, sie automatisiert uns genau diese Freiheit und nimmt uns ausgerechnet das Erstellen von Bildern und Texten ab.“

Die Aussage ich sicherlich etwas konstruiert, beschreibt aber genau meine Sorge: Optimiert euren Arbeitsalltag mit und durch AI, damit ihr mehr Zeit zum schreiben, bloggen und „malen“ habt, nicht umgekehrt!

Brave New World!

  1. Ein Blogger steht als wesentlicher Autor über dem Text, schreibt zumeist in der Ich-Perspektive und integriert seine persönliche Meinung. — Wikipedia ↩︎

TL;DR

<div class="h-event">
    <time class="dt-duration" datetime="P20Y">
        20 Jahre Microformats 🎉
    </time>
</div>

Longread

Vor zwanzig Jahren haben @KevinMarks und @tantek.com Microformats in einer Konferenzpräsentation vorgestellt.

Happy Birthday 🎉

Ich bin ein bisschen spät dran, ich weiß, ich weiß, aber es gibt wenig, was mich schon so lange (online) begleitet wie das Format und die Community (abgesehen vielleicht von WordPress), dass ich das nicht unkommentiert lassen kann!!

Zu meiner Historie: Im Gegensatz zu vielen Anderen in der Branche, mache ich meinen Job nicht, weil ich Spaß am programmieren alleine habe. Ich hatte nie das Bedürfnis, als Kind oder Jugendlicher an einem Computer oder C64 herumzubasteln. Statt dessen bin ich Ende der 90er dem Internet/Web/Bloggen verfallen.

Das Web war:

But if you think of the years 1995-2005, you remember when the web was our social network: blogs, comments on blogs, feed readers, and services such as Flickr, Technorati, and BlogBridge to glue things together. Those were great years […]

Why Micro.blog is Not Another App.net

Eigentlich passt auch die Beschreibung des IndieWebs:

It is a community of independent and personal websites connected by open standards and based on the principles of: owning your domain and using it as your primary online identity, publishing on your own site first (optionally elsewhere), and owning your content.

indieweb.org

Ich habe damals angefangen Webseiten mit Frontpage zu bauen, hab den HTML Code verändert und geschaut wie sich das auf sie Seite auswirkt, hab CSS „drüber gelegt“, ein wenig Dynamik mit JavaScript dazu „gebastelt“… Es hat Spaß gemacht!

Ich bin also nicht durch die Freude am Programmieren im Web gelandet, sondern habe durch die Faszination am Web, programmieren gelernt 🙂

Wer sich damals, im deutschsprachigen Raum, mehr oder weniger seriös mit dem Thema HTML beschäftigt hat, ist früher oder später über die Webkrauts gestolpert und über diesen Dunstkreis, habe ich 2006 auch das erste Mal von Microformats gelesen.

Wenn man in letzter Zeit durchs Internet surft, stolpert man immer häufiger über den Begriff „Microformats“ oder sieht das grüne Symbol auf Kontaktseiten. Aber was genau sind Microformats und für was sind sie gut?

Microformats

Ich glaub es war das Blog von @pixelgraphix auf dem ich dieses „grüne Symbol“ zum ersten Mal entdeckt habe.

Die Idee hat mich tief beeindruckt! Ein Format, „designed for humans first and machines second„! HTML als API „nur“ unter Verwendung von class und rel Attributen, also klassisches Plain Old Semantic HTML (PoSH)!

Und irgendwie beschäftigen mich Microformats bis jetzt:

Durch die Erfahrung der letzten Jahre habe ich mittlerweile eine etwas differenziertere Meinung zu „HTML als API“, das Ändert aber nichts an meiner generellen Faszination für Websemantiken.

Die Microformats Community hat mir außerdem die Welt des Open Webs und der Open Standards offenbart, immerhin haben Microformats direkt oder indirekt auch Initiativen wie DataPortability.org, DiSo und das IndieWeb beeinflusst.

Danke Microformats und noch einmal Happy Birthday 🥳!

Seit letzter Woche braucht man keinen Invite-Code mehr um sich bei Bluesky anzumelden, die wesentlich spannendere Info steht aber, wie beiläufig erwähnt, im letzten Abschnitt:

This month, we’ll be rolling out an experimental early version of “federation,” or the feature that makes the network so open and customizable. On Bluesky, you’ll have the freedom to choose (and the right to leave) instead of being held to the whims of private companies or black box algorithms. And wherever you go, your friends and relationships can go with you.

https://bsky.social/about/blog/02-06-2024-join-bluesky

Ich bin gespannt wie Bluesky federation umsetzen wird. Auf mich wirkt das ATProtocol immer noch viel zu kompliziert und „overengineered“, aber vielleicht ist das ja auch gerade der Vorteil gegenüber ActivityPub.

Ich hatte vorgestern einen kleinen Plausch mit @deadsuperhero für den Decentered Podcast, in wir unter anderem auch über die Schwierigkeiten bei der Implementierung von ActivityPub sprachen. Da WordPress in vielen verschiedenen Umgebungen laufen muss und sich die Konfiguration des Webservers, die PHP Version, das Caching, die Interferenz mit anderen Plugins und andere spezial Fälle nicht seht gut abschätzen lassen, ist es sehr schwer komplexere Funktionalitäten umzusetzen.

Ein Beispiel: Im Gegensatz zu OStatus, wo die Distribution von neuen Inhalten über PubSubHubbub (jetzt WebSub) geregelt wurde, ist bei ActivityPub der Service selbst dafür verantwortlich. Ein direktes Verteilen der Inhalte, direkt nach dem Veröffentlichen, würde bei großen Follower zahlen, den Prozess unnötig in die Länge ziehen, oder könnte sogar zu einem Fehler oder einem kompletten Abbruch führen. Um dem (so gut es geht) entgegen zu wirken, wird der Prozess asynchron über WP_Cron abgearbeitet. Leider ist aber auch das keine Garantie für einen fehlerfreien Ablauf (Siehe Ende des vorherigen Absatzes).

Lange Rede kurzer Sinn: Abhängig davon wie simpel ein Personal Data Server kurz PDS aufgebaut ist, könnte Bluesky vielleicht doch interessanter sein als ich ursprünglich angenommen habe.

Ich muss mich wohl mal mit @snarfed.org über seine Bluesky Implementierung unterhalten.

Ich bin gespannt!

Vor ein paar Tagen schrieb Tantek Çelik (@tantek.com) auf seinem Blog:

No large language models (LLM) were used in the production of this post.

Inspired by a subtle but clear sign-of-the-times one-line disclaimer at the end of RFC9518’s Acknowledgments (https://www.rfc-editor.org/rfc/rfc9518.html#appendix-A-4)

Ich weiß nicht ob „inspiriert“ hier der richtige Begriff ist… ich weiß was er meint und verstehe seinen Punkt, finde es aber auch sehr beängstigend. Ist es wirklich schon soweit, dass man explizit erwähnen muss, dass ein Mensch einen Text geschrieben hat?

Es fühlt sich ein wenig so an, als würden wir hier gerade wieder den gleichen bzw. einen ähnlichen Fehler begehen, den wir schon zweitausendirgendwas mit dem Social Web begangen haben.

„No large language models (LLM) were used in the production of this post.“ scheint das neue „IndieWeb“ oder „Fediverse“ zu werden. Man fängt an, das was eigentlich die Norm sein sollte, zur Ausnahme zu machen und neue Begriffe/Beschreibungen dafür zu finden.

Es gibt gerade erst wieder (nach fast 15 Jahren) verschiedene Diskussionen zu dem Thema „Social Web“ vs the „Fediverse“ und auch @Gargron (der Gründer von Mastodon) spricht im dotSocial Podcast mit @mike (der Gründer von Flipboard) vom Social Web!

Passend dazu hat @marcelweiss (der übrigens auch schon seit Ewigkeiten im Team „Social Web“ spielt), unsere neue Podcast Folge „neunetzcast 99: Nieder mit dem Fediverse, hoch lebe das Social Web“ genannt 🙂

Ich werde also weder das „Not By AI“ Badge, noch den Text „No large language models (LLM) were used in the production of this post.“ irgendwo auf meinen Blog packen, in der Hoffnung, dass die Nutzung von AI/LLM irgendwann kennzeichnungspflichtig wird!

Ich schreibe hier um meine Gedanken (mit euch) zu teilen, nicht für irgendeine Suchmaschine, das heißt wenn ich irgendwann nichts mehr zu scheiben habe, dann wird es hier eben einfach ruhig PUNKT

…and because it fits so well: Happy Birthday Ma.tt! And happy blogging forever!

Das notiz.blog ist volljährig 🎉

Ginge es nach ChatGPT, könnte jetzt folgendes auf mich und mein Blog zutreffen/zukommen:

  1. Selbstfindung und Identitätsstiftung: Mit 18 Jahren könnte das Blog in einer Phase der Selbstfindung und Identitätsstiftung sein. Der Blogger könnte überlegen, wer er als Autor ist, welche Werte er vertritt und wie er sich weiterentwickeln möchte.
  2. Erwachsenwerden in der digitalen Welt: Ein 18-jähriges Blog könnte die Herausforderungen des Erwachsenwerdens in der digitalen Welt reflektieren. Das bedeutet möglicherweise eine verstärkte Auseinandersetzung mit Themen wie Datenschutz, Ethik im Online-Journalismus und der Verantwortung gegenüber der Online-Community.
  3. Bewältigung von Veränderungen: In diesem Alter könnten sich auch Änderungen in der Technologie und den Online-Trends bemerkbar machen. Das Blog könnte seine Anpassungsfähigkeit zeigen, indem es sich den aktuellen Entwicklungen anpasst und möglicherweise neue Medienformen integriert.
  4. Einfluss auf die jüngere Generation: Ein 18-jähriges Blog könnte eine inspirierende Rolle für neuere Blogs oder aufstrebende Blogger spielen. Es könnte seine Erfahrungen teilen, Ratschläge geben und dazu beitragen, die nächste Generation von Bloggern zu beeinflussen.
  5. Reflektierte Inhalte: Das Blog könnte sich darauf konzentrieren, tiefer gehende, reflektierte Inhalte zu produzieren. Es könnte sich in Richtung anspruchsvollerer Themen bewegen und einen Beitrag zu qualitativ hochwertigerem Online-Content leisten.

Ich lass das mal so stehen 🙂

Vor einigen Wochen habe ich Ian Steward auf einem Automattic Meetup kennengelernt. Er kam auf mich zu, um mir zu erzählen, dass er kürzlich auf einen ziemlich alten Artikel von mir gestoßen ist. In diesem Artikel geht es darum, wie man die Reihenfolge der Sidebars im K2-WordPress-Theme ändert.

Ich habe K2 sehr lange auf notiz.Blog eingesetzt und mich viel und lange mit dessen technischem Aufbau und der semantischen HTML-Struktur beschäftigt!

Aber außer dem kurzen Schwelgen in alten Erinnerungen hab ich mir nicht weiter Gedanken zu dem Thema gemacht. Immerhin gibt es das Theme schon seit einer halben Ewigkeit nicht mehr und Sidebars sind auch aus der Mode!(?)!

Dann schreibt @ricmac letzte Woche aber folgendes auf Mastodon:

Sidebar Culture: remember things in your blog sidebar like blogrolls, “Influential articles”, Flickr photos, MyBlogLog (a proto-social network for bloggers). All this stuff and more helped make early 2000s blogging fun and more communal. Would love to find a way to bring that back in 2024…

https://mastodon.social/@ricmac/111477809540922177

…das hat mich dann doch noch einmal neugierig gemacht und ich habe eine alte notiz.Blog Version von 2008 (auf Basis von K2) raus gekramt.

Fast die Hälfte der Seite war Sidebar 😍

Vieles von damals hat mich schwer an den Artikel „The lost infrastructure of social media.“ von @anildash (und der IndieWeb Version davon) erinnert.

Ich bin gespannt was @ricmac sich einfallen lässt…

Thinking about a personal website re-design (or a new site), so I can play around with fediverse integration, sidebar culture, and other fun things. Thinking of using @eleventy (have used Hugo before and this seems better). Maybe a new site is better, as I don’t want to have to migrate ricmac.org from WordPress…for now, anyway. Is it normal for people to have two personal websites these days? I should just start a test site with 11ty and see how it goes…

https://mastodon.social/@ricmac/111489177217562043

… und ich werde die Position meiner Sidebar vielleicht nochmal überdenken!

Alles kommt wieder ☺️