The trendy five: Fresh picks from GitHub in October 2018

Share
  • November 5, 2018

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)!

Carlo

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

Gin

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.

Algojammer

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.

Dive

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

Depends

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.(ApiClient.java:85)
at io.kubernetes.client.util.ClientBuilder.build(ClientBuilder.java:202)
at io.kubernetes.client.util.Config.defaultClient(Config.java:104)
Caused by: java.lang.ClassNotFoundException: com.google.gson.JsonParseException
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 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.

The post The trendy five: Fresh picks from GitHub in October 2018 appeared first on JAXenter.

Source : JAXenter