Wed 15 Feb 2023

Structured logging in Go with slog

A few months ago, a proposal was introduced for adding a structured logging library in Go. At present, Go has a minimal and bare-bones log package which works all right for basic use cases. However, the current library has a few shortcomings that this proposal aims to solve:

  • Emitting logs with different severity/levels
  • Structured output: Makes parsing of logs harder
  • Logging a set of common fields/attributes
  • Difficult to have a log object inside libraries as each service could have its log implementation.

Source: Structured logging in Go with slog, an article by Karan Sharma.

When Rust hurts

This article details on how frustrating Rust can be if you approach it with a functional programming mindset and why Rust has no choice but to frustrate you.

Source: When Rust hurts, an article by Roman Kashitsyn.

The Myers diff algorithm: part 1

In this series of articles, I’d like to walk you through the default diff algorithm used by Git. It was developed by Eugene W. Myers, and the original paper is available online. While the paper is quite short, it is quite mathematically dense and is focussed on proving that it works. The explanations here will be less rigorous, but will hopefully be more intuitive, giving a detailed walk-through of what the algorithm actually does and how it works.

Source: The Myers diff algorithm: part 1, an article by James Coglan.