Pick of the litter

The trendy five: Fresh picks from GitHub in October 2018

JAXenter Editorial Team
© Shutterstock / SimonVera

Cozy up with our monthly GitHub trending repo picks. We chose our top five repos from the GitHub trending list to highlight. These repos are just like scarecrows – they’re outstanding in their field!

Although Halloween has just ended, Christmas decorations are already out and it’s time to get festive. October was a busy, busy month for GitHub. Now that the Microsoft acquisition is officially complete, it’s time for GitHub to look towards the future.

Every month, we scour the GitHub trending page for repos that stand out from the crowd. We choose five of the most innovative, interesting, and well-thought out projects to highlight in our monthly report. As always, it was tough to narrow down the list of GitHub repos to our five favorites.

So, without further ado, here are our top picks (in no particular order)!


Google Chrome Labs has yet another experimental project to share.

Meet Carlo. Carlo helps you create hybrid Node apps with the rendering capabilities of Google Chrome. It communicates with another Google Chrome project – Puppeteer, a headless Chrome Node API. For more info, check out the API and see how it works.

What advantages does this have over similar projects such as Electron? With Carlo, the Node v8 and locally installed Chrome v8 engines are decoupled. From the FAQ page: “Carlo is less about branding and is more about productivity and giving the control over bundling to the user.” More control? Sign me up.

SEE ALSO: Top 10 Java stories of October: The IBM/Red Hat bomb, Angular v7, new Python IDE & more


You don’t need a mixer for this framework.

Written in Go, Gin is a HTTP web framework. It shares some similarities with Martini (another Go web framework) but it boasts better speed thanks to a lightweight HttpRouter. According to GitHub, Gin is up to 40 times faster than Martini. (See the benchmarks on GitHub.)

It also has custom middleware support, valides JSON, allows for easier route grouping, and collects error messages during HTTP requests for better management.

Is gin your drink of choice? Test it out for yourself and see if you have a new favorite.


We recently covered this experimental Python code editor, however, it deserves another mention!

Algojammer was created to help participants in competitions such as Code Jam visualize their algorithms. It takes inspiration from concepts in computer science about visualization and omniscient debuggers. This code editor has a demo on YouTube, so if sounds like your cup of tea, make sure to watch the demo and get a taste of what it can do.

Its creator Chris Knott has stated that he has no direct plans to finish the project. But hey, maybe you can help bring it closer to a finished state? Come on and get experimenting.


Go deeper into Docker!

Dive is a tool for “exploring a Docker image, layer contents, and discovering ways to shrink your Docker image size”. Some of its basic features include the ability to show Docker image contents split up by layer, estimate your efficiency, and a quick build feature. Select your layers and explore the file tree easily, as well as view what’s been changed in each layer. The efficiency estimation feature shows you how much space you are wasting and gives you a score depending on your file usage.

It is a perfect addition for anyone who uses containers! Currently in its beta phase, feel free to give the creators some input.

SEE ALSO: Go in transition: Making sure the move from Go 1 to Go 2 goes smoothly


In search of the missing link? Or, how about the JVM’s missing linker? (Okay yes, technically Depends is not a linker. A linker produces a single executable.)

Depends provides a solution to a hair-raising error. Does this look familiar to you?

java.lang.NoClassDefFoundError: com/google/gson/JsonParseException

at io.kubernetes.client.ApiClient.<init>(
at io.kubernetes.client.util.Config.defaultClient(
Caused by: java.lang.ClassNotFoundException:
at java.lang.ClassLoader.loadClass(
at sun.misc.Launcher$AppClassLoader.loadClass(
at java.lang.ClassLoader.loadClass(
... 26 more

Save yourself the headache of going through different dependencies. The answer is here. Depends provides a line of code to run which then gives you a report of what is broken. After that, all you have to do is pick a version from the list. Interested in how it works? GitHub has some more details on how Depends uses ShrinkWrap Resolver.

That’s all for October! See you next month with another five GitHub picks.

Inline Feedbacks
View all comments