diary @ telent

If you get an error updating cliki, this is intentional#

Wed Apr 28 22:22:29 2004

Topics: cliki lisp

If you get an error updating cliki, this is intentional. I've temporarily set it read-only, due to the actions of some pubescent wannabee who replaced upwards of twenty pages with pornographic images. Will reenable it as soon as something shiny distracts him and he pisses off elsewhere.

68.118.158.222 - - [28/Apr/2004:21:40:59 +0100] "POST /edit/index HTTP/1.1" 200 1716 "http://www.cliki.net/edit/index" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:43:23 +0100] "POST /edit/index HTTP/1.1" 200 1716 "http://www.cliki.net/edit/index" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:44:35 +0100] "POST /edit/index HTTP/1.1" 200 1716 "http://www.cliki.net/edit/index" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:44:56 +0100] "POST /edit/index HTTP/1.1" 500 1672 "http://www.cliki.net/edit/index" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:45:41 +0100] "POST /edit/Anthology HTTP/1.1" 200 1724 "http://www.cliki.net/edit/Anthology" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:46:00 +0100] "POST /edit/ACL HTTP/1.1" 200 1712 "http://www.cliki.net/edit/ACL" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:46:14 +0100] "POST /edit/Sourceforge HTTP/1.1" 200 1728 "http://www.cliki.net/edit/Sourceforge" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:46:24 +0100] "POST /edit/Make%20Old%20CMUCL%20CLX%20Work%20With%20Magic%20Cookies HTTP/1.1" 200 1804 "http://www.cliki.net/edit/Make%20Old%20CMUCL%20CLX%20Work%20With%20Magic%20Cookies" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:46:39 +0100] "POST /edit/Graphics%20library HTTP/1.1" 200 1740 "http://www.cliki.net/edit/Graphics%20library" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:46:52 +0100] "POST /edit/Portable%20Hemlock HTTP/1.1" 200 1740 "http://www.cliki.net/edit/Portable%20Hemlock" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:47:06 +0100] "POST /edit/Development HTTP/1.1" 200 1728 "http://www.cliki.net/edit/Development" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:47:16 +0100] "POST /edit/Matthew%20Danish HTTP/1.1" 200 1736 "http://www.cliki.net/edit/Matthew%20Danish" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:47:30 +0100] "POST /edit/CLiki HTTP/1.1" 200 1716 "http://www.cliki.net/edit/CLiki" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 1 seconds
68.118.158.222 - - [28/Apr/2004:21:48:05 +0100] "POST /edit/Text%20Formatting HTTP/1.1" 200 1738 "http://www.cliki.net/edit/Text%20Formatting" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:48:14 +0100] "POST /edit/LispWorks HTTP/1.1" 200 1724 "http://www.cliki.net/edit/LispWorks" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:48:26 +0100] "POST /edit/Mathematics HTTP/1.1" 200 1728 "http://www.cliki.net/edit/Mathematics" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:48:37 +0100] "POST /edit/GTK%20binding HTTP/1.1" 200 1730 "http://www.cliki.net/edit/GTK%20binding" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:48:54 +0100] "POST /edit/edit/The%20RtLS%20by%20Road HTTP/1.1" 200 1749 "http://www.cliki.net/edit/edit/The%20RtLS%20by%20Road" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:49:07 +0100] "POST /edit/org-davep-dictrepl HTTP/1.1" 200 1742 "http://www.cliki.net/edit/org-davep-dictrepl" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:49:26 +0100] "POST /edit/XML HTTP/1.1" 200 1712 "http://www.cliki.net/edit/XML" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:49:38 +0100] "POST /edit/CL-SDL HTTP/1.1" 200 1718 "http://www.cliki.net/edit/CL-SDL" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:50:01 +0100] "POST /edit/Proposed%20ANSI%20Revisions%20and%20Clarifications HTTP/1.1" 200 1798 "http://www.cliki.net/edit/Proposed%20ANSI%20Revisions%20and%20Clarifications" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:50:10 +0100] "POST /edit/Recent%20Changes HTTP/1.1" 200 1736 "http://www.cliki.net/edit/Recent%20Changes" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:50:33 +0100] "POST /edit/Recent%20Changes HTTP/1.1" 200 1736 "http://www.cliki.net/edit/Recent%20Changes" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:51:00 +0100] "POST /edit/CLUE HTTP/1.1" 200 1714 "http://www.cliki.net/edit/CLUE" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:51:13 +0100] "POST /edit/Glade HTTP/1.1" 200 1716 "http://www.cliki.net/edit/Glade" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:51:22 +0100] "POST /edit/CORBA HTTP/1.1" 200 1716 "http://www.cliki.net/edit/CORBA" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds
68.118.158.222 - - [28/Apr/2004:21:51:36 +0100] "POST /edit/pornpicture HTTP/1.1" 200 1728 "http://www.cliki.net/edit/pornpicture" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar)" www.cliki.net:80 "-" 0 seconds

The good news is that apparently there is no bone damage in my shoulder (got it x-rayed today). The bad news is that even soft tissue damage may take 6-8 weeks to heal, and in the meantime every time I raise my arm above shoulder I get a stab of pain the likes of which I wouldn't wish on anyone except possibly wiki vandals. So not, really, in a very good mood.

Solved a couple of CLiki bugs#

Tue May 4 00:58:08 2004

Topics: cliki

Solved a couple of CLiki bugs. The new version's not actually installed yet, but when it is, you'll

Finally installed various random CLiki fixes on www.cliki.net,#

Mon May 10 20:54:19 2004

Topics: cliki

Finally installed various random CLiki fixes on www.cliki.net, allowing me to shorten the bug list to something like 30% of what it was. New downloadable version imminentish, but I'm going home first.

CLiki 0.4.3 is now in cCLan#

Tue May 11 17:16:15 2004

Topics: cliki lisp

CLiki 0.4.3 is now in cCLan.

Bcc: dan
To: lispweb@red-bean.com
Subject: ANN: CLiki 0.4.3
X-Draft-From: ("nnml+private:mail.lists.london" 3116)
From: Daniel Barlow 
-text follows this line-

CLiki 0.4.3 is now in cCLan. This is approximately the version that's been running on www.cliki.net for the past few months.

New in CLiki 0.4.3

  • Versioning! At the expense of making the file names correspond even less closely with the page title, we now produce a version per edit.

  • While indexing we collect the first sentence of each page, and make it accessible as (CLIKI-FIRST-SENTENCE page)

  • Legacy searches now print this out.

  • Beginning of the long slow process to separate generic cliki engine stuff from www.cliki.net stuff: new cliki-net class that you probably don't want to use unless you're me

  • Indexing tweaks mean startup on big clikis may be a bit faster.

  • Bug fixes: RSS generation, topic searches.

    • (Uncategorized) marker added to default text for new pages.

Note that there is also an internals change which you may run into if you are building cliki-based tools: to make backlink searches and updating simpler, CLIKI-PAGE objects are now created when references to non-existent pages are encountered during indexing. These placeholder pages have NIL :pathname and :versions slots.

(You can see this behaviour in action at http://www.cliki.net/Dan%20Moniz, at lease until/unless someone creates that page)

This means that if you want to detect whether a page /really/ exists, you should not just rely on find-page returning NIL, but also test the pathname slot.

I'm daydreaming#

Wed May 12 18:05:10 2004

Topics: lisp asdf

I'm daydreaming. Yesterday I somehow ended up resubscribed to comp.lang.lisp, to participate (well, mostly laugh at) in the "Modernizing Common Lisp" thread. (My fingers seem determined to type that as "Mordorizing"; read into that what you will). Fortunately now I'm not taking it as seriously I find it more entertaining than frustrating. I'm not going to post some long screed about it here, but I did start thinking at a tangent.

Adopting a Nick Hornby writing cliché (which I'm sure he stole from the Mail on Sunday magazine anyway), here are my top five asdf-install-compatible libraries (excluding the ones I wrote). These are not in order of merit, just in the order they occur to me.

  1. xmls: I think I'm only using this for xml generation rather than actual parsing, but it's a snap for all those trivial XML formats like RSS.

  2. cl-ppcre: on which topic I have written before, yes.

  3. pg: although the version I'm actually using predates its asdf-installability (it works, and it's in production, and so I'm naturally reluctant to upgrade it).

  4. split-sequence: ok, really, how can I not?

  5. clx: kind of stretching a point here in that I asdfized it and host the cvs repository, but the hard work is/was all done by other people.

The common feature in all of these (except CLX, which I stuck in simply because so much else depends on it) is that they're small, do one thing well, and don't impose their way of working on me. Remember, you get ten points for a library, but only two for a framework.

In other news, I read somewhere that the Allegro CL 7.0 beta now includes asdf. I don't know if beta programme participants are bound by NDA or anything, but just in case they are I've conveniently forgotten where I got this news.

A brief note on diff and CL, for people who write functions with more#

Tue May 18 11:24:22 2004

Topics: lisp

A brief note on diff and CL, for people who write functions with more than four lines of body -

:; cvs diff -u -F '^(def'  url.lisp
Index: url.lisp
===================================================================
RCS file: /usr/local/src/cvs/araneida/url.lisp,v
retrieving revision 1.11
diff -u -F^(def -r1.11 url.lisp
--- url.lisp    10 Jul 2003 08:53:19 -0000      1.11
+++ url.lisp    18 May 2004 10:30:13 -0000
@@ -252,7 +252,7 @@ (defun urlstring-escape (url-string)
   (apply #'concatenate 'string
    (loop for c across url-string
          if (urlstring-reserved-p c)
-         collect (format nil "%~X" (char-code c))
+         collect (format nil "%~2,'0X" (char-code c))
          else
          collect (string c))))

Emphasis mine.

Brief non-computers roundup:#

Tue May 18 11:27:28 2004

Topics: lisp

Brief non-computers roundup:

I found today what seems to be the only arm movement that still makes#

Mon May 24 22:05:43 2004

Topics: cliki lisp

I found today what seems to be the only arm movement that still makes my shoulder hurt: pumping bicycle tyres. What's interesting, though, is that (a few hours later) both of my shoulders now ache, not just the right one. I'm probably carrying my neck in a funny way to avoid pulling something, and thereby stretching something else. Or something. That's handwaving, albeit fairly cautious handwaving in case I set something else off.

Araneida 0.85 is out. Its release received almost no publicity, because to be honest there wasn't much new in it. The next release of Araneida, however, is rumoured to include support for OpenMCL and Allegro (and possibly also, it's rumoured, ABCL). At least, I've given Brian CVS commit access, so I hope it will :-)

Why is there apparently no open source icalendar server? My conjecture is that the specification is in some way stupidly complex. So, what about subsetting it? My mobile phone claims to understand either icalendar or vcalendar (I forget which); if they can build calendaring into such a terminally dumb device as that, surely it's not impossible to do a reasonable subsetted implementation of icalendar as open source, then rely on network effects to make it a universal pidgin. But what's an appropriate subset?

Apparently there's a bug in my diary-publishing code which only#

Tue Jun 1 18:30:27 2004

Topics:

Apparently there's a bug in my diary-publishing code which only exhibits when there are no entries in a given month.

This is more in the nature of a workaround than a fix