Nice thing on fedi this morning, a gentle query from BillSeitz asking how the WikidProject is going. I'm touched that somebody is even aware of the thing, let alone cares how it's going! I really ought to have written an update sooner, but I think part of me is ashamed at how slow progress has been. I see other people with their pet software projects racing ahead, "getting stuff done", and I'm still pootling along, years after starting, with a thing that shouldn't really have taken more than a few weeks or months. So here's an update...
The basic wiki system is up and running (has been for a long time), though there are changes I'm planning to make (for reasons I'll talk about below). It lacks much of a user-interface, so I'm not using as my daily driver for notes just yet. My MVP is to get it to the point where I can do that, so one of the changes/enhancements I need to make is to get Wikid to understand the ZimWiki file format. I have thousands of pages of notes, and I'll be buggered if I'm going to find a way to convert them to Markdown. Even if Pandoc will do 99% of the job, there's always going to be glitches, and it's just not useful work. Especially since I architected Wikid to allow for the possibility of multiple serialisation formats from the get-go.
Along the path of nudging this thing up the hill, I've learned a few things:
-
The wiki engine (backend, whatever) that I have is quite a useful thing as a document repository, a sort of database for documents where links between documents are considered important. So something like the World Wide Web, but less worried about presentation, more worried about provenance and links. (Gosh that sounds ever so grandiose! Not sure I can live up to it.) I'd like to see Wikid handling federated links and editing between different (remote from one another) instances. That might include one-way copies (so making Web Gardening more pleasant) or CRDTs, but that's a little way down my priority list right now.
-
All of the so-called Tools For Thinking that I've seen/tried/kicked the tyres on suffer from the same delusion: They all treat note-making and note-taking as the Most Important Thing, and have very little to offer on the synthesis side of things; how do I gather all those thoughts together into threads and turn them into a useful piece of writing (or whatever). I'm less worried about the editing side of that process than the actual finding, organising/structuring and fleshing out of some thread of thinking. So that's the space I'm most interesting in exploring, using Wikid as the document tool foundation.
-
The other thing that those tools are abominably poor at is metadata. It turns out that we need much better ways to manage metadata, preferably as automatically as possible. Where did this information start from? Who do I share it with? When last did I look at it? Edit it? What other notes or topics does it relate to that might not be automatically discoverable?
-
Too often, of late, I find myself writing about some idea or notion, only to discover that I've already written about it 5 years ago, and I was saying much the same thing. This is where a real Tool For Thinking should add value. Any notebook application is good enough for recording what I think, none of them are the slightest bit useful in the weeding, winnowing, selection and sorting of those thinks. I have in mind some sort of semantic search thing happening in the background, watching what I'm writing, and quietly, unobtrusively suggesting to me that there might be a link between stuff I've already written and what I'm busy writing. This might involve some small Language Model/Artificial Neual Network stuff, but I've yet to go there to investigate. I'm certainly not going to ship my private "Second Brain" notions off to some enshittified TESCREAL-in-the-cloud "AI" thing.
-
Aside from the fact (well, I take it as fact; you do with it as you will) that Markdown is quite horrible to use (unless you're truly stuck in a typewriter-text world), it truly sucks arse as a serialisation format. So do most other "plain-text" markup languages that get used as text serialisation formats, with one exception: XML. The XML instance called HTML works fine for the sort of document we're talking about here. If you wanted Wikid to become some sort of computational notebook, you might want to extend the syntax a tad, but that's Quite Easily Done. So, in the longer term, I'll be looking to add (a semantic subset of) HTML as Wikid's primary serialisation format. And, hey!, HTML is still a text format, isn't it? It's not some opaque or proprietary thing. You can still use
grepon it!
Right now I'm deep in the weeds of Rich Text editing. Along the way I'm learning Kotlin and using TornadoFX for the UI framework after much, much, A LOT of searching around and trying things out in my hunt for a decent way to build a desktop GUI, because I remain convinced that, when serious people sit down to do serious work, they do it at a desk. Not on their phone. (OK, boomer!) And I hate the web stack more than I hate C++ (I programmed in C++ — for money — for ten years... never again!) and I'm convinced that there's a coming backlash against the everything-web delusion that currently persists. (Here I sit, enough compute engine at my feet to answer The Question, and I'm supposed to use it as a sort of sub-literate terminal to someone else's mainframe...???) The pendulum of fashion always swings back, and the sheer volume of creepy panopticon shit and user-data-theft that's happening is going to be part of the motive engine for that counter-swing. (Of course it will almost certainly look nothing like anything I imagine, but that's par for the course.)
Back to the work: The work is on a (rich) text editing base that I can use as springboard for two or three projects that amount to variations on the same set of ideas, and all using the Wikid Engine as back-end. Call me again in a couple of years.
So, along with its "update" purpose, this has served as a place for me to consolidate and present my thinking around my Wikid project, and how that's evolved. If you made it this far, Well Done And Thank You for sticking around! Comment/chat always welcomed: @mikro2nd@indieweb.social
Oh, and I might one day open-source the whole thing, most likely under GPL/AGPL, but that day has not yet arrived. That said, if anyone wants to kick the code around (Wikid Engine is in Java) drop me a line and we can make it so. I ain't proud.
No "AI" gets used in making the code (the code is the least interesting and most unimportant thing here, and any use of it would be unwelcome. I wish I didn't have to say that. It should be obvious to any thinking person knowledgable in the field that applying a stochastic, statistical, imprecise tool to algorithm specification is a category error. Stopping here because any more will become another blog post in its own right.