<?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/"
	>

<channel>
	<title>Continuum Chile: Agilistas y Desarrolladores Web en Java, Ruby, Rails</title>
	<atom:link href="http://blog.continuum.cl/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.continuum.cl</link>
	<description>..Java, Python, Ruby, Javascript, Ajax, Web 2.0, ESB, SOA...</description>
	<lastBuildDate>Thu, 26 Aug 2010 15:50:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Traducción: Como joder siendo manager de proyectos.</title>
		<link>http://blog.continuum.cl/archives/515</link>
		<comments>http://blog.continuum.cl/archives/515#comments</comments>
		<pubDate>Thu, 26 Aug 2010 15:50:33 +0000</pubDate>
		<dc:creator>jorge.rodriguez</dc:creator>
				<category><![CDATA[Continuum]]></category>
		<category><![CDATA[Misceláneo]]></category>
		<category><![CDATA[Agile]]></category>

		<guid isPermaLink="false">http://blog.continuum.cl/?p=515</guid>
		<description><![CDATA[Lo que sigue es la traducción del post http://blog.brodzinski.com/2010/08/suck-as-project-manager.html (Para que lo usen o lo muestren a los managers de proyectos a los que les dan deseos de agarrar por el cuello a veces, ¿o debo decir siempre?).
&#8212;
Recientemente, respondí una serie de preguntas acerca de los managers de proyectos en una organización que conozco. Una [...]]]></description>
			<content:encoded><![CDATA[<p>Lo que sigue es la traducción del post <a title="Suck as proyect manager." href="http://blog.brodzinski.com/2010/08/suck-as-project-manager.html" target="_blank">http://blog.brodzinski.com/2010/08/suck-as-project-manager.html</a> (Para que lo usen o lo muestren a los managers de proyectos a los que les dan deseos de agarrar por el cuello a veces, ¿o debo decir siempre?).</p>
<p>&#8212;</p>
<p>Recientemente, respondí una serie de preguntas acerca de los managers de proyectos en una organización que conozco. Una de las preguntas fue acerca de la poca importancia que cumple el role de los managers de proyectos allí. <strong>Luego de pensarlo se me ocurrió que son &#8220;Guardianes de los procedimientos&#8221;</strong>.</p>
<p>Lo veo bastante a menudo &#8211; Las personas que se preocupan más de hacer el trabajo según los procedimientos que de hacerlo bien hecho. Si la persona que te viene a la mente es un PM, quien ve el proyecto como una combinación de presupuestos y cartas gantts en vez de personas entonces ya saben a que personalidad me refiero.</p>
<p>La verdad cualquier procedimiento, no solo los relacionados a gerencia de proyectos sino también a desarrollo de software, requieren un esfuerzo significativo. Se necesita una política que asegure una práctica de cumplirlos hasta que la gente se acostumbre. Y si la gente no le ve valor a un procedimiento en específico no lo van a usar nunca. Esta es la razón básica por la que medir el tiempo en desarrollo de software siempre requiere algún tipo de política hasta conseguir que los desarrolladores lo hagan.</p>
<p><strong>Mientras más procedimientos, más tiempo gastado en mantenerlos y menos tiempo gastado en hacer el trabajo real</strong>. Ustedes saben, aquel trabajo que realmente importa y que impulsa el proyecto hacia adelante.</p>
<p>Esto es algo que siempre me ha fascinado &#8211; ¿Como esos guardianes de los procedimientos encuentran tiempo para preocuparse por cada detalle del template del documento? &#8211; ¿Que ven en gastar 1 hora discutiendo un cambio de 5 horas en la estimación de la gantt en una sala con 12 personas más?. Y solo porque este cambio va a hacer que el proyecto se salga del presupuesto. ¿Por qué pelear acerca del calendario inicial es tan importante, a pesar que el alcance del proyecto cambió de manera significativa en el entretiempo?. Y tres veces.</p>
<p>Entonces sí, si lo que tú quieres realmente es joder como manager de proyectos, esta es definitivamente la forma de hacerlo. Debes comenzar a pensar rápidamente acerca de nuevos bellos procedimientos que hagan la vida de los demás más miserables. Después de todo, esa es la forma en que tu vas a demostrar tu poder.</p>
<p>&#8212;</p>
<p>Revisión: <a title="Leo's blog" href="http://blog.leosoto.com" target="_blank">Leo Soto</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.continuum.cl/archives/515/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Depuración remota en servidores Tomcat y Jetty a través de Eclipse</title>
		<link>http://blog.continuum.cl/archives/429</link>
		<comments>http://blog.continuum.cl/archives/429#comments</comments>
		<pubDate>Tue, 13 Jul 2010 18:19:54 +0000</pubDate>
		<dc:creator>Alter Lagos</dc:creator>
				<category><![CDATA[B. Conocimientos]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Jetty]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://blog.continuum.cl/?p=429</guid>
		<description><![CDATA[Depurar, a través de Eclipse, aplicaciones web java es de gran utilidad. Permite visualizar valores de variables en tiempo de ejecución, además de poder trazar exactamente las partes de código por donde corre la aplicación. Para que funcione, Eclipse debe ser el encargado de correr el servidor de aplicaciones que usemos.

Pero que sucede cuando no [...]]]></description>
			<content:encoded><![CDATA[<p>Depurar, a través de Eclipse, aplicaciones web java es de gran utilidad. Permite visualizar valores de variables en tiempo de ejecución, además de poder trazar exactamente las partes de código por donde corre la aplicación. Para que funcione, Eclipse debe ser el encargado de correr el servidor de aplicaciones que usemos.</p>
<p><a href="http://blog.continuum.cl/wp-content/uploads/2010/07/eclipse-debug.png" target="_blank"><img class="size-medium wp-image-483" src="http://blog.continuum.cl/wp-content/uploads/2010/07/eclipse-debug-300x201.png" alt="" width="300" height="201" /></a></p>
<p>Pero que sucede cuando no nos es posible integrar el servidor dentro del IDE, ya sea por que el servidor se encuentre en una máquina distinta a la nuestra o simplemente por que no quieras que Eclipse gestione el servidor.<br />
Para lograr depurar en estos casos, se usa el &#8220;<em>Remote debugging</em>&#8221; o mejor conocida como depuración remota en estos lados del planeta.</p>
<p>Primero que nada, debemos configurar nuestro servidor para habilitar la depuración remota. La magia de esta opción recae en las siguientes líneas:</p>
<pre>-Xdebug
-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n</pre>
<p>Lo escrito en <em>address=8000</em> corresponde al puerto de conexión a usar para depurar, en este caso es el puerto 8000.<br />
Ahora, donde agregar estas líneas, depende de cual sea tu servidor de aplicaciones y de que manera lo inicies. Para este caso detallare como configurar Tomcat y Jetty, los que tienen distintas maneras de configurar, pero al fin y al cabo siempre cumplen el mismo propósito.</p>
<h3>Tomcat</h3>
<p>Se puede cambiar el script de ejecución de tomcat ubicado en:</p>
<p><code>$CATALINA_HOME/bin/catalina.sh</code> (en linux)<br />
<code>$CATALINA_HOME/bin/catalina.bat</code> (en windows)</p>
<p>Luego en este archivo debemos buscar la variable JAVA_OPTS (o crearla en caso de no existir) y agregar la configuración mencionada anteriormente, de tal manera que quede en una sola línea:</p>
<h4>En linux</h4>
<pre>JAVA_OPTS="$JAVA_OPTS "-Xdebug" "-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n</pre>
<h4>En windows</h4>
<pre>set JAVA_OPTS=%JAVA_OPTS% -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n</pre>
<p>&#8220;$JAVA_OPTS &#8221; y %JAVA_OPTS% sirven únicamente para conservar otras opciones de java que se hayan agregado con anterioridad, así no reemplazarlas con nuestros cambios.</p>
<p>Existe un par de opciones extras para windows (si, a veces lamentablemente debes lidiar con el tío Bill). Una de ellas es agregar las opciones a través de la pantalla de propiedades del monitor de tomcat (Esto funciona independiente que tengas o no corriendo tu tomcat como un servicio de windows).</p>
<p><a href="http://blog.continuum.cl/wp-content/uploads/2010/07/config-servicio-tomcat-windows.png" target="_blank"><img class="size-medium wp-image-467" src="http://blog.continuum.cl/wp-content/uploads/2010/07/config-servicio-tomcat-windows-300x290.png" alt="" width="300" height="290" /></a></p>
<p>Aquí se debe poner suma atención a los espacios que puedas poner al fin de cada línea, esta configuración es susceptible a espacios y si encuentra uno demás, no tomará esas opciones como válidas. Para evitarte problemas, copia y pega el código del inicio.</p>
<p>La segunda opción es ir a configurar estos parámetros directamente en el registro de windows, en la ruta:</p>
<p><code>HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\Tomcat6\Parameters\Java</code> (Para tomcat 5 es igual, solo cambiar &#8220;Tomcat6&#8243; por &#8220;Tomcat5&#8243; en ruta del registro)</p>
<p>Luego entras a modificar la clave &#8220;Options&#8221; y agregas las dichosas líneas.</p>
<p><a href="http://blog.continuum.cl/wp-content/uploads/2010/07/config-servicio-tomcat-reg-windows.png" target="_blank"><img class="size-medium wp-image-469" src="http://blog.continuum.cl/wp-content/uploads/2010/07/config-servicio-tomcat-reg-windows-300x187.png" alt="" width="300" height="187" /></a></p>
<h3>Jetty</h3>
<p><strong></strong>En jetty, es necesario pasar los parámetros de configuración al correr el servidor. Para mi lo más simple fue crear un script que ejecute el siguiente comando:</p>
<pre>java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8125,suspend=n -jar start.jar</pre>
<p>Ahora después de todo esto, ¿Como saber que está funcionando?. Simple, al iniciar nuestro servidor de aplicaciones, dependiendo de cual hayas configurado, saldrá algo como lo siguiente:</p>
<h4>Tomcat en windows</h4>
<p><a href="http://blog.continuum.cl/wp-content/uploads/2010/07/consola-tomcat.png" target="_blank"><img class="size-medium wp-image-470" src="http://blog.continuum.cl/wp-content/uploads/2010/07/consola-tomcat-300x93.png" alt="" width="300" height="93" /></a></p>
<h4>Jetty en linux</h4>
<p><a href="http://blog.continuum.cl/wp-content/uploads/2010/07/consola-jetty.png" target="_blank"><img class="size-medium wp-image-479" src="http://blog.continuum.cl/wp-content/uploads/2010/07/consola-jetty-300x68.png" alt="" width="300" height="68" /></a></p>
<p>Si te fijas, en la primera línea sale <code>Listening for transport dt_socket at address: XXXX</code>. Acá indicará cual puerto configuraste para depurar. Si te sale esto, felicidades, has completado la primera parte.</p>
<h3>Eclipse</h3>
<p>Luego por el lado de Eclipse, debemos configurarlo para que pueda conectarse al servidor de aplicaciones. Para esto vamos al ícono de Debug (el del bicho verde) y abrimos la ventana de depuración</p>
<p><a href="http://blog.continuum.cl/wp-content/uploads/2010/07/eclipse-open-debug-dialog.png" target="_blank"><img class="size-medium wp-image-473" src="http://blog.continuum.cl/wp-content/uploads/2010/07/eclipse-open-debug-dialog-300x224.png" alt="" width="300" height="224" /></a></p>
<p>En esta ventana debemos crear una nueva configuración del tipo &#8220;Remote Java Application&#8221;, donde los campos importantes a ingresar son:</p>
<ul>
<li>El proyecto a depurar (obviamente donde se encuentre el código fuente)</li>
<li>Host o dirección ip de la máquina donde corre el servidor</li>
<li>Puerto configurado para depurar</li>
</ul>
<p><a href="http://blog.continuum.cl/wp-content/uploads/2010/07/eclipse-debug-dialog.png" target="_blank"><img class="size-medium wp-image-472" src="http://blog.continuum.cl/wp-content/uploads/2010/07/eclipse-debug-dialog-300x264.png" alt="" width="300" height="264" /></a></p>
<p>Finalmente presionamos &#8220;Debug&#8221; para realizar la conexión al servidor. Si todo resultó como se esperaba, en la vista &#8220;Debug&#8221; de Eclipse, deberá aparecer la conexión ya establecida.</p>
<p><a href="http://blog.continuum.cl/wp-content/uploads/2010/07/eclipse-debug-ok.png" target="_blank"><img class="size-medium wp-image-484" src="http://blog.continuum.cl/wp-content/uploads/2010/07/eclipse-debug-ok-300x53.png" alt="" width="300" height="53" /></a></p>
<p>Terminado esto, ya puedes comenzar a poner breakpoints y depurar tu aplicación.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.continuum.cl/archives/429/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tip: CSS Border-Radius</title>
		<link>http://blog.continuum.cl/archives/500</link>
		<comments>http://blog.continuum.cl/archives/500#comments</comments>
		<pubDate>Thu, 08 Jul 2010 22:05:10 +0000</pubDate>
		<dc:creator>RicarDos</dc:creator>
				<category><![CDATA[Diseño]]></category>
		<category><![CDATA[Tip]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.continuum.cl/?p=500</guid>
		<description><![CDATA[Lamentablemente hasta la fecha aún no existe un acuerdo entre los diferentes navegadores para aceptar el border-radius (uno de los estilos CSS3 más populares) con la misma sintaxis. Entonces cuando queremos usarlo para nuestras páginas tenemos que escribir al menos 3 líneas en nuestro CSS o más dependiendo si queremos solo algunas esquinas redondeadas y [...]]]></description>
			<content:encoded><![CDATA[<p>Lamentablemente hasta la fecha aún no existe un acuerdo entre los diferentes navegadores para aceptar el <strong>border-radius </strong>(uno de los estilos CSS3 más populares) con la misma sintaxis. Entonces cuando queremos usarlo para nuestras páginas tenemos que escribir al menos 3 líneas en nuestro CSS o más dependiendo si queremos solo algunas esquinas redondeadas y otras no. Es por ello que en este sitio <a href="http://border-radius.com/" target="_blank">http://border-radius.com/</a> nos facilitan la vida escribiendo el código por nosotros. Sólo basta poner los pixeles queremos en cada borde y esta aplicación Javascript nos genera el estilo que necesitamos, así evitamos errores y ganamos tiempo.</p>
<p style="text-align: center;"><a href="http://blog.continuum.cl/wp-content/uploads/2010/07/border-radius.png"><img class="aligncenter size-full wp-image-501" title="border-radius.com" src="http://blog.continuum.cl/wp-content/uploads/2010/07/border-radius.png" alt="border-radius.com" width="650" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.continuum.cl/archives/500/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Nombres para Colores HTML</title>
		<link>http://blog.continuum.cl/archives/438</link>
		<comments>http://blog.continuum.cl/archives/438#comments</comments>
		<pubDate>Wed, 30 Jun 2010 19:44:43 +0000</pubDate>
		<dc:creator>RicarDos</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Diseño]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[Citas]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.continuum.cl/?p=438</guid>
		<description><![CDATA[Existe una lista que entrega los nombres para los colores HTML como una alternativa a utilizar su código hexadecimal. Generalmente los más comunes son: red, blue, green, black, white. Sin embargo existe un nombre tal como los recién mencionados para una gama mucho más amplia y son soportados por la mayoría de los navegadores. No [...]]]></description>
			<content:encoded><![CDATA[<p>Existe una lista que entrega los nombres para los colores HTML como una alternativa a utilizar su código hexadecimal. Generalmente los más comunes son: <span style="color: red;">red</span>, <span style="color: blue;">blue</span>, <span style="color: green;">green</span>, <span style="color: black;">black</span>, <span style="color: #ddd;">white</span>. Sin embargo existe un nombre tal como los recién mencionados para una gama mucho más amplia y son soportados por la mayoría de los navegadores. No obstante estos nombres no son validados por la <a href="http://www.w3.org/" target="_blank">W3C</a> en plenitud, limitándose sólo a: aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white, yellow. Por lo tanto si se quiere mantener el código validado es mejor utilizar los colores con su valor hexadecimal. De todas maneras como nunca está demás les comparto dicha lista.</p>
<style type="text/css">
.tablaColores td{ padding:5px;font-familiy: Arial;font-size:12px;}
</style>
<table class="tablaColores" border="0" cellspacing="0" cellpadding="0" width="97%">
<tbody>
<tr>
<td>AliceBlue</td>
<td>#F0F8FF</td>
<td bgcolor="#f0f8ff"></td>
</tr>
<tr>
<td>AntiqueWhite</td>
<td>#FAEBD7</td>
<td bgcolor="#faebd7"></td>
</tr>
<tr>
<td>Aqua</td>
<td>#00FFFF</td>
<td bgcolor="#00ffff"></td>
</tr>
<tr>
<td>Aquamarine</td>
<td>#7FFFD4</td>
<td bgcolor="#7fffd4"></td>
</tr>
<tr>
<td>Azure</td>
<td>#F0FFFF</td>
<td bgcolor="#f0ffff"></td>
</tr>
<tr>
<td>Beige</td>
<td>#F5F5DC</td>
<td bgcolor="#f5f5dc"></td>
</tr>
<tr>
<td>Bisque</td>
<td>#FFE4C4</td>
<td bgcolor="#ffe4c4"></td>
</tr>
<tr>
<td>Black</td>
<td>#000000</td>
<td bgcolor="#000000"></td>
</tr>
<tr>
<td>BlanchedAlmond</td>
<td>#FFEBCD</td>
<td bgcolor="#ffebcd"></td>
</tr>
<tr>
<td>Blue</td>
<td>#0000FF</td>
<td bgcolor="#0000ff"></td>
</tr>
<tr>
<td>BlueViolet</td>
<td>#8A2BE2</td>
<td bgcolor="#8a2be2"></td>
</tr>
<tr>
<td>Brown</td>
<td>#A52A2A</td>
<td bgcolor="#a52a2a"></td>
</tr>
<tr>
<td>BurlyWood</td>
<td>#DEB887</td>
<td bgcolor="#deb887"></td>
</tr>
<tr>
<td>CadetBlue</td>
<td>#5F9EA0</td>
<td bgcolor="#5f9ea0"></td>
</tr>
<tr>
<td>Chartreuse</td>
<td>#7FFF00</td>
<td bgcolor="#7fff00"></td>
</tr>
<tr>
<td>Chocolate</td>
<td>#D2691E</td>
<td bgcolor="#d2691e"></td>
</tr>
<tr>
<td>Coral</td>
<td>#FF7F50</td>
<td bgcolor="#ff7f50"></td>
</tr>
<tr>
<td>CornflowerBlue</td>
<td>#6495ED</td>
<td bgcolor="#6495ed"></td>
</tr>
<tr>
<td>Cornsilk</td>
<td>#FFF8DC</td>
<td bgcolor="#fff8dc"></td>
</tr>
<tr>
<td>Crimson</td>
<td>#DC143C</td>
<td bgcolor="#dc143c"></td>
</tr>
<tr>
<td>Cyan</td>
<td>#00FFFF</td>
<td bgcolor="#00ffff"></td>
</tr>
<tr>
<td>DarkBlue</td>
<td>#00008B</td>
<td bgcolor="#00008b"></td>
</tr>
<tr>
<td>DarkCyan</td>
<td>#008B8B</td>
<td bgcolor="#008b8b"></td>
</tr>
<tr>
<td>DarkGoldenRod</td>
<td>#B8860B</td>
<td bgcolor="#b8860b"></td>
</tr>
<tr>
<td>DarkGray</td>
<td>#A9A9A9</td>
<td bgcolor="#a9a9a9"></td>
</tr>
<tr>
<td>DarkGreen</td>
<td>#006400</td>
<td bgcolor="#006400"></td>
</tr>
<tr>
<td>DarkKhaki</td>
<td>#BDB76B</td>
<td bgcolor="#bdb76b"></td>
</tr>
<tr>
<td>DarkMagenta</td>
<td>#8B008B</td>
<td bgcolor="#8b008b"></td>
</tr>
<tr>
<td>DarkOliveGreen</td>
<td>#556B2F</td>
<td bgcolor="#556b2f"></td>
</tr>
<tr>
<td>Darkorange</td>
<td>#FF8C00</td>
<td bgcolor="#ff8c00"></td>
</tr>
<tr>
<td>DarkOrchid</td>
<td>#9932CC</td>
<td bgcolor="#9932cc"></td>
</tr>
<tr>
<td>DarkRed</td>
<td>#8B0000</td>
<td bgcolor="#8b0000"></td>
</tr>
<tr>
<td>DarkSalmon</td>
<td>#E9967A</td>
<td bgcolor="#e9967a"></td>
</tr>
<tr>
<td>DarkSeaGreen</td>
<td>#8FBC8F</td>
<td bgcolor="#8fbc8f"></td>
</tr>
<tr>
<td>DarkSlateBlue</td>
<td>#483D8B</td>
<td bgcolor="#483d8b"></td>
</tr>
<tr>
<td>DarkSlateGray</td>
<td>#2F4F4F</td>
<td bgcolor="#2f4f4f"></td>
</tr>
<tr>
<td>DarkTurquoise</td>
<td>#00CED1</td>
<td bgcolor="#00ced1"></td>
</tr>
<tr>
<td>DarkViolet</td>
<td>#9400D3</td>
<td bgcolor="#9400d3"></td>
</tr>
<tr>
<td>DeepPink</td>
<td>#FF1493</td>
<td bgcolor="#ff1493"></td>
</tr>
<tr>
<td>DeepSkyBlue</td>
<td>#00BFFF</td>
<td bgcolor="#00bfff"></td>
</tr>
<tr>
<td>DimGray</td>
<td>#696969</td>
<td bgcolor="#696969"></td>
</tr>
<tr>
<td>DodgerBlue</td>
<td>#1E90FF</td>
<td bgcolor="#1e90ff"></td>
</tr>
<tr>
<td>FireBrick</td>
<td>#B22222</td>
<td bgcolor="#b22222"></td>
</tr>
<tr>
<td>FloralWhite</td>
<td>#FFFAF0</td>
<td bgcolor="#fffaf0"></td>
</tr>
<tr>
<td>ForestGreen</td>
<td>#228B22</td>
<td bgcolor="#228b22"></td>
</tr>
<tr>
<td>Fuchsia</td>
<td>#FF00FF</td>
<td bgcolor="#ff00ff"></td>
</tr>
<tr>
<td>Gainsboro</td>
<td>#DCDCDC</td>
<td bgcolor="#dcdcdc"></td>
</tr>
<tr>
<td>GhostWhite</td>
<td>#F8F8FF</td>
<td bgcolor="#f8f8ff"></td>
</tr>
<tr>
<td>Gold</td>
<td>#FFD700</td>
<td bgcolor="#ffd700"></td>
</tr>
<tr>
<td>GoldenRod</td>
<td>#DAA520</td>
<td bgcolor="#daa520"></td>
</tr>
<tr>
<td>Gray</td>
<td>#808080</td>
<td bgcolor="#808080"></td>
</tr>
<tr>
<td>Green</td>
<td>#008000</td>
<td bgcolor="#008000"></td>
</tr>
<tr>
<td>GreenYellow</td>
<td>#ADFF2F</td>
<td bgcolor="#adff2f"></td>
</tr>
<tr>
<td>HoneyDew</td>
<td>#F0FFF0</td>
<td bgcolor="#f0fff0"></td>
</tr>
<tr>
<td>HotPink</td>
<td>#FF69B4</td>
<td bgcolor="#ff69b4"></td>
</tr>
<tr>
<td>IndianRed</td>
<td>#CD5C5C</td>
<td bgcolor="#cd5c5c"></td>
</tr>
<tr>
<td>Indigo</td>
<td>#4B0082</td>
<td bgcolor="#4b0082"></td>
</tr>
<tr>
<td>Ivory</td>
<td>#FFFFF0</td>
<td bgcolor="#fffff0"></td>
</tr>
<tr>
<td>Khaki</td>
<td>#F0E68C</td>
<td bgcolor="#f0e68c"></td>
</tr>
<tr>
<td>Lavender</td>
<td>#E6E6FA</td>
<td bgcolor="#e6e6fa"></td>
</tr>
<tr>
<td>LavenderBlush</td>
<td>#FFF0F5</td>
<td bgcolor="#fff0f5"></td>
</tr>
<tr>
<td>LawnGreen</td>
<td>#7CFC00</td>
<td bgcolor="#7cfc00"></td>
</tr>
<tr>
<td>LemonChiffon</td>
<td>#FFFACD</td>
<td bgcolor="#fffacd"></td>
</tr>
<tr>
<td>LightBlue</td>
<td>#ADD8E6</td>
<td bgcolor="#add8e6"></td>
</tr>
<tr>
<td>LightCoral</td>
<td>#F08080</td>
<td bgcolor="#f08080"></td>
</tr>
<tr>
<td>LightCyan</td>
<td>#E0FFFF</td>
<td bgcolor="#e0ffff"></td>
</tr>
<tr>
<td>LightGoldenRodYellow</td>
<td>#FAFAD2</td>
<td bgcolor="#fafad2"></td>
</tr>
<tr>
<td>LightGrey</td>
<td>#D3D3D3</td>
<td bgcolor="#d3d3d3"></td>
</tr>
<tr>
<td>LightGreen</td>
<td>#90EE90</td>
<td bgcolor="#90ee90"></td>
</tr>
<tr>
<td>LightPink</td>
<td>#FFB6C1</td>
<td bgcolor="#ffb6c1"></td>
</tr>
<tr>
<td>LightSalmon</td>
<td>#FFA07A</td>
<td bgcolor="#ffa07a"></td>
</tr>
<tr>
<td>LightSeaGreen</td>
<td>#20B2AA</td>
<td bgcolor="#20b2aa"></td>
</tr>
<tr>
<td>LightSkyBlue</td>
<td>#87CEFA</td>
<td bgcolor="#87cefa"></td>
</tr>
<tr>
<td>LightSlateGray</td>
<td>#778899</td>
<td bgcolor="#778899"></td>
</tr>
<tr>
<td>LightSteelBlue</td>
<td>#B0C4DE</td>
<td bgcolor="#b0c4de"></td>
</tr>
<tr>
<td>LightYellow</td>
<td>#FFFFE0</td>
<td bgcolor="#ffffe0"></td>
</tr>
<tr>
<td>Lime</td>
<td>#00FF00</td>
<td bgcolor="#00ff00"></td>
</tr>
<tr>
<td>LimeGreen</td>
<td>#32CD32</td>
<td bgcolor="#32cd32"></td>
</tr>
<tr>
<td>Linen</td>
<td>#FAF0E6</td>
<td bgcolor="#faf0e6"></td>
</tr>
<tr>
<td>Magenta</td>
<td>#FF00FF</td>
<td bgcolor="#ff00ff"></td>
</tr>
<tr>
<td>Maroon</td>
<td>#800000</td>
<td bgcolor="#800000"></td>
</tr>
<tr>
<td>MediumAquaMarine</td>
<td>#66CDAA</td>
<td bgcolor="#66cdaa"></td>
</tr>
<tr>
<td>MediumBlue</td>
<td>#0000CD</td>
<td bgcolor="#0000cd"></td>
</tr>
<tr>
<td>MediumOrchid</td>
<td>#BA55D3</td>
<td bgcolor="#ba55d3"></td>
</tr>
<tr>
<td>MediumPurple</td>
<td>#9370D8</td>
<td bgcolor="#9370d8"></td>
</tr>
<tr>
<td>MediumSeaGreen</td>
<td>#3CB371</td>
<td bgcolor="#3cb371"></td>
</tr>
<tr>
<td>MediumSlateBlue</td>
<td>#7B68EE</td>
<td bgcolor="#7b68ee"></td>
</tr>
<tr>
<td>MediumSpringGreen</td>
<td>#00FA9A</td>
<td bgcolor="#00fa9a"></td>
</tr>
<tr>
<td>MediumTurquoise</td>
<td>#48D1CC</td>
<td bgcolor="#48d1cc"></td>
</tr>
<tr>
<td>MediumVioletRed</td>
<td>#C71585</td>
<td bgcolor="#c71585"></td>
</tr>
<tr>
<td>MidnightBlue</td>
<td>#191970</td>
<td bgcolor="#191970"></td>
</tr>
<tr>
<td>MintCream</td>
<td>#F5FFFA</td>
<td bgcolor="#f5fffa"></td>
</tr>
<tr>
<td>MistyRose</td>
<td>#FFE4E1</td>
<td bgcolor="#ffe4e1"></td>
</tr>
<tr>
<td>Moccasin</td>
<td>#FFE4B5</td>
<td bgcolor="#ffe4b5"></td>
</tr>
<tr>
<td>NavajoWhite</td>
<td>#FFDEAD</td>
<td bgcolor="#ffdead"></td>
</tr>
<tr>
<td>Navy</td>
<td>#000080</td>
<td bgcolor="#000080"></td>
</tr>
<tr>
<td>OldLace</td>
<td>#FDF5E6</td>
<td bgcolor="#fdf5e6"></td>
</tr>
<tr>
<td>Olive</td>
<td>#808000</td>
<td bgcolor="#808000"></td>
</tr>
<tr>
<td>OliveDrab</td>
<td>#6B8E23</td>
<td bgcolor="#6b8e23"></td>
</tr>
<tr>
<td>Orange</td>
<td>#FFA500</td>
<td bgcolor="#ffa500"></td>
</tr>
<tr>
<td>OrangeRed</td>
<td>#FF4500</td>
<td bgcolor="#ff4500"></td>
</tr>
<tr>
<td>Orchid</td>
<td>#DA70D6</td>
<td bgcolor="#da70d6"></td>
</tr>
<tr>
<td>PaleGoldenRod</td>
<td>#EEE8AA</td>
<td bgcolor="#eee8aa"></td>
</tr>
<tr>
<td>PaleGreen</td>
<td>#98FB98</td>
<td bgcolor="#98fb98"></td>
</tr>
<tr>
<td>PaleTurquoise</td>
<td>#AFEEEE</td>
<td bgcolor="#afeeee"></td>
</tr>
<tr>
<td>PaleVioletRed</td>
<td>#D87093</td>
<td bgcolor="#d87093"></td>
</tr>
<tr>
<td>PapayaWhip</td>
<td>#FFEFD5</td>
<td bgcolor="#ffefd5"></td>
</tr>
<tr>
<td>PeachPuff</td>
<td>#FFDAB9</td>
<td bgcolor="#ffdab9"></td>
</tr>
<tr>
<td>Peru</td>
<td>#CD853F</td>
<td bgcolor="#cd853f"></td>
</tr>
<tr>
<td>Pink</td>
<td>#FFC0CB</td>
<td bgcolor="#ffc0cb"></td>
</tr>
<tr>
<td>Plum</td>
<td>#DDA0DD</td>
<td bgcolor="#dda0dd"></td>
</tr>
<tr>
<td>PowderBlue</td>
<td>#B0E0E6</td>
<td bgcolor="#b0e0e6"></td>
</tr>
<tr>
<td>Purple</td>
<td>#800080</td>
<td bgcolor="#800080"></td>
</tr>
<tr>
<td>Red</td>
<td>#FF0000</td>
<td bgcolor="#ff0000"></td>
</tr>
<tr>
<td>RosyBrown</td>
<td>#BC8F8F</td>
<td bgcolor="#bc8f8f"></td>
</tr>
<tr>
<td>RoyalBlue</td>
<td>#4169E1</td>
<td bgcolor="#4169e1"></td>
</tr>
<tr>
<td>SaddleBrown</td>
<td>#8B4513</td>
<td bgcolor="#8b4513"></td>
</tr>
<tr>
<td>Salmon</td>
<td>#FA8072</td>
<td bgcolor="#fa8072"></td>
</tr>
<tr>
<td>SandyBrown</td>
<td>#F4A460</td>
<td bgcolor="#f4a460"></td>
</tr>
<tr>
<td>SeaGreen</td>
<td>#2E8B57</td>
<td bgcolor="#2e8b57"></td>
</tr>
<tr>
<td>SeaShell</td>
<td>#FFF5EE</td>
<td bgcolor="#fff5ee"></td>
</tr>
<tr>
<td>Sienna</td>
<td>#A0522D</td>
<td bgcolor="#a0522d"></td>
</tr>
<tr>
<td>Silver</td>
<td>#C0C0C0</td>
<td bgcolor="#c0c0c0"></td>
</tr>
<tr>
<td>SkyBlue</td>
<td>#87CEEB</td>
<td bgcolor="#87ceeb"></td>
</tr>
<tr>
<td>SlateBlue</td>
<td>#6A5ACD</td>
<td bgcolor="#6a5acd"></td>
</tr>
<tr>
<td>SlateGray</td>
<td>#708090</td>
<td bgcolor="#708090"></td>
</tr>
<tr>
<td>Snow</td>
<td>#FFFAFA</td>
<td bgcolor="#fffafa"></td>
</tr>
<tr>
<td>SpringGreen</td>
<td>#00FF7F</td>
<td bgcolor="#00ff7f"></td>
</tr>
<tr>
<td>SteelBlue</td>
<td>#4682B4</td>
<td bgcolor="#4682b4"></td>
</tr>
<tr>
<td>Tan</td>
<td>#D2B48C</td>
<td bgcolor="#d2b48c"></td>
</tr>
<tr>
<td>Teal</td>
<td>#008080</td>
<td bgcolor="#008080"></td>
</tr>
<tr>
<td>Thistle</td>
<td>#D8BFD8</td>
<td bgcolor="#d8bfd8"></td>
</tr>
<tr>
<td>Tomato</td>
<td>#FF6347</td>
<td bgcolor="#ff6347"></td>
</tr>
<tr>
<td>Turquoise</td>
<td>#40E0D0</td>
<td bgcolor="#40e0d0"></td>
</tr>
<tr>
<td>Violet</td>
<td>#EE82EE</td>
<td bgcolor="#ee82ee"></td>
</tr>
<tr>
<td>Wheat</td>
<td>#F5DEB3</td>
<td bgcolor="#f5deb3"></td>
</tr>
<tr>
<td>White</td>
<td>#FFFFFF</td>
<td bgcolor="#ffffff"></td>
</tr>
<tr>
<td>WhiteSmoke</td>
<td>#F5F5F5</td>
<td bgcolor="#f5f5f5"></td>
</tr>
<tr>
<td>Yellow</td>
<td>#FFFF00</td>
<td bgcolor="#ffff00"></td>
</tr>
<tr>
<td>YellowGreen</td>
<td>#9ACD32</td>
<td bgcolor="#9acd32"></td>
</tr>
</tbody>
</table>
<p><br / ><br />
<em>REF: <a href="http://page24x7.com/reference/html-color-names-and-codes/" target="_blank">http://page24&#215;7.com/reference/html-color-names-and-codes/</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.continuum.cl/archives/438/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Link: Truco para vender proyectos Ruby on Rails&#8230;</title>
		<link>http://blog.continuum.cl/archives/423</link>
		<comments>http://blog.continuum.cl/archives/423#comments</comments>
		<pubDate>Thu, 13 May 2010 20:23:18 +0000</pubDate>
		<dc:creator>jorge.rodriguez</dc:creator>
				<category><![CDATA[Link]]></category>
		<category><![CDATA[Misceláneo]]></category>
		<category><![CDATA[RoR]]></category>

		<guid isPermaLink="false">http://blog.continuum.cl/?p=423</guid>
		<description><![CDATA[Nos ocurre constantemente. Nos resulta diría que casi imposible vender un proyecto en RoR en Chile. Algunas de las razones más comunes acá son:
&#8220;Si todo eso puede hacerse en Java, porque RoR?&#8221;,
&#8220;Mi plataforma es Java, nos costó llegar a lo que tenemos hoy, ¿cambiar dices?, ¿quien me da soporte?, ¿que pasa con mi soporte IBM?, [...]]]></description>
			<content:encoded><![CDATA[<p>Nos ocurre constantemente. Nos resulta diría que casi imposible vender un proyecto en RoR en Chile. Algunas de las razones más comunes acá son:</p>
<p>&#8220;<em>Si todo eso puede hacerse en Java, porque RoR</em>?&#8221;,</p>
<p>&#8220;<em>Mi plataforma es Java, nos costó llegar a lo que tenemos hoy, ¿cambiar dices?, ¿quien me da soporte?, ¿que pasa con mi soporte IBM?, si, sé que NO existe pero puedo justificarme&#8221;</em>,</p>
<p>&#8220;<em>¿Subir mis datos a una nube?, no estoy seguro</em>&#8220;,</p>
<p>&#8220;<em>¿Donde están las demás empresas que desarrollan en RoR?</em>&#8220;.</p>
<p><a title="Futurice - Trucos para vender proyectos en RoR" href="http://blog.futurice.com/2010/05/12/the-tricky-business-of-selling-ruby-on-rails-projects" target="_blank">Futurice escribe acerca de esto y da algunos consejos de como vender proyectos en RoR.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.continuum.cl/archives/423/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Noticia: Continuum en la flisol 2010</title>
		<link>http://blog.continuum.cl/archives/414</link>
		<comments>http://blog.continuum.cl/archives/414#comments</comments>
		<pubDate>Thu, 13 May 2010 18:50:33 +0000</pubDate>
		<dc:creator>jorge.rodriguez</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Continuum]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[html5]]></category>

		<guid isPermaLink="false">http://blog.continuum.cl/?p=414</guid>
		<description><![CDATA[Continuum estará apoyando el Festival Latinoamericano de Instalación de Software Libre con cuatro de nosotros y tres charlas en las sedes de Santiago y Puerto Montt. A continuación los resúmenes de las charlas y quienes están detrás de ellas.
&#8211; «Radiografía de un sitio Web (presente y futuro)» &#8212; Ricardo Alfaro y Alter Lagos &#8212; Sede [...]]]></description>
			<content:encoded><![CDATA[<p>Continuum estará apoyando el <a title="Flisol" href="http://es.wikipedia.org/wiki/Festival_Latinoamericano_de_Instalación_de_Software_Libre" target="_blank">Festival Latinoamericano de Instalación de Software Libre</a> con cuatro de nosotros y tres charlas en las sedes de Santiago y Puerto Montt. A continuación los resúmenes de las charlas y quienes están detrás de ellas.</p>
<p>&#8211; <strong>«Radiografía de un sitio Web (presente y futuro)»</strong> &#8212; <a title="Ricardo Alfaro y Alter Lagos" href="http://continuum.cl/nosotros" target="_blank">Ricardo Alfaro y Alter Lagos</a> &#8212; <a title="Flisol 2010 Sede Santiago de Chile" href="http://santiago.flisol.cl" target="_blank">Sede Santiago de Chile</a></p>
<div>Charla orientada a mostrar como se hace un sitio web de hoy y que es  lo que hay para el futuro. Explica desde la base del  Lenguaje HTML,  CSS y Javascript . Parte mostrando como se estructura el código HTML y sus principales etiquetas (tags) (ayudado con Firebug/Firefox), luego da una introducción a CSS y finalmente una muestra del uso de  Javascript para manipular el DOM. Antes del cierre repasa superficialmente lo que viene en  HTML5 como la web del futuro. Se hace uso de Firebug para hacer breves  demostraciones en vivo y un video que muestre  el paso de una vista sin diseño a una con diseño (CSS), además de  screenshots y algunos textos en slides.</div>
<p>&#8211; <strong>«Contribuyendo al OSS (nadie dijo que era fácil)»</strong> &#8212; <a title="Leo Soto - Continuum" href="http://continuum.cl/nosotros" target="_blank">Leo Soto</a> &#8212; <a title="Flisol 2010 Sede Puerto Montt" href="http://www.linuxpuertomontt.cl/flisol/" target="_blank">Sede Puerto Montt</a></p>
<p>Historias, anécdotas y lecciones sobre cómo un desarrollador en este extremo del mundo puede colaborar en el globalizado mundo del OSS y obtener recompensas que jamás se le pasaron por la cabeza. En realidad contribuir al OSS no es difícil, pero hay códigos que respetar, una cultura que entender y algunos malos ratos que soportar que pueden desanimar mucho cuando uno empieza. Al final todo vale la pena porque la recompensa es mas grande que los malos ratos iniciales, y también por las lecciones que se aprenden en el camino. Transmitir esas lecciones en 45 minutos es tarea difícil, pero no imposible.</p>
<p>&#8211; <strong>«Configurando una suite ligera de desarrollo Java Web 100% Open Source»</strong> &#8212; <a title="Jorge Rodriguez - Continuum" href="http://continuum.cl/nosotros" target="_blank">Jorge Rodriguez</a> &#8212; <a title="Flisol 2010 Sede Puerto Montt" href="http://www.linuxpuertomontt.cl/flisol/" target="_blank">Sede Puerto Montt</a></p>
<p>Para la programación web usando Java hay muchas herramientas de desarrollo, algunas comerciales, la mayoría free, pero todas suites muy pesadas. Esta charla muestra pasos para en pocos minutos configurar un ambiente de desarrollo ligero que permita desarrollar aplicaciones Web de tipo empresarial en la plataforma Java Enterprise Edition, y claro usando tecnología 100 % Open Source.</p>
<p>Nota: <span style="color: #000000;"><em><span style="color: #999999;"><span style="color: #666699;"><span style="text-decoration: underline;"><span style="color: #808080;">Trataremos de grabar las cuatro charlas para publicarlas en nuestra sección de videos</span></span></span></span></em></span><span style="color: #999999;"><span style="color: #808080;">.</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.continuum.cl/archives/414/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cita: The world is getting more open every day.</title>
		<link>http://blog.continuum.cl/archives/408</link>
		<comments>http://blog.continuum.cl/archives/408#comments</comments>
		<pubDate>Tue, 11 May 2010 20:31:43 +0000</pubDate>
		<dc:creator>jorge.rodriguez</dc:creator>
				<category><![CDATA[Citas]]></category>

		<guid isPermaLink="false">http://blog.continuum.cl/?p=408</guid>
		<description><![CDATA[Leyendo los slides de una presentación sobre RabbitMQ me reí mucho con un slide en particular que dice que entre otras cosas:

Imagine if we had no TCP and had to use ‘IBM NetSphere’

(Yo agrego: Y tengamos que pagar licencias ante actualizaciones anuales o bajar los últimos parches parar no perder mas paquetes).

Imagine if we had [...]]]></description>
			<content:encoded><![CDATA[<p>Leyendo los slides de una presentación sobre RabbitMQ me reí mucho con un slide en particular que dice que entre otras cosas:</p>
<ul>
<li><strong>Imagine if we had no TCP and had to use ‘IBM NetSphere’</strong></li>
</ul>
<p><em>(Yo agrego: Y tengamos que pagar licencias ante actualizaciones anuales o bajar los últimos parches parar no perder mas paquetes).</em></p>
<ul>
<li><strong>Imagine if we had no HTTP and had to use ‘Microsoft Home Network’</strong></li>
</ul>
<p><em>(Yo agrego: Y tengamos que usar Internet Explorer de por vida o pagarle a M$ por cada click).</em></p>
<p><strong>&#8211; Alexis Richarson en su </strong><a title="RabbitMQ by Alexis Richardson" href="http://skillsmatter.com/podcast/erlang/alexis-richardson-introduction-to-rabbitmq" target="_blank"><strong>presentación sobre RabbitMQ</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.continuum.cl/archives/408/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>No sean «ágiles», solo sean productivos.</title>
		<link>http://blog.continuum.cl/archives/401</link>
		<comments>http://blog.continuum.cl/archives/401#comments</comments>
		<pubDate>Fri, 07 May 2010 00:37:41 +0000</pubDate>
		<dc:creator>jorge.rodriguez</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Misceláneo]]></category>

		<guid isPermaLink="false">http://blog.continuum.cl/?p=401</guid>
		<description><![CDATA[Cada vez que leo un nuevo artículo sobre «Agilidad» (o intento, pues hace tiempo que no termino ninguno), solo encuentro más y más tecnicismos.
Esta de moda ser ágiles, y han aparecido un puñado de vendedores de agilidad que intentan ganar dinero tratando de convertirte a la religión ágil con libros, cursos, certificaciones, lo que sea [...]]]></description>
			<content:encoded><![CDATA[<p>Cada vez que leo un nuevo artículo sobre «<strong>Agilidad</strong>» (o intento, pues hace tiempo que no termino ninguno), solo encuentro más y más tecnicismos.</p>
<p>Esta de moda ser ágiles, y han aparecido un puñado de vendedores de agilidad que intentan ganar dinero tratando de convertirte a la religión ágil con libros, cursos, certificaciones, lo que sea sin importar condiciones o entornos, todos podemos ser ágiles, ¡vamos mierda que se puede!</p>
<p>Y sí, por supuesto que incluso nosotros hemos usado en más de una ocasión alguno de los términos para también «ponernos en onda» y porque bueno a veces los clientes nos preguntan sobre ellos, ¿que remedio?.</p>
<p>Entonces, tú lento que me escuchas, o mejor que me lees: NO intentes ser ágil, se productivo, genera valor. Haz las cosas guiado por el sentido común, no porque lo leíste en un artículo, usa tus instintos y los medios con los que cuentas y solo se productivo; ¿Como?, como seas capaz de serlo y el medio te lo permita.</p>
<p>Aquí van algunos consejos de alguien que cada vez entiende menos de agilidad y más de productividad y que ha ganado fama por ser lo último:</p>
<ol>
<li>Usa al máximo al menos 6 horas del día y no más de 8 sin distracción (descansando lógicamente, recuerda, sentido común[1]), para las demás cosas que no generan productividad (como ver un video en youtube o leer blogs) hay tiempo.</li>
<li>Toma una tarea a la vez y termínala sin interrupciones, si es muy grande sepárala en pequeñas tareas.</li>
<li>Escribe pruebas de conceptos antes de empezar con las cosas que no tienes idea de como hacerlas (no las hagas, estudia y prueba cosas).</li>
<li>Si tu tarea involucra escribir programas con interfaces visuales haz prototipos gráficos de lo que debes hacer y pregunta al cliente si están bien, no te preocupes por la lógica antes de la gráfica, es más fácil programar la lógica cuando te guía una interfaz.</li>
<li>Si tienes dudas de como hacer algo no asumas la solución, pregunta sobre el tema, llama al cliente, coméntalo con tus colegas.</li>
<li>Trata de no depender de factores externos para desarrollar la solución, con tu laptop debe bastar (puede tomar tiempo hacerlo, pero lo vas a recuperar en el camino).</li>
<li>Si algo es muy difícil de hacer no  lo hagas sin antes comentarlo con el cliente, él quiere una solución, pero no tiene que ser esa, pueden negociar otra que que le permita tener lista la funcionalidad en menor tiempo.</li>
<li>Intenta plantearte los casos de bordes, si no usas TDD (tecnicismo, ja) no significa que no puedas ser productivo, escribe los test en un archivo de texto, y antes de entregar pruébalo todo de nuevo.</li>
</ol>
<p><em>Usa el sentido común para ser productivo y no ágil. Eso te va dar más valor.</em></p>
<p>[1] Nosotros tenemos una mesa de ping-pong en la oficina, y se puede usar libremente (ehh, o sea como dictaría el sentido común, pocas veces en el día.)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.continuum.cl/archives/401/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>¿Inconsistencia entre jQuery.each y jQuery.map?</title>
		<link>http://blog.continuum.cl/archives/396</link>
		<comments>http://blog.continuum.cl/archives/396#comments</comments>
		<pubDate>Wed, 05 May 2010 18:46:57 +0000</pubDate>
		<dc:creator>jorge.rodriguez</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Misceláneo]]></category>

		<guid isPermaLink="false">http://blog.continuum.cl/?p=396</guid>
		<description><![CDATA[¿Alguna respuesta para esto? :
jQuery.map( array, callback(elementOfArray,  indexInArray) )
jQuery.each( array, callback(indexInArray,  elementOfArray) )
¿Pura inconsistencia, o algún motivo implícito?
]]></description>
			<content:encoded><![CDATA[<p>¿Alguna respuesta para esto? :</p>
<pre>jQuery.map( array, callback(elementOfArray,  indexInArray) )
jQuery.each( array, callback(indexInArray,  elementOfArray) )</pre>
<p>¿Pura inconsistencia, o algún motivo implícito?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.continuum.cl/archives/396/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>function namespace() {&#8230;}</title>
		<link>http://blog.continuum.cl/archives/389</link>
		<comments>http://blog.continuum.cl/archives/389#comments</comments>
		<pubDate>Tue, 04 May 2010 21:40:37 +0000</pubDate>
		<dc:creator>jorge.rodriguez</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[namespace]]></category>

		<guid isPermaLink="false">http://blog.continuum.cl/?p=389</guid>
		<description><![CDATA[Hace algún tiempo encontré este código en la web que permite crear namespaces en Javascript (nada más parecido a un objeto, je.):
String.prototype.namespace = function(separator) {
  this.split(separator &#124;&#124; '.').inject(window, function(parent, child) {
    return parent[child] = { };
  });
}
Hoy lo modifiqué para el caso en que si ya existe el namespace no [...]]]></description>
			<content:encoded><![CDATA[<p>Hace algún tiempo encontré este código en la web que permite crear namespaces en Javascript (nada más parecido a un objeto, je.):</p>
<pre>String.prototype.namespace = function(separator) {
  this.split(separator || '.').inject(window, function(parent, child) {
    return parent[child] = { };
  });
}</pre>
<p>Hoy lo modifiqué para el caso en que si ya existe el namespace no lo sobre-escriba (no perder lo hecho):</p>
<pre>String.prototype.namespace = function(separator) {
  this.split(separator || '.').inject(window, function(parent, child) {
    return parent[child] == undefined ? parent[child] = { } : parent[child];
  });
}</pre>
<p>Como se usa:</p>
<pre>"cl.continuum.blog.demo".namespace();
// voilá, tenemos el namespace cl.continuum.blog.demo
cl.continuum.blog.demo.Post = {name: "function namespace() {...}", author: "jorge.rodriguez"}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.continuum.cl/archives/389/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
