Meandering Soul

This day is done, I'm going home.
eFranes Penguin Avatar

Introducing Fountain

01
Apr 2024

The Problem

The distance between being motivated to write here again and actually writing here again could not be greater as it is. I’ve been telling people I have reactivated this site and I want to write more again. But I don’t. And the only reason is that I dread creating new posts. Which is ironic because the whole reason this site looks very different from a couple of months ago is that I redesigned and - to some extent reprogrammed - the whole thing in Hugo to have a fresh start. So, in an effort to dig down on what is stopping me, here goes nothing:

The structure

Having built this on Hugo, there’s tons and tons of nested folders. Which is okay because content that goes content/stmfd/2024/04/my-post-title does make sense in my head. What throws me off when setting out to write is that right next to that all of the logic and layout of the site are situated. A simple solution here might be to only open the content folder and leave all the others alone.

That however is only half of the pain relief.

The real pain is that my brain doesn’t compute writing blog entries or stories the same way it does code. The above mentioned path makes perfect sense in my code brain. It’s well structured, it contains all the required information, everything is about this is reasonable. But. Everything about this path disturbs my creative mind. Beginning with the fact that I even have to think about it. Like post titles. Why, in higher-being-of-your-choice name do I have to think about the title of something I’m just in that moment pouring out of my mind?

The editor

This one is more tricky. As I am writing this, I am typing into Obsidian, which for better or worse is currently the tool for my second brain. That works. Obsidian feels non-code enough to lift my mind out of looking at everything all the time all at once mode into admiring the donut and taking a step back. Unfortunately, this isn’t the final home for this text. In Hugo, like in pretty much every static site generator, content is kept alongside the configuration. That, for better or worse, triggers my coding brain. The beauty of Apples products isn’t so much that they look good on the outside. The beauty of Apples products is that they are designed well down to the PCB. I – conditionally, but that is an other post – love Apples products. I love the philosophy. I feel good in a clean environment, offline like online. Writing text in one place only to temporarily escape the implications of the other feels wrong.

Now, I don’t want to get to a point where I can comfortably write posts in VS Code. While being a mediocre modern replacement for the forever missed Sublime Text 2, it is by design not a prose editor. You might venture to say Obsidian also ain’t. True. We’ll get to that.

The format

Markdown is by far the most versatile Hypertext reduction format out there. Yes, reStructuredText is easier to write, yes WikiText is much more powerful, yes. All of those are standalone formats however. Markdown isn’t. Markdowns’ whole original premise was to convey semantics without obstructing the content even if visual formatting fails. That, again, works fine for my coder brain. And in part, no thanks to Obsidian, it works well enough for my creative brain too. And it is fast to write, once internalised.

It is in any case not pleasurable. Not as editing experience, not while looking at it on git diffs. Not ever. It looks like code, because, in a way, it is code. A dumbed down, prose-accomodated version of code, but nevertheless, it’s code.

My issue isn’t so much with the formatting indicators. Obsidian especially has a very nice way of dealing with those. Just showing them when actively in their context keeps the disruption to the required minimum. On the contrary, I would even go so far as to say that Markdowns formatting indicators are its greatest strength and should be part of every text editor’s core behaviour. I mean, even Google added it to Docs, albeit in a oftentimes strangely behaving way.

My issue is with the writing experience feeling technical. I cannot quite put a finger on what I mean by that. Some pointers would be other editing programs I’ve used in the past. First and foremost Scrivener, but also WriteRoom. The latter sadly not having been updated in more than a decade. There’s a fun way to be reminded of one’s own aging.

The solution

A little bit of history

There’s a (private) repository on my GitHub where the first commit says Date: Sun Feb 12 12:56:45 2017 +0100. That is a while ago. There is other repositories on backups, some of those burned DVDs (remember burning CDs and DVDs, if not, you’re too young for this section of the post, but welcome!) that date back years before that. What’s in it? Attempts to fix the above I abandoned for various reasons.

For many years, the answer was Wordpress. Wordpress was and is arguably the Platzhirsch for single or (small) team web publishing. Wordpress also very much doesn’t make me happy. I will not bash it, but I also won’t use or recommend it ever again.

What’s the alternative? Or, more precisely, why is this post in the devlog section and not on the main blog? Well, for as long as I can remember, I have been dreaming about building my own CMS. Fortunately, in the beginning I was young enough to not realise the amount of effort that would take. Out of that dream, the most relevant remaining tidbit is content editing and publishing that doesn’t have too much but grows with the needs.

That repository I mentioned is named Fountain. Fountain was supposed to be my solution. Since I am not stupidly young anymore, I reduced the scope from a full blown CMS to something more akin to a blog slash static site manager. I have a pretty clear vision of what that thing should be and do and what it shouldn’t be. I made one mistake: I started writing it in Vala. Now, don’t get me wrong. Vala is a great programming language and I will likely continue to use it where applicable. But it is also very much married to Linux even though GTK as it’s basically required foundational library tries very hard not to be Linux-limited. Using Vala hindered me more than I want to admit and lead to the slow death of the project. Well, no, the patient is not dead. Let’s go with a cryo-chamber frozen until needed by the world again sort of situation. That feels less harsh.

Fountain is supposed to be my solution.

Going with Hugo was and is only intended as an intermediary step. The previous setup was, for several reasons, not maintained for a couple of years so a refresher was necessary anyway. I had waited for Fountain to get to a point of being ready to be that successor and to be fair, in many ways it is, but in many other ways it isn’t.

Is the solution to just not write until that magical Fountain is finished? Most definitely not! (Most defiantly not?!)

The solution is multi-faceted:

  1. I need to code a few things that are likely technically more throw-aways onto the Hugo setup but nevertheless necessary for peace of mind:

  2. Fountain needs a rebirth

Making things bearable

The goal for now is to make my current setup work for my mind. To allow myself to pour my thoughts into writing despite not being at peace with the publishing system.

This means I will likely invest a little time here and there to write little helper scripts and stuff. This section of this post exists to give me permission to whatever time is required for this into a system I do not intend on keeping longer term.

This is what we do as programmers. We create things, than we are unhappy with them and we throw them away and create something new. “Beauty is terror”, Donna Tartt once wrote. Such is the way we code. Everything made from nothing must become nothing again.

Fountain, again

In the spirit of the luck throwing money into Fontana di Trevi is supposed to be bestowed onto the beholder, I want to throw some quite radical change at fountain: A rewrite.

A good rewrite starts with boiling down the requirements to what is actually necessary. This time, to keep myself accountable, I will do a lot of that in public from the beginning. Maybe not the code, but at least regular rapports and maybe even discussions of some form somewhere.

So, long story short: I am lowkey starting a side project again I have been in a co-dependency with for the past six to ten years. Stay tuned. I promise it’s not yet another static site generator. It’s also not a CMS. Remember? I’m unhappy with the status quo. More on this next time – whenever that will be. At some point, I might set a schedule for updates and ponderings, right now, I don’t see myself able to.

  • Published on April 01, 2024
  • 1559 words