<?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>Developing Frogtek</title>
	<atom:link href="http://developing.frogtek.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://developing.frogtek.org</link>
	<description>El blog del Departamento de Tecnología</description>
	<lastBuildDate>Tue, 27 Mar 2012 10:35:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Curso de introducción a Android en Zaragoza</title>
		<link>http://developing.frogtek.org/2012/03/27/curso-de-introduccion-a-android-en-zaragoza/</link>
		<comments>http://developing.frogtek.org/2012/03/27/curso-de-introduccion-a-android-en-zaragoza/#comments</comments>
		<pubDate>Tue, 27 Mar 2012 10:35:34 +0000</pubDate>
		<dc:creator>Jose Cortés</dc:creator>
				<category><![CDATA[miscelánea]]></category>

		<guid isPermaLink="false">http://developing.frogtek.org/?p=1729</guid>
		<description><![CDATA[Hace unas semanas anunciábamos un curso de Android en Walqa, pero su escasa participación nos obligó a cancelarlo. Ahora, volvemos a lanzar el curso en Zaragoza. Aquí están los datos sobre el curso para los que podáis estar interesados. Orientado &#8230; <a href="http://developing.frogtek.org/2012/03/27/curso-de-introduccion-a-android-en-zaragoza/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hace unas semanas anunciábamos un curso de Android en Walqa, pero su escasa participación nos obligó a cancelarlo. Ahora, volvemos a lanzar el curso en Zaragoza. Aquí están los datos sobre el curso para los que podáis estar interesados.</p>
<ul>
<li>Orientado a: Desarrolladores con experiencia en lenguajes orientados a objetos</li>
<li>Plazas: 15</li>
<li>Fecha: Del 16 al 20 de abril. De 9 a 14 horas.</li>
<li>Lugar: Iniciativas Viables. C/ La Milagrosa 5-7. 50009 Zaragoza</li>
<li>Precio: 250€.</li>
<li>Inscripciones e información a: jose (arroba) frogtek (punto) org</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://developing.frogtek.org/2012/03/27/curso-de-introduccion-a-android-en-zaragoza/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Afinando GIT</title>
		<link>http://developing.frogtek.org/2012/03/23/afinando-git/</link>
		<comments>http://developing.frogtek.org/2012/03/23/afinando-git/#comments</comments>
		<pubDate>Fri, 23 Mar 2012 09:48:09 +0000</pubDate>
		<dc:creator>Javier Martínez</dc:creator>
				<category><![CDATA[git]]></category>
		<category><![CDATA[herramientas]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[GIT]]></category>
		<category><![CDATA[gitconfig]]></category>
		<category><![CDATA[versiones]]></category>

		<guid isPermaLink="false">http://developing.frogtek.org/?p=1692</guid>
		<description><![CDATA[Después de varios meses trabajando en la migración a GIT, finalmente podemos decir que todo ha salido a pedir de Milhouse. Además nos ha servido para darnos cuenta de que vamos a tener que acostumbrarnos a que el sistema de &#8230; <a href="http://developing.frogtek.org/2012/03/23/afinando-git/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Después de varios meses trabajando en la <strong>migración a GIT</strong>, finalmente podemos decir que todo ha salido <a href="http://www.youtube.com/watch?v=TFRoRF9FvbI" target="_blank">a pedir de Milhouse</a>. Además nos ha servido para darnos cuenta de que vamos a tener que acostumbrarnos a que el sistema de <strong>control de versiones</strong> sea una parte fundamental de nuestra metodología de trabajo. Principalmente por el <strong>gráfico</strong> que aparece a continuación. Está extraído de este <a href="http://nvie.com/posts/a-successful-git-branching-model/" target="_blank">gran artículo sobre control de ramas con GIT</a>. De él obtuvimos la inspiración para realizar nuestro sistema de branching, pero no es de esto de lo que queremos hablar&#8230;</p>
<p style="text-align: center;"><a href="http://developing.frogtek.org/wp-content/uploads/2012/03/Screen-shot-2009-12-24-at-11.32.03.png" target="_blank"><img class="aligncenter size-medium wp-image-1707" title="Screen-shot-2009-12-24-at-11.32.03" src="http://developing.frogtek.org/wp-content/uploads/2012/03/Screen-shot-2009-12-24-at-11.32.03-224x300.png" alt="" width="224" height="300" /></a></p>
<p>Más bien queremos contar algunos ajustes que hicimos a la configuración de git para que nos sea más usable. </p>
<ol>
<li>Crear unos cuantos útiles &#8220;alias&#8221;:</li>
<p>Lo primero es editar nuestro archivo .<strong>gitconfig</strong>, añadiendo algunas versiones cortas de los comandos más usados.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">alias</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
        <span style="color: #c20cb9; font-weight: bold;">co</span> = checkout
        ci = commit
        st = status
        br = branch
        brancha = branch <span style="color: #660033;">-a</span></pre></div></div>

<p>Aquí va uno muy útil: mostrar el <strong>listado de commits en una línea</strong> cada uno y mostrando los autores al principio (todo ello a color):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">hist = log <span style="color: #660033;">--graph</span> <span style="color: #660033;">--decorate</span> <span style="color: #660033;">--pretty</span>=format:<span style="color: #ff0000;">'%C(bold blue)%Creset
%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)'</span>
<span style="color: #660033;">--abbrev-commit</span> <span style="color: #660033;">--date</span>=relative</pre></div></div>

<p>Los dos siguientes son muy útiles para gestionar los archivos y carpetas marcados como <strong>unchanged</strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">unchange = update-index <span style="color: #660033;">--assume-unchanged</span>
unchanged = <span style="color: #000000; font-weight: bold;">!</span><span style="color: #c20cb9; font-weight: bold;">git</span> ls-files <span style="color: #660033;">-v</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> ^<span style="color: #7a0874; font-weight: bold;">&#91;</span>a-z<span style="color: #7a0874; font-weight: bold;">&#93;</span></pre></div></div>

<p>El primero nos permite marcar un archivo como &#8220;assume unchanged&#8221;, en caso de que no queramos que tenga control de versiones. El segundo nos muestra qué archivos de nuestro repositorio están marcados de esta forma.</p>
<p>Crear una nueva <strong>branch</strong> asociada a una nueva <strong>historia de usuario</strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">us = <span style="color: #ff0000;">&quot;!f() { git checkout -b US$1; }; f&quot;</span></pre></div></div>

<p>Este comando funciona de la siguiente manera. Si tecleamos US 13, nos creará una nueva branch (desde la que estemos en ese momento) con el nombre US13. Muy útil.</p>
<p>Y para acabar, activar el <strong>color</strong> para todos los comandos de GIT:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>color<span style="color: #7a0874; font-weight: bold;">&#93;</span>
        ui = <span style="color: #c20cb9; font-weight: bold;">true</span></pre></div></div>

<li>Pasarnos a <strong>bash</strong> y crear más &#8220;<strong>alias</strong>&#8220;:</li>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">alias</span> <span style="color: #007800;">go</span>=<span style="color: #ff0000;">'git checkout'</span>
<span style="color: #7a0874; font-weight: bold;">alias</span> <span style="color: #007800;">gp</span>=<span style="color: #ff0000;">'git pull'</span>
<span style="color: #7a0874; font-weight: bold;">alias</span> <span style="color: #007800;">gs</span>=<span style="color: #ff0000;">'git status'</span></pre></div></div>

<p>Cambié mi terminal para que usara bash como intérprete, ya que me permitía funciones adicionales como la del punto 3. Después añadí unos cuantos alias entrando en el home y editando el archivo .bash_profile</p>
<p>Hay gente que prefiere utilizar el comando completo, es cuestión de gustos. He añadido git pull y git status porque son algunos de los comandos que más uso en consola.</p>
<li>Mostrar la <strong>rama actual en el shell de bash</strong>. Esto ya lo vimos en <a href="http://developing.frogtek.org/2012/02/24/ver-la-branch-de-git-en-la-que-estas-en-bash/">capítulos anteriores</a>.</li>
</ol>
<p>Y esto es todo. Recordad que lo principal es que cada uno configure sus instrumentos a su voluntad. Al fin y al cabo, se trata de estar a gusto con las herramientas que utilizas.</p>
]]></content:encoded>
			<wfw:commentRss>http://developing.frogtek.org/2012/03/23/afinando-git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Las buenas maneras de un programador</title>
		<link>http://developing.frogtek.org/2012/03/12/las-buenas-maneras-de-un-programador/</link>
		<comments>http://developing.frogtek.org/2012/03/12/las-buenas-maneras-de-un-programador/#comments</comments>
		<pubDate>Mon, 12 Mar 2012 03:14:00 +0000</pubDate>
		<dc:creator>Julio García</dc:creator>
				<category><![CDATA[miscelánea]]></category>

		<guid isPermaLink="false">http://developing.frogtek.org/?p=1677</guid>
		<description><![CDATA[Ayer me encontré con el siguiente artículo, &#8220;The 10 commandments of good source control management&#8221; .  Había sido twiteado por @psluaces. Comencé a leerlo y no pude evitar que una sonrisa invadiera mi cara conforme iba leyendo. Aunque algunos de los &#8230; <a href="http://developing.frogtek.org/2012/03/12/las-buenas-maneras-de-un-programador/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ayer me encontré con el siguiente artículo, <a href="http://java.dzone.com/articles/10-commandments-good-source?mz=38541-devops" target="_blank">&#8220;The 10 commandments of good source control management&#8221;</a> .  Había sido twiteado por <a href="https://twitter.com/#!/psluaces" target="_blank">@psluaces</a>. Comencé a leerlo y no pude evitar que una sonrisa invadiera mi cara conforme iba leyendo. Aunque algunos de los mandamientos no son muy útiles o relevantes para mí (no he usado <a href="https://en.wikipedia.org/wiki/Microsoft_Visual_SourceSafe" target="_blank">VSS</a> nunca, por ejemplo). Otros los he cometido y sufrido con demasiada frecuencia como para dejar pasar la oportunidad de comentar al menos un par de ellos.</p>
<blockquote>
<h4 style="text-align: center;">&#8220;Always inspect your changes before committing&#8221;</h4>
<p style="text-align: center;">&#8220;Repasa tus cambios siempre antes de subirlos al repositorio&#8221;</p>
</blockquote>
<p>Hazlo, no lo pienses. No te fíes ni de tu sombra. Al principio puede parecer una perdida de tiempo, pero es una de las costumbres que más agradezco. Porque soy despistado y humano. Por lo tanto me olvido que he cambiado algo que no quería subir o me equivoco en el código. Ese segundo vistazo me ayuda a eliminar muchos errores y problemas para mis compañeros desarrolladores.</p>
<blockquote>
<h4>&#8220;Remember the axe-murderer when writing commit messages&#8221;</h4>
<p>&#8220;Recuerda al <em>asesino del hacha</em> cuando escribes tus mensajes de commit&#8221;</p></blockquote>
<p>Y os preguntaréis quién coño es el &#8220;<em>asesino del hacha</em>&#8220;. Pues según el autor del artículo, existe un dicho que viene a decir lo siguiente: &#8220;Escribe tu siguiente comentario de <strong>commit</strong> como si el siguiente desarrollador que va a leerlo fuera un maníaco depresivo con un hacha que sabe donde vives&#8221;.</p>
<p>No lo cabrees, ¡por tu vida! Cosas como las que siguen probablemente lo pongan de muy mala leche:</p>
<blockquote><p>#10 Mierda</p>
<p>#89 Fix tests</p></blockquote>
<p>Opino que son dos ejemplos claros de pésimos comentarios para commits. Y eso que he escrito unos cuantos de esos, lo reconozco. El problema viene cuando tienes que volver sobre ellos porque estas revisando la historia de tu repositorio: te acuerdas del maldito día que naciste, os lo prometo.</p>
<p>Mucho mejor algo así:</p>
<blockquote><p>#89 Fixing the first UI test to work better, introducing new concept ClassSetup and ClassTearDown</p></blockquote>
<p>Y no vale currarse uno largo y reutilizarlo durante los cinco siguiente commits, cada <strong>commit</strong> tiene que ser diferente; se debe poder saber qué se ha hecho en ese <strong>commit</strong> con solo leer el mensaje. La diferencia cuando leas tu <em>log</em> será brutal.</p>
<p>Os recomiendo que os leáis el <a href="http://java.dzone.com/articles/10-commandments-good-source?mz=38541-devops" target="_blank">artículo</a> de arriba a abajo, es muy bueno.</p>
<p>PS: He encontrado varios de los mandamientos en otra fuente, el libro <a href="http://books.google.es/books?id=6ADDuzere-YC&amp;printsec=frontcover&amp;dq=Continuous+delivery&amp;hl=es&amp;sa=X&amp;ei=Z_JZT6nJDIOh0QWfgeHEDQ&amp;ved=0CDMQ6AEwAA#v=onepage&amp;q=Continuous%20delivery&amp;f=false" target="_blank">Continuous Delivery</a>. No pueden estar equivocados los dos, ¿no?</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://developing.frogtek.org/2012/03/12/las-buenas-maneras-de-un-programador/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scrum, Kanban y la matriz de Eisenhower</title>
		<link>http://developing.frogtek.org/2012/03/07/scrum-kanban-y-la-matriz-de-eisenhower/</link>
		<comments>http://developing.frogtek.org/2012/03/07/scrum-kanban-y-la-matriz-de-eisenhower/#comments</comments>
		<pubDate>Wed, 07 Mar 2012 07:19:56 +0000</pubDate>
		<dc:creator>Guillermo Caudevilla</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[metodología]]></category>
		<category><![CDATA[miscelánea]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[daily scrum]]></category>
		<category><![CDATA[eficiencia]]></category>
		<category><![CDATA[kanban]]></category>
		<category><![CDATA[optimizar]]></category>

		<guid isPermaLink="false">http://developing.frogtek.org/?p=1654</guid>
		<description><![CDATA[Érase una vez un Scrum Master que controlaba el proceso Scrumban que un equipo seguía. ¿Le pitan a alguien los oídos?. Dicho de otro modo, para que no se diga que aquí sólo escribimos para los &#8220;talibanes agilistas&#8221; ;P. Erase una vez &#8230; <a href="http://developing.frogtek.org/2012/03/07/scrum-kanban-y-la-matriz-de-eisenhower/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em>Érase una vez un Scrum Master que controlaba el proceso Scrumban que un equipo seguía. </em><strong>¿Le pitan a alguien los oídos?</strong>. Dicho de otro modo, para que no se diga que aquí sólo escribimos para los &#8220;<strong>talibanes agilistas</strong>&#8221; ;P.</p>
<p><em>Erase una vez un gestor de un equipo encargado de llevar a cabo tareas planificadas y no planificadas en un periodo de tiempo determinado y cíclico. </em>No sé cual de las dos introducciones es <strong>peor</strong>.</p>
<p><em>Érase, también, una vez un Product Owner malvado que no hacía más que meter Kanban en el sprint, haciendo sufrir al Scrum Master y poniendo a prueba la velocidad del equipo. El Scrum Master le insistía al equipo para que no dejara abandonadas las tareas de Scrum, mantuviera una velocidad de Scrum aceptable y consiguiera los objetivos del sprint. Y en estas llegó la retrospectiva y el equipo le afeó al Scrum Master que priorizara el Scrum frente al Kanban, ya que todos son hijos de Dios (del Product Owner en este caso). Así que el Scrum Master se puso a pensar y sacó las siguientes moralejas además de escribir este post.</em></p>
<ul>
<li>El equipo tiene razón, en teoría, el <strong>Kanban es tan válido como el Scrum</strong>. La suma de todo nos da la velocidad total del equipo y si los puntos totales al final del sprint son iguales o mayores que los planificados el equipo <strong>habrá cumplido</strong> con su papel.</li>
<li>El Scrum Master también tiene razón, en la práctica, el Product Owner siempre, salvo cambios grandes de requerimientos, espera que <strong>todo el Scrum esté acabado en la fecha final de sprint</strong>. Si el Scrum se termina, el Scrum Master <strong>habrá cumplido</strong> con su papel.</li>
<li>El hecho de no tener definidos claramente las <strong>prioridades del Kanban</strong> (<a href="http://www.carlosiglesias.info/2011/01/scrumban-multiproyecto-y-multiperfil/" target="_blank">FIRE, PRIO, ASAP</a>) puede fomentar estos problemas. El Kanban en Frogtek entra directamente en la pila de producto del sprint y se empieza antes o después en función de lo arriba que entre en la columna. Es decir, es <strong>priorizado</strong> junto con lo demás (hasta ahí bien), pero luego cuando entra y navega por las diferentes fases no tiene ni más, ni menos prioridad que el resto de lo que está en desarrollo. De ahí que el Scrum Master en algún caso acabe <strong>defendiendo lo planificado</strong> y el programador quiera que <strong>todo se valore por igual</strong>, ambos defendiendo su trabajo. Pero ¿debe hacerse?.</li>
</ul>
<p>Aquí es cuando entra en juego la relación entre las tareas de <strong>Scrum, Kanban y la matriz de Eisenhower</strong>. Eisenhower se ve que era un <strong>tío muy organizado</strong> y las malas lenguas dicen que inventó el típico plano cartesiano con cuatro cuadrantes, con un eje señalando la importancia y otro la urgencia. Así tras analizar una tarea en un momento dado podía decidir qué hacer con ella:</p>
<p><a href="http://developing.frogtek.org/wp-content/uploads/2012/03/20071113-tips.jpg"><img class="aligncenter size-full wp-image-1666" title="20071113-tips" src="http://developing.frogtek.org/wp-content/uploads/2012/03/20071113-tips.jpg" alt="" width="405" height="195" /></a></p>
<ul>
<li><strong>Urgente e importante</strong>. Consejo de Eisenhower: <strong>¡Hazla ya!</strong>. Consejo ágil: Normalmente esto es <strong>Scrum</strong> (en el peor de los casos esto entrará como Kanban de alta prioridad a mitad de sprint pero en ese caso es bastante fácil poner al Scrum Master y al equipo de acuerdo en lo importante que es sacarla la tarea cuanto antes adelante).</li>
<li><strong>No urgente pero importante</strong>. Consejo de Eisenhower: <strong>Planifícala</strong>. Consejo ágil: Vuelve a analizarla en la siguiente ronda de planificación y métela como <strong>Scrum en el siguiente sprint</strong> cuando ya sea urgente e importante.</li>
<li><strong>Urgente pero no importante.</strong> Consejo de Eisenhower: <strong>Delega</strong>. Consejo ágil: Normalmente esto es <strong>Kanban</strong>, ya que su urgencia suele salir a relucir a mitad de sprint y nunca tendrá la importancia suficiente para entrar como Scrum. Este tipo de tareas son las que crean conflicto a veces y las que acaban retrasando los sprints.</li>
<li><strong>Ni urgente, ni importante.</strong> Consejo de Eisenhower: <strong>¡A la basura!</strong>. Consejo ágil: si ves muchas de estas en tu tabla, <strong>cambia de Product Owner</strong>.</li>
</ul>
<p>Simplificando un poco se podría asimilar <strong>Importante con Scrum y Urgente con Kanban.</strong> Es por eso que como Scrum Master creo que Scrum casi siempre debe ir por delante que Kanban. Siendo flexibles, claro. <img src='http://developing.frogtek.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://developing.frogtek.org/2012/03/07/scrum-kanban-y-la-matriz-de-eisenhower/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Curso de Iniciación a Android en Walqa, Huesca</title>
		<link>http://developing.frogtek.org/2012/03/06/curso-de-iniciacion-a-android-en-walqa-huesca/</link>
		<comments>http://developing.frogtek.org/2012/03/06/curso-de-iniciacion-a-android-en-walqa-huesca/#comments</comments>
		<pubDate>Tue, 06 Mar 2012 08:19:14 +0000</pubDate>
		<dc:creator>Guillermo Caudevilla</dc:creator>
				<category><![CDATA[miscelánea]]></category>

		<guid isPermaLink="false">http://developing.frogtek.org/?p=1663</guid>
		<description><![CDATA[Si habéis estado atentos al blog os habréis dado cuenta que de arriba, al lado del Disclaimer ha aparecido una nueva sección de nombre &#8220;Formación&#8220;. No son necesarias demasiadas explicaciones ¿verdad?. Esto no es nuevo. En Frogtek ya llevamos tiempo &#8230; <a href="http://developing.frogtek.org/2012/03/06/curso-de-iniciacion-a-android-en-walqa-huesca/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Si habéis estado <strong>atentos</strong> al blog os habréis dado cuenta que de arriba, al lado del Disclaimer ha aparecido una nueva sección de nombre &#8220;<strong>Formación</strong>&#8220;. No son necesarias demasiadas explicaciones ¿verdad?.</p>
<p>Esto no es <strong>nuevo</strong>. En Frogtek ya llevamos <strong>tiempo</strong> dado cursos de Android, pero hemos decidido hacerlo de forma un poco más <strong>continua</strong> y con el tiempo añadir <strong>nuevos cursos</strong> con los que nos sintamos cómodos (todos, sin falta, son cursos sobre <strong>cosas con las que trabajamos</strong> en el día a día).</p>
<p>En este caso ofrecemos un <strong>Curso de Iniciación a la programación en Android</strong> que vamos a dar en Walqa, estos son los datos:</p>
<ul>
<li>Duración: 25 horas en 5 días.</li>
<li>Fechas: Del 26 al 30 de Marzo.</li>
<li>Lugar: Sala de formación de AST en Walqa.</li>
<li>Precio: 250€</li>
<li>Número de alumnos: alrededor de 12.</li>
<li>Temario: <a href="http://developing.frogtek.org/formacion/">click aquí</a>.</li>
<li>Inscripciones e información sobre el pago: mandando un correo a walqa@ptwalqa.com</li>
</ul>
<p>¡Os esperamos!.</p>
]]></content:encoded>
			<wfw:commentRss>http://developing.frogtek.org/2012/03/06/curso-de-iniciacion-a-android-en-walqa-huesca/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Feedback público todos con todos</title>
		<link>http://developing.frogtek.org/2012/03/01/feedback-publico-todos-con-todos/</link>
		<comments>http://developing.frogtek.org/2012/03/01/feedback-publico-todos-con-todos/#comments</comments>
		<pubDate>Thu, 01 Mar 2012 15:49:07 +0000</pubDate>
		<dc:creator>Guillermo Caudevilla</dc:creator>
				<category><![CDATA[miscelánea]]></category>

		<guid isPermaLink="false">http://developing.frogtek.org/?p=1648</guid>
		<description><![CDATA[Hacía tiempo que tenía pendiente escribir sobre el feedback en una start-up. El feedback sí, bueno, hablando en cristiano, cuando te dicen las cosas que haces bien y las que no tanto. Un ejercicio de sinceridad que es muy necesario &#8230; <a href="http://developing.frogtek.org/2012/03/01/feedback-publico-todos-con-todos/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hacía <strong>tiempo</strong> que tenía pendiente escribir sobre el <strong>feedback en una start-up</strong>. El feedback sí, bueno, hablando en <strong>cristiano</strong>, cuando te dicen las cosas que haces <strong>bien</strong> y las que <strong>no tanto</strong>. Un ejercicio de <strong>sinceridad</strong> que es muy necesario si se quiere mejorar en cualquier entorno, ya sea el trabajo o alguna otra faceta de la vida. <strong>Necesario</strong> pero <strong>incómodo</strong>. No siempre resulta fácil que tu jefe o que uno de tus compañeros resalte <strong>esas cosas que haces mal</strong> ya sea en privado en incluso en público.</p>
<p><a href="http://developing.frogtek.org/wp-content/uploads/2012/03/360-11.jpg"><img class="aligncenter size-full wp-image-1651" title="360-11" src="http://developing.frogtek.org/wp-content/uploads/2012/03/360-11.jpg" alt="" width="506" height="381" /></a></p>
<p>Es por eso que alrededor del feedback hay mucho&#8230; ¿cómo decirlo?, ¿artificio?, ¿<strong>tontería</strong>?. Una de mis favoritas es esa que dice que para dar <strong>una mala</strong> noticia primero tienes que dar <strong>dos buenas</strong>, luego la mala y acabar con otra buena. La <strong>técnica del ++-+</strong> (sí, existe, no me lo estoy inventando a mi me la contaron en Vodafone aunque no he encontrado rastro de ella en internet) ó &#8220;cómo dar feedback negativo y que nadie salga <strong>herido</strong>&#8220;, imagino que las más de las veces la persona que recibe el feedback entre tanta cháchara <strong>no se entera del problema</strong>, sí de las alabanzas que lo envuelven y sale de la sesión sin <strong>entender</strong> nada. Da hasta para un <strong>chiste</strong> malo:</p>
<blockquote>
<p style="text-align: center;">&#8220;Era un programador tan malo, tan malo, tan malo que en lugar de programar en C, programaba en C++-+&#8221;.</p>
</blockquote>
<p>En fin, antes de que se me aplique directamente el <strong>lanzamiento de pomodoro</strong>, por el chiste, seguiré con lo del feedback. Al final todo se reduce a acudir a una reunión de esas con <strong>actitud constructiva</strong> tanto por un lado como por el otro, ser <strong>respetuoso</strong> y <strong>sincero</strong>.</p>
<p>El pasado Enero en Frogtek hicimos la primera sesión de <strong>feedback pública todos con todos</strong>. Consistió en lo siguiente, hacer <strong>una ronda</strong> en la que primero uno contaba de sí mismo cual era su <strong>rol</strong> en la empresa, que cosas se le daban <strong>bien</strong> y qué cosas se le daban <strong>mal</strong>. A continuación el resto del grupo <strong>hacía lo propio</strong> con la persona que había iniciado la ronda, es decir contarle cual pensábamos que era su rol, y cuales sus puntos fuertes y sus áreas de mejora. Al acabar la primera ronda una persona había recibido feedback de todo el resto de compañeros sobre su trabajo. Obviamente es importante que el feedback se traiga preparado de casa, ya que de lo contrario en seguida se cae en el &#8220;<strong>yo lo mismo que fulanito</strong>&#8220;. De hecho en Frogtek lo trajimos escrito en fichas de forma que al final de cada ronda la persona &#8220;objeto de análisis&#8221; se hacía con 7+1 (la propia) fichas con un buen <strong>surtido</strong> de ideas interesantes. Una vez recibido el feedback los &#8220;expertos&#8221; recomiendan <strong>tener a mano a SARAH</strong> y no, Sarah no es una encantadora señorita que nos consuele, si no las fases por las que vamos a pasar inevitablemente. A saber:</p>
<ul>
<li>Fase 1: <strong>S</strong>hock &#8220;<strong>¿¡pero</strong> este tío qué dice!?&#8221;</li>
<li>Fase 2: <strong>A</strong>nger &#8220;¿¡pero <strong>este tío</strong> qué dice!?&#8221;</li>
<li>Fase 3: <strong>R</strong>esistance &#8220;¿¡pero este tío <strong>qué dice!?</strong>&#8220;</li>
<li>Fase 4: <strong>A</strong>cceptance &#8220;<strong>mmmm</strong>&#8220;</li>
<li>Fase 5: <strong>H</strong>elp &#8220;oye tío, ¿<strong>me explicas cómo</strong> hacer eso tan bien?&#8221;</li>
</ul>
<p><a href="http://developing.frogtek.org/wp-content/uploads/2012/03/nino_enfadado-11996.jpg"><img class="aligncenter size-full wp-image-1650" title="nino_enfadado-11996" src="http://developing.frogtek.org/wp-content/uploads/2012/03/nino_enfadado-11996.jpg" alt="" width="465" height="332" /></a></p>
<p>Después de un <strong>buen rato</strong> (hay que tomarse su tiempo, este ejercicio se lleva <strong>toda una mañana</strong>) y de las ocho rondas de rigor. Habíamos intercambiado <strong>64 opiniones</strong> todos con todos en un ejercicio que, realizado con <strong>buen rollo, honestidad e interés</strong> (y con Sarah), resulta muy <strong>enriquecedor</strong>.</p>
<p>Además, para hacerlo todavía <strong>más interesante</strong> nosotros le pedimos a todo el mundo que se <strong>auto-clasificara</strong> y clasificara a sus compañeros de más identificado a menos identificado en las <strong>siguientes categorías</strong> (basado en el <a href="http://es.wikipedia.org/wiki/Seis_sombreros_para_pensar" target="_blank">método de los 6 sombreros</a>):</p>
<ul>
<li>Orientación <strong>cooperadora</strong> (verde)</li>
<li>Orientación <strong>organizadora</strong> (azul)</li>
<li>Orientación <strong>emprendedora</strong> (rojo)</li>
<li>Orientación <strong>sociable</strong> (amarillo)</li>
</ul>
<p><a href="http://developing.frogtek.org/wp-content/uploads/2012/03/sombreros.jpg"><img class="aligncenter size-large wp-image-1649" title="sombreros" src="http://developing.frogtek.org/wp-content/uploads/2012/03/sombreros-1024x835.jpg" alt="" width="640" height="521" /></a></p>
<p>De forma que al final del día todos descubrimos <strong>cómo nos veíamos a nosotros mismos y cómo nos veía el resto del equipo</strong>. Afortunadamente en Huesca tenemos un equipo multicolor en el que <strong>no falta de nada</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://developing.frogtek.org/2012/03/01/feedback-publico-todos-con-todos/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ver la branch de git en la que estas en bash</title>
		<link>http://developing.frogtek.org/2012/02/24/ver-la-branch-de-git-en-la-que-estas-en-bash/</link>
		<comments>http://developing.frogtek.org/2012/02/24/ver-la-branch-de-git-en-la-que-estas-en-bash/#comments</comments>
		<pubDate>Fri, 24 Feb 2012 09:51:50 +0000</pubDate>
		<dc:creator>Pedro</dc:creator>
				<category><![CDATA[programación]]></category>
		<category><![CDATA[GIT]]></category>

		<guid isPermaLink="false">http://developing.frogtek.org/?p=1637</guid>
		<description><![CDATA[Hace unas dos semanas que hemos migrado a github. Tras pasar varios meses con git-svn y ver que cada día nos gustaba más, decidimos dar el paso a este servicio para también evitar tener que perder tiempo en el mantenimiento &#8230; <a href="http://developing.frogtek.org/2012/02/24/ver-la-branch-de-git-en-la-que-estas-en-bash/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hace unas dos semanas que hemos migrado a github. Tras pasar varios meses con git-svn y ver que cada día nos gustaba más, decidimos dar el paso a este servicio para también evitar tener que perder tiempo en el mantenimiento de la herramienta de review, los back ups, y el repositorio.</p>
<p>Git permite manejar muy fácil y rápidamente las branches, con lo cual es muy frecuente pasar de una a otra. Git tiene la rama master que equivale al trunk de svn y por lo tanto trabajar sobre ella directamente no es recomendable, de hecho en frogtek hemos creado una tarifa de 2 euros de castigo para quien haga push directo. Para saber en qué branch estás puedes ejecutar varios comandos, pero tras ver ayer este <a href="https://www.youtube.com/watch?v=ZDR433b0HJY">vídeo</a> (muy recomendable si quieres cambiar a git o simplemente enterarte de qué va), vimos que podíamos mostrar en el prompt del bash la rama actual quedando ente corchetes:</p>
<p><code>pfraca:tiendatek [US1438] $</code></p>
<p>Para hacer esto nos hemos basado en el siguiente <a href="http://www.juandefrias.com/posts/c-mo-mostrar-la-branch-de-git-en-el-prompt-en-mac-os-x-leopard-9">ejemplo</a> haciendo algún cambio para que no aparezca un prompt tan largo. Es tan fácil como copiar el siguiente código al .bash_profile</p>
<p><code># Mostrar la branch de git en el prompt </code></p>
<p>function parse_git_branch_and_add_brackets {<br />
git branch &#8211;no-color 2&gt; /dev/null | sed -e &#8216;/^[^*]/d&#8217; -e &#8216;s/* \(.*\)/\ \[\1\]/&#8217;<br />
}</p>
<p>PS1=&#8221;\u:\W\[\033[0;33m\]\$(parse_git_branch_and_add_brackets) \[\033[0m\]\$ &#8220;</p>
]]></content:encoded>
			<wfw:commentRss>http://developing.frogtek.org/2012/02/24/ver-la-branch-de-git-en-la-que-estas-en-bash/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Developing Frogtek Reloaded</title>
		<link>http://developing.frogtek.org/2012/01/18/developing-frogtek-reloaded/</link>
		<comments>http://developing.frogtek.org/2012/01/18/developing-frogtek-reloaded/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 08:23:59 +0000</pubDate>
		<dc:creator>Javier Martínez</dc:creator>
				<category><![CDATA[miscelánea]]></category>

		<guid isPermaLink="false">http://developing.frogtek.org/?p=1615</guid>
		<description><![CDATA[Llevábamos unos meses sufriendo problemas de latencia en este blog, por lo que decidimos investigar el problema. Después de darle muchas vueltas, decidimos alojar el blog en un host dedicado. Por ello, los visitantes asiduos habréis notado una mejora sustancial &#8230; <a href="http://developing.frogtek.org/2012/01/18/developing-frogtek-reloaded/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Llevábamos unos meses sufriendo problemas de latencia en este blog, por lo que decidimos investigar el problema. Después de darle muchas vueltas, decidimos alojar el blog en un host dedicado.</p>
<p>Por ello, los visitantes asiduos habréis notado una mejora sustancial en la velocidad de carga de la web <img src='http://developing.frogtek.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>¡Ah! También podéis notar esta mejora en nuestra web comercial: <a href="http://frogtek.org/">frogtek.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://developing.frogtek.org/2012/01/18/developing-frogtek-reloaded/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BDD en Google App Engine con Lettuce y Splinter (I)</title>
		<link>http://developing.frogtek.org/2012/01/17/bdd-en-google-app-engine-con-lettuce-y-splinter-i/</link>
		<comments>http://developing.frogtek.org/2012/01/17/bdd-en-google-app-engine-con-lettuce-y-splinter-i/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 09:14:16 +0000</pubDate>
		<dc:creator>Alberto Gualis</dc:creator>
				<category><![CDATA[gae]]></category>
		<category><![CDATA[google app engine]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://developing.frogtek.org/?p=1568</guid>
		<description><![CDATA[Hemos de reconocerlo: tenemos mucho que aprender en lo que se refiere a programación de pruebas automáticas en la web. Hace ya bastante tiempo que veníamos usando Selenium , primero grabando las pruebas con su IDE, más tarde programándolas con &#8230; <a href="http://developing.frogtek.org/2012/01/17/bdd-en-google-app-engine-con-lettuce-y-splinter-i/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hemos de reconocerlo: tenemos mucho que aprender en lo que se refiere a programación de pruebas automáticas en la web. Hace ya bastante tiempo que veníamos usando <a title="Selenium" href="http://seleniumhq.org/" target="_blank">Selenium</a> , primero grabando las pruebas con su <a title="IDE" href="http://seleniumhq.org/projects/ide/" target="_blank">IDE</a>, más tarde programándolas con <a title="WebDriver" href="http://seleniumhq.org/docs/03_webdriver.html" target="_blank">Web Driver</a>. Pero los tests resultantes eran frágiles y aburridos de programar, por lo que sentíamos bastante envidia de los developers <strong>Ruby</strong> con su flamante <strong>Cucumber</strong> y sus elegantes tests <a title="BDD" href="http://en.wikipedia.org/wiki/Behavior_Driven_Development" target="_blank">BDD</a>.</p>
<p>Decidimos remediarlo y Julio se puso con la instalación de  <a title="Cucumber" href="http://cukes.info/" target="_blank">Cucumber</a> + <a title="Capybara" href="https://github.com/jnicklas/capybara" target="_blank">Capybara</a> en el servidor, creando un test de demo y animándonos a montar el entorno en nuestras máquinas para comenzar a darle poquito a poco. Teníamos que aprender <strong>Ruby</strong> y conocer cómo funcionan sus versiones y conceptos nuevos como <strong>RubyGems</strong>, por lo que la cosa iba a ser divertida pero no rápida y por ello se nos ocurrió darle una oportunidad a una herramienta que nos sonaba de oídas: <a title="Lettuce" href="http://packages.python.org/lettuce/tutorial/simple.html" target="_blank">Lettuce</a>, combinándola con otra herramienta bastante nueva: <a title="Slpinter" href="http://splinter.cobrateam.info/" target="_blank">Splinter</a>, de manera que, en lugar de pepinos y capibaras:<br />
<img class="alignleft" title="Pepino" src="http://www.edgeent.com/v2/edge_public/img_ilustrativas_noticias_blog/muchachada/Nui_Pepino_Turno.png" alt="Siempre es verano con el pepino en la mano" width="108" height="222" /></p>
<p><img class="alignleft" title="plus" src="http://www.worldsgreatesttoys.com/images/blog/080807/plus.gif" alt="" width="197" height="181" /></p>
<p><img class="alignnone" title="Capybara" src="/wp-content/uploads/2012/01/capybara_02.jpg" alt="" width="200" height="200" /></p>
<p>tendremos lechugas y poder mutante. ¡Cowabunga!</p>
<p><a href="http://joyfulchoices.com/wp-images/lettuce.gif"><img class="alignleft" title="Lechuga" src="/wp-content/uploads/2012/01/lettuce.gif" alt="" width="132" height="113" /><img class="alignleft" title="plus" src="http://www.worldsgreatesttoys.com/images/blog/080807/plus.gif" alt="" width="197" height="181" /></a></p>
<p><img class="alignnone" title="Splinter" src="/wp-content/uploads/2012/01/splinter.gif" alt="" width="140" height="202" /></p>
<p><strong>Lettuce</strong> permite definir test de aceptación automáticos para proyectos <strong>Python</strong>, y <strong>Splinter</strong> proporciona un API sencilla y potente para implementar los pasos de los tests usando diferentes <strong>webDrivers</strong>.</p>
<p>De momento parece que aún falta que ambos proyectos mejoren un poco ya que son relativamente recientes. En el caso de <strong>Splinter</strong>, si no llega a darnos todo el potencial que necesitamos, siempre podemos sustituirlo por <a href="http://twill.idyll.org/python-api.html" target="_blank">twill</a>, <a href="http://seleniumhq.org/docs/appendix_installing_python_driver_client.html" target="_blank">selenium</a>, <a href="http://code.google.com/p/selenium/wiki/PythonBindings?redir=1" target="_blank">webdriver</a> o <a href="http://www.getwindmill.com/" target="_blank">windmill</a>.</p>
<p>¿Por qué usar estas herramientas quizás no tan maduras como sus homólogas del mundo <strong>Ruby</strong>? Una razón discutible &#8211; aprender un nuevo lenguaje siempre es divertido y enriquecedor &#8211; es que no nos obliga a aprender <strong>Ruby</strong> y nos permite definir los pasos en <strong>Python</strong> con el que estamos mucho más cómodos. Pero la ventaja principal es que tenemos una librería <strong>Python</strong> usada en nuestros tests de integración para crear diferentes escenarios de test en <strong>GAE</strong> y esta solución nos permite aprovechar todo su potencial instantáneamente. Bueno, eso si conseguimos instalar correctamente todo lo necesario para rular estas herramientas con <strong>GAE</strong>.</p>
<p>En <strong>Frogtek</strong> ninguno tenemos experiencia con <strong>Django</strong> más allá de su integración con <strong>Google App Engine</strong>, por lo que seguramente nos falte algo de familiaridad con ciertos conceptos que no aplican dentro de la plataforma de <strong>Google</strong>. Es quizás por esto por lo que nos encontramos con bastantes problemas de instalación y configuración que nos gustaría compartir con todos aquí. Eso será en el próximo post.</p>
]]></content:encoded>
			<wfw:commentRss>http://developing.frogtek.org/2012/01/17/bdd-en-google-app-engine-con-lettuce-y-splinter-i/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Visualizar el servidor de integración continua</title>
		<link>http://developing.frogtek.org/2012/01/10/visualizar-el-servidor-de-integracion-continua/</link>
		<comments>http://developing.frogtek.org/2012/01/10/visualizar-el-servidor-de-integracion-continua/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 04:00:14 +0000</pubDate>
		<dc:creator>Julio García</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[eficiencia]]></category>
		<category><![CDATA[herramientas]]></category>
		<category><![CDATA[integración continua]]></category>
		<category><![CDATA[jenkins]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://developing.frogtek.org/?p=1563</guid>
		<description><![CDATA[Os presento la última &#8220;frikada&#8221; que hemos añadido a nuestra colección de gadgets de oficina. Con el viejo servidor, actualmente en desuso, una pantalla vieja y el plugin de Jenkins  eXtreme Feedback Panel Plugin. Hemos montado un visualizador del estado de &#8230; <a href="http://developing.frogtek.org/2012/01/10/visualizar-el-servidor-de-integracion-continua/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://developing.frogtek.org/wp-content/uploads/2012/01/IMG_20120105_172731.jpg"><img class="alignright  wp-image-1565" title="Monitor de monitorización" src="http://developing.frogtek.org/wp-content/uploads/2012/01/IMG_20120105_172731.jpg" alt="Monitor de monitorización" width="360" height="601" /></a>Os presento la última &#8220;<em>frikada</em>&#8221; que hemos añadido a nuestra colección de gadgets de oficina.</p>
<p>Con el viejo servidor, actualmente en desuso, una pantalla vieja y el plugin de <strong>Jenkins</strong>  <a href="https://wiki.jenkins-ci.org/display/JENKINS/eXtreme+Feedback+Panel+Plugin">eXtreme Feedback Panel Plugin</a>. Hemos montado un visualizador del estado de nuestro servidor de integración continua (<a href="https://en.wikipedia.org/wiki/Jenkins" target="_blank">Jenkins</a>).</p>
<p>El objetivo esta claro. Conseguir estar enterados en todo momento de la salud de nuestras construcciones. Ya no vale eso de &#8220;no vi el email&#8221;.</p>
<p>Además informa del culpable de la rotura si la hay. Y muestra el número de tests añadidos en la última construcción, entre otras virguerías.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://developing.frogtek.org/2012/01/10/visualizar-el-servidor-de-integracion-continua/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
