The Interactive Map Of Github
Written by Nikos Vaggalis   
Friday, 09 June 2023

The Map Of Github lays out Github as a Graph. This gives rise to a few interesting and valuable properties. Let's discover them.

The maker, Andrei Kashcha, has refined the Graph at different levels. At the first level he filtered the repos out according to the number of stars each repo is has accumulated.

In the second phase he computed the exact Jaccard Similarity between each repository, while in the third phase he used a few clustering algorithms to merge repositories together.

In the fourth phase he used his force directed graph layout algorithm, that works in any dimension (2D, 3D, and above), to compute the layouts of the nodes inside the clusters. Finally he rendered the map using maplibre.

The end result was a map comprising more than 400,000 projects, clustered into 1,100 "countries". Each project is represented as a dot and dots are close to each other if they have a lot of common stargazers.

GHMap map

When you first look at the map you encounter the most most wide grouping, the Countries. So there is ServerlessLand, PostgresLand, Clouderra, Kubernation, Pythonia, Javaland etc. If you find the names a bit of fun or fantastic this is because they were generated by ChatGPT.

Let's pick Javaland and zoom into it. Immediately we get an overview of the most popular Java-related repos. This includes Spring Boot, Java design patterns, Interviews and Guava.
As you zoom further, second level projects are revealed. The list includes Zookeeper, Quartz, MyBatis etc.

 

 

 

Picking Spring Boot, you get presented with a spider web that depicts the project's connections to related projects.
If that graph outlook wasn't enough, you can also list the connections in navigable hyperlinks.

So for Spring Boot we get 39 direct connections. Some of them are :

  • TheAlgorithms/Java
  • eugenp/tutorials
  • spring-projects/spring-petclinic
  • akullpp/awesome-java
  • kdn251/interviews
  • google/guava
  • apache/kafka
  • elastic/elasticsearch
  • iluwatar/java-design-patterns
  • openjdk/jdk
  • spring-projects/spring-framework
  • google/guava
  • iluwatar/java-design-patterns
  • elastic/elasticsearch
  • alibaba/arthas

and so on.

maps-spring

This way you can explore related projects, something very valuable when looking for code that utilizes this connection.
For example, checking the swagger-markup indirect connection to Spring Boot you find that nearby there's a spring-swagger-markup demo. Looking at other Spring Boot connections, I discovered Redisson, the Easy Redis Java client with features of an in-memory data grid. It goes without saying that this feature of looking up connections can be done recursively and reach many levels of depth.

But since the Java ecosystem is vast, let choose something smaller like Perl5 where the projects are not that many or
so easily discoverable. So when zooming into Perl5 to look for anything Perl-related, you get the famous repos of Mojolicious, Dancer and cminus but also lesser known ones like:

  • PearlBee-An open source blogging platform written in Perl - by Evozon
  • berrybrew-The perlbrew for Windows Strawberry Perl!
  • cperl-a variant of Perl 5 with many Perl 6 based features
  • and improvements
  • Mojo::Pg -A tiny wrapper around DBD::Pg that makes PostgreSQL a lot of fun to use with the Mojolicious real-time web framework.

maps-perl

As already said, you can follow any dot and drill many levels down to get to the bottom of it. As such, Map of Github makes it easy to navigate Github and discover related projects, that way boosting your research capabilities.
A very useful tool indeed.

 maps-logo

The project's logo was created by Andrei's 9-year-old daughter, Louise Kashcha.

More Information

Map of Github

Related Articles

GitHub Skills - A Better Way to Learn Git and GitHub

Git-Sim - Use Git Fearlessly

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


Java Version 22 Released
04/04/2024

JDK 22 is not a Long Term Support release, but is one of the regular releases that are scheduled to arrive every six months. Still, it has got a lot to show for itself.



Amazon Ending Alexa Skills Payments
12/04/2024

Amazon has told developers who are signed up to the Alexa Developer Rewards Program that their monthly payments will end at the end of June. The announcement follows a decision to end the program unde [ ... ]


More News

raspberry pi books

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Monday, 12 June 2023 )