Wed 23 Mar 2022

Please stop writing shell scripts

That’s when you realize your mistake: bash, and shell scripting languages in general, are mostly broken by default. Unless you are very careful from day one, any shell script above a certain complexity level is almost guaranteed to be buggy… and retrofitting the correctness features is quite difficult.

Source: Please stop writing shell scripts, an article by Itamar Turner-Trauring.

An Introduction To Generics

The Go 1.18 release adds support for generics. Generics are the biggest change we’ve made to Go since the first open source release. In this article we’ll introduce the new language features. We won’t try to cover all the details, but we will hit all the important points.

Source: An Introduction To Generics, an article by Robert Griesemer and Ian Lance Taylor.

How to properly interpret a traceroute or mtr

When a packet travels across the Internet, it travels through multiple routers. The traceroute and mtr tools can be used to identify the routers a packet passes through between you and a given destination IP address. traceroute is a one-shot sort of tool whereas mtr runs and aggregates the results of a number of traceroutes. If you simply want to find the routers your packet passes through, traceroute is fine. If you want to diagnose a problem such as packet loss, mtr is the tool to use.

In this blog, we’ll talk in the context of the output of mtr given it is more versatile.

Source: How to properly interpret a traceroute or mtr, an article by Phil Lavin.