<?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>MasioIT &#187; programacion</title>
	<atom:link href="http://www.masio.com.mx/category/programacion/feed" rel="self" type="application/rss+xml" />
	<link>http://www.masio.com.mx</link>
	<description>Tecnología e Información</description>
	<lastBuildDate>Sun, 06 Feb 2011 17:23:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Procastinacion para geeks: Project Euler</title>
		<link>http://www.masio.com.mx/procastinacion-para-geeks-project-euler</link>
		<comments>http://www.masio.com.mx/procastinacion-para-geeks-project-euler#comments</comments>
		<pubDate>Tue, 21 Oct 2008 21:36:11 +0000</pubDate>
		<dc:creator>Masiosare</dc:creator>
				<category><![CDATA[fun]]></category>
		<category><![CDATA[programacion]]></category>

		<guid isPermaLink="false">http://www.masio.com.mx/procastinacion-para-geeks-project-euler/</guid>
		<description><![CDATA[Eres programador y tienes mucho tiempo libre? Aquí hay un buen reto para las mentes inquisitivas. El proyecto euler es un sitio que contiene muchos problemas diseñados especialmente para aprender y pensar. Los problemas usualmente consisten en enigmas matemáticos que puedes resolver con una computadora, por lo que saber programar es requerido. Un problema tipico [...]


Related posts:<ol><li><a href='http://www.masio.com.mx/the-venice-project' rel='bookmark' title='Permanent Link: The Venice Project'>The Venice Project</a></li>
<li><a href='http://www.masio.com.mx/minipost-transferencias-electronicas-en-google-adsense-para-mexico' rel='bookmark' title='Permanent Link: Minipost: Transferencias electronicas en Google Adsense para Mexico'>Minipost: Transferencias electronicas en Google Adsense para Mexico</a></li>
<li><a href='http://www.masio.com.mx/guia-practica-para-deshacerte-de-tus-programadores' rel='bookmark' title='Permanent Link: Guia practica para deshacerte de tus programadores'>Guia practica para deshacerte de tus programadores</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Eres programador y tienes mucho tiempo libre? Aquí hay un buen reto para las mentes inquisitivas.</p>
<p>El <a href="http://projecteuler.net/">proyecto euler</a> es un sitio que contiene muchos problemas diseñados especialmente para aprender y pensar. Los problemas usualmente consisten en enigmas matemáticos que puedes resolver con una computadora, por lo que saber programar es requerido.</p>
<p>Un problema tipico es por ejemplo:</p>
<blockquote><p>Si listamos todos los números naturales menores a 10 que son múltiplos de 3 o 5, obtenemos 3,5,6 y 9. La suma de esos múltiplos es 23. Encuentre la suma de todos los multiplos de 3 o 5 menores a 1000</p></blockquote>
<p>Por cierto, la respuesta es 233168.</p>
<p><span style="color: #ffffff;">Una linea en python: print sum([x for x in range(1000) if x % 3 == 0 or x % 5 == 0])</span></p>
<p>Muchos de estos problemas pueden ser resueltos por fuerza bruta pero una de las condiciones es que los programas que resuelvan los problemas corran abajo de 1 minuto. Por lo que tienes que pensar un poco.</p>
<p>La pagina lleva un registro de todos los problemas que has resuelto y hay existe la &#8220;<a href="http://projecteuler.net/index.php?section=scores">pared de la fama</a>&#8221; en la que están los nombres de quien ha resuelto la mayor cantidad de problemas.</p>
<p>Si te interesa, <a href="http://projecteuler.net/index.php?section=register">registrate</a>, y a resolver problemas.</p>


<p>Related posts:<ol><li><a href='http://www.masio.com.mx/the-venice-project' rel='bookmark' title='Permanent Link: The Venice Project'>The Venice Project</a></li>
<li><a href='http://www.masio.com.mx/minipost-transferencias-electronicas-en-google-adsense-para-mexico' rel='bookmark' title='Permanent Link: Minipost: Transferencias electronicas en Google Adsense para Mexico'>Minipost: Transferencias electronicas en Google Adsense para Mexico</a></li>
<li><a href='http://www.masio.com.mx/guia-practica-para-deshacerte-de-tus-programadores' rel='bookmark' title='Permanent Link: Guia practica para deshacerte de tus programadores'>Guia practica para deshacerte de tus programadores</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.masio.com.mx/procastinacion-para-geeks-project-euler/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>StallmanFacts.com</title>
		<link>http://www.masio.com.mx/stallmanfactscom</link>
		<comments>http://www.masio.com.mx/stallmanfactscom#comments</comments>
		<pubDate>Wed, 06 Feb 2008 00:28:14 +0000</pubDate>
		<dc:creator>Masiosare</dc:creator>
				<category><![CDATA[fun]]></category>
		<category><![CDATA[programacion]]></category>

		<guid isPermaLink="false">http://www.masio.com.mx/stallmanfactscom-2/</guid>
		<description><![CDATA[Lo que hace la aburrición. Ayer tras un día libre (día feriado, benditos sean nuestros diputados) y tras meses de no tirar código, nació el sitio StallmanFacts.com. Que es? Bueno, si conoces los chucknorrisfacts.com te parecerá muy similar. Todo nació cuando Stallman anuncio que el no usa un navegador, sino tiene programado un demonio al [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Lo que hace la aburrición. Ayer tras un día libre (día feriado, benditos sean nuestros diputados) y tras meses de no tirar código, nació el sitio <a href="http://StallmanFacts.com">StallmanFacts.com</a>. </p>
<p>Que es? Bueno, si conoces los <a href="http://chucknorrisfacts.com">chucknorrisfacts.com</a> te parecerá muy similar. </p>
<p>Todo nació cuando <a href="http://en.wikipedia.org/wiki/Richard_Stallman">Stallman</a> anuncio que el <a href="http://lwn.net/Articles/262570/">no usa un navegador</a>, sino tiene programado un demonio al que le envía un correo pidiendo una pagina Web, y le regresa dicha pagina por email. Bromas empezaron a saltar sobre que Stallman es el nuevo Chuck Norris.</p>
<p>Así que porque no hacerle honor al maestro de LISP y GNU?&nbsp; Tomando de base <a href="http://reddit.com/r/programming/info/675jj/comments/">este thread</a> de reddit, empezó a girar la rueda. </p>
<p>En el sitio puedes votar por tus favoritas, al estilo reddit. También puedes sugerir ideas para incluirlas en el listado. Ahora mismo, no hay muchas validaciones. En especifico, pueden votar las veces que quieran. Nada mas no abusen <img src='http://www.masio.com.mx/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Tomo un par de horas levantar el sitio. Lo mas complicado fue darme el tiempo y evitar las interrupciones (jeje!). Usando una plantilla de <a href="http://andreasviklund.com/">andreas viklund</a> y una imagen de <a href="http://xkcd.com">xkcd</a>, le di la imagen al sitio. Los que me conocen saben que el diseño no es una de mis virtudes. Es mas, es un defecto. <img src='http://www.masio.com.mx/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>El sitio usa un poquito de ajax para los votos, con <a href="http://prototypejs.org">prototype</a>. Esta hecho con PHP. El sitio debe ser de unas 200 líneas de código. </p>
<p>Pues eso. Enjoy! <img src='http://www.masio.com.mx/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.masio.com.mx/stallmanfactscom/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>El test ACID3 esta listo</title>
		<link>http://www.masio.com.mx/el-test-acid3-esta-listo</link>
		<comments>http://www.masio.com.mx/el-test-acid3-esta-listo#comments</comments>
		<pubDate>Wed, 30 Jan 2008 22:03:00 +0000</pubDate>
		<dc:creator>Masiosare</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[programacion]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.masio.com.mx/el-test-acid3-esta-listo/</guid>
		<description><![CDATA[Al parecer, el test ACID3 esta listo. Se publico hoy que Ian Hickson, ya tiene listo el test ACID3. Este test prueba capacidades que aun no están listas en los navegadores, como CSS3, SVG, entre otras. Aunque no he podido encontrar confirmación aun de esto, ni en el blog de Ian, ni en la pagina [...]


Related posts:<ol><li><a href='http://www.masio.com.mx/minipost-firefox-400-millones-de-descargas' rel='bookmark' title='Permanent Link: Minipost: Firefox = 400 millones de descargas'>Minipost: Firefox = 400 millones de descargas</a></li>
<li><a href='http://www.masio.com.mx/sobre-la-vulnerabilidad-en-firefox-y-otros' rel='bookmark' title='Permanent Link: Sobre la vulnerabilidad en firefox (y otros&#8230;)'>Sobre la vulnerabilidad en firefox (y otros&#8230;)</a></li>
<li><a href='http://www.masio.com.mx/detengan-la-locura-de-ajax' rel='bookmark' title='Permanent Link: Detengan la locura de AJAX'>Detengan la locura de AJAX</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Al parecer, el test ACID3 esta listo. Se <a href="http://www.css3.info/acid3-completed/">publico</a> hoy que Ian Hickson, ya tiene listo el test ACID3. Este test prueba capacidades que aun no están listas en los navegadores, como CSS3, SVG, entre otras. Aunque no he podido encontrar confirmación aun de esto, ni en el <a href="http://ln.hixie.ch/">blog de Ian</a>, ni en la pagina del <a href="http://webstandards.org/">Web Standards Project</a>.</p>
<p>Suponiendo que este test es el final, la pregunta siguiente es: En que estado se encuentran los navegadores el día de hoy?</p>
<p>Haciendo unas pruebas rápidas, ninguno de los navegadores mas populares (IE, Firefox, Opera) tiene soporte completo, pero algunos fallan mas espectacularmente que otros. </p>
<p>Estas son screenshots del test en una máquina con Windows XP. Hacer click para agrandar la imagen.</p>
<table cellspacing="0" cellpadding="5" width="518" border="1">
<tbody>
<tr>
<td valign="top" width="259"><strong>IE 6</strong><br />Tiene flojera de siquiera empezar </td>
<td valign="top" width="257"><a href="http://www.masio.com.mx/wp-content/uploads/2008/01/acid-ie6.png"><img height="216" alt="acid-ie6" src="http://www.masio.com.mx/wp-content/uploads/2008/01/acid-ie6-thumb.png" width="244" border="0"></a></td>
</tr>
<tr>
<td valign="top" width="250"><strong>IE7<br /></strong> Falla espectacularmente, solo un punto mejor que el anterior</td>
<td valign="top" width="266"><a href="http://www.masio.com.mx/wp-content/uploads/2008/01/acid-ie7.png"><img height="164" alt="acid-ie7" src="http://www.masio.com.mx/wp-content/uploads/2008/01/acid-ie7-thumb.png" width="244" border="0"></a></td>
</tr>
<tr>
<td valign="top" width="244"><strong>Opera 9.25 (versión oficial)</strong></p>
<p>Ahora si ya empezamos a ver resultados. Se comenta que la versión de desarrollo llega a 60%</td>
<td valign="top" width="272"><a href="http://www.masio.com.mx/wp-content/uploads/2008/01/acid-opera.png"><img height="186" alt="acid-opera" src="http://www.masio.com.mx/wp-content/uploads/2008/01/acid-opera-thumb.png" width="244" border="0"></a></td>
</tr>
<tr>
<td valign="top" width="241"><strong>Firefox 2.0.0.11<br /></strong>Aquí ya empezamos a ver un progreso de como se vería el test, pero todavía le faltan muchas cosas</td>
<td valign="top" width="275"><a href="http://www.masio.com.mx/wp-content/uploads/2008/01/acid-ff2.png"><img height="215" alt="acid-ff2" src="http://www.masio.com.mx/wp-content/uploads/2008/01/acid-ff2-thumb.png" width="244" border="0"></a></td>
</tr>
<tr>
<td valign="top" width="239"><strong>Firefox 3.0 B2<br /></strong>Por fin, un navegador que falla con estilo. La animación corre, aunque todavía le falta mucho. </td>
<td valign="top" width="277"><a href="http://www.masio.com.mx/wp-content/uploads/2008/01/acid-ff3.png"><img height="191" alt="acid-ff3" src="http://www.masio.com.mx/wp-content/uploads/2008/01/acid-ff3-thumb.png" width="244" border="0"></a></td>
</tr>
<tr>
<td valign="top" width="238"><strong>Firefox 3.0 B3pre</strong><br />W00t!! Tenemos un ganador.<br />Ok, no llega al 100%, pero deja mordiendo el polvo a todos los demás <img src='http://www.masio.com.mx/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </td>
<td valign="top" width="280"><a href="http://www.masio.com.mx/wp-content/uploads/2008/01/acid-ff3b3.png"><img height="191" alt="acid-ff3b3" src="http://www.masio.com.mx/wp-content/uploads/2008/01/acid-ff3b3-thumb.png" width="244" border="0"></a></td>
</tr>
</tbody>
</table>
<p>Se supone que el test estará completo pronto, si no es que este es el final. Pone la vara bastante alta para los navegadores actuales y mucho para aquellos que van muy retrasados (te estoy viendo [con odio] a ti IE). </p>
<p>Y a tu navegador, como le va? <img src='http://www.masio.com.mx/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p> P.D. Están fregones los nuevos iconos para el FF3, no? <img src='http://www.masio.com.mx/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>


<p>Related posts:<ol><li><a href='http://www.masio.com.mx/minipost-firefox-400-millones-de-descargas' rel='bookmark' title='Permanent Link: Minipost: Firefox = 400 millones de descargas'>Minipost: Firefox = 400 millones de descargas</a></li>
<li><a href='http://www.masio.com.mx/sobre-la-vulnerabilidad-en-firefox-y-otros' rel='bookmark' title='Permanent Link: Sobre la vulnerabilidad en firefox (y otros&#8230;)'>Sobre la vulnerabilidad en firefox (y otros&#8230;)</a></li>
<li><a href='http://www.masio.com.mx/detengan-la-locura-de-ajax' rel='bookmark' title='Permanent Link: Detengan la locura de AJAX'>Detengan la locura de AJAX</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.masio.com.mx/el-test-acid3-esta-listo/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Curiosidades de la programaci&#243;n</title>
		<link>http://www.masio.com.mx/curiosidades-de-la-programacin</link>
		<comments>http://www.masio.com.mx/curiosidades-de-la-programacin#comments</comments>
		<pubDate>Mon, 21 Jan 2008 23:07:34 +0000</pubDate>
		<dc:creator>Masiosare</dc:creator>
				<category><![CDATA[programacion]]></category>

		<guid isPermaLink="false">http://www.masio.com.mx/curiosidades-de-la-programacin/</guid>
		<description><![CDATA[Para el articulo anterior hice un poco de investigación para algunas definiciones y me encontré cosas muy curiosas, aquí les presento algunas de estas. Cuantos lenguajes de programación conoces? 10? 30? 50? Novato. Que te parece 1150 lenguajes diferentes de programación?. En la pagina http://99-bottles-of-beer.net/ muestran 1150 lenguajes diferentes haciendo una sola cosa: Un programa [...]


Related posts:<ol><li><a href='http://www.masio.com.mx/gengo-wordpress-plugin' rel='bookmark' title='Permanent Link: Gengo WordPress Plugin'>Gengo WordPress Plugin</a></li>
<li><a href='http://www.masio.com.mx/guerra-de-lenguajes-irrelevante' rel='bookmark' title='Permanent Link: Guerra de lenguajes? Irrelevante'>Guerra de lenguajes? Irrelevante</a></li>
<li><a href='http://www.masio.com.mx/fibonacci-en-una-linea' rel='bookmark' title='Permanent Link: Fibonacci en una linea'>Fibonacci en una linea</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Para el articulo anterior hice un poco de investigación para algunas definiciones y me encontré cosas muy curiosas, aquí les presento algunas de estas.</p>
<ol>
<li>Cuantos lenguajes de programación conoces? 10? 30? 50? Novato. Que te parece <strong>1150</strong> lenguajes diferentes de programación?. En la pagina <a title="http://99-bottles-of-beer.net/" href="http://99-bottles-of-beer.net/">http://99-bottles-of-beer.net/</a> muestran 1150 lenguajes diferentes haciendo una sola cosa: Un programa que imprime la canción <a href="http://99-bottles-of-beer.net/lyrics.html">&#8220;99 botellas de cerveza&#8221;.</a> No conozco un listado mas grande de lenguajes.
<li>Sabes cual es el lenguaje de programación mas difícil que existe? Tache si contestaste &#8220;Perl&#8221;. El lenguaje de programación mas difícil se llama <a href="http://www.antwon.com/other/malbolge/malbolge.txt">Malbolge</a>. Entre las peculiaridades de este lenguaje están:
<ol>
<li>En el 98, su programador lo lanzo al dominio publico.
<li>Desde su aparición, se tardo mas de 2 años en aparecer su primer programador.
<li>Porque digo &#8220;aparición&#8221;? Malbolge es un lenguaje de programación generado por un programa escrito en LISP, fue pues, generado por una máquina.
<li>Cada instrucción es encriptada (le resta 33, le suma el puntero y le realiza mod 94) después de que se ejecuta. Por lo que cada instrucción es diferente cada vez que se ejecuta. Es altamente impredecible.
<li>Crees que exagero? Esta seria la versión de hello world de Malbolge.
<div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4">
<div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   1:</span> (=&lt;`:9876Z4321UT.-Q+*)M<span style="color: #006080">'&amp;%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   2:</span> hKs_dG5[m_BA{?-Y;;Vb'</span>rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O&lt; </pre>
</div>
</div>
<li>Existe también la versión de <a href="http://www.99-bottles-of-beer.net/language-malbolge-995.html">99 bottles of beer para este lenguaje</a>. El propio creador del lenguaje no creía que esto fuera posible. Solo por curiosidad, velo. Es impresionante
<li>Alguien planteo crear un convertidor de <a href="http://www.lscheffer.com/bf2malbolge.html">Brainfuck a Malbolge</a>. Brainfuck probablemente es el segundo lenguaje mas complicado que existe. Y esta, la idea mas masoquista que se me puede ocurrir. Casi como programar en java <img src='http://www.masio.com.mx/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  </li>
</ol>
<li>El primer lenguaje de programación no fue en una computadora. Los primeros lenguajes de programación, o mas específicamente lenguajes <a href="http://en.wikipedia.org/wiki/Domain-specific_programming_language">de dominio especifico</a> fueron los telares o los pianos del siglo 19.
<li>Existe un lenguaje de programación basado en las <a href="http://shakespearelang.sourceforge.net/">obras de Shakespeare</a>. Usa palabras reservadas como Juliet, Romeo y Ophelia.
<li>Has oído hablar del "Spaghetti code"? Si crees que PHP es el rey en ese campo, no conoces el lenguaje <a href="http://www.esolangs.org/wiki/Spaghetti">Spaghetti</a>.
<li>&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p><a href="http://en.wikipedia.org/wiki/Whitespace_%28programming_language%29">[hello world en Whitespace]</a></p>
<li>No todos los lenguajes tienen for, do, while, etc. Hay lenguajes que se programan con colores. Si, con colores. El lenguaje <a href="http://www.dangermouse.net/esoteric/piet.html">Piet</a> recoge colores para realizar sus instrucciones. Sus programas parecen pinturas abstractas. Este es el ejemplo de un hello world:
<p><a href="http://www.masio.com.mx/wp-content/uploads/2008/01/piet-hello-big.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="149" alt="Piet_hello_big" src="http://www.masio.com.mx/wp-content/uploads/2008/01/piet-hello-big-thumb.png" width="154" border="0"></a>&nbsp;</p>
<p>Y este es un programa que parece una pintura de Mondrian... y lo que hace es imprimir "Piet".</p>
<p><a href="http://www.masio.com.mx/wp-content/uploads/2008/01/piet.gif"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="154" alt="Piet" src="http://www.masio.com.mx/wp-content/uploads/2008/01/piet-thumb.gif" width="154" border="0"></a></p>
<p>Su nombre viene de <a href="http://en.wikipedia.org/wiki/Piet_Mondrian">Piet Mondrian</a>, un <a href="http://www.ibiblio.org/wm/paint/auth/mondrian/">pintor abstracto</a>. <br />Y por supuesto, también tiene su programa de 99 <a href="http://99-bottles-of-beer.net/language-piet-1269.html">botellas de cerveza</a>.</p>
<p><a href="http://www.masio.com.mx/wp-content/uploads/2008/01/1269.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="233" alt="1269" src="http://www.masio.com.mx/wp-content/uploads/2008/01/1269-thumb.png" width="244" border="0"></a></p>
<li>Por supuesto, se tiene que mencionar el LOLCODE, basado en los <a href="http://en.wikipedia.org/wiki/Lolcat">Lolcatz</a>. Este es un hello world escrito en LOLCODE.
<div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4">
<div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   1:</span> HAI</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   2:</span> CAN HAS STDIO?</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   3:</span> VISIBLE <span style="color: #006080">"HAI WORLD!"</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   4:</span> KTHXBYE [8]</pre>
</div>
</div>
<p><a href="http://www.masio.com.mx/wp-content/uploads/2008/01/531257569-e405cb8660.jpg"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="531257569_e405cb8660" src="http://www.masio.com.mx/wp-content/uploads/2008/01/531257569-e405cb8660-thumb.jpg" width="164" border="0"></a> <a href="http://www.masio.com.mx/wp-content/uploads/2008/01/524925307-5a372d5dd3.jpg"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="524925307_5a372d5dd3" src="http://www.masio.com.mx/wp-content/uploads/2008/01/524925307-5a372d5dd3-thumb.jpg" width="187" border="0"></a></p>
<li>Así como el primer lenguaje de programación no fue una computadora, la primer computadora no era ... err.. una computadora como hoy las conocemos. Vamos ni siquiera era una máquina. La primer noción de la palabra computadora viene del siglo 17, que significa precisamente, "aquel que computa. Una computadora pues era, una persona que computaba, que hacia cálculos.
<li>Para finalizar, el programa de las <a href="http://99-bottles-of-beer.net/language-perl-737.html">99 botellas de cerveza, en perl:</a>
<div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4">
<div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   1:</span> ''=~(        '(?{'        .('`'        |'%')        .('['        ^'-')</pre>
</p>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   2:</span> .('`'        |'!')        .('`'        |',')        .'"'.        '\\$'</pre>
</p>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   3:</span> .'=='        .('['        ^'+')        .('`'        |'/')        .('['</pre>
</p>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   4:</span> ^'+')        .'||'        .<span style="color: #006080">(';</span>'        <span style="color: #006080">&amp;</span>'=')        .<span style="color: #006080">(';</span>'        <span style="color: #006080">&amp;</span>'='<span style="color: #006080">)</pre>
</p>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   5:</span> .';</span>-'        .'-'.        '\\$'        .'=;'        .('['        ^'(')</pre>
</p>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   6:</span> .('['        ^'.')        .('`'        |'"')        .('!'        ^'+')</pre>
</p>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   7:</span> '_\\{'      .'(\\<span style="color: #006080">$'      .';</span>=('.      '\\$=|'      ."\|".(      '`'^'.'</pre>
</p>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   8:</span> (('`')|    '/').').'    .'\\"'.+(    '{'^'[').    ('`'|'"')    .('`'|'/'</pre>
</p>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   9:</span> '['^'/')  .('['^'/').  ('`'|',').(  '`'|('%')).  '\\".\\"'.(  '['^('(')).</pre>
</p>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  10:</span> "'.('['^  '#').'!!--'  .'\\$=.\\"'  .('{'^'[').  ('`'|'/').(  '`'|"\<span style="color: #006080">&amp;</span>").(</pre>
</p>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  11:</span> ^"\[").(  '`'|"\"").(  '`'|"\%").(  '`'|"\%").(  '['^(')')).  '\\").\\"'.</pre>
</p>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  12:</span> '^'[').(  '`'|"\/").(  '`'|"\.").(  '{'^"\[").(  '['^"\/").(  '`'|"\(").(</pre>
</p>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  13:</span> |"\%").(  '{'^"\[").(  '['^"\,").(  '`'|"\!").(  '`'|"\,").(  '`'|(',')).</pre>
</p>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  14:</span> "\\}'.+(  '['^"\+").(  '['^"\)").(  '`'|"\)").(  '`'|"\.").(  '['^('/')).</pre>
</p>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  15:</span> ,\\",'.(  '{'^('[')).  ('\\$;!').(  '!'^"\+").(  '{'^"\/").(  '`'|"\!").(</pre>
</p>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  16:</span> |"\+").(  '`'|"\%").(  '{'^"\[").(  '`'|"\/").(  '`'|"\.").(  '`'|"\%").(</pre>
</p>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  17:</span> ^"\[").(  '`'|"\$").(  '`'|"\/").(  '['^"\,").(  '`'|('.')).  ','.(('{')^</pre>
</p>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  18:</span> ).("\["^  '+').("\`"|  '!').("\["^  '(').("\["^  '(').("\{"^  '[').("\`"|</pre>
</p>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  19:</span> ).("\["^  '/').("\{"^  '[').("\`"|  '!').("\["^  ')').("\`"|  '/').("\["^</pre>
</p>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  20:</span> ).("\`"|  '.').("\`"|  '$')."\,".(  '!'^('+')).  '\\",_,\\"'  .'!'.("\!"^</pre>
</p>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  21:</span> ).("\!"^  '+').'\\"'.  ('['^',').(  '`'|"\(").(  '`'|"\)").(  '`'|"\,").(</pre>
</p>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  22:</span> |('%')).  '++\\$="})'  );$:=('.')^  '<span style="color: #006080">~';</span>$~='@'|  '<span style="color: #006080">(';</span>$^=')'^  '<span style="color: #006080">[';</span>$/='<span style="color: #006080">`';</span></pre>
</div>
</div>
</li>
</ol>


<p>Related posts:<ol><li><a href='http://www.masio.com.mx/gengo-wordpress-plugin' rel='bookmark' title='Permanent Link: Gengo WordPress Plugin'>Gengo WordPress Plugin</a></li>
<li><a href='http://www.masio.com.mx/guerra-de-lenguajes-irrelevante' rel='bookmark' title='Permanent Link: Guerra de lenguajes? Irrelevante'>Guerra de lenguajes? Irrelevante</a></li>
<li><a href='http://www.masio.com.mx/fibonacci-en-una-linea' rel='bookmark' title='Permanent Link: Fibonacci en una linea'>Fibonacci en una linea</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.masio.com.mx/curiosidades-de-la-programacin/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Guerra de lenguajes? Irrelevante</title>
		<link>http://www.masio.com.mx/guerra-de-lenguajes-irrelevante</link>
		<comments>http://www.masio.com.mx/guerra-de-lenguajes-irrelevante#comments</comments>
		<pubDate>Mon, 14 Jan 2008 06:59:02 +0000</pubDate>
		<dc:creator>Masiosare</dc:creator>
				<category><![CDATA[programacion]]></category>

		<guid isPermaLink="false">http://www.masio.com.mx/guerra-de-lenguajes-irrelevante/es/</guid>
		<description><![CDATA[Cual es mejor? Php o Ruby? Java o C#? Python o Perl? La respuesta definitiva es: No importa. Me resulta muy divertido como la mitad del Internet se puede resumir en discusiones irrelevantes como esta. (La otra mitad se dedica a otra cosa). Lo dudas? Mira esta tabla: búsqueda en Google Numero de resultados Php [...]


Related posts:<ol><li><a href='http://www.masio.com.mx/fibonacci-en-una-linea' rel='bookmark' title='Permanent Link: Fibonacci en una linea'>Fibonacci en una linea</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Cual es mejor? Php o Ruby? Java o C#? Python o Perl? La respuesta definitiva es: No importa.</p>
<p>Me resulta muy divertido como la mitad del Internet se puede resumir en discusiones irrelevantes como esta. (La otra mitad se dedica a <a href="http://www.google.com.mx/search?q=p0rn">otra cosa</a>). Lo dudas? Mira esta tabla:</p>
<table cellspacing="0" cellpadding="2" width="400" border="1">
<tbody>
<tr>
<td valign="top" width="199"><strong>búsqueda en Google</strong></td>
<td valign="top" width="199"><strong>Numero de resultados</strong></td>
</tr>
<tr>
<td valign="top" width="199">Php sucks</td>
<td valign="top" width="199">286,000</td>
</tr>
<tr>
<td valign="top" width="199">Perl sucks</td>
<td valign="top" width="199"><b>298,000</b></td>
</tr>
<tr>
<td valign="top" width="199">Java sucks</td>
<td valign="top" width="199">139,000</td>
</tr>
<tr>
<td valign="top" width="199">C# sucks</td>
<td valign="top" width="199">248,000</td>
</tr>
<tr>
<td valign="top" width="199">You suck</td>
<td valign="top" width="200">10,300,000</td>
</tr>
</tbody>
</table>
<p>Tal vez decir &#8220;la mitad&#8221; fue una exageración, pero aun así, litros y litros de tinta se han escrito sobre si tal o cual lenguaje es mejor o porque java apesta o porque Php es un lenguaje de juguete. Pero todas esas discusiones están respondiendo a la pregunta incorrecta:</p>
<p>¿Para que me sirve ese lenguaje?</p>
<p>Un lenguaje de programación no es mas que una herramienta para lograr un fin. Así como puedo escribir un CRM en ensamblador o <a href="http://userpages.umbc.edu/~mabzug1///bash-httpd.html">en bash</a>, si eres lo suficientemente masoquista, también puedes escribir un script para shell en C#. O en cobol. O en <a href="http://compsoc.dur.ac.uk/whitespace/">whitespace</a>.</p>
<p>Dadas las suficientes herramientas, cualquier lenguaje es capaz de cualquier cosa. La diferencia es el esfuerzo necesario para lograrlo.</p>
<p>¿Que quiero decir con todo esto?</p>
<p><strong>Conoce tu lenguaje.</strong></p>
<p>Y no me refiero a que te aprendas todos los namespaces o clases o funciones del lenguaje, sino que aprendas los conceptos que son posibles con el lenguaje y que entiendas para que sirve.</p>
<p>En especifico: </p>
<ol>
<li>Paradigma: Es <a href="http://en.wikipedia.org/wiki/Procedural_programming">procedural</a>? <a href="http://en.wikipedia.org/wiki/Object-oriented_programming">OOP</a>? <a href="http://en.wikipedia.org/wiki/Functional_programming">Funcional</a>? <a href="http://en.wikipedia.org/wiki/Logic_programming">Lógico</a>?
<li>Acepta programación funcional (aunque no sea lenguaje puramente funcional)?
<li>Es compilado o interpretado?
<li>Es tipado o no tipado?
<li>Es estáticamente tipado cada expresión tiene un tipo)&nbsp; o dinámicamente tipado (solo los valores tienen tipo)?
<li>Es fuertemente tipado (no puedes convertir un valor sin un cast) o es débilmente tipado (se puede convertir el tipo dinámicamente)?
<li>Es latentemente tipado (no es necesario escribir la declaración de tipo) o manifiestamente tipado (debes explícitamente declarar el tipo)?
<li>Es nominalmente tipado o estructuralmente tipado (similar al <a href="http://en.wikipedia.org/wiki/Duck_typing">duck typing</a>)? </li>
</ol>
<p>Tu sabes a que categoría pertenece tu lenguaje de preferencia?</p>
<p>Para que me sirve esto (a parte de la cultura general)?&nbsp; <br />Para crear código mas eficiente, o para hacernos la vida mas fácil. </p>
<p>Por ejemplo:</p>
<p>Si necesitas hacer un programa que recibe datos del usuario, un lenguaje fuertemente tipado hace mas fácil la programación en cuanto a seguridad, ya que si el dato que recibes, no concuerda con el dato que esperas, simplemente lanzas una excepción. En comparación, si tu lenguaje es dinámicamente tipado tienes que hacer comprobaciones extras. Sin embargo en el segundo ejemplo es mas fácil de programarlo y en muchas menos líneas de código, ya que te ahorras toda la conversión de tipos. </p>
<p>Caso especifico: Quieres construir una cadena de SQL y no sabes que campos usaras y tampoco los tipos de estos campos (por ejemplo, si quieres construir tu ORM). En un lenguaje latente, dinámico y débilmente tipado (como Php, por ejemplo), es un trabajo sumamente sencillo . En un lenguaje como Java que es prácticamente todo lo contrario, se requieren líneas y líneas de definiciones de tipos, casts y otras cosas. Y a mas líneas de código, mas posibilidad de errores y dificultad de mantenimiento.</p>
<p>O tocando el punto de los lenguajes funcionales. En un lenguaje funcional (o que acepta programación funcional) típicamente se pueden escribir funciones con mucho menos líneas de código.</p>
<p>Por ejemplo, estas dos funciones en Python son equivalentes:</p>
<div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4">
<div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   1:</span> target = [] # create empty list</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   2:</span> <span style="color: #0000ff">for</span> item <span style="color: #0000ff">in</span> source_list: # iterate over each thing <span style="color: #0000ff">in</span> source</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   3:</span>    trans1 = G(item) # transform the item with the G() function</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   4:</span>    trans2 = F(trans1) # second transform with the F() function</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   5:</span>    target.append(trans2) # add transformed item to target</pre>
</div>
</div>
<div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4">
<div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   1:</span> compose2 = lambda F, G: lambda x: F(G(x))</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   2:</span> target = map(compose2(F,G), source_list)</pre>
</div>
</div>
<p>Tal vez la segunda función parezca mas complicada, para aquellos expertos en programación funcional, les parecerá de lo mas sencillo. Y justamente ese es el objetivo.</p>
<p>Volviendo al punto, y concluyendo. No importa que lenguajes uses: Aprende a usarlo. Y si vas a discutir por cual es el mejor o por cual tiene la declaración de tipos mas grande[jeje], por lo menos conocelo bien a fondo. Así por lo menos las discusiones irán mas allá del típico &#8220;java sucks&#8221;.</p>
<p>&nbsp;</p>
<p><a title="http://en.wikipedia.org/wiki/Turing_tarpit" href="http://en.wikipedia.org/wiki/Turing_tarpit"></a></p>


<p>Related posts:<ol><li><a href='http://www.masio.com.mx/fibonacci-en-una-linea' rel='bookmark' title='Permanent Link: Fibonacci en una linea'>Fibonacci en una linea</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.masio.com.mx/guerra-de-lenguajes-irrelevante/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Detengan la locura de AJAX</title>
		<link>http://www.masio.com.mx/detengan-la-locura-de-ajax</link>
		<comments>http://www.masio.com.mx/detengan-la-locura-de-ajax#comments</comments>
		<pubDate>Mon, 01 Oct 2007 14:06:02 +0000</pubDate>
		<dc:creator>Masiosare</dc:creator>
				<category><![CDATA[programacion]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.masio.com.mx/detengan-la-locura-de-ajax/</guid>
		<description><![CDATA[Con la llegada de AJAX, el desarrollo de internet dio un avance gigantesco. Las compa&#xF1;ias s se empezaron a interesar de nuevo por el web y el internet. Sin duda, AJAX is a good thing&#xAE;. Hoy si no usas AJAX en tus desarrrollos, no estas en la ola del web 2.0 (yuck!). Pero ahora yo [...]


Related posts:<ol><li><a href='http://www.masio.com.mx/google-feed-api-y-the-daily-show' rel='bookmark' title='Permanent Link: Google Feed Api y The Daily show'>Google Feed Api y The Daily show</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Con la llegada de AJAX, el desarrollo de internet dio un avance gigantesco. Las compa&#xF1;ias s se empezaron a interesar de nuevo por el web y el internet. </p>
<p>Sin duda, AJAX is a <a href="http://en.wikipedia.org/wiki/Good_Thing">good thing&#xAE;.</a> Hoy si no usas AJAX en tus desarrrollos, no estas en la ola del web 2.0 (yuck!). Pero ahora yo les pido: Por favor, detengan la locura.</p>
<p>Como siempre, en mexico, somos los ultimos en enterarnos de la tecnologia y como siempre los <a title="Pointy Haired Boss" href="http://en.wikipedia.org/wiki/Good_Thing">PHB</a> (o sea, tu jefe) son los ultimos de los ultimos en enterarse. Leyeron en un articulo del periodico reforma que AJAX era lo ultimo, lo nuevo, lo &quot;IN&quot; y te empiezan a pedir que todo lo que hagas, sea lo que sea, tenga AJAX.</p>
<p>Tu link va a cambiar de color? Hazlo con ajax. Tu pagina es solamente informativa? No importa, que cambie los textos con AJAX (aunque esto rompa tu posicion en buscadores). Vas a tomarte un cafe? Que sea con dos de azucar y un poco de AJAX. </p>
<p>AJAX (como en el siglo pasado fueron los frames [<abbr title="Chiste Local">jeje!</abbr>]) es solo una herramienta. Con ella se pueden crear aplicaciones interactivas y altamente usables, pero como todo, tiene su lugar y su momento. Aprende bien para que sirve (actualizar contenido del servidor dinamicamente, no mas, no menos) y no te dejes llevar por la &quot;moda&quot; (o por tu jefe) y aprende a usar las herramientas que tienes a la mano. Hay veces que una simple liga o un boton normal es lo correcto, no sobrecompliques el dise&#xF1;o solo por que asi te lo requieren aunque no tenga mucho sentido.</p>
<p>Yo soy un gran fanatico de las nuevas tecnologias y soy gran fan de Ajax. Pero por favor, ayuden a detener esta locura. Ignora aquellos que, como solo conocen los martillos, todos los problemas les parecen clavos.</p>


<p>Related posts:<ol><li><a href='http://www.masio.com.mx/google-feed-api-y-the-daily-show' rel='bookmark' title='Permanent Link: Google Feed Api y The Daily show'>Google Feed Api y The Daily show</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.masio.com.mx/detengan-la-locura-de-ajax/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Fibonacci en una linea</title>
		<link>http://www.masio.com.mx/fibonacci-en-una-linea</link>
		<comments>http://www.masio.com.mx/fibonacci-en-una-linea#comments</comments>
		<pubDate>Fri, 13 Jul 2007 16:15:54 +0000</pubDate>
		<dc:creator>Masiosare</dc:creator>
				<category><![CDATA[programacion]]></category>

		<guid isPermaLink="false">http://www.masio.com.mx/2007/07/13/fibonacci-en-una-linea/es/</guid>
		<description><![CDATA[Hoy leo en 3monkeyweb una especie de reto en donde con una linea de perl se escriben los primeros 20 numeros de la serie de fibonacci. El reto es escribir el programa mas pequeño en el lenguaje que tu desees. Para las 3 personas que no saben que es esa serie, en terminos mundanos, es [...]


Related posts:<ol><li><a href='http://www.masio.com.mx/validacion-de-formas-no-obtrusiva' rel='bookmark' title='Permanent Link: Validacion de formas no obtrusiva'>Validacion de formas no obtrusiva</a></li>
<li><a href='http://www.masio.com.mx/una-probadita-de-beryl' rel='bookmark' title='Permanent Link: Una probadita de Beryl'>Una probadita de Beryl</a></li>
<li><a href='http://www.masio.com.mx/robo-de-cuentas-bancarias-y-el-status-en-mexico' rel='bookmark' title='Permanent Link: Robo de cuentas bancarias y el status en mexico'>Robo de cuentas bancarias y el status en mexico</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Hoy leo en <a href="http://3monkeyweb.com/3monkeys/2007/07/12/fibonacci-series-in-one-line-of-perl/">3monkeyweb</a> una especie de reto en donde con una linea de perl se escriben los primeros 20 numeros de la <a href="http://es.wikipedia.org/wiki/Sucesi%C3%B3n_de_Fibonacci">serie de fibonacci</a>. El reto es escribir el programa mas pequeño en el lenguaje que tu desees.</p>
<p>Para las 3 personas que no saben que es esa serie, en terminos mundanos, es una serie de numeros en la que  el siguiente numero es la suma de los dos anteriores, empezando con los numeros cero y uno.</p>
<p>Es decir, los primeros 7 numeros serian</p>
<p>0,1,1,2,3,5</p>
<p>Yo quiero hacer mi contribucion a la ciencia (jeje!), solo por diversion.</p>
<p>El lenguaje que yo escogi es Javascript, porque a traves de la historia ha sido terriblemente vilpendiado pero hoy gracias a Ajax y otras monerias, esta tomando un segundo aire. Y porque ademas, para los gustos no hacen falta razones.</p>
<p>Tengo 2 versiones, una de 52 y una de 53 caracteres, ambas no recursivas.</p>
<p><code>p=1;for(k=0;k&lt;4182;){document.write(k);t=p;p+=k;k=t}</code><br />
<code><br />
k=0;p=1;while(k&lt;4182){document.write(k);t=p;p+=k;k=t}</code></p>
<p>Ambos programas imprimen lo siguiente:</p>
<pre> 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181</pre>
<p>Si quieren una con salto de linea, agreguenle 2 caracteres a ambas (cambiando document.write a document.writeln).</p>
<p>Pueden hacer una version mas pequeña? O quieren compartir la suya? Quien lo intenta en <a href="http://en.wikipedia.org/wiki/Criticism_of_Java#Class_path">Java</a>? <img src='http://www.masio.com.mx/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Se aceptan sugerencias y comentarios.</p>
<p>Le mando pingback a <a href="http://www.michoacano.com.mx/2007/07/13/la-forma-mas-facil-de-saber-si-un-numero-es-primo-o-no/">Michoacano</a> y a <a href="http://b3co.com/archivo/1132">B3co</a> que se que gustan de estos temas <img src='http://www.masio.com.mx/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3><strong>Update:</strong></h3>
<p>Gracias a las ideas de b3co y de derkeNuke!</p>
<p>Con sus dos propuestas se pueden llegar a 47 caracteres<br />
<code> for(k=0,p=1;k&lt;7!;t=p,p+=k,k=t)document.writeln(k) </code></p>
<p>No es que vayamos a salvar al mundo con estos ejercicios. Solo por diversion y por no dejar que la mente se nos atrofie <img src='http://www.masio.com.mx/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>


<p>Related posts:<ol><li><a href='http://www.masio.com.mx/validacion-de-formas-no-obtrusiva' rel='bookmark' title='Permanent Link: Validacion de formas no obtrusiva'>Validacion de formas no obtrusiva</a></li>
<li><a href='http://www.masio.com.mx/una-probadita-de-beryl' rel='bookmark' title='Permanent Link: Una probadita de Beryl'>Una probadita de Beryl</a></li>
<li><a href='http://www.masio.com.mx/robo-de-cuentas-bancarias-y-el-status-en-mexico' rel='bookmark' title='Permanent Link: Robo de cuentas bancarias y el status en mexico'>Robo de cuentas bancarias y el status en mexico</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.masio.com.mx/fibonacci-en-una-linea/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Usabilidad: Arte y ciencia</title>
		<link>http://www.masio.com.mx/usabilidad-arte-y-ciencia</link>
		<comments>http://www.masio.com.mx/usabilidad-arte-y-ciencia#comments</comments>
		<pubDate>Fri, 29 Jun 2007 13:38:16 +0000</pubDate>
		<dc:creator>Masiosare</dc:creator>
				<category><![CDATA[ajeno]]></category>
		<category><![CDATA[programacion]]></category>

		<guid isPermaLink="false">http://www.masio.com.mx/2007/06/29/usabilidad-arte-y-ciencia/es/</guid>
		<description><![CDATA[En los ultimos tiempos el termino &#8220;usabilidad&#8221; esta en boca de todos los informaticos. Los sistemas no solo deben ya funcionar y funcionar bien, sino deben de ser sencillos de usar para los usuarios finales.   El tema en el area de informatica ha tomado fuerza desde hace relativamente poco tiempo. A principios de este siglo [...]


Related posts:<ol><li><a href='http://www.masio.com.mx/reddit-seguridad-y-robo-de-contrasenas' rel='bookmark' title='Permanent Link: Reddit, seguridad y robo de contrase&#241;as'>Reddit, seguridad y robo de contrase&#241;as</a></li>
<li><a href='http://www.masio.com.mx/verde-que-te-quiero-verde' rel='bookmark' title='Permanent Link: Verde, que te quiero verde'>Verde, que te quiero verde</a></li>
<li><a href='http://www.masio.com.mx/gengo-wordpress-plugin' rel='bookmark' title='Permanent Link: Gengo WordPress Plugin'>Gengo WordPress Plugin</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>En los ultimos tiempos el termino <a href="http://es.wikipedia.org/wiki/Usabilidad">&#8220;usabilidad&#8221;</a> esta en boca de todos los informaticos. Los sistemas no solo deben ya funcionar y funcionar bien, sino deben de ser sencillos de usar para los usuarios finales.   El tema en el area de informatica ha tomado fuerza desde hace relativamente poco tiempo. A principios de este siglo es cuando se empiezan a dar los trabajos mas fuertes sobre el tema. Sin embargo hay pocos estudios sobre el tema que es ademas, bastante subjetivo.</p>
<p>Es muy comun escuchar las frases &#8220;yo creo&#8221; y &#8220;yo siento&#8221; cuando se habla de usabilidad. En resumen, todos somos expertos.</p>
<p>Por eso es refrescante leer trabajos como los de <a href="http://blog.mozilla.com/faaborg/about/">Alex Faaborg</a>, quien trabaja en el area de <strong>Experiencia de Usuario para mozilla</strong>, especificamente en Firefox 3.</p>
<p>En <a href="http://blog.mozilla.com/faaborg/2007/06/26/quantitative-design/">este post suyo (Diseño cuantitativo)</a>, Alex nos explica lo que se esta haciendo en terminos de usabilidad para el siguiente release de Firefox 3. Despues de leer la entrada, nos damos cuenta de todo el trabajo que hay detras en la interfaz de Firefox.</p>
<p>Nos podemos dar cuenta que la eleccion de los elementos de la interfaz de Firefox no esta decidida al azar ni esta asi porque a un desarrollador se le ocurrio o creyo que asi debian ser las cosas.</p>
<p>De esa entrada yo rescato varios tips para el analisis de diseños de interfaces.</p>
<ol>
<li>Lo que los usuarios tecnicamente mas avanzados quieren y necesitan no es necesariamente lo que quieren los usuarios normales. De hecho, lo mas probable es que si tu como programador quieres una cosa, el usuario quiera otra completamente distinta.</li>
<li>Las estadisticas son tu mejor aliado, pero no son la unica fuente de informacion.</li>
<li>Existen herramientas de simulacion de usuarios que pueden ayudarnos a definir la mejor interfaz para el usuario. <a href="http://www.cs.cmu.edu/~bej/cogtool/index.html">CogTool</a> es solo una de ellas.</li>
<li><strong>NO PUEDES PREGUNTAR A LOS USUARIOS QUE ES LO QUE QUIEREN. </strong>La pongo en mayusculas y negritas porque es un error MUY comun en el diseño en general. La mayoria de las veces los usuarios no saben lo que quieren (o como diria House, todos mienten). Y aun si saben lo que quieren la mayoria de las veces no tendran los conocimientos tecnicos para decidir lo que es posibleo y lo que no. <u>Los usuarios no son fuente confiable de informacion para la decision en el desarrollo de interfaces</u>.</li>
</ol>
<p>Se ha realizado mucho trabajo en cuanto a la usabilidad en los sistemas informaticos, pero hay aun mucho por hacer. La usabilidad es un <strong>arte</strong> pero mas que nada una <strong>ciencia</strong> y como tal, si quieres ser un experto en ella, debes capacitarte y aprender de los que han realizdo un trabajo serio en la materia.</p>
<p>Si te interesa el tema te dejo unos links en los que puedes obtener mas informacion al respecto.</p>
<p><strong>The center for universal design</strong>: <a href="http://www.design.ncsu.edu/cud/">http://www.design.ncsu.edu/cud/</a></p>
<p><strong>Jakob Nielsen, guru de Usabilidad</strong>:  <a href="http://www.useit.com/">http://www.useit.com/</a></p>
<p><strong>Guias de experiencia de usuario de Windows Vista</strong>: <a href="http://msdn2.microsoft.com/en-us/library/aa511258.aspx">http://msdn2.microsoft.com/en-us/library/aa511258.aspx</a></p>
<p><strong>Gnome Human Interfaces Guidelines</strong>: <a href="http://developer.gnome.org/projects/gup/hig/">http://developer.gnome.org/projects/gup/hig/</a></p>
<p><strong>KDE usability project</strong>: <a href="http://usability.kde.org/">http://usability.kde.org/</a></p>


<p>Related posts:<ol><li><a href='http://www.masio.com.mx/reddit-seguridad-y-robo-de-contrasenas' rel='bookmark' title='Permanent Link: Reddit, seguridad y robo de contrase&#241;as'>Reddit, seguridad y robo de contrase&#241;as</a></li>
<li><a href='http://www.masio.com.mx/verde-que-te-quiero-verde' rel='bookmark' title='Permanent Link: Verde, que te quiero verde'>Verde, que te quiero verde</a></li>
<li><a href='http://www.masio.com.mx/gengo-wordpress-plugin' rel='bookmark' title='Permanent Link: Gengo WordPress Plugin'>Gengo WordPress Plugin</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.masio.com.mx/usabilidad-arte-y-ciencia/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Feed Api y The Daily show</title>
		<link>http://www.masio.com.mx/google-feed-api-y-the-daily-show</link>
		<comments>http://www.masio.com.mx/google-feed-api-y-the-daily-show#comments</comments>
		<pubDate>Fri, 20 Apr 2007 13:56:51 +0000</pubDate>
		<dc:creator>Masiosare</dc:creator>
				<category><![CDATA[google]]></category>
		<category><![CDATA[programacion]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.masio.com.mx/2007/04/20/google-feed-api-y-the-daily-show/es/</guid>
		<description><![CDATA[Ya todos saben que Google libero su Api para el uso de Feeds. Entre sus caracteristicas, es que con ella puedes darle la vuelta a la restriccion de ajax que no permite acceder a datos que no se encuentren dentro del mismo dominio (Same origin policy). Pues decidi probar el api para resolver un problema [...]


Related posts:<ol><li><a href='http://www.masio.com.mx/google-code-jam-latinoamerica' rel='bookmark' title='Permanent Link: Google Code Jam Latinoamerica'>Google Code Jam Latinoamerica</a></li>
<li><a href='http://www.masio.com.mx/como-es-trabajar-en-google' rel='bookmark' title='Permanent Link: Como es trabajar en Google?'>Como es trabajar en Google?</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Ya todos saben que Google libero su <a href="http://code.google.com/apis/ajaxfeeds/">Api para el uso de Feeds</a>. Entre sus caracteristicas, es que con ella puedes darle la vuelta a la restriccion de ajax que no permite acceder a datos que no se encuentren dentro del mismo dominio (Same origin policy).</p>
<p>Pues decidi probar el api para resolver un problema real. Soy un fan declarado de <a href="http://www.comedycentral.com/shows/the_daily_show/index.jhtml">The Daily Show</a> y de <a href="http://www.comedycentral.com/shows/the_colbert_report/index.jhtml">Colbert Report</a>. Se pueden conseguir los mejores clips de ellos en YouTube, pero hay que estarlos buscando. En mexico tambien se puede ver tambien una version reducida semanal a traves de CNN International, por Sky. Tambien existe la fuente original. Es posible verlos a traves del sitio de <a href="http://www.comedycentral.com/">Comedy Central</a>. Desgraciadamente, para ello tienes que chutarte la infame interfaz que se llama Motherload. Es una interfaz en flash que hace inusable el sitio en la mitad de las maquinas ademas que es pesadisimo.</p>
<p>Pues bien, gracias a el api de google, y usando el RSS que provee comedy central hice un mashup que trae los ultimos videos publicados en ambos feeds (el de Colbert y el de TDS) y los muestra en un listado simple. La lista de videos es traida directamente del feed via ajax y el video cargado via javascript.</p>
<p>Lo pueden ver aqui:</p>
<p><a href="http://www.masio.com.mx/feedapi/"> http://www.masio.com.mx/feedapi/</a></p>
<p>(alerta, no tiene dise&ntilde;o, solo es el listado simple y limpio)</p>
<p>El script me tomo 20 minutos producirlo. El api es limpio y  sencillo, aunque puedo decir que es un poco limitado, pero para empezar esta muy bien.</p>
<p>Los videos se muestran usando la interfaz que provee comedy central, para evitar algun problema de copyright <img src='http://www.masio.com.mx/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . Hice otra version que no es publica que accede directamente al flv y usa una interfaz mas amigable que la que provee Comedy Central. Esa talvez la muestre despues , si a alguien le interesa.</p>


<p>Related posts:<ol><li><a href='http://www.masio.com.mx/google-code-jam-latinoamerica' rel='bookmark' title='Permanent Link: Google Code Jam Latinoamerica'>Google Code Jam Latinoamerica</a></li>
<li><a href='http://www.masio.com.mx/como-es-trabajar-en-google' rel='bookmark' title='Permanent Link: Como es trabajar en Google?'>Como es trabajar en Google?</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.masio.com.mx/google-feed-api-y-the-daily-show/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visual Studio Orcas Beta1 &#8211; Download</title>
		<link>http://www.masio.com.mx/visual-studio-orcas-beta1-download</link>
		<comments>http://www.masio.com.mx/visual-studio-orcas-beta1-download#comments</comments>
		<pubDate>Thu, 19 Apr 2007 21:14:34 +0000</pubDate>
		<dc:creator>Masiosare</dc:creator>
				<category><![CDATA[microsoft]]></category>
		<category><![CDATA[programacion]]></category>

		<guid isPermaLink="false">http://www.masio.com.mx/2007/04/19/visual-studio-orcas-beta1-download/</guid>
		<description><![CDATA[Para aquellos que les interese, Microsoft acaba de lanzar la beta 1 de su Visual Studio Codename Orcas. Lo pueden bajar de aqui http://www.microsoft.com/downloads/details.aspx?familyid=36b6609e-6f3d-40f4-8c7d-ad111679d8dc&#038;displaylang=en&#038;tm Es una imagen de Virtual PC, con password, solo disponible en ingles y japones. Por si lo necesitan y les da flojera leer&#8230; Username: Administrator Password: P2ssw0rd Related posts:Las direcciones escondidas [...]


Related posts:<ol><li><a href='http://www.masio.com.mx/las-direcciones-escondidas-de-internet-explorer' rel='bookmark' title='Permanent Link: Las direcciones escondidas de Internet Explorer'>Las direcciones escondidas de Internet Explorer</a></li>
<li><a href='http://www.masio.com.mx/microsoft-ribbon-y-mas-de-patentes' rel='bookmark' title='Permanent Link: La nueva de Microsoft y mas sobre patentes'>La nueva de Microsoft y mas sobre patentes</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Para aquellos que les interese, Microsoft acaba de lanzar la beta 1 de su Visual Studio Codename Orcas.</p>
<p>Lo pueden bajar de aqui<br />
<a href="http://www.microsoft.com/downloads/details.aspx?familyid=36b6609e-6f3d-40f4-8c7d-ad111679d8dc&#038;displaylang=en&#038;tm">http://www.microsoft.com/downloads/details.aspx?familyid=36b6609e-6f3d-40f4-8c7d-ad111679d8dc&#038;displaylang=en&#038;tm</a></p>
<p>Es una imagen de Virtual PC, con password, solo disponible en ingles y japones.<br />
Por si lo necesitan y les da flojera leer&#8230;<br />
Username: Administrator<br />
Password: P2ssw0rd</p>


<p>Related posts:<ol><li><a href='http://www.masio.com.mx/las-direcciones-escondidas-de-internet-explorer' rel='bookmark' title='Permanent Link: Las direcciones escondidas de Internet Explorer'>Las direcciones escondidas de Internet Explorer</a></li>
<li><a href='http://www.masio.com.mx/microsoft-ribbon-y-mas-de-patentes' rel='bookmark' title='Permanent Link: La nueva de Microsoft y mas sobre patentes'>La nueva de Microsoft y mas sobre patentes</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.masio.com.mx/visual-studio-orcas-beta1-download/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

