Mengonsumsi firehose Bluesky dengan biaya di bawah $2,50 per bulan
(bsky.bad-example.com)- Data publik Bluesky telah berkembang hingga skala 15 juta pengguna, dan dengan Jetstream, Anda bisa menerima seluruh event jaringan secara real-time untuk bereksperimen
- Karena firehose ini berbentuk feed JSON WebSocket, Anda bisa terhubung bahkan dari browser, dan eksperimen sederhana dengan data real-time dapat dimulai secara gratis
- Aplikasi contoh mendeteksi event
deletedan menampilkan untuk terakhir kalinya teks postingan yang baru saja dihapus di feed menghilang yang dianonimkan - Lingkungan operasionalnya adalah mesin shared-cpu-1x 256MB RAM di Fly.io dengan volume persisten 2GB; biayanya masing-masing $1,94 dan $0,30 per bulan
- Tidak ada jaminan bahwa semua aplikasi firehose dapat berjalan sekecil ini, tetapi beberapa aplikasi konsumsi real-time bisa dioperasikan cukup dengan instans minimal
Menerima firehose Bluesky dengan Jetstream
- Data Bluesky sangat publik, dan saat ini ada data publik berskala 15 juta pengguna
- Dengan Jetstream, Anda bisa menerima semua hal yang terjadi di jaringan sebagai feed JSON WebSocket real-time
- Anda juga bisa langsung terhubung ke firehose dari browser dan melakukan eksperimen sederhana seperti mengambil kata acak dari tulisan yang sedang diposting
Aplikasi kecil yang menampilkan event penghapusan
- Aplikasi eksperimen deletions.bsky.bad-example.com mendengarkan semua event
deletedari firehose dan menampilkan teks yang baru saja dihapus di feed menghilang yang dianonimkan - Aplikasi ini dibuat ketika jaringan Bluesky masih jauh lebih kecil, dan kini kecepatan jaringan sudah menjadi jauh lebih cepat hingga terasa lebih kacau
- Berjalan di instans terkecil Fly.io
- Fly machine, shared-cpu-1x, 256MB RAM: $1,94 per bulan
- 2GB Persistent volume: $0,30 per bulan
- Alur kerjanya terdiri dari cache sederhana dan pencocokan event penghapusan
- Menerima semua event
create-postbaru dari koleksiapp.bsky.feed.post - Menyaring postingan kosong, lalu menerapkan redaction pada mention dan tautan
- Menyimpan teks yang telah dibersihkan ke pebbledb dengan kunci
did+rkey - Setiap beberapa detik, menghapus secara rentang teks tersimpan yang lebih lama dari 48 jam
- Ketika event
delete-postdatang, mencari teks di cache dan, jika ada, menyiarkannya ke para pengamat saat ini
- Menerima semua event
- Cakupan fiturnya kecil, tetapi berjalan stabil di instans minimal Fly.io, dan beberapa aplikasi yang lebih menarik juga bisa dioperasikan pada skala serupa
1 komentar
Komentar di Hacker News
Ada dua alasan mengapa BlueSky bagus: nama pengguna bisa memakai domain situs web saya, jadi bisa seperti @bradgessler.com, dan fitur menyalin lalu menempel gambar ke pesan di iOS berfungsi dengan baik
Di X/Twitter, ini sudah rusak sejak lama. Ada lebih banyak kelebihan, tetapi dua hal ini terasa sangat bagus. Kalau butuh jalur untuk mulai, saya juga sudah membuat starter pack untuk peretas Ruby: https://go.bsky.app/HXB2cPh
Ada banyak sekali starter pack dan komunitas lain juga
did:plc, danAppView(bsky.app, aplikasi ponsel BlueSky, dll.) hanya melihat plc.directory, “database” milik BlueSkyAgar nama pengguna benar-benar menjadi nama domain, BlueSky harus mendukung identifier jenis
did:web, tetapi saat ini belum begitu. Pada akhirnya, dalam hal nama pengguna dipetakan ke database internal, ini sama saja dengan X. BlueSky lebih mirip Twitter sebelum harus mengembalikan uang kepada investor, dan saya berani bertaruh bahwa 10 tahun lagi lebih banyak fiturnya akan rusak karena mereka fokus mengejar pengembalian investasi. Saya memang agak condong ke ActivityPub, tetapi saya akui arsitektur BlueSky lebih baik11 tahun lalu, saya membuat agregator media sosial yang mengharuskan pengguna punya domain terverifikasi untuk mendaftar; caranya memakai domain sebagai nama pengguna dan mengautentikasi profil media sosial dengan domain itu. Show HN waktu itu: https://news.ycombinator.com/item?id=6529523
Ini mungkin terdengar konyol, tetapi alasan saya akhirnya tidak memakai BlueSky adalah karena mereka tidak mendukung domain emoji
bsky firehose benar-benar menarik, dan ada rasa nostalgia seperti kembali ke tahun 2005
Akhir pekan lalu saya memakai ini untuk membuat hal kecil yang sangat silly: https://bigmood.blue/
Dengan asumsi ini masalah cara tampilan, terlihat seperti gambar unik yang sama berulang berkali-kali dalam waktu singkat. Kalau antrean dikosongkan makin lambat saat hampir habis (misalnya 0.5s/numInQueue, elemen terakhir menunggu minimal 0,5 detik dan menunggu elemen berikutnya masuk antrean), alurnya akan lebih stabil, dan layar kosong maupun pengulangan akan berkurang. Akan bagus juga kalau gambar mempertahankan rasio aspek aslinya
Kalau bisa dilihat sedikit lebih lama, ini akan jadi eksperimen yang keren
Rasanya seperti kembali ke masa-masa indah Twitter dulu. Saat itu kita bisa membuat sesuatu dan bereksperimen dengan API
Dulu saya bahkan pernah membuat bot yang menang kompetisi: https://theexceptioncatcher.com/blog/2015/11/how-i-got-my-bo...
Ini fitur yang keren, dan bahkan terlepas dari posisi politik, ini menjadi alasan besar untuk mendukung BlueSky dibanding X
Saya juga penasaran apakah BlueSky atau pihak ketiga menyediakan berbagai jenis dump sebagai file zip. Sepertinya itu akan lebih baik untuk mengurangi beban server
Dulu menyenangkan bermain-main dengan firehose Twitter ketika developer biasa masih bisa mengaksesnya. Senang melihat ide itu kembali
Ini keren. Kontras sekali dengan aturan API baru yang terkunci dari Twitter setelah Elon
Saya masih kesal karena Twitter merusak semua otomasi saya lalu meminta 100 dolar per bulan. Sekarang sepertinya sudah naik sampai 200 dolar
Itu sudah setara cicilan mobil saya. Bukan jumlah yang bisa dibenarkan oleh orang biasa
Saya merasa dalam waktu dekat data ini akan menjadi semacam data pelatihan AI/LLM
Demo firehose satu kata itu luar biasa. Saya rasa orang-orang kreatif bisa membuat banyak hal yang benar-benar keren dengan ini
Saya punya akun penting di Twitter, dan saya secara manual memposting tulisan, pemikiran, tautan, pengumuman, dan sebagainya di sana
Saya sudah mencoba mencari cara untuk melakukan cross-post otomatis ke Threads dan Bluesky, tetapi belum menemukannya. Ada rekomendasi?