I finally took a break from notation and got around to writing my own cms for this here journal. Prodding courtesy of waferbaby. I guess I didn't really take a break from notation so much as I needed more ways to test it that would get me to start using it every day. To tell the truth, this is kind of a stop-gap measure because I wasn't entirely happy with Movable Type and it does things that I don't really want. I looked at some other solutions, but ultimately decided that:
I feel the need to explain my attitude towards 'open source' and 'free' software, and by open source and free I mean software that I can legally obtain the source code for and use however I want. I do this all the time, libxml2 and libxslt for notation, sqlite for something else, not to mention all the example code i've borrowed (with attribution) over the years. These bits of code that I do reuse (along with the components I've developed myself) are designed to be embedded in other applications. The weblogging packages I've looked at seem to be designed as applications you can extend. This is a very worthwhile goal and I firmly believe that all applications should have hooks for plugin type extension, but ¡nkspotting is not a cms plugin, nor a skin on a cms application, it's an application in it's own right. That application just happens to contain a log.
Now, you could say that these packages are in fact libraries because you can embed them. You can also run these packages as daemon-like applications and use them via xml-rpc. I considered both of these approaches and managed to hack up a workable solution to my problem. It's a testament to the flexibility and power of html, xml, xslt, and php/perl/whatever that I was able to get all the extra metadata I wanted into and out of these packages, but it was abuse of the system.
There's a line somewhere. On one side of that line lies a novel use of a package which the original creator never thought of. On the other side, there's a user forcing the system to do something it wasn't designed for. It works, but it's fragile because it relies on certain assumptions that could become invalid at any moment. I found myself on the latter side of the line when looking at weblogging software.
So here we are. ¡nkspotting 1.0, not the first version of the site, but the first version of the application.
<?php class ¡nkspotting; ?>
Invented here.