<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>morenosan</title><link>http://morenosan.com</link><description>Un blog a velocidad absurda</description><atom:link href="http://morenosan.com/feeds/all.rss.xml" rel="self"></atom:link><lastBuildDate>Sat, 23 Jan 2010 00:00:00 +0100</lastBuildDate><item><title>Instalación de Satchmo en varios cómodos pasos</title><link>http://morenosan.com/2010/01/23/instalacion-satchmo-comodos-pasos/</link><description>&lt;p&gt;&lt;a href="http://www.flickr.com/photos/jamesjustin/2994703338/" title="Lines - Tokyo International Forum por jamesjustin, en Flickr"&gt;&lt;img src="http://farm4.staticflickr.com/3056/2994703338_cf8a4a431c_m.jpg" width="159" height="240" alt="Lines - Tokyo International Forum" class="image"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Durante la última semana he estado trabajando en una tienda virtual basada en &lt;a href="http://www.satchmoproject.com/" title="Satchmo"&gt;Satchmo&lt;/a&gt;. Satchmo es un
framework para la creación de tiendas virtuales web, y que está basado a su vez en &lt;a href="http://www.djangoproject.com/" title="Django"&gt;Django&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Hasta hace muy poco
tiempo, preparar un entorno de desarrollo y un proyecto mínimo basado en Satchmo era una tarea titánica, que llevaba
horas llenas de frustración y sufrimiento, durante las cuales la vida llegaba a no tener sentido y...en fin, ya me
entendeis.&lt;/p&gt;
&lt;p&gt;La situación ha cambiado radicalmente con la versión 0.9, liberada el pasado Octubre. Con esta nueva versión,
la instalación de Satchmo se ha simplificado enormemente y la documentación ha mejorado notablemente. Todo esto ha hecho
que, al menos en Ubuntu, la instalación se haya convertido en un simple proceso de 15 minutos, desde el comienzo hasta
que puedes ver funcionando el proyecto mínimo para comenzar el desarrollo.&lt;/p&gt;
&lt;p&gt;A continuación, y siguiendo con la vocación
de servicio publico de este blog, detallaré los pasos para instalar un entorno de desarrollo con Satchmo. Las siguientes
instrucciones se basan en Ubuntu, y han sido probadas en una máquina virtual con Ubuntu 8.04.3 LTS.&lt;/p&gt;
&lt;p&gt;Coged papel y lápiz. Os espero.&lt;/p&gt;
&lt;p&gt;El primer paso es instalar los paquetes necesarios para la instalación de Satchmo y todas sus dependencias.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;apt&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;python&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;setuptools&lt;/span&gt; &lt;span class="n"&gt;python&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;dev&lt;/span&gt; &lt;span class="n"&gt;build&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;essential&lt;/span&gt; &lt;span class="n"&gt;python&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;imaging&lt;/span&gt; &lt;span class="n"&gt;mercurial&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;A continuación instalaremos
&lt;a href="http://pip.openplans.org/" title="pip"&gt;pip&lt;/a&gt;, &lt;a href="http://virtualenv.openplans.org/" title="virtualenv"&gt;virtualenv&lt;/a&gt;, &lt;a href="http://www.doughellmann.com/projects/virtualenvwrapper/" title="virtualenvwrapper"&gt;virtualenvwrapper&lt;/a&gt; y crearemos un virtualenv para nuestro entorno de desarrollo.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;easy_install&lt;/span&gt; &lt;span class="n"&gt;pip&lt;/span&gt;
&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;pip&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;virtualenv&lt;/span&gt;
&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;pip&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;virtualenvwrapper&lt;/span&gt;
&lt;span class="nb"&gt;mkdir&lt;/span&gt; &lt;span class="o"&gt;~/.&lt;/span&gt;&lt;span class="n"&gt;virtualenvs&lt;/span&gt;
&lt;span class="n"&gt;source&lt;/span&gt; &lt;span class="sr"&gt;/usr/&lt;/span&gt;&lt;span class="n"&gt;bin&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;virtualenvwrapper_bashrc&lt;/span&gt;
&lt;span class="n"&gt;mkvirtualenv&lt;/span&gt; &lt;span class="n"&gt;satchmo&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Añade la linea source /usr/bin/virtualenvwrapper_bashrc a tu
.bashrc para tener virtualenvwrapper la próxima vez que te logees.&lt;/p&gt;
&lt;p&gt;Si no conoces pip, virtualenv o virtualenvwrapper, te
invito a que antes de seguir descubras que son, como funcionan, que ventajas ofrecen y por que son lo mejor desde el
arroz con leche, en los siguientes articulos. Otros ya lo han explicado mejor de lo que yo lo haría.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://trespams.com/2009/02/12/entorns-de-treball-virtuals-python/" title="Entorns de treball virtuals per Python"&gt;Entorns de treball virtuals per Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://arthurkoziel.com/2008/10/22/working-virtualenv/" title="Working with virtualenv"&gt;Working with virtualenv&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.b-list.org/weblog/2008/dec/15/pip/" title="Why I like pip"&gt;Why I like pip&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esperaré aquí hasta que acabes. En serio.&lt;/p&gt;
&lt;p&gt;Por último, solo queda instalar las dependencias y finalmente Satchmo.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;pip&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="n"&gt;http:&lt;/span&gt;&lt;span class="sr"&gt;//&lt;/span&gt;&lt;span class="n"&gt;bitbucket&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;org&lt;/span&gt;&lt;span class="sr"&gt;/chris1610/s&lt;/span&gt;&lt;span class="n"&gt;atchmo&lt;/span&gt;&lt;span class="sr"&gt;/raw/&lt;/span&gt;&lt;span class="n"&gt;tip&lt;/span&gt;&lt;span class="sr"&gt;/scripts/&lt;/span&gt;&lt;span class="n"&gt;requirements&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;txt&lt;/span&gt;
&lt;span class="n"&gt;pip&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt; &lt;span class="n"&gt;hg&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;http:&lt;/span&gt;&lt;span class="sr"&gt;//&lt;/span&gt;&lt;span class="n"&gt;bitbucket&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;org&lt;/span&gt;&lt;span class="sr"&gt;/chris1610/s&lt;/span&gt;&lt;span class="n"&gt;atchmo&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="c1"&gt;#egg=satchmo&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Una vez terminado, solo resta crear un proyecto mínimo sobre el
que comenzar a trabajar. Satchmo ya viene con un script que hace precisamente eso.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;clonesatchmo&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;py&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;skel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sr"&gt;/home/&lt;/span&gt;&lt;span class="n"&gt;juan&lt;/span&gt;&lt;span class="sr"&gt;/.virtualenvs/s&lt;/span&gt;&lt;span class="n"&gt;atchmo&lt;/span&gt;&lt;span class="sr"&gt;/src/s&lt;/span&gt;&lt;span class="n"&gt;atchmo&lt;/span&gt;&lt;span class="sr"&gt;/satchmo/&lt;/span&gt;&lt;span class="n"&gt;projects&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;skeleton&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Por defecto, creará un proyecto llamado
store en el directorio en el que te encuentres. Ahora solo queda arrancar el servidor de desarrollo de Django para
probar la tienda.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;cd&lt;/span&gt; &lt;span class="n"&gt;store&lt;/span&gt;
&lt;span class="n"&gt;python&lt;/span&gt; &lt;span class="n"&gt;manage&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;py&lt;/span&gt; &lt;span class="n"&gt;runserver&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Seguro que has tardado menos de 15 minutos.&lt;/p&gt;
&lt;h6&gt;Imagen © &lt;a href="http://www.flickr.com/photos/jamesjustin/"&gt;jamesjustin&lt;/a&gt; Some Rights Reserved.&lt;/h6&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Juan Moreno</dc:creator><pubDate>Sat, 23 Jan 2010 00:00:00 +0100</pubDate><guid>http://morenosan.com/2010/01/23/instalacion-satchmo-comodos-pasos/</guid></item><item><title>Editar, Guardar y Recargar en Java</title><link>http://morenosan.com/2010/01/16/editar-guardar-y-recargar-en-java/</link><description>&lt;p&gt;&lt;a href="http://www.flickr.com/photos/johnmueller/2103170121/" title="My Favorite por Extra Medium, en Flickr"&gt;&lt;img src="http://farm3.staticflickr.com/2153/2103170121_3790408756_m.jpg" width="240" height="160" alt="My Favorite" class="image"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Después de bastante tiempo programando únicamente en Python y Django, hace año y medio cambié de trabajo. Desde
entonces he vuelto a programar en Java, desarrollando aplicaciones y servicios web, así como coordinando a un equipo de
programadores web.&lt;/p&gt;
&lt;p&gt;Pronto me di cuenta de que el equipo seguía el siguiente ciclo a la hora de desarrollar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hacer cambio.&lt;/li&gt;
&lt;li&gt;Compilar un WAR.&lt;/li&gt;
&lt;li&gt;Copiar el WAR al servidor Tomcat local.&lt;/li&gt;
&lt;li&gt;Reiniciar el servidor.&lt;/li&gt;
&lt;li&gt;Iniciar una sesión de debug desde Eclipse.&lt;/li&gt;
&lt;li&gt;Probar.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto hacia que cada prueba supusiera, en el mejor de los casos, esperar 5 minutos desde que se hacia un cambio hasta que
este se podía probar. Lo cual nos dejaba con una productividad, digamos que mejorable.&lt;/p&gt;
&lt;p&gt;Desde entonces, hemos mejorado el
entorno de desarrollo, de forma que ahora podemos modificar el código fuente Java en caliente e inmediatamente ver y
depurar los cambios, sin necesidad de recompilar y recargar toda la aplicación, consiguiendo un flujo de trabajo más
parecido al de Django o PHP.&lt;/p&gt;
&lt;p&gt;El "secreto" (entre comillas, por que está más que descubierto) se basa en tener el
servidor de aplicaciones empotrado, de modo que este pueda arrancarse como un programa Java en modo debug, desde
Eclipse. De esta manera conseguimos que desarrollar una aplicación web sea, a efectos del flujo de trabajo, como
programar una aplicación Java "local", pudiendo aprovechar toda las herramientas que pone a nuestra disposición el IDE,
como la compilación automática y el cambio en caliente del las clases compiladas.&lt;/p&gt;
&lt;p&gt;Las únicas limitaciones del cambio en
caliente son las propias de la especificación &lt;a href="http://java.sun.com/javase/technologies/core/toolsapis/jpda/" title="JPDA"&gt;JPDA&lt;/a&gt;. Esto es, la actualización en caliente solo funciona mientras se
modifique el cuerpo de las funciones. Cualquier modificación en los parámetros de un método o en la definición de una
clase nos obligará a reiniciar el servidor (aunque no tendremos que recompilar nada).&lt;/p&gt;
&lt;p&gt;En la actualidad, usamos como
servidor empotrado Jetty, a través del plugin de Eclipse &lt;a href="http://code.google.com/p/run-jetty-run/" title="run-jetty-run"&gt;run-jetty-run&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A la hora de usar Run-Jetty-Run tuvimos que resolver 2 problemas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;El plugin no soporta JNDI de serie, aunque aplicando este pequeño &lt;a href="http://code.google.com/p/run-jetty-run/issues/detail?id=11" title="parche"&gt;parche&lt;/a&gt; se soluciona.&lt;/li&gt;
&lt;li&gt;A los usuarios de Windows, Jetty les bloqueaba los ficheros estáticos (por ejemplo css o javascript) de modo que no
podían modificaros mientras el servidor estuviera en marcha (gran problema). Quedó solucionado siguiendo las
instrucciones de este &lt;a href="http://code.google.com/p/run-jetty-run/issues/detail?id=7" title="ticket"&gt;ticket&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Únicamente en un proyecto, de características muy especiales, Jetty no fue capaz de ejecutar una aplicación. En este
caso, tuvimos que usar un Tomcat empotrado. Gracias al código fuente y las instrucciones de &lt;a href="http://onjava.com/pub/a/onjava/2002/04/03/tomcat.html" title="onJava"&gt;un artículo en onJava&lt;/a&gt;,
no tuvimos ningún problema en ejecutar un Tomcat desde Eclipse, consiguiendo el mismo efecto que con Jetty.&lt;/p&gt;
&lt;p&gt;¿Por que
usamos Jetty en lugar de Tomcat? Principalmente por que run-jetty-run es más fácil de configurar y está muy bien
integrado con Eclipse. Ademas Jetty arranca casi de inmediato.&lt;/p&gt;
&lt;p&gt;Si tu flujo de desarrollo en Java se parece al que he
descrito al inicio de esta entrada, te aseguro que vale la pena que inviertas algo de tiempo en mejorarlo. No es
difícil, y los beneficios son considerables.&lt;/p&gt;
&lt;h6&gt;Imagen © &lt;a href="http://www.flickr.com/photos/johnmueller/"&gt;Extra Medium&lt;/a&gt; Some Rights Reserved.&lt;/h6&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Juan Moreno</dc:creator><pubDate>Sat, 16 Jan 2010 00:00:00 +0100</pubDate><guid>http://morenosan.com/2010/01/16/editar-guardar-y-recargar-en-java/</guid></item><item><title>Un verano muy movido</title><link>http://morenosan.com/2008/09/06/un-verano-muy-movido/</link><description>&lt;p&gt;&lt;a href="http://www.flickr.com/photos/skyseeker/1149959312/" title="Summer hiking. por skyseeker, en Flickr"&gt;&lt;img src="http://farm2.staticflickr.com/1099/1149959312_9abf8777d5_m.jpg" width="240" height="160" alt="Summer hiking." class="image"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Mis fieles lectores (los dos), se habrán dado cuenta de que durante el verano, este blog, que nunca se ha
sido un prodigio de actualizaciones, ha registrado exactamente 0 (cero) entradas. Y es que el verano ha sido muy movido,
tanto en el plano familiar como laboral. En ambos casos todo han sido excelentes noticias, que han venido acompañadas de
varios cambios mas o menos previstos. Todo ello ha provocado que casi no le haya quedado un momento de paz y
tranquilidad a este que os escribe (a los dos).&lt;/p&gt;
&lt;p&gt;Otros que han tenido un verano movido han sido los desarrolladores de
&lt;a href="http://www.djangoproject.com/" title="Django"&gt;Django&lt;/a&gt;. Finalmente, después de más de tres años desde la publicación de su primera versión, y con unos últimos
meses trabajando a un ritmo frenético, Django ha liberado su versión 1.0. Esta release marca un punto de inflexión
importante, tanto para nosotros lo desarrolladores, que tenemos una API estabilizada, como para todos los que ven las
versiones 0.x como arenas movedizas (y que en muchos casos son los que toman las decisiones). Lo cierto es que cuando
Django fue publicado, ya era un framework muy potente, maduro y estable, y durante estos años solo ha hecho que mejorar
en todos los aspectos.&lt;/p&gt;
&lt;p&gt;Por mi parte, solo puedo decir que después de mas de dos años usando la versión de desarrollo en
más de una veintena de proyectos diferentes, Django es exactamente el framework web para perfeccionistas con deadlines
que publicita su portada, y mucho mas. Desde aquí, solo me queda dar la enhorabuena a todos los que han hecho posible
esta versión 1.0. ¡Muchas gracias!&lt;/p&gt;
&lt;p&gt;Afortunadamente, entre tanto ajetreo, este verano he podido volver a disfrutar
nuevamente de mi columnista favorito, el divertidísimo &lt;a href="http://www.davebarry.com/" title="Dave Barry"&gt;Dave Barry&lt;/a&gt;. Desde que hace unos años dejara de escribir su
columna semanal en el &lt;a href="http://www.miamiherald.com/living/columnists/dave-barry/" title="Miami Herald"&gt;Miami Herald&lt;/a&gt;, Dave solo escribe en momentos muy puntuales, y este verano se está produciendo
una conjunción de ellos de forma casi consecutiva. Gracias a las olimpiadas, y a las convenciones republicana y
demócrata en Estados Unidos, durante las últimas semanas ha sido posible disfrutar de sus crónicas casi a diario. Menos
mal que a mi otro columnista favorito, el gran &lt;a href="http://blog.diariodemallorca.es/alazar" title="Matias Vallés"&gt;Matias Vallés&lt;/a&gt;, se le puede leer regularmente sin tener que esperar a
ningún acontecimiento en particular.&lt;/p&gt;
&lt;p&gt;En resumen, este verano que ya termina ha sido inolvidable. Espero que en breve
podamos volver a la programación habitual.&lt;/p&gt;
&lt;h6&gt;Imagen ©&lt;a href="http://flickr.com/photos/skyseeker/"&gt;skyseeker&lt;/a&gt; Some Rights Reserved.&lt;/h6&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Juan Moreno</dc:creator><pubDate>Sat, 06 Sep 2008 00:00:00 +0200</pubDate><guid>http://morenosan.com/2008/09/06/un-verano-muy-movido/</guid></item><item><title>Requiem en Akihabara</title><link>http://morenosan.com/2008/06/12/requiem-en-akihabara/</link><description>&lt;p&gt;&lt;a href="http://www.flickr.com/photos/ivva/435172500/" title="Akihabara : Cameron Diaz por ivva, en Flickr"&gt;&lt;img src="http://farm1.staticflickr.com/154/435172500_0aade40b9a_m.jpg" width="180" height="240" alt="Akihabara : Cameron Diaz" class="image"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;El pasado domingo, un demente llevó cabo a una masacre en el barrio de Akihabara, en Tokio, acabando con
la vida de 7 personas e hiriendo a otra decena antes de ser reducido por la policía. El suceso ha conmocionado a todo el
país.&lt;/p&gt;
&lt;p&gt;Akihabara es el llamado barrio de la electrónica de Tokio. Aunque en los últimos años, muchas de las grandes
cadenas de tiendas de electrónica han abierto centros impresionantes en otros puntos de la ciudad, Akihabara sigue
siendo el lugar por excelencia al que todavía hay que ir si quieres cualquier producto electrónico al mejor precio,
sobre todo en sus tiendas más pequeñas. Akihabara es también la meca de los aficionados al manga, al anime y los
videojuegos.&lt;/p&gt;
&lt;p&gt;Los domingos. la Chuo Dori, la calle principal del barrio, se corta al trafico y se llena de gente en busca
de todo tipo de aparatos electrónicos, otakus a la caza de su mango o anime favorito y por supuesto muchísimos turistas
en busca de gangas "Made in Japan". Por la tarde, la calle es tomada por cosplayers y aprendices de idol, que casi
siempre micrófono en mano (esto es Japón) cantan, mientras sus fans bailan las coreografías más estrafalarias.&lt;/p&gt;
&lt;p&gt;Me ha
dolido especialmente que una desgracias así haya sucedido en Akihabara, una de mis lugares favoritos de Tokio, y por el
que he paseado infinidad de veces. Cuando viviamos en Tokio, un paseo por Akihabara empezaba casi siempre un par de
estaciones antes, en Ueno. Siempre comprábamos alguna cosa en el mercado de Ameyoko para después bajar andando hasta
Akihabara.&lt;/p&gt;
&lt;p&gt;Me ha impresionado especialmente las fotos de la Chuo Dori llenas de ambulancias, policías y regueros de
sangre en el asfalto. Es la última imagen que uno espera ver en Akihabara, pero que seguramente se me venga a la cabeza
la próxima vez que vaya a Tokio y un Domingo por la tarde salga a dar un paseo por el barrio.&lt;/p&gt;
&lt;h6&gt;Imagen ©&lt;a href="http://www.flickr.com/photos/ivva/"&gt;ivva&lt;/a&gt;Some Rights Reserved.&lt;/h6&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Juan Moreno</dc:creator><pubDate>Thu, 12 Jun 2008 00:00:00 +0200</pubDate><guid>http://morenosan.com/2008/06/12/requiem-en-akihabara/</guid></item></channel></rss>