<?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>Juanmi Rodriguez &#187; desarrollo</title>
	<atom:link href="http://juanmirodriguez.es/tag/desarrollo/feed/" rel="self" type="application/rss+xml" />
	<link>http://juanmirodriguez.es</link>
	<description>Algo más que un programador web</description>
	<lastBuildDate>Sun, 22 Jan 2012 15:57:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Estudiar tiene sus recompensas</title>
		<link>http://juanmirodriguez.es/2010/01/estudiar-tiene-sus-recompensas/</link>
		<comments>http://juanmirodriguez.es/2010/01/estudiar-tiene-sus-recompensas/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 15:53:33 +0000</pubDate>
		<dc:creator>Juanmi</dc:creator>
				<category><![CDATA[Sin categoría]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[Opinión]]></category>
		<category><![CDATA[programación]]></category>

		<guid isPermaLink="false">http://poramoralcodigo.juanmirodriguez.es/?p=70</guid>
		<description><![CDATA[&#60;div class=&#8221;modolunniesON&#8221;&#62; ¡¡Si, chicos y chicas, estudiar sirve para algo más que para que los profes disfruten con vuestro sufrimiento!! Estudiando se puede incluso aprender y eso nos dará poder para saber hacer más cosas y con mejor criterio&#8230; Cooff, &#8230; <a href="http://juanmirodriguez.es/2010/01/estudiar-tiene-sus-recompensas/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>&lt;div class=&#8221;modolunniesON&#8221;&gt; ¡¡Si, chicos y chicas, estudiar sirve para algo más que para que los profes disfruten con vuestro sufrimiento!! Estudiando se puede incluso aprender y eso nos dará poder para saber hacer más cosas y con mejor criterio&#8230;</p>
<p>Cooff, &lt;/div&gt; Cooff, perdón&#8230;</p>
<p>Este es el problema de levantarse temprano en domingo.</p>
<p>Bueno, a lo que iba, después de aprender cositas de PHP, javascript, DOM, CSS, XHTML, AJAX, etc. y una vez me voy haciendo una idea de como funciona el tema, están llegando las cosas interesantes. Acabo de echarle un ojo a <a href="http://jquery.com/" target="_blank">jQuery</a>, <a href="http://www.prototypejs.org/" target="_blank">prototype </a>y <a href="http://mootools.net/" target="_blank">Moo Tools</a>, viendo un poco la página principal trantando de decidir a qué documentación le meto mano y me ha sorprendido de nuevo lo que se puede conseguir en la web hoy día.</p>
<p>Merece la pena echar un ojo a la de monerías que hay ahí fuera (y mientras nosotros no hacemos más que mirar el facebook como tontos&#8230<img src="http://juanmirodriguez.es/wp-content/themes/grey-opaque/images/smilies/icon_wink.gif" alt="Smilie: ;)" title="Smilie: ;)" />. Y me ha llamado especialmente la atención <a href="http://www.ape-project.org/home.html" target="_blank">APE</a>. APE es una API  para construir aplicaciones web con recepción y puclicación de datos en tiempo real. Es decir, con APE puedes hacer un MMO en tiempo real en el browser todo basado en javascript, sin instalar nada en el cliente. Menús animados, botones, previews, diapositivas, todas esas monadas de la web actual están ahí esperando ser usadas <img src="http://juanmirodriguez.es/wp-content/themes/grey-opaque/images/smilies/icon_wink.gif" alt="Smilie: ;)" title="Smilie: ;)" /></p>
<p>Viendo todas estas APIs me siento como un niño pequeño con juguetes nuevos. Pero ¿Cuál elegiré para empezar? ¿Vosotros conocéis y utilizáis alguna? ¿Qué podéis recomendarme?</p>
]]></content:encoded>
			<wfw:commentRss>http://juanmirodriguez.es/2010/01/estudiar-tiene-sus-recompensas/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Primeros pasos con C# y XNA</title>
		<link>http://juanmirodriguez.es/2009/11/primeros-pasos-con-c-y-xna/</link>
		<comments>http://juanmirodriguez.es/2009/11/primeros-pasos-con-c-y-xna/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 20:07:20 +0000</pubDate>
		<dc:creator>Juanmi</dc:creator>
				<category><![CDATA[Sin categoría]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[documentación]]></category>
		<category><![CDATA[videojuegos]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://poramoralcodigo.juanmirodriguez.es/?p=39</guid>
		<description><![CDATA[Estoy retomando XNA de forma independiente y creo que es un buen tema para el blog. Mientras encuentro trabajo, cosa que está tomando más de lo que esperaba, voy a tratar de nuevo de embarcarme en el mundo de XNA y el desarrollo de un juego independiente. Ya tenía algunos conocimientos, pero para refrescarlos nada mejor que repasar desde el principio :)  <a href="http://juanmirodriguez.es/2009/11/primeros-pasos-con-c-y-xna/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Estoy retomando XNA de forma independiente y creo que es un buen tema para el blog. Mientras encuentro trabajo, cosa que está tomando más de lo que esperaba, voy a tratar de nuevo de embarcarme en el mundo de XNA y el desarrollo de un juego independiente. Ya tenía algunos conocimientos, pero para refrescarlos nada mejor que repasar desde el principio <img src="http://juanmirodriguez.es/wp-content/themes/grey-opaque/images/smilies/icon_smile.gif" alt="Smilie: :)" title="Smilie: :)" /></p>
<p>Y para eso recomiendo encarecidamente este enlace: <a href="http://msdn.microsoft.com/en-us/library/bb203873.aspx" target="_blank">Application Model Overview</a>. En él se explica brevemente la estructura básica de un juego y algunos datos sobre la velocidad de actualización y demás&#8230; Al final de la página viene un enlace a cómo hacer el primer proyecto. Así comenzaremos desde cero, sabremos lo que estamos haciendo y no nos despistaremos con 3D, físicas y otras cosas divertidísimas de los engines y ejemplos, pero que nos pierden y no nos enseñan realmente a hacer un juego desde cero o a entender las bases de XNA.</p>
<p>Otro día contaré algo más, como por qué elegir XNA o como van mis avances ^^.</p>
]]></content:encoded>
			<wfw:commentRss>http://juanmirodriguez.es/2009/11/primeros-pasos-con-c-y-xna/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La documentación, esa gran desconocida. I</title>
		<link>http://juanmirodriguez.es/2009/11/la-documentacion-esa-gran-desconocida-i/</link>
		<comments>http://juanmirodriguez.es/2009/11/la-documentacion-esa-gran-desconocida-i/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 18:02:45 +0000</pubDate>
		<dc:creator>Juanmi</dc:creator>
				<category><![CDATA[Consejos de programación]]></category>
		<category><![CDATA[consejos]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[documentación]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[quicksort]]></category>

		<guid isPermaLink="false">http://poramoralcodigo.juanmirodriguez.es/?p=19</guid>
		<description><![CDATA[Cuando trabajas en un grupo de desarrollo en un proyecto largo te empiezas a dar cuenta de algunas cosas. Recuerdas esas clases en las que los profesores te decían que era importante documentar el código. Te acuerdas de sus consejos sobre mantener el código ordenado y utilizar nombres de variables legibles. Y con más frecuencia de la que quisieras, te acuerdas de la madre de Mengano.

El otro día leí una máxima para programadores que me encantó:

Write your code as if the next guy to maintain it is a homicidal maniac who knows where you live
(by Kathy Sierra and Bert Bates) <a href="http://juanmirodriguez.es/2009/11/la-documentacion-esa-gran-desconocida-i/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Cuando trabajas en un grupo de desarrollo en un proyecto largo te empiezas a dar cuenta de algunas cosas. Recuerdas esas clases en las que los profesores te decían que era importante documentar el código. Te acuerdas de sus consejos sobre mantener el código ordenado y utilizar nombres de variables legibles. Y con más frecuencia de la que quisieras, te acuerdas de la madre de Mengano.</p>
<p>El otro día leí una máxima para programadores que me encantó:</p>
<blockquote>
<h3 style="font-size: 13px; color: #333333; font-weight: normal; overflow-x: hidden; overflow-y: hidden; padding: 0px; margin: 0px;"><span>Write your code as if the next guy to maintain it is a homicidal maniac who knows where you live </span></h3>
<p><span>(by Kathy Sierra and Bert Bates)</span></p></blockquote>
<p>Me parece un gran consejo y es que parece que nadie piensa jamas que la documentación y el código correcto sea una prioridad. Hasta que le toca a él mantener el código de otro.</p>
<p>Como ejemplo veremos una pequeña porción de código. Es un algoritmo que me encanta y que ilustra muy bien lo que quiero decir:</p>
<pre>void quicksort(int array[M], int in, int f){
	int pv, i, j, m;
	bool hc;

	if(in &lt; f){
		pv = array[in];
		i = in+1;
		j = f;
		hc= true;
		while(hc){
			while((array[i] &gt;= pv)&amp;&amp;(i &lt; f )) i++;
			while((array[j] &lt; pv)&amp;&amp;(j &gt; im)) j–-;

			if(i &lt; j) interc(array[i], array[j]);
			else hc= false;
		}         

		if(array[j][0] &gt; pv) interc(array[j], array[in])

		quicksort(array, in, j-1);
		quicksort(array, j+1, f);
	}
}</pre>
<p>Eso de ahí arriba es el <a href="http://es.wikipedia.org/wiki/Quicksort" target="_blank">Quick Sort</a>. Desde luego no se entiende nada. No hay comentarios, las variables estan nombradas con una o dos letras, está pobremente sangrado&#8230; En definitiva, e programador no se molestó mas que en que funcionara, cuanto tenga que corregir errores o cuando alguien tenga que analizar éste código su madre será recordada junto a esquinas y callejones oscuros&#8230; Sin embargo, esto puede evitarse, este código puede mejorarse de forma que todo el mundo entienda qué es lo que el programador quería hacer:</p>
<pre>/* Quicksort: El algoritmo quicksort consiste en ordenar
un array mediante recursividad. Esta versión del algoritmo toma como pivote el dato en la
primera posición del array y luego lo coloca en su sitio.
Argumentos:
int individuos[M] -&gt; el array a ordenar
int inicio -&gt; primera posición de la parte del array a ordenar
int fin -&gt; última posición de la parte del array a ordenar */
void quicksort(int individuos[M], int inicio, int fin){
	int pivote, i, j, mitad;
	bool hayCambio;

	//caso base: si inicio&gt;=fin hemos terminado con esta sección, no hacemos nada
	if(inicio &lt; fin){
		pivote = individuos[inicio];
		i = inicio+1;
		j = fin;
		hayCambio = true;

		while(hayCambio){

                        //busca un elemento mayor que el pivote por debajo de él
			while((individuos[i] &gt;= pivote)&amp;&amp;(i &lt; fin )) i++;

                        //busca un elemento menor que el pivote por encima de él
			while((individuos[j] &lt; pivote)&amp;&amp;(j &gt; inicio)) j–-;

			if(i &lt; j){ //intercambiamos las casillas
				intercambia(individuos[i], individuos[j]);
			}else{
				hayCambio = false;
			}
		}         

		//ponemos el pivote en su posición
		if(individuos[j][0] &gt; pivote){
			intercambia(individuos[j], individuos[inicio])
		}

		//llamadas recursivas para las dos mitades
		quicksort(individuos, inicio, j-1);
		quicksort(individuos, j+1, fin);
	}
}</pre>
<p>Puede que sigáis sin comprender por qué funciona el quicksort: no os preocupéis, es normal. Lo importante es que aun así, ahora habréis podido comprender que pretende hacer cada parte del código, para que sirve esta función y que significa cada variable. La diferencia creo que es bastante sustancial, pero pronto veremos más ejemplos de por qué documentar ^_^</p>
]]></content:encoded>
			<wfw:commentRss>http://juanmirodriguez.es/2009/11/la-documentacion-esa-gran-desconocida-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Útil herramienta para webmasters</title>
		<link>http://juanmirodriguez.es/2009/11/util-herramienta-para-webmasters/</link>
		<comments>http://juanmirodriguez.es/2009/11/util-herramienta-para-webmasters/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 08:40:34 +0000</pubDate>
		<dc:creator>Juanmi</dc:creator>
				<category><![CDATA[Herramientas]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://poramoralcodigo.juanmirodriguez.es/?p=12</guid>
		<description><![CDATA[Aun no he podido utilizarla en profundidad, todavía estoy aprendiendo de todo esto de CSS, XML, RSS y demás. Pero me ha encantado este plugin de mozilla para poder ojear TODA la información sobre una página web de forma interactiva &#8230; <a href="http://juanmirodriguez.es/2009/11/util-herramienta-para-webmasters/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Aun no he podido utilizarla en profundidad, todavía estoy aprendiendo de todo esto de CSS, XML, RSS y demás. Pero me ha encantado este plugin de mozilla para poder ojear TODA la información sobre una página web de forma interactiva y sin tener que estar descargando todo. Puedes ver junto a cada imagen su nombre, tamaño y peso. Poniendo el ratón sobre los distintos elementos de la página te indica en qué archivo CSS está la etiqueta que define el aspecto de ese elemento. Puedes ver todos los enlaces, resaltar aspectos de la página, validarla, ver el código fuente, las cookies&#8230; y en definitiva toda la información sobre la página.</p>
<p>Una herramienta de gran utilidad tanto para curiosear y aprender de nuestras páginas favoritas como para validar y testear la propia <img src="http://juanmirodriguez.es/wp-content/themes/grey-opaque/images/smilies/icon_smile.gif" alt="Smilie: :)" title="Smilie: :)" /> Se llama Web Developer y podéis encontrarla <a href="http://chrispederick.com/work/web-developer/" target="_blank">AQUÍ. </a></p>
]]></content:encoded>
			<wfw:commentRss>http://juanmirodriguez.es/2009/11/util-herramienta-para-webmasters/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

