Commit Messages (again), Ansible, CLI Names, Feature Flags, Rust Binary Sizes, Mongo with Rust, Command Line Task Manager.

How to write good Git commit messages

About a month ago, I shared a link describing how to make proper commit messages, and this post talks a bit further about -- and it also cites some of stuff I usually miss when I need to do some code review.

Ansible: Tasks vs Roles vs Handlers

Another "I shared something like that before" link, this one focuses on Ansible itself instead of some other configuration tool. Although not deep, it explain most of Ansible "surface" content.

The Poetics of CLI Command Names

So you decided to create your own command line application to learn a new language. Congratulations. But the success of your tool depends (partially) on the name of it and how you consider the "mystic" behind it.

I don't fully agree with some points, though. For example, claiming cfdisk was a bad choice for a curses fdisk; fdisk is well known, and using the same name as a part of the new name shows that shows that it is a different version and also gives information to whoever knows fdisk what this application does. Same case: top and htop.

What Are Feature Flags?

Before I changed projects, we had a discussion about the way the projects were using feature flags.

Although not discussed here, I do believe that feature flags should, at some point, be removed, either by the team when a feature goes into full availability or moved to a user configuration. But it needs to get out of hands of the developers at some point and not live forever as a flag.

How to minimize Rust binary size

Not that Rust binaries are big -- at least, in release -- but there is always someone complaining, specially when compared to binaries created in other languages whose binaries are not static.

But it is always good to have a set of tips on how to reduce them, just in case.

Announcing our Rust Driver: Version 1.0

Still on Rust news, MongoDB, the company, released their official driver for MonogDB, the database, in Rust.

One thing that I must say, reading the announcement, is how nice it plays with the existing ecosystem, supporting the top async frameworks and the serialization framework. A truly "play nice with everything" by the description.

unfog-cli: A simple task & time manager, written in Haskell.

I have a personal project for a long time to create a command line version of Toggl, but it seems someone had the same idea and did the project already.