Lazy attributes are wonderful. They allow us to postpone generating attribute values for any number of reasons: it’s expensive and we don’t want to do it unless we need it, it should be initialized after instantiation because it depends on other attributes, etc. And it does this without our having to worry about the value being around: if we need it, it’ll be generated on the fly without any extra effort on our part.
A while back, I wrote about “useful git defaults”. This is a tricky subject, as a sufficiently aged ~/.gitconfig is much like a vimrc or Chief O’Brien’s rank: a very religious topic. Nonetheless, it’s one of those things where a few small adjustments to the system-wide git configuration (a la /etc/gitconfig) can make things much, much easier — particularly in the case where there are multiple systems to manage, and multiple people using them.