A while ago I have written about note-taking software. At the time the most promising candidates were Joplin and just flat Markdown files. A colleague has told me about Obsidian. It is an awesome note taking application as it satisfies all the needs that I have: It uses plain Markdown files to store the notes, there is on siloization into an opaque database. But it provides a file explorer to quickly switch between notes. It also has some gadgets like a link graph, but I haven't used these yet.
In the past decades I have written a bunch of software. And most was rather ephemeral stuff, like hobby projects or university assignments. In most cases there was no need for any sort of formal documentation. I would understand the code as I am working on it, and once I have abandoned it, it would never be touched again anyway.
Over the years I have been using content creation software which had a clear separation of a source and a rendered output. This has been LaTeX for scientific documents, Markdown and reStructuredText for computer documentation. I also use Markdown for my notes with Ghostwriter or Obsidian. I have also used GraphViz to create diagrams and graphs. To create 3D models I have used OpenSCAD, which is a programming language for 3D models. When I needed a Wiki, I have used DokuWiki All these software packages let me use the text editor of my choice, version the source code in Git and share it via GitHub. So for me, having a Git repository of Markdown files is the perfect way to create documentation.
There are a lot of tasks which are so simple that most programmers think that they can just set out and write their own. One of this is note-taking software. There are a couple products out there, but none are quite perfect. And instead of improving one of the existing ones, it is tempting to just start with their own. In the end, of course, there will be just one additional niche solution that only really works for the programmer but not the next user.
When editing text, I have been using Vim so far. My text documents were either Markdown, reStructuredText or LaTeX. All of them are just source code in some sense, the output format HTML or a PDF in a browser. Single line breaks do not matter in either format, it takes a blank line in between to separate paragraphs. Therefore one has the freedom to insert line breaks within a paragraph at will without it meaning anything semantically.
I use Markdown a lot to create notes and reports. Since April I also use it for my website. And actually I write my dissertation using Markdown as well. All this time I have been using Vim for editing all my text files. For Markdown I wanted to try a few GUI editors with instant preview.
As you can likely tell, my website looks different now. For a very long time I have been using Sphinx with a custom theme for my personal website. It has served me rather well, but over the time I have been pushing it into ways that are not really how it is designed. Foremost it is a documentation generator. As such it has a hierarchical structure and does not support blog posts or RSS feeds. Some of my content is “timeless” like the study material, but other things slowly outdate and would rather fit into a blog structure. There are extensions to Sphinx that try to add these features, but I rather decided to move it to Nikola instead.