<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>La lóbrega mazmorra del olvido</title>
	<atom:link href="http://arctarus.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://arctarus.wordpress.com</link>
	<description>blog de Gabriel Ortuño</description>
	<lastBuildDate>Tue, 28 Jun 2011 13:13:05 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='arctarus.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/fd750d5d09df68cd662a0af0c6a29b5b?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>La lóbrega mazmorra del olvido</title>
		<link>http://arctarus.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://arctarus.wordpress.com/osd.xml" title="La lóbrega mazmorra del olvido" />
	<atom:link rel='hub' href='http://arctarus.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Conferencia Rails 2011</title>
		<link>http://arctarus.wordpress.com/2011/06/23/conferencia-rails-2011/</link>
		<comments>http://arctarus.wordpress.com/2011/06/23/conferencia-rails-2011/#comments</comments>
		<pubDate>Thu, 23 Jun 2011 10:37:22 +0000</pubDate>
		<dc:creator>arctarus</dc:creator>
				<category><![CDATA[eventos]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ror]]></category>
		<category><![CDATA[conferencia]]></category>
		<category><![CDATA[charlas]]></category>
		<category><![CDATA[talleres]]></category>
		<category><![CDATA[node.js]]></category>
		<category><![CDATA[backbone]]></category>
		<category><![CDATA[coffeescript]]></category>

		<guid isPermaLink="false">http://arctarus.wordpress.com/?p=505</guid>
		<description><![CDATA[Otro año más se vuelve a celebrar en Madrid la Conferencia Rails, encuentro anual de desarrolladores y empresas alrededor de Ruby on Rails, y este año vuelve más internacional que nunca con speakers tan destacados como Sven Fuchs, Paolo Perrota, &#8230; <a href="http://arctarus.wordpress.com/2011/06/23/conferencia-rails-2011/">Sigue leyendo <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arctarus.wordpress.com&amp;blog=89101&amp;post=505&amp;subd=arctarus&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://conferenciarails.org"><br />
<img class="alignright" src="http://conferenciarails.org/images/badges/im_attending_aside.png" alt="I'm Attending Conferencia Rails 2011" width="200" height="180" /></a>Otro año más se vuelve a celebrar en Madrid la <a href="http://conferenciarails.org/">Conferencia Rails</a>, encuentro anual de desarrolladores y empresas alrededor de Ruby on Rails, y este año vuelve más internacional que nunca con speakers tan destacados como Sven Fuchs, Paolo Perrota, Simon Tokumine, Nicolás Sanguinetti,.. y viejos conocidos como Javier Ramírez o Sergio Gil.</p>
<p>Si estás interesados en temas como la programación web, la integración continua, programación para dispositivos móviles, Node.js, Backbone.js, CoffeeScript&#8230; Te esperamos del 13 al 15 de Julio en el Retiro.</p>
<br />Filed under: <a href='http://arctarus.wordpress.com/category/eventos/'>eventos</a> Tagged: <a href='http://arctarus.wordpress.com/tag/backbone/'>backbone</a>, <a href='http://arctarus.wordpress.com/tag/charlas/'>charlas</a>, <a href='http://arctarus.wordpress.com/tag/coffeescript/'>coffeescript</a>, <a href='http://arctarus.wordpress.com/tag/conferencia/'>conferencia</a>, <a href='http://arctarus.wordpress.com/tag/node-js/'>node.js</a>, <a href='http://arctarus.wordpress.com/tag/rails/'>rails</a>, <a href='http://arctarus.wordpress.com/tag/ror/'>ror</a>, <a href='http://arctarus.wordpress.com/tag/ruby/'>ruby</a>, <a href='http://arctarus.wordpress.com/tag/talleres/'>talleres</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arctarus.wordpress.com/505/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arctarus.wordpress.com/505/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arctarus.wordpress.com/505/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arctarus.wordpress.com/505/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arctarus.wordpress.com/505/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arctarus.wordpress.com/505/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arctarus.wordpress.com/505/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arctarus.wordpress.com/505/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arctarus.wordpress.com/505/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arctarus.wordpress.com/505/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arctarus.wordpress.com/505/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arctarus.wordpress.com/505/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arctarus.wordpress.com/505/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arctarus.wordpress.com/505/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arctarus.wordpress.com&amp;blog=89101&amp;post=505&amp;subd=arctarus&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arctarus.wordpress.com/2011/06/23/conferencia-rails-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25158892d0ec54b50428215972020f95?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">arctarus</media:title>
		</media:content>

		<media:content url="http://conferenciarails.org/images/badges/im_attending_aside.png" medium="image">
			<media:title type="html">I'm Attending Conferencia Rails 2011</media:title>
		</media:content>
	</item>
		<item>
		<title>Build Less</title>
		<link>http://arctarus.wordpress.com/2011/06/03/build-less/</link>
		<comments>http://arctarus.wordpress.com/2011/06/03/build-less/#comments</comments>
		<pubDate>Fri, 03 Jun 2011 08:24:10 +0000</pubDate>
		<dc:creator>arctarus</dc:creator>
				<category><![CDATA[libros]]></category>
		<category><![CDATA[37signals]]></category>
		<category><![CDATA[gettingreal]]></category>
		<category><![CDATA[less]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://arctarus.wordpress.com/?p=496</guid>
		<description><![CDATA[So what to do then? The answer is less. Do less than your competitors to beat them. Solve the simple problems and leave the hairy, difficult, nasty problems to everyone else. Instead of oneupping, try one-downing. Instead of outdoing, try &#8230; <a href="http://arctarus.wordpress.com/2011/06/03/build-less/">Sigue leyendo <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arctarus.wordpress.com&amp;blog=89101&amp;post=496&amp;subd=arctarus&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So what to do then? The answer is less. Do less than your competitors to beat them. Solve the simple problems and leave the hairy, difficult, nasty problems to everyone else. Instead of oneupping, try one-downing. Instead of outdoing, try underdoing.</p>
<ul>
<li>Less features</li>
<li>Less options/preferences</li>
<li>Less people and corporate structure</li>
<li>Less meetings and abstractions</li>
<li>Less promises</li>
</ul>
<p><a title="Getting Real - Build Less" href="http://gettingreal.37signals.com/ch02_Build_Less.php">37 Signals &#8211; Getting Real: Build Less</a></p>
<br />Filed under: <a href='http://arctarus.wordpress.com/category/libros/'>libros</a> Tagged: <a href='http://arctarus.wordpress.com/tag/37signals/'>37signals</a>, <a href='http://arctarus.wordpress.com/tag/gettingreal/'>gettingreal</a>, <a href='http://arctarus.wordpress.com/tag/less/'>less</a>, <a href='http://arctarus.wordpress.com/tag/programming/'>programming</a>, <a href='http://arctarus.wordpress.com/tag/software/'>software</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arctarus.wordpress.com/496/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arctarus.wordpress.com/496/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arctarus.wordpress.com/496/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arctarus.wordpress.com/496/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arctarus.wordpress.com/496/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arctarus.wordpress.com/496/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arctarus.wordpress.com/496/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arctarus.wordpress.com/496/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arctarus.wordpress.com/496/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arctarus.wordpress.com/496/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arctarus.wordpress.com/496/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arctarus.wordpress.com/496/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arctarus.wordpress.com/496/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arctarus.wordpress.com/496/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arctarus.wordpress.com&amp;blog=89101&amp;post=496&amp;subd=arctarus&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arctarus.wordpress.com/2011/06/03/build-less/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25158892d0ec54b50428215972020f95?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">arctarus</media:title>
		</media:content>
	</item>
		<item>
		<title>Siendo más productivo con Scrum</title>
		<link>http://arctarus.wordpress.com/2011/05/26/siendo-mas-productivo-con-scrum/</link>
		<comments>http://arctarus.wordpress.com/2011/05/26/siendo-mas-productivo-con-scrum/#comments</comments>
		<pubDate>Thu, 26 May 2011 15:28:48 +0000</pubDate>
		<dc:creator>arctarus</dc:creator>
				<category><![CDATA[metodologías]]></category>
		<category><![CDATA[agil]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[manifesto]]></category>
		<category><![CDATA[project-management]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://arctarus.wordpress.com/?p=461</guid>
		<description><![CDATA[Scrum es una metodología de desarrollo de software enmarcada dentro de las metodologías ágiles y que propone un ciclo iterativo e incremental. Pero, ¿Qué son las metodologías de desarrollo ágiles? Las metodologías ágiles se basan en 4 principios fundamentales recogidos &#8230; <a href="http://arctarus.wordpress.com/2011/05/26/siendo-mas-productivo-con-scrum/">Sigue leyendo <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arctarus.wordpress.com&amp;blog=89101&amp;post=461&amp;subd=arctarus&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Scrum es una metodología de desarrollo de software enmarcada dentro de las metodologías ágiles y que propone un ciclo iterativo e incremental. Pero, ¿Qué son las metodologías de desarrollo ágiles?</p>
<p>Las metodologías ágiles se basan en 4 principios fundamentales recogidos en el <a title="Manifiesto Ágil" href="http://agilemanifesto.org/iso/es/">manifiesto ágil</a>.</p>
<ul>
<li><strong>Individuos e interacciones</strong> sobre procesos y herramientas.</li>
<li><strong>Software funcionando</strong> sobre documentación extensiva.</li>
<li><strong>Colaboración con el cliente</strong> sobre negociación contractual.</li>
<li><strong>Respuesta ante el cambio</strong> sobre seguir un plan.</li>
</ul>
<p>Scrum toma esos principios y propone los siguiente:</p>
<ul>
<li>Divide las tareas en pequeños incrementos con una planificación mínima.</li>
<li>Estos incrementos son llamados Sprints y suelen durar entre 2 semanas y 1 mes.</li>
<li>Pone énfasis en la comunicación cara a cara.</li>
<li>Los equipos son multidisciplinares y auto-organizados de entre 5 y 9 personas.</li>
<li>El software funcional es la primera medida de progreso.</li>
<li>Se realizan periódicamente entregas del producto, lo que permite:
<ul>
<li>Evaluar el trabajo realizado.</li>
<li>Advertir sobre problemas que se detecten.</li>
<li>Sugerir mejoras.</li>
</ul>
</li>
</ul>
<p>Existen 2 tipos de roles: cerdos y gallinas.</p>
<p><a href="http://arctarus.files.wordpress.com/2011/05/cerdos-gallinas.jpg"><img class="aligncenter size-full wp-image-466" title="cerdos-gallinas" src="http://arctarus.files.wordpress.com/2011/05/cerdos-gallinas.jpg?w=500&#038;h=176" alt="" width="500" height="176" /></a></p>
<p>Los cerdos son aquellos roles que están comprometidos directamente en el desarrollo del producto:</p>
<ol>
<li><strong>Product Manager</strong>: Representa a la voz de cliente. Escribe y prioriza las historias de usuario.</li>
<li><strong>Scrum Master</strong>: Su trabajo es eliminar los problemas que impiden que el equipo alcance el objetivo del Sprint.</li>
<li><strong>Scrum Team</strong>: Responsables de la entrega del producto. El equipo debe reunir todas las habilidades necesarias para el éxito del proyecto.</li>
</ol>
<p>Las gallinas son todos aquellos que aunque están involucrados en el desarrollo del proyecto, no está comprometidos, es decir, no forman parte directa del scrum. Este grupo está formado por usuarios, clientes y managers.</p>
<p>Por otro lado, scrum propone una serie de <em>artefactos</em> que nos permiten gestionar las tareas y tener más control sobre lo que está pasando en cada momento del Sprint.</p>
<p><strong>Product Backlog</strong><br />
Es una lista de requisitos priorizados, con estimaciones que son recogidos por el Product Manager en colaboración con el cliente. Normalmente estos requisitos son escritos en forma de historias de usuarios y deben ser lo más detalladas posibles para ayudar en la medida de lo posible ha realizar las estimaciones. Esta lista debe ser revisada con frecuencia con objeto de ajustar prioridades, estimaciones y re-priorizar las historias de usuarios.</p>
<p><strong>Sprint Backlog</strong><br />
El Sprint Backlog agrupa las tareas que se han seleccionado al inicio de la iteración del Product Backlog para ser desarrolladas durante la siguiente iteración. Las tareas deben ser más detalladas y las estimaciones más aproximadas. Ninguna tarea debe durar más de dos jornadas de trabajo, en ese caso debe dividirse en varias tareas más concretas.</p>
<p><strong>Burn Down</strong><br />
Es una gráfica que muestra el avance del equipo en el desarrollo de la iteración. En el eje Y se encuentras los puntos de historia a realizar durante la iteración, y el eje X los días disponibles. Cada día se va trazando una línea desde arriba a la izquierda hasta abajo a la derecha donde se podrá ver el trabajo restante. Un <a href="http://es.wikipedia.org/wiki/Archivo:EjemploDeDiagramaBurnDown.png">ejemplo de burn down</a> lo podemos ver en la wikipedia.</p>
<p><strong>Tablón de Scrum</strong><br />
Es un poster, normalmente dividido en 3 o 4 columnas que nos permite de un simple vistazo saber en qué estado se encuentra la iteración. En la primera columna (ToDo) se agrupan las tareas que quedan por hacer, En la segunda las que se están desarrollando en ese momento (WIP: Work In Progress) y en la tercera las tareas terminadas (Done). En la cuarta podemos poner nuestro Burn down y las tareas imprevistas o impedimentos.</p>
<p>Finalmente, para reforzar la comunicación cara a cara del equipo, scrum propone 4 tipos de reuniones o ceremonias.</p>
<p><strong>Planificación de Scrum</strong><br />
Esta reunión se realiza al comienzo de una iteración y en ella el equipo debe seleccionar del Product Backlog las tareas que se realizaran en el siguiente Sprint y añadirlas al Sprint Backlog. Las tareas deben seleccionarse en función de su prioridad y el valor que aporten al negocio y posteriomente estimarlas para intentar predecir cuanto trabajo será posible sacar adelante en la siguiente iteración.</p>
<p><strong>Daily Scrum</strong><br />
Se realiza todos los días a la misma hora en el mismo lugar y todos los miembros del equipo deben permanecer de pie durante el tiempo que dure la reunión que no debe sobre pasar los 15 min. Pueden asistir todas las personas involucradas pero sólo pueden hablar los <em>cerdos</em>. Durante la reunión el Scrum Master pregunta a cada miembro del equipo qué hizo durante el día anterior, qué va a hacer ese día y si ha tenido algún impedimento para alcanzar su objetivo.</p>
<p><strong>Revisión de Sprint</strong><br />
En las reuniones de revisión de Sprint se revisa el trabajo planificado y se presenta a los interesados en forma de demo.</p>
<p><strong>Retrospectiva</strong><br />
Al final de cada iteración el equipo de trabajo se reúnen para discutir sus impresiones sobre el Sprint anterior y para proponer mejoras que puedan aumentar el rendimiento del equipo.</p>
<p>Además de todo lo anterior existen otra serie de herramientas que un equipo de desarrollo ágil pueden incorporar para mejorar su productividad. Las habituales suelen ser:</p>
<ul>
<li>Test Driven Development.</li>
<li>Test de aceptación.</li>
<li>Integración Continua.</li>
<li>Refactoring.</li>
<li>Pair Programming.</li>
</ul>
<p>Al final lo más importante es encontrar la metodología con la que el equipo se encuentre más cómodo y que les permita ser más productivos, realizar el máximo número de tareas posible y ser capaces de corregir errores e incorporar cambios durante el desarrollo del producto, para que finalmente el cliente obtenga el producto que mejor se ajuste a sus necesidades.</p>
<br />Filed under: <a href='http://arctarus.wordpress.com/category/metodologias/'>metodologías</a> Tagged: <a href='http://arctarus.wordpress.com/tag/agil/'>agil</a>, <a href='http://arctarus.wordpress.com/tag/agile/'>agile</a>, <a href='http://arctarus.wordpress.com/tag/manifesto/'>manifesto</a>, <a href='http://arctarus.wordpress.com/tag/project-management/'>project-management</a>, <a href='http://arctarus.wordpress.com/tag/scrum/'>scrum</a>, <a href='http://arctarus.wordpress.com/tag/software-development/'>software development</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arctarus.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arctarus.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arctarus.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arctarus.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arctarus.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arctarus.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arctarus.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arctarus.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arctarus.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arctarus.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arctarus.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arctarus.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arctarus.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arctarus.wordpress.com/461/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arctarus.wordpress.com&amp;blog=89101&amp;post=461&amp;subd=arctarus&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arctarus.wordpress.com/2011/05/26/siendo-mas-productivo-con-scrum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25158892d0ec54b50428215972020f95?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">arctarus</media:title>
		</media:content>

		<media:content url="http://arctarus.files.wordpress.com/2011/05/cerdos-gallinas.jpg" medium="image">
			<media:title type="html">cerdos-gallinas</media:title>
		</media:content>
	</item>
		<item>
		<title>Extendiendo FormBuilder para añadir nuevos helpers personalizados</title>
		<link>http://arctarus.wordpress.com/2011/03/01/extendiendo-formbuilder-para-anadir-nuevos-helpers-personalizados/</link>
		<comments>http://arctarus.wordpress.com/2011/03/01/extendiendo-formbuilder-para-anadir-nuevos-helpers-personalizados/#comments</comments>
		<pubDate>Tue, 01 Mar 2011 12:49:18 +0000</pubDate>
		<dc:creator>arctarus</dc:creator>
				<category><![CDATA[rails]]></category>
		<category><![CDATA[custom]]></category>
		<category><![CDATA[error messages]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[FormBuilder]]></category>
		<category><![CDATA[helpers]]></category>

		<guid isPermaLink="false">http://arctarus.wordpress.com/?p=424</guid>
		<description><![CDATA[A la hora de hacer nuevos formularios en rails siempre había echado de menos algún helper que te ayudara a incluir los típicos mensajes de error junto al campo al que se refieren para contextualizar cada uno de los mensajes, &#8230; <a href="http://arctarus.wordpress.com/2011/03/01/extendiendo-formbuilder-para-anadir-nuevos-helpers-personalizados/">Sigue leyendo <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arctarus.wordpress.com&amp;blog=89101&amp;post=424&amp;subd=arctarus&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A la hora de hacer nuevos formularios en rails siempre había echado de menos algún helper que te ayudara a incluir los típicos mensajes de error junto al campo al que se refieren para contextualizar cada uno de los mensajes, en lugar de que aparezcan todos listados en la cabecera del formulario.</p>
<p>La idea fundamental de lo que pretendía conseguir es la siguiente:<br />
<a href="http://arctarus.files.wordpress.com/2011/03/form_error1.png"><img class="aligncenter size-full wp-image-429" title="ejemplo de errores en campos de formulario" src="http://arctarus.files.wordpress.com/2011/03/form_error1.png?w=560&#038;h=251" alt="ejemplo de errores en campos de formulario" width="560" height="251" /></a></p>
<p>Todo esto usando para ello un helper de FormBuilder para que el objeto concreto quede implícito y que el código resultante (en haml) nos quede como el siguiente:</p>
<pre style="overflow:auto;">= form_for @user do |form|
   .field
      = form.label :name
      = form.error :p, :name
      = form.text:field :name</pre>
<p>El primer parámetro indica el tag html que queremos usar como contenedor del error, y el segundo en atributo del modelo que debemos comprobar. Además, al tag contenedor le añadiremos la clase &#8220;error&#8221; de css para luego poder darle algunos estilos.</p>
<p>Tras dar algunas vueltas googleando me dí cuenta de que crear un nuevo helper no era tarea demasiado complicada, así que le eché un ojo a <a href="https://github.com/rails/rails/blob/master/actionpack/lib/action_view/helpers/form_helper.rb">FormHelper</a> y observé que está dividido en tres partes principales:</p>
<ol>
<li>El modulo FormHelper, que encapsula a todos los helpers de formularios.</li>
<li>La clase FormBuilder, que es el resultado de usar el helper form_for y que contiene una instancia del objeto al que se refiere el formulario. Tiene métodos internos con el mismo nombre que los helpers que hacen uso de estos.</li>
<li>La clase InstanceTag, que  es la encargada de generar el código para cada uno de los tags html. Es llamada desde los helpers.</li>
</ol>
<p>Finalmente, adaptando un poco el código de otros helpers en el mismo fichero, el resultado fue:</p>
<pre style="overflow:auto;">module ActionView
  module Helpers
    module FormHelper
      def error(object_name, tag_name, method, options = {})
        InstanceTag.new(object_name, method, self, options.delete(:object)).to_error_tag(tag_name)
      end
    end

    class InstanceTag
      def to_error_tag(tag_name)
      	unless @object.errors[@method_name].blank?
      	  content_tag tag_name, @object.errors[@method_name].first, :class =&gt; :error
      	end
      end
    end

    class FormBuilder
      def error(tag_name, method, options = {})
        @template.error(@object_name, tag_name, method, objectify_options(options))
      end
    end
  end
end</pre>
<p>Que también se puede ver en <a title="extendiendo FormBuilder para añadir helpers personalizados" href="https://gist.github.com/849052">su gist correspondiente</a>.</p>
<p>&nbsp;</p>
<p><strong>Actualización 22 de Marzo de 2011:</strong></p>
<p>Otra forma de <a href="http://guides.rubyonrails.org/active_record_validations_callbacks.html#customizing-the-error-messages-html">personalizar los mensajes de error de los formularios en rails</a>, que acabo de ver en la guía de rails y que ya no recordaba, es usando ActionView::Base.field_error_proc. Simplemente se necesita asignarle un nuevo Proc que reciba el tag html y una instancia del modelo y listo. Podemos devolver lo que deseemos.</p>
<br />Filed under: <a href='http://arctarus.wordpress.com/category/rails/'>rails</a> Tagged: <a href='http://arctarus.wordpress.com/tag/custom/'>custom</a>, <a href='http://arctarus.wordpress.com/tag/error-messages/'>error messages</a>, <a href='http://arctarus.wordpress.com/tag/form/'>form</a>, <a href='http://arctarus.wordpress.com/tag/formbuilder/'>FormBuilder</a>, <a href='http://arctarus.wordpress.com/tag/helpers/'>helpers</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arctarus.wordpress.com/424/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arctarus.wordpress.com/424/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arctarus.wordpress.com/424/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arctarus.wordpress.com/424/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arctarus.wordpress.com/424/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arctarus.wordpress.com/424/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arctarus.wordpress.com/424/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arctarus.wordpress.com/424/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arctarus.wordpress.com/424/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arctarus.wordpress.com/424/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arctarus.wordpress.com/424/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arctarus.wordpress.com/424/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arctarus.wordpress.com/424/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arctarus.wordpress.com/424/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arctarus.wordpress.com&amp;blog=89101&amp;post=424&amp;subd=arctarus&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arctarus.wordpress.com/2011/03/01/extendiendo-formbuilder-para-anadir-nuevos-helpers-personalizados/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25158892d0ec54b50428215972020f95?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">arctarus</media:title>
		</media:content>

		<media:content url="http://arctarus.files.wordpress.com/2011/03/form_error1.png" medium="image">
			<media:title type="html">ejemplo de errores en campos de formulario</media:title>
		</media:content>
	</item>
		<item>
		<title>HTML5 &amp; CSS3</title>
		<link>http://arctarus.wordpress.com/2011/02/18/html5-css3/</link>
		<comments>http://arctarus.wordpress.com/2011/02/18/html5-css3/#comments</comments>
		<pubDate>Fri, 18 Feb 2011 13:00:52 +0000</pubDate>
		<dc:creator>arctarus</dc:creator>
				<category><![CDATA[libros]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://arctarus.wordpress.com/?p=376</guid>
		<description><![CDATA[En estos momentos en los que los fabricantes de navegadores compiten para ver cuál es el más &#8220;moderno&#8221; y que cada vez parece que tenemos más cerca la publicación del nuevo estándar de html los desarrolladores web debemos ponernos al &#8230; <a href="http://arctarus.wordpress.com/2011/02/18/html5-css3/">Sigue leyendo <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arctarus.wordpress.com&amp;blog=89101&amp;post=376&amp;subd=arctarus&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>En estos momentos en los que <a href="http://people.mozilla.com/~prouget/ie9/">los fabricantes de navegadores compiten</a> para ver cuál <a href="http://blogs.msdn.com/b/tims/archive/2011/02/15/a-modern-browser.aspx">es el más &#8220;moderno&#8221;</a> y que cada vez parece que tenemos más cerca la publicación del <a title="An HTML5 Logo" href="http://www.w3.org/QA/2011/01/an_html5_logo.html">nuevo estándar de html</a> los desarrolladores web debemos ponernos al día y comenzar a implementar los nuevos estándares en nuestras webs. Para ello es importante tener a mano algunas <a href="http://diveintohtml5.org">buenas guías</a>, <a title="conoce html5 y css3" href="http://www.slideshare.net/Martulina/conoce-html5-y-css3-6893390">presentaciones</a> y algún libro que nos ayuden a mejorar nuestras webs mientras siguen funcionando en los navegadores más antiguos (lease IE6).</p>
<p><a href="http://arctarus.files.wordpress.com/2011/02/bhh5.jpg"><img class="alignright size-full wp-image-377" title="bhh5" src="http://arctarus.files.wordpress.com/2011/02/bhh5.jpg?w=190&#038;h=228" alt="" width="190" height="228" /></a><a href="http://pragprog.com/titles/bhh5/html5-and-css3">HTML5 and CSS3</a> de <a href="http://www.bphogan.com/">Brian P. Hogan</a> hace un recorrido por el nuevo estándar dando para cada caso ejemplos de uso y soluciones alternativas (normalmente basadas en <a href="http://jquery.com/">jQuery</a>) que nos permitan usarlas en navegadores que actualmente no tienen suporte para ellas.</p>
<p>Haciendo un repaso rápido de los temas que se tocan en el libro y que forman parte de HTML5:</p>
<p><strong>Nuevos elementos estructurales</strong>: Para hacer nuestros documentos más semánticos se han incorporado muchas etiquetas nuevas y se han eliminado muchas otras que aún seguían haciendo referencia a presentación. Algunas de estas nuevas etiquetas son header, footer, nav, section, article.</p>
<p><strong>Web forms</strong>: Una de mis partes preferidas son los nuevos campos para formularios que nos van a ahorrar gran cantidad de javascript y nos va a permitir crear formularios muy complejos de una manera muy sencilla. Algunos de los nuevos elementos son: email, search, slider(type=range), date, color, number. Además se han añadido attributos muy interesantes como placeholder, autofocus y contenteditable.</p>
<p><strong>CSS3</strong>: Para permitirnos mejorar visualmente nuestras webs sin necesidad de añadir clases o ids a cada elemento se han añadido montones de selectores y pseudo-selectores, entre ellos destacaría :nth-child(n) que nos permite crear tablas cebreadas sin necesidad de añadir las típicas clases <em>odd</em> y <em>even</em>.</p>
<p><strong>Canvas</strong>: Nos permite crear imágenes complejas o gráficos programaticamente con javascript y sin necesidad de liberías externas como Flash.</p>
<p><strong>Audio y video</strong>: Una de las características más conocidas es la inclusión de las etiquetas para audio y video que nos darán soporte nativo en el navegador, después, por supuesto, de que se resuelva la<a title="Chrome abandona el formato H.264 para vídeos" href="http://www.elpais.com/articulo/tecnologia/Chrome/abandona/formato/H/264/videos/elpeputec/20110112elpeputec_4/Tes"> batalla sobre formatos</a> que hay abierta entre los distintos navegadores.</p>
<p><strong>Eye Candy</strong> (border-radius, shadows, gradients y transformations): Por supuesto, también se hablan de las nuevas propiedades de CSS que nos va a permitir crear bordes redondeados, sombras, gradientes y mucho más sin necesidad de añadir imágenes como fondos.</p>
<p>Por otro lado, se encuentran algunas API&#8217;s javascript que aunque no pertenecen directamente al estándar, está asociadas al él y que habrá que tener en cuenta en el futuro. Las más destacadas son:</p>
<p><strong>Local Storage</strong>: Que nos permite guardar cosas como la configuración de la aplicación sin necesidad de usar para ello cookies.</p>
<p><strong>Session Storage</strong>: Que permite guardar datos en el navegador que se borran automáticamente al cerrar la sesión.</p>
<p><strong>Web SQL databases</strong>: Bases de datos relacionales asociadas a un dominio y persistente entre sesiones.</p>
<p><strong>Offline applications</strong>: Permite definir archivos que deben ser cacheados para que la aplicación pueda ejecutarse sin necesidad de conexión a internet.</p>
<p><strong>History</strong>: Permite manejar el historial del navegador.</p>
<p><strong>Cross-documents messages</strong>: Nos da la posibilidad de enviar mensajes entre ventanas con contenido cargado desde diferentes dominios.</p>
<p><strong>Websockets</strong>: Crean una conexión con estado entre un navegador y un servidor.</p>
<p><strong>Geolocation</strong>: Permite obtener la latitud y la longitud de un navegador web.</p>
<p>Por otro lado, existen otro montón de tecnologías que aún no se encuentran suficientemente maduras para usar en ningún navegador y por las cuales todavía tendremos que esperar un tiempo. Entre ellas se encuentran las siguientes:</p>
<p><strong>CSS3 Transitions</strong>: Animaciones sobre interacciones directamente en CSS.<strong><br />
</strong></p>
<p><a href="http://arctarus.wordpress.com/2009/07/12/web-workers/"><strong>WebWorkers</strong></a>: Ejecución de javascript en segundo plano.<strong><br />
</strong></p>
<p><strong>3D canvas con WebGL</strong>: Creación de imágenes 3D sobre el objeto canvas.</p>
<p><strong>IndexedDB</strong>: Bases de datos de tipo clave/valor en el navegador similares a las NoSQL.</p>
<p><strong>Drag &amp; Drop</strong>: Api para arrastrar y soltar elementos entre el sistema operativo y el navegador.</p>
<p><strong>Client-side form validations</strong>: Validaciones de formularios en el navegador sin usar javascript.</p>
<p>En resumen, nos esperan unos años muy prometedores en lo que ha desarrollo web se refiere con montones de tecnologías nuevas que vienen a facilitarnos el trabajo y a abrirnos un montón de posibilidades nuevas. Creo que es importante que comencemos a usar esas tecnologías desde ya para que los usuarios más avanzados puedan comenzar a beneficiarse de ellas, sin dejar de lado a los usuarios de navegadores sin soporte, y para que cuando llegue el resto de usuarios todas esas tecnologías se encuentren maduras y todos podamos disfrutar de una web mejor.</p>
<br />Filed under: <a href='http://arctarus.wordpress.com/category/libros/'>libros</a> Tagged: <a href='http://arctarus.wordpress.com/tag/css3/'>css3</a>, <a href='http://arctarus.wordpress.com/tag/front-end/'>front-end</a>, <a href='http://arctarus.wordpress.com/tag/html5/'>html5</a>, <a href='http://arctarus.wordpress.com/tag/javascript/'>javascript</a>, <a href='http://arctarus.wordpress.com/tag/jquery/'>jquery</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arctarus.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arctarus.wordpress.com/376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arctarus.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arctarus.wordpress.com/376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arctarus.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arctarus.wordpress.com/376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arctarus.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arctarus.wordpress.com/376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arctarus.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arctarus.wordpress.com/376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arctarus.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arctarus.wordpress.com/376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arctarus.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arctarus.wordpress.com/376/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arctarus.wordpress.com&amp;blog=89101&amp;post=376&amp;subd=arctarus&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arctarus.wordpress.com/2011/02/18/html5-css3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25158892d0ec54b50428215972020f95?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">arctarus</media:title>
		</media:content>

		<media:content url="http://arctarus.files.wordpress.com/2011/02/bhh5.jpg" medium="image">
			<media:title type="html">bhh5</media:title>
		</media:content>
	</item>
		<item>
		<title>¿Qué hace a un buen programador?</title>
		<link>http://arctarus.wordpress.com/2011/02/11/%c2%bfque-hace-a-un-buen-programador/</link>
		<comments>http://arctarus.wordpress.com/2011/02/11/%c2%bfque-hace-a-un-buen-programador/#comments</comments>
		<pubDate>Fri, 11 Feb 2011 17:22:36 +0000</pubDate>
		<dc:creator>arctarus</dc:creator>
				<category><![CDATA[programación]]></category>
		<category><![CDATA[bueno]]></category>
		<category><![CDATA[cualidades]]></category>
		<category><![CDATA[practico]]></category>
		<category><![CDATA[programador]]></category>
		<category><![CDATA[programar]]></category>

		<guid isPermaLink="false">http://arctarus.wordpress.com/?p=339</guid>
		<description><![CDATA[Pensando sobre las cualidades que debe tener un buen programador, y para que se me quede bien grabado, según Andrew Hunt y David Thomas en su libro The pragmatic programer, todos los programadores deben compartir las siguientes cualidades. adoptador precoz &#8230; <a href="http://arctarus.wordpress.com/2011/02/11/%c2%bfque-hace-a-un-buen-programador/">Sigue leyendo <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arctarus.wordpress.com&amp;blog=89101&amp;post=339&amp;subd=arctarus&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Pensando sobre las cualidades que debe tener un buen programador, y para que se me quede bien grabado, según <a title="Andy Hunt Blog" href="http://blog.toolshed.com/">Andrew Hunt</a> y <a title="Dave Thomas Blog" href="http://pragdave.pragprog.com/pragdave/">David Thomas</a> en su libro <a href="http://en.wikipedia.org/wiki/The_Pragmatic_Programmer">The pragmatic programer</a>, todos los programadores deben compartir las siguientes cualidades.</p>
<p><strong>adoptador precoz / adaptador veloz</strong>: Instinto para probar nuevas tecnologías y técnicas, y para adaptarlas rápidamente al resto de su conocimiento.</p>
<p><strong>inquisitivo</strong>: Tendencia a preguntarse cómo funcionan las cosas, lo que puede afectar a sus decisiones futuras.</p>
<p><strong>pensador crítico</strong>: Siempre se pregunta por qué las cosas se hacen cómo se hacen y rara vez se conforma con aceptarlas tal cual.</p>
<p><strong>realista</strong>: Intenta entender la naturaleza de cada problema al que se enfrenta, lo que le permite afrontar los problemas sabiendo cómo de dificiles y cuánto tiempo pueden tomar.</p>
<p><strong>hombre orquesta</strong>: Se interesa por un amplio espectro de tecnologías, y aunque su trabajo requiera ser un especialista, siempre será capaz de afrontar nuevos retos.</p>
<p>Todas estas características no serían nada sin la más importante.</p>
<p style="text-align:center;"><strong>Piensa en tu trabajo</strong></p>
<p>Para completar la lista dejo la guía para programadores pragmáticos que se encuentra al final del libro <a href="http://www.codinghorror.com/blog/files/Pragmatic%20Quick%20Reference.htm">Referencia rápida para desarrolladores pragmaticos</a>.</p>
<br />Filed under: <a href='http://arctarus.wordpress.com/category/programacion/'>programación</a> Tagged: <a href='http://arctarus.wordpress.com/tag/bueno/'>bueno</a>, <a href='http://arctarus.wordpress.com/tag/cualidades/'>cualidades</a>, <a href='http://arctarus.wordpress.com/tag/practico/'>practico</a>, <a href='http://arctarus.wordpress.com/tag/programador/'>programador</a>, <a href='http://arctarus.wordpress.com/tag/programar/'>programar</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arctarus.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arctarus.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arctarus.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arctarus.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arctarus.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arctarus.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arctarus.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arctarus.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arctarus.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arctarus.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arctarus.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arctarus.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arctarus.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arctarus.wordpress.com/339/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arctarus.wordpress.com&amp;blog=89101&amp;post=339&amp;subd=arctarus&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arctarus.wordpress.com/2011/02/11/%c2%bfque-hace-a-un-buen-programador/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25158892d0ec54b50428215972020f95?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">arctarus</media:title>
		</media:content>
	</item>
		<item>
		<title>The RSpec Book 2</title>
		<link>http://arctarus.wordpress.com/2011/02/01/the-rspec-book-2/</link>
		<comments>http://arctarus.wordpress.com/2011/02/01/the-rspec-book-2/#comments</comments>
		<pubDate>Tue, 01 Feb 2011 20:23:15 +0000</pubDate>
		<dc:creator>arctarus</dc:creator>
				<category><![CDATA[libros]]></category>
		<category><![CDATA[bdd]]></category>
		<category><![CDATA[cucumber]]></category>
		<category><![CDATA[rspec]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://arctarus.wordpress.com/?p=305</guid>
		<description><![CDATA[Con motivo de la reciente publicación de RSpec 2 y la correspondiente reedición de The RSpec Book de David Chelimsky, estos días he estado repansando un poco de Behaviour Driven Development o BDD. El libro está dividido en 5 partes fundamentales. En &#8230; <a href="http://arctarus.wordpress.com/2011/02/01/the-rspec-book-2/">Sigue leyendo <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arctarus.wordpress.com&amp;blog=89101&amp;post=305&amp;subd=arctarus&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Con motivo de la reciente publicación de <a href="https://github.com/rspec">RSpec 2</a> y la correspondiente reedición de <a href="http://www.pragprog.com/titles/achbd/the-rspec-book">The RSpec Book</a> de <a href="http://davidchelimsky.net/">David Chelimsky</a>, estos días he estado repansando un poco de <a href="http://en.wikipedia.org/wiki/Behavior_Driven_Development">Behaviour Driven Development</a> o BDD.</p>
<p><a title="The RSpec Book" href="http://www.pragprog.com/titles/achbd/the-rspec-book"><img class="alignright size-full wp-image-306" title="The RSpec Book" src="http://arctarus.files.wordpress.com/2011/02/the-rspec-book.jpg?w=190&#038;h=228" alt="The RSpec Book: Behaviour-Driven Development with RSpec, Cucumber, and Friends" width="190" height="228" /></a></p>
<p>El libro está dividido en 5 partes fundamentales.</p>
<p>En primer lugar un ejemplo práctico de uso de RSpec y <a href="http://cukes.info">Cucumber</a> en el que se desarrolla un pequeño juego llamado Codebreaker, donde el usuario debe adivinar un número secreto, y que nos familiariza con el ciclo básico del BDD: red, green, refactor.</p>
<p>La segunda parte está dedicada exclusivamente al BDD, y se centra en explicar por qué los proyectos tradicionales fallan y qué aporta dicha metodología para evitar esos errores.</p>
<p>La tercera parte nos introduce en RSpec y da un repaso completo a la librería: cómo definer expects, el uso de mocks y stubs para aislar cada test y por último cómo extenderla a través de macros o custom matchers entre otros.</p>
<p>La cuarta parte se centra en Cucumber y en cómo escribir requisitos usando <a href="https://github.com/aslakhellesoy/cucumber/wiki/Gherkin">Gherkin</a>, cómo definir escenarios y cómo implementar cada uno de los pasos. Sin embargo, he de confesar que este apartado me lo leí un poco más por encima ya que en <a href="http://qoolife.com">Qoolife</a> hemos reemplazado Cucumber por <a href="https://github.com/cavalle/steak">Steak</a> para hacer los test de aceptación. La razón fundamental es que ya que el producto lo estamos desarrollando en casa, y que todos los que vamos a escribir / leer las historias de usuarios conocemos ruby, eliminamos la capa de definición de los requisitos en lenguaje natural y pasamos directamente a implementarlas usando RSpec y <a href="https://github.com/jnicklas/capybara">Capybara</a>.</p>
<p>En la quinta y última parte se hace un repaso a la integración con rails, desde la definición de features, pasando por distintas opciones que existe para simular el navegador usando Webrat y Selenium y acabando en cada una de las capas del MVC: vista, controlador y finalmente los modelos.</p>
<p>En resumen, un libro muy recomendable para todos aquellos interesados en ponerse al día en lo que a Behaviour Driven Development se refiere, y para los que deseen utilizar RSpec y/o Cucumber como herramienta de testing en particular.</p>
<br />Filed under: <a href='http://arctarus.wordpress.com/category/libros/'>libros</a> Tagged: <a href='http://arctarus.wordpress.com/tag/bdd/'>bdd</a>, <a href='http://arctarus.wordpress.com/tag/cucumber/'>cucumber</a>, <a href='http://arctarus.wordpress.com/tag/rspec/'>rspec</a>, <a href='http://arctarus.wordpress.com/tag/testing/'>testing</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arctarus.wordpress.com/305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arctarus.wordpress.com/305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arctarus.wordpress.com/305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arctarus.wordpress.com/305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arctarus.wordpress.com/305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arctarus.wordpress.com/305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arctarus.wordpress.com/305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arctarus.wordpress.com/305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arctarus.wordpress.com/305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arctarus.wordpress.com/305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arctarus.wordpress.com/305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arctarus.wordpress.com/305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arctarus.wordpress.com/305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arctarus.wordpress.com/305/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arctarus.wordpress.com&amp;blog=89101&amp;post=305&amp;subd=arctarus&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arctarus.wordpress.com/2011/02/01/the-rspec-book-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25158892d0ec54b50428215972020f95?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">arctarus</media:title>
		</media:content>

		<media:content url="http://arctarus.files.wordpress.com/2011/02/the-rspec-book.jpg" medium="image">
			<media:title type="html">The RSpec Book</media:title>
		</media:content>
	</item>
		<item>
		<title>Teambox publica su versión 3.0</title>
		<link>http://arctarus.wordpress.com/2011/01/20/teambox-publica-su-version-3-0/</link>
		<comments>http://arctarus.wordpress.com/2011/01/20/teambox-publica-su-version-3-0/#comments</comments>
		<pubDate>Thu, 20 Jan 2011 10:04:15 +0000</pubDate>
		<dc:creator>arctarus</dc:creator>
				<category><![CDATA[software libre]]></category>
		<category><![CDATA[project-management]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[teambox]]></category>

		<guid isPermaLink="false">http://arctarus.wordpress.com/?p=290</guid>
		<description><![CDATA[Para quienes no lo conozcan, Teambox es un proyecto de software libre español liderado por Pablo Villalba basado en Ruby On Rails que trata de desbancar como gestor de proyectos a otras aplicaciones tan conocidas internacionalmente como Basecamp o Redmine. &#8230; <a href="http://arctarus.wordpress.com/2011/01/20/teambox-publica-su-version-3-0/">Sigue leyendo <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arctarus.wordpress.com&amp;blog=89101&amp;post=290&amp;subd=arctarus&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Para quienes no lo conozcan, <a title="Teambox - Collaboration Software" href="https://teambox.com/">Teambox</a> es un proyecto de software libre español liderado por <a href="https://teambox.com/about">Pablo Villalba</a> basado en <a title="Web development that doesn't hurt" href="http://rubyonrails.org/">Ruby On Rails</a> que trata de desbancar como gestor de proyectos a otras aplicaciones tan conocidas internacionalmente como <a href="http://basecamphq.com/">Basecamp</a> o <a href="http://www.redmine.org/">Redmine</a>. Ya ha recibido <a href="http://lifehacker.com/5734265/top-10-clever-uses-for-the-cloud?skyline=true&amp;s=i">numerosos reconocimientos</a> por la crítica especializada y para mi representa un ejemplo de como en España también tenemos profesionales del más alto nivel capaces de competir internacionalmente.</p>
<p style="text-align:left;">Ayer <a href="http://blog.teambox.com/about-to-deploy-teambox3">publicaron su versión 3.0</a> y entre las novedades más destacadas se encuentran la actualización de la plataforma a la versión 3.0 de Ruby On Rails, lo que les permitirá usar los desarrollos más novedosos de la vibrante comunidad rails; y la renovación de la navegación de la aplicación que toma más protagonismo situándose a la derecha de la pantalla.</p>
<p style="text-align:center;"><a href="http://arctarus.files.wordpress.com/2011/01/pantallazo1.png"><a href="http://arctarus.files.wordpress.com/2011/01/pantallazo-1.png"><img class="aligncenter size-full wp-image-301" title="Teambox 3.0" src="http://arctarus.files.wordpress.com/2011/01/pantallazo-1.png?w=500&#038;h=320" alt="" width="500" height="320" /></a><br />
</a></p>
<p style="text-align:left;">Muchas felicidades al equipo de Teambox y gracias por esta gran aplicación.</p>
<br />Filed under: <a href='http://arctarus.wordpress.com/category/software-libre/'>software libre</a> Tagged: <a href='http://arctarus.wordpress.com/tag/project-management/'>project-management</a>, <a href='http://arctarus.wordpress.com/tag/rails/'>rails</a>, <a href='http://arctarus.wordpress.com/tag/teambox/'>teambox</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arctarus.wordpress.com/290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arctarus.wordpress.com/290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arctarus.wordpress.com/290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arctarus.wordpress.com/290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arctarus.wordpress.com/290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arctarus.wordpress.com/290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arctarus.wordpress.com/290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arctarus.wordpress.com/290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arctarus.wordpress.com/290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arctarus.wordpress.com/290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arctarus.wordpress.com/290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arctarus.wordpress.com/290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arctarus.wordpress.com/290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arctarus.wordpress.com/290/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arctarus.wordpress.com&amp;blog=89101&amp;post=290&amp;subd=arctarus&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arctarus.wordpress.com/2011/01/20/teambox-publica-su-version-3-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25158892d0ec54b50428215972020f95?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">arctarus</media:title>
		</media:content>

		<media:content url="http://arctarus.files.wordpress.com/2011/01/pantallazo-1.png" medium="image">
			<media:title type="html">Teambox 3.0</media:title>
		</media:content>
	</item>
		<item>
		<title>rezets.com ve la luz</title>
		<link>http://arctarus.wordpress.com/2009/10/06/rezets-com-ve-la-luz/</link>
		<comments>http://arctarus.wordpress.com/2009/10/06/rezets-com-ve-la-luz/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 21:26:25 +0000</pubDate>
		<dc:creator>arctarus</dc:creator>
				<category><![CDATA[proyectos]]></category>
		<category><![CDATA[cocina]]></category>
		<category><![CDATA[compartir]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[recetas]]></category>
		<category><![CDATA[rezets]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://arctarus.wordpress.com/?p=253</guid>
		<description><![CDATA[Después de un mes de agosto intenso, por fin, hace un par de semanas rezets.com se puso en marcha, de momento con más ilusión que otra cosa. Aquellos que me conocen sabrán de sobra que era una idea que me &#8230; <a href="http://arctarus.wordpress.com/2009/10/06/rezets-com-ve-la-luz/">Sigue leyendo <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arctarus.wordpress.com&amp;blog=89101&amp;post=253&amp;subd=arctarus&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Después de un mes de agosto intenso, por fin, hace un par de semanas <a href="http://www.rezets.com" title="comparte tus recetas">rezets.com</a> se puso en marcha, de momento con más ilusión que otra cosa.</p>
<p>Aquellos que me conocen sabrán de sobra que era una idea que me rondaba la cabeza desde hace bastante tiempo, y después de algún intento de llevarlo a cabo, por fin, a finales de junio decidí ver que era capaz de hacer en una semana de vacaciones y un mes de jornada intensiva aprovechando al máximo las calurosas tardes de agosto.</p>
<p>Y después de pelearme mucho con <a href="http://rubyonrails.org/">rails</a>, con <a href="http://apache.org/">apache</a>, con <a href="http://www.modrails.com/">passenger</a> y con un millón de historias más, hace unas semanas decidí subir todo al servidor de producción, y es que una vez acabada la jornada intensiva el tiempo que le puedo dedicar a este proyecto se ha reducido considerablemente. Aún así me parecía una tontería guardar ese código en el cajón e hice de tripas corazón.</p>
<p>Soy consciente de que aún tiene un montón de defectos y carencias (algunas más evidentes que otras), pero creo que ya he conseguido un par de cosas de las que sentirme orgulloso, como por ejemplo un <a href="http://www.rezets.com/users/arctarus/recipes/11-lomo-de-cerdo-en-salsa-de-cebolletas">lomo de cerdo con salsa de cebolletas</a>, y una <a href="http://www.rezets.com/users/arctarus/recipes/6-paella-sencilla">paella</a> espectaculares. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Por ahora la funcionalidad de la web es muy sencilla: crear recetas nuevas, y verlas clasificadas por categorías, pero creo que por ahora debo centrarme en esa funcionalidad hasta que haya conseguido algo que realmente mejore la forma más habitual en que la gente sube sus recetas a internet: los blogs. Por eso voy a mantener la web cerrada a las nuevas altas durante una temporada para poder ir mejorando la web poco a poco con unos pocos usuarios de confianza, pero atenderé cualquier solicitud de usuario nuevo con mucho gusto.</p>
<p>Finalmente me gustaría agradecer a toda la gente que se ha dado de alta, y que pacientemente ha ido subiendo recetas, y todos los consejos recibidos por todos ellos.</p>
<p>¡Muchas gracias a todos!</p>
<div style="text-align:center;">
<a href="http://www.dosisdiarias.com/2009/09/2009-09-09.html" title="ensalada pixelada de Alberto Montt"><img src="http://1.bp.blogspot.com/_iJayHHFD94E/SqdO2OZnGII/AAAAAAAACTI/uQm5nEf4Bx4/s400/ensaladapixelada.jpg" alt="ensalada pixelada" /></a><br />
Todo sea porque no nos vuelva a pasar cosas como ésta
</div>
<br />Posted in proyectos Tagged: cocina, compartir, rails, recetas, rezets, ruby, web <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arctarus.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arctarus.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arctarus.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arctarus.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arctarus.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arctarus.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arctarus.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arctarus.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arctarus.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arctarus.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arctarus.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arctarus.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arctarus.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arctarus.wordpress.com/253/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arctarus.wordpress.com&amp;blog=89101&amp;post=253&amp;subd=arctarus&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arctarus.wordpress.com/2009/10/06/rezets-com-ve-la-luz/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25158892d0ec54b50428215972020f95?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">arctarus</media:title>
		</media:content>

		<media:content url="http://1.bp.blogspot.com/_iJayHHFD94E/SqdO2OZnGII/AAAAAAAACTI/uQm5nEf4Bx4/s400/ensaladapixelada.jpg" medium="image">
			<media:title type="html">ensalada pixelada</media:title>
		</media:content>
	</item>
		<item>
		<title>Web Workers</title>
		<link>http://arctarus.wordpress.com/2009/07/12/web-workers/</link>
		<comments>http://arctarus.wordpress.com/2009/07/12/web-workers/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 19:04:34 +0000</pubDate>
		<dc:creator>arctarus</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[hilos]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[threads]]></category>
		<category><![CDATA[worker]]></category>

		<guid isPermaLink="false">http://arctarus.wordpress.com/?p=220</guid>
		<description><![CDATA[Una de las características de HTML 5 introducidas en el reciente Firefox 3.5 y que también se encuentra disponible en Safari 4 y Chrome 2 son los web workers. Los workers proveen un mecanismo para poder ejecutar tareas que requieran &#8230; <a href="http://arctarus.wordpress.com/2009/07/12/web-workers/">Sigue leyendo <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arctarus.wordpress.com&amp;blog=89101&amp;post=220&amp;subd=arctarus&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Una de las características de HTML 5 introducidas en el reciente <a href="http://en-us.www.mozilla.com/en-US/firefox/3.5/releasenotes/" title="Firefox 3.5 Release Notes">Firefox 3.5</a> y que también se encuentra disponible en Safari 4 y Chrome 2 son los <a href="https://developer.mozilla.org/En/Using_web_workers" title="Using web workers">web workers</a>. </p>
<p>Los workers proveen un mecanismo para poder ejecutar tareas que requieran mucho tiempo de ejecución en hilos directamente en el sistema operativo sin que bloqueen la interfaz del usuario. Una de sus utilidades principales es la de ejecutar tareas de entrada/salida de datos a través del objeto <a href="http://www.w3.org/TR/XMLHttpRequest/" title="The XMLHttpRequest Object">XMLHttpRequest</a>. </p>
<p>Los web workers se comunican con el proceso principal a través del envío de mensajes a un manejador de eventos especificado por el desarrollador. Estos mensajes pueden contener desde una cadena de caracteres a un objeto complejo. Una característica importante es que no pueden manipular el <abbr title="Document Object Model">DOM</abbr> por lo que si se desea mostrar los datos resultantes de su ejecución es necesarios que estos sean pasados al manejador a través del paso de mensajes.</p>
<p><a href="http://www.flickr.com/photos/dinesh_valke/1081956162/" title="un laborioso trabajador de la red"><img src="http://farm2.static.flickr.com/1325/1081956162_e5f955ff5a.jpg?v=0" alt="Nephila maculata (Orb Web Spider) de dinesh_valke" /></a></p>
<p>Para crear un worker lo único que es necesario es llamar al contructor pasándole como único argumento la URI del script que deberá ejecutar, y definir el manejador del evento onmessage que será el encargado de escribir el resultado en la página.</p>
<p><code class="javascript">
<pre>
var worker = new Worker('worker.js');
worker.onmessage = function(event) {
     print("¡llamada ejecutada al finalizar el worker!\n");
}
</pre>
<p></code></p>
<p>y para detener su ejecución:</p>
<p><code>
<pre>
worker.terminate();
</pre>
<p></code></p>
<p>Posteriormente deberemos implementar lo que hará el worker durante su ejecución en el archivo <em>worker.js</em> de la siguiente manera:</p>
<p><code>
<pre>
onmessage = function(event) {
     var n = calcular();
     postMessage(n);
}
</pre>
<p></code></p>
<p>Al finalizar la ejecución del método <em>calcular</em> el worker enviará un mensaje con el resultado que será recogido por el manejador del evento <em>onmessage</em> definido anteriormente.</p>
<p>El método <em>calcular</em> podría estar definido en otro archivo e importando mediante la función global <em>importScripts(&#8216;calcular.js&#8217;)</em> la cuál descagará y traerá dicha función al ámbito del worker.</p>
<p>Además cada worker puede lanzar tantos otros workers como se desee, lo único a tener en cuenta es que la ruta a el fichero que se le pasa en el constructor se calcula dinámicamente dependiendo de la localización del padre. Esto es muy aconsejable sobre todo en el caso de que el usuario posea un microprocesador con más de un núcleo, ya que el sistema operativo podría repartir los hilos entre estos.</p>
<h3>Referencias</h3>
<ul>
<li><a href="http://www.whatwg.org/specs/web-workers/current-work/">Web Workers</a></li>
<li><a href="https://developer.mozilla.org/En/Using_web_workers">Mozilla Developer Center: Using web workers</a></li>
<li><a href="http://inimino.org/~inimino/blog/3box_web_workers">Using Web Workers</a></li>
</ul>
<br />Posted in javascript Tagged: ajax, hilos, html5, threads, worker <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arctarus.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arctarus.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arctarus.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arctarus.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arctarus.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arctarus.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arctarus.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arctarus.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arctarus.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arctarus.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arctarus.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arctarus.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arctarus.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arctarus.wordpress.com/220/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arctarus.wordpress.com&amp;blog=89101&amp;post=220&amp;subd=arctarus&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arctarus.wordpress.com/2009/07/12/web-workers/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25158892d0ec54b50428215972020f95?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">arctarus</media:title>
		</media:content>

		<media:content url="http://farm2.static.flickr.com/1325/1081956162_e5f955ff5a.jpg?v=0" medium="image">
			<media:title type="html">Nephila maculata (Orb Web Spider) de dinesh_valke</media:title>
		</media:content>
	</item>
	</channel>
</rss>
