4 puan yazan GN⁺ 2024-12-16 | 1 yorum | WhatsApp'ta paylaş
  • GitHub proje haritası

  • 400.000'den fazla GitHub projesini görselleştiren bir harita. Her nokta bir projeyi temsil eder ve ortak stargazer sayısı fazla olan projeler birbirine daha yakın konumlanır.

  • Nasıl yapıldı?

    • İlk adımda, hangi kullanıcının hangi depoya yıldız verdiğini toplamak için GitHub etkinlik olaylarının herkese açık veri kümesi kullanıldı. Ocak 2020 ile Mart 2023 arasındaki olaylar dikkate alınarak 350 milyondan fazla yıldız verisi elde edildi.

    • İkinci adımda, her depo çifti arasındaki tam Jaccard benzerliği hesaplandı. Bu işlem 24GB RAM'e sahip kişisel bir bilgisayarda zorlayıcıydı, ancak 512GB RAM'li bir AWS EC2 instance'ı kullanılarak birkaç saat içinde tamamlandı.

    • Üçüncü adımda, depoları gruplamak için bazı kümeleme algoritmaları kullanıldı. En çok Leiden kümelemesi tercih edildi ve 1000'den fazla küme oluşturuldu.

    • Dördüncü adımda, kümeler içindeki düğümlerin yerleşimini hesaplamak için ngraph.forcelayout kullanıldı; ayrıca kümelerin genel yerleşimini elde etmek için ayrı bir yapılandırma uygulandı.

    • Beşinci adımda ise harita render edildi. Önceki projelerden farklı olarak, veriler GeoJSON biçimine dönüştürülmek için maplibre ile işlendi ve tippecanoe kullanılarak tile'lar üretildi; böylece gezinme ortamı kuruldu.

  • Ülke isimleri

    • Birçok ülke etiketi ChatGPT'nin yardımıyla oluşturuldu. Hatalı bir kısım varsa sağ tıklayıp düzeltmeniz ve bir pull request göndermeniz memnuniyetle karşılanır.
  • Geocoding?

    • Arama kutusunu uygulamak için tüm depolar basitçe dump edilip ilk harfe (veya yazarın adına) göre indekslendi. Arama kutusuna a yazarsanız, a ile başlayan tüm depolar bulunur ve istemci tarafında bir fuzzy matcher ile gösterilir.
  • Tasarım

    • Bu projenin veri temsilini, harita tasarımından daha çok beğeniyorum. Harita tasarımı konusunda deneyiminiz ya da harika bir tasarım vizyonunuz varsa, lütfen çekinmeden paylaşın. Veriye uygun bir stil aranıyor.
  • Destek

    • Bu projenin faydalı olduğunu düşünüyorsanız destek grubuna katılın. Projeyle ilgili yardıma ihtiyacınız varsa veya sorularınız varsa issue açın ya da Twitter üzerinden iletişime geçin.

    • Projeyi başlatmama yardımcı olan arkadaşlarıma ve destekçilerime teşekkür ederim: Ryan, Andrey, Alex, Dmytro. Harikasınız!

    • Bu projenin logosunu hazırlayan sevgili kızım Louise'e teşekkür ederim. Seni seviyorum!

    • Bu projeyi mümkün kılan tüm açık kaynak katkıcılarına sonsuz teşekkürler. Devlerin omuzlarında duruyorum.

  • Lisans

    • Bu depo MIT lisansı altında yayımlanmıştır. Verileri kendi çalışmanızda kullanırsanız, lütfen bu projeye atıfta bulunun.

1 yorum

 
GN⁺ 2024-12-16
Hacker News görüşleri
  • Rustland'ın küçük olmasına ve Clouderra'nın yalnızca bir haftalık olmasına şaşıran bir görüş var

    • Bevy ve Veloren'in Rustland'da olması ilginç
    • Rust topluluğu oyun geliştirme topluluğundan daha fazla yıldız veriyor gibi görünüyor
    • Rust ekosistemi hâlâ küçük ve birçok insanın Rust ile bir şeyler yaptığı hissi var
  • Belirli projeleri arama özelliği olmadan yalnızca haritaya bakarak bulmanın bir mini oyun gibi eğlenceli olduğu söyleniyor

  • torvalds/linux'un Fronterra'da yer alması ve JS projeleri, awesome-X listeleri ve frontend checklist'in yanında bulunması ilginç

    • Çekirdek hacker'larının frontend'i sevip sevmediği ya da GitHub projelerine yıldız verenlerin kodu yazanlarla çok fazla örtüşüp örtüşmediği merak ediliyor
  • Among Us bölümünün adının "Sussex" olması komikti

  • Ülke/harita metaforunun en iyi tercih olup olmadığı konusunda kafa karışıklığı var

    • İsimler yeterince açık olmadığı için çoğu zaman anlamak adına yakınlaştırmak gerekiyor
    • Hiyerarşik kümeleme ile (süper)kümeler arasındaki ortalama bağlantısallığı çizgilerle göstermek daha ilginç olabilir
    • Her küme için daha açıklayıcı ve aslına daha sadık, LLM tarafından üretilmiş etiketler kullanmak iyi olabilir
  • "Homelabia" gibi sıra dışı bir isim seçimi eğlenceli bulundu

  • Daha önce de bir tartışma vardı

    • 2023'teki tartışmanın bağlantısı verilmiş
  • Depolar arasındaki bağlantıların nasıl belirlendiği merak ediliyor

    • Kendi deposunu kontrol ettiğinde, bağlantıya dair referansların iki yönlü olarak görünmediği söyleniyor