Bluesky firehose’unu ayda 2,50 doların altında tüketmek
(bsky.bad-example.com)- Bluesky’nin herkese açık verileri 15 milyon kullanıcı ölçeğine ulaştı; Jetstream kullanarak ağ olaylarının tamamını gerçek zamanlı alıp deneyler yapabilirsiniz
- WebSocket JSON feed’i biçiminde bir firehose olduğu için tarayıcıdan bile bağlanılabilir; basit gerçek zamanlı veri deneylerine ücretsiz başlanabilir
- Örnek uygulama,
deleteolaylarını algılayıp az önce silinen gönderi metnini anonimleştirilmiş, kaybolan bir feed’de son kez gösteriyor - Üretim ortamı Fly.io üzerinde shared-cpu-1x 256MB RAM makinesi ve 2GB kalıcı volume’dan oluşuyor; maliyetler sırasıyla ayda 1,94 ve 0,30 dolar
- Tüm firehose uygulamalarının bu kadar küçük ölçekte çalışacağı garanti edilemez, ancak bazı gerçek zamanlı tüketim uygulamaları için en küçük instance bile yeterli olabilir
Jetstream ile Bluesky firehose’unu almak
- Bluesky verileri son derece herkese açık; şu anda 15 milyon kullanıcı ölçeğinde herkese açık veri bulunuyor
- Jetstream kullanarak ağda gerçekleşen her şeyi gerçek zamanlı bir WebSocket JSON feed’i olarak alabilirsiniz
- Tarayıcıdan doğrudan firehose’a bağlanıp o anda yayımlanan gönderilerden rastgele kelimeler çeken basit bir deney yapmak da mümkün
Silme olaylarını gösteren küçük bir uygulama
- Deneysel uygulama deletions.bsky.bad-example.com, firehose’taki tüm
deleteolaylarını dinliyor ve az önce silinen metni anonimleştirilmiş, kaybolan bir feed’de gösteriyor - Bu uygulama Bluesky ağı bugünkünden çok daha küçükken yapılmıştı; ağın hızı artık daha da kaotik denebilecek kadar artmış durumda
- Fly.io’nun en küçük instance’ında çalışıyor
- Fly machine, shared-cpu-1x, 256MB RAM: ayda 1,94 dolar
- 2GB Persistent volume: ayda 0,30 dolar
- Çalışma akışı basit bir cache ve silme olayı eşleştirmesinden oluşuyor
app.bsky.feed.postkoleksiyonundaki tüm yenicreate-postolaylarını alır- Boş gönderileri filtreler; mention’lara ve linklere karartma/redaction uygular
- Temizlenmiş metni
did+rkeyanahtarıyla pebbledb’ye kaydeder - Birkaç saniyede bir 48 saatten eski kayıtlı metinleri aralık silme ile temizler
delete-postolayı geldiğinde cache’te metni arar; varsa mevcut gözlemcilere broadcast eder
- Kapsamı küçük olsa da Fly.io’nun en küçük instance’ında kararlı şekilde çalışıyor; bazı daha ilginç uygulamalar da benzer ölçekte işletilebilir
1 yorum
Hacker News yorumları
BlueSky’nin iyi olmasının iki nedeni var: kullanıcı adını kendi web sitesi alan adın olarak kullanabiliyorsun; örneğin @bradgessler.com gibi, ayrıca iOS’te mesajlara görsel kopyalayıp yapıştırma özelliği düzgün çalışıyor.
X/Twitter’da bu uzun süredir bozuktu. Daha pek çok avantajı var ama özellikle bu ikisi hoşuma gidiyor. Başlamak için bir yol gerekiyorsa Ruby hacker’ları için bir başlangıç paketi de hazırladım: https://go.bsky.app/HXB2cPh
Başka başlangıç paketleri ve topluluklar da çok fazla.
did:plctanımlayıcısına eşleniyor veAppView’lar (bsky.app, BlueSky akıllı telefon uygulaması vb.) yalnızca BlueSky’nin sahip olduğu “veritabanı” olan plc.directory’ye bakıyor.Kullanıcı adının gerçek bir alan adı olması için BlueSky’nin
did:webtürü tanımlayıcıları desteklemesi gerekir, ancak şu anda desteklemiyor. Sonuçta kullanıcı adının dahili bir veritabanına eşlenmesi açısından X ile aynı. BlueSky, yatırımcılarına parayı geri ödemek zorunda kalmadan önceki Twitter’a daha çok benziyor; 10 yıl sonra yatırımın geri dönüşüne odaklanırken daha fazla özelliğin bozulacağına bahse girebilirim. ActivityPub tarafına biraz önyargılı olsam da BlueSky’nin mimarisinin daha iyi olduğunu kabul ediyorum.11 yıl önce kullanıcıların katılmak için doğrulanmış bir alan adına sahip olmasını gerektiren bir sosyal medya toplayıcısı yapmıştım; alan adını kullanıcı adı olarak kullanıyor ve sosyal medya profillerini o alan adıyla doğruluyordu. O zamanki Show HN: https://news.ycombinator.com/item?id=6529523
Komik görünebilir ama sonunda BlueSky kullanmamamın nedeni emoji alan adlarını desteklememesiydi.
bsky firehose gerçekten eğlenceli ve 2005’e dönmüşüm gibi nostaljik bir his veriyor.
Geçen hafta sonu bunu kullanarak oldukça silly küçük bir şey yaptım: https://bigmood.blue/
Sorunun gösterim biçiminden kaynaklandığını varsayarsak, aynı benzersiz görsel kısa süre içinde çok kez tekrarlanıyormuş gibi görünüyor. Kuyruk boşaldıkça daha yavaş boşaltılan bir yöntem (ör. 0.5s/numInQueue; son öğe en az 0,5 saniye bekler ve kuyruğa bir sonraki öğenin girmesini bekler) akışı daha tutarlı hale getirebilir, boş ekranı ve tekrarları azaltabilir. Görsellerin özgün en-boy oranını koruması da iyi olurdu.
Biraz daha uzun izlenebilirse harika bir deney olurdu.
Eski Twitter’ın güzel günlerine dönmüş gibi hissettiriyor. O zamanlar API üzerinde bir şeyler yapıp deneyebiliyordun.
Eskiden bir yarışma kazanan bir bot bile yapmıştım: https://theexceptioncatcher.com/blog/2015/11/how-i-got-my-bo...
Harika bir özellik ve siyasi duruşu bir kenara bıraksak bile BlueSky’yi desteklemek için X’e kıyasla büyük bir neden sunuyor.
BlueSky’nin ya da üçüncü tarafların çeşitli dump’ları zip dosyası olarak sağlayıp sağlamadığını da merak ediyorum. Sunucu yükünü azaltmak için bu daha iyi olur gibi.
Eskiden sıradan geliştiricilerin de erişebildiği dönemde Twitter’ın firehose’uyla oynamak eğlenceliydi. Bu fikrin geri döndüğünü görmek heyecan verici.
Bu harika. Elon sonrası Twitter’ın getirdiği kilitli yeni API kurallarıyla keskin bir tezat oluşturuyor.
Twitter’ın tüm otomasyonlarımı bozup benden ayda 100 dolar istemesine hâlâ kızgınım. Sanırım şimdi 200 dolara kadar çıkmış.
Bu neredeyse araba kredisi ödemem kadar. Sıradan bir bireyin haklı çıkarabileceği bir miktar değil.
Yakın gelecekte bu verinin bir tür AI/LLM eğitim verisi olacağını hissediyorum.
Tek kelimelik firehose demosu harika. Yaratıcı insanların bununla gerçekten çok güzel şeyler yapabileceğini düşünüyorum.
Twitter’da önemli bir hesabım var ve oraya gönderileri, düşünceleri, bağlantıları, duyuruları vb. manuel olarak koyuyorum.
Threads ve Bluesky’ye otomatik çapraz paylaşım yapmanın bir yolunu aradım ama bulamadım. Önerebileceğiniz bir yöntem var mı?