pie in the sky ideas

ben / tech / pie-in-the-sky

lambdamoo bits

Interesting event scrollback in-mud: store "interesting event" lines in their entirely in-mud (rather than just storing that they happened).

progressive mail filtering

some stuff that I run on my mail -- specifically spamassassin -- ends up aborting if the CPU load or whatever is too high. it still makes sense to filter this stuff later on (hours later, even, and in fact (due to distributed spam dbs) may be better to filter later on). so it would be cool to have a wee little routine that scans maildir and for every message that has not been spamassassined, run the check on it; or for every message that has not been run in the past n minutes, run the check again. ... and from that result, move the message elsewhere, blah...

photo album software

For the past few years I've been using the excellent 'album' script from Dave's Marginal Hacks. On top of this, I've ended up with an increasingly unwieldy set of shell scripts to handle things like categorising photos and applying comments automatically.

So I'd like to redo the lot in a slightly more elegant, efficient fashion.

I use a front-end caching mechanism to speed up my photo website, with rough setup notes here.

make spamassassin milter put all the spamassassin headers in

my spamassassin configuration puts extra headers in to give details about the scores each rule provided, etc. I would like that info to be preserved in the case that the message went through the milter.

fragmented-mud

Something that behaves mostly like LambdaMOO (at least as far as end user interaction goes) but very distributed (potentially each object running in its own host/security domain/whatnot); it should be sufficiently distributed that there need only be one instance, in the same sense that there is only one internet.

union-mount cd under unix

One feature I've seen under VMS which I think I like better than the concept of doing union mounts as explicit mounts; something like being able to type cd $PATH or cd $MANPATH and end up in what appears to be a directory with the contents of each directory listed in that $PATH. I wonder if there is a nice way to do that under unix.

hash-move detection for rsync

maybe implement this one day: would be nice if rsync could detect that files were moved rather than than thinking it was two files, one deleted, one added - use eg sha1 on the list of removed and added files to determine this?

txtrss

An RSS generator for text files. When run given a text file and a (possibly not-existing-yet) RSS file, it generates a new RSS file containing all the old entries plus a new entry for any text that has been added to the text file since the last run. Gives an RSS feed that you can make new entries to by appending to the text file.

some offline bloggy thing that I like

related to above txtrss - I want to generate blog-like structures on the web, but I don't like the input-side of things like blogger or livejournal - a little bit too online for my tastes (I'm sporadically connected, and its the times when I'm not connected - on train/plane/bus - that I most want to do editing, etc of such)

fragmented XML storage/transmission

a while ago when I worked at ISI, I looked at doing some kind of fragmented XML transmission (imagine something like diff-based XML transmission except that for what we/I wanted to do, diffs didn't work so well so a more complicated framework is needed). I thought about this loads but never really got any code written - would be fun to spend a weekend hacking this up (I think thats enough for a basic prototype). Do it in Haskell for extra language learning points!

Interestingly, googling round a year or so later, I found that there's been some other work that is really close to some of the ideas I was tossing round: http://lambda.uta.edu/webdb05.pdf

SIM card sync

During my travels, I've collected a bunch of SIM cards. Each has an on-chip phonebook, which I'd like to keep (partially?) synchronised.

Eventually I may have enough numbers that they will not all fit on some of my cards; thus I might want to have certain UK people just on my UK SIMs, australia people just on my australia SIM, orange-specific numbers (such as balance enq) just on my orange sim etc, whilst good friends/family should be on all SIMs

furthermore, I might be using several SIMs at once (I own three phones in various states of repair) with modifications happening to the SIM DB (mostly additions and modifications -- its probably OK if delete doesn't work perfectly)

So, given a SIM card reader for my computer, how to use that to keep everything synchronised as desired?