<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><!-- generator="wordpress/2.0.10" --><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Arragonán</title>
	<link>http://www.danilat.com/weblog</link>
	<description>Daniel Latorre -  Desarrollador Independiente</description>
	<pubDate>Tue, 15 Jul 2008 12:28:26 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.10</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/danilat" type="application/rss+xml" /><item>
		<title>Flatee.com o cómo crear un proyecto en internet</title>
		<link>http://feeds.feedburner.com/~r/danilat/~3/336043457/</link>
		<comments>http://www.danilat.com/weblog/2008/07/15/flateecom-o-como-crear-un-proyecto-en-internet/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 12:28:26 +0000</pubDate>
		<dc:creator>Dani</dc:creator>
		
		<category>Proyectos</category>

		<category>Rails</category>

		<guid isPermaLink="false">http://www.danilat.com/weblog/2008/07/15/flateecom-o-como-crear-un-proyecto-en-internet/</guid>
		<description><![CDATA[Ayer lunes se hicimos el anuncio oficial del inicio del desarrollo de flatee (la mejor manera de compartir piso  ), que vamos a desarrollar entre Jesús Navarrete y un servidor.
El proyecto surge dentro del internship que estamos haciendo en Linking Paths y a raíz de una necesidad personal, los actuales portales de clasificados no [...]]]></description>
			<content:encoded><![CDATA[<p>Ayer lunes se hicimos <a href="http://blog.flatee.com/2008/07/14/empezamos-con-flatee/">el anuncio oficial</a> del inicio del desarrollo de <a href="http://www.flatee.com">flatee</a> (la mejor manera de compartir piso <img src='http://www.danilat.com/weblog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ), que vamos a desarrollar entre <a href="http://www.jenaiz.com/">Jesús Navarrete</a> y un servidor.</p>
<p>El proyecto surge dentro del <a href="http://weblog.linkingpaths.com/2008/06/02/linking-internship-2008/">internship</a> que estamos haciendo en <a href="http://weblog.linkingpaths.com/">Linking Paths</a> y a raíz de una necesidad personal, los actuales portales de clasificados no cubren mis necesidades como deberían y por lo que he hablado con más gente, no soy el único. </p>
<div align="center"><a href="http://www.flatee.com"><img src="http://farm4.static.flickr.com/3019/2671221710_213f787ac6_d.jpg" alt="flatee.com" /></a></div>
<p>Estoy convencido que será una experiencia muy enriquecedora, no va a ser desarrollar algo y <em>ya está</em>, tendremos que cubrir todos los aspectos para que resulte un proyecto exitoso, tanto técnicos como no técnicos. </p>
<p>Por lo que si te interesa el proyecto en sí, crees que pueden existir mejores formas que ayuden elegir con quién y dónde vas a convivir o simplemente tienes curiosidad por saber como evoluciona el proyecto, no dejes de seguir el <a href="http://blog.flatee.com/">blog de flatee</a> donde compartiremos nuestras experiencias, ideas&#8230; ¡esperamos tus opiniones! <img src='http://www.danilat.com/weblog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilat.com/weblog/2008/07/15/flateecom-o-como-crear-un-proyecto-en-internet/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.danilat.com/weblog/2008/07/15/flateecom-o-como-crear-un-proyecto-en-internet/</feedburner:origLink></item>
		<item>
		<title>GSoC: Estado del Grails Include Plugin</title>
		<link>http://feeds.feedburner.com/~r/danilat/~3/330302483/</link>
		<comments>http://www.danilat.com/weblog/2008/07/09/gsoc-estado-del-grails-include-plugin/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 00:42:59 +0000</pubDate>
		<dc:creator>Dani</dc:creator>
		
		<category>Grails</category>

		<guid isPermaLink="false">http://www.danilat.com/weblog/2008/07/09/gsoc-estado-del-grails-include-plugin/</guid>
		<description><![CDATA[Desde que empezó el Google Summer of Code no he explicado exáctamente qué es y el por qué de mi proyecto, ahora que veo cerca la primera versión (a falta de un problema con las urls que mapean a vistas) ya empieza a ser hora de hacerlo.
La cuestión es que Grails no tiene el comportamiento [...]]]></description>
			<content:encoded><![CDATA[<p>Desde que empezó el <a href="http://code.google.com/soc/2008">Google Summer of Code</a> no he explicado exáctamente qué es y el por qué de mi proyecto, ahora que veo cerca la primera versión (a falta de un problema con las <a href="http://grails.org/doc/1.0.x/guide/6.%20The%20Web%20Layer.html#6.4.3%20Mapping%20to%20Views">urls que mapean a vistas</a>) ya empieza a ser hora de hacerlo.</p>
<p>La cuestión es que <a href="http://grails.org/">Grails</a> no tiene el comportamiento <em>típico</em> de include, tiene el tag <a href="http://grails.org/doc/1.0.x/ref/Tags/render.html">render</a> que es parecido(para el caso de un template estático sería igual) pero se orienta al principio Don&#8217;t Repeat Yourself en la vista, por lo que al render hay que pasarle los objetos o colecciones de objetos que se utilizarán para renderizar el template.</p>
<p>Esto puede llevar a un problema de repetición de código en los controllers, por lo que aquí rompemos el Don&#8217;t Repeat Yourself, siendo sensibles a futuros cambios. Ésto no quiere decir que el render no valga, en mi opinión para conseguir no repetir código dependiendo de los casos, lo mejor es combinar ambos comportamientos. Aunque el problema de la repetición de código se puede solucionar con nuestras propias librerías de tags, que con Grails son sencillas de crear, pero pienso que debería ser todavía más sencillo y limpio utilizando una acción de un controller que además podríamos reutilizar para por ejemplo peticiones XMLHttpRequest.</p>
<p>Metiéndonos ya en el uso del  plugin, existen dos formas de hacer el include, la forma <em>clásica</em> con el tag <strong>includeURL</strong>:<br />
<code><br />
&lt;g:includeUrl url="/prueba/show?param=value"/&gt;<br />
</code></p>
<p>Los posibles valores de <em>url</em> pueden ser tanto urls que mapean a controllers/acciones/vistas de nuestra aplicación grails, como a recursos estáticos como puede ser un html plano o un fichero de texto que se encuentren en el mismo contexto. Para el caso de las urls mapeadas, los parámetros se pueden pasar por los posibles valores de la url mapeada tipo REST como con parámetros de la request <em>de los de siempre</em>.</p>
<p>Y la segunda forma es para mi es la forma recomendada para los caso de hacer un include a acciones de nuestros controllers, <strong>includeController</strong>:<br />
<code><br />
&lt;g:includeController controller="prueba" action="show" params="[param:'value']"/&gt;<br />
</code></p>
<p>Al que se le pasa el nombre del controller, acción y mapa de parámetros. Hay que decir que por la convención de nombres, en el caso de prueba buscará en controlador PruebaController. La recomendación es simplemente por la probabilidad mucho mayor de una cambio de mapeo de url que del nombre de un controller, cada uno verá de qué manera prefiere hacerlo <img src='http://www.danilat.com/weblog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<p>Hablando ya sobre la experiencia desarrollando éste plugin, la verdad que me esperaba que fuera más sencillo de desarrollar, estaba claro que sería necesario un wrapper del response para hacer el <a href="http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/RequestDispatcher.html#include(javax.servlet.ServletRequest,%20javax.servlet.ServletResponse)">include con el RequestDispatcher</a>. Al final he tenido que escribir también un wrapper para el request y re-escribir parte del filtrado del mapeo de urls de grails, al ser la misma petición y no estar contemplado este comportamiento anteriormente, ha habido que hacer un poco de trabajo extra investigando el código del framework en cuanto a mapeo de urls y hacer mucho debug por no conocer el código (gracias <a href="http://www.jetbrains.com/idea/features/groovy_grails.html">IDEA + JetGroovy</a>! <img src='http://www.danilat.com/weblog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ).</p>
<p>A ver si dejo una versión estable de éste plugin en las próximas semanas, y comienzo a colaborar con el <a href="http://grails.org/JCR+Plugin+Proposal">plugin de Java Content Repository</a> para poder trabajar con ésta especificación de una forma más o menos parecida a como se usa <a href="http://grails.org/GORM">GORM con Hibernate</a> por debajo.
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilat.com/weblog/2008/07/09/gsoc-estado-del-grails-include-plugin/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.danilat.com/weblog/2008/07/09/gsoc-estado-del-grails-include-plugin/</feedburner:origLink></item>
		<item>
		<title>Añadir entornos de ejecución a una aplicación Grails</title>
		<link>http://feeds.feedburner.com/~r/danilat/~3/326687941/</link>
		<comments>http://www.danilat.com/weblog/2008/07/04/anadir-entornos-de-ejecucion-a-una-aplicacion-grails/#comments</comments>
		<pubDate>Fri, 04 Jul 2008 14:42:15 +0000</pubDate>
		<dc:creator>Dani</dc:creator>
		
		<category>Grails</category>

		<guid isPermaLink="false">http://www.danilat.com/weblog/2008/07/04/anadir-entornos-de-ejecucion-a-una-aplicacion-grails/</guid>
		<description><![CDATA[En la sesión del openjavaday sobre grails, surgió la pregunta de si se podían añadir entornos además de los que vienen por defecto: development, test y production.
Me quedé con la duda si era posible o no, convencido que eso no se les habría pasado por alto a los desarrolladores y se podría hacer de alguna [...]]]></description>
			<content:encoded><![CDATA[<p>En la sesión del <a href="http://www.javahispano.org/openjavaday/detalle.html?id=158">openjavaday sobre grails</a>, surgió la pregunta de si se podían añadir entornos además de los que vienen por defecto: <em>development</em>, <em>test</em> y <em>production</em>.</p>
<p>Me quedé con la duda si era posible o no, convencido que eso no se les habría pasado por alto a los desarrolladores y se podría hacer de alguna forma, casualmente he tenido que hacer unas pruebas con bases de datos desde cero y no tenía ganas de andar haciendo backups de la base de datos para recuperar el estado inicial (uno que es vago <img src='http://www.danilat.com/weblog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ), por lo que me venía como anillo al dedo.</p>
<p>En fin que, tal y como <a href="http://grails.org/Environments">pone en la documentación</a>, en este caso sólo he tenido que añadir al DataSource.groovy el entorno con su respectiva configuración, pero si lo necesitamos, también podemos añadir otros parámetros de configuración en el Config.groovy. Para arrancar la aplicación en nuevos entornos, deberemos ejecutar:</p>
<p><code>grails -Dgrails.env=mientorno run-app</code></p>
<p>Por ponerle una pega, estaría muy bien que fuera sólo con el nombre del entorno.
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilat.com/weblog/2008/07/04/anadir-entornos-de-ejecucion-a-una-aplicacion-grails/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.danilat.com/weblog/2008/07/04/anadir-entornos-de-ejecucion-a-una-aplicacion-grails/</feedburner:origLink></item>
		<item>
		<title>Resumen del Open Java Day 2008</title>
		<link>http://feeds.feedburner.com/~r/danilat/~3/324909552/</link>
		<comments>http://www.danilat.com/weblog/2008/07/02/resumen-del-open-java-day-2008/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 13:40:43 +0000</pubDate>
		<dc:creator>Dani</dc:creator>
		
		<category>Java</category>

		<guid isPermaLink="false">http://www.danilat.com/weblog/2008/07/02/resumen-del-open-java-day-2008/</guid>
		<description><![CDATA[Llevo unos días tratando de poner en orden las sensaciones que me ha dejado el Open Java Day mientras he ido leyendo otras opiniones sobre el evento. Aunque la organización me parece que podría haber sido mejorable, a niveles generales me llevo una buena sensación de estos dos días en Madrid. 
En mi opinión hubo [...]]]></description>
			<content:encoded><![CDATA[<p>Llevo unos días tratando de poner en orden las sensaciones que me ha dejado el Open Java Day mientras <a href="http://icoloma.blogspot.com/2008/06/lessons-learned-on-web-layer.html">he ido</a> <a href="http://www.jenaiz.com/index.php?/archives/129-Conclusiones-OpenJavaDay-2008.html">leyendo</a> <a href="http://blogs.sun.com/jorgeSanchez/entry/la_primera_jornada_del_open">otras</a> <a href="http://jamurblan.wordpress.com/2008/06/28/open-java-day-2008/">opiniones</a> sobre el evento. Aunque la organización me parece que podría haber sido mejorable, a niveles generales me llevo una buena sensación de estos dos días en Madrid. </p>
<p>En mi opinión hubo algunas ponencias que no tenían muy claro hacia qué tipo de público se dirigían, no pegaban demasiado en un evento de desarrolladores. Tampoco hubiera estado mal que se hubiese dado una identificación a los asistentes, aunque fuera por poder reconocerse entre la gente que ya se conoce pero no físicamente, o simplemente por poner nombre con quién hables.</p>
<p><strong>Día 1:</strong><br />
Empezó la mañana con la ponencia <strong>High Performance Web Server: <a href="http://www.cherokee-project.com/">Cherokee</a></strong> de Álvaro Lopez, que sin ser una charla sobre java, resultó muy interesante que esplicara desde sus razones para crear el proyecto hasta ver lo amigable de la interfaz web de configuración del servidor.</p>
<p>Siguió la ponencia <strong>Sun, impulsando las Comunidades Abiertas y la Social Media</strong> de Joan Carles Agustí, sobre redes sociales y sobre aplicaciones dentro de facebook, que personalmente me dejó frío.</p>
<p>Luego con otra sobre <strong>Software Quality Assurance</strong>, dónde <a href="http://www.binfactory.com/peyrona/">Francisco Moreno Peyrona</a> nos habló de su trabajo en Sun en materia de aseguramiento de la calidad y de la herramienta que ha creado, CATI, para la trazabilidad entre la fase de diseño de software con la de implementación.</p>
<p>Después del descanso, vino la charla sobre <strong><a href="http://jcp.org/en/jsr/detail?id=170">Java Content Repsotory</a></strong> de Alfredo Casado, que se quedó corta, para los que ya supiéramos de qué va esta especificación nada nuevo, pero estuvo bien como introducción. A mi me hubiese encantado ver por ejemplo algo sobre el <a href="https://springmodules.dev.java.net/">módulo de Spring</a> o sobre <a href="http://jackrabbit.apache.org/5-with-jackrabbit-ocm.html">Jackrabbit OCM</a>.</p>
<p>La siguiente fué la charla sobre <strong><a href="http://struts.apache.org/2.0.11.1/index.html">Struts 2</a></strong> de <a href="http://weblogs.javahispano.org/mariscal/">Álvaro Sánchez Mariscal</a>, dónde se habló de la muerte de <a href="http://struts.apache.org/1.x/">Struts 1</a> y de que está basado en <a href="http://www.opensymphony.com/webwork/">WebWork</a> tomando la marca Struts. Con los problemas que hubieron al hacer la demo, no se pudo enseñar prácticamente nada de éste framework.</p>
<p>La última antes de comer fué <strong>Lecciones prácticas de capa web con Java</strong> de <a href="http://icoloma.blogspot.com/">Ignacio Coloma</a>, para mi una de las mejores del Open Java Day. Aunque tampoco fué nada novedoso creo que una charla así es importante cuando java se usa mayoritariamente en desarrollo web y que de los programadores java no se habla demasiado bien en el mundillo web, viendo las <em>macro-aplicaciones</em> de muchas AAPP y grandes empresas, con razón. Se tocaron temas de usabilidad, accesibilidad y javascript no intrusivo, frameworks javascript, frameworks CSS&#8230;</p>
<p>La tarde empezó con <strong>Desarrollo JavaME sin necesidad de portabilidad</strong> de Curro Rueda, dónde vimos formas de solucionar el infierno de la compatibilidad en el desarrollo de aplicaciones móviles con J2ME que han utilizado para el desarrollo de <a href="http://www.tagsme.com/">TagsME</a>, como nunca he desarrollado para móviles algunas soluciones me sorpredieron mucho y otras muchísimo.</p>
<p>La última fué la sesión sobre <strong><a href="http://grails.org/">Grails</a>: desarrollo web con Java como siempre debió ser</strong> de <a href="http://www.groovy.org.es/">Nacho Brito</a>, que también se hizo corta, habló de forma general sobre Grails y groovy, y en la demo sólo dió tiempo de llegar hasta el scaffolding dinámico y al sistema de layouts, sin poder verse otras de las bondades de este frameworks. Eso sí, hubo quien <a href="http://www.danilat.com/weblog/2008/06/18/ruby-on-rails-y-grails-cara-a-cara/">vió el parecido con Ruby on Rails</a> enseguida <img src='http://www.danilat.com/weblog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<p>Para finalizar el primer día, habían tres talleres a elegir(<a href="http://www.springframework.org">Spring</a>, <a href="http://www.trailsframework.org/">Trails</a> y <a href="http://www.opencms.org/">OpenCMS</a>), asistí al de Spring 2.5. Primero hubieron problemas con la red Wi-Fi, por lo que cambiamos de aula, y depués nos encontramos con que no habían regletas suficientes para los portátiles, lo que retrasó el inicio del taller. Por estos problemas Erick Camacho y Sergi Almar tuvieron que acelerar y acabó pareciendo una sesión más, de cualquier forma resultó interesante conocer Spring 2.5 e ir viendo el código de la aplicación de ejemplo.</p>
<p>El día acabó redondo con el España-Rusia <img src='http://www.danilat.com/weblog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p><strong>Día 2:</strong><br />
El segundo día llegué tarde y no vi prácticamente nada de la charla <strong>Proyectos de la Fundación I+D del Software Libre</strong> de Máximo Martín, de la que me dieron opiniones encontradas <img src='http://www.danilat.com/weblog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Luego comonezó la sesión <strong>Developing Rich Internet Applications - A New Step Ahead</strong> de Jose María Corsino, de la que esperaba una charla mucho más técnica y finalmente no fue mucho más que nombrar las diferentes posibilidades que se pueden encontrar en el mercado.</p>
<p>Tras ésta, la siguiente sesión fue <strong>Introducción a Netbeans Rich Client Platform</strong> de Ibon Urrutia, que nos explicó su experiencia a raíz del desarrollo del IDE, basado en esta plataforma, para desarrollar aplicaciones con <a href="http://www.tagsme.com/">TagsME</a> y nos enseñó la herramienta.</p>
<p>De la charla que seguía tras el descanso <strong>Infraestructuras Abiertas para un Mundo Abierto</strong> de <a href="http://www.binfactory.com/peyrona/">Francisco Moreno Peyrona</a>, tampoco puedo dar opinión ya que entramos bastante tarde.</p>
<p>Siguió la <strong>Introducción a <a href="http://maven.apache.org/">Maven</a></strong> de Antonio María Sánchez Berrocal, tal y como indica el título de la sesión se quedó en una introducción, por cierto, que Antonio dijo la que para mi fue la frase del evento <em>&#8220;Si sientas a un burro delante de un ordenador, sigue siendo un burro&#8221;</em> XD.</p>
<p>Después vimos <a href="http://www.youtube.com/watch?v=2HlN43dDS9o">el video de la final</a> de la <a href="http://javacup.javahispano.org/">Java Cup 2008</a>, con un repaso de <strong>1A</strong> a <strong>Laponia</strong> quedando 21-2, con ovación incluida en el primer gol de Laponia <img src='http://www.danilat.com/weblog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Después de comer, se retrasó la <strong>Mesa redonda sobre frameworks web</strong> por una charla que se tuvo que pasar del Open Solaris Day a la sala dónde se celebraba el Open Java Day. En cuanto a la mesa, me pareció que no se aprovechó la oportunidad de que se hablara sobre las ventajas o puntos fuertes de los frameworks de los que los miembros de la mesa son creadores o están especialicados, que al menos era lo que yo esperaba. Se habló de frameworks orientado a acciones o a componentes, para desarrollo de RIAs o web <em>tradicional</em>, si struts está muerto o no, frameworks surgidos de empresas o desde la comunidad open source&#8230; Y como era de esperar, acabaron surgiendo <em>los innombrables</em> ASP.NET y Ruby on Rails, que no salieron muy bien parados de los comentarios de los ponentes.</p>
<p>El día finalizó con otros tres talleres(<a href="http://www.gestion400.com/web/guest/home">OpenXava</a>, <a href="https://glassfish.dev.java.net/">Glassfish</a> y <a href="http://itsnat.sourceforge.net/">ItsNat</a>). Esta vez entré al de Glassfish que impartía David Bonilla. Me quedé sin batería en el portátil y no encontré dónde enchufar el caragador, además tuvimos que irnos antes de acabar por coger el tren de vuelta, de todas formas me estaba pareciendo un taller interesante sobre el que tendré que repasar la documentación que nos pasaron a los asistentes.</p>
<p>Como suele pasar en estos eventos, casi es más interesante lo que se mueve <em>en los pasillos</em> que el evento en sí, intercambiando impresiones sobre las charlas o sobre temas fuera de ellas. Un placer estar y charlar con gente como <a href="http://gimenete.wordpress.com/">Alberto Gimeno</a>(que me hizo un hueco en su casa <img src='http://www.danilat.com/weblog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ), <a href="http://www.jenaiz.com/">Jesús Navarrete</a>,  Erick Camacho, Sergi Almar, <a href="http://www.jroller.com/greeneyed/">Dani López</a>, <a href="http://www.groovy.org.es/">Nacho Brito</a>&#8230; aunque me quedé con las ganas de coincidir un rato con gente como <a href="http://www.manuelrecena.com/blog/">Manuel Recena</a> y alguno más.</p>
<p>Ahora toca esperar a que se publiquen las presentaciones y los vídeos de las ponencias, tanto para los que queremos repasarlas como para los que no pudieron asistir.
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilat.com/weblog/2008/07/02/resumen-del-open-java-day-2008/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.danilat.com/weblog/2008/07/02/resumen-del-open-java-day-2008/</feedburner:origLink></item>
		<item>
		<title>We are the champions!</title>
		<link>http://feeds.feedburner.com/~r/danilat/~3/322797523/</link>
		<comments>http://www.danilat.com/weblog/2008/06/29/we-are-the-champions/#comments</comments>
		<pubDate>Sun, 29 Jun 2008 21:37:38 +0000</pubDate>
		<dc:creator>Dani</dc:creator>
		
		<category>General</category>

		<guid isPermaLink="false">http://www.danilat.com/weblog/2008/06/29/we-are-the-champions/</guid>
		<description><![CDATA[
Foto de Visentico / Sento

]]></description>
			<content:encoded><![CDATA[<div align="center"><img src="http://farm4.static.flickr.com/3205/2602427132_c3d1c0b66b_d.jpg" alt="¡Campeones!" /></div>
<p>Foto de <a href="http://www.flickr.com/photos/visentico/">Visentico / Sento</a>
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilat.com/weblog/2008/06/29/we-are-the-champions/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.danilat.com/weblog/2008/06/29/we-are-the-champions/</feedburner:origLink></item>
		<item>
		<title>Recopilación de blogs de ex-compañeros</title>
		<link>http://feeds.feedburner.com/~r/danilat/~3/319013310/</link>
		<comments>http://www.danilat.com/weblog/2008/06/24/recopilacion-de-blogs-de-ex-companeros/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 16:43:27 +0000</pubDate>
		<dc:creator>Dani</dc:creator>
		
		<category>General</category>

		<guid isPermaLink="false">http://www.danilat.com/weblog/2008/06/24/recopilacion-de-blogs-de-ex-companeros/</guid>
		<description><![CDATA[Hoy he empezado a hacer algo de limpieza en mi lector de feeds, básicamente por eso de no dar para consumir tanta información, y me he dado cuenta de la cantidad de blogs que sigo de ex-compañeros, de la última empresa en la que trabajé, unos siguen allí y otros se fueron antes que yo. [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy he empezado a hacer algo de limpieza en mi lector de feeds, básicamente por eso de no dar para consumir tanta información, y me he dado cuenta de la cantidad de blogs que sigo de ex-compañeros, de la <a href="http://www.net2u.es/">última empresa en la que trabajé</a>, unos siguen allí y otros se fueron antes que yo. También me servirá para que la próxima vez que me pregunte alguien sobre &#8220;los blogs de los del curro&#8221;, remitirlo aquí mismo.</p>
<p>Imagino que tendrá algo que ver el que, vete tú a saber porqué, Zaragoza sea una de las ciudades que más blogs tiene per cápita de España. Las temáticas son para gustos variados, hay de todo; algunos andan desactualizados o escriben de vez en cuando, otros llevan poco tiempo en marcha y otros llevan bastante tiempo. Por orden alfabético (no se me enfade nadie <img src='http://www.danilat.com/weblog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ):</p>
<p><a href="http://www.7recursos.com/blog/">7recursos</a>, es un blog colaborativo de 7 compañeras(Mari Carmen, Patricia, Noemi, Carla, Mamen, Vanessa e Isa). Se puede encontrar desde recetas a algún post de diseño o programación <img src='http://www.danilat.com/weblog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .<br />
<a href="http://www.calcolea.com/">calcolea</a>, de Carlos Alcolea. Mezcla algún post de gestión de proyectos con experiencias de viajes y algunos personales.<br />
<a href="http://pionero401.spaces.live.com/default.aspx?wa=wsignin1.0">Custodis Somne</a>, de Jesús García. Es un espacio personal.<br />
<a href="http://www.ex7.org/">EX7</a>, lo mantiene Ernesto Frías. No es un blog, es una revista, imprescindible si te interesa ver exposiciones y entrevistas a gente del mundo del diseño.<br />
<a href="http://gnucrash.wordpress.com/">Inf-o-matic</a>, de Juan Luis Belmonte. Que ha reactivado el blog desde que ha empezado también con <a href="http://code.google.com/soc/2008/debian/appinfo.html?csaid=672C11971987501C">su proyecto para el Google Summer of Code</a>. Suele hablar sobre programación, sistemas y <em>cabreos</em> <img src='http://www.danilat.com/weblog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .<br />
<a href="http://mevoydeviaje.blogia.com/">Me voy de viaje</a>, de Marcos Gil. De temática de viajes claro, atentos a la <a href="http://mevoydeviaje.blogia.com//2008/041901-simplemente-de-viaje.php">vuelta al mundo</a> <img src='http://www.danilat.com/weblog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<a href="http://www.biotive.com/pensieve/">Pensieve</a>, de Mamen Pradel. Habla sobre temáticas entorno al arte, diseño e internet y muestra algunos de sus diseños.<br />
<a href="http://programeta.blogia.com/">Programeta</a>, de Oscar Embún. Que toca temas personales y variados, pero hace tiempo que no lo actualiza.<br />
<a href="http://www.thestromboliproject.com/blog/">The Stromboli Project</a>, de Javier Ferraz y Elisa Bellosta. Ellos tocan temas <em>interneteros</em>.<br />
<a href="http://www.torresburriel.com/weblog/">TorresBurriel</a>, de Dani Torres. No creo que necesite demasiada presentación <img src='http://www.danilat.com/weblog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , pero él escribe sobre todo de temas relacionados con la usabilidad.<br />
<a href="http://lbosque.wordpress.com/">Un maño entre gaúchos</a>, de Luis Bosque. Que mezcla temas de programación, sistemas y personales.<br />
<a href="http://unclick.blogia.com/">UnClick</a>, de Isa Casanova. Toca temas de usabilidad y algunos más personales, últimamente parece que ha bajado el ritmo, quizás tenga parte de culpa su nueva web <a href="http://www.isabl.com/">isabl</a>.<br />
<a href="http://voxelizer.wordpress.com/">Voxelizer</a>, de José Félix Lucía. Al final algunos le convencimos a que enseñara algunas de esas cosillas que desarrolla en sus ratos libres, sobre desarrollo gráfico la verdad que poco he leído en español.<br />
<a href="http://www.serpentimento.com/">Z Ziudad</a>, de Jose Antonio Tebar. Dónde enseña algunos diseños que va haciendo.<br />
<a href="http://blog.paurivera.es/">&lt;/sin&gt;</a>, de Pau Rivera. Es un blog de temática personal aunque ya lleva un tiempo parado.</p>
<p>Espero no dejarme a nadie (que va a ser que sí <img src='http://www.danilat.com/weblog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ), sino que alguien comente por aquí.</p>
<p>Lo curioso es que muchos empezamos a escribir nuestros propios blogs trabajando allí (yo incluido), sin que en ningún momento la empresa lo promoviera. Soy de la opinión que al tener cerca a alguien <a href="http://www.torresburriel.com/weblog/2003/09/">que empezó hace bastante</a> ayuda a quitarse miedos y vergüenzas, luego empieza a notarse un efecto dominó.
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilat.com/weblog/2008/06/24/recopilacion-de-blogs-de-ex-companeros/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.danilat.com/weblog/2008/06/24/recopilacion-de-blogs-de-ex-companeros/</feedburner:origLink></item>
		<item>
		<title>Open Java Day 2008</title>
		<link>http://feeds.feedburner.com/~r/danilat/~3/315427414/</link>
		<comments>http://www.danilat.com/weblog/2008/06/19/open-java-day-2008/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 13:37:53 +0000</pubDate>
		<dc:creator>Dani</dc:creator>
		
		<category>Java</category>

		<category>Grails</category>

		<guid isPermaLink="false">http://www.danilat.com/weblog/2008/06/19/open-java-day-2008/</guid>
		<description><![CDATA[Los días 26 y 27 de Junio en la Universidad Complutense de Madrid se celebrará el Open Java Day, organizado por Sun Microsystems y javaHispano, un evento entorno a la plataforma Java.

El año pasado ya estuve por ahí, y quizás se notó demasiado que estaba organizado sólo por Sun, por lo que se centró más [...]]]></description>
			<content:encoded><![CDATA[<p>Los días 26 y 27 de Junio en la <a href="http://javahispano.org/openjavaday/lugar.html">Universidad Complutense de Madrid</a> se celebrará el <a href="http://javahispano.org/openjavaday/">Open Java Day</a>, organizado por <a href="http://www.sun.com/">Sun Microsystems</a> y <a href="http://www.javahispano.org/">javaHispano</a>, un evento entorno a la plataforma Java.</p>
<div align="center"><img src="http://planeta.javahispano.org/jh/resource/images/bannerOpenJavaDay_peque.jpg" alt="logo del openjavaday2008" /></div>
<p>El año pasado ya estuve por ahí, y quizás se notó demasiado que estaba organizado sólo por Sun, por lo que se centró más que nada en sus productos. Este año se ve un programa mucho más variado por la co-organización de javaHispano en el evento.</p>
<p>Personalmente las charlas que más me interesan son las que <em>huelen a web</em>. A priori las que más son <a href="http://javahispano.org/openjavaday/detalle.html?id=155">Struts 2</a>, <a href="http://javahispano.org/openjavaday/detalle.html?id=154">Java Content Repository</a> y <a href="http://javahispano.org/openjavaday/detalle.html?id=158">Grails</a>; esta última no espero que me resulte especialmente novedosa, pero quizás me vayan bien para repasar algunas ideas y ver qué opinión le queda a la gente que no conozca Grails. Y cómo no, me interesa también ver qué sale de <a href="http://javahispano.org/openjavaday/detalle.html?id=224">la mesa redonda de frameworks web</a>, viendo que habrá algunos líderes de frameworks <em>pequeños</em> y otros desarrolladores que están especializados en usar frameworks más conocidos.</p>
<p>En cuanto a los talleres me he apuntado al de <a href="http://javahispano.org/openjavaday/detalle.html?id=159">Spring 2.5</a> el primer día y al de <a href="http://javahispano.org/openjavaday/detalle.html?id=500">Gassfish</a> el segundo. Si no hubiera coincidido con el taller de Spring probablemente me hubiera apuntado al de <a href="http://javahispano.org/openjavaday/detalle.html?id=195">Trails</a>, por lo que tendré que pedir que me den algunas impresiones.</p>
<p>Por cierto, esos días se celebrará también el <a href="http://es.opensolaris.org/os/project/es/OpenSolarisDay/">Open Solaris Day</a>.</p>
<p>Nos vemos en Madrid <img src='http://www.danilat.com/weblog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilat.com/weblog/2008/06/19/open-java-day-2008/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.danilat.com/weblog/2008/06/19/open-java-day-2008/</feedburner:origLink></item>
		<item>
		<title>Ruby on Rails y Grails, cara a cara</title>
		<link>http://feeds.feedburner.com/~r/danilat/~3/314554566/</link>
		<comments>http://www.danilat.com/weblog/2008/06/18/ruby-on-rails-y-grails-cara-a-cara/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 11:34:54 +0000</pubDate>
		<dc:creator>Dani</dc:creator>
		
		<category>Grails</category>

		<category>Rails</category>

		<guid isPermaLink="false">http://www.danilat.com/weblog/2008/06/18/ruby-on-rails-y-grails-cara-a-cara/</guid>
		<description><![CDATA[Ya comenté que, al empezar a trabajar con Linking Paths, empezaría a utilizar Ruby on Rails y que pretendía hacer un cara a cara entre Ruby on Rails y Grails. Como podría ser un post muy largo y tampoco quiero ir dejándome cosas, la intención es hacerlo en una serie de posts tal y como [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.danilat.com/weblog/2008/06/05/trabajando-con-linking-paths/">Ya comenté</a> que, al empezar a trabajar con <a href="http://weblog.linkingpaths.com/">Linking Paths</a>, empezaría a utilizar Ruby on Rails y que pretendía hacer un <em>cara a cara</em> entre <a href="http://www.rubyonrails.com">Ruby on Rails</a> y <a href="http://grails.org/">Grails</a>. Como podría ser un post muy largo y tampoco quiero ir dejándome cosas, la intención es hacerlo en una serie de posts tal y como vaya teniendo las ideas claras, espero tener tiempo y ganas para ir completándola <img src='http://www.danilat.com/weblog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . El objetivo no es decir cuál es mejor, sino simplemente que se vean las características de cada uno. En este post se van a tratar características generales y algunos <em>parecidos razonables</em> entre los frameworks.</p>
<p><strong>A primera vista:</strong></p>
<p>Como mucha gente sabrá los dos son frameworks web <em>full-stack</em> que siguen el patrón MVC, siguen el principio DRY(Don&#8217;t repeat yourself) y CoC(Convention over configuration). Lo primero que hay que decir es que Grails se basó en las ideas de RoR, incluso a Grails en un principio se le llamó Groovy on Rails pero los creadores de RoR pidieron que se le cambiara el nombre.</p>
<p>RoR está enteramente construido con Ruby. Mientras que Grails lo está con la combinación Java+Groovy usando frameworks y librerías muy conocidas por debajo(destacan <a href="http://www.springframework.org/">Spring</a>, <a href="http://www.hibernate.org/">Hibernate</a> y <a href="http://www.opensymphony.com/sitemesh/">Sitemesh</a>).</p>
<p>Para empezar hay que destacar que, ambos frameworks, nos traen de serie un servidor/contenedor web y un servidor de bases de datos embebidos: RoR trae <a href="http://www.webrick.org/">WEBrick</a> y <a href="http://www.sqlite.org/">SQLite</a> mientras que Grails <a href="http://www.mortbay.org/jetty-6/">Jetty</a> y <a href="http://hsqldb.org/">HSQLDB</a>. De esta forma podemos trabajar en desarrollo sin preocuparnos de tener acceso o tener que instalar nada más.</p>
<p>Para la automatización de tareas repetitivas con RoR se usa <a href="http://rake.rubyforge.org/">Rake</a> y con Grails <a href="http://gant.codehaus.org">Gant</a>(basado en <a href="http://ant.apache.org/">Apache Ant</a>).</p>
<p>Como librería javascript, por defecto, las dos traen <a href="http://www.prototypejs.org/">Prototype</a>.</p>
<p><strong>Manos a la obra:</strong></p>
<p>Donde más parecido he encontrado ha sido en la capa más <em>web</em>. Con los dos se usan layouts para la decoración base de la página, para las vistas Grails usa <a href="http://groovy.codehaus.org/GSP">GSP</a> y RoR <a href="http://www.ruby-doc.org/stdlib/libdoc/erb/rdoc/index.html">ERB</a>, mientras que lo que en un sitio se llaman Taglibs en otro son Helpers. Existen diferencias de sintaxis y de cómo se hacen las cosas, pero las capacidades son muy parecidas.</p>
<p>Para el acceso a datos, en los dos se utiliza el patrón <a href="http://es.wikipedia.org/wiki/ActiveRecord">ActiveRecord</a> a través de ORM&#8217;s, RoR utiliza uno <a href="http://wiki.rubyonrails.org/rails/pages/ActiveRecord">del mismo nombre</a> que el patrón y Grails <a href="http://grails.org/doc/1.0.x/guide/5.%20Object%20Relational%20Mapping%20(GORM).html">GORM</a>(basado en Hibernate y <em>vitaminado</em> con el dinamismo de Groovy). De inicio puede dar la impresión de que son casi equivalentes, pero este tema creo que tiene miga para tratarlo en otro capítulo.</p>
<p><strong>Herramientas/IDE&#8217;s:</strong></p>
<p>En este apartado, gana RoR sin discusión con el <a href="http://ruby.netbeans.org/">plugin de NetBeans</a> o <a href="http://www.aptana.com/rails/">RadRails</a> que tienen un soporte realmente bueno. Mientras que para Grails <a href="http://www.jetbrains.com/idea/features/groovy_grails.html">Jet Groovy</a> de <a href="http://www.jetbrains.com/idea/">IDEA</a> es el único con un soporte decente, el <a href="http://groovy.codehaus.org/Eclipse+Plugin">plugin de Eclipse</a> todavía está lejos de ser bueno, y el de <a href="http://wiki.netbeans.org/Groovy">NetBeans está en desarrollo</a>.</p>
<p>Aparte de esto, hay muchos editores que soportan sintaxis ruby, mientras que soporte a groovy todavía es muy difícil encontrar</p>
<p><strong>Algunas conclusiones:</strong></p>
<p>A nivel de madurez, se le nota mucho más maduro a RoR. Empiezan a verse bastantes aplicaciones en producción, tiene más documentación, más plugins y una comunidad mayor. Aunque hay algo donde creo que destaca Grails, es en cómo está organizada la <a href="http://grails.org/doc/1.0.x/">documentación de referencia</a>, tanto para empezar de cero como para buscar algo en concreto.</p>
<p>Para un programador acostumbrado a Java, la curva de aprendizaje de Grails es más baja, puedes empezar a trabajar de una forma más <em>javera</em> e ir introduciendo/aprendiendo la forma más <em>¿grooviera?</em>, además de poder utilizar cualquier librería java.
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilat.com/weblog/2008/06/18/ruby-on-rails-y-grails-cara-a-cara/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.danilat.com/weblog/2008/06/18/ruby-on-rails-y-grails-cara-a-cara/</feedburner:origLink></item>
		<item>
		<title>Reunión de Junio del ZaragozaJUG</title>
		<link>http://feeds.feedburner.com/~r/danilat/~3/310516667/</link>
		<comments>http://www.danilat.com/weblog/2008/06/12/reunion-de-junio-del-zaragozajug/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 16:30:02 +0000</pubDate>
		<dc:creator>Dani</dc:creator>
		
		<category>Java</category>

		<guid isPermaLink="false">http://www.danilat.com/weblog/2008/06/12/reunion-de-junio-del-zaragozajug/</guid>
		<description><![CDATA[El pasado mes de Marzo organizamos ZaragozaJUG, algo parecido a un Java User Group. Digo parecido porque no se habla exclusivamente de Java, lo que ayuda a enriquecer el grupo, pero todos trabajamos/hemos trabajado/tenemos interés en la plataforma Java.
Desde entonces, empezamos a organizar reuniones mensuales(para quien lo conozca, tipo cócktail cadius), aunque al ser todavía [...]]]></description>
			<content:encoded><![CDATA[<p>El pasado mes de Marzo organizamos <a href="http://groups.google.com/group/zaragozajug">ZaragozaJUG</a>, algo parecido a un Java User Group. Digo parecido porque no se habla exclusivamente de Java, lo que ayuda a enriquecer el grupo, pero todos trabajamos/hemos trabajado/tenemos interés en la plataforma Java.</p>
<p>Desde entonces, empezamos a organizar reuniones mensuales(para quien lo conozca, tipo <a href="http://www.cadius.org/cocktails/index.html">cócktail cadius</a>), aunque al ser todavía poquita gente no tenemos impuesto un día concreto al mes y tratamos que le vaya bien a la mayoría. Simplemente nos juntamos unos cuantos alrededor de unas cañas y charlamos sobre lo que surja, o sobre intereses e inquietudes de alguno de los asistentes, además de ser una buena forma de conocer gente interesante.</p>
<p>La reunión será el lunes 16 a partir de las 20:00, en principio en el <a href="http://11870.com/pro/22579">Universal</a> en Fernando el Católico, al lado de la plaza San Francisco.
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilat.com/weblog/2008/06/12/reunion-de-junio-del-zaragozajug/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.danilat.com/weblog/2008/06/12/reunion-de-junio-del-zaragozajug/</feedburner:origLink></item>
		<item>
		<title>Grails Morph Plugin</title>
		<link>http://feeds.feedburner.com/~r/danilat/~3/308095209/</link>
		<comments>http://www.danilat.com/weblog/2008/06/09/grails-morph-plugin/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 15:25:42 +0000</pubDate>
		<dc:creator>Dani</dc:creator>
		
		<category>Grails</category>

		<guid isPermaLink="false">http://www.danilat.com/weblog/2008/06/09/grails-morph-plugin/</guid>
		<description><![CDATA[Ayer hablaba de los pasos para desarrollar una micro-aplicación con Grails y cómo desplegarla en Morph, había un paso molesto teniendo que generar y modificar el web.xml para añadir un recurso, que había que quitar para ejecutar la aplicación en entornos diferentes al de producción en Morph.
Ya pensaba en un plugin para esto mientras escribía [...]]]></description>
			<content:encoded><![CDATA[<p>Ayer hablaba de los pasos para <a href="http://www.danilat.com/weblog/2008/06/08/desplegando-una-aplicacion-grails-en-morph/">desarrollar una micro-aplicación con Grails y cómo desplegarla en Morph</a>, había un paso molesto teniendo que generar y modificar el web.xml para añadir un recurso, que había que quitar para ejecutar la aplicación en entornos diferentes al de producción en Morph.</p>
<p>Ya pensaba en un plugin para esto mientras escribía el post anterior, pero por <a href="http://www.danilat.com/weblog/2008/06/08/desplegando-una-aplicacion-grails-en-morph/#comment-4180">el comentario</a> de <a href="http://dahernan.net/">dahernan</a> me lancé a crearlo, lo que sólo me llevó unos minutos. Es un pequeño plugin que modifica el web.xml dinámicamente, o mejor dicho, que participa en su generación.</p>
<p>El plugin se llama <a href="http://code.google.com/p/morphplugin/">Morph Plugin</a>, está disponible el <a href="http://code.google.com/p/morphplugin/downloads/list">para descargarlo</a> y en el <a href="http://morphplugin.googlecode.com/svn/trunk/">SVN</a> está disponible el código. Aunque se vean muchos archivos, la <em>chicha</em> está en <a href="http://morphplugin.googlecode.com/svn/trunk/MorphGrailsPlugin.groovy">MorphGrailsPlugin.groovy</a>:</p>
<p><code><br />
def doWithWebDescriptor = { xml -><br />
  def env = System.getProperty("grails.env")<br />
  if(env=="production"){<br />
    def resourceRef = xml.'resource-ref'<br />
    resourceRef+{<br />
      'description'("Morphlabs Datasource")<br />
      'res-ref-name'("jdbc/morph-ds")<br />
      'res-type'("javax.sql.DataSource")<br />
      'res-auth'("Container")<br />
    }<br />
  }<br />
}<br />
</code></p>
<p>Para instalarlo sólo hay que descargarlo y ejecutar dentro del directorio de la aplicación este comando:<br />
<code>grails install-plugin elpathquesea/grails-morph-0.1.zip</code></p>
<p>El ejemplo de la <a href="http://danilat.morphexchange.com/task/list">TODO list</a> ya está desplegado de esta manera, y ya no es necesario ejecutar el comando <code>grails install-templates</code> para modifcar el web.xml ni tenemos ningún problema para seguir trabajando en local.</p>
<p>Si alguien está interesado en la creación de plugins para Grails, existe una <a href="http://www.grails.org/The+Plug-in+Developers+Guide">guía para desarrolladores</a>.
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilat.com/weblog/2008/06/09/grails-morph-plugin/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.danilat.com/weblog/2008/06/09/grails-morph-plugin/</feedburner:origLink></item>
	</channel>
</rss>
