Dies ist der zweite und letzte Teil meiner Reise durch meinen eigenen Facebook-Verlauf, um eine Wiedergabeliste mit Musik zusammenzustellen, die ich in meiner Timeline geteilt habe. Teil 1 finden Sie hier.
Ich fand heraus, dass die Einträge im HTML-Archiv meiner Facebook-Aktivitäten nicht chronologisch sortiert waren
Wenn Sie Ihre Facebook-Daten herunterladen, können Sie diese auf Ihrem Computer oder einem anderen Gerät speichern oder Meta die Erlaubnis erteilen, eine Zip-Datei auf Ihr Google Drive oder Dropbox hochzuladen. Ich fand das sehr praktisch, denn so konnte ich die Daten einfach herunterladen, wann immer sie fertig waren, ohne ein Browserfenster geöffnet halten zu müssen. Nach der Auswahl des Ziels wählt man das Format für den Download, wobei die Optionen HTML und JSON sind. Da ich hauptsächlich daran interessiert war, mein Archiv zu durchsuchen und nichts programmatisch damit zu tun, wählte ich HTML.
Nach dem Entpacken des Archivs erhalten Sie eine große Ordnerstruktur, die verschiedene Arten von Daten enthält. Bei HTML-Downloads enthält der Stammordner eine hilfreiche Datei start_here.html, die als Einstiegspunkt in das Archiv dient.
Der interessanteste Ordner mit der Bezeichnung your_facebook_activity ist auch der größte: In meinem Fall enthält er 235 MB an HTML- und hochgeladenen Mediendateien.
Als ich die HTML-Datei, die alle “Beiträge, Check-Ins, Fotos und Videos” enthält, durchblätterte, stellte ich fest, dass die Einträge nicht chronologisch sortiert waren. Anstatt Beiträge aus dem Jahr 2013 zu finden, stolperte ich über weitere Beiträge und Status-Updates aus dem Jahr 2011, von denen ich dachte, dass ich sie bereits in meinem vorherigen Beitrag behandelt hatte!
Ich habe eine Lösung gefunden, auf die altmodische Art.
Jetzt erinnerte ich mich an Wes Bos’ JavaScript-Kurs für Anfänger, dass es wirklich einfach ist, diese Art von Problemen in HTML-Dokumenten zu beheben, indem man JavaScript in der Konsole verwendet. Da alle Beiträge das gleiche Markup mit einer Datumszeichenkette in einem untergeordneten Element verwenden, dachte ich mir, dass es ziemlich einfach sein würde, die Einträge nach dieser Zeichenkette zu sortieren. Aber mein JavaScript ist eingerostet, also war mein erster Gedanke, Google zu benutzen, um nachzuschauen, wie man in einer Vergleichsfunktion in einen Nachkommen hinabsteigt.
Dabei stieß ich auf einen Thread auf Stack Overflow, in dem die akzeptierte Antwort noch keine Möglichkeit enthielt, ein Datum aus dem untergeordneten Knoten eines Elements zu extrahieren und auf der Grundlage dieser Werte zu vergleichen und zu sortieren. Ich hatte also die Wahl: mich in die Materie einarbeiten und mich mit der Art und Weise vertraut machen, wie JavaScript Werte aus dem DOM holt, oder… AI fragen.
Claude bitten, eine scheinbar zufällig geordnete Liste von Beiträgen und Aktualisierungen zu korrigieren
Als ich mich daran erinnerte, dass es in der Tat 2025 ist, wurde mir klar, dass ich das Problem auch mit einem KI-Agenten lösen könnte. Dies war auch die perfekte Gelegenheit, um die kostenlose GitHub Copilot-Erweiterung in Visual Studio Code auszuprobieren, die ich kürzlich aktiviert hatte. Zu meiner Überraschung lieferte die erste Eingabeaufforderung, die ich an Claude Sonnet 3.5 weitergab, ein Ergebnis, das zur Lösung meines Problems ausreichte:
Können Sie mir helfen, ein JS-Skript zu erstellen, das ich in der Browserkonsole ausführen kann, um Elemente in einem Html-Dokument nach einer Datumszeichenfolge innerhalb eines Nachfolgeknotens jedes Elements zu sortieren.
Der vorgeschlagene Code machte es sehr einfach, die Funktion gegen die Klassen, die ich im Archiv-Markup gefunden hatte, auszuführen.
Sehen Sie sich den Code an
function sortElementsByDate(parentSelector, dateSelector) { // Abrufen des übergeordneten Elements const parent = document.querySelector(parentSelector); if (!parent) return; // Abrufen aller zu sortierenden Elemente const items = Array.from(parent.children); // Sortieren der Elemente anhand der Datumszeichenfolge items.sort((a, b) => { const dateA = new Date(a.querySelector(dateSelector)?.textContent || ''); const dateB = new Date(b.querySelector(dateSelector)?.textContent || ''); return dateB - dateA; // Absteigende Reihenfolge (neuestes zuerst) }); // Elemente in sortierter Reihenfolge neu anfügen items.forEach(item => parent.appendChild(item)); } // Beispielverwendung: // sortElementsByDate('.container', '.date-field');
Für diejenigen, die sich dafür interessieren, wie dieser Austausch zwischen mir und Claude aussah: hier ist ein Screenshot aus Visual Studio:

Rückblickend auf eine unerwartet reibungslose und erfolgreiche Interaktion mit Claude
Ich war ein wenig schockiert, wie gut das funktioniert hat! Aus einer “KI wird uns die Arbeit wegnehmen”-Perspektive fand ich es beruhigend zu wissen, dass meine eigene Entwicklungserfahrung hier eine Rolle spielte:
- Zunächst einmal konnte ich meine eigene Entwicklungserfahrung nutzen, um meine Anfrage so spezifisch wie möglich zu formulieren. Ich bin mir nicht sicher, was passiert wäre, wenn ich nicht in der Lage gewesen wäre, DOM-bezogene Konzepte wie “descendant” und “node” zu verwenden, um sicherzustellen, dass Claude verstehen würde, wonach ich gesucht habe.
- Zweitens hätte ich auch nicht gewusst, dass ich Javascript-Befehle in der Konsole ausführen kann, wenn ich keine Erfahrung damit hätte.
- Schließlich erforderte das Wissen, welche Klassennamen zu den Selektoren hinzuzufügen sind, auch einige Kenntnisse über die Navigation in der HTML-Struktur.
Trotzdem, eine einzige Eingabeaufforderung zur Lösung eines Problems… was für eine Zeit, in der man lebt!
Fertigstellung der “Willem shared a link”-Wiedergabeliste
Die Durchsicht des zweiten Teils meines Postarchivs ergab weniger Songs für die Wiedergabeliste als im ersten Teil, obwohl die Zeitspanne länger war. In den ersten vier Jahren habe ich 28 musikbezogene Beiträge mit Links zu Songs, Alben und Konzerten erstellt. Seit 2013 habe ich nur noch 16 geteilt. Das ist allerdings keine Überraschung, denn 2016, im Jahr der US-Wahlen und des Cambridge-Analytica-Skandals, war ich deutlich weniger aktiv. Meine Facebook-Aktivität ist 2018 auf fast null gesunken.
Videos, die ich nicht auf Spotify finden konnte oder – in den meisten Fällen – einfach zu schön waren, um sie nicht zu teilen
Zwischen 2013 und 2019 habe ich die meisten Songs auf Facebook in Form von YouTube-Links geteilt. Bei einigen von ihnen konnte ich die Aufnahme nicht auf Spotify finden. Und da die Videos manchmal wichtig sind, teile ich hier alle Links, in aufsteigender chronologischer Reihenfolge:
- Studenten Koor Amsterdam – Carmina Burana (O Fortuna)
Im prächtigen großen Saal der Beurs van Berlage.
Wenn ich mich richtig erinnere, waren wir bei dieser Aufführung nur drei Tenöre.
https://www.youtube.com/watch?v=Tkfo1rXxYP8 …
2013 - SOLEX AHOY – Gelderland
Gemeinsam mit Bandkollege Arne an seinem Geburtstag
https:// www.youtube.com/watch?v=51KMA2MOLBc
2013 - Alabama Shakes – Don’t wanna fight
https://youtu.be/x-5OX7CO26c?si=eYBzVQ9v9lYwhJz6
2015 - Father John Misty – Hotellobby #4
https://www.youtube.com/watch?v=A6NuYJ0RzRg
2015 - Kraftklub – Ich will nicht nach Berlin
Wurde geteilt, als ich bekannt gab, dass ich tatsächlich nach Berlin ziehe.
https://www.youtube.com/watch?v=RhlfIx7t46o
2015 - Element of Crime – Ein Hotdog unten am Hafen
https://www.youtube.com/watch?v=STnSRWMnn7E
2015 - Beck – Debra
https://www.youtube.com/watch?v=OuvR9d73OlI
Geteilt in 2016 - Die Brahms – Homerun
https://www.youtube.com/watch?v=qcHTCnySRoE
2016 - Sesamstraße: Patti Labelle singt das Alphabet
https://www.youtube.com/watch?v=G0hYxuDav0g
2016 - Schwanensee von Jakop Albohm / ICK / Alamo Racetrack
https://www.youtube.com/watch?v=_9_HiW6Em6I
2016 - Jim James – Dieselbe alte Lüge
Geteilt mit einem Zitat aus dem Liedtext
https://www.youtube.com/watch?v=u67Tf0lbgzY
2016 - Orchestre International du Vetex – Funky Wallouks
Geburtstagstanz (über meine Schwester)
https://www.youtube.com/watch?v=ChKM-no8xp0
2017 - Kim André Arnesen – Even When He Is Silent von ‘HXOS Chor Berlin
Ich war Teil dieser Aufführung, für die ich dieses Video auf Facebook geteilt habe, um das Konzert zu bewerben:
https://www.youtube.com/watch?v=S9WfMcK9fC0
2017
Der einzige Track, der mir entgangen ist
Weitere Informationen über das Problem der abgelaufenen Links zu YouTube-Videos und anderen Quellen finden Sie in Teil 1. Interessanterweise werden die Metadaten, die verwendet werden, um eine Vorschau eines Videos in deine Timeline einzubetten , manchmal von Facebook gespeichert. Sie werden jedoch aus dem Aktivitätsarchiv entfernt.
Das bedeutet, dass es sich bei diesem YouTube-Link, der ohne Kontext gepostet wurde, um ein weiteres von mir geteiltes Musikvideo handeln kann oder auch nicht.
- http://youtu.be/57RIlznOpDM (Dezember 2015)
Epilog: Zwischen den Liedern, Spuren meiner eigenen Reaktionen auf prominente Persönlichkeiten der jüngeren Geschichte (und der Gegenwart)
Dieses Facebook-Post-Archiv ermöglichte mir nicht nur eine Zeitreise durch meinen Musikgeschmack, sondern ich entdeckte auch, dass auch ich dazu beigetragen habe, politische und kommerzielle Agenden voranzutreiben, die gerade durch erfolgreiche Social-Media-Kampagnen gediehen sind.
Über Facebook habe ich Inhalte von Menschen geteilt, die einige Jahre später berühmt und berüchtigt werden sollten: Ich habe mich gefreut, positiv und optimistisch über die Absichten von Elon Musk zu schreiben, als ich 2016 ein Video von ihm teilte, in dem er die Tesla Power Wall enthüllte. Ein Jahr zuvor teilte ich einen Beitrag von Boris Johnson über die Zerstörung des kulturellen Erbes in Syrien durch ISIS im Jahr 2015. Das habe ich wohl getan, weil ich mochte, wie er seine Wut über diese Art der Zerstörung formulierte und die Bedeutung dieser antiken Stätten hervorhob. Dabei habe ich den letzten Absatz seines Beitrags völlig übersehen, in dem er dies mit seiner politischen Agenda einer strengen Einwanderungspolitik in der EU in Verbindung bringt.
Wenn es um komplexe politische Themen geht, war ich – und bin es immer noch – naiv gegenüber dem, was ich lese. Da ich mir dessen schmerzlich bewusst bin, habe ich immer gezögert, mich in den sozialen Medien politisch zu äußern. Aber ich bin froh, dass ich gelegentlich aus meiner ironischen, musikbegeisterten Komfortzone herausgetreten bin, so dass ich Jahre später zurückblicken kann, wie sich die Weltereignisse auf mich ausgewirkt haben.
Leave a Reply to Facebook post data as a personal musical time machine – Part 1 (2009-2012) – Willem Prins Cancel reply