week 38, 2019

Learn to change history with git rebase!

One of Git's core value-adds is the ability to edit history. Unlike version control systems that treat the history as a sacred record, in git we can change history to suit our needs. This gives us a lot of powerful tools and allows us to curate a good commit history in the same way we use refactoring to uphold good software design practices. These tools can be a little bit intimidating to the novice or even intermediate git user, but this guide will help to demystify the powerful git-rebase.

Source: Learn to change history with git rebase!.

On undoing, fixing, or removing commits in git

This document is an attempt to be a fairly comprehensive guide to recovering from what you did not mean to do when using git. It isn't that git is so complicated that you need a large document to take care of your particular problem, it is more that the set of things that you might have done is so large that different techniques are needed depending on exactly what you have done and what you want to have happen.

Source: Git Fix Um — On undoing, fixing, or removing commits in git.

Red Cat on the Bridge

On my way back to my mother's house I encountered a red cat walking on the stone wall of a bridge. I could only take one photo because it was quite restless but loved to be petted.

Close-up of a red cat on a bridge
Close-up of a red cat sitting on the stone wall of a bridge.

Soon it jumped off the wall and went into a nearby garden.

Version 2.0.0 of tumblelog has been released

In the evening I pushed version 2.0.0 of tumblelog to GitHub. This version renders text after an image as a caption. Or, the following Markdown:

Photo of a cat resting.

Is rendered as HTML as follows:

<img alt="Cat" src="cat.jpg" />
Photo of a cat resting.

This allows for styling using CSS of both the image and the caption. You can see examples on this blog.

Why Go and not Rust?

Imagine you’re a developer who mainly works with Go. You go to an event and, while chatting with some people, you decide to share with them the news that you wrote a small tool that does something. You claim that since you wrote it in Go, it’s fairly fast, it’s a single binary, etc. The group seems pleased with your recount and you start feeling good, but then you notice a stranger approaching from behind. A bone-chilling wind blows and you hear: “Why Go and not Rust?”

Source: Why Go and not Rust?, an article by Loris Cro.