After my last post about simple wikis, I started writing code. First with Scala, and immediately felt like work and a bit against what I was really discussing of simple but useful.
So I dropped that and started again using bottle. I had looked at it before, but I this is my first time using it. And it is fun, and I realise that I know more about writing software than when I stopped using Python professionally. My wiki engine is still playful and not industrial, but I feel like it may be solid enough to use it.
And before realising I put an hour here and there, and now I have even history and a lot of features that perhaps I shouldn’t have implemented. I have been sharing my journey on Masto, and Alex said it:
Sounds like premature implementation is the root of all evil!
In any case, I like what I have written. It is simple enough and, in reality, it is just a front-end to git
. I want to use it, initially as a personal wiki –it supports users, if someone wants to contribute, I can add them an account; yes, I know: premature implementation all over the place–.
But then I’m experienced enough to know that there are a lot of things that I don’t know, and I don’t want to deploy it publicly on my Raspberry Pi at home to discover I made a terrible mistake. So I’m writing unit tests, and feels like my excitement is cooling down a little. But it is “the right thing to do” and I’m enjoying refreshing my python with this project, so I’ll ensure I have reasonable test coverage and launch the “UseBoxWiki”. What can possibly go wrong?
Well, there’s the AI crawler abuse –even if I don’t get hacked–. It is unfortunate, but one can’t put things “live” willy-nilly any more. We could call it premature optimisation, I guess.
If it works, I will make the code available. But you shouldn’t use it if you really want a wiki. You should use instead any of the well established engines, or perhaps build your own if you want!