Since I am a writer of assorted nonsense, I wrote a short piece on this, trying to articulate why I find this less than ideal and how it could, possibly, be turned from less-than- ideal to much better.
Personally, I try to release my own stuff in versioned tarballs, with an ASDF system definition having a matching version number. I suspect I should modify my release packager script to actually modify a list of stuff available, instead of having a couple of static pages I almost never edit (note: the packaging script makes some rather rash assumptions on the organisation of your source code and relies on a couple of magic files being up-to- date; your source code is probably not organised like mine is)
In other news, twitter syndication makes me unhappy. Especially when it goes Twitter, to LiveJournal, then on to Advogato. If I wanted to read them, I would've been on Twitter already.
Imagine a text, where each word is viewed as an integer. By, for example, splitting the text at whitespaces (this would leave punctuation as being parts of words, but this is not a critical problem). We can then convert each word to an octet vector (by, say, using UTF-8 encoding, since that seems so popular, these days). This octet vector, in turn, can be viewed as either a big-endian or little-endian 8n-bit unsigned integer.
Being an integer, it can be decomposed into its prime factors and these can them be emitted in some suitable order, using some simple framing protocol (using, say, 16- bit "prime ordinal", using 0 as a delimiter).
Obvsiouly, this restricts you from expressing words that happen to be prime, unless they're within the first 65535 primes and I haven't actually run any tests on this, to see how it seems to work out on actual test data. But other than being useless, I think it has cuteness potential.
Alas, I was a bit over-eager with the cleanup this time and I am considering putting up a static page with "commercial content archiving policy" stating that, yes, you can post spam and have it stored, at a cost of UKP 10 per day, per message. This is, of course, a more modern version of my spam archiving policy from the mid-90s (no, I received neither apologies nor money, but I did have great fun sending out a couple of emails asking for it, referencing said web page; I also know that it was adapted by some other people).
Background would be "I have several Mailman lists on common- lisp.net" (where "several" is, I believe, 8) and they do, of course, get spam. But, I essentially do NOT use any of Mailman's spam-fighting measures (there's a few "just drop" non-subscriber from-address regexps and a "moderate all non- subscriber posts") because while all the lists get spam, any measure needs to be duplicated to all the lists to be worth the effort and that is WAY too much like actual work.
Of course, as these things go, I fully expect that someone will tell me "install the Blahonga module and you get it" or "buh, all you need to to is to frob around in the config and it's there!" and that would be fine, too. Until then, I will keep deleting 1-5 spam emails from 2-6 lists daily (no, not all lists are hit in parallel, some are also more attractive than others, it's all probably worthy of having been data-collected and charted).
4 Nov 2008 (updated 4 Nov 2008 at 15:04 UTC) »
I'll probably have to go back through the web logs and see if there were any more attempts to post, so as to determine if my (rather weak) anti-spam measures actually work.
Some quick looking indicates "no, not at all". The measure I've taken is (essentially) to have a hidden field, initialised to an empty string, with a name that (ideally) should trick a screen scraper to fill it in and simply not file the comment if that is present.
For me, at least, I don't have to wonder, since I used vi before I used emacs (specifically, I went to emacs because vi without any easy reference is painful for a newbie and emacs had the built-in tutorial). Of course, I went to try vi after having endured ed(1) for about two months. OK for email and Usenet, just about, but painful for coding. Or so I found, at least.
I shall have to modify the question to "I wonder if my life would have been different if there'd been a vi in a nutshell book near me, when I first used vi?"
Yesterday, there was some enthusing over the Asus Eee in my (virtual) vincinity an dI flippantly said "can it run emacs?" and a short while realised that it's around 20 years since I first used emacs. That's an editor I've used for more than half of my life (and now, 15 years later, M-: for an eval prompt feels natural, but when it changed mid-90s, i tfelt very, very strange).
Curiously, I've actually coded in lisp longer than I've used emacs (and emacsoids), but only by a year or so and the first few years, what I had at hand was XLisp 1.2, not the most Common of lisps around (it's essentially a lisp-1, rather than a lisp-2 and it has its own bizarre object system that I never, ever, understood, even after having perused the interpreter's source).
It's slightly scary, though, having the thought "I've used emacs for more than half my life".
(date +%s; read foo; date +%s; echo r - p) | dc
Press return to start the timer, press return again to stop it and get a rough time in seconds between the two presses. May require GNU date, as I do not know how widely spread "%s" is as time-in-seconds-since-epoch time format control.
Sadly, the first version did the subtraction and then multiplied by -1, but I think properly swapping the two top elements of the stack is a slight win for elegance (if piping things into dc can ever be called "elegance").
FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!