2 puan yazan GN⁺ 2024-11-17 | 1 yorum | WhatsApp'ta paylaş
  • 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, delete olayları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 delete olayları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.post koleksiyonundaki tüm yeni create-post olaylarını alır
    • Boş gönderileri filtreler; mention’lara ve linklere karartma/redaction uygular
    • Temizlenmiş metni did+rkey anahtarıyla pebbledb’ye kaydeder
    • Birkaç saniyede bir 48 saatten eski kayıtlı metinleri aralık silme ile temizler
    • delete-post olayı 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

 
GN⁺ 2024-11-17
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.

    • Daha önemlisi, söz konusu alan adına sahip olduğunuzu doğrulamanız gerekiyor. google.com ile kaydolamazsınız.
    • Bu mantık X için de geçerli. BlueSky’de alan adı doğrulaması DNS üzerinden did:plc tanımlayıcısına eşleniyor ve AppView’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:web tü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.
    • Alan adını kullanıcı adı olarak kullanma özelliği yüzünden ilk başta BlueSky bekleme listesine girmiştim.
      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.
    • Threads ve Mastodon gibi ilerleyecek gibi görünüyor. Sonuç en fazla ılık olacaktır, ama keyif alıyorsan ne mutlu.
  • 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/

    • Oldukça hoş, beğendim. Siyah ekran ve tekrar eden görseller yerine üstel backoff kuyruğu gibi bir şey olursa daha temiz görünebilir.
      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.
    • Fikir iyi ama yanıp sönme çok hızlı. Firehose’u doğrudan göstermek yerine her 1 saniyede rastgele bir tane seçmek daha iyi olabilir.
    • Yanıp sönmeyi azaltmanın bir yolu var mı? Epilepsim yok ve önce uyarı gösterdiğin için teşekkürler, ama yaklaşık 2 saniye sonra hâlâ epey rahatsız edici.
      Biraz daha uzun izlenebilirse harika bir deney olurdu.
    • Tam uyan bir soundtrack var (yanıp sönen ışık uyarısı): https://www.youtube.com/watch?v=wNtxgxYY7sI&t=66s
    • “2005’e dönmüşüm gibi nostaljik bir his”ten çok, insanları platforma yatırım yapmaya yönlendirip kilitledikten sonra ücretlendirmeye çalışma akışı gibi geliyor.
  • 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.

    • Sonuç yalnızca iki seçenekten biri. Ya herkes erişebilir ya da yalnızca birkaç büyük şirket erişebilir. İdeal olmasa da ilki çok daha iyi.
    • Veri erişim hakkının yalnızca birkaç büyük şirkette olmasındansa herkese açık olması daha iyi.
    • Adil olmak gerekirse, CCTV kamerası olan bir sokakta yürümek bile zaten bir yapay zekanın eğitim verisi olmanız anlamına geliyor olabilir.
    • Araştırmacılar muhtemelen LLM kusmuğuyla kirlenmemiş eski verileri isteyecektir.
  • 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ı?

    • Bence bu da ayrı bir sorun. Sosyal medya verilerini taşımanın pratik bir yolu yok; çünkü mümkün olursa çoğunlukla kötüye kullanılacaktır.
    • Birden fazla yere paylaşım yapmayı sağlayan uygulamalar arasında OpenVibe ve Yup var.