Hundreds of millions of stars turned into a map of GitHub projects
anvaka.github.io
anvaka.github.io
I guess my little project is too small to make it, but now I too aspire to join the great nation of Golandia.
I am also puzzled myself why the algorithm has separated Fronterra from another large island to the west, seemingly related to node and some other JS libraries. Decided to keep it all as is in case I'm missing some reason
I found my journal repositories in the "Land of Node" in "Frontartia". I am surprised by that because I didn't realise I was associated with the node community!
I am so impressed with your visualization, it is intuitive and interesting the different communities of GitHub.
I'm puzzled by some countries in Frontartia's island too. I'm not sure why it was even pulled away, as if there is something I'm missing.
What does it mean if, I click on a repo, and it shows 5-6 links to specific projects? Does that just mean the jaccard similarity index was below a threshold?
Note that I'm not rendering direct links outside of the country yet, there might be more there. Will probably add a "focused" view to see those better
How it was constructed (also really interesting) is described at the repo:
https://anvaka.github.io/map-of-github/#12/13.469/-8.175
It should be Lispaña.
Some say it's a cancer others say it's inevitable and here to stay. Probably both are right.
Also, why is Swiftoria so big?
The connections are inferred from stargazers. If they lead to different set of related projects it might be a sign that different group of people gave stars different things at that time.
Github of course has much more dimensions than a flat 2d surface can show
Note that some country are missing their names because I didn't have enough knowledge to assign a name to them.
Here is my naming process if anyone wants to help with the rest: https://github.com/anvaka/map-of-github#country-names
But ClickHouse itself somehow appears in Kubernation, and ClickBench - in Datapolis. Nice names btw.
It could be a curse or popularity? Some projects are so popular that you can place them nearly anywhere, and they would still find a lot of densely connected group of neighbors
> A lot of country labels were generated with help of ChatGPT. If you find something wrong, you can right click it, edit, and send a pull request - I'd be grateful.
There are a lot of interests that I didn't know exist. For example https://github.com/cat-milk/Anime-Girls-Holding-Programming-... - someone collects anime girls holding programming books.
https://github.com/tylertreat/Comcast - and here is someone who is amazing at coming up with funny project names =)
How long did it take to calculate the Leiden clustering and the force-layout? Do you think it would be somehow possible to compute a force-layout of the whole graph?
If you work on a dynamic version that allows users to understand changes in the open-source topography over time and detect/predict new clusters, this could be a very powerful tool for investment intelligence.
I bet that several of these regions have a common image in their readme (the python logo, the nix logo, etc). Imagine little flags popping out of each region...
I would also love to have a giant octocat hugging the archipelago, with some radial gradient emitting inside of it. Alas my design-gl foo is not there yet
I was waiting for about 10 minutes wondering how big these indexes were...
Seems like a really overreaching power. Wait, never mind, that makes sense.
Though I noticed a couple of odd groupings - like that MicroPython was clustered in Arduinoria rather than the adjacent MicroPythonia... :P
Also neat to see how bioinformatics is such a splitbrained community. They land next to R but are filled with Python projects.
Then I clicked and I realized that it is the opposite way, in reverse. And then this realization brought a smile on my face.
I know this because I moved visionmedia/debug to debug-js/debug in November of 2021.
https://cloud.google.com/blog/topics/public-datasets/github-...
It explains the full pipeline - how to download, collect, and analyze this sort of data.
But how do I zoom in/out?