Moving around your terminal effectively is going to make you more productive. Sometimes you need to quickly move between different projects or directories located in different places in your machine. For instance, maybe your code lives in ~/project/my-project, but the configuration of the server is in /etc/... Remembering locations is inefficient, and often they take longer to write. What if there is an easy, inexpensive solution in 4 lines of bash?

How my bookmarks look like

How to install

Here is where the magic is. Add these 4 lines of code to your bashrc or zshrc file.


I have spent most of my life coding with JavaScript. For me, it is natural to use, and I know by heart most of its quirks and oddities. I understand many of these are quite strange for newcomers and can generate some aversion. However, recently learnt about one of these things in Perl that makes JavaScript oddities look amateurish.

Perl? What is that?

Perl is a scripting programming language that was quite popular in the early ’90s and lately has fallen in usage, although at the moment of writing it is still in the top 20 in the TIOBE index. It is still widely…


Records and tuples

One of the misleading use cases for beginners in JavaScript is to create constant arrays and objects. With the introductions of ES6, we got two new declarators: let, for mutable variables, and const, for constants. Many beginners believe that this will make their objects and array immutable, to discover later that they are not. The object or array itself is immutable, but not their content. So far, we have relied on the method Object.freeze to deal with this use case.

// This is supposed to be immutable, isn't it?
const obj = { a: 1 }
obj.a = 2
console.assert(obj.a ===…

Two generic gophers. Photo by Lukáš Vaňátko on Unsplash

The inclusion or not of generics in the Go language has been a long-standing discussion and cause of drama since the first appearance of the language in 2009. Rivers of ink have been poured in long discussions about if generics are good or bad, and if the language needs to support them or not. Up to this moment, the Go team has decided to leave generics outside the language.

However, with the announcement of the second version of the language, the Go team opened the discussion to add generics to the language. …


Gophers with a wrench by Renee French

One of the most commonly noted upsides of Go is the compilation to a single binary. This makes deployments and dependency requirements easier to handle compared to other languages that require to install in the target system the individual dependencies which can potentially conflict with other software running or require to install duplicated packages.

However, sometimes Go programs not always can be reduced to a single file. Assets like templates or images are not included as part of the binary and they need to manage and deployed independently. …


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…


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.


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…

Alberto de Murga

also known as threkk. 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