<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
   <channel>
      <title>Andreas Fuchs&apos; Journal</title>
      <link>http://boinkor.net/</link>
      <description></description>
      <language>en-us</language>
      <copyright>Copyright 2008</copyright>
      <lastBuildDate>Tue, 01 Apr 2008 17:34:53 +0100</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/?v=4.0</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

      
      <item>
         <title>Perfectstorm by Johann Korndoerfer</title>
         <description><![CDATA[<p><img src="http://erleuchtet.org/with-health-bars-thumb-300x225.png" alt="perfectstorm screenshot" title="" /></p>

<p>This isn&#8217;t original work, so perhaps more suited to being in my <a href="http://mublag.boinkor.net">soup</a> than this blog, but it&#8217;s so cool it just has to be on Planet Lisp. <a href="http://erleuchtet.org/2008/03/project-overview-perfectstorm.html">perfectstorm</a> is:</p>

<blockquote>
  <p>a real time strategy game study written in Common Lisp using OpenGL for graphics display and cairo for texture generation.</p>
</blockquote>

<p>Looks very very interesting. Google SoC students take note: this is an open source project (-:</p>

<p><small>(found via <a href="http://nein.gei.st/post/1968414/perfectstorm-is-a-real-time-strategy-game">neingeist</a>)</small></p>
]]></description>
         <link>http://boinkor.net/archives/2008/04/perfectstorm_by_johann_korndoe.html</link>
         <guid>http://boinkor.net/archives/2008/04/perfectstorm_by_johann_korndoe.html</guid>
         <category></category>
         <pubDate>Tue, 01 Apr 2008 17:34:53 +0100</pubDate>
      </item>
      
      <item>
         <title>A public service announcement</title>
         <description><![CDATA[<p>It has been brought to our attention that <a href="http://www.cliki.net/ASDF-Install" title="CLiki : ASDF-Install">asdf-install</a> is still thought to be the preferred way to install cool lisp software. I would like to use this space to advertise an alternative tool that too few people know about, and that allows you to almost instantly (OK, as fast as your computer can install the required software and download &amp; build the packages) get you up and running with and get you updates of the newest in cool lisp packages.</p>

<p>That tool is <a href="http://common-lisp.net/project/clbuild/">clbuild</a>.</p>

<p>It doesn&#8217;t yet bring in all of the software available on cliki, but it includes enough cool things that I would recommend it to anyone who wants to check out with a minimum of hassle either of (not an exhaustive list, but you get the idea):</p>

<ul>
<li>McCLIM,</li>
<li>Climacs, Closure, Beirc, Gsharp,</li>
<li>Hunchentoot, and</li>
<li>CXML</li>
</ul>

<p>Or just get a lisp system up and running that includes most of the useful libraries out there. If you have been messing around with asdf-install (raise hands if you ever asdf-installed a library to get its dependencies and then pulled that library from CVS again and replaced the symlinks manually), do yourself a favour and check it out.</p>
]]></description>
         <link>http://boinkor.net/archives/2008/01/a_public_service_announcement.html</link>
         <guid>http://boinkor.net/archives/2008/01/a_public_service_announcement.html</guid>
         <category></category>
         <pubDate>Tue, 15 Jan 2008 16:15:06 +0100</pubDate>
      </item>
      
      <item>
         <title>Broadcatching, iTunes, a &quot;mini&quot; Apple TV</title>
         <description><![CDATA[<p>Recently, I got a used Mac Mini from a friend; I decided to put it to good use as a media station in my living room, and it does indeed work pretty well (after fixing it up with codecs that are in use in the real world, but that&#8217;s not the topic of this article (-:).</p>

<p>One thing that I find very useful is the ability to import movie files (that one might download from the vast and unfriendly-to-copyright-holders internet, as described <a href="http://www.engadget.com/2004/11/23/how-to-broadcatching-using-rss-bittorrent-to-automatically/">here</a> for instance) into iTunes on my desktop mac and have the Front Row thing on the living room machine play them over the network. The steps one needs to take in order to get this working are many and tedious, and so I&#8217;ve created an AppleScript to do all the hard work for me. It:</p>

<ul>
<li>Converts an .avi movie (they usually come encoded as DivX or Xvid) into a standalone .mov file using Quicktime Player (this doesn&#8217;t transcode),</li>
<li>extracts the Show name, Season, Episode number, Episode name from the file name via a friend&#8217;s service called &#8220;renamr&#8221; (a telnet 2.0 service, he calls it),</li>
<li>imports the file into iTunes, tags it nicely, and</li>
<li>cleans up after itself.</li>
</ul>

<p>The files thus imported will pop up in the nicely remote-controllable interface, marked as &#8220;unwatched,&#8221; and wait for me to finally get some spare time to sit down and watch them. (Which might very well be after the <a href="http://en.wikipedia.org/wiki/2007_Writers_Guild_of_America_strike">WGA strike</a> ends, so it all should work out nicely in the end.)</p>

<p>If you find yourself wishing for a similar solution, download <a href="http://boinkor.net/mac/Save as TV show.scpt">this file</a>, read the comments in the beginning, skip over the MIT-style licence, and read the code until you are convinced I&#8217;m not doing anything stupid or malicious. Then, have fun using it!</p>
]]></description>
         <link>http://boinkor.net/archives/2007/12/broadcatching_itunes_a_mini_ap.html</link>
         <guid>http://boinkor.net/archives/2007/12/broadcatching_itunes_a_mini_ap.html</guid>
         <category></category>
         <pubDate>Thu, 06 Dec 2007 01:18:37 +0100</pubDate>
      </item>
      
      <item>
         <title>CXML-RPC update: changed interface, includes server part</title>
         <description><![CDATA[<p>I didn&#8217;t really like the DWIM interface for type translations on the client, so I made the type information mandatory. (-:</p>

<p>This means that instead of:</p>

<pre><code>* (xrpc:call "http://localhost:8080/RPC2" "addNumbers" '(1 2 3.0)) ; WRONG
</code></pre>

<p>You get to do this:</p>

<pre><code>* (xrpc:call "http://localhost:8080/RPC2" "addNumbers" '(:integer 1
                                                         :double 2
                                                         :double 3.0))
6.0
</code></pre>

<p>This doesn&#8217;t look vastly superior, but consider this case:</p>

<pre><code>* (xrpc:call "http://localhost:8080/RPC2" "weekDay" `(:time ,(get-universal-time)))
0
</code></pre>

<p>Where before, you had to construct an xml-rpc-date structure; ew. This also allows nicer handling of (unsigned-byte 8) vectors (you can base64-encode them now), and you don&#8217;t have to construct yucky xml-rpc-struct objects anymore: just use alists. The decoding functions now return the type tag that they saw in the response or request.</p>

<p>Speaking of requests, the server is now finished, lifting CXML-RPC to more or less the same level as s-xml-rpc. It implements the introspection functions specified in <a href="http://xmlrpc-c.sourceforge.net/introspection.html">xmlrpc-c&#8217;s documentation</a>, and the <a href="http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php">faults_interop spec</a>. You can define methods for different handlers, which means that you can attach more than one handler to different URLs and they can expose different sets of methods to the world. This might be handy for those running virtual hosts.</p>

<p>In response to yesterday&#8217;s post, Rafal Strzalinski pointed me at Ivan Boldyrev&#8217;s <a href="http://mesemb.ru/soft/lisp/">s-xml-rpc-hunchentoot</a>, which adapts the s-xml-rpc server functions for use with hunchentoot&#8217;s handlers. There&#8217;s no port to DRAKMA for the client part. </p>

<p>I think you should give CXML-RPC a try if you either want to expose multiple sets of methods on different handlers, or you don&#8217;t want to install aserve just for an xml-rpc client. (-:</p>
]]></description>
         <link>http://boinkor.net/archives/2007/12/cxmlrpc_update_changed_interfa.html</link>
         <guid>http://boinkor.net/archives/2007/12/cxmlrpc_update_changed_interfa.html</guid>
         <category></category>
         <pubDate>Mon, 03 Dec 2007 22:45:16 +0100</pubDate>
      </item>
      
      <item>
         <title>XML-RPC client library using Drakma and CXML</title>
         <description><![CDATA[<p>A few weeks ago, I tried using <a href="http://common-lisp.net/project/s-xml-rpc/" title="S-XML-RPC">S-XML-RPC</a> for use with a hunchentoot-based web interface to <a href="http://libtorrent.rakshasa.no/" title="The libTorrent and rTorrent Project - Trac">rtorrent</a>. Unfortunately, it comes with a long list of dependencies that are already implemented better by <a href="http://weitz.de">Ediware</a> such as <a href="http://www.weitz.de/drakma/" title="DRAKMA - A Common Lisp web client">drakma</a>: it can speak HTTPS, connect via proxies, and allows cookies (although I&#8217;m not aware of any xml-rpc implementation that supports this (-:).</p>

<p>So I re-implemented s-xml-rpc&#8217;s client part to use the libraries that are already available in <a href="http://common-lisp.net/project/clbuild/">clbuild</a>, and got a pretty pleasant-to-use library. To simply invoke an xml-rpc method, use:</p>

<pre><code>* (xrpc:call "http://betty.userland.com/RPC2" "examples.getStateName" '(:integer 41))
"South Dakota"

* (xrpc:call "http://time.xmlrpc.com/RPC2" "currentTime.getCurrentTime" ())
#&lt;CXML-RPC::XML-RPC-DATE 20071202T06:56:43&gt;
</code></pre>

<p>It&#8217;s entirely undocumented right now, and some names (and interfaces) may be subject to change, but I&#8217;m making it available now anyway, at <a href="http://sbcl.boinkor.net/gitweb?p=cxml-rpc.git;a=summary">my git repository</a>.</p>

<p>The plans for the near future (e.g. next weekend) include a server part based on <a href="http://weitz.de/hunchentoot">Hunchentoot</a>, and, um, test cases and documentation. Stay tuned!</p>
]]></description>
         <link>http://boinkor.net/archives/2007/12/xmlrpc_client_library_using_dr.html</link>
         <guid>http://boinkor.net/archives/2007/12/xmlrpc_client_library_using_dr.html</guid>
         <category></category>
         <pubDate>Sun, 02 Dec 2007 16:30:37 +0100</pubDate>
      </item>
      
      <item>
         <title>Blagging about blagging</title>
         <description><![CDATA[<p>I just upgraded this blog to MovableType 4, for which this is a test entry. While I&#8217;m at it, I might as well say things about where I&#8217;ve been gone in the last couple of months. First, I spent a lovely week in Cambridge, MA, consulting for ITA software. (Photographic evidence <a href="http://www.23hq.com/antifuchs/album/2315744">here</a>.)</p>

<p>Now I&#8217;m hacking on a sweet new project again (news about that in due time, I promise). In the meantime, I started a new (lighter on the technical content, heavier on the pop cultural stuff) tumblelog at <a href="http://mublag.boinkor.net/">http://mublag.boinkor.net/</a>. This one&#8217;s powered by <a href="http://soup.io">Soup</a>, a new blogging platform that two friends of mine are just launching.</p>

<p>Right. More technical content will happen in a few days. Until then, don&#8217;t look at the Unicorn baby link.</p>
]]></description>
         <link>http://boinkor.net/archives/2007/09/blagging_about_blagging.html</link>
         <guid>http://boinkor.net/archives/2007/09/blagging_about_blagging.html</guid>
         <category></category>
         <pubDate>Mon, 10 Sep 2007 17:10:47 +0100</pubDate>
      </item>
      
      <item>
         <title>Things to consider in a new version of ASDF</title>
         <description><![CDATA[<p><a href="http://cliki.net/asdf">ASDF</a>(<a href="http://constantly.at/lisp/asdf/">reference manual</a>) is a fine piece of software: I like to use it, and find some of the design choices in it to be very good (besides, it&#8217;s the thing that has allowed things like <a href="http://common-lisp.net/project/clbuild">clbuild</a> and <a href="http://www.cliki.net/ASDF-Install" title="CLiki : ASDF-Install">asdf-install</a> to grow). However, it is now in wide enough use that people are looking at its internals and are scratching their heads when finding some not-so-very-good design choices.</p>

<p>Here&#8217;s a selection of the things that I think would be good candidates for review in a new version of ASDF (bsdf? yasdf? qwer? /.,m?):</p>
]]></description>
         <link>http://boinkor.net/archives/2007/06/things_to_consider_in_a_new_ve.html</link>
         <guid>http://boinkor.net/archives/2007/06/things_to_consider_in_a_new_ve.html</guid>
         <category></category>
         <pubDate>Thu, 28 Jun 2007 01:05:18 +0100</pubDate>
      </item>
      
      <item>
         <title>Ok, so this was lame.</title>
         <description><![CDATA[<p>I just attended my first <a href="http://www.cacert.org/" title="CAcert.org">CACert</a> assurance party thing. It started off with a 2-hour talk that gave information that could be easily extracted (with a bit of patience for bad english grammar and spelling) from <a href="http://wiki.cacert.org/wiki/FAQ" title="CACert Wiki - FAQ">their wiki</a>. Two things that stuck out to me (like, indeed, sore thumbs):</p>

<ul>
<li>PGP key signatures are useless, because a signature on a key doesn&#8217;t tell you anything about the standards that were used to get the key owner&#8217;s identity to the signing party.</li>
<li>CACert are trying to get a <a href="http://www.webtrust.org/" title="WebTrust/SysTrust">WebTrust</a>-compatible audit. From what I heard at the talk, instead of being audited for the first time, they worked with the auditors to get into auditable shape (with the same auditor) next year. That sounded kinda <a href="http://www.enron.com">familiar</a> to me&#8230;</li>
</ul>

<p>Anyway, after the talk ended (which was <em>cut short</em> at 2:00h by a person who graciously stepped in as a moderator), the assurance thing itself was kind of anticlimactic: There were ~20 people present; everyone was told to get 10 forms, fill them out, and get assured by (and assure themselves) three people who are <a href="http://wiki.cacert.org/wiki/FAQ/AssuringPeople">Assurers</a>, then repeat the process with seven others. Nobody knew who of the attendees were assurers. I don&#8217;t think the guy who held the talk understood what I was trying to get at when I suggested that this was kinda suboptimal. Frustrated at the lack of a response when I asked him if he himself was an assurer, I left.</p>

<p>I feel like I just wasted (and not in a good way) two hours. I applaud cacert.org&#8217;s server and client certification services (and I&#8217;ll continue to use them), but I&#8217;ll gladly forfeit the 100 assurance points that state my ability to sit through 2 hours of boredom and to defy bad organization at an assurance meeting. Give me a useless (but non-boring) PGP key-signing party in a cafe or a pub any day.</p>
]]></description>
         <link>http://boinkor.net/archives/2007/05/ok_so_this_was_lame.html</link>
         <guid>http://boinkor.net/archives/2007/05/ok_so_this_was_lame.html</guid>
         <category></category>
         <pubDate>Wed, 23 May 2007 23:26:49 +0100</pubDate>
      </item>
      
      <item>
         <title>Some details about CLAPPA</title>
         <description><![CDATA[<p>First of all, thanks to all who congratulated me on this, and to <a href="http://www.cl-user.net/asp/zMJO6/sdataQv5utS5j$sUiDQ30nH8X8yBX8yBXnMq=/sdataQu3F$sSHnB==">Nicolas</a> for starting it all.</p>

<p>CLAPPA is the project I submitted for funding to the <a href="http://code.google.com/soc/" title="Google Code - Summer of Code">Google Summer of Code</a>, which is now being funded by <a href="http://www.clozure.com/" title="Clozure Associates - Lisp Support and Development">clozure</a>. The main idea behind the project is to have a package repository for <a href="http://www.cliki.net/ASDF-Install" title="ASDF-Install on Cliki">asdf-install</a> that presents information more nicely than does <a href="http://www.cliki.net/" title="CLiki : index">cliki</a>. When I talked about  doing something like this project on #lisp, <a href="http://www.cl-user.net/asp/zMJO6/sdataQv5utS5j$sUiDQ30nH8X8yBX8yBXnMq=/sdataQu3F$sSHnB==">Nicolas Lamirault</a> spoke up and told me he had something that was part of the way there already &#8212; CLAPPA.</p>

<p>The goals of this project include checking for common maintainer errors when uploading a released package, and having a bit more machine/human-processable metadata available. This metadata will include dependencies between packages (already done in the original CLAPPA, but loads arbitrary code), versions with release dates (already done, just need all of the packages on cliki.net), and possible naming conflicts (think of the CFFI-<a href="http://uffi.b9.com/" title="Universal Foreign Function Interface">UFFI</a>-COMPAT system in <a href="http://common-lisp.net/project/cffi/" title="CFFI - The Common Foreign Function Interface">CFFI</a>). Some other sweet features will include an atom (or rss) feed for new releases, and for new releases that are dependencies of a given package, to help maintainers keep track of which updates may have broken their packages.</p>

<p>To draw the outline of this project a bit more clearly, here&#8217;s what this project is not about:</p>

<ul>
<li>Dubious security features. This is not intended to be a repository of guaranteed-safe code. (Who&#8217;d guarantee we&#8217;re honest?) CLAPPA is going to protect itself against malicious code, but its users must take care to protect themselves.</li>
<li>Configuration management in the style of <a href="http://www.cliki.net/CL-Librarian" title="CLiki : CL-Librarian">cl-librarian</a>. This might be done in the future, but for now the focus is on getting a useful package repository going.</li>
<li>Versioned dependencies in ASDF or getting packages from DARCS. This is another interesting addition for the future. Again, the focus is on an asdf-install compatible package repository, for now.</li>
</ul>

<p>I&#8217;ve set up a wiki to track development progress at <a href="http://clappa-wiki.boinkor.net/">http://clappa-wiki.boinkor.net/</a> (need to be logged in to edit), and you can read the original google project submission at <a href="http://paste.lisp.org/display/39569">this lisppaste</a>.</p>
]]></description>
         <link>http://boinkor.net/archives/2007/04/some_details_about_clappa.html</link>
         <guid>http://boinkor.net/archives/2007/04/some_details_about_clappa.html</guid>
         <category></category>
         <pubDate>Fri, 13 Apr 2007 13:50:53 +0100</pubDate>
      </item>
      
      <item>
         <title>ILC07 the inspirational lisp conference</title>
         <description><![CDATA[<p>The talks were good, but most of the interesting stuff at conferences happens in the coffee breaks, anyway. (-:</p>

<p>Here&#8217;s a list of half-to-fully-baked ideas that I&#8217;m going to explore in the near future:</p>

<ul>
<li><p>First of all, the <a href="http://clappa.boinkor.net/">CLAPPA, the CL APPlication Archive</a> (link may be down due to my hacking on it) project got funding. The <a href="http://www.lispnyc.org">LispNYC</a> breakout group rated it high for google Summer of Code, but then <a href="http://bese.it">Marco Baringer</a> told me <a href="http://clozure.com">Clozure</a> would be interested in funding this. There was so much interest in fact, that they decided to go ahead and really fund this project, thus freeing one SoC slot for another project! (More on that later.)</p></li>
<li><p>If one were to write a somewhat backwards-compatible pathname system for CL (ahem), one could do worse than try and do translation to CL-structured pathnames by putting a translator object into the :HOST slot of the CL pathname. There would still be murkiness w.r.t. merging and creation of new pathnames, but at least it&#8217;d have a slight chance of working. Hm.</p></li>
<li><p>McCLIM&#8217;s CLIM Listener doesn&#8217;t yet have a remote interface to lisps like <a href="http://common-lisp.net/project/slime/">slime</a> does. One thing that would be neat is real remote lisp communication via the SWANK protocol. The other thing is extending that protocol to transport presentations and graphics in addition to text, maybe similar to what display postscript does.</p></li>
<li><p>McCLIM currently has a few problems when running in multiple application frames: Each frame has its own command loop with its own input context, so when an application in frame A decides to accept something, and the user clicks on an object of that type in frame B, it&#8217;s not entirely clear into which input context the object should go (and if it should be highlighted/clickable at all). An idea was to have an input context switcher widget that knows about the input contexts of all active application frames.</p></li>
<li><p>asdf-dependency-grovel should separate dependencies at compile time and ones at load time. This sounds like it&#8217;s easy to do, but I&#8217;m sure there are going to be surprises.</p></li>
<li><p>I want an <a href="http://www.azulsystems.com/products/compute_appliance.htm">Azul</a> machine to play with. They sound horrendously over-powered, but I bet they&#8217;re the best platform to run <a href="http://armedbear.org/abcl.html">ABCL</a> on. (-:</p></li>
</ul>
]]></description>
         <link>http://boinkor.net/archives/2007/04/ilc07_the_inspirational_lisp_c.html</link>
         <guid>http://boinkor.net/archives/2007/04/ilc07_the_inspirational_lisp_c.html</guid>
         <category></category>
         <pubDate>Wed, 11 Apr 2007 09:33:38 +0100</pubDate>
      </item>
      
      <item>
         <title>Being an account of activities at ILC07</title>
         <description><![CDATA[<p><a href="http://xach.livejournal.com/112763.html">Xach nudges</a>, I comply. To summarize the text that is to come, the conference was great. Hooray for Nick Levine, whose conference organization talents are deeply awesome.</p>

<h2>The setup</h2>

<p>I had chosen the worst possible time to fly: a 23:45 (local time) arrival on Saturday guaranteed that I would have to wait 1 hour for the last bus to Cambridge, then arrive there at around 2:00. One bus broke down before that journey started, and a longer-than-expected walk across Cambridge later (which was packed full with drunk english teenagers &#8212; one of them was trying to beat up buildings!), I finally entered the land of Nod at around 3:30. </p>

<h2>Tutorials</h2>

<p>I managed to wake up on time for breakfast, after which the tutorials started. I stayed on Edi&#8217;s <a href="http://www.international-lisp-conference.org/2007/tutorials#building">Hunchentootorial</a> until the second break, then switched, intrigued by <a href="http://jsnell.iki.fi/blog/archive/2007-04-01-ilc-2007-b-mps-tutorial.html">rumors about CMUCL internal discussion</a>, to the <a href="http://www.international-lisp-conference.org/2007/tutorials#mps">MPS thing</a>. The afternoon, I stayed on <a href="http://www.international-lisp-conference.org/2007/tutorials#optimize">Duane&#8217;s Allegro CL debugging/optimization tutorial</a>. From this one, I took away a few neat things to do in an ACL instance when things are bad. At the end, there was an interesting discussion about memory management techniques (which were to be repeated during <a href="http://www.international-lisp-conference.org/2007/speakers#aasman_jans">Jans Aasman&#8217;s</a> talk on the last day). I had dinner at a great Indian place with a crowd of people whose names and faces were forgotten due to me being horribly tired. I think Luke was there. I fell into bed at 10pm and slept for a good, long time.</p>

<p>Favorite quote from Sunday&#8217;s sessions (Duane Rettig):</p>

<blockquote>
  <p>Paul Dietz&#8217; test suite doesn&#8217;t look kindly to adding arguments to standard functions.</p>
  
  <p>It doesn&#8217;t stop us from doing so, but it does give me pause.</p>
</blockquote>

<h2>The talks</h2>

<p>The days of the talks are a blur. Things that stuck were:</p>

<ul>
<li><p>The weird context switch performed during <a href="http://www.international-lisp-conference.org/2007/speakers#stoyan_herbert">Herbert Stoyan&#8217;s talk</a> - From EVAL/APPLY history to code identity transforms in under one minute. (With unbalanced parens on the first such slide. Ow.)</p></li>
<li><p>That, upon hearing about ESA, people seem to worry about compatibility with Emacs applications (don&#8217;t worry, <a href="http://clynbech.livejournal.com/2902.html">Christian</a>, you were not the only one). Guys, an editor&#8217;s <em>text buffers</em> are not ideal places for an interactive user interface, however compelling the idea might have been in the <strong>seventies.</strong></p></li>
<li><p>There was a great debate whether a creative angle for teaching CS (as exhibited by <a href="http://www.international-lisp-conference.org/2007/speakers#repenning_alexander">Alexander Repenning&#8217;s XMLisp</a> method) was superior to the entirely technological (some might say technocratic) method employed by <a href="http://www.international-lisp-conference.org/2007/speakers#queinnec_christian">Queinnec</a>. As Queinnec&#8217;s approach seems to balance out genders, scales to large numbers of students, and compensates for not-entirely-motivated teaching personnel, I, personally, am slightly in favor of doing things in the first semesters his way.</p></li>
<li><p>Had a slight case of reality distortion when, during <a href="http://www.international-lisp-conference.org/2007/speakers#sperber_michael">Michael Sperber&#8217;s presentation</a>, there erupted a discussion about square brackets. A discussion about square and round brackets. At a Lisp conference.</p></li>
<li><p>Felt slightly peeved by <a href="http://www.international-lisp-conference.org/2007/speakers#leitao_antonio">Antonio Menezes Leitao</a>&#8217;s motivational (&#8220;pessimistic&#8221;) pep-talk, which postulated that lisp libraries are poorly documented, badly tested and don&#8217;t solve <a href="http://xach.livejournal.com/83882.html">the whole problem</a>. While technically impressive, his translator from Java to CL also creates badly-documented libraries (<code>#| |#</code>-style comments instead of docstrings because they clutter up the code), which fail tests, and don&#8217;t solve the whole problem any more than do the Java libs. On the plus side, widespread use of this translator could mean a surge in cool lisp code refactoring tools, and I&#8217;d like to see that.</p></li>
<li><p>Props to Cyrus for blatantly ignoring the timekeeper. Those 10 (13, actually) lessons for lisp would have been a great topic for an invited talk, it&#8217;s too bad he had so little time to expand on them.</p></li>
<li><p><a href="http://www.international-lisp-conference.org/2007/speakers#herzeel_charlotte">Charlotte Herzeel&#8217;s talk</a> was an eye-opener for me and (it seems) many others who hadn&#8217;t thought much about AOP before. Declarativeness for application behavior descriptions = win.</p></li>
<li><p>Was impressed that not once in his talk did <a href="http://www.international-lisp-conference.org/2007/speakers#borden_andrew">Andrew Borden</a> utter the word &#8220;Lisp&#8221; or anything related to it. People with more mathematical skills than me might have gotten something from it.</p></li>
<li><p>The ALU meeting. This was a once-in-a-lifetime experience, in that I don&#8217;t want to attend one ever again. Interesting fact: The ALU board had 10 members (not sure how many there are after the election). It must be hard to coordinate so many people. Do you need all of ten to maintain an association whose stated purpose is organizing ILCs?</p></li>
<li><p>The Banquet was pretty great. Lots of fun was had, in addition to very good food. I sat next to <a href="http://www.international-lisp-conference.org/2007/speakers#jones_richard">Richard Jones</a>, but was too awed to talk much about things of importance with him. I hear <a href="http://jsnell.iki.fi/blog/">Juho</a> did bounce some ideas off him later on, which is good.</p></li>
<li><p>Deeply impressed by <a href="http://www.international-lisp-conference.org/2007/speakers#serrano_manuel">HOP</a>. Also, amused that Serrano, as a french native, chose a name that starts with #\H.</p></li>
<li><p>Happy that more vendors are enthusiastic about extensible sequences. Heads up to would-be improvers of Common Lisp: it&#8217;s possible to add good things to CL that don&#8217;t add (much) incompatibility with the spec, but retain usefulness. Looking forward to a <a href="http://cdr.eurolisp.org">CDR document</a>.</p></li>
</ul>

<h2>After the conference</h2>

<p>On Wednesday, Nick announced that there would be four places on the <a href="http://www.international-lisp-conference.org/2007/tours">Bus tour</a> to Anglesey Abbey and Ely were available and already paid for; that was too good an opportunity to pass on. (I later learned that one of the places was Patrik&#8217;s, which means I&#8217;ll have to invite him to a few drinks at the metalab in exchange. (-:)</p>

<p>Also, on Wednesday evening, Robert Strandh organized a dinner for Nick and a few others at <a href="http://www.hotelfelix.co.uk/">Hotel Felix</a>, for the invitation to which I&#8217;m very grateful. Great conversation was had, along with very tasty food, and a lot of (I hear) good wine. (-:</p>

<p>Both Anglesey Abbey and Ely (Thursday) were remarkably beautiful (the great weather didn&#8217;t hurt, either). Also, our tour guide managed to keep us all awake on the bus to and from each place with stories about each place, which I think was no small feat. Some photos of this tour are available on the <a href="http://flickr.com/groups/ilc07/">ilc07 flickr group</a>.</p>

<p>After the tour, Nick announced that one more place in a punt was available. As nobody else was interested, I gladly took that place, too, and had a great ride, taking pictures until the camera&#8217;s battery died. Unfortunately, I didn&#8217;t make it to the appointed place at the appointed time in order to meet Robert, Cathleen and Cyrus for dinner that evening. Too bad, I hear it was really good.</p>

<p>Finally, Friday was a day of packing stuff and walking around Cambridge taking more photos (some of which I might upload later), and flying home. Of special remarkability, I think, are photos of a shop called &#8220;TOTAL IT SOLUTIONS&#8221; (not an insurance provider), and of a poster announcing Cambridge Stammering Open Day, which I think will finally establish Cambridge as the perfect place to hold conferences on speech impediments.</p>
]]></description>
         <link>http://boinkor.net/archives/2007/04/being_an_account_of_activities.html</link>
         <guid>http://boinkor.net/archives/2007/04/being_an_account_of_activities.html</guid>
         <category></category>
         <pubDate>Wed, 11 Apr 2007 01:59:09 +0100</pubDate>
      </item>
      
      <item>
         <title>boinkmarks outage...</title>
         <description><![CDATA[<p>Still in Cambridge, &#8220;sharing&#8221; connectivity on a wireless access point kindly provided by security-unaware residents, so just a short update on the boinkmarks thing: something on this machine is making the linux OOM killer go mad (both in linux 2.6.16 and 2.6.18, running on amd64). It will kill perfectly well-behaved processes although there seem to always be hundreds of megabytes of real RAM (not to mention swap) available. Then, some time later, it will start complaining on the console about running out of memory while oomkilling, in an endless loop.</p>

<p>Thank god this machine has a remote admin interface. I&#8217;ll try to fix the real problem when I am back home.</p>
]]></description>
         <link>http://boinkor.net/archives/2007/04/boinkmarks_outage.html</link>
         <guid>http://boinkor.net/archives/2007/04/boinkmarks_outage.html</guid>
         <category>Lisp</category>
         <pubDate>Fri, 06 Apr 2007 07:56:06 +0100</pubDate>
      </item>
      
      <item>
         <title>Text search visualizer an unexpected success</title>
         <description><![CDATA[<p>I did a preview demo of the text search visualizer (<a href="http://boinkor.net/archives/2007/03/simple_visualization_tool_for.html">see</a>) today and achieved understanding in one other person. Yay! </p>

<p><a href="http://boinkor.net/lisp/algorithm-visualization/text-search">Here</a> is the source (with git repository) of the updated text search visualization tool, now featuring <a href="http://www.foldr.org/~michaelw/log/programming/lisp/kmp-search">Michael&#8217;s</a> Knuth-Morris-Pratt search implementation and actually helpful help text.</p>
]]></description>
         <link>http://boinkor.net/archives/2007/03/text_search_visualizer_an_unex.html</link>
         <guid>http://boinkor.net/archives/2007/03/text_search_visualizer_an_unex.html</guid>
         <category></category>
         <pubDate>Tue, 20 Mar 2007 14:31:53 +0100</pubDate>
      </item>
      
      <item>
         <title>Simple visualization tool for string search</title>
         <description><![CDATA[<p>I recently discovered that several of my (programming) friends know no string search algorithms other than the naïve left-to-right, one character at a time scan. There are much better algorithms out there, among them the one by <a href="http://www.cs.utexas.edu/users/moore/best-ideas/string-searching/">Boyer-Moore</a>. </p>

<p>When I first heard about Boyer-Moore, it made me realize how easy it is to overlook opportunities for optimization &#8212; I hadn&#8217;t thought it feasible to speed up string search, either.</p>

<p>In order to allow others to see the beauty of it, I made a little CLIM visualizer app for string search algorithms, to use in a little intro session to good string matching code. Get the code <a href="http://paste.lisp.org/display/38245">here</a>, load it with McCLIM installed (preferably through <a href="http://lukego.livejournal.com/2530.html">clbuild</a>), and run <code>(run-frame-top-level (make-application-frame 'visualizer))</code>.</p>
]]></description>
         <link>http://boinkor.net/archives/2007/03/simple_visualization_tool_for.html</link>
         <guid>http://boinkor.net/archives/2007/03/simple_visualization_tool_for.html</guid>
         <category></category>
         <pubDate>Sat, 17 Mar 2007 01:02:22 +0100</pubDate>
      </item>
      
      <item>
         <title>Good news for musical ridicologists</title>
         <description><![CDATA[<p>It&#8217;s a great tradition on the channel <a href="irc://freenode.net/lisp">#lisp</a> to watch the <a href="http://www.eurovision.tv/">Eurovision Song contest</a> live transmission, make fun of participants, and get drunk in the process. From <a href="http://blog.wired.com/tableofmalcontents/2007/03/nice_try_sweden.html">today&#8217;s news</a>, it sounds like 2007 is going to be a good year for this kind of thing:</p>

<blockquote>
  <p>Unfortunately, Europe took the wrong lessons from Lordi: they&#8217;re now inserting monster references into their 
  bovine love ballads. Sweden&#8217;s entry to Eurovision 2007 is this monstrosity, &#8216;Vampires Are Alive&#8217; by DJ Bobo. 
  I swear I&#8217;m not making that up. The lyrics go: &#8220;I am a vampire. I’m a slave./I sleep through the daylight, 
  hence my grave.&#8221;</p>
</blockquote>

<p>&#8220;Unfortunately&#8221;? &#8220;Monstrosity&#8221;? DJ Bobo?? Hah. Hahaha.</p>

<p><strong><em>Update</em></strong>: Bruce O&#8217;Neel tells me that the DJ Bobo entry is not from Sweden, but from Switzerland. I was wondering about that. Also, note that the <a href="http://blog.wired.com/tableofmalcontents/2007/03/nice_try_sweden.html">link above</a> has an embedded YouTube video of the entry. I particularly enjoyed the &#8220;VAMPIRES!&#8221; chorus near the end.</p>
]]></description>
         <link>http://boinkor.net/archives/2007/03/good_news_for_musical_ridicolo.html</link>
         <guid>http://boinkor.net/archives/2007/03/good_news_for_musical_ridicolo.html</guid>
         <category></category>
         <pubDate>Mon, 05 Mar 2007 16:37:07 +0100</pubDate>
      </item>
      
   </channel>
</rss>
