4 Punkte von GN⁺ 2024-12-16 | 1 Kommentare | Auf WhatsApp teilen
  • GitHub-Projektkarte

  • Eine Karte, die mehr als 400.000 GitHub-Projekte visualisiert. Jeder Punkt steht für ein einzelnes Projekt; Projekte mit vielen gemeinsamen Stargazern liegen näher beieinander.

  • Wie wurde sie erstellt?

    • Im ersten Schritt wurden mithilfe eines öffentlichen Datensatzes von GitHub-Aktivitätsereignissen Daten darüber gesammelt, welche Nutzer welchen Repositories Sterne gegeben haben. Unter Berücksichtigung der Ereignisse von Januar 2020 bis März 2023 wurden mehr als 350 Millionen Stern-Datenpunkte gewonnen.

    • Im zweiten Schritt wurde die exakte Jaccard-Ähnlichkeit zwischen den einzelnen Repositories berechnet. Auf einem PC mit 24 GB RAM war das kaum zu verarbeiten, doch mit einer AWS-EC2-Instanz mit 512 GB RAM ließ es sich in wenigen Stunden erledigen.

    • Im dritten Schritt wurden mehrere Clustering-Algorithmen verwendet, um die Repositories zu gruppieren. Bevorzugt wurde Leiden-Clustering, wodurch mehr als 1000 Cluster entstanden.

    • Im vierten Schritt wurde mit ngraph.forcelayout das Layout der Knoten innerhalb der Cluster berechnet; mit einer separaten Konfiguration wurde zusätzlich das globale Layout der Cluster erzeugt.

    • Im fünften Schritt wurde die Karte gerendert. Anders als bei früheren Projekten wurde maplibre verwendet, die Daten in das GeoJSON-Format umgewandelt und mit tippecanoe Kacheln erzeugt, um die Browser-Umgebung aufzubauen.

  • Ländernamen

    • Viele Länderbeschriftungen wurden mit Hilfe von ChatGPT erzeugt. Falls etwas falsch ist, wäre ich dankbar, wenn du per Rechtsklick eine Korrektur vornimmst und einen Pull Request schickst.
  • Geocoding?

    • Um das Suchfeld zu implementieren, wurden einfach alle Repositories gedumpt und nach dem ersten Buchstaben (oder dem Namen des Autors) indexiert. Wenn man im Suchfeld a eingibt, werden alle Repositories gefunden, die mit a beginnen, und clientseitig mit einem Fuzzy Matcher angezeigt.
  • Design

    • Bei diesem Projekt ist mir die Darstellung der Daten wichtiger als das Kartendesign. Wenn du Erfahrung mit Kartendesign hast oder eine starke gestalterische Vision mitbringst, teile sie gern. Es wird nach einem Stil gesucht, der zu den Daten passt.
  • Unterstützung

    • Wenn du dieses Projekt nützlich findest, tritt bitte der Support-Gruppe bei. Wenn du Hilfe zum Projekt brauchst oder Fragen hast, eröffne ein Issue oder kontaktiere mich auf Twitter.

    • Vielen Dank an die Freunde und Unterstützer, die beim Start des Projekts geholfen haben: Ryan, Andrey, Alex, Dmytro. Ihr seid großartig!

    • Danke an meine geliebte Tochter Louise, die das Logo dieses Projekts erstellt hat. Ich hab dich lieb!

    • Unendlicher Dank an alle Open-Source-Mitwirkenden, die dieses Projekt möglich gemacht haben. Ich stehe auf den Schultern von Giganten.

  • Lizenz

    • Dieses Repository wird unter der MIT-Lizenz veröffentlicht. Wenn du die Daten in deiner eigenen Arbeit verwendest, gib bitte dieses Projekt als Quelle an.

1 Kommentare

 
GN⁺ 2024-12-16
Hacker-News-Kommentare
  • Es gibt die Meinung, dass es überraschend ist, dass Rustland klein ist und nur einer Woche von Clouderra entspricht

    • Es ist interessant, dass Bevy und Veloren in Rustland liegen
    • Es wirkt, als würde die Rust-Community mehr Sterne vergeben als die Game-Development-Community
    • Das Rust-Ökosystem ist noch klein, und es fühlt sich so an, als würden viele Leute gerade etwas mit Rust machen
  • Es macht Spaß als Minispiel, bestimmte Projekte allein über die Karte und ohne Suchfunktion zu finden

  • Es ist interessant, dass torvalds/linux in Fronterra liegt, neben JS-Projekten, awesome-X-Listen und Frontend-Checklisten

    • Man fragt sich, ob Kernel-Hacker Frontends mögen oder ob sich die Leute, die GitHub-Projekten Sterne geben, kaum mit den eigentlichen Code-Autoren überschneiden
  • Der Name des Among-Us-Abschnitts, "Sussex", war lustig

  • Es herrscht Verwirrung darüber, ob die Metapher mit Ländern/Karten wirklich die beste Wahl ist

    • Oft sind die Namen nicht klar genug, sodass man hineinzoomen muss, um sie zu verstehen
    • Es könnte interessanter sein, per hierarchischem Clustering die durchschnittliche Verbundenheit zwischen (Super-)Clustern mit Linien darzustellen
    • Für jeden Cluster wären beschreibendere und treffendere, von einem LLM erzeugte Labels möglicherweise besser
  • Die ungewöhnliche Namenswahl "Homelabia" ist amüsant

  • Es gab eine frühere Diskussion

    • Ein Link zu einer Diskussion aus dem Jahr 2023 wird bereitgestellt
  • Man fragt sich, wie die Verbindungen zwischen den Repositories bestimmt werden

    • Beim Prüfen des eigenen Repositories sind die Referenzen für die Verbindung nicht in beide Richtungen sichtbar