Plurrrr

Wed 27 Oct 2021

When to Use Each of the Git Diff Algorithms

As of time of writing, the latest version of git is 2.28.0, and it supports a total of 4 diff algorithms, namely myers, minimal, patience, and histogram. In the following sections, I give my take on when each of these algorithms should be used. This post does not cover a breakdown of how the algorithm works, and/or its complexity – you can find these via a quick search.

Source: When to Use Each of the Git Diff Algorithms, an article by Lup Peng.

A comprehensive guide to go generate

While Go does not have macros or other forms of metaprogramming, it's a pragmatic language and it embraces code generation with support in the official toolchain.

The go generate command has been introduced all the way back in Go 1.4, and since then has been widely used in the Go ecosystem. The Go project itself relies on go generate in dozens of places; I'll do a quick overview of these use cases later on in the post.

Source: A comprehensive guide to go generate, an article by Eli Bendersky.

Pants supports PEP 517

Pants has industry-leading support for Python builds - covering steps such as resolving 3rd-party dependencies, running tests, generating code, running formatters and linters, packaging python executables, building Docker images, and more.

One important build step that Pants has supported for a long time is building Python package distributions, namely sdists and wheels.

We just cut the first release candidate for Pants 2.8, so this is a good time to talk about the significant enhancements to its distribution-building capabilities, including support for native extensions and for PEP-517.

Source: Pants supports PEP 517, an article by Benjy Weinberger.