Refactoring the shadowmaker has become a bigger headache than I had originally anticipated, but it’s for the long-term health of the system, so I’m sticking to my guns. This weekend added further drama when I finally stopped running away from frontmatter and embraced it for all my metadata. Sure, scattering #ch-command directives throughout the body of the notes was insane, but fixing it is going to mean more than just adding a few metadata fields. I may have to completely change the way I use Obsidian.
When you invest time in any process, you quickly learn to appreciate the difference between a tool for the job and the right tool, and so far, Hugo is knocking it out of Right Tool Stadium, but there is a downside.
◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇
I haven’t quite nailed down my final workflow yet, but I’m already loving where this is going. My goal was to achieve easier posting to my site, which in turn I hoped would facilitate posting more often. And it’s already giving me that, but I’m finding an unexpected benefit on top: by posting more of my notes-to-self publicly, I’m paying more attention to them and thinking them through a little further. So the process isn’t just improving my communications - it’s actually improving my projects too.
But that improvement comes at a price.
There are two ways a tool can become the best tool for its particular job. Some do it by just being a well thought out version of all the other tools on the market, with all the useful features right where you need them, and without any distraction from the useless ones. The Veritas brand by Lee Valley Tools used to be great at this for woodworking. (Although I don’t know whether that philosophy survived the transition to new management a few years ago.)
Other tools do it by looking at the problem from an unexpected direction and leading you to tackle the project in a new way that just works better. Hugo is the second kind. But these “unexpected direction” tools often come with a caveat: to get the most out of them, you have to spend time learning how to aim your mental camera in that new direction, and that’s not always comfortable.
Case in point: Reverse Polish Notation. In school, we all learned that 1 + 1 = 2, so it’s no surprise that most calculators work the same way: by typing a 1, then a +, then another 1, and finally hitting the = button to get the answer. But when I arrived at university, I was startled to learn that many mathematicians had calculators that worked differently. For them the sequence was 1, 1, +. They didn’t even have an = button! How do you get the final answer if there’s no equals button? (If you want the answer to that, check the link to RPN above.)
The point is, it was a real WTF moment for me, and for a while, it made the tool completely unusable for me. But after wrapping my head around the new system (which mathematicians call postfix notation) I fell in love with its elegant simplicity.
Well, Hugo has been a bit like postfix calculators. To be fair, my pipeline scheme is a bit… extreme, which is what’s pushing me into some esoteric corners of the system, so this is not a measure of how most people will experience Hugo. But if you get very deep into the template weeds, you’ll learn that they’re implemented in the Go language, which, like RPN, has a different way of thinking about things. And also like RPN, the more I learn about it, the more I like it.
So yes, it has taken me longer than expected to get here, but the journey has been well worth it, and now that I’ve come up to speed, I find that Hugo has something else in common with RPN calculators, and indeed with most right tools for the job:
They’re all elegantly simple.