Wed 27 Jan 2021

Become a git stash pro

git stash is a very useful feature in git allowing you to 'stash' away changes for later.

Key points for git stash:

  • Stashes are a last-in-first-out list. You can push and pop to it
  • Stashes have an index (the latest is 0), and optionally a message (like commits)
  • Stashing requires a commit. You can't stash if you haven't created a commit yet (for example - right after git init)

Stashing is useful in a few cases:

  • When you want to pull or rebase, and have a dirty working directory
  • When you want to move changes between HEADs
  • When you want to keep changes for later
  • And a few more

Source: Become a git stash pro, an article by Charles Crete.

How LZ4 works

LZ4 is a really fast compression algorithm with a reasonable compression ratio, but unfortunately there is limited documentation on how it works. The only explanation (not spec, explanation) can be found on the author's blog, but I think it is less of an explanation and more of an informal specification.

This blog post tries to explain it such that anybody (even new beginners) can understand and implement it.

Source: How LZ4 works.

See also: LZ4 - Extremely fast compression.

Dying of the Light

A whisperjewel has summoned Dirk t’Larien to Worlorn, and a love he thinks he lost. But Worlorn isn’t the world Dirk imagined, and Gwen Delvano is no longer the woman he once knew. She is bound to another man, and to a dying planet that is trapped in twilight. Gwen needs Dirk’s protection, and he will do anything to keep her safe, even if it means challenging the barbaric man who has claimed her. But an impenetrable veil of secrecy surrounds them all, and it’s becoming impossible for Dirk to distinguish between his allies and his enemies. In this dangerous triangle, one is hurtling toward escape, another toward revenge, and the last toward a brutal, untimely demise.

In the evening I started in Dying of the Light, a novel by George R. R. Martin.