A gopher moving packages around
A gopher moving packages around
Picture by Ashley McNamara CC BY-NC-SA 4.0

Once upon a time

Go packaging and distribution has been always a problem. Since the earliest versions, Go packaging relies on a directory in the machine where all the code is placed. This directory, stored in a global variable named $GOPATH, it doesn’t only have your source code, but also all the dependencies it uses. Dependencies are added and pulled from control version systems like git using the command go get, and stored for all the projects.

This has several issues: you pull only one global version of the dependency which is shared by all the projects, and because it uses the URL of the repository as an identifier, you cannot have different versions of the same dependency. …


Screenshot of a git tree.
Screenshot of a git tree.
Photo by Yancy Min on Unsplash

Today, discussing at Blue Harvest the new article of Jay Rajani, I found out that the new improvements in usability of Git 2.23.0 are not much spread yet. Releases in established well-known open source projects like the Linux kernel, git or vim usually do not bring much new hot stuff for the common folks, but the changes in the last release of git are really something.

Probably you have heard about the git checkout command. This is a rhetorical question of course, because if you have ever used git, you must have realised that it is literally everywhere.

Beginning of the git-checkout man page.
Beginning of the git-checkout man page.
That is slightly confusing.

Until last week, you used git checkout to create a new branch, to retrieve a new branch for a remote repository, to change the branch you are currently working, to remove files from your staging area, to pick up changes from a different commit, and for other more obscure tasks that are not used often and you wish you do not have to. All these functionalities crammed in one utility are annoying for experts are terrifying for beginners who will run away from the terminal like it is some type of witchery. At the end, UNIX tools are supposed to do one thing and do it well, and it has taken long time to realise that there was some room for improvement in this area. …


2nd Generation JavaScript Frameworks & Libraries by Geertjan Wielenga
2nd Generation JavaScript Frameworks & Libraries by Geertjan Wielenga
2nd Generation JavaScript Frameworks & Libraries by Geertjan Wielenga

Last month I had the chance to go to the JS Conf Belgium 2019. The conference was in the city of Brugge, which in total was about 3 hours travel by train from Amsterdam. The venue was located just in front of the station at Howest RSS 1, one of the buildings of the Hogeschool Howest. The location was big but only two rooms were set up for the talks, placed on different floors separated by narrow corridors. There were no sponsors or business stands in the venue, so it was essentially the talks.

This was more an annoyance (I enjoy visiting the business stands during breaks) than an issue. The talks were good and varied, and only a small minority were a blatant marketing stunt. …

About

Alberto Mtnz de Murga

Internet Plumber https://threkk.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store