Github and Distributed Coding

Yarmo writes on his blog:

My interpretation? The Microsoft Github ship is sinking and it’s sinking faster every day. The beauty is: you don’t need them.


I agree, you don’t need Github. In fact, you don’t need much of an infrastructure at all. That all being said, I don’t think Github is sinking per-se. Microsoft hasn’t even owned them for that long, and their recent purchase and integration of Node/NPM into the system ensures that they’re going to stick around for a bit.

I do, however, agree that hosting your code is something you can easily do on a wide variety of systems. I, personally, use Github. I do have all of my repositories backed up to my NAS, just in case. I’ve used Gitlab, and while they’re very good, I don’t need 80% of the features (same with Github). I used to have a self-hosted Gitea instance, but managing my own stuff became too much of a burden, especially on my anemic Raspberry Pi 3 (1gb).

Thankfully, there are a lot of hosts out there, as Yarmo points out:

selfhost your own Gitea instance if you have the knowledge;

use Codeberg.org which also uses Gitea;

use sourcehut.org which takes a different but very solid approach to git hosting;

use any instance generously hosted by amazing people (think libreho.st and Chatons);

use gitlab.com or selfhost an instance.


Git, being distributed in nature, allows you to host in all of those places, all at once. Pick and choose or just use one. Depends on what your personal needs are.

Github isn’t going away, it’s just getting the same kind of Microsoft hosted services administration that we’re seeing in Office 365: Lots of little blackouts and brownouts.

Children, Behave!

Thanks to a handy post by Kev Quirk, I was able to wrap my head around a bunch of stuff I had been meaning to get to with this blog. The big one was making custom edits to the theme template. Now, with WordPress, if you update your theme, any material edits you made to those files will be overwritten. To counteract this, WordPress implemented a concept known as “child themes“. These are skeletal themes that inherit most of the parent’s look, feel and functionality, but layer new stuff non-destructively. The advantage is that you can hack away at the child theme, making it into what you want, and when a theme update comes out, everything is still cool.

Initially, I just wanted to add the informational banner that Kev had implemented. That was simple enough. Looking through my very old posts, though, I noticed that my Garrett Quotes had the banner on them in addition to regular posts. While it’s not a detriment to the quote, it is an incorrect eyesore. So I began work on exempting certain categories. That lead me to updating and tweaking the theme, bit by bit.

In working on all this. I rekindled my desire to code and to organize with git. I implemented git flow in this repository and began tracking defects and hot-fixes and releases. It’s actually kind of fun to code, again!

While I’m no master codesmith, I am however tempered by my previous work. I strive to be more clear with the code I write. I comment everything. I also try to adhere to a more rigid standard style. While this may slow me down, it also means that I can look back on code and understand it more easily.

GitHub (née Microsoft) buys NPM

Weird timeline we’re in, eh? While we all sit and hope for the best with COVID-19 taking an unprepared humanity to task, Microsoft (through GitHub) is making an interesting move.

I have to say, it’s an interesting proposition. Microsoft wants to improve and control the popular NPM (Node Package Manager) repository. This is where JavaScript developers go to download modules for Node.js so that they can build their applications. Microsoft will now own this repository.

Honestly, I’m a little torn. On one hand, I dislike the increasing creep of JavaScript “applications” that are run on Node/Electron because they’re not usually well optimized and eat resources like crazy. On the other hand, Node’s repository has been notorious for squatters, malicious files being uploaded into popular modules and even the transfer or takeover of popular modules by hostile entities without any notification. Some sort of corporate curation and regulation (not to mention proper infrastructure and funding) will help.

Ultimately it seems like just another piece of the Open Source pie being consumed by corporations. While NPM is a handy tool for development in Node, I’m sure this change of ownership will prompt an exodus, as the GitHub acquisition did before it.

When it does, we’ll all be the better for it. More diverse sources allow for less single points of failure or control. I wouldn’t be surprised if the popular distributed git-forge idea spawns into a distributed NPM-analog.

Update: It was pointed out to me that there is, in fact, an alternate package repo tool/project tool: Yarn. I’m not a Node developer, but I am extremely happy that it exists and can be a stand-in for NPM.

© 2020 Verily

Theme by Anders NorénUp ↑