<?xml version="1.0"?>
<rss version="2.0.">
  <channel>
    <title>Advogato blog for crhodes</title>
    <link>http://www.advogato.org/person/crhodes/</link>
    <description>Advogato blog for crhodes</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Wed, 14 May 2008 03:16:49 GMT</pubDate>
    <item>
      <pubDate>Tue, 22 Apr 2008 14:25:43 GMT</pubDate>
      <title>22 Apr 2008</title>
      <link>http://www.advogato.org/person/crhodes/diary.html?start=125</link>
      <guid>http://www.advogato.org/person/crhodes/diary.html?start=125</guid>
      <description>I spent the weekend in Amsterdam, doing ordinary touristy&#xD;
things on&#xD;
the days when I wasn't attending the 2008 edition of the &lt;a href="http://www.weitz.de/eclm2008/" &gt;European Common Lisp&#xD;
Meeting&lt;/a&gt;.&#xD;
I suspect that most readers of this diary are likely to prefer a&#xD;
summary of the ECLM to the details of my wanderings on the&#xD;
(rather&#xD;
cold) Saturday, so that is what I shall provide.&#xD;
&#xD;
&lt;p&gt; Walking through the streets of continental cities early&#xD;
(around 08:00)&#xD;
on a Sunday Morning is usually a pleasant experience &amp;ndash;&#xD;
everything is closed, most people aren't even yet going to&#xD;
appropriate&#xD;
religious observances, and so you get an unimpeded view of&#xD;
the town,&#xD;
devoid of the hordes that can cause obstruction or aggravation.&#xD;
Unfortunately, Amsterdam is a somewhat popular destination&#xD;
for British&#xD;
&amp;lsquo;stag&amp;rsquo; parties; and, indeed, as I was walking down&#xD;
Leidsestraat, two such parties, who did not seem to be the&#xD;
sort to be&#xD;
going either to an appropriate religious observance or to&#xD;
the ECLM,&#xD;
passed each other.  Noise ensued.&#xD;
&#xD;
&lt;p&gt; On arriving at the &lt;a href="http://www.felix.meritis.nl/nl/" &gt;Felix&#xD;
Meritis&lt;/a&gt;, at 08:30 on the dot, I saw a crowd of people, all&#xD;
seemingly with the same idea: to have the first coffee of&#xD;
the day.&#xD;
Fortunately, the doors opened shortly afterwards, and&#xD;
caffeination was&#xD;
allowed to take place.  Conversation happened as well,&#xD;
though I can't&#xD;
remember very much of it, not yet having been fully&#xD;
invigorated by the&#xD;
coffee.  Mostly I think I explained why I wasn't on the previous&#xD;
night's boat trip: a combination of somewhat tardy&#xD;
registration and a&#xD;
second mouth to feed...&#xD;
&#xD;
&lt;p&gt; And then the real action, the talks, got under way.  Unlike&#xD;
many an&#xD;
academic conference, of of the ECLM's distinguishing&#xD;
features is that&#xD;
the talks are attended by the vast majority of the participants;&#xD;
there's much less of a feeling that people simply attend to&#xD;
chat to&#xD;
colleagues: probably partly because the talks are very much the&#xD;
&amp;lsquo;deliverable&amp;rsquo; of the meeting (there are no&#xD;
proceedings or&#xD;
anything like that) but also, I think, because the talks cover&#xD;
interesting ground, and offer perspectives based on a solid&#xD;
amount of&#xD;
experience.&#xD;
&#xD;
&lt;p&gt; Jeremy Jones (from &lt;a href="http://clozure.com/" &gt;Clozure&#xD;
Associates&lt;/a&gt;) started the ball rolling, with a talk on the&#xD;
production of &lt;a href="http://www.inspiration.com/productinfo/inspiredata/index.cfm" &gt;InspireData&lt;/a&gt;:&#xD;
an application built for data visualization in an (American,&#xD;
pre-University) educational context.  Jeremy wisely started&#xD;
off with a&#xD;
demonstration of InspireData's features; it contains some very&#xD;
impressive-looking tools, and seems to present them to the&#xD;
user in a&#xD;
sensible way.  I haven't tried it or gone beyond the demo,&#xD;
but it&#xD;
looks like a huge advance on, say, using an off-the-shelf&#xD;
spreadsheet&#xD;
program to do data analysis, even (dare I say it) for&#xD;
professionals&#xD;
&amp;ndash; though whether it scales up to professional-sized&#xD;
data sets is&#xD;
another question.&#xD;
Some other take-home messages from Jeremy's talk: it is&#xD;
possible to&#xD;
sell shrink-wrapped software, even today, even written in&#xD;
Lisp; having&#xD;
a proper designer on the team (or as your client) can help&#xD;
enormously&#xD;
in producing a usable interface; and having a programmer as your&#xD;
client can be both a help and a hindrance &amp;ndash; specify the&#xD;
acceptance process carefully.&#xD;
&#xD;
&lt;p&gt; Nicholas Neuss followed Jeremy, with a discussion of the &lt;a&gt;FEMLISP&lt;/a&gt; framework for solving&#xD;
partial differential equations.  Being in a somewhat&#xD;
darkened room,&#xD;
early in the morning at a weekend reminded me a little of my &lt;a href="http://www.phy.cam.ac.uk/teaching/III.php" &gt;undergraduate&#xD;
days&lt;/a&gt;, where discussion of differential equations, fields&#xD;
and the&#xD;
like was par for the course &amp;ndash; and the talk took me&#xD;
right back&#xD;
(in a good way).  In particular, watching FEMLISP compute the&#xD;
eigenmodes of Lake Constance (surface waves, I think) was&#xD;
entertaining.  One difference in kind between this talk and the&#xD;
previous is, I think, a function of the possible&#xD;
&amp;lsquo;market&amp;rsquo;&#xD;
for the two tools; InspireData is sold in quantities of the&#xD;
order of&#xD;
tens of thousands at present, while, let's face it, FEMLISP&#xD;
is never&#xD;
going to have that kind of exposure: and so the resources aren't&#xD;
really available to make FEMLISP into a product usable by&#xD;
even other&#xD;
domain experts.  Of course, the fact that Nicholas' boss makes a&#xD;
competing product might also have something to do with that...&#xD;
&#xD;
&lt;p&gt; There followed a talk about large Internet systems, from Stefan&#xD;
Richter.  There was an interesting survey during the talk,&#xD;
asking&#xD;
people about the size of their userbase (assuming that they&#xD;
worked on&#xD;
web applications at all).  An interesting distribution;&#xD;
certainly&#xD;
applications with millions of users are no longer&#xD;
&lt;i&gt;rare&lt;/i&gt; &amp;ndash;&#xD;
and &lt;a href="http://jsnell.iki.fi/blog/" &gt;Juho&lt;/a&gt; showed&#xD;
commendable&#xD;
restraint in not snorting something along the lines of&#xD;
&amp;ldquo;&lt;i&gt;millions&lt;/i&gt; of users?&amp;rdquo; One other&#xD;
interesting moment&#xD;
was when &lt;a href="http://www.nicklevine.org/" &gt;Nick&#xD;
Levine&lt;/a&gt; stopped&#xD;
Stefan, to give him time to write down the long list of&#xD;
libraries that&#xD;
is already available to help build Lisp web applications,&#xD;
from the&#xD;
database to the front-end.&#xD;
&#xD;
&lt;p&gt; Kilian Sprotte gave the last presentation before lunch,&#xD;
talking about&#xD;
the &lt;a href="http://www2.siba.fi/PWGL/" &gt;GL-enabled&#xD;
Patchwork&lt;/a&gt; music&#xD;
visual programming system.  The presentation unfortunately&#xD;
appeared to&#xD;
be a little bit unrehearsed, and so I'm not sure that Kilian got&#xD;
everything that he wanted to across to the general audience.&#xD;
 From my&#xD;
perspective, though, it was sufficiently close to the &lt;a href="http://www.doc.gold.ac.uk/" &gt;day job&lt;/a&gt; that I could&#xD;
see the&#xD;
point (and catch some of the references; B-A-C-H and so on)&#xD;
&amp;ndash;&#xD;
I'll be able to report back to people in the lab, who were&#xD;
asking&#xD;
about it, and maybe we can find some useful musical analysis&#xD;
algorithms in there.  Also, it occurred to me that &lt;a href="http://common-lisp.net/project/gsharp/" &gt;GSharp&lt;/a&gt; could&#xD;
usefully provide some import or export functionality for the&#xD;
chord and&#xD;
score editors, maybe through MusicXML, or maybe writing&#xD;
directly into&#xD;
the PWGL notations for notes (tighter couplings are likely&#xD;
to be hard,&#xD;
given PWGL's current non-Open-Source nature.)&#xD;
&#xD;
&lt;p&gt; Then we broke for lunch; Juho, &lt;a href="http://random-state.net/" &gt;Nikodemus&lt;/a&gt; and I ended up&#xD;
sitting&#xD;
on a table with Hannes Mehnert and Luke Gorrie; among other&#xD;
conversations, we had &lt;a href="http://article.gmane.org/gmane.lisp.steel-bank.devel/11135" &gt;The&#xD;
Great SBCL Maintenance Debate&lt;/a&gt;, and we now have a&#xD;
proposed Plan.&#xD;
(I don't know if any other plans have been proposed, but&#xD;
hopefully&#xD;
soon there will be less uncertainty.)  The rest of the lunch&#xD;
break was&#xD;
spent grilling Luke about OLPC and Kathmandu, and eating&#xD;
interesting&#xD;
interpretations of caf&amp;eacute; food.  (Pasta&#xD;
&lt;i&gt;arrabiata&lt;/i&gt; with&#xD;
beans and squash?  I don't think so.)&#xD;
&#xD;
&lt;p&gt; After lunch, a talk about &lt;strike&gt;cheap apartment&#xD;
design&lt;/strike&gt; architect&#xD;
assistance software: Knowledge-Based Engineering, where in&#xD;
this case&#xD;
the knowledge base is about Norwegian building regulations.&#xD;
 The idea&#xD;
of the &lt;i&gt;House Designer&lt;/i&gt; product developed at Selvaag is&#xD;
to allow&#xD;
architects to experiment with designs, while tracking that&#xD;
building&#xD;
rules (both governmentally-imposed and the house style) can be&#xD;
accommodated, along with all the necessary pipes and&#xD;
electrics and so&#xD;
on.  It was good to see a variety of techniques on display,&#xD;
and I&#xD;
liked the flashes of humour: for instance, that the&#xD;
user-interface&#xD;
group asking for XML descriptions was OK by the Lisp group,&#xD;
but that&#xD;
then the user-interface group wanted to send XML back, and&#xD;
that was&#xD;
&lt;i&gt;not&lt;/i&gt; OK.  It's good to know that &lt;a href="http://www.cs.uit.no/~frodef/" &gt;Frode Fjeld&lt;/a&gt; has a&#xD;
Lisp job,&#xD;
too; he was solidly namechecked in the presentation.&#xD;
&#xD;
&lt;p&gt; Then Juan Jos&amp;eacute; Garc&amp;iacute;a-Ripoll came to the stage&#xD;
to talk&#xD;
about ECL design and implementation.  There were some wry&#xD;
moments for&#xD;
me there; starting with the observation that he wasn't really a&#xD;
computer scientist at all, but rather a physicist.  Also,&#xD;
many of the&#xD;
motivations for the ECL design appear to be direct analogues&#xD;
of some&#xD;
of &lt;a href="http://www.sbcl.org/" &gt;SBCL&lt;/a&gt;'s&#xD;
&lt;tt&gt;PRINCIPLES&lt;/tt&gt;:&#xD;
completeness, clean bootstrappability, and preferring&#xD;
maintainability&#xD;
over whizzy features, for instance (I hope I'm not&#xD;
mischaracterizing&#xD;
here; it's possible I'm just evaluating what he said through an&#xD;
SBCL-tinted lens).  Given that, I think it's interesting how&#xD;
different&#xD;
the two systems look, maybe just from having different starting&#xD;
points?&#xD;
&#xD;
&lt;p&gt; After the final coffee break, yet more talks.  Marc Battyani, of&#xD;
&lt;strike&gt;&lt;a href="http://www.fractalconcept.com/" &gt;FractalConcept&lt;/a&gt;&lt;/strike&gt;&#xD;
&lt;a href="http://www.hpcplatform.com/" &gt;HPC Platform&lt;/a&gt;, talked&#xD;
about&#xD;
using Lisp to program FPGAs for custom high-performance&#xD;
solutions; in&#xD;
particular, applications in the financial world, such as&#xD;
derivative&#xD;
valuations and automatic share trading platforms.  (A word&#xD;
of advice&#xD;
to Marc: it's not often that you get to say that you're 1000&#xD;
times as&#xD;
fast as your nearest competitor, nor that you can process&#xD;
packets&#xD;
faster than the test network can send them to you &amp;ndash; so&#xD;
don't let&#xD;
that message get hidden by the constant fumbling for a&#xD;
particular&#xD;
Microsoft Image and Fax viewer window!)  The products he has&#xD;
look&#xD;
interesting; best of luck to him for finding a buyer in&#xD;
these more&#xD;
financially-challenged times...&#xD;
&#xD;
&lt;p&gt; And finally, the &lt;i&gt;pi&amp;egrave;ce de r&amp;eacute;sistance&lt;/i&gt;: Kenny&#xD;
Tilton took the stage, to give &amp;ldquo;a rant on the state of&#xD;
Lisp and&#xD;
Lispniks touching on Algebra software, Lisp libraries, Open&#xD;
Source,&#xD;
Cello, Cells, and somewhere along the way introducing&#xD;
Triple-Cells,&#xD;
animated data modelling with persistence for free&amp;rdquo;.&#xD;
Unfortunately, it seemed that we weren't going to get this rant;&#xD;
instead, we got a small demo of the Algebra tutoring&#xD;
software, along&#xD;
with some discussion of the dataflow paradigm that Kenny&#xD;
believes is&#xD;
central to all simple applications, and a fair number of sound&#xD;
effects.  Nice anecdote about Lisp and speeding tickets, though.&#xD;
&#xD;
&lt;p&gt; Then it was all over bar the dinner; I chatted to Pascal&#xD;
Costanza and&#xD;
Charlotte Herzeel about the busy workshop season, to Jeremy&#xD;
Jones and&#xD;
Marco Baringer about the (lack of) checkin policy to SBCL's&#xD;
CVS, to &lt;a href="http://www.weitz.de/" &gt;Edi&lt;/a&gt; about how much Heathrow&#xD;
Airport&#xD;
sucks, among many conversations.  As we were about to call&#xD;
it a night,&#xD;
Nick mentioned that the &lt;a href="http://www.lispworks.com/lambda-express.html" &gt;Lambda&#xD;
Express&lt;/a&gt;&#xD;
had some spare tickets, and that we could probably hitch a&#xD;
lift back&#xD;
to London by train (rather than by plane to Terminal 5...),&#xD;
so we&#xD;
arranged to meet Dave Fox and his crew the following&#xD;
morning.  While&#xD;
on the train, in a spirit of cross-implementation&#xD;
co-operation, we&#xD;
essentially finished the Araucaria from the Saturday&#xD;
Guardian &amp;ndash;&#xD;
documentary evidence will be forthcoming.  And then it&#xD;
really was all&#xD;
over.</description>
    </item>
    <item>
      <pubDate>Mon, 18 Feb 2008 10:15:25 GMT</pubDate>
      <title>18 Feb 2008</title>
      <link>http://www.advogato.org/person/crhodes/diary.html?start=124</link>
      <guid>http://www.advogato.org/person/crhodes/diary.html?start=124</guid>
      <description>Long time no blog.  As ever, there are a number of reasons&#xD;
for this:&#xD;
complicated employment situation; too much work to do... but&#xD;
there's&#xD;
also the slightly addictive personality to consider.  Since I've&#xD;
already been here once before, it should have come as no&#xD;
surprise to&#xD;
me that I could become engrossed in beating a roguelike&#xD;
game; in the&#xD;
end, I did beat &lt;a href="http://www.t-o-m-e.net/" &gt;Tales of&#xD;
Middle&#xD;
Earth&lt;/a&gt; (ToME) into submission, as I did with &lt;a href="http://www.nethack.org" &gt;Nethack&lt;/a&gt; &lt;a href="http://www.advogato.org/person/crhodes/diary/97.html" &gt;two&#xD;
years&#xD;
ago&lt;/a&gt;.  (Two years?  Well, consider that the only solid&#xD;
playing time&#xD;
is around Christmas, and then learn that last year I&#xD;
&lt;i&gt;almost&lt;/i&gt;&#xD;
beat ToME into submission...)&#xD;
&#xD;
&lt;p&gt; &amp;#8220;Complicated employment situation&amp;#8221;, I hear you&#xD;
ask?  The&#xD;
life of a junior academic researcher, while rewarding, often&#xD;
feels&#xD;
precarious: my main project research funding ran out at the&#xD;
end of&#xD;
May, and since then I have been employed on a succession of&#xD;
temporary&#xD;
research contracts.  One thing this has led me to discover&#xD;
is that I&#xD;
am just not very good at having the next thing lined up&#xD;
before the&#xD;
current thing expires.  Another is that I do not like the scary&#xD;
feeling of not knowing what I am doing next month &amp;ndash; or&#xD;
perhaps&#xD;
more pertinently, where the next paycheque is coming from.&#xD;
&#xD;
&lt;p&gt; The good news is that this has now resolved itself; I have&#xD;
accepted a&#xD;
lectureship at &lt;a href="http://www.goldsmiths.ac.uk/" &gt;Goldsmiths&lt;/a&gt;,&#xD;
a part of the University of London.  (For readers not fully&#xD;
versed in&#xD;
the UK Higher Education terminology, this is a Real,&#xD;
Permanent Job&#xD;
involving a mixture of teaching, personal research and&#xD;
filling in lots&#xD;
and lots of forms.)  I work in a &lt;a href="http://www.doc.gold.ac.uk/isms/" &gt;group&lt;/a&gt; specializing in&#xD;
investigating sound and musical processes, from analysis and&#xD;
synthesis, through cognition, designing systems for cataloguing&#xD;
musical artifacts, all the way to automated Music Theory.&#xD;
&#xD;
&lt;p&gt; So what do I do there?  My primary research responsibility&#xD;
is to the&#xD;
&lt;a href="http://www.omras2.org/" &gt;OMRAS2&lt;/a&gt; project, which&#xD;
aims to do&#xD;
all sorts of clever things for recognizing and searching music:&#xD;
current fingerprinting services work on exact (but possibly&#xD;
degraded)&#xD;
copies of notionally entire tracks, whereas I have an&#xD;
interest in&#xD;
automatically deducing musical structures both from audio&#xD;
and from&#xD;
notation, and in working with approximate kinds of similarity&#xD;
(detecting that a track is a remix of another, or a cover&#xD;
version, and&#xD;
so on).&#xD;
&#xD;
&lt;p&gt; One of the reasons that I like this group so much, though,&#xD;
is that&#xD;
when I first met them, one of the PhD students (who is still&#xD;
with us,&#xD;
in a more advanced capacity) was working on his laptop using &lt;a href="http://www.cons.org/cmucl/" &gt;CMUCL&lt;/a&gt; and &lt;a href="http://sourceforge.net/projects/ilisp/" &gt;ILISP&lt;/a&gt;&#xD;
(this was late 2003,&#xD;
so &lt;a href="http://common-lisp.net/project/slime/" &gt;SLIME&lt;/a&gt; was&#xD;
if not a&#xD;
glimmer in the mind of Luke Gorrie, at least not the clear&#xD;
choice for&#xD;
development on Free Common Lisps as it is today).  This&#xD;
means that my&#xD;
interests in the engineering and language design aspects of &lt;a href="http://www.sbcl.org/" &gt;SBCL&lt;/a&gt; development can go&#xD;
hand-in-hand&#xD;
with attempting to come up with protocols for interacting&#xD;
with musical&#xD;
corpora in many, many different formats: attempting to make&#xD;
it so that&#xD;
the same routines can operate both on &lt;a href="http://www.doc.gold.ac.uk/isms/ecolm/" &gt;representations&#xD;
of lute&#xD;
tablature&lt;/a&gt; and on a database of MIDI files designed for&#xD;
karaoke&#xD;
machines, being used to investigate &lt;a href="http://www.doc.gold.ac.uk/isms/mmm/" &gt;memory for&#xD;
music&lt;/a&gt;.  I finally have the&#xD;
excuse to use &lt;a href="http://common-lisp.net/project/gsharp/" &gt;gsharp&lt;/a&gt; at&#xD;
work, too!&#xD;
&#xD;
&lt;p&gt; Speaking of gsharp, Brian Gruber handsomely completed his &lt;a href="http://code.google.com/soc/2007" &gt;Summer of Code&lt;/a&gt;&#xD;
project, to&#xD;
add &lt;a href="http://www.recordare.org/xml.html" &gt;MusicXML&lt;/a&gt;&#xD;
import&#xD;
and export facilities.  His work has been integrated into&#xD;
gsharp's CVS&#xD;
repository, and is being used and further developed here at&#xD;
Goldsmiths, and I got a T-shirt from Google.  If you're reading:&#xD;
thanks, Brian.&#xD;
&#xD;
&lt;p&gt; It's not quite &amp;#8220;all quiet on the SBCL front&amp;#8221;,&#xD;
but all of&#xD;
the rest of my life leaves me with less time to spend on it&#xD;
than I&#xD;
would like.  I did manage to &lt;a href="http://article.gmane.org/gmane.lisp.steel-bank.devel/10782" &gt;restore&#xD;
support for the alpha architecture&lt;/a&gt;, which had bitrotted&#xD;
a little&#xD;
in the last year; this puts me in a reasonable position to&#xD;
finish up&#xD;
my work on improving the interaction between modular&#xD;
arithmetic and&#xD;
representation selection.  In addition, I have been pushing&#xD;
forward a&#xD;
little bit the work that I reported on at ECOOP last year&#xD;
regarding&#xD;
user-defined subclasses of &lt;tt&gt;specializer&lt;/tt&gt;; stay tuned&#xD;
for more&#xD;
details.  (Maybe sooner than in six months' time!)&#xD;
</description>
    </item>
    <item>
      <pubDate>Wed, 15 Aug 2007 20:12:36 GMT</pubDate>
      <title>15 Aug 2007</title>
      <link>http://www.advogato.org/person/crhodes/diary.html?start=123</link>
      <guid>http://www.advogato.org/person/crhodes/diary.html?start=123</guid>
      <description>It's been a while.  Lots of interesting[&lt;a&#xD;
href="#fn1"&gt;*&lt;/a&gt;] stuff to talk about.  Since my &lt;a&#xD;
href="http://www.advogato.org/person/crhodes/diary/122.html"&gt;previous&#xD;
diary entry&lt;/a&gt; was about my work for the &lt;a&#xD;
href="http://lisp-ecoop07.bknr.net/home"&gt;European Lisp&#xD;
Workshop&lt;/a&gt;, why not start with my recollections and&#xD;
observations about that?&#xD;
&#xD;
&lt;p&gt; The workshop itself was one day long, and had one invited&#xD;
talk, five papers presented (one of which was mine) and a&#xD;
more informal demo / presentation of current advances in&#xD;
ContextL (a Lisp implementation of Context-Oriented&#xD;
Programming), given by &lt;a&#xD;
href="http://p-cos.blogspot.com/"&gt;Pascal Costanza&lt;/a&gt;.&#xD;
&#xD;
&lt;p&gt; The invited talk was given by &lt;a&#xD;
href="http://www.cs.colorado.edu/~ralex/"&gt;Alexander&#xD;
Repenning&lt;/a&gt;, and was titled &amp;#8220;Antiobjects&amp;#8221; (and&#xD;
subtitled &amp;#8220;Mapping Game AI to Massively Parallel&#xD;
Architectures using Collaborative Diffusion&amp;#8221;, for what&#xD;
that's worth).  The central idea, I think, was to convert a&#xD;
goal-oriented architecture &amp;ndash; expressing behaviour of&#xD;
agents in the system in terms of what their goals are, in&#xD;
what is maybe the typical object-oriented programming style&#xD;
&amp;ndash; into an optimization problem, viewing the system as&#xD;
a whole.&#xD;
&#xD;
&lt;p&gt; This change of perspective (the &amp;#8220;Antiobjects&amp;#8221; of&#xD;
the title allows for some interesting emergent properties. &#xD;
The compelling example Alexander gave was for ghosts chasing&#xD;
Pacman: the difficult bit in the traditional object-oriented&#xD;
style is in implementing collaborative strategies: if there&#xD;
are two ways to reach Pacman, and two ghosts, you (the evil&#xD;
games programmer) would like the two ghosts to take one way&#xD;
each.  Generalising for large values of &amp;#8220;two&amp;#8221; is&#xD;
tricky.  The Antiobject solution is instead to define a&#xD;
Pacman field, which diffuses away from the Pacman source,&#xD;
and have the ghosts be sinks of that field.  Then the ghosts&#xD;
simply need to do hill-climbing of the Pacman field, and the&#xD;
desired behaviour of collaborative-Pacman-eating appears as&#xD;
if by magic.&#xD;
&#xD;
&lt;p&gt; S&amp;eacute;bastien Mosser gave a &lt;a&#xD;
href="http://lisp-ecoop07.bknr.net/submission/13528"&gt;talk&#xD;
about meta-models&lt;/a&gt; which, I have to confess, I didn't&#xD;
understand at all.  I don't know what a &amp;#8220;model&amp;#8221;&#xD;
is, let along a &amp;#8220;meta-model&amp;#8221;, and unfortunately&#xD;
S&amp;eacute;bastien didn't really give me an idea why I should&#xD;
care.  I welcome &lt;a&#xD;
href="mailto:csr21&amp;#64;cantab.net"&gt;enlightened&#xD;
discussion&lt;/a&gt; on this, if I should in fact care.  The next&#xD;
presentation, reporting work by Pierre and Simon Thierry,&#xD;
was a general introduction to transparent persistence, which&#xD;
(as Pierre said) is almost a textbook example of using the&#xD;
Metaobject Protocol.  The picture is slightly clouded&#xD;
because unfortunately &lt;a&#xD;
href="http://www.lispworks.com/reference/HyperSpec/Body/f_upda_1.htm"&gt;&lt;tt&gt;update-instance-for-redefined-class&lt;/tt&gt;&lt;/a&gt;&#xD;
is not quite able to cope with multiple class redefinitions&#xD;
in between accesses to instances.  I believe I have a&#xD;
solution for this issue, but the margin of this blog is too&#xD;
small to contain it.  (In practice, people work around the&#xD;
problem without too much pain: I discussed this at the&#xD;
workshop with not only Pierre, but also Arthur Lemmens of &lt;a&#xD;
href="http://common-lisp.net/project/rucksack/"&gt;rucksack&lt;/a&gt;&#xD;
fame.&#xD;
&#xD;
&lt;p&gt; After lunch, I gave my talk about user-extensible&#xD;
specializers, details about their implementation, and&#xD;
examples of their use.  In the course of giving examples, I&#xD;
inevitably made the mathematician's mistake of attempting to&#xD;
persuade the audience that simplifying &lt;tt&gt;(* _x 0)&lt;/tt&gt; to&#xD;
&lt;tt&gt;_x&lt;/tt&gt; was a good idea, but apart from that I don't&#xD;
think I embarrassed myself too much.  What's interesting is&#xD;
that Jim Newton's talk, scheduled immediately after mine,&#xD;
was about an application of user-defined specializers,&#xD;
though in the &lt;tt&gt;SKILL&lt;/tt&gt; (or maybe &lt;tt&gt;SKILL++&lt;/tt&gt;, I&#xD;
forget) language of &lt;a&#xD;
href="http://www.cadence.com/"&gt;Cadence&lt;/a&gt; rather than in&#xD;
Common Lisp.  (For the Common Lisper who is intrigued at&#xD;
seeing an application for user-defined specializer classes,&#xD;
as well as reading &lt;a&#xD;
href="http://lisp-ecoop07.bknr.net/pdf/20571"&gt;Jim Newton's&#xD;
paper&lt;/a&gt; I can recommend getting my implementation of the&#xD;
ideas by doing &lt;tt&gt;darcs&amp;nbsp;get&amp;nbsp;&lt;a&#xD;
href="http://common-lisp.net/~crhodes/vclos/"&gt;http://common-lisp.net/~crhodes/vclos&lt;/a&gt;&lt;/tt&gt;,&#xD;
and playing around with the source files and examples therein.&#xD;
&#xD;
&lt;p&gt; After that, &lt;a href="http://random-state.net/" &gt;Nikodemus&lt;/a&gt;&#xD;
talked about his &lt;a&#xD;
href="http://random-state.net/log/3387038617.html"&gt;work&lt;/a&gt;&#xD;
on making the various caches in &lt;a&#xD;
href="http://www.sbcl.org/"&gt;SBCL&lt;/a&gt;'s implementation of&#xD;
CLOS thread-safe; we got to see some current directions in&#xD;
Context-Oriented Programming development (as well as news&#xD;
that a very few people are actually using it in the wild!),&#xD;
and then it was off to dinner, where I manage to surprise&#xD;
Edi by telling him that &lt;a&#xD;
href="http://weitz.de/hunchentoot/"&gt;his webserver&lt;/a&gt; was&#xD;
too complicated, and &lt;a&#xD;
href="http://lichteblau.blogspot.com/"&gt;David&lt;/a&gt; managed&#xD;
(not entirely) to surprise me by not talking at all about &lt;a&#xD;
href="http://thread.gmane.org/gmane.lisp.mcclim.devel/1471"&gt;putative&#xD;
CLIM backends&lt;/a&gt;...&#xD;
&#xD;
&lt;p&gt; [&lt;a name="fn1" &gt;*&lt;/a&gt;]In My Opinion.</description>
    </item>
    <item>
      <pubDate>Fri, 22 Jun 2007 15:12:21 GMT</pubDate>
      <title>22 Jun 2007</title>
      <link>http://www.advogato.org/person/crhodes/diary.html?start=122</link>
      <guid>http://www.advogato.org/person/crhodes/diary.html?start=122</guid>
      <description>People&lt;a href="#people" &gt;*&lt;/a&gt; like to say that &lt;a&#xD;
href="http://www.lispworks.com/documentation/HyperSpec/Front/index.htm"&gt;Common&#xD;
Lisp&lt;/a&gt; is the programmable programming language, or the&#xD;
&lt;tt&gt;#1=(programmable&amp;nbsp;.&amp;nbsp;#1#)&lt;/tt&gt; programming&#xD;
language: possibly because much of what Common Lisp provides&#xD;
is in some way malleable: the reader, the printer, the&#xD;
pretty-printer, the object system and the syntax are all to&#xD;
a large extent customizeable, through &lt;a&#xD;
href="http://www.lispworks.com/documentation/HyperSpec/Body/v_rdtabl.htm"&gt;&lt;tt&gt;*readtable*&lt;/tt&gt;&lt;/a&gt;,&#xD;
&lt;a&#xD;
href="http://www.lispworks.com/documentation/HyperSpec/Body/f_pr_obj.htm"&gt;&lt;tt&gt;print-object&lt;/tt&gt;&lt;/a&gt;,&#xD;
&lt;a&#xD;
href="http://www.lispworks.com/documentation/HyperSpec/Body/v_pr_ppr.htm#STprint-pprint-dispatchST"&gt;&lt;tt&gt;*print-pprint-dispatch*&lt;/tt&gt;&lt;/a&gt;,&#xD;
the &lt;a&#xD;
href="http://www.lisp.org/mop/concepts.html"&gt;Metaobject&#xD;
Protocol&lt;/a&gt; and &lt;a&#xD;
href="http://www.lispworks.com/documentation/HyperSpec/Body/m_defmac.htm"&gt;macros&lt;/a&gt;&#xD;
respectively.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; Not everything in CL is in such a marvellous state of&#xD;
perfect adaptability &amp;ndash; though perfect adaptability&#xD;
does not necessarily mean unlimited customizeability, as&#xD;
there are concerns about being able to compile to efficient&#xD;
code where that is desired as well as being able to mold the&#xD;
system to meet a set of needs.  I've already discussed one&#xD;
case of (by default) non-extensibility, that of subclassing&#xD;
the &lt;a&#xD;
href="http://www.lispworks.com/documentation/HyperSpec/Body/t_seq.htm"&gt;&lt;tt&gt;sequence&lt;/tt&gt;&lt;/a&gt;&#xD;
System Class; Common Lisp has a wide range of functionality&#xD;
that is applicable to sequences, but no way of defining new&#xD;
kinds of sequence, instead restricting the applicability of&#xD;
those sequence functions to just singly-linked lists and&#xD;
vectors.  In this modern age, that's a little bit&#xD;
unambitious, and so I presented a paper at the &lt;a&#xD;
href="http://www.international-lisp-conference.org/2007/index"&gt;International&#xD;
Lisp Conference this year&lt;/a&gt; about how to extend CL to &lt;a&#xD;
href="http://doc.gold.ac.uk/~mas01cr/papers/ilc2007/sequences-20070301.pdf"&gt;allow&#xD;
the user to define his own sequence classes&lt;/a&gt;.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; For the 4th &lt;a&#xD;
href="http://lisp-ecoop07.bknr.net/home"&gt;European Lisp&#xD;
Workshop&lt;/a&gt; (in conjunction with &lt;a&#xD;
href="http://ecoop07.swt.cs.tu-berlin.de/index.html"&gt;ECOOP&lt;/a&gt;),&#xD;
I've looked at a similar example of user-extensibility,&#xD;
though maybe a little more esoteric: examining the ability&#xD;
of the user to define subclasses of the &lt;tt&gt;specializer&lt;/tt&gt;&#xD;
metaobject class (and how to use those new specializers in&#xD;
the existing CLOS metaobject protocols).  The first draft of&#xD;
the writeup around this issue is &lt;a&#xD;
href="http://lisp-ecoop07.bknr.net/submission/13487"&gt;available&lt;/a&gt;;&#xD;
the document linked there is not final, but it is correct in&#xD;
the broad brushstroke summary, which is that in this area&#xD;
the Metaobject Protocol is poorly implemented (an even more&#xD;
executive summary might be: get &lt;a&#xD;
href="http://www.sbcl.org/"&gt;SBCL&lt;/a&gt; 1.0.7 if you want to&#xD;
try it out...)&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;a name="people" &gt;[*]&lt;/a&gt; some people, anyway.  It's possible&#xD;
for people to get caught up in hype and to make claims that&#xD;
they cannot themselves justify, appealing instead to some&#xD;
higher authority when challenged; one common pattern with&#xD;
respect to Common Lisp could be called the &lt;a&#xD;
href="http://brucio.blogspot.com/"&gt;brucio&lt;/a&gt; pattern.</description>
    </item>
    <item>
      <pubDate>Fri, 15 Jun 2007 20:34:45 GMT</pubDate>
      <title>15 Jun 2007</title>
      <link>http://www.advogato.org/person/crhodes/diary.html?start=121</link>
      <guid>http://www.advogato.org/person/crhodes/diary.html?start=121</guid>
      <description>More &lt;a&#xD;
href="http://common-lisp.net/project/gsharp"&gt;Gsharp&lt;/a&gt;&#xD;
blogging, I'm afraid; we will return to pure &lt;a&#xD;
href="http://www.sbcl.org/"&gt;Lisp implementation&lt;/a&gt; hacking&#xD;
in a future edition.  Until then, I'll mention that&#xD;
&lt;a href="http://www.advogato.org/person/magnusjonsson/" &gt;magnusjonsson&lt;/a&gt; has showed up out of the&#xD;
blue, with an avowed interest in providing support for&#xD;
microtonal mutations (in the form of notation and&#xD;
performance of &lt;a&#xD;
href="http://users.bigpond.net.au/d.keenan/sagittal/"&gt;sagittal&#xD;
accidentals&lt;/a&gt;, which are apparently good enough for the&#xD;
microtone community).  I think this is awesomely cool, and&#xD;
it even potentially ties into my own musical research&#xD;
interests, such as whether one can infer the tuning system&#xD;
required for best performance of certain Renaissance&#xD;
repertoires (e.g. &lt;a&#xD;
href="http://www.societymusictheory.org/mto/issues/mto.04.10.1/mto.04.10.1.wibberley1.html"&gt;syntonic&#xD;
tuning&lt;/a&gt; in Willaert motets).&#xD;
&#xD;
&lt;p&gt; Relatedly, I recently discovered that I work (at one remove&#xD;
in management structures) with &lt;a&#xD;
href="http://www.all-day-breakfast.com/cannam/"&gt;a&#xD;
developer&lt;/a&gt; on a different (competing! or maybe that's&#xD;
giving Gsharp a little too much credibility) music notation&#xD;
programme.  My hope is that I stay around in my current&#xD;
position for long enough that interesting work in that space&#xD;
can happen, because in neither of our cases are we in fact&#xD;
employed to work on music notation &amp;ndash; even though it is&#xD;
extremely close conceptually to the things that we&#xD;
&lt;em&gt;are&lt;/em&gt; paid to do...</description>
    </item>
    <item>
      <pubDate>Mon, 11 Jun 2007 09:25:36 GMT</pubDate>
      <title>11 Jun 2007</title>
      <link>http://www.advogato.org/person/crhodes/diary.html?start=120</link>
      <guid>http://www.advogato.org/person/crhodes/diary.html?start=120</guid>
      <description>&lt;a&#xD;
href="http://www.advogato.org/person/crhodes/diary.html?start=119"&gt;Continuing&lt;/a&gt;&#xD;
the theme of being guilt-tripped into making &lt;a&#xD;
href="http://common-lisp.net/project/gsharp/"&gt;Gsharp&lt;/a&gt;&#xD;
tolerable to use (rather than just &lt;a&#xD;
href="http://www-jcsu.jesus.cam.ac.uk/~csr21/lisp-gui.png"&gt;pretty&#xD;
in screenshots&lt;/a&gt;...): over the weekend I implemented&#xD;
selecting the active layer in a DWIM-like manner for the&#xD;
common case, moving up and down between staves using&#xD;
&lt;tt&gt;C-up&lt;/tt&gt; and &lt;tt&gt;C-down&lt;/tt&gt; (and then implicitly&#xD;
selecting the first layer on that staff).&#xD;
&#xD;
&lt;p&gt; Additionally, I implemented a hack so that the cursor is&#xD;
always visible in the viewport.  It's a hack, because&#xD;
(despite the neat &lt;a&#xD;
href="http://www.paoloamoroso.it/log/051028.html"&gt;double-buffering&lt;/a&gt;&#xD;
support in &lt;a&#xD;
href="http://common-lisp.net/project/mcclim/"&gt;McCLIM&lt;/a&gt;),&#xD;
there is visible flicker in some circumstances.  The reason&#xD;
is that the viewport positioning is done at the wrong time&#xD;
&amp;ndash; &lt;em&gt;after&lt;/em&gt; the score has been drawn to the pane.&#xD;
 Fixing this would involve more work than I was prepared to&#xD;
commit to on a lazy Saturday afternoon, though.</description>
    </item>
    <item>
      <pubDate>Fri, 8 Jun 2007 08:55:26 GMT</pubDate>
      <title>8 Jun 2007</title>
      <link>http://www.advogato.org/person/crhodes/diary.html?start=119</link>
      <guid>http://www.advogato.org/person/crhodes/diary.html?start=119</guid>
      <description>We're close two working weeks into Google's &lt;a&#xD;
href="http://code.google.com/soc/"&gt;Summer of Code&lt;/a&gt;,&#xD;
and the student I'm mentoring, Brian Gruber, is making good&#xD;
progress in his project to &lt;a&#xD;
href="http://bgruber-gsoc.blogspot.com/2007/04/project-proposal.html"&gt;add&#xD;
MusicXML support to Gsharp&lt;/a&gt; &amp;ndash; sufficiently good to&#xD;
&lt;a&#xD;
href="http://bgruber-gsoc.blogspot.com/2007/06/in-beginning-was-note.html"&gt;blog&#xD;
about it&lt;/a&gt;, in fact.  &#xD;
&#xD;
&lt;p&gt; Discussing things with Brian, and &lt;a&#xD;
href="http://common-lisp.net/pipermail/gsharp-devel/2007-June/000159.html"&gt;fixing&lt;/a&gt;&#xD;
some of the &lt;a&#xD;
href="http://common-lisp.net/pipermail/gsharp-devel/2007-June/000158.html"&gt;embarrassing&#xD;
bugs in gsharp&lt;/a&gt; that he found, has also encouraged me to&#xD;
tidy up a little some of my accumulated divergences from the&#xD;
&lt;a href="http://common-lisp.net/project/gsharp/" &gt;Gsharp&lt;/a&gt;&#xD;
CVS and commit them; in particular, the lack of line- and&#xD;
page-based motion commands was a significant annoyance last&#xD;
time I edited a score in Gsharp, so I spent an evening&#xD;
working out a sufficiently good implementation, and now&#xD;
&lt;tt&gt;C-a&lt;/tt&gt;, &lt;tt&gt;C-e&lt;/tt&gt;, &lt;tt&gt;C-x&amp;nbsp;[&lt;/tt&gt; and&#xD;
&lt;tt&gt;C-x&amp;nbsp;]&lt;/tt&gt; work as an emacs user might expect. &#xD;
(It's ever so slightly trickier than it might seem, because&#xD;
there's no information in the gsharp buffer recording layout&#xD;
information &lt;i&gt;per se&lt;/i&gt;; the gsharp buffer contains a&#xD;
complicated data structure representing each individual&#xD;
musical (or graphical) object, but the page and line layout&#xD;
is computed separately &amp;ndash; so motion by layout element&#xD;
needs additional computation).&#xD;
&#xD;
&lt;p&gt; Other things coming soon to a CVS repository near &lt;tt&gt;&lt;a&#xD;
href="http://common-lisp.net/"&gt;common-lisp.net&lt;/a&gt;&lt;/tt&gt;, to&#xD;
whom thanks go for their hosting: correct&#xD;
placement of whole-bar rests (in the middle of a bar, if&#xD;
they are the only element in their layer in that bar); a&#xD;
hacky printing facility; maybe even a reworking of the&#xD;
currently-useless panes on the right-hand side of a gsharp&#xD;
window...</description>
    </item>
    <item>
      <pubDate>Mon, 30 Apr 2007 09:19:56 GMT</pubDate>
      <title>30 Apr 2007</title>
      <link>http://www.advogato.org/person/crhodes/diary.html?start=118</link>
      <guid>http://www.advogato.org/person/crhodes/diary.html?start=118</guid>
      <description>In my &lt;a&#xD;
href="http://www.advogato.org/person/crhodes/diary.html?start=117"&gt;previous&#xD;
diary entry&lt;/a&gt;, I somewhat sarcastically obeyed the letter&#xD;
of the BSDish-with-advertising licence of &lt;a&#xD;
href="http://www.fractalconcept.com/asp/cl-pdf"&gt;cl-pdf&lt;/a&gt;.&#xD;
 Since then, &lt;a href="http://www.fractalconcept.com/" &gt;Marc&#xD;
Battyani&lt;/a&gt; wrote to me to say that he was removing the&#xD;
advertising clause from the licence of cl-pdf (and &lt;a&#xD;
href="http://www.fractalconcept.com/asp/cl-typesetting"&gt;cl-typesetting&lt;/a&gt;),&#xD;
replacing it with a request (not part of the licence) to&#xD;
acknowledge its use in significant applications, to assist&#xD;
in promoting the Common Lisp language.  Thanks, Marc, both&#xD;
for the software and for the friendlier licence.</description>
    </item>
    <item>
      <pubDate>Thu, 26 Apr 2007 13:02:38 GMT</pubDate>
      <title>26 Apr 2007</title>
      <link>http://www.advogato.org/person/crhodes/diary.html?start=117</link>
      <guid>http://www.advogato.org/person/crhodes/diary.html?start=117</guid>
      <description>Some people have expressed mild interest in the code used to&#xD;
produce the name badges for &lt;a&#xD;
href="http://www.international-lisp-conference.org/2007/index"&gt;ILC&#xD;
2007&lt;/a&gt;.  I used &lt;a&#xD;
href="http://www.cliki.net/cl-pdf"&gt;cl-pdf&lt;/a&gt; to generate&#xD;
PDF, and otherwise there's only a very little bit of&#xD;
cleverness to get nicely filled and indented lists of&#xD;
features and similar.  Feel free to &lt;a&#xD;
href="http://doc.gold.ac.uk/~mas01cr/tmp/defperson.lisp"&gt;download&#xD;
it&lt;/a&gt; and use in whatever way you wish, subject to the&#xD;
licence of cl-pdf (which &lt;a&#xD;
href="http://www.fractalconcept.com:8000/public/open-source/cl-pdf/license.txt"&gt;seems&#xD;
to have&lt;/a&gt; an advertising&#xD;
clause, so I must say of &lt;tt&gt;defperson.lisp&lt;/tt&gt; that This&#xD;
product includes cl-pdf for generating documents.)</description>
    </item>
    <item>
      <pubDate>Fri, 6 Apr 2007 16:21:46 GMT</pubDate>
      <title>6 Apr 2007</title>
      <link>http://www.advogato.org/person/crhodes/diary.html?start=116</link>
      <guid>http://www.advogato.org/person/crhodes/diary.html?start=116</guid>
      <description>As I wrote in my &lt;a&#xD;
href="http://www.advogato.org/person/crhodes/diary.html?start=115"&gt;previous&#xD;
entry&lt;/a&gt; on &lt;a&#xD;
href="http://www.international-lisp-conference.org/2007/index"&gt;ILC&#xD;
2007&lt;/a&gt;, I was away from the conference on Tuesday.  From&#xD;
talking to people whose judgment I trust, it appears that I&#xD;
missed some spectacularly awful stuff; however, now is&#xD;
probably not the time to comment further publically on such&#xD;
matters.  Of the good stuff, I was most sorry to miss&#xD;
Richard Jones talking on Garbage Collection; having &lt;a&#xD;
href="http://www.amazon.com/Garbage-Collection-Algorithms-Automatic-Management/dp/0471941484"&gt;the&#xD;
book&lt;/a&gt; and the paper that Richard wrote for the&#xD;
proceedings aren't a substitute.  Apparently, Charlotte&#xD;
Herzeel made some people begin to see some point in&#xD;
Aspect-Oriented programming, too, which is no mean&#xD;
achievement given that the usual response is that it's just&#xD;
one sufficiently-advanced &lt;a&#xD;
href="http://www.lispworks.com/documentation/HyperSpec/Body/m_defi_4.htm"&gt;method&#xD;
combination&lt;/a&gt; (well, it &lt;i&gt;is&lt;/i&gt;, but it's also using it&#xD;
pervasively).&#xD;
&#xD;
&lt;p&gt; Anyway, Wednesday beckoned.  The start at an ungodly hour&#xD;
was redeemed by Manuel Serrano's demonstration of &lt;a&#xD;
href="http://hop.inria.fr/"&gt;HOP&lt;/a&gt;, an environment for&#xD;
programming the Web.  I don't really live in the Web&#xD;
programming sphere; it doesn't interest me a great deal: but&#xD;
the presentation was excellent, with well-timed automatic&#xD;
slide changes, fun demos, and a clear explanation of the&#xD;
problem space; I don't know whether having the need for a&#xD;
proxy server will render it difficult to deploy in practice.&#xD;
 Good stuff anyway; in fact, it worries me ever so slightly&#xD;
that the best of the invited speakers for me &amp;ndash;&#xD;
Sperber, Queinnec and Serrano &amp;ndash; are very firmly in the&#xD;
Scheme camp.&#xD;
&#xD;
&lt;p&gt; After that talk, I found speakers failing to command my&#xD;
attention quite as much as the impending delivery of my own,&#xD;
about extensible sequences; I did enjoy &lt;a&#xD;
href="http://wozniak.ca/"&gt;Geoff Wozniak&lt;/a&gt;'s&#xD;
about dynamic data types, defining a protocol whereby&#xD;
instances would be able to change their own implementation&#xD;
details based on runtime profiling data; I think I need to&#xD;
look at the details of his ideas.&#xD;
&#xD;
&lt;p&gt; Then the time came for me to stand up, and &amp;ndash; wouldn't&#xD;
you know it? &amp;ndash; the laptop refused to display&#xD;
simultaneously on screen and on projector.  Which is&#xD;
ridiculous, because it was fine on Monday for Herbert&#xD;
Stoyan's talk.  I bravely soldiered on without the comfort&#xD;
blanket of my notes in front of me, and I don't think that&#xD;
any problems in the reception of my talk were particularly&#xD;
because of that.  In&#xD;
retrospect, the example sequence class I used in the talk&#xD;
was too simple, and I didn't give compelling-enough other&#xD;
concrete examples; fortunately, I was able to make up for&#xD;
some of that in the coffee break afterwards, talking to a&#xD;
couple of people (and &lt;a&#xD;
href="http://www.cyrusharmon.org/cl/blog/"&gt;Cyrus&lt;/a&gt; did a&#xD;
sterling job talking to Jans Aasman about his&#xD;
space-efficient implementation of strings of DNA, and Jans&#xD;
then started talking about treating memory-mapped files as&#xD;
sequences, so I think he probably got the idea).&#xD;
&#xD;
&lt;p&gt; Then it was all over bar the Liskell talk (not particularly&#xD;
interested, though good on Clemens for having the gumption&#xD;
to stand up there and tell it like he sees it), the Franz&#xD;
programming-in-the-large talk (Jans is a fun speaker; I&#xD;
thought that Luke asked a rather good question at the end&#xD;
about the expected reliability of garbage collection), and a&#xD;
little bit (fortunately, not a lot) of self-congratulation&#xD;
at the end.  Dinner at the &lt;a&#xD;
href="http://www.hotelfelix.co.uk/"&gt;Hotel Felix&lt;/a&gt; with,&#xD;
among others, an exhausted local organizer wrapped up the&#xD;
day, and I was homeward-bound twelve hours later.</description>
    </item>
  </channel>
</rss>
