Bluesky-Firehose für weniger als 2,50 $ pro Monat konsumieren
(bsky.bad-example.com)- Die öffentlichen Daten von Bluesky sind inzwischen auf 15 Millionen Nutzer angewachsen, und mit Jetstream kann man alle Netzwerkereignisse in Echtzeit empfangen und damit experimentieren
- Da es sich um eine Firehose in Form eines WebSocket-JSON-Feeds handelt, kann man sich auch im Browser verbinden; einfache Experimente mit Echtzeitdaten lassen sich kostenlos starten
- Die Beispiel-App erkennt
delete-Ereignisse und zeigt den Text gerade gelöschter Posts ein letztes Mal anonymisiert in einem verschwindenden Feed an - Die Produktionsumgebung besteht aus einer shared-cpu-1x 256MB RAM-Machine bei Fly.io und einem persistenten 2-GB-Volume; die Kosten betragen 1,94 $ bzw. 0,30 $ pro Monat
- Es lässt sich nicht garantieren, dass alle Firehose-Apps so klein laufen, aber manche Echtzeit-Konsumenten-Apps können schon mit einer Minimalinstanz ausreichend betrieben werden
Die Bluesky-Firehose mit Jetstream empfangen
- Bluesky-Daten sind sehr öffentlich; derzeit gibt es öffentliche Daten im Umfang von 15 Millionen Nutzern
- Mit Jetstream kann man alles, was im Netzwerk passiert, als WebSocket-JSON-Feed in Echtzeit empfangen
- Es ist auch möglich, sich direkt im Browser mit der Firehose zu verbinden und einfache Experimente durchzuführen, etwa zufällige Wörter aus aktuell veröffentlichten Beiträgen zu ziehen
Eine kleine App, die Löschereignisse zeigt
- Die Experimentier-App deletions.bsky.bad-example.com lauscht auf alle
delete-Ereignisse aus der Firehose und zeigt gerade gelöschte Texte anonymisiert in einem verschwindenden Feed an - Die App wurde erstellt, als das Bluesky-Netzwerk noch viel kleiner war; inzwischen ist die Netzwerkgeschwindigkeit deutlich höher und wirkt chaotischer
- Sie läuft auf der kleinsten Instanz von Fly.io
- Fly machine, shared-cpu-1x, 256MB RAM: 1,94 $ pro Monat
- 2GB Persistent volume: 0,30 $ pro Monat
- Der Ablauf besteht aus einem einfachen Cache und dem Abgleich von Löschereignissen
- Sie empfängt alle neuen
create-post-Ereignisse der Collectionapp.bsky.feed.post - Sie filtert leere Posts heraus und wendet auf Erwähnungen und Links eine Redaction an
- Der bereinigte Text wird mit
did+rkeyals Schlüssel in pebbledb gespeichert - Alle paar Sekunden werden gespeicherte Texte, die älter als 48 Stunden sind, per Range Delete gelöscht
- Wenn ein
delete-post-Ereignis eintrifft, sucht sie den Text im Cache und sendet ihn, falls vorhanden, an die aktuellen Beobachter
- Sie empfängt alle neuen
- Der Funktionsumfang ist klein, aber die App läuft stabil auf der Minimalinstanz von Fly.io; einige interessantere Apps könnten in ähnlicher Größenordnung betrieben werden
1 Kommentare
Hacker-News-Kommentare
Es gibt zwei Gründe, warum BlueSky großartig ist: Man kann den Benutzernamen als Domain der eigenen Website verwenden, also etwa @bradgessler.com, und auf iOS funktioniert das Kopieren und Einfügen von Bildern in Nachrichten gut.
Bei X/Twitter war das schon seit Langem kaputt. Es gibt noch viele weitere Vorteile, aber diese beiden stechen für mich besonders hervor. Falls jemand einen Einstieg sucht: Ich habe auch ein Starter Pack für Ruby-Hacker erstellt: https://go.bsky.app/HXB2cPh
Es gibt außerdem sehr viele andere Starter Packs und Communities
did:plc-Bezeichner gemappt, und dieAppViews (bsky.app, die BlueSky-Smartphone-App usw.) fragen nur plc.directory ab, also die „Datenbank“ von BlueSky.Damit der Benutzername tatsächlich ein echter Domainname wäre, müsste BlueSky Identifikatoren vom Typ
did:webunterstützen, was derzeit nicht der Fall ist. Letztlich ist es also genauso wie bei X, insofern der Benutzername auf eine interne Datenbank gemappt wird. BlueSky fühlt sich eher wie Twitter an, bevor Geld an Investoren zurückfließen musste, und ich würde darauf wetten, dass in zehn Jahren noch mehr Funktionen kaputtgehen, weil man sich dann auf die Rendite für Investoren konzentriert. Ich bin zwar etwas in Richtung ActivityPub voreingenommen, erkenne aber an, dass die Architektur von BlueSky besser istVor 11 Jahren habe ich einen Social-Media-Aggregator gebaut, bei dem man sich nur mit einer verifizierten Domain anmelden konnte; die Domain diente als Benutzername und authentifizierte darüber das Social-Media-Profil. Damals Show HN: https://news.ycombinator.com/item?id=6529523
Das klingt vielleicht albern, aber am Ende habe ich BlueSky nicht genutzt, weil Emoji-Domains nicht unterstützt werden
Der bsky firehose macht wirklich Spaß und hat so eine nostalgische Stimmung, als wäre man wieder im Jahr 2005.
Ich habe letztes Wochenende damit etwas sehr Kleines und Albernes gebaut: https://bigmood.blue/
Wenn es ein Problem der Darstellung ist, wirkt es so, als würden sich dieselben eindeutigen Bilder in kurzer Zeit stark wiederholen. Wenn die Queue beim Leerlaufen immer langsamer geleert würde (z. B. 0,5s/numInQueue, und beim letzten Element mindestens 0,5 Sekunden warten und auf das nächste Element in der Queue warten), wäre der Fluss vermutlich gleichmäßiger und es gäbe weniger leere Bildschirme und Wiederholungen. Es wäre auch gut, wenn Bilder ihr ursprüngliches Seitenverhältnis behalten würden
Wenn man es etwas länger ansehen könnte, wäre es ein tolles Experiment
Es fühlt sich an wie die guten alten Zeiten von Twitter. Damals konnte man etwas gegen die API bauen und damit experimentieren.
Ich habe früher sogar mal einen Bot gebaut, der einen Wettbewerb gewonnen hat: https://theexceptioncatcher.com/blog/2015/11/how-i-got-my-bo...
Das ist ein cooles Feature und selbst ohne politische Haltung ein starker Grund, BlueSky gegenüber X zu unterstützen.
Ich frage mich auch, ob BlueSky oder Dritte verschiedene Arten von Dumps als ZIP-Dateien anbieten. Das wäre für die Serverlast vielleicht besser
Früher hat es Spaß gemacht, mit dem Firehose von Twitter zu spielen, als normale Entwickler noch Zugriff darauf hatten. Es freut mich, diese Idee zurückkommen zu sehen
Das ist cool. Ein krasser Kontrast zu den abgeriegelten neuen API-Regeln von Twitter seit Elon
Ich bin immer noch wütend darüber, dass Twitter meine ganze Automatisierung kaputtgemacht und dann 100 Dollar im Monat verlangt hat. Inzwischen sind es, glaube ich, 200 Dollar.
Das ist ungefähr auf dem Niveau meiner Autokreditrate. Für eine normale Privatperson ist das nicht zu rechtfertigen
Ich habe das Gefühl, dass diese Daten in naher Zukunft irgendein Trainingsdatensatz für AI/LLMs werden
Die Demo mit dem einwortigen Firehose ist großartig. Kreative Leute werden damit wahrscheinlich viele wirklich coole Dinge bauen
Ich habe einen wichtigen Account auf Twitter und poste dort manuell Beiträge, Gedanken, Links und Ankündigungen.
Ich habe nach einer Möglichkeit gesucht, automatisch auf Threads und Bluesky querzuposten, aber nichts gefunden. Kann jemand eine Methode empfehlen?