13 milyon BlueSky kullanıcısının görselleştirilmesi
(joelgustafson.com)13 milyon BlueSky kullanıcısının görselleştirilmesi
-
Twitter ve BlueSky karşılaştırması
- Twitter, geniş kullanıcı tabanı ve çeşitli yönleri olan büyük bir platformdur.
- BlueSky’nin kullanıcı tabanı son aylarda hızla büyüdü; bu büyümede özellikle Twitter’a yönelik süregelen tepki ve Brezilya’daki Twitter yasağı etkili oldu.
- BlueSky verileri kullanılarak tüm ağ görselleştirilebilir.
-
Veri toplama
- BlueSky, AT protokolü tabanlıdır ve verilerin kişisel veri sunucuları (PDS) üzerinden self-hosting ile barındırılabilmesi için tasarlanmıştır.
- Projede,
bsky.networkWebSocket’i üzerinden olaylar gerçek zamanlı olarak toplanıp SQLite veritabanına kaydediliyor.
-
Grafik render etme
- 13 milyon düğüm ve 500 milyon kenardan oluşan bir grafiği render etmek karmaşık bir iştir.
- Grafiği görselleştirmek için fizik simülasyonuna benzeyen force-directed layout algoritması kullanılır.
- Hesaplama karmaşıklığını azaltmak için Barnes-Hut optimizasyonu kullanılır.
-
Andromeda motoru
- Zig ile geliştirilen çok iş parçacıklı bir motordur; GUI, GTK4 ve OpenGL kullanılarak oluşturulmuştur.
- Gephi ve ForceAtlas2 makalesinden ilham alır ve büyük ölçekli grafik görselleştirmelerinde etkileşime odaklanır.
-
UMAP ile boyut indirgeme
- UMAP, iki boyutlu görselleştirmede güçlü performans gösteren algoritmalardan biridir.
- Daha iyi bir görselleştirme elde etmek için düğüm embedding’leri UMAP’e girdi olarak verilir.
- UMAP’in son aşamasında, düğümler arasındaki mesafeyi ayarlamak için force-directed graph kullanılır.
-
Renk ekleme
- UMAP çıktısına kümeleme algoritmaları uygulanarak renk eklenir.
- k-means clustering kullanılarak her kümeye bir ton atanır ve her düğümün takipçi sayısına göre parlaklık ayarlanır.
-
Sonuçlar ve gelecek planları
- Görselleştirme, büyük kümelerin yoğunluğunu ve yapısını net biçimde gösterir.
- Gelecekte, ekranda görünen hesapların zaman akışını gösteren bir kenar çubuğu eklenmesi planlanıyor.
1 yorum
Hacker News görüşleri