Looks like I have to write a comment system.
This is partly my fault because I either don't understand something or I just had to pick the most obscure blogging platform out there. But I have yet to find a comment plugin for blosxom that actually works or has understandable documentation. All of the plugins I have found are either totally undocumented or woefully out of date.
So I'm just going to have to roll my own comments system You will just have to wait until I get around to it. (I have some general ideas on how to get this done)
I normally wouldn't bother but I rather like the way blosxom does things and wordpress is a giant bloated mess. I just want to get back to simple software with a small footprint modern software is driving me crazy and I'm just sick of it.
[/rants] permanent link RSS feed
A new and improved Network mapper/Sync dispatcher
I've been busy learning a lot more about sockets programming from W. Richard Steven's UNIX Network Programming 1st edition. and applying some of that info to perl. I am modifying an example server that uses select and non blocking I/O to eventually be the new network mapper and sync dispatcher. I already have this test server accepting both UDP connections and AF_UNIX (local system only accessed by unix filesystem paths, (/tmp/afunixsocket for example)) streaming connections and passing them to different handlers.
The end result will be that other processes will be able to communicate with the heart of the TN system and get information about the network and be able to update the crucial time stamp information for each node (the syncnews.pl script needs to be able to do this since it is spawned into the background.)
The reason I'm focusing on this change is that the original script for the network mapper and sync dispatcher just does not seem to be easily extendable the way it currently exists and some of my testing has brought up certain design problems that can cause articles to be lost and the only way forward will be to have the mapper support IPC and add more information to the network map that can be accessed and updated by processes that need to know about and work with this information.
I have wanted to do this from the beginning anyway with the network neighborhood. it is much better to make that a script that gets info from the network map directly. instead of an ugly hack where the mapper daemon re-writes a static html file when it updates the network map.
The new way the process will work will also allow things like a name service switch plugin to be developed that will allow hostname lookups to use the TN network map.
I'm also going to make it a bit of a hybrid server in that while it does select and non-blocking I/O instead of forking. it will only do so for receiving the UDP broadcasts that build the map and handling commands from the AF_UNIX socket that update the map. any other commands will cause it to fork a process that will block and process all other commands namely dumping of the network map and doing specific map lookups. that way the main daemon will not have it's time taken up by queries about the map and since that is handled in a child process that child will only have a copy of the network map at the time of the fork. I also found a really awesome tool that blows away netcat called socat that I think I will include in the TN system for debugging and possibly other purposes later. not only does it allow me to interactively send data to and read from AF_UNIX sockets but it is an incredible networking swiss army knife that allows all sorts of different possible socket combinations to talk to each other.
[/projects/teotwawki] permanent link RSS feed
I have dug out xfig and made some simple figures showing how TEOTWAWKI Net works.
the arrows pointing to the ad-hoc cloud are as follows:
[/projects/teotwawki] permanent link RSS feed