<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<feed xmlns="http://www.w3.org/2005/Atom">

	<title>Planete Arch Linux FR</title>
	<link rel="self" href="http://planet.archlinuxfr.org/atom.xml"/>
	<link href="http://planet.archlinuxfr.org/"/>
	<id>http://planet.archlinuxfr.org/atom.xml</id>
	<updated>2008-05-05T23:30:13+00:00</updated>
	<generator uri="http://www.planetplanet.org/">Planet/1.0 +http://www.planetplanet.org</generator>

	<entry xml:lang="fr">
		<title type="html">Grand nettoyage d'AUR</title>
		<link href="http://www.archlinuxfr.org/actualite/179/"/>
		<id>http://www.archlinuxfr.org/actualite/179/</id>
		<updated>2008-05-05T17:30:07+00:00</updated>
		<content type="html">&lt;p&gt;AUR contient un grand nombre de paquets obsolètes, un petit dépoussiérage lui ferait du bien. Voici des exemples de paquets qui pourraient être supprimés :
&lt;/p&gt;
&lt;ul&gt;
 &lt;li&gt;
     ceux qui ont été renommés ou remplacés
 &lt;/li&gt;

 &lt;li&gt;
     les vieux paquets de développement (cvs/svn/etc) qui ne sont plus maintenus
 &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Vous pouvez participer en suggérant des paquets sur la &lt;a href=&quot;http://wiki.archlinux.org/index.php/AUR_CleanUp_Day&quot;&gt;page du wiki anglophone dédiée&lt;/a&gt;, ou en réponse à &lt;a href=&quot;http://forums.archlinuxfr.org/viewtopic.php?pid=9927&quot;&gt;ce fil&lt;/a&gt; dans le forum. Les TU se rassembleront dans une quinzaine de jours pour parcourir la liste et sélectionner les paquets à supprimer. Surtout, ne supprimez pas de suggestions de la page du wiki, ajoutez plutôt un commentaire disant pourquoi le paquet devrait être conservé. Les TU feront bien attention de ne pas supprimer de paquet utile.
&lt;/p&gt;
&lt;p&gt;Traduction de &lt;a href=&quot;http://bbs.archlinux.org/viewtopic.php?id=48145&quot;&gt;l'annonce&lt;/a&gt; d'Allan le 05/05/2008 sur le forum anglophone.
&lt;/p&gt;</content>
		<author>
			<name>Actualité Archlinux FR</name>
			<uri>http://www.archlinuxfr.org/news/</uri>
		</author>
		<source>
			<title type="html">Recent News Updates</title>
			<subtitle type="html">Recent News Updates</subtitle>
			<link rel="self" href="http://archlinuxfr.org/feeds/news/"/>
			<id>http://archlinuxfr.org/feeds/news/</id>
			<updated>2008-05-05T23:30:12+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Forum Annoucements: Arch Linux Newsletter for May 5, 2008 Discussion</title>
		<link href="http://bbs.archlinux.org/viewtopic.php?id=48171"/>
		<id>http://bbs.archlinux.org/viewtopic.php?id=48171</id>
		<updated>2008-05-05T16:46:09+00:00</updated>
		<content type="html">&lt;p&gt;Once again this thread is created to discuss any topic that is covered on the Arch Linux Newsletter. And if you have suggestions, please share them with us here.&lt;br /&gt;&lt;br /&gt;The Arch Linux Newsletter team has been reduced, consisting of Dusty Phillips, Ronald Van Haren, and me (Eduardo Romero). This simplifies our work and makes us better organize our thoughts, ideas and newsletter improvements. Later on, we might start looking for Translators again.&lt;br /&gt;&lt;br /&gt;I hope the next newsletter have more stuff on it, I am on a tight schedule since I am on finals, hopefully, next week is the last one of University.:D&lt;br /&gt;&lt;br /&gt;Non visible improvements in this newsletter is the usual code cleanup, fo better performance, I know it isn't a heavy page, but still is better to have a clean code to work with, removing obsolete HTML code.&lt;/p&gt;-- posted by kensai</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Official News: AUR Cleanup</title>
		<link href="http://archlinux.org/news/393/"/>
		<id>http://archlinux.org/news/393/</id>
		<updated>2008-05-05T04:00:00+00:00</updated>
		<content type="html">From the TUs:
The AUR has a large number of obsolete packages which could use cleaning
up.  Examples of packages that may be cleaned up are:
 - packages that have been renamed or replaced
 - old and unmaintained developmental (cvs/svn/etc) packages

This is where you can help.  Post suggestions of packages in the AUR
Cleanup wiki page (http://wiki.archlinux.org/index.php/AUR_CleanUp_Day).
TUs will get together and go though the list in a couple of weeks and
confirm which packages should be removed.  Please do not remove suggestions
from the wiki page but add a comment on why it should be kept instead.  TUs
will take great care not to delete any useful package.</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Official News: Newsletter for May 5, 2008</title>
		<link href="http://archlinux.org/news/392/"/>
		<id>http://archlinux.org/news/392/</id>
		<updated>2008-05-05T04:00:00+00:00</updated>
		<content type="html">Current: &lt;a href=&quot;http://archlinux.org/static/newsletters/newsletter-2008-May-05.html&quot;&gt;http://archlinux.org/static/newsletters/newsletter-2008-May-05.html&lt;/a&gt;

Archive: &lt;a href=&quot;http://archlinux.org/static/newsletters/&quot;&gt;http://archlinux.org/static/newsletters/&lt;/a&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Forum Annoucements: AUR Cleanup</title>
		<link href="http://bbs.archlinux.org/viewtopic.php?id=48145"/>
		<id>http://bbs.archlinux.org/viewtopic.php?id=48145</id>
		<updated>2008-05-05T03:23:12+00:00</updated>
		<content type="html">&lt;p&gt;The AUR has a large number of obsolete packages which could use cleaning up.&amp;nbsp; Examples of packages that may be cleaned up are:&lt;br /&gt;&amp;nbsp; - packages that have been renamed or replaced&lt;br /&gt;&amp;nbsp; - old and unmaintained developmental (cvs/svn/etc) packages&lt;br /&gt;&lt;br /&gt;This is where you can help.&amp;nbsp; Post suggestions of packages in the AUR Cleanup wiki page (&lt;a href=&quot;http://wiki.archlinux.org/index.php/AUR_CleanUp_Day&quot;&gt;http://wiki.archlinux.org/index.php/AUR_CleanUp_Day&lt;/a&gt;) or as a reply to this thread.&amp;nbsp; TUs will get together and go though the list in a couple of weeks and confirm which packages should be removed.&amp;nbsp; Please do not remove suggestions from the wiki page but add a comment on why it should be kept instead.&amp;nbsp; TUs will take great care not to delete any useful package.&lt;/p&gt;-- posted by Allan</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="fr">
		<title type="html">Une semaine d'OpenStreetMap</title>
		<link href="http://www.gnunux.info/dotclear/index.php?2008/05/04/266-une-semaine-d-openstreetmap"/>
		<id>http://www.gnunux.info/dotclear/index.php?2008/05/04/266-une-semaine-d-openstreetmap</id>
		<updated>2008-05-04T20:10:49+00:00</updated>
		<content type="html">&lt;p&gt;Ca avance toujours. La zone 5 est terminé. La zone 6 l'est quasiment.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.gnunux.info/dotclear/images/OSM/dijon-040508.gif&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</content>
		<author>
			<name>Emmanuel Garette, gnunux</name>
			<uri>http://www.gnunux.info/dotclear/index.php</uri>
		</author>
		<source>
			<title type="html">La page de GnunuX</title>
			<link rel="self" href="http://www.gnunux.info/dotclear/rss.php"/>
			<id>http://www.gnunux.info/dotclear/rss.php</id>
			<updated>2008-05-04T20:30:12+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Leslie Polzer: Function encapsulation in SBCL</title>
		<link href="http://blog.viridian-project.de/2008/05/04/function-encapsulation-in-sbcl/"/>
		<id>http://blog.viridian-project.de/?p=73</id>
		<updated>2008-05-04T16:32:48+00:00</updated>
		<content type="html">&lt;p&gt;The advice functionality allows the programmer to replace or encapsulate an existing function binding (akin to :AROUND methods in the CLOS). See Gary King&amp;#8217;s &lt;a href=&quot;http://www.metabang.com/unclogit/?p=208&quot;&gt;“What is advice”&lt;/a&gt; for some useful links and explanations on this.&lt;/p&gt;
&lt;p&gt;CLISP and SBCL, my favourite Common Lisp implementations, do not seem to supply this functionality. I haven&amp;#8217;t checked whether CLISP has advice under its hood, but SBCL does, and it&amp;#8217;s termed “Function encapsulation” there. Once you know how to do it, it&amp;#8217;s surprisingly simple to use.&lt;/p&gt;
&lt;p&gt;This is the definition of SB-INT:ENCAPSULATE in SBCL&amp;#8217;s &lt;code&gt;src/code/fdefinition.lisp&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;lisp&quot;&gt;&lt;span&gt;;;; Replace the definition of NAME with a function that binds NAME's&lt;/span&gt;
&lt;span&gt;;;; arguments to a variable named ARG-LIST, binds name's definition&lt;/span&gt;
&lt;span&gt;;;; to a variable named BASIC-DEFINITION, and evaluates BODY in that&lt;/span&gt;
&lt;span&gt;;;; context. TYPE is whatever you would like to associate with this&lt;/span&gt;
&lt;span&gt;;;; encapsulation for identification in case you need multiple&lt;/span&gt;
&lt;span&gt;;;; encapsulations of the same name.&lt;/span&gt;
&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;defun&lt;/span&gt; encapsulate &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;name&lt;/span&gt; type body&lt;span&gt;&amp;#41;&lt;/span&gt;
  &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;let&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;fdefn &lt;span&gt;&amp;#40;&lt;/span&gt;fdefinition-object &lt;span&gt;name&lt;/span&gt; &lt;span&gt;nil&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
    &lt;span&gt;&amp;#40;&lt;/span&gt;unless &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;and&lt;/span&gt; fdefn &lt;span&gt;&amp;#40;&lt;/span&gt;fdefn-fun fdefn&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
      &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;error&lt;/span&gt; 'undefined-&lt;span&gt;function&lt;/span&gt; :&lt;span&gt;name&lt;/span&gt; &lt;span&gt;name&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
    &lt;span&gt;;; We must bind and close over INFO. Consider the case where we&lt;/span&gt;
    &lt;span&gt;;; encapsulate (the second) an encapsulated (the first)&lt;/span&gt;
    &lt;span&gt;;; definition, and later someone unencapsulates the encapsulated&lt;/span&gt;
    &lt;span&gt;;; (first) definition. We don't want our encapsulation (second) to&lt;/span&gt;
    &lt;span&gt;;; bind basic-definition to the encapsulated (first) definition&lt;/span&gt;
    &lt;span&gt;;; when it no longer exists. When unencapsulating, we make sure to&lt;/span&gt;
    &lt;span&gt;;; clobber the appropriate INFO structure to allow&lt;/span&gt;
    &lt;span&gt;;; basic-definition to be bound to the next definition instead of&lt;/span&gt;
    &lt;span&gt;;; an encapsulation that no longer exists.&lt;/span&gt;
    &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;let&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;info &lt;span&gt;&amp;#40;&lt;/span&gt;make-encapsulation-info type &lt;span&gt;&amp;#40;&lt;/span&gt;fdefn-fun fdefn&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
      &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;setf&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;fdefn-fun fdefn&lt;span&gt;&amp;#41;&lt;/span&gt;
            &lt;span&gt;&amp;#40;&lt;/span&gt;named-&lt;span&gt;lambda&lt;/span&gt; encapsulation &lt;span&gt;&amp;#40;&lt;/span&gt;&amp;amp;rest arg-&lt;span&gt;list&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
              &lt;span&gt;&amp;#40;&lt;/span&gt;declare &lt;span&gt;&amp;#40;&lt;/span&gt;special arg-&lt;span&gt;list&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
              &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;let&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;basic-definition &lt;span&gt;&amp;#40;&lt;/span&gt;encapsulation-info-definition info&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
                &lt;span&gt;&amp;#40;&lt;/span&gt;declare &lt;span&gt;&amp;#40;&lt;/span&gt;special basic-definition&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
                &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;eval&lt;/span&gt; body&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;From this we can figure out that basic advice can be gotten from SBCL like this:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;lisp&quot;&gt;CL-USER&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;19&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;: &lt;span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;defun&lt;/span&gt; gorm &lt;span&gt;&amp;#40;&lt;/span&gt;x&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;+ x&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
GORM
&amp;nbsp;
CL-USER&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;20&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;: &lt;span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;SB&lt;/span&gt;-INT:&lt;span&gt;ENCAPSULATE&lt;/span&gt; 'gorm '&lt;span&gt;identity&lt;/span&gt; '&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;apply&lt;/span&gt; sb-int:&lt;span&gt;basic&lt;/span&gt;-definition sb-int:&lt;span&gt;arg&lt;/span&gt;-&lt;span&gt;list&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
#&amp;lt;closure &lt;span&gt;&amp;#40;&lt;/span&gt;SB-C::&amp;amp;OPTIONAL-DISPATCH SB-IMPL::&lt;span&gt;ENCAPSULATION&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#123;&lt;/span&gt;ACE428D&lt;span&gt;&amp;#125;&lt;/span&gt;&amp;gt;
CL-USER&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;21&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;: &lt;span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;gorm&lt;/span&gt; &lt;span&gt;10&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&lt;span&gt;11&lt;/span&gt;
&amp;nbsp;
CL-USER&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;22&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;: &lt;span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;SB&lt;/span&gt;-INT:&lt;span&gt;ENCAPSULATE&lt;/span&gt; 'gorm 'add-five '&lt;span&gt;&amp;#40;&lt;/span&gt;+ &lt;span&gt;5&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;apply&lt;/span&gt; sb-int:&lt;span&gt;basic&lt;/span&gt;-definition sb-int:&lt;span&gt;arg&lt;/span&gt;-&lt;span&gt;list&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
#&amp;lt;/closure&amp;gt;&amp;lt;closure &lt;span&gt;&amp;#40;&lt;/span&gt;SB-C::&amp;amp;OPTIONAL-DISPATCH SB-IMPL::&lt;span&gt;ENCAPSULATION&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#123;&lt;/span&gt;ACEE31D&lt;span&gt;&amp;#125;&lt;/span&gt;&amp;gt;
&amp;nbsp;
CL-USER&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;23&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;: &lt;span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;gorm&lt;/span&gt; &lt;span&gt;10&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&lt;span&gt;16&lt;/span&gt;
&amp;nbsp;
CL-USER&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;24&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;: &lt;span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;SB&lt;/span&gt;-INT:&lt;span&gt;ENCAPSULATE&lt;/span&gt; 'gorm 'add-seven '&lt;span&gt;&amp;#40;&lt;/span&gt;+ &lt;span&gt;7&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;apply&lt;/span&gt; sb-int:&lt;span&gt;basic&lt;/span&gt;-definition sb-int:&lt;span&gt;arg&lt;/span&gt;-&lt;span&gt;list&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
#&amp;lt;/closure&amp;gt;&amp;lt;closure &lt;span&gt;&amp;#40;&lt;/span&gt;SB-C::&amp;amp;OPTIONAL-DISPATCH SB-IMPL::&lt;span&gt;ENCAPSULATION&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#123;&lt;/span&gt;ACF84ED&lt;span&gt;&amp;#125;&lt;/span&gt;&amp;gt;
CL-USER&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;25&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;: &lt;span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;gorm&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&lt;span&gt;23&lt;/span&gt;
&amp;lt;/closure&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;We have built a pretty onion, each layer of which calls the next inner layer via BASIC-DEFINITION (the analog to CALL-NEXT-METHOD). Let&amp;#8217;s peel specific layers from it:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;lisp&quot;&gt;CL-USER&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;26&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;: &lt;span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;SB&lt;/span&gt;-INT:&lt;span&gt;UNENCAPSULATE&lt;/span&gt; 'gorm 'add-five&lt;span&gt;&amp;#41;&lt;/span&gt;
T
&amp;nbsp;
CL-USER&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;27&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;: &lt;span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;gorm&lt;/span&gt; &lt;span&gt;10&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&lt;span&gt;18&lt;/span&gt;
&amp;nbsp;
CL-USER&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;28&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;: &lt;span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;SB&lt;/span&gt;-INT:&lt;span&gt;UNENCAPSULATE&lt;/span&gt; 'gorm 'add-seven&lt;span&gt;&amp;#41;&lt;/span&gt;
T
&amp;nbsp;
CL-USER&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;29&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;: &lt;span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;gorm&lt;/span&gt; &lt;span&gt;10&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&lt;span&gt;11&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Eduardo Romero: Programming, Do I have what it... [Revisited]</title>
		<link href="http://kensai.team88.org/node/9"/>
		<id>http://kensai.team88.org/9 at http://kensai.team88.org</id>
		<updated>2008-05-03T19:47:44+00:00</updated>
		<content type="html">&lt;p&gt;Well, lets revisit this subject and see how I have progressed. Since I first wrote that I was going to begin learning programming, I did really started to learn programming using Ruby. Alongside with a great tutorial/book by &lt;a href=&quot;http://pine.fm&quot;&gt;Chris Pine&lt;/a&gt; (he names his kids after programming languages), programming seemed just fine for me. I got pretty good with Ruby, well not good enough to write a complicated program but I did understood most of the tutorial and even accomplished the exercises.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://kensai.team88.org/node/9&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Leslie Polzer: A kind of magic</title>
		<link href="http://blog.viridian-project.de/2008/05/01/a-kind-of-magic/"/>
		<id>http://blog.viridian-project.de/?p=72</id>
		<updated>2008-05-02T09:16:30+00:00</updated>
		<content type="html">&lt;p&gt;One often has to checking file uploads for correctness, for example with respect to size, file type or file name.&lt;/p&gt;
&lt;p&gt;Here&amp;#8217;s a sketch for checking the type of image files:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;lisp&quot;&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;defun&lt;/span&gt; matches-magic &lt;span&gt;&amp;#40;&lt;/span&gt;file magic &amp;amp;optional &lt;span&gt;&amp;#40;&lt;/span&gt;offset &lt;span&gt;0&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
    &lt;span&gt;&amp;#40;&lt;/span&gt;with-open-file &lt;span&gt;&amp;#40;&lt;/span&gt;s file :&lt;span&gt;element&lt;/span&gt;-type '&lt;span&gt;&amp;#40;&lt;/span&gt;unsigned-byte &lt;span&gt;8&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
      &lt;span&gt;&amp;#40;&lt;/span&gt;file-position s offset&lt;span&gt;&amp;#41;&lt;/span&gt;
      &lt;span&gt;&amp;#40;&lt;/span&gt;loop for c across magic
            unless &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;eql&lt;/span&gt; c &lt;span&gt;&amp;#40;&lt;/span&gt;code-char &lt;span&gt;&amp;#40;&lt;/span&gt;read-byte s&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
            &lt;span&gt;do&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;return-from matches-magic&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
      t&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;defun&lt;/span&gt; jpeg-p &lt;span&gt;&amp;#40;&lt;/span&gt;file&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;; won't catch Exif files with JPEG inside&lt;/span&gt;
  &lt;span&gt;&amp;#40;&lt;/span&gt;matches-magic file &lt;span&gt;&amp;quot;JFIF&amp;quot;&lt;/span&gt; &lt;span&gt;6&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;defun&lt;/span&gt; png-p &lt;span&gt;&amp;#40;&lt;/span&gt;file&lt;span&gt;&amp;#41;&lt;/span&gt;
  &lt;span&gt;&amp;#40;&lt;/span&gt;matches-magic file &lt;span&gt;&amp;quot;PNG&amp;quot;&lt;/span&gt; &lt;span&gt;1&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;defun&lt;/span&gt; gif-p &lt;span&gt;&amp;#40;&lt;/span&gt;file&lt;span&gt;&amp;#41;&lt;/span&gt;
  &lt;span&gt;&amp;#40;&lt;/span&gt;matches-magic file &lt;span&gt;&amp;quot;GIF89a&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;defun&lt;/span&gt; canonical-image-extension &lt;span&gt;&amp;#40;&lt;/span&gt;file&lt;span&gt;&amp;#41;&lt;/span&gt;
  &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;cond&lt;/span&gt;
    &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;png-p file&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;quot;png&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
    &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;gif-p file&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;quot;gif&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
    &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;jpeg-p file&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;quot;jpeg&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;defmacro&lt;/span&gt; any-predicate &lt;span&gt;&amp;#40;&lt;/span&gt;preds &amp;amp;rest args&lt;span&gt;&amp;#41;&lt;/span&gt;
    `&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;or&lt;/span&gt; ,@&lt;span&gt;&amp;#40;&lt;/span&gt;loop for p in preds
                 collect `&lt;span&gt;&amp;#40;&lt;/span&gt;,p ,@args&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;defun&lt;/span&gt; valid-image-p &lt;span&gt;&amp;#40;&lt;/span&gt;file&lt;span&gt;&amp;#41;&lt;/span&gt;
  &lt;span&gt;&amp;#40;&lt;/span&gt;any-predicate &lt;span&gt;&amp;#40;&lt;/span&gt;jpeg-p png-p gif-p&lt;span&gt;&amp;#41;&lt;/span&gt; file&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;ANY-PREDICATE could also be written as a function (with a slightly different form of arguments), here&amp;#8217;s another   quick  draft:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;lisp&quot;&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;defun&lt;/span&gt; any-predicate &lt;span&gt;&amp;#40;&lt;/span&gt;preds &amp;amp;rest args&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;; largely untested&lt;/span&gt;
  &lt;span&gt;&amp;#40;&lt;/span&gt;some #'&lt;span&gt;identity&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;mapcar&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;lambda&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;x&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;apply&lt;/span&gt; x args&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;  preds&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;defun&lt;/span&gt; valid-image-p &lt;span&gt;&amp;#40;&lt;/span&gt;file&lt;span&gt;&amp;#41;&lt;/span&gt;
  &lt;span&gt;&amp;#40;&lt;/span&gt;any-predicate &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;list&lt;/span&gt; #'jpeg-p #'png-p #'gif-p #'exif-p&lt;span&gt;&amp;#41;&lt;/span&gt; file&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Of course, you could also chain SYMBOL-FUNCTION to get rid of the sharp-signs in the call. Whatever suits you.&lt;br /&gt;
I like the macro better, though, since it&amp;#8217;s clearer and probably more efficient. &lt;em&gt;Update: see below for a comment by Zach Beane on this.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Homework would be writing a simple DSL to jot down file type data:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;lisp&quot;&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;define-file-type &lt;span&gt;&amp;quot;jpeg&amp;quot;&lt;/span&gt; JFIF &lt;span&gt;6&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Alternatives from the outer world would be calling &lt;code&gt;file(1)&lt;/code&gt; or parsing &lt;code&gt;magic(4)&lt;/code&gt;.&lt;/p&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="fr">
		<title type="html">gpm 1.20.3-1 dans [core]</title>
		<link href="http://www.archlinuxfr.org/actualite/178/"/>
		<id>http://www.archlinuxfr.org/actualite/178/</id>
		<updated>2008-05-01T17:30:06+00:00</updated>
		<content type="html">&lt;p&gt;La mise à jour du paquet gpm à la version 1.20.3-1 provoquera probablement le message d'erreur suivant :
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;error: could not prepare transaction
error: failed to commit transaction (conflicting files)
gpm: /usr/lib/libgpm.so.1 exists in filesystem
Errors occurred, no packages were upgraded.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;C'est dû au fait que le lien symbolique /usr/lib/libgpm.so.1 n'était plus possédé par le paquet (&lt;a href=&quot;http://bugs.archlinux.org/task/9949&quot;&gt;FS#9949&lt;/a&gt;). C'est réglé dans gpm 1.20.3-1 mais sa mise à jour doit être forcée :
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# pacman -Syf gpm
# pacman -Syu
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Traduction de la &lt;a href=&quot;http://archlinux.org/news/391/&quot;&gt;news originale&lt;/a&gt; du 01/05/2008 de Eric Belanger.
&lt;/p&gt;</content>
		<author>
			<name>Actualité Archlinux FR</name>
			<uri>http://www.archlinuxfr.org/news/</uri>
		</author>
		<source>
			<title type="html">Recent News Updates</title>
			<subtitle type="html">Recent News Updates</subtitle>
			<link rel="self" href="http://archlinuxfr.org/feeds/news/"/>
			<id>http://archlinuxfr.org/feeds/news/</id>
			<updated>2008-05-05T23:30:12+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Forum Annoucements: gpm 1.20.3-1 in Core</title>
		<link href="http://bbs.archlinux.org/viewtopic.php?id=47981"/>
		<id>http://bbs.archlinux.org/viewtopic.php?id=47981</id>
		<updated>2008-05-01T16:42:18+00:00</updated>
		<content type="html">&lt;p&gt;In case you haven't seen the front page news: &lt;a href=&quot;https://dev.archlinux.org/news/391/&quot;&gt;https://dev.archlinux.org/news/391/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When attempting to update to gpm 1.20.3-1, you will most likely get the following error message:&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;codebox&quot;&gt;&lt;div class=&quot;incqbox&quot;&gt;&lt;h4&gt;Code:&lt;/h4&gt;&lt;div class=&quot;scrollbox&quot;&gt;&lt;pre&gt;error: could not prepare transaction
error: failed to commit transaction (conflicting files)
gpm: /usr/lib/libgpm.so.1 exists in filesystem
Errors occurred, no packages were upgraded.&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;This error arises because the /usr/lib/libgpm.so.1 symlink became disassociated from the package (&lt;a href=&quot;http://bugs.archlinux.org/task/9949&quot;&gt;FS#9949&lt;/a&gt;). This is fixed in gpm 1.20.3-1 but its upgrade needs to be forced:&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;codebox&quot;&gt;&lt;div class=&quot;incqbox&quot;&gt;&lt;h4&gt;Code:&lt;/h4&gt;&lt;div class=&quot;scrollbox&quot;&gt;&lt;pre&gt;# pacman -Syf gpm
# pacman -Syu&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;-- posted by Snowman</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Official News: gpm 1.20.3-1 in Core</title>
		<link href="http://archlinux.org/news/391/"/>
		<id>http://archlinux.org/news/391/</id>
		<updated>2008-05-01T04:00:00+00:00</updated>
		<content type="html">When attempting to update to gpm 1.20.3-1, you will most likely get the following error message:

error: could not prepare transaction
error: failed to commit transaction (conflicting files)
gpm: /usr/lib/libgpm.so.1 exists in filesystem
Errors occurred, no packages were upgraded.

This error arises because the /usr/lib/libgpm.so.1 symlink became disassociated from the package (FS#9949). This is fixed in gpm 1.20.3-1 but its upgrade needs to be forced:
# pacman -Syf gpm
# pacman -Syu</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Gianvito Morena: Gtk Engines Benchmarks - Whats the fastest?</title>
		<link href="http://gianvito.wordpress.com/2008/02/20/gtk-engines-benchmarks-whats-the-fastest/"/>
		<id>http://gianvito.wordpress.com/?p=41</id>
		<updated>2008-04-30T19:50:54+00:00</updated>
		<content type="html">&lt;div class=&quot;snap_preview&quot;&gt;&lt;br /&gt;&lt;p&gt;There is a program that benchs every kind of gtk engine&amp;#8230;&lt;/p&gt;
&lt;p&gt;The name is &lt;strong&gt;GTKPERF.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Have you ever asked: &amp;#8220;What&amp;#8217;s the fastest gtk engine?&amp;#8221; (in everyday actions&amp;#8230;)&lt;/p&gt;
&lt;p&gt;I used &lt;strong&gt;gtkperf&lt;/strong&gt; to bench some of the most famous gtk engines:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Clearlooks (from gnome-themes-svn)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Nodoka &amp;#8212;&amp;#8212;-&amp;gt; 0.7 (updated)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Human (from Ubuntu)&lt;/li&gt;
&lt;li&gt;Murrine (thanks to CIMI (like new Clearlooks) :))&lt;/li&gt;
&lt;li&gt;Aurora&lt;/li&gt;
&lt;li&gt;Mac4Lin&lt;/li&gt;
&lt;li&gt;Clearlooks Classic&lt;/li&gt;
&lt;li&gt;Crux&lt;/li&gt;
&lt;li&gt;Glossy&lt;/li&gt;
&lt;li&gt;Glider&lt;/li&gt;
&lt;li&gt;Mist&lt;/li&gt;
&lt;li&gt;Nova&lt;/li&gt;
&lt;li&gt;Simple&lt;/li&gt;
&lt;li&gt;ThinIce&lt;/li&gt;
&lt;li&gt;Rezlooks (gilouche)&lt;/li&gt;
&lt;li&gt;Industrial&lt;/li&gt;
&lt;li&gt;Experience&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;QtCurve (Added)&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Updated with xfce-gtk-engines&lt;span id=&quot;more-41&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Xfce&lt;/li&gt;
&lt;li&gt;Xfce-4.0&lt;/li&gt;
&lt;li&gt;Xfce-4.2&lt;/li&gt;
&lt;li&gt;Xfce-b5&lt;/li&gt;
&lt;li&gt;Xfce-basic&lt;/li&gt;
&lt;li&gt;Xfce-cadmium&lt;/li&gt;
&lt;li&gt;Xfce-curve&lt;/li&gt;
&lt;li&gt;Xfce-dawn&lt;/li&gt;
&lt;li&gt;Xfce-dusk&lt;/li&gt;
&lt;li&gt;Xfce-kde2&lt;/li&gt;
&lt;li&gt;Xfce-kolors&lt;/li&gt;
&lt;li&gt;Xfce-light&lt;/li&gt;
&lt;li&gt;Xfce-orange&lt;/li&gt;
&lt;li&gt;Xfce-redmondxp&lt;/li&gt;
&lt;li&gt;Xfce-saltlake&lt;/li&gt;
&lt;li&gt;Xfce-smooth&lt;/li&gt;
&lt;li&gt;Xfce-stellar&lt;/li&gt;
&lt;li&gt;Xfce-winter&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;My Pc:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Athlon64 3000+ @ 2300 Mhz&lt;/li&gt;
&lt;li&gt;1 Gb RAM&lt;/li&gt;
&lt;li&gt;Nvidia 7600GT (169.09)&lt;/li&gt;
&lt;li&gt;ArchLinux with kernel: 2.6.24-zen3&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;em&gt;(See Pages numbers on the right to change pages)&lt;/em&gt;&lt;/div&gt;
&lt;div&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/categories/gianvito.wordpress.com/41/&quot; /&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/tags/gianvito.wordpress.com/41/&quot; /&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/gianvito.wordpress.com/41/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/gianvito.wordpress.com/41/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/gianvito.wordpress.com/41/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/gianvito.wordpress.com/41/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/gianvito.wordpress.com/41/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/gianvito.wordpress.com/41/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/gianvito.wordpress.com/41/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/gianvito.wordpress.com/41/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/gianvito.wordpress.com/41/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/gianvito.wordpress.com/41/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=gianvito.wordpress.com&amp;amp;blog=2900638&amp;amp;post=41&amp;amp;subd=gianvito&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;&lt;/div&gt;&lt;/div&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="fr">
		<title type="html">Diffuser sensmotdire ou utiliser google gadget</title>
		<link href="http://www.gnunux.info/dotclear/index.php?2008/04/30/265-diffuser-sensmotdire-ou-utiliser-google-gadget"/>
		<id>http://www.gnunux.info/dotclear/index.php?2008/04/30/265-diffuser-sensmotdire-ou-utiliser-google-gadget</id>
		<updated>2008-04-30T16:37:20+00:00</updated>
		<content type="html">&lt;p&gt;Je viens de découvrir que google permettait de mettre des gadgets sur sa page d'accueil. Pour cela, il faut évidement un compte google (que je n'ai pas).&lt;/p&gt;


&lt;p&gt;J'ai donc créé un gadget google pour proposer ce service. Si vous utilisez igoogle, cliquer sur le lien suivant pour l'ajouter&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.google.com/ig/adde?moduleurl=sensmotdire.gnunux.info/widget-google.xml&quot; hreflang=&quot;fr&quot;&gt;http://www.google.com/ig/adde?moduleurl=sensmotdire.gnunux.info/widget-google.xml&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Voici une capture du gadget&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://sensmotdire.gnunux.info/images/widget-google-shot.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Il est également possible d'ajouter le gadget sur un page web&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://gmodules.com/ig/creator?synd=open&amp;amp;hl=fr&amp;amp;url=http://sensmotdire.gnunux.info/widget-google.xml&quot; hreflang=&quot;fr&quot;&gt;http://gmodules.com/ig/creator?synd=open&amp;amp;hl=fr&amp;amp;url=http://sensmotdire.gnunux.info/widget-google.xml&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Evidement, il est possible de mettre sensmotdire sur son site sans passer par google, en ajoutant le code suivant&amp;nbsp;:&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;&amp;lt;iframe src=&quot;http://sensmotdire.gnunux.info/widget.php&quot; scrolling=&quot;false&quot; frameborder=&quot;0&quot;&amp;gt;&amp;lt;a href=&quot;http://sensmotdire.gnunux.info/&quot;&amp;gt;sensmotdire&amp;lt;/a&amp;gt;&amp;lt;/iframe&amp;gt;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;(ajouter height=... et width=... pour éventuellement controler la taille du gadget)&lt;/p&gt;

&lt;p&gt;Par défaut sensmotdire vous donnera 3 suggestions maximum. Il est possible d'augmenter cette valeur (la valeur maximal autorisé étant 10) en replacant l'url par, par exemple&amp;nbsp;: &quot;http://sensmotdire.gnunux.info/widget.php?limit=5&quot;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mise à jour 2 :&lt;/strong&gt; J'ai rajouté l'option &quot;title=no&quot; pour désactivé le titre et &quot;size=...&quot; pour définir la taille de la zone de saisie.&lt;/p&gt;


&lt;p&gt;Cela donne&amp;nbsp;:&lt;/p&gt;

&lt;a href=&quot;http://sensmotdire.gnunux.info/&quot;&gt;sensmotdire&lt;/a&gt;

&lt;p&gt;J'aurais bien voulu apparaitre dans le catalogue de gadget de google, mais je n'ai pas réussit malgré plusieurs tentatives. Si quelqu'un sait comment faire ...&lt;/p&gt;


&lt;p&gt;Si jamais vous connaissez d'autre système de gadget, n'hésiter a faire un plugin ou me soumettre le lien&amp;nbsp;!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mise à jour : &lt;/strong&gt;Pour netvibes : &lt;a href=&quot;http://www.netvibes.com/subscribe.php?preconfig=a66a07b44b01f9c243cfb1c65ccade97&quot; hreflang=&quot;fr&quot;&gt;http://www.netvibes.com/subscribe.php?preconfig=a66a07b44b01f9c243cfb1c65ccade97&lt;/a&gt;. Comme pour igoogle, je n'ai pas réussi à le mettre dans le catalogue netvibes ... Si quelqu'un veut s'en charger ...&lt;/p&gt;</content>
		<author>
			<name>Emmanuel Garette, gnunux</name>
			<uri>http://www.gnunux.info/dotclear/index.php</uri>
		</author>
		<source>
			<title type="html">La page de GnunuX</title>
			<link rel="self" href="http://www.gnunux.info/dotclear/rss.php"/>
			<id>http://www.gnunux.info/dotclear/rss.php</id>
			<updated>2008-05-04T20:30:12+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Gianvito Morena: Tupac - A great utility that completes Pacman (not only a famous rapper)</title>
		<link href="http://gianvito.wordpress.com/2008/04/28/tupac-a-great-utility-that-completes-pacman-not-only-a-famous-rapper/"/>
		<id>http://gianvito.wordpress.com/?p=135</id>
		<updated>2008-04-28T13:19:15+00:00</updated>
		<content type="html">&lt;div class=&quot;snap_preview&quot;&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;&amp;#8220;A cached pacman implementatioin&amp;#8221;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pacman Description&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;size-full wp-image-136 aligncenter&quot; src=&quot;http://gianvito.files.wordpress.com/2008/04/tupac9.jpg?w=310&amp;amp;h=350&quot; alt=&quot;&quot; width=&quot;310&quot; height=&quot;350&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Tupac (rapper) R.I.P.&lt;br /&gt;
&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;(click on the numbers on the right to change pages)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-135&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/categories/gianvito.wordpress.com/135/&quot; /&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/tags/gianvito.wordpress.com/135/&quot; /&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/gianvito.wordpress.com/135/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/gianvito.wordpress.com/135/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/gianvito.wordpress.com/135/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/gianvito.wordpress.com/135/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/gianvito.wordpress.com/135/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/gianvito.wordpress.com/135/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/gianvito.wordpress.com/135/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/gianvito.wordpress.com/135/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/gianvito.wordpress.com/135/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/gianvito.wordpress.com/135/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=gianvito.wordpress.com&amp;amp;blog=2900638&amp;amp;post=135&amp;amp;subd=gianvito&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Judd Vinet: New Pronto Snapshot: 20080428</title>
		<link href="http://www.zeroflux.org/post/view?id=241"/>
		<id>http://www.zeroflux.org/post/view?id=241</id>
		<updated>2008-04-28T11:04:48+00:00</updated>
		<content type="html">&lt;p&gt;
I've been busy lately, but still steadily working on the ol' web
framework.&amp;nbsp; I'm starting to reorganize the core components to maintain
a loose coupling between layers.&amp;nbsp; Behold an incremental improvement!&amp;nbsp;
Huzzah!
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Changes:&lt;/strong&gt;
&lt;/p&gt;

&lt;ul&gt;
            
        
    &lt;li&gt;Change in nomenclature: &amp;quot;template plugins&amp;quot; are now also
            known as &amp;quot;helpers&amp;quot;, and &amp;quot;page plugins&amp;quot; are now also known as simply
            &amp;quot;plugins&amp;quot;&lt;/li&gt;
            
        
    &lt;li&gt;Added a datetime widget to the Form helper&lt;/li&gt;
            
        
    &lt;li&gt;Moved
            template logic into a separate class so it can be accessed outside of
            page controllers (eg, a commandline client can now use it to render
            email content)&lt;/li&gt;
            
        
    &lt;li&gt;CSS fixes for IE6 and IE7 (oh how I hate thee)&lt;/li&gt;
            
        
    &lt;li&gt;Changed Mailer plugin to use SwiftMailer instead of PHPMailer.  PHPMailer is still available via ppPHPMailer for the time being.&lt;/li&gt;
            
        
    &lt;li&gt;Upgraded TinyMCE to 3.0.7&lt;/li&gt;
            
        
    &lt;li&gt;Changes to display callback functions in &lt;span class=&quot;code&quot;&gt;tpGrid::build_grid()&lt;/span&gt;&lt;/li&gt;
            
        
    &lt;li&gt;More bugfixes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Now that input validation and templates are where they should be, I'd like to focus on URL mobility a bit more.&amp;nbsp; Mapping URLs to controller/action pairs is dead easy, but templates and controllers still hardcode URLs in many cases.&amp;nbsp; For example, if an action redirects to another controller/action after it has finished its business, then it hardcodes that URL.&amp;nbsp; Works most of the time, but if I want to move a controller to a new URL location (eg, move &lt;span class=&quot;code&quot;&gt;/blog/post/edit&lt;/span&gt; to &lt;span class=&quot;code&quot;&gt;/admin/blog/post/edit&lt;/span&gt;) then I have to actually go through the code and change all instances of that URL.
&lt;/p&gt;

&lt;p&gt;
My answer is going to be basically the reverse of the current URL-&amp;gt;Controller mapping that's currently found in &lt;span class=&quot;code&quot;&gt;app/config/urls.php&lt;/span&gt;.&amp;nbsp; So instead of rendering a hardcoded URL like &lt;span class=&quot;code&quot;&gt;/blog/post/edit&lt;/span&gt;, you would ask to render the controller &lt;span class=&quot;code&quot;&gt;Blog_Post&lt;/span&gt; and the action &lt;span class=&quot;code&quot;&gt;Edit&lt;/span&gt;.
&lt;/p&gt;

&lt;p&gt;
Sounds good in theory.&amp;nbsp; I'll let you know how it works out. 
&lt;/p&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="fr">
		<title type="html">Une semaine OpenStreetMap</title>
		<link href="http://www.gnunux.info/dotclear/index.php?2008/04/27/264-une-semaine-openstreetmap"/>
		<id>http://www.gnunux.info/dotclear/index.php?2008/04/27/264-une-semaine-openstreetmap</id>
		<updated>2008-04-27T19:41:54+00:00</updated>
		<content type="html">&lt;p&gt;Beaucoup d'avancé encore&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.gnunux.info/dotclear/images/OSM/dijon-270408.gif&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Les zones 19, 30, 31 et 32 sont maintenant terminées&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;J'ai redéfini les zones 5, 6 et 7 et j'ai ajouté une zone 35 (déjà cartographié).&lt;/p&gt;


&lt;p&gt;La zone 5 est quasi fini. Tikismoke a cartographié dans la zone 3 qui est (pratiquement ?) fini.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.gnunux.info/dotclear/images/OSM/cartedijon-270408.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</content>
		<author>
			<name>Emmanuel Garette, gnunux</name>
			<uri>http://www.gnunux.info/dotclear/index.php</uri>
		</author>
		<source>
			<title type="html">La page de GnunuX</title>
			<link rel="self" href="http://www.gnunux.info/dotclear/rss.php"/>
			<id>http://www.gnunux.info/dotclear/rss.php</id>
			<updated>2008-05-04T20:30:12+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Daniel Isenmann: Holux M-241 and playing with Google Maps</title>
		<link href="http://ise.is.ohost.de/?p=42"/>
		<id>http://ise.is.ohost.de/?p=42</id>
		<updated>2008-04-24T15:33:44+00:00</updated>
		<content type="html">&lt;p&gt;Another thing I can delete from my wishlist. I have ordered a &lt;a title=&quot;Holux product page&quot; href=&quot;http://www.holux.com/JCore/en/products/products_content.jsp?pno=341&quot; target=&quot;_blank&quot;&gt;Holux M-241&lt;/a&gt; which should be delivered in few days. &lt;img src=&quot;http://ise.is.ohost.de/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; In the meantime I have played with Google Maps and their API. After playing with the API of OpenLayers last week, I decided to take the Google API for my geologging mapping. You can find my first result of geologging &lt;a href=&quot;http://ise.is.ohost.de/?page_id=41&quot; target=&quot;_self&quot;&gt;here&lt;/a&gt;. There will be more tracks, more photos and more description of the single hiking tracks. But first, I must receive the M-241 and get it run under ArchLinux. I will post my experience in a later post and try to explain step by step the download procedure of the track information from the logger and generating maps like the one I linked above.&lt;/p&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Leslie Polzer: Escaping from higher-order functions</title>
		<link href="http://blog.viridian-project.de/2008/04/22/escaping-from-higher-order-functions/"/>
		<id>http://blog.viridian-project.de/?p=71</id>
		<updated>2008-04-22T11:57:17+00:00</updated>
		<content type="html">&lt;p&gt;Among the &lt;a href=&quot;http://groups.google.com/group/comp.lang.lisp/browse_thread/thread/4afbddb4f1273c43?hl=en&quot;&gt;different ways to tackle iterative processes&lt;/a&gt; I consider to be the higher-order function route the one I use most often. Especially in conjunction with function composition and &lt;a href=&quot;http://www.lisp.org/HyperSpec/Body/fun_everycm_s_erycm_notany.html&quot;&gt;list predicates&lt;/a&gt; it makes great filtering-style code.&lt;/p&gt;
&lt;p&gt;A problem that came up several times is interrupting the list processing at an arbitrary point. For example, how do I stop MAPCAR at the third item if I see it fit? Something like that:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;lisp&quot;&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;let&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;i &lt;span&gt;0&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
  &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;mapcar&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;lambda&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;x&lt;span&gt;&amp;#41;&lt;/span&gt;
            &lt;span&gt;&amp;#40;&lt;/span&gt;when &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;eql&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;incf i&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;3&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
              &lt;span&gt;&amp;#40;&lt;/span&gt;STOP-HERE&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
    '&lt;span&gt;&amp;#40;&lt;/span&gt;a b c d&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Sometimes, one can take alternative routes using FIND or other functions. And there&amp;#8217;s always LOOP, DOLIST, recursion and other solutions; after all we&amp;#8217;re working in a language that really implements the &amp;#8220;there&amp;#8217;s more than one way to do it&amp;#8221; paradigm.&lt;/p&gt;
&lt;p&gt;Using TAGBODY and GO:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;lisp&quot;&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;tagbody &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;mapcar&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;lambda&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;x&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;go&lt;/span&gt; X&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; '&lt;span&gt;&amp;#40;&lt;/span&gt;a b c&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; X&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Using BLOCK/RETURN-FROM:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;lisp&quot;&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;block X &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;mapcar&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;lambda&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;x&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;return-from X&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; ‘&lt;span&gt;&amp;#40;&lt;/span&gt;a b c&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I originally posted another version using CATCH/THROW, but as pointed out in the comments this wasn&amp;#8217;t all well for several reasons.&lt;/p&gt;
&lt;p&gt;Delimited continuations with CL-CONT unfortunately &lt;a href=&quot;http://groups.google.com/group/weblocks/t/bae2021f3f9aa6e4&quot;&gt;won&amp;#8217;t work&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A good alternative solution would be writing your own version of MAPCAR; this has the advantage of being able to return the partially processed list. But there&amp;#8217;s the disadvantage of having to rewrite the whole family of mapping functions, though, so for quick prototyping or occasional usage I prefer the above solution.&lt;/p&gt;
&lt;p&gt;If you have other neat solutions or see problems with this approach, please leave a comment.&lt;/p&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Eduardo Romero: Update to Drupal 6.2</title>
		<link href="http://kensai.team88.org/node/8"/>
		<id>http://kensai.team88.org/8 at http://kensai.team88.org</id>
		<updated>2008-04-20T03:35:49+00:00</updated>
		<content type="html">&lt;p&gt;Well, once again, the web log was off line for most of the day because it was being upgraded to the latest version of Drupal 6.x series. I hope you didn't had any inconvenience because of this, sorry and thanks for your patience. Again the update was just a security update, but introduces some performance enhancements. Lets hope this all works out well.&lt;/p&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Forum Annoucements: 2.6.25 enters [testing]</title>
		<link href="http://bbs.archlinux.org/viewtopic.php?id=47351"/>
		<id>http://bbs.archlinux.org/viewtopic.php?id=47351</id>
		<updated>2008-04-19T16:20:15+00:00</updated>
		<content type="html">&lt;p&gt;Not much to say, just read this: &lt;a href=&quot;http://archlinux.org/pipermail/arch-general/2008-April/017412.html&quot;&gt;http://archlinux.org/pipermail/arch-gen &amp;hellip; 17412.html&lt;/a&gt;&lt;/p&gt;-- posted by brain0</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="fr">
		<title type="html">Deux semaines d'OpenStreetMap sur Dijon</title>
		<link href="http://www.gnunux.info/dotclear/index.php?2008/04/18/263-deux-semaines-d-openstreetmap-sur-dijon"/>
		<id>http://www.gnunux.info/dotclear/index.php?2008/04/18/263-deux-semaines-d-openstreetmap-sur-dijon</id>
		<updated>2008-04-18T19:12:04+00:00</updated>
		<content type="html">&lt;p&gt;Encore des nouveautés sur Dijon&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.gnunux.info/dotclear/images/OSM/dijon-180408.gif&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Les zones 12 et 18 sont finis. La zone 17 est à moitié faite. Enfin, pas mal de nouveautés dans la zone 5 et la zone 1 (il faut remercier tikismoke aussi !).&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.gnunux.info/dotclear/images/OSM/cartedijon-180408.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</content>
		<author>
			<name>Emmanuel Garette, gnunux</name>
			<uri>http://www.gnunux.info/dotclear/index.php</uri>
		</author>
		<source>
			<title type="html">La page de GnunuX</title>
			<link rel="self" href="http://www.gnunux.info/dotclear/rss.php"/>
			<id>http://www.gnunux.info/dotclear/rss.php</id>
			<updated>2008-05-04T20:30:12+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="fr">
		<title type="html">ABS 2.0 dans [core]</title>
		<link href="http://www.archlinuxfr.org/actualite/177/"/>
		<id>http://www.archlinuxfr.org/actualite/177/</id>
		<updated>2008-04-16T10:30:27+00:00</updated>
		<content type="html">&lt;p&gt;Avec sa version 2, ABS est passé à une méthode utilisant rsync pour récupérer l'arbre ABS, changement qui était nécessaire suite à notre passage de CVS à SVN en interne. Ça veut dire plusieurs choses :
&lt;/p&gt;
&lt;p&gt;1) cvsup/csup ne sont plus nécessaires, rsync les remplace
   2) La configuration ne se fait plus dans /etc/abs/abs.conf mais /etc/abs.conf ; les fichiers dans /etc/abs/ ne sont plus nécessaires
&lt;/p&gt;
&lt;p&gt;De plus, puisque les informations sur les catégories (c'est-à-dire base, devel, editors) ne sont plus stockées dans le &lt;em&gt;repo&lt;/em&gt;,  makeworld a été mis à jour (faites &lt;em&gt;makeworld -h&lt;/em&gt; pour plus de précisions).
&lt;/p&gt;
&lt;p&gt;Traduction de la &lt;a href=&quot;http://archlinux.org/news/390/&quot;&gt;news originale&lt;/a&gt; du 15/04/2008 de Travis Willard.
&lt;/p&gt;</content>
		<author>
			<name>Actualité Archlinux FR</name>
			<uri>http://www.archlinuxfr.org/news/</uri>
		</author>
		<source>
			<title type="html">Recent News Updates</title>
			<subtitle type="html">Recent News Updates</subtitle>
			<link rel="self" href="http://archlinuxfr.org/feeds/news/"/>
			<id>http://archlinuxfr.org/feeds/news/</id>
			<updated>2008-05-05T23:30:12+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Aaron Griffin: Comments Enabled</title>
		<link href="http://phraktured.net/comments-enabled.html"/>
		<id>http://phraktured.net/comments-enabled.html#2008-04-15T18:55:18</id>
		<updated>2008-04-15T19:55:18+00:00</updated>
		<content type="html">&lt;p&gt;So I sat down and slapped together some comment-ability for this blog. Not that
   it's really needed, or anything.
&lt;/p&gt;
&lt;p&gt;I am using &lt;a href=&quot;http://disqus.com&quot;&gt;disqus&lt;/a&gt; because it allows me to push all the
   comment management stuff offsite. Hooray!
&lt;/p&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Gianvito Morena: New Compiz-Fusion Plugins</title>
		<link href="http://gianvito.wordpress.com/2008/04/15/new-compiz-fusion-plugins/"/>
		<id>http://gianvito.wordpress.com/?p=134</id>
		<updated>2008-04-15T13:18:13+00:00</updated>
		<content type="html">&lt;div class=&quot;snap_preview&quot;&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;New Compiz-Fusion Plugins&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href=&quot;http://gianvito.wordpress.com/2008/04/15/new-compiz-fusion-plugins/&quot;&gt;&lt;img src=&quot;http://img.youtube.com/vi/kKJBPCy2l3g/2.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ve just updated compiz fusion (git) in the repo&amp;#8230; You can install it from there adding &lt;a href=&quot;http://gianvito.wordpress.com/my-archlinux-repository/&quot;&gt;this&lt;/a&gt; and then:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;sudo pacman -S compiz-fusion-git&lt;/em&gt;&lt;/p&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/categories/gianvito.wordpress.com/134/&quot; /&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/tags/gianvito.wordpress.com/134/&quot; /&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/gianvito.wordpress.com/134/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/gianvito.wordpress.com/134/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/gianvito.wordpress.com/134/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/gianvito.wordpress.com/134/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/gianvito.wordpress.com/134/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/gianvito.wordpress.com/134/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/gianvito.wordpress.com/134/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/gianvito.wordpress.com/134/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/gianvito.wordpress.com/134/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/gianvito.wordpress.com/134/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=gianvito.wordpress.com&amp;amp;blog=2900638&amp;amp;post=134&amp;amp;subd=gianvito&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="fr">
		<title type="html">Archlinux 2008.04-RC</title>
		<link href="http://www.archlinuxfr.org/actualite/176/"/>
		<id>http://www.archlinuxfr.org/actualite/176/</id>
		<updated>2008-04-15T11:30:06+00:00</updated>
		<content type="html">&lt;p&gt;Une nouvelle fournée d'images est en train d'arriver sur les miroirs. Les images FTP ont été mises à disposition ce soir, mais il faudra attendre demain pour CORE afin de distribuer la charge.
&lt;/p&gt;
&lt;p&gt;C'est la première &lt;em&gt;release&lt;/em&gt; (bon OK, &lt;em&gt;release candidate&lt;/em&gt; [1]) qui s'appuie sur un vrai système Arch &lt;em&gt;live&lt;/em&gt;. Eh oui, ces images ne sont rien de plus qu'une installation de base qui démarre depuis un CD ou une clé USB.
&lt;/p&gt;
&lt;p&gt;Oooh... tu viens de dire clé USB là ? Bah oui ! En effet, des images pour clé USB qui peuvent servir de système &lt;em&gt;live&lt;/em&gt; ou d'installeur seront dorénavant disponibles.
&lt;/p&gt;
&lt;p&gt;Le script d'installation lui-même est à peu près inchangé. La modification la plus visible pour l'utilisateur 
   est l'utilisation d'&lt;a href=&quot;http://fr.wikipedia.org/wiki/UUID&quot;&gt;UUID&lt;/a&gt; au lieu de sdX/hdX par défaut. Un &lt;em&gt;changelog&lt;/em&gt; [2] plus détaillé devrait être disponible sur &lt;a href=&quot;http://projects.archlinux.org/&quot;&gt;projects.archlinux.org&lt;/a&gt; sous peu.
&lt;/p&gt;
&lt;p&gt;Si vous en avez l'occasion, essayez ces images. Vous pourrez les trouver sur nos miroirs, dans le dossier iso. Merci de rapporter les bugs éventuels.
&lt;/p&gt;
&lt;p&gt;Au passage, le statut &amp;quot;RC&amp;quot; de ces images ne doit pas vous empêcher de les utiliser pour installer Arch, elles marcheront très probablement parfaitement pour vous.
&lt;/p&gt;
&lt;p&gt;Traduction de la &lt;a href=&quot;http://archlinux.org/news/389/&quot;&gt;news originale&lt;/a&gt; du 15/04/2008 de Simo Leone.
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NdT&lt;/strong&gt; :
&lt;/p&gt;
&lt;p&gt;[1] &lt;em&gt;release candidate&lt;/em&gt; : version possédant les mêmes fonctionnalités que la version finale, mise à disposition à des fins de test.
&lt;/p&gt;
&lt;p&gt;[2] &lt;em&gt;changelog&lt;/em&gt; : résumé des modifications.
&lt;/p&gt;</content>
		<author>
			<name>Actualité Archlinux FR</name>
			<uri>http://www.archlinuxfr.org/news/</uri>
		</author>
		<source>
			<title type="html">Recent News Updates</title>
			<subtitle type="html">Recent News Updates</subtitle>
			<link rel="self" href="http://archlinuxfr.org/feeds/news/"/>
			<id>http://archlinuxfr.org/feeds/news/</id>
			<updated>2008-05-05T23:30:12+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Forum Annoucements: 2008.04-RC Images are out</title>
		<link href="http://bbs.archlinux.org/viewtopic.php?id=47133"/>
		<id>http://bbs.archlinux.org/viewtopic.php?id=47133</id>
		<updated>2008-04-15T06:59:13+00:00</updated>
		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.archlinux.org/news/389/&quot;&gt;http://www.archlinux.org/news/389/&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;div class=&quot;incqbox&quot;&gt;&lt;p&gt;A new batch of install images is currently syncing to mirrors.&lt;br /&gt;FTP images have been made available tonight, while CORE images&lt;br /&gt;will be pushed tomorrow night in order to distribute the load.&lt;br /&gt;&lt;br /&gt;This marks the first release (well ok... release candidate)&lt;br /&gt;based on a true live Arch system. That is, what's on the&lt;br /&gt;images is just a plain old base installation which just&lt;br /&gt;happens to boot off of a CD or USB stick.&lt;br /&gt;&lt;br /&gt;Whoah... did you just say USB stick? Why yes I did! That's&lt;br /&gt;right, from here on out we'll be offering bootable USB disk&lt;br /&gt;images that can act as a live system or installer.&lt;br /&gt;&lt;br /&gt;The installer script itself is roughly the same as it's always&lt;br /&gt;been. The most noticable change is the use of UUIDs instead of&lt;br /&gt;sdX/hdX entries by default. A more detailed changelog&lt;br /&gt;should be visible on projects.archlinux.org soon-ish.&lt;br /&gt;&lt;br /&gt;If you get the chance, please give the images a spin. You can&lt;br /&gt;find them on our mirrors, in the&lt;br /&gt;iso directory. Please file bugs if you encounter any problems.&lt;br /&gt;&lt;br /&gt;By the way, the &amp;quot;RC&amp;quot; status of these images should not be a&lt;br /&gt;turn-off if you're looking to install Arch, there's a very&lt;br /&gt;good chance they'll work just fine for you.&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;p&gt;Ready. Set. Go!&lt;/p&gt;-- posted by neotuli</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Official News: ABS 2.0 In Core</title>
		<link href="http://archlinux.org/news/390/"/>
		<id>http://archlinux.org/news/390/</id>
		<updated>2008-04-15T04:00:00+00:00</updated>
		<content type="html">With version 2, ABS has moved to an rsync method for pulling the ABS tree, as part of the changes that needed to be made for our internal move from CVS to SVN as our source control mechanism.  This means a few things:

1) cvsup/csup are no longer required, rsync is used instead
2) Configuration moved from /etc/abs/abs.conf to /etc/abs.conf -
/etc/abs/* are no longer required

Also, since category information (ie. base, devel, editors) is no longer stored in the repo, makeworld has been updated - check
makeworld -h for more info.</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Official News: Archlinux 2008.04-RC</title>
		<link href="http://archlinux.org/news/389/"/>
		<id>http://archlinux.org/news/389/</id>
		<updated>2008-04-15T04:00:00+00:00</updated>
		<content type="html">A new batch of install images is currently syncing to mirrors. 
FTP images have been made available tonight, while CORE images
will be pushed tomorrow night in order to distribute the load.

This marks the first release (well ok... release candidate)
based on a true live Arch system. That is, what's on the
images is just a plain old base installation which just
happens to boot off of a CD or USB stick.

Whoah... did you just say USB stick? Why yes I did! That's
right, from here on out we'll be offering bootable USB disk 
images that can act as a live system or installer.

The installer script itself is roughly the same as it's always
been. The most noticable change is the use of UUIDs instead of
sdX/hdX entries by default. A more detailed changelog
should be visible on &lt;a href=&quot;http://projects.archlinux.org/git/&quot;&gt;projects.archlinux.org&lt;/a&gt; soon-ish.

If you get the chance, please give the images a spin. You can
find them on our &lt;a href=&quot;https://dev.archlinux.org/download/&quot;&gt;mirrors&lt;/a&gt;, in the
iso directory. Please file &lt;a href=&quot;http://bugs.archlinux.org&quot;&gt;bugs&lt;/a&gt; if you encounter any problems.

By the way, the &quot;RC&quot; status of these images should not be a
turn-off if you're looking to install Arch, there's a very 
good chance they'll work just fine for you.</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Leslie Polzer: Analyzing return values with a recursive macro</title>
		<link href="http://blog.viridian-project.de/2008/04/12/analyzing-return-values-with-a-recursive-macro/"/>
		<id>http://blog.viridian-project.de/?p=68</id>
		<updated>2008-04-12T15:26:18+00:00</updated>
		<content type="html">&lt;p&gt;Printing the argument and return values of a set of nested or sequential expressions is a common debugging tactic.&lt;/p&gt;
&lt;p&gt;In Common Lisp we can make use of a recursive macro instead of manually inserting printing statements. Specifically, we want our macro (let&amp;#8217;s call it WALK for want of a better name since it&amp;#8217;s a simple code walker) to print all the return values it encounters along its way:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;lisp&quot;&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;walk &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;list&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;+ &lt;span&gt;5&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;* &lt;span&gt;3&lt;/span&gt; &lt;span&gt;3&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
            &lt;span&gt;&amp;quot;Welcome to earth, third rock from the sun!&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
&lt;span&gt;&amp;#40;&lt;/span&gt;* &lt;span&gt;3&lt;/span&gt; &lt;span&gt;3&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; =&amp;gt; &lt;span&gt;9&lt;/span&gt;
&lt;span&gt;&amp;#40;&lt;/span&gt;+ &lt;span&gt;5&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;* &lt;span&gt;3&lt;/span&gt; &lt;span&gt;3&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; =&amp;gt; &lt;span&gt;14&lt;/span&gt;
&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;LIST&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;+ &lt;span&gt;5&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;* &lt;span&gt;3&lt;/span&gt; &lt;span&gt;3&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;quot;Welcome to earth, third rock from the sun!&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
  =&amp;gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;14&lt;/span&gt; &lt;span&gt;&amp;quot;Welcome to earth, third rock from the sun!&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The following macro does that job.&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;lisp&quot;&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;defmacro&lt;/span&gt; walk &lt;span&gt;&amp;#40;&lt;/span&gt;form&lt;span&gt;&amp;#41;&lt;/span&gt;
    &lt;span&gt;&amp;#40;&lt;/span&gt;etypecase form
       &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;atom&lt;/span&gt; &lt;span&gt;; terminating base case&lt;/span&gt;
         form&lt;span&gt;&amp;#41;&lt;/span&gt;
       &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;cons&lt;/span&gt;
         `&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;let&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;result &lt;span&gt;&amp;#40;&lt;/span&gt;,&lt;span&gt;&amp;#40;&lt;/span&gt;first form&lt;span&gt;&amp;#41;&lt;/span&gt; ,@&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;mapcar&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;lambda&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;arg&lt;span&gt;&amp;#41;&lt;/span&gt; `&lt;span&gt;&amp;#40;&lt;/span&gt;walk ,arg&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
                                               &lt;span&gt;&amp;#40;&lt;/span&gt;rest form&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
            &lt;span&gt;&amp;#40;&lt;/span&gt;format t &lt;span&gt;&amp;quot;~S =&amp;gt; ~S~%&amp;quot;&lt;/span&gt; ',form result&lt;span&gt;&amp;#41;&lt;/span&gt;
            result&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Modifying the output so it prints&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;lisp&quot;&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;* &lt;span&gt;3&lt;/span&gt; &lt;span&gt;3&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; =&amp;gt; &lt;span&gt;9&lt;/span&gt;
&lt;span&gt;&amp;#40;&lt;/span&gt;+ &lt;span&gt;5&lt;/span&gt; &lt;span&gt;9&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; =&amp;gt; &lt;span&gt;14&lt;/span&gt;
&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;LIST&lt;/span&gt; &lt;span&gt;14&lt;/span&gt; &lt;span&gt;&amp;quot;Welcome to earth, third rock from the sun!&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
  =&amp;gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;14&lt;/span&gt; &lt;span&gt;&amp;quot;Welcome to earth, third rock from the sun!&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;instead is left as an exercise to the reader (bad puns come easily in English&amp;#8230;), as is the addition of an optional DEPTH argument.&lt;/p&gt;
&lt;p&gt;It would also be nice to make use of the &lt;a href=&quot;http://www.lisp.org/HyperSpec/Body/sec_22-2.html&quot;&gt;pretty printer&lt;/a&gt; for appropriate indentation, but I have severe problems grokking it, so maybe someone familiar with this facility can help.&lt;/p&gt;
&lt;p&gt;In other programming languages the same problem requires &lt;a href=&quot;http://wolfgangmeyer.blogspot.com/2008/04/debuggers-are-needlessly-tedious-to-use.html&quot;&gt;a bit more effort&lt;/a&gt;.&lt;/p&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="fr-fr">
		<title type="html">My history</title>
		<link href="http://www.slubman.info/ticket/24/my-history/"/>
		<id>http://www.slubman.info/ticket/24/my-history/</id>
		<updated>2008-04-11T14:31:25+00:00</updated>
		<content type="html">&lt;p&gt;C'est parti du &lt;a href=&quot;http://planet.fedoraproject.org/&quot;&gt;planet fedora&lt;/a&gt;, mais après tout, je peux aussi donner le mien
&lt;/p&gt;&lt;pre&gt;&lt;code&gt;$ history | awk '{a[$2]++ } END{for(i in a){print a[i] &amp;quot; &amp;quot; i}}' | sort -rn | head
150 screen
64 ssh.ashley
41 cd
40 su
40 man
28 ls
17 env
16 vi
15 mpc
15 irssi
&lt;/code&gt;&lt;/pre&gt;</content>
		<author>
			<name>slubman</name>
			<email>slubman@ifrance.com</email>
			<uri>http://www.slubman.info/</uri>
		</author>
		<source>
			<title type="html">Slubman :: Blog :: billets</title>
			<subtitle type="html">Le blog de slubman</subtitle>
			<link rel="self" href="http://slubman.info/feeds/latest/"/>
			<id>http://www.slubman.info/</id>
			<updated>2008-05-05T23:30:05+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Leslie Polzer: Escape key alternatives in Vim</title>
		<link href="http://blog.viridian-project.de/2008/04/11/escape-key-alternatives-in-vim/"/>
		<id>http://blog.viridian-project.de/?p=66</id>
		<updated>2008-04-11T11:53:13+00:00</updated>
		<content type="html">&lt;p&gt;The &lt;a href=&quot;http://dailyvim.blogspot.com/2008/04/ways-to-avoid-esc-key.html&quot;&gt;Daily Vim&lt;/a&gt; blog shows a bunch of ways to replace the time-consuming escape key with a faster binding. You can try all of them at once, if you&amp;#8217;re not sure what suits you best.&lt;/p&gt;
&lt;p&gt;Unfortunately the most attractive method &amp;#8212; remapping CapsLock &amp;#8212; is already assigned to the window manager on my box, so this one wasn&amp;#8217;t really an option for me.&lt;/p&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Gianvito Morena: Gnome 2.22 Released</title>
		<link href="http://gianvito.wordpress.com/2008/03/13/gnome-222-released/"/>
		<id>http://gianvito.wordpress.com/?p=118</id>
		<updated>2008-04-10T10:41:11+00:00</updated>
		<content type="html">&lt;div class=&quot;snap_preview&quot;&gt;&lt;br /&gt;&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;http://gianvito.files.wordpress.com/2008/03/gnome222.png&quot; alt=&quot;gnome222.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Let&amp;#8217;s see how to install it on ArchLinux&amp;#8230;  &lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update 10/04/2008&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Gnome 2.22 in [extra]&lt;/li&gt;
&lt;li&gt;Gnome 2.22.1 released&lt;/li&gt;
&lt;/ul&gt;
&lt;p align=&quot;center&quot;&gt;(click on the numbers on the right to change pages)&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;&lt;span id=&quot;more-118&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/categories/gianvito.wordpress.com/118/&quot; /&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/tags/gianvito.wordpress.com/118/&quot; /&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/gianvito.wordpress.com/118/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/gianvito.wordpress.com/118/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/gianvito.wordpress.com/118/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/gianvito.wordpress.com/118/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/gianvito.wordpress.com/118/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/gianvito.wordpress.com/118/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/gianvito.wordpress.com/118/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/gianvito.wordpress.com/118/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/gianvito.wordpress.com/118/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/gianvito.wordpress.com/118/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=gianvito.wordpress.com&amp;amp;blog=2900638&amp;amp;post=118&amp;amp;subd=gianvito&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Gianvito Morena: GreaseMonkey And Userscripts.org - A way to give useful tools to your Firefox</title>
		<link href="http://gianvito.wordpress.com/2008/04/08/greasemonkey-and-userscriptsorg-a-way-to-give-to-your-firefox-useful-tools/"/>
		<id>http://gianvito.wordpress.com/?p=131</id>
		<updated>2008-04-08T17:59:29+00:00</updated>
		<content type="html">&lt;div class=&quot;snap_preview&quot;&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;&amp;#8220;Allows you to customize the way a webpage displays using small bits of JavaScript. Hundreds of scripts, for a wide variety of popular sites, are already available at http://userscripts.org. You can write your own scripts, too. Check out http://wiki.greasespot.net/ to get started.&amp;#8221;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;by &amp;#8220;https://addons.mozilla.org/it/firefox/addon/748&amp;#8243;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter size-full wp-image-133&quot; src=&quot;http://gianvito.files.wordpress.com/2008/04/gr.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;(click on the numbers on the right to change pages)&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-131&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/categories/gianvito.wordpress.com/131/&quot; /&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/tags/gianvito.wordpress.com/131/&quot; /&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/gianvito.wordpress.com/131/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/gianvito.wordpress.com/131/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/gianvito.wordpress.com/131/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/gianvito.wordpress.com/131/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/gianvito.wordpress.com/131/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/gianvito.wordpress.com/131/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/gianvito.wordpress.com/131/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/gianvito.wordpress.com/131/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/gianvito.wordpress.com/131/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/gianvito.wordpress.com/131/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=gianvito.wordpress.com&amp;amp;blog=2900638&amp;amp;post=131&amp;amp;subd=gianvito&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Leslie Polzer: Trivial sequence shuffling</title>
		<link href="http://blog.viridian-project.de/2008/04/05/trivial-sequence-shuffling/"/>
		<id>http://blog.viridian-project.de/2008/04/05/trivial-sequence-shuffling/</id>
		<updated>2008-04-08T13:54:29+00:00</updated>
		<content type="html">&lt;div&gt;&lt;strong&gt;IMPORTANT NOTE:&lt;/strong&gt; the algorithm described in this post doesn&amp;#8217;t produce a uniform distribution of shuffled sequences (i.e. it is not fair). Be sure to read the comments and the follow-up posts.&lt;/div&gt;
&lt;p&gt;Here&amp;#8217;s a quickie for the newbies among you:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;lisp&quot;&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;defun&lt;/span&gt; seqrnd &lt;span&gt;&amp;#40;&lt;/span&gt;seq&lt;span&gt;&amp;#41;&lt;/span&gt;
  &lt;span&gt;&amp;quot;Randomize the elements of a sequence. Destructive on SEQ.&amp;quot;&lt;/span&gt;
  &lt;span&gt;&amp;#40;&lt;/span&gt;sort seq #'&amp;gt; :&lt;span&gt;key&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;lambda&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;x&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;random&lt;/span&gt; &lt;span&gt;1.0&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
&lt;span&gt;&amp;#40;&lt;/span&gt;seqrnd &lt;span&gt;&amp;#40;&lt;/span&gt;copy-seq &lt;span&gt;&amp;quot;abcd&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;; need to copy the literal for the destructive operation&lt;/span&gt;
-&amp;gt; &lt;span&gt;&amp;quot;dacb&amp;quot;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This also shifts the efficiency of the shuffle to the efficiency of your implementation&amp;#8217;s sorting algorithm. Look for the &lt;em&gt;Fisher-Yates&lt;/em&gt; shuffling algorithm if you&amp;#8217;re really, really tight on resources; it does something akin to Bubble Sort to solve the problem.&lt;/p&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Leslie Polzer: Sequence shuffling wrap-up</title>
		<link href="http://blog.viridian-project.de/2008/04/07/sequence-shuffling-wrap-up/"/>
		<id>http://blog.viridian-project.de/?p=65</id>
		<updated>2008-04-07T08:04:00+00:00</updated>
		<content type="html">&lt;p&gt;This post has two parts, a social and a technical one. Scroll down to see the technical one if you don&amp;#8217;t care about the former.&lt;/p&gt;
&lt;p&gt;For me, Common Lisp offers two fundamental modes of programming, often mixing together. &lt;/p&gt;
&lt;p&gt;The first mode is serious software development (by which I&amp;#8217;m attempting to pay my rent right now). Everything needs to work here. Thread safety, correctness, safety over speed, enough speed nonetheless, pragmatism, &amp;#8230; well, I guess you know the score.&lt;/p&gt;
&lt;p&gt;The second mode is exploration and experiments. My last two posts on the randomization of sequences were just that, and collaboratively that. After all, my blog is neither a newspaper nor a research journal. Unfortunately some readers seem to have misunderstood this. I suppose this is partly owing to my usual portion of kidding hyperbole, like my stating that I were &amp;#8220;allergic to consing&amp;#8221; and had found an exceptionally &amp;#8220;good solution&amp;#8221;.&lt;/p&gt;
&lt;p&gt;So, to make it clear: both of these posts were not about presenting a well-tested algorithm ready for public copy-and-paste, but something to think about &amp;#8212; for you and for me.&lt;br /&gt;
Tagging the list&amp;#8217;s elements with a random id beforehand, as in the solutions Paul and Phil came up with, is a very nice, solid and working solution. Unfortunately this one is also so straight-forward that it hasn&amp;#8217;t much potential for intellectual stimulation (at least not for me), and that&amp;#8217;s why I decided to pursue the idea with hash tables and memoization further.&lt;/p&gt;
&lt;p&gt;Now for the technical part of this wrap-up: SEQRND works for all objects where EQ reliably points out differences. This definitely excludes literals (the will be constant-folded more often than not) but includes CLOS objects. SEQRND also was three times faster than Paul&amp;#8217;s RANDOM-SHUFFLE on SBCL.&lt;/p&gt;
&lt;p&gt;My personal bottom line is: use one of the solid algorithms all the time and rely on Fisher-Yates if you need the speed.&lt;/p&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="fr">
		<title type="html">Deux semaines d'OpenStreetMap sur Dijon</title>
		<link href="http://www.gnunux.info/dotclear/index.php?2008/04/06/262-deux-semaines-d-openstreetmap-sur-dijon"/>
		<id>http://www.gnunux.info/dotclear/index.php?2008/04/06/262-deux-semaines-d-openstreetmap-sur-dijon</id>
		<updated>2008-04-06T21:26:21+00:00</updated>
		<content type="html">&lt;p&gt;Je ne suis plus le seul contributeur actif sur Dijon&amp;nbsp;! C'est le syndrome 'plus il y a de travail de faire, plus il y a de contributeur'.&lt;/p&gt;


&lt;p&gt;Pas mal de correction ont étés faites, mais surtout, tikismoke a bien avancé sur la carte.&lt;/p&gt;


&lt;p&gt;Pour ma part, j'ai fini (principalement) le centre historique de Dijon.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.gnunux.info/dotclear/images/OSM/dijon-060408.gif&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Toutes les zones supérieures à 8 sont aujourd'hui quasi fini. Il reste encore du travail, mais cela progresse.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.gnunux.info/dotclear/images/OSM/cartedijon-060408.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</content>
		<author>
			<name>Emmanuel Garette, gnunux</name>
			<uri>http://www.gnunux.info/dotclear/index.php</uri>
		</author>
		<source>
			<title type="html">La page de GnunuX</title>
			<link rel="self" href="http://www.gnunux.info/dotclear/rss.php"/>
			<id>http://www.gnunux.info/dotclear/rss.php</id>
			<updated>2008-05-04T20:30:12+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Eduardo Romero: I'm not Open Sourced Anymore.</title>
		<link href="http://kensai.team88.org/node/7"/>
		<id>http://kensai.team88.org/7 at http://kensai.team88.org</id>
		<updated>2008-04-06T21:20:35+00:00</updated>
		<content type="html">&lt;p&gt;Don't get your hopes too high proprietary software makers, I am not moving from Linux. I just am not open sourced myself. Yesterday, I took one of the most important decisions of my life, engaging to a beautiful woman. She now owns my license rights and everything of me. So, now I guess I'm patent encumbered!?&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://kensai.team88.org/node/7&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Forum Annoucements: Arch Linux Newsletter Apr 03, 2008 Discussion</title>
		<link href="http://bbs.archlinux.org/viewtopic.php?id=46683"/>
		<id>http://bbs.archlinux.org/viewtopic.php?id=46683</id>
		<updated>2008-04-06T20:56:34+00:00</updated>
		<content type="html">&lt;p&gt;The title says it all.&lt;br /&gt;&lt;br /&gt;From now on we are going to open a forum thread for every newsletter published, so its content can be discussed, and ideas can be given to improve it. All constructive criticism is welcome, and is greatly appreciated. Please, try to keep as on topic as possible. On topic means, discuss everything that has to do with something written in the discussed newsletter.&lt;br /&gt;&lt;br /&gt;- Thanks&lt;br /&gt;&lt;br /&gt;Eduardo &amp;quot;kensai&amp;quot; Romero&lt;/p&gt;-- posted by kensai</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Leslie Polzer: Sequence shuffling revisited</title>
		<link href="http://blog.viridian-project.de/2008/04/06/sequence-shuffling-revisited/"/>
		<id>http://blog.viridian-project.de/?p=64</id>
		<updated>2008-04-06T11:26:22+00:00</updated>
		<content type="html">&lt;p&gt;In my post &amp;#8220;Trivial Sequence Shuffling&amp;#8221; from yesterday I &lt;a href=&quot;http://blog.viridian-project.de/2008/04/05/trivial-sequence-shuffling/&quot;&gt;showed a simple hack to shuffle a sequence&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For your convenience:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;lisp&quot;&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;defun&lt;/span&gt; seqrnd &lt;span&gt;&amp;#40;&lt;/span&gt;seq&lt;span&gt;&amp;#41;&lt;/span&gt;
  &lt;span&gt;&amp;quot;Randomize the elements of a sequence. Destructive on SEQ.&amp;quot;&lt;/span&gt;
  &lt;span&gt;&amp;#40;&lt;/span&gt;sort seq #'&amp;gt; :&lt;span&gt;key&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;lambda&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;x&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;random&lt;/span&gt; &lt;span&gt;1.0&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt; The only downside to this algorithm, I claimed, is its complexity, which is worse than that of a specialized sorting algorithm.&lt;/p&gt;
&lt;p&gt;However that is not the only problem with it. The ensuing discussion (thanks for your comments, guys!) showed that I didn&amp;#8217;t notice an allowance made by the standard: the :KEY function might be called more than once, and implementations seem to make use of this. And while it is allowed to return different keys for the same element (i.e. let the :KEY function be not a proper function, but a plain relation), the result will not be a discrete uniform random distribution, but a biased distribution depending on the intricacies of the sorting procedure.&lt;/p&gt;
&lt;p&gt;In this post I&amp;#8217;d like to show the alternatives proposed and my own amendment, which extends my original flawed solution.&lt;/p&gt;
&lt;p&gt;Peter de Wachter &lt;a href=&quot;http://blog.viridian-project.de/2008/04/05/trivial-sequence-shuffling/#comment-1280&quot;&gt;proposed&lt;/a&gt;:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;lisp&quot;&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;defun&lt;/span&gt; better-shuffle &lt;span&gt;&amp;#40;&lt;/span&gt;seq&lt;span&gt;&amp;#41;&lt;/span&gt;
  &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;let&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;tagged &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;mapcar&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;lambda&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;x&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;cons&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;random&lt;/span&gt; &lt;span&gt;1.0&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; x&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; seq&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
    &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;mapcar&lt;/span&gt; '&lt;span&gt;cdr&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;sort tagged #'&amp;gt; :&lt;span&gt;key&lt;/span&gt; '&lt;span&gt;car&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;It&amp;#8217;s not that I don&amp;#8217;t like it at all (after all it&amp;#8217;s a nice case study in functional programming!), but I&amp;#8217;m allergic to the consing it produces. I also feel that it overcomplicates things.&lt;/p&gt;
&lt;p&gt;Paul Khuong wrote &lt;a href=&quot;http://www.pvk.ca/Blog/Lisp/trivial_uniform_shuffling.html&quot;&gt;something similar&lt;/a&gt; which looks a bit more elegant to me:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;lisp&quot;&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;defun&lt;/span&gt; random-shuffle &lt;span&gt;&amp;#40;&lt;/span&gt;sequence&lt;span&gt;&amp;#41;&lt;/span&gt;
  &lt;span&gt;&amp;#40;&lt;/span&gt;map-into sequence #'&lt;span&gt;car&lt;/span&gt;
            &lt;span&gt;&amp;#40;&lt;/span&gt;sort &lt;span&gt;&amp;#40;&lt;/span&gt;map 'vector &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;lambda&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;x&lt;span&gt;&amp;#41;&lt;/span&gt;
                                 &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;cons&lt;/span&gt; x &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;random&lt;/span&gt; 1d0&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
                       sequence&lt;span&gt;&amp;#41;&lt;/span&gt;
                  #'&amp;lt; :&lt;span&gt;key&lt;/span&gt; #'&lt;span&gt;cdr&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The &lt;a href=&quot;http://blog.viridian-project.de/2008/04/06/sequence-shuffling-revisited/#comment-1283&quot;&gt;other approach&lt;/a&gt; (in Scheme) came from Phil Bewig (hope I got the indent right):&lt;/p&gt;


&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;lisp&quot;&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;define &lt;span&gt;&amp;#40;&lt;/span&gt;shuffle x&lt;span&gt;&amp;#41;&lt;/span&gt;
  &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;do&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;v &lt;span&gt;&amp;#40;&lt;/span&gt;list-&amp;gt;vector x&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;n &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;length&lt;/span&gt; x&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;- n &lt;span&gt;1&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
    &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;zero? n&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;vector-&amp;gt;list v&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
    &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;let&lt;/span&gt;* &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;r &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;random&lt;/span&gt; n&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;t &lt;span&gt;&amp;#40;&lt;/span&gt;vector-ref v r&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
      &lt;span&gt;&amp;#40;&lt;/span&gt;vector-&lt;span&gt;set&lt;/span&gt;! v r &lt;span&gt;&amp;#40;&lt;/span&gt;vector-ref v &lt;span&gt;&amp;#40;&lt;/span&gt;- n &lt;span&gt;1&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
      &lt;span&gt;&amp;#40;&lt;/span&gt;vector-&lt;span&gt;set&lt;/span&gt;! v &lt;span&gt;&amp;#40;&lt;/span&gt;- n &lt;span&gt;1&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; t&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Ah, sorry Phil, but that&amp;#8217;s not my kind of style :) Too much imperative stuff here, a data conversion and a DO loop. Somehow the name of Rube Goldberg comes to my mind&amp;#8230;&lt;/p&gt;
&lt;p&gt;The &amp;lt;Good Solution&amp;gt; (alluding to Mark Tarver&amp;#8217;s &lt;a href=&quot;http://www.lambdassociates.org/lC21.htm&quot;&gt;Qi blurb&lt;/a&gt;) involves a thing as natural as anything to a Lisp (and I include Scheme here) programmer: memoization.&lt;/p&gt;
&lt;p&gt;While memoization, i.e. caching function results, is most often used in a performance context, we might also apply it here to make our function always return the same result for an object, thus imposing a total ordering on the list:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;lisp&quot;&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;defvar *random-id-ht* &lt;span&gt;nil&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;defun&lt;/span&gt; initialize-memo &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
  &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;setf&lt;/span&gt; *random-id-ht* &lt;span&gt;&amp;#40;&lt;/span&gt;make-hash-table :&lt;span&gt;test&lt;/span&gt; #'&lt;span&gt;eq&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;defun&lt;/span&gt; consistent-random-id &lt;span&gt;&amp;#40;&lt;/span&gt;obj&lt;span&gt;&amp;#41;&lt;/span&gt;
  &lt;span&gt;&amp;#40;&lt;/span&gt;multiple-value-bind &lt;span&gt;&amp;#40;&lt;/span&gt;val found-p&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;gethash obj *random-id-ht*&lt;span&gt;&amp;#41;&lt;/span&gt;
    &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;if&lt;/span&gt; found-p val
      &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;setf&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;gethash obj *random-id-ht*&lt;span&gt;&amp;#41;&lt;/span&gt;
            &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;random&lt;/span&gt; &lt;span&gt;1.0&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;defun&lt;/span&gt; seqrnd &lt;span&gt;&amp;#40;&lt;/span&gt;seq&lt;span&gt;&amp;#41;&lt;/span&gt;
  &lt;span&gt;&amp;quot;Randomize the elements of a sequence. Destructive on SEQ.&amp;quot;&lt;/span&gt;
  &lt;span&gt;&amp;#40;&lt;/span&gt;initialize-memo&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;; need to clear between runs&lt;/span&gt;
  &lt;span&gt;&amp;#40;&lt;/span&gt;sort seq #'&amp;gt; :&lt;span&gt;key&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;lambda&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;x&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;consistent-random-id x&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This is a scaled down version of a memoizer; you probably don&amp;#8217;t want to do this at home. A generalized memoizer takes about two screenfuls (talking 24 lines here). You can find generalized memoizers everywhere on the net, for example in the &lt;a href=&quot;http://common-lisp.net/cgi-bin/viewcvs.cgi/root/pod-utils/utils.lisp?root=cells-gtk&amp;amp;view=markup&quot;&gt;Cells utility library&lt;/a&gt; for Common Lisp.&lt;/p&gt;
&lt;p&gt;One might argue that this solution is too complicated. I hold against that that memoization should be present in every serious functional programmer&amp;#8217;s toolbox, so it boils down to the function itself &amp;#8212; which is only marginally longer than the first attempt.&lt;/p&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="fr">
		<title type="html">OpenStreetMap à Librexpos</title>
		<link href="http://www.gnunux.info/dotclear/index.php?2008/04/05/261-openstreetmap-a-librexpos"/>
		<id>http://www.gnunux.info/dotclear/index.php?2008/04/05/261-openstreetmap-a-librexpos</id>
		<updated>2008-04-05T19:51:36+00:00</updated>
		<content type="html">&lt;p&gt;Aujourd'hui c'était Librexpos, événement co-organisé par COAGUL et ubuntu-dijon.&lt;/p&gt;


&lt;p&gt;J'étais chargé d'animer le stand &quot;Autour du libre&quot;. L'idée du stand était simple. Les logiciels libres c'est bien. Mais des logiciels libres sans donnée, ce n'est pas très utile. J'ai décidé de présenter quelques exemples de données libres&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;wikipédia et wiktionary&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;jamendo&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;sensmotdire (oui oui de l'auto-promotion)&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;le projet orange et pêche de blender&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;OpenStreetMap.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;http://www.gnunux.info/dotclear/images/OSM/librexpos-osm.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Si le stand a intéressé les visiteurs, sans conteste c'est OpenStreetMap qui a le plus interessés les visiteurs&amp;nbsp;!&lt;/p&gt;</content>
		<author>
			<name>Emmanuel Garette, gnunux</name>
			<uri>http://www.gnunux.info/dotclear/index.php</uri>
		</author>
		<source>
			<title type="html">La page de GnunuX</title>
			<link rel="self" href="http://www.gnunux.info/dotclear/rss.php"/>
			<id>http://www.gnunux.info/dotclear/rss.php</id>
			<updated>2008-05-04T20:30:12+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Dan McGee: Mime type woes hopefully solved</title>
		<link href="http://toofishes.net/blog/mime-type-woes-hopefully-solved/"/>
		<id>http://toofishes.net/blog/mime-type-woes-hopefully-solved/</id>
		<updated>2008-04-05T15:12:24+00:00</updated>
		<content type="html">&lt;p&gt;So some of you have pointed out to me that downloading a tar.gz file from my site through a browser like Firefox never seems to work well- I think I have finally fixed the problem. The odd part was that using a command line too like wget would work just fine. It all comes down to the .htaccess file.
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Options +ExecCGI
Options +FollowSymLinks

AddType application/x-tar .tgz
AddType text/plain .c
AddType text/plain .h

ExpiresActive On
ExpiresDefault &amp;quot;access plus 15 minutes&amp;quot;
ExpiresByType image/gif &amp;quot;access plus 1 hours&amp;quot;
ExpiresByType image/png &amp;quot;access plus 1 hours&amp;quot;
ExpiresByType image/jpeg ...&lt;/code&gt;&lt;/pre&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Leslie Polzer: Poor mans ALSA sound server</title>
		<link href="http://blog.viridian-project.de/2008/04/05/poor-mans-alsa-sound-server/"/>
		<id>http://blog.viridian-project.de/2008/04/05/poor-mans-alsa-sound-server/</id>
		<updated>2008-04-05T10:09:57+00:00</updated>
		<content type="html">&lt;p&gt;I&amp;#8217;m currently visiting my family, and an inevitable part of it is playing some good old games with my brothers. The hardware situation here is a bit peculiar, though; I need to play on two different machines, and only one of them has speakers.&lt;/p&gt;
&lt;p&gt;Those speakers are built-in, too, so I can&amp;#8217;t change them easily.&lt;br /&gt;
No problem, there&amp;#8217;s &lt;a href=&quot;http://www.tux.org/~ricdude/EsounD.html&quot;&gt;ESD&lt;/a&gt;, right? Well. The Enlightened Sound Daemon might have deserved its name when it was released, but since then a bunch of years have passed and it didn&amp;#8217;t show acceptable quality when I tried it here.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.pulseaudio.org/&quot;&gt;PulseAudio&lt;/a&gt; to the rescue! This modern solution runs even on Microsoft Windows (although not on the 9x series, it seems), has dead simple GUI tools and is the best thing since sliced bread. A real sports car.&lt;br /&gt;
Except, for some unknown reason, I couldn&amp;#8217;t get it to work on one of the machines in question. No sliced bread for me, I guess.&lt;/p&gt;
&lt;p&gt;But then I came across a real slick solution in the ALSA wiki: a &lt;a href=&quot;http://alsa.opensrc.org/index.php/Network&quot;&gt;sound server using Netcat and the out-of-the-box ALSA utilities &lt;em&gt;aplay&lt;/em&gt; and &lt;em&gt;arecord&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Setup is as simple as:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;bash&quot;&gt;&lt;span&gt;# on the server:&lt;/span&gt;
nc -u -l -p &lt;span&gt;9999&lt;/span&gt; | &lt;span&gt;aplay&lt;/span&gt;
&amp;nbsp;
&lt;span&gt;# on the client&lt;/span&gt;
&lt;span&gt;arecord&lt;/span&gt; -t wav -f &lt;span&gt;cd&lt;/span&gt; | nc -u SERVER &lt;span&gt;9999&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Now just set your recording source via &lt;code&gt;alsamixer -Vc&lt;/code&gt; to &amp;#8220;Mix&amp;#8221; and adjust the output volume levels on client, server and speaker.&lt;/p&gt;
&lt;p&gt;Made me slap my head &amp;#8217;cause I didn&amp;#8217;t think of it myself.&lt;/p&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Official News: Newsletter for April 3, 2008</title>
		<link href="http://archlinux.org/news/388/"/>
		<id>http://archlinux.org/news/388/</id>
		<updated>2008-04-03T04:00:00+00:00</updated>
		<content type="html">Current: &lt;a href=&quot;http://archlinux.org/static/newsletters/newsletter-2008-Apr-03.html&quot;&gt;http://archlinux.org/static/newsletters/newsletter-2008-Apr-03.html&lt;/a&gt;
Archive: &lt;a href=&quot;http://archlinux.org/static/newsletters/&quot;&gt;http://archlinux.org/static/newsletters/&lt;/a&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Gianvito Morena: Firefox 3 Latest Beta &amp;amp; Nightly builds</title>
		<link href="http://gianvito.wordpress.com/2008/02/23/firefox-3-latest-beta-nightly-builds/"/>
		<id>http://gianvito.wordpress.com/?p=86</id>
		<updated>2008-04-02T21:10:22+00:00</updated>
		<content type="html">&lt;div class=&quot;snap_preview&quot;&gt;&lt;br /&gt;&lt;p&gt;Firefox 3 will be a great release&amp;#8230;  especially for one thing all linux users want&amp;#8230; &lt;b&gt;OS&lt;/b&gt; &lt;b&gt;INTEGRATION&lt;/b&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt; &lt;img src=&quot;http://gianvito.files.wordpress.com/2008/03/firefox.jpg&quot; alt=&quot;firefox.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;This doesn&amp;#8217;t want to be a minimization of what firefox changed inside (and surely will change)&amp;#8230; But at a first look&amp;#8230; it seems that we (linux users) won&amp;#8217;t have to use workarounds to get our favourite browser more pleasant to see.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Update 02/04/2008&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;i&gt;Added Firefox 3 with system cairo&lt;br /&gt;
&lt;/i&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p align=&quot;center&quot;&gt;&lt;i&gt;(click on the numbers on the right to change pages) &lt;/i&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;&lt;span id=&quot;more-86&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/categories/gianvito.wordpress.com/86/&quot; /&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/tags/gianvito.wordpress.com/86/&quot; /&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/gianvito.wordpress.com/86/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/gianvito.wordpress.com/86/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/gianvito.wordpress.com/86/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/gianvito.wordpress.com/86/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/gianvito.wordpress.com/86/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/gianvito.wordpress.com/86/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/gianvito.wordpress.com/86/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/gianvito.wordpress.com/86/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/gianvito.wordpress.com/86/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/gianvito.wordpress.com/86/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=gianvito.wordpress.com&amp;amp;blog=2900638&amp;amp;post=86&amp;amp;subd=gianvito&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="fr-fr">
		<title type="html">Conférence : prise de contrôle à distance d'une machine Linux</title>
		<link href="http://www.slubman.info/ticket/23/confrence-prise-de-contrle-distance-dune-machine-linux/"/>
		<id>http://www.slubman.info/ticket/23/confrence-prise-de-contrle-distance-dune-machine-linux/</id>
		<updated>2008-04-02T14:43:10+00:00</updated>
		<content type="html">&lt;p&gt;&lt;img src=&quot;http://media.slubman.info/blog/ticket/23/affiche_20080409_prise_controle.jpg&quot; title=&quot;Affiche de la conférence&quot; alt=&quot;Invitation à la conférence : Prise de contrôle à distance d'une machine linux&quot; /&gt;&lt;/p&gt;&lt;p&gt;Le plan d'accès : &lt;a href=&quot;http://www.ensimag.fr/46152163/0/fiche___pagelibre&quot;&gt;http://www.ensimag.fr/46152163/0/fiche___pagelibre&lt;/a&gt;&lt;/p&gt;&lt;p&gt;L'affiche est disponible à cette adresse : &lt;a href=&quot;http://www.guilde.asso.fr/rencontres/20080409/affiche_20080409_prise_controle.pdf&quot;&gt;http://www.guilde.asso.fr/rencontres/20080409/affiche_20080409_prise_controle.pdf&lt;/a&gt;&lt;/p&gt;</content>
		<author>
			<name>slubman</name>
			<email>slubman@ifrance.com</email>
			<uri>http://www.slubman.info/</uri>
		</author>
		<source>
			<title type="html">Slubman :: Blog :: billets</title>
			<subtitle type="html">Le blog de slubman</subtitle>
			<link rel="self" href="http://slubman.info/feeds/latest/"/>
			<id>http://www.slubman.info/</id>
			<updated>2008-05-05T23:30:05+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Dan McGee: Arch Eee Repository</title>
		<link href="http://toofishes.net/blog/arch-eee-repository/"/>
		<id>http://toofishes.net/blog/arch-eee-repository/</id>
		<updated>2008-04-02T00:39:16+00:00</updated>
		<content type="html">&lt;p&gt;For those of you using Arch Linux out there who don't regularly read the forums(&lt;a href=&quot;http://bbs.archlinux.org/viewtopic.php?pid=297632&quot;&gt;Arch on Eee PC thread&lt;/a&gt;) or the wiki (&lt;a href=&quot;http://wiki.archlinux.org/index.php/Installing_Arch_Linux_on_the_Asus_EEE_PC&quot;&gt;Installing Arch on the Eee&lt;/a&gt;), you may not know that I have an &lt;a href=&quot;http://code.toofishes.net/packages/eee/&quot;&gt;Eee-specific repository&lt;/a&gt; of packages available. This repository includes the following:
&lt;/p&gt;
&lt;ul&gt;
 &lt;li&gt;
     &lt;strong&gt;kernel-eee&lt;/strong&gt; - the primary motivation of making this repository was to build a kernel optimized for the Eee. This includes most required drivers built right into the kernel, drops a bunch of unnecessary modules from the stock Arch config, and is optimized for the right processor and possible RAM. It is also patched with ...&lt;/li&gt;&lt;/ul&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.archlinux.org/</uri>
		</author>
		<source>
			<title type="html">Planet Arch Linux</title>
			<subtitle type="html">Planet Arch Linux - http://planet.archlinux.org/</subtitle>
			<link rel="self" href="http://planet.archlinux.org/rss20.xml"/>
			<id>http://planet.archlinux.org/rss20.xml</id>
			<updated>2008-05-05T23:30:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="fr">
		<title type="html">[poisson d'avril] Note aux Archers anglophones (et francophones)</title>
		<link href="http://www.archlinuxfr.org/actualite/175/"/>
		<id>http://www.archlinuxfr.org/actualite/175/</id>
		<updated>2008-04-01T06:30:06+00:00</updated>
		<content type="html">&lt;p&gt;&lt;strong&gt;Note importante pour les Archers anglophones&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Bien évidemment, il s'agissait un poisson d'avril du site anglophone...&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;Ces deux derniers mois, nous avons beaucoup discuté sur la liste de développement privée, et nous sommes arrivés à la conclusion que garder l'anglais comme langue principale n'arrangeait pas la majorité des nos utilisateurs. Donc, nous avons voté à la majorité que la nouvelle langue officielle pour Archlinux serait l'allemand.
&lt;/p&gt;
&lt;p&gt;Veuillez nous excuser pour le dérangement pendant la transition, nous travaillons en étroite collaboration avec archlinux.de pour faciliter le changement ; nous fusionnerons ensuite les deux site. Connaissant la communauté géniale qui soutient Arch, nous sommes certains qu'un projet sera rapidement monté pour combler le vide que peut causer l'abandon du site anglais.
&lt;/p&gt;
&lt;p&gt;Veuillez également noter que nous utilisons dorénavant la prononciation allemande de &amp;quot;Arch&amp;quot;. Ne vous inquiétez pas, vous vous y ferez, comme 90 % des développeurs l'ont déjà fait.
&lt;/p&gt;
&lt;p&gt;Joyeux &lt;em&gt;Computenpeepers&lt;/em&gt;, 
   La direction.
&lt;/p&gt;
&lt;p&gt;Traduction de la &lt;a href=&quot;http://archlinux.org/&quot;&gt;news originale&lt;/a&gt; du 01/04/2008 de la direction.
&lt;/p&gt;</content>
		<author>
			<name>Actualité Archlinux FR</name>
			<uri>http://www.archlinuxfr.org/news/</uri>
		</author>
		<source>
			<title type="html">Recent News Updates</title>
			<subtitle type="html">Recent News Updates</subtitle>
			<link rel="self" href="http://archlinuxfr.org/feeds/news/"/>
			<id>http://archlinuxfr.org/feeds/news/</id>
			<updated>2008-05-05T23:30:12+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Aaron Griffin: Patching, patching, patching</title>
		<link href="http://phraktured.net/patching-patching-patching.html"/>
		<id>http://phraktured.net/patching-patching-patching.html#2008-03-28T14:55:42</id>
		<updated>2008-03-28T15:55:42+00:00</updated>
		<content type="html">&lt;p&gt;There's a lot of backstory here, that I'm going to ignore. This is not a rant,
   or a personal attack, or a justification. I want to explain the way &lt;strong&gt;I see
things&lt;/strong&gt; and where I want to take them.
&lt;/p&gt;
&lt;p&gt;When I began using Arch, we had the philosophy that we were &amp;quot;as vanilla as
   possible&amp;quot;. This means that we trusted the upstream developers. If an Arch user
   wanted featureX, they contact the upstream developers, asked for featureX.
   Whatever upstream's decision, yes or no, we went along with it. We did NOT add
   the feature to our package anyway.
&lt;/p&gt;
&lt;p&gt;When I began using Arch, we had the philosophy in mind to &amp;quot;Keep It Simple,
   Stupid&amp;quot;. This means that if things were too complex, we did it another way, or
   didn't do it ourselves. Someone wanted custom hardware modules? They could build
   them themselves.
&lt;/p&gt;
&lt;p&gt;When I began this all, we kept things as simple as we could, and allowed (and
   actually &lt;em&gt;encouraged&lt;/em&gt;) people to change things they wanted to. This was the core
   of Arch - if you don't like it, do it yourself. We told people &amp;quot;If you don't
   like how the maintainer did that, use ABS and rebuild it&amp;quot;. We told people, &amp;quot;If
   you want a package for that, make it yourself&amp;quot;. We had users that knew this, and
   worked in tandem with us. Some users provided custom repos, different PKGBUILDs,
   alternatives.
&lt;/p&gt;
&lt;p&gt;This has all changed. For the worse. And it shows in the mentality of our
   patching. One user requests a feature, we apply a patch - we don't worry about
   upstream. One user has a brand-spanking new sound card, kernel gets patched. One
   user doesn't like a configure flag in a package, it gets changed.
&lt;/p&gt;
&lt;p&gt;We can't continue like this. Arch wasn't made to sustain itself in this way.
   Arch was made to work in tandem with the users - users that can help themselves
   AND us. Arch was made to work &lt;strong&gt;with&lt;/strong&gt; you, not &lt;strong&gt;for&lt;/strong&gt; you.
&lt;/p&gt;</content>
		<author>
			<name>Planet Archlinux</name>
			<uri>http://planet.a