<?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>Consultorio del Dr. Ogalinski &#187; cobol</title>
	<atom:link href="http://www.orlandoalonzo.com.mx/category/programacion/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.orlandoalonzo.com.mx</link>
	<description>Noticias, internet, redes sociales, gadgets, software y opinión</description>
	<lastBuildDate>Wed, 01 Feb 2012 05:55:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>COBOL, el lenguaje que se niega a morir</title>
		<link>http://www.orlandoalonzo.com.mx/programacion/cobol-el-lenguaje-que-se-niega-a-morir/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cobol-el-lenguaje-que-se-niega-a-morir</link>
		<comments>http://www.orlandoalonzo.com.mx/programacion/cobol-el-lenguaje-que-se-niega-a-morir/#comments</comments>
		<pubDate>Fri, 21 Jan 2011 04:23:14 +0000</pubDate>
		<dc:creator>Dr. Ogalinski</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[cobol]]></category>

		<guid isPermaLink="false">http://www.orlandoalonzo.com.mx/?p=3093</guid>
		<description><![CDATA[Probablemente muchos de los ingenieros o programadores jóvenes de hoy no lo conozcan, o quizás sólo lo hayan conocido escuchando historias de terror de sus maestros de la escuela: hablo del lenguaje COBOL, uno de los más viejos, y que muchos creen que está muerto, pero sorpresa, no lo está, ni mucho menos; aún se [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="Hoja para codificar en COBOL" src="http://img.photobucket.com/albums/v474/ogalonzo/cobol_code.jpg" alt="" width="470" height="260" /></p>
<p>Probablemente muchos de los ingenieros o programadores jóvenes de hoy no lo conozcan, o quizás sólo lo hayan conocido escuchando historias de terror de sus maestros de la escuela: hablo del lenguaje <a class="vt-p" title="Visitar sitio" href="http://es.wikipedia.org/wiki/COBOL" target="_blank">COBOL</a>, uno de los más viejos, y que muchos creen que está muerto, pero sorpresa, no lo está, ni mucho menos; aún se mantiene como una habilidad deseada en desarrolladores empresariales, principalmente porque todavía hay en uso unas 220 <span style="text-decoration: underline;">billones</span> de líneas de código en COBOL que se usan en aplicaciones de grado empresarial al día, y que en conjunto le dan batería a aproximadamente el 70% de los negocios de todo el mundo. De acuerdo con la empresa <strong>Micro Focus</strong>, estas son algunas estadísticas de COBOL en la actualidad:</p>
<ul>
<li>Los sistemas en COBOL son responsables de transportar algo así como 72,000 contenedores de envíos, llevar el control de 60 millones de pacientes, procesar 80% de las transacciones de punto de venta y, aunque no lo creas, conectar a 500 millones de usuarios de teléfonos móviles.</li>
<li>Aunque no aplica globalmente, se estima que el americano promedio depende (en última instancia, en algún punto) 13 veces en COBOL, ya sea por una llamada, ir de un lado a otro, o usar una tarjeta de crédito.</li>
<li>Cada año se añaden unas 5 billones de líneas de código nuevo en COBOL a sistemas en producción. Si, billones.</li>
<li>Se procesan aproximadamente 200 veces más transacciones por aplicaciones en COBOL que por búsquedas de <strong>Google</strong>, diariamente.</li>
</ul>
<p>Como puedes ver, en muchos de esos negocios antes mencionados, el migrar sus sistemas de legado en COBOL se ha vuelto una tarea prohibitiva, imagina que COBOL se ha enquistado en sus empresas. Pero COBOL se ha modernizado para los tiempos en que vivimos: para estos casos la misma Micro Focus ha creado <a class="vt-p" title="Visitar sitio" href="http://visualcobol.microfocus.com/" target="_blank">Visual COBOL</a>, que básicamente traduce el código en COBOL hacia la máquina virtual de <strong>Java</strong>, con lo que las aplicaciones de ambos lenguajes se pueden integrar, y también hay soporte para <strong>.NET</strong>. Parece que veremos COBOL por mucho tiempo más, y quién sabe, quizás tu próximo trabajo sea programando en este lenguaje.</p>
<p>Fuente: <a class="vt-p" title="Leer nota completa" href="http://www.readwriteweb.com/enterprise/2011/01/cobols-not-dead-in-the-enterprise.php" target="_blank">Read Write Web</a></p>
<h2>T&eacute;rminos de b&uacute;squeda entrantes:</h2><ul><li>cobol para windows 7</li><li>RMCOBOL 64 bits</li><li>rm cobol para windows 7</li><li>runcobol 64 bits</li><li>cobol windows 7</li><li>cobol windows 7 64</li><li>cobol 64 bits</li><li>rm cobol 64 bit</li><li>cobol en windows</li><li>como usar cobol en windows de 64 bits</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.orlandoalonzo.com.mx/programacion/cobol-el-lenguaje-que-se-niega-a-morir/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Ebook gratuito: Programando Windows Phone 7 por Charles Petzold</title>
		<link>http://www.orlandoalonzo.com.mx/programacion/ebook-gratuito-programando-windows-phone-7-por-charles-petzold/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ebook-gratuito-programando-windows-phone-7-por-charles-petzold</link>
		<comments>http://www.orlandoalonzo.com.mx/programacion/ebook-gratuito-programando-windows-phone-7-por-charles-petzold/#comments</comments>
		<pubDate>Wed, 10 Nov 2010 19:20:55 +0000</pubDate>
		<dc:creator>Dr. Ogalinski</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[gratuito]]></category>
		<category><![CDATA[windows phone 7]]></category>

		<guid isPermaLink="false">http://www.orlandoalonzo.com.mx/?p=2895</guid>
		<description><![CDATA[Ahora que ya está en el mercado el Windows Phone 7, lo que faltan son desarrolladores que produzcan las aplicaciones necesarias para la plataforma; y para eso, Microsoft, a la que casi nunca se le cosecha nada, tuvo el buen gesto de liberar un ebook gratuito titulado &#8220;Programming Windows Phone 7&#8221; (Programando Windows Phone 7), [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="ebook gratuito Programando Windows Phone 7" src="http://img.photobucket.com/albums/v474/ogalonzo/blog/pwp7.jpg" alt="" width="246" height="300" /></p>
<p>Ahora que ya está en el mercado el <strong>Windows Phone 7</strong>, lo que faltan son desarrolladores que produzcan las aplicaciones necesarias para la plataforma; y para eso, Microsoft, a la que casi nunca se le cosecha nada, tuvo el buen gesto de liberar un <strong>ebook</strong> gratuito titulado &#8220;<strong>Programming Windows Phone 7</strong>&#8221; (Programando Windows Phone 7), del autor y legendario programador de todo lo que es Windows Charles Petzold. El libro electrónico tiene unas 1,000 páginas distribuidas en unos 24 capítulos, y está disponible en formatos <a class="vt-p" title="Descargar" href="http://download.microsoft.com/download/5/0/A/50A39509-D015-410F-A8F2-A5511E5A988D/Microsoft_Press_ebook_Programming_Windows_Phone_7_PDF.pdf" target="_self">PDF</a> y <a class="vt-p" title="Descargar" href="http://download.microsoft.com/download/5/0/A/50A39509-D015-410F-A8F2-A5511E5A988D/Microsoft_Press_ebook_Programming_Windows_Phone_7_XPS.xps" target="_self">XPS</a>, y también el <a class="vt-p" title="Descargar sitio" href="http://download.microsoft.com/download/5/0/A/50A39509-D015-410F-A8F2-A5511E5A988D/Microsoft_Press_ebook_Programming_Windows_Phone_7_Sample_Code.zip" target="_self">código de los ejemplos está disponible para descargarse</a>. El libro está dividido en tres partes: la primera parte discute todos los conceptos básicos usando programas basados en <strong>SilverLight</strong> y el <strong>framework <a class="vt-p" title="Visitar sitio" href="http://es.wikipedia.org/wiki/Microsoft_XNA" target="_blank">XNA</a></strong> de la misma <strong>Microsoft</strong>; la segunda parte está enfocada enteramente en SilverLight, y por último la tercera parte en XNA 2D. El libro está en inglés, pero dada la calidad del libro bien vale la pena tenerlo para entrar en el mundo de la programación del Windows Phone 7. Y recuerden, <em>a caballo regalado no se le ve el colmillo</em>. <img src="http://www.orlandoalonzo.com.mx/wp-includes/images/smilies/yahoo4.gif" class="wp-smiley" /></p>
<p>Fuente: <a class="vt-p" title="Leer nota completa" href="http://www.delphifeeds.com/go/f/73794?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed:+delphifeeds+(DelphiFeeds.com)" target="_blank">DelphiFeeds</a></p>
<h2>T&eacute;rminos de b&uacute;squeda entrantes:</h2><ul><li>programar Windows phone</li><li>programar windows phone 7</li><li>programar en windows phone 7</li><li>programacion windows phone</li><li>programacion windows phone 7</li><li>programar en windows phone</li><li>Programacion en windows Phone 7</li><li>windows phone programacion</li><li>windows phone 7 programacion</li><li>windows phone 7 programar</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.orlandoalonzo.com.mx/programacion/ebook-gratuito-programando-windows-phone-7-por-charles-petzold/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>La mejor medida de la calidad del código: WTFs/Minuto</title>
		<link>http://www.orlandoalonzo.com.mx/programacion/la-mejor-medida-de-la-calidad-del-codigo-wtf-minuto/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=la-mejor-medida-de-la-calidad-del-codigo-wtf-minuto</link>
		<comments>http://www.orlandoalonzo.com.mx/programacion/la-mejor-medida-de-la-calidad-del-codigo-wtf-minuto/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 02:31:43 +0000</pubDate>
		<dc:creator>Dr. Ogalinski</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[calidad]]></category>
		<category><![CDATA[métrica]]></category>
		<category><![CDATA[wtf]]></category>

		<guid isPermaLink="false">http://www.orlandoalonzo.com.mx/?p=2735</guid>
		<description><![CDATA[Obviamente la imagen de arriba fue creada como un chiste, pero cuánta verdad hay en ella. Tan pronto los programadores de tu equipo o a tu cargo empiecen a incrementar los WTFs por minuto, entonces sabes que estás en problemas.   Fuente: la imagen fue tomada de OSNews y traducida por el Dr. Ogalinski]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="WTFs por minuto" src="http://img.photobucket.com/albums/v474/ogalonzo/blog/wtfm.gif" alt="" width="470" height="443" /></p>
<p>Obviamente la imagen de arriba fue creada como un chiste, pero cuánta verdad hay en ella. Tan pronto los programadores de tu equipo o a tu cargo empiecen a incrementar los WTFs por minuto, entonces sabes que estás en problemas.  <img src="http://www.orlandoalonzo.com.mx/wp-includes/images/smilies/yahoo4.gif" class="wp-smiley" /></p>
<p>Fuente: la imagen fue tomada de <a class="vt-p" title="Visitar sitio" href="http://www.osnews.com/story/19266/WTFs_m" target="_blank">OSNews</a> y traducida por el <strong>Dr. Ogalinski</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.orlandoalonzo.com.mx/programacion/la-mejor-medida-de-la-calidad-del-codigo-wtf-minuto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>¿Eres bueno programando? participa en el concurso de Campus Party</title>
		<link>http://www.orlandoalonzo.com.mx/programacion/eres-bueno-programando-participa-en-el-concurso-de-campus-party/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=eres-bueno-programando-participa-en-el-concurso-de-campus-party</link>
		<comments>http://www.orlandoalonzo.com.mx/programacion/eres-bueno-programando-participa-en-el-concurso-de-campus-party/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 01:24:03 +0000</pubDate>
		<dc:creator>Dr. Ogalinski</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[concurso]]></category>
		<category><![CDATA[noticias]]></category>
		<category><![CDATA[ofuscación]]></category>
		<category><![CDATA[widgets]]></category>

		<guid isPermaLink="false">http://www.orlandoalonzo.com.mx/?p=1885</guid>
		<description><![CDATA[Si crees que tienes talento para la programación, entonces quizás te puedas ganar hasta 1,000 Euros, pues la empresa Campus Party a través de la plataforma CP Labs está organizando un concurso de desarrolladores, dividido en tres categorías: la primera es Ofuscación de Código, en el cual hay que desarrollar un motor de blogs con [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="Concurso de CP Labs" src="http://img.photobucket.com/albums/v474/ogalonzo/blog/concurso-cp.jpg" alt="" width="470" height="206" /></p>
<p>Si crees que tienes talento para la programación, entonces quizás te puedas ganar hasta 1,000 Euros, pues la empresa <a title="Visitar sitio" href="http://www.campus-party.com.mx/" target="_blank">Campus Party</a> a través de la plataforma CP Labs está organizando un <a title="Visitar sitio" href="http://mailing.campus-party.org/cplabs/email-elmundoes/" target="_blank">concurso de desarrolladores</a>, dividido en tres categorías: la primera es Ofuscación de Código, en el cual hay que desarrollar un motor de blogs con <strong>PHP 5</strong>, <strong>CSS</strong> y <strong>JavaScript</strong>, sin almacenamiento en base de datos y con la menor cantidad de líneas de código; la siguiente categoría es Programación de <strong>Widgets</strong>, en la que hay que desarrollar un widget para web, escritorio o bien para gadgets móviles con feeds OPML, y la última categoría es Administración de Noticias, en la que habrá que hacer un widget basado en <strong>Adobe AIR</strong> y <strong>Flex Framework</strong> cuya función principal es ser un cliente que simule ser un administrador de noticias para los periodistas del diario español Marca.</p>
<p>El premio a la categoría de Ofuscación de Código es un premio único de 1,000 Euros, para la categoría de Widgets también 1,000 Euros pero para los dos mejores trabajos, y la categoría de Administración de noticias tendrá un premio único de 1,000 euros. ¿Que esperas? si tienes talento como desarrollador anímate, podrías acabar con un buen billete en la bolsa.</p>
<p><a title="Visitar sitio" href="http://mailing.campus-party.org/cplabs/email-elmundoes/" target="_blank">Revisa los detalles del concurso en este enlace</a>, y no te olvides de revisar el <a title="Visitar sitio" href="http://www.campus-party.com.mx/" target="_blank">sitio de Campus Party en México</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.orlandoalonzo.com.mx/programacion/eres-bueno-programando-participa-en-el-concurso-de-campus-party/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cheat sheet para WordPress</title>
		<link>http://www.orlandoalonzo.com.mx/programacion/cheat-sheet-para-wordpress/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cheat-sheet-para-wordpress</link>
		<comments>http://www.orlandoalonzo.com.mx/programacion/cheat-sheet-para-wordpress/#comments</comments>
		<pubDate>Sun, 13 Sep 2009 16:45:25 +0000</pubDate>
		<dc:creator>Dr. Ogalinski</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[cheat sheet]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.orlandoalonzo.com.mx/?p=1788</guid>
		<description><![CDATA[Si te gusta desarollar para WordPress, entonces sabrás que debido al gran número de funciones a veces se complica recordar cual sirve para que y en que condiciones. Este resumen de funciones  (cheat sheet) te servirá en tus sesiones de desarrollo con una referencia a las muchas funciones de WordPress, debidamente categorizadas. A los que [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="Cheat sheet para WordPress" src="http://img.photobucket.com/albums/v474/ogalonzo/blog/wp-cheatsheet.jpg" alt="" width="470" height="288" /></p>
<p>Si te gusta desarollar para <strong>WordPress</strong>, entonces sabrás que debido al gran número de funciones a veces se complica recordar cual sirve para que y en que condiciones. Este resumen de funciones  (<strong>cheat sheet</strong>) te servirá en tus sesiones de desarrollo con una referencia a las muchas funciones de WordPress, debidamente categorizadas. A los que no saben que es una cheat sheet les diré que no es más que un resúmen por lo general categorizado de las funciones de &#8220;algo&#8221;, donde algo por lo general es una aplicación o lenguaje o software en general. Esta cheat sheet viene en formato <strong>PDF</strong>, a diferencia de otras que vienen como imagenes. ¡A desarrollar en WordPress se ha dicho!</p>
<p><a title="Descargar" href="http://www.orlandoalonzo.com.mx/wp-content/uploads/2009/09/wordpress-cheat-sheet.pdf">Descargar cheat sheet de WordPress</a></p>
<p>Fuente: <a title="Leer nota completa" href="http://net.tutsplus.com/freebies/cheat-sheets/wordpress-cheat-sheat/" target="_blank">NetTuts+</a></p>
<h2>T&eacute;rminos de b&uacute;squeda entrantes:</h2><ul><li>sheet wordpress</li><li>wordpress 3 2 cheat sheet</li><li>wordpress 3 3 cheat sheet</li><li>wordpress cheat sheet 3 3</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.orlandoalonzo.com.mx/programacion/cheat-sheet-para-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cheat sheet para JQuery</title>
		<link>http://www.orlandoalonzo.com.mx/programacion/cheat-sheet-para-jquery/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cheat-sheet-para-jquery</link>
		<comments>http://www.orlandoalonzo.com.mx/programacion/cheat-sheet-para-jquery/#comments</comments>
		<pubDate>Thu, 18 Dec 2008 18:40:55 +0000</pubDate>
		<dc:creator>Dr. Ogalinski</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[cheat sheet]]></category>
		<category><![CDATA[cheatsheet]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[recursos]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.orlandoalonzo.com.mx/?p=1412</guid>
		<description><![CDATA[En caso de que les haga falta, aquí tienen esta cheat sheet de JQuery API 1.2. JQuery es una librería de JavaScript que te permite recorrer documentos HTML, manejo de eventos, animaciones e interacciones AJAX de manera sencilla. Lo que es un poco complicado es recordar la sintaxis correcta para muchas de las funciones, y [...]]]></description>
			<content:encoded><![CDATA[<p>En caso de que les haga falta, aquí tienen esta cheat sheet de <a title="Visitar sitio" href="http://jquery.com/" target="_blank">JQuery</a> API 1.2. JQuery es una librería de <strong>JavaScript</strong> que te permite recorrer documentos <strong>HTML</strong>, manejo de eventos, animaciones e interacciones <strong>AJAX</strong> de manera sencilla. Lo que es un poco complicado es recordar la sintaxis correcta para muchas de las funciones, y para eso está esta cheat sheet, o como le decimos en México, &#8220;acordeón&#8221; (al hacer clic en la imagen te mostrará la imagen en tamaño real en una ventana nueva):</p>
<p style="text-align: center;"><a title="Ver imagen completa" href="http://img.photobucket.com/albums/v474/ogalonzo/blog/jquery12.png" target="_blank" rel="lightbox[1412]"><img class="aligncenter" src="http://img.photobucket.com/albums/v474/ogalonzo/blog/jquery12_tn.jpg" alt="Cheat sheet de JQuery 1.2" width="400" height="274" /></a></p>
<p>Fuente: <a title="Leer nota completa" href="http://nettuts.com/freebies/cheat-sheets/jquery-cheat-sheet/" target="_blank">NetTuts</a></p>
<h2>T&eacute;rminos de b&uacute;squeda entrantes:</h2><ul><li>jQuery</li><li>cheat sheet</li><li>jquery sheet</li><li>cheatsheet</li><li>CHEAT SHEETS</li><li>php cheat sheet</li><li>jquery api</li><li>android cheat sheet</li><li>cheat sheets jquery</li><li>cheat-sheet</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.orlandoalonzo.com.mx/programacion/cheat-sheet-para-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Poesía en C</title>
		<link>http://www.orlandoalonzo.com.mx/programacion/poesia-en-c/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=poesia-en-c</link>
		<comments>http://www.orlandoalonzo.com.mx/programacion/poesia-en-c/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 07:14:22 +0000</pubDate>
		<dc:creator>Dr. Ogalinski</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[concurso]]></category>
		<category><![CDATA[confuso]]></category>
		<category><![CDATA[ioccc]]></category>
		<category><![CDATA[lenguaje c]]></category>

		<guid isPermaLink="false">http://www.orlandoalonzo.com.mx/?p=1361</guid>
		<description><![CDATA[Esta es una de las entradas del concurso IOCCC o International Obfuscated C Code Contest, un concurso algo absurdo y que busca seleccionar al programa en C más revuelto que hayas visto; velo como una forma retorcida de recordarles a todos lo importante que son las buenas prácticas de programación. Muchos de los programas que [...]]]></description>
			<content:encoded><![CDATA[<p>Esta es una de las entradas del concurso <a title="Visitar sitio" href="http://www.ioccc.org/" target="_blank">IOCCC</a> o <a title="Visitar sitio" href="http://www.ioccc.org/" target="_blank">International Obfuscated C Code Contest</a>, un concurso algo absurdo y que busca seleccionar al programa en C más revuelto que hayas visto; velo como una forma retorcida de recordarles a todos lo importante que son las buenas prácticas de programación. Muchos de los programas que envían juegan con la identación del código, cambiando variables, abusan del preprocesador, y mil perversiones más. Este es un ejemplo de lo que envían al IOCCC:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include</span>
<span style="color: #993333;">int</span> O<span style="color: #339933;">,</span>o<span style="color: #339933;">,</span>i<span style="color: #339933;">;</span>char<span style="color: #339933;">*</span>I<span style="color: #339933;">=</span><span style="color: #ff0000;">&quot;&quot;</span><span style="color: #339933;">;</span>main<span style="color: #009900;">&#40;</span>l<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>O<span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;=</span>l<span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span><span style="color: #0000dd;">1</span><span style="color: #339933;">?*</span>I<span style="color: #339933;">:</span>~<span style="color: #339933;">*</span>I<span style="color: #339933;">,*</span>I<span style="color: #339933;">++||</span><span style="color: #009900;">&#40;</span>l<span style="color: #339933;">=</span><span style="color: #0000dd;">2</span><span style="color: #339933;">*</span>getchar<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>i<span style="color: #339933;">+=</span>O<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span><span style="color: #0000dd;">8</span>
<span style="color: #339933;">?</span>o<span style="color: #339933;">:</span>O<span style="color: #339933;">?</span><span style="color: #0000dd;">0</span><span style="color: #339933;">:</span>o<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span>o<span style="color: #339933;">=</span>O<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span><span style="color: #0000dd;">9</span><span style="color: #339933;">,</span>O<span style="color: #339933;">=-</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span>I<span style="color: #339933;">=</span><span style="color: #ff0000;">&quot;t8B~pq`&quot;</span><span style="color: #339933;">,</span>l<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">?</span>main<span style="color: #009900;">&#40;</span>l<span style="color: #339933;">/</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,--</span>i<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Si, eso que ves arriba es un programa de C que funciona. Y por cierto, uno de los casi entendibles.</p>
<p><span id="more-1361"></span></p>
<p>Pero también hay algunos muy artísticos, como por ejemplo esta poesía escrita en C:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
</pre></td><td class="code"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">char</span><span style="color: #339933;">*</span>lie<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #993333;">double</span> time<span style="color: #339933;">,</span> me<span style="color: #339933;">=</span> <span style="color: #339933;">!</span><span style="color: #208080;">0XFACE</span><span style="color: #339933;">,</span>
&nbsp;
	not<span style="color: #339933;">;</span> <span style="color: #993333;">int</span> rested<span style="color: #339933;">,</span>   get<span style="color: #339933;">,</span> out<span style="color: #339933;">;</span>
&nbsp;
	main<span style="color: #009900;">&#40;</span>ly<span style="color: #339933;">,</span> die<span style="color: #009900;">&#41;</span> <span style="color: #993333;">char</span> ly<span style="color: #339933;">,</span> <span style="color: #339933;">**</span>die <span style="color: #339933;">;</span><span style="color: #009900;">&#123;</span>
&nbsp;
	    <span style="color: #993333;">signed</span> <span style="color: #993333;">char</span> lotte<span style="color: #339933;">,</span>
&nbsp;
dear<span style="color: #339933;">;</span> <span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span><span style="color: #009900;">&#41;</span>lotte<span style="color: #339933;">--;</span>
&nbsp;
	<span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span>get<span style="color: #339933;">=</span> <span style="color: #339933;">!</span>me<span style="color: #339933;">;;</span> not<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #0000dd;">1</span> <span style="color: #339933;">-</span>  out <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span> out <span style="color: #339933;">;</span>lie<span style="color: #339933;">;</span><span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #993333;">char</span> lotte<span style="color: #339933;">,</span> my<span style="color: #339933;">=</span> dear<span style="color: #339933;">,</span>
&nbsp;
	<span style="color: #339933;">**</span>let<span style="color: #339933;">=</span> <span style="color: #339933;">!!</span>me <span style="color: #339933;">*!</span>not<span style="color: #339933;">+</span> <span style="color: #339933;">++</span>die<span style="color: #339933;">;</span>
&nbsp;
	    <span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span><span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>lie<span style="color: #339933;">=</span>
&nbsp;
<span style="color: #ff0000;">&quot;The gloves are OFF this time, I detest you, snot<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #006699; font-weight: bold;">\0</span>sed GEEK!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">do</span> <span style="color: #009900;">&#123;</span>not<span style="color: #339933;">=</span> <span style="color: #339933;">*</span>lie<span style="color: #339933;">++</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span> 0xF00L<span style="color: #339933;">*</span> <span style="color: #339933;">!</span>me<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #339933;">#define love (char*)lie -</span>
&nbsp;
	love 1s <span style="color: #339933;">*!</span><span style="color: #009900;">&#40;</span>not<span style="color: #339933;">=</span> atoi<span style="color: #009900;">&#40;</span>let
&nbsp;
	<span style="color: #009900;">&#91;</span>get <span style="color: #339933;">-</span>me<span style="color: #339933;">?</span>
&nbsp;
	    <span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span><span style="color: #009900;">&#41;</span>lotte<span style="color: #339933;">-</span>
&nbsp;
<span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span><span style="color: #009900;">&#41;</span>lotte<span style="color: #339933;">:</span> my<span style="color: #339933;">-</span> <span style="color: #339933;">*</span>love <span style="color: #339933;">-</span>
&nbsp;
	<span style="color: #ff0000;">'I'</span>  <span style="color: #339933;">-</span>  <span style="color: #339933;">*</span>love <span style="color: #339933;">-</span>  <span style="color: #ff0000;">'U'</span> <span style="color: #339933;">-</span>
&nbsp;
	<span style="color: #ff0000;">'I'</span>  <span style="color: #339933;">-</span>  <span style="color: #009900;">&#40;</span><span style="color: #993333;">long</span><span style="color: #009900;">&#41;</span>  <span style="color: #339933;">-</span> <span style="color: #0000dd;">4</span> <span style="color: #339933;">-</span> <span style="color: #ff0000;">'U'</span> <span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span> <span style="color: #339933;">!!</span>
&nbsp;
	<span style="color: #009900;">&#40;</span>time  <span style="color: #339933;">=</span>out<span style="color: #339933;">=</span>  <span style="color: #ff0000;">'a'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span> my <span style="color: #339933;">-</span> dear
&nbsp;
	<span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #ff0000;">'I'</span><span style="color: #339933;">-</span><span style="color: #0000dd;">1l</span>  <span style="color: #339933;">-</span>get<span style="color: #339933;">-</span>  <span style="color: #ff0000;">'a'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#125;</span>
&nbsp;
	    <span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>lie<span style="color: #339933;">++;</span>
&nbsp;
<span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>lie<span style="color: #339933;">++,</span> <span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>lie<span style="color: #339933;">++;</span> hell<span style="color: #339933;">:</span><span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>lie<span style="color: #339933;">;</span>
&nbsp;
	get <span style="color: #339933;">*</span>out<span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span><span style="color: #993333;">short</span><span style="color: #009900;">&#41;</span>ly   <span style="color: #339933;">-</span><span style="color: #0000dd;">0</span><span style="color: #339933;">-</span><span style="color: #ff0000;">'R'</span><span style="color: #339933;">-</span>  get<span style="color: #339933;">-</span> <span style="color: #ff0000;">'a'</span><span style="color: #339933;">^</span>rested<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">do</span> <span style="color: #009900;">&#123;</span><span style="color: #993333;">auto</span><span style="color: #339933;">*</span>eroticism<span style="color: #339933;">,</span>
&nbsp;
	that<span style="color: #339933;">;</span> puts<span style="color: #009900;">&#40;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span> out
&nbsp;
	    <span style="color: #339933;">-</span> <span style="color: #ff0000;">'c'</span>
&nbsp;
<span style="color: #339933;">-</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'P'</span><span style="color: #339933;">-</span><span style="color: #ff0000;">'S'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span>die<span style="color: #339933;">+</span> <span style="color: #339933;">-</span><span style="color: #0000dd;">2</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #ff0000;">&quot;you're at it&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span><span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span>lotte<span style="color: #009900;">&#41;</span><span style="color: #339933;">^=</span>
&nbsp;
	<span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span><span style="color: #009900;">&#41;</span>lotte<span style="color: #339933;">;</span> <span style="color: #009900;">&#40;</span>love ly<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">++</span>lotte<span style="color: #339933;">+</span>
&nbsp;
	<span style="color: #339933;">!!</span><span style="color: #208080;">0xBABE</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'I'</span> <span style="color: #339933;">-</span>lie<span style="color: #009900;">&#91;</span> <span style="color: #0000dd;">2</span> <span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span><span style="color: #009900;">&#41;</span>lotte<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #ff0000;">'I'</span><span style="color: #339933;">-</span><span style="color: #0000dd;">1l</span> <span style="color: #339933;">***</span>die<span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'I'</span> <span style="color: #339933;">*</span> get <span style="color: #339933;">*</span>out<span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'I'</span><span style="color: #339933;">-</span><span style="color: #0000dd;">1l</span> <span style="color: #339933;">**</span>die<span style="color: #009900;">&#91;</span> <span style="color: #0000dd;">2</span> <span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span><span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span>lotte<span style="color: #009900;">&#41;</span> <span style="color: #339933;">-=</span>
&nbsp;
	<span style="color: #ff0000;">'4'</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'I'</span><span style="color: #339933;">-</span><span style="color: #0000dd;">1l</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> not<span style="color: #339933;">;</span> <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span>get<span style="color: #339933;">=!</span>
&nbsp;
get<span style="color: #339933;">;</span> <span style="color: #339933;">!</span>out<span style="color: #339933;">;</span> <span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>lie  <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span>  <span style="color: #208080;">0xD0</span><span style="color: #339933;">-</span> <span style="color: #339933;">!</span>not<span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">return</span><span style="color: #339933;">!!</span>
&nbsp;
	<span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span><span style="color: #009900;">&#41;</span>lotte<span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span><span style="color: #009900;">&#41;</span>lotte<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">do</span><span style="color: #009900;">&#123;</span> not<span style="color: #339933;">*</span> putchar<span style="color: #009900;">&#40;</span>lie <span style="color: #009900;">&#91;</span>out
&nbsp;
	<span style="color: #339933;">*!</span>not<span style="color: #339933;">*</span> <span style="color: #339933;">!!</span>me <span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span><span style="color: #009900;">&#41;</span>lotte<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	not<span style="color: #339933;">;</span> <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">;!</span><span style="color: #ff0000;">'a'</span><span style="color: #339933;">;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span>
&nbsp;
	    love <span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span><span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span>lie<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #993333;">register</span> this<span style="color: #339933;">;</span> <span style="color: #b1b100;">switch</span><span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span><span style="color: #009900;">&#41;</span>lie
&nbsp;
	<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span><span style="color: #009900;">&#41;</span>lotte<span style="color: #009900;">&#93;</span> <span style="color: #339933;">-</span>1s <span style="color: #339933;">*!</span>out<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #993333;">char</span><span style="color: #339933;">*</span>les<span style="color: #339933;">,</span> get<span style="color: #339933;">=</span> <span style="color: #208080;">0xFF</span><span style="color: #339933;">,</span> my<span style="color: #339933;">;</span> <span style="color: #b1b100;">case</span><span style="color: #ff0000;">' '</span><span style="color: #339933;">:</span>
&nbsp;
	<span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span><span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span>lotte<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+=</span> <span style="color: #0000dd;">15</span><span style="color: #339933;">;</span> <span style="color: #339933;">!</span>not <span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>lie<span style="color: #339933;">*</span><span style="color: #ff0000;">'s'</span><span style="color: #339933;">;</span>
&nbsp;
	this <span style="color: #339933;">+</span>1s<span style="color: #339933;">+</span> not<span style="color: #339933;">;</span> <span style="color: #b1b100;">default</span><span style="color: #339933;">:</span> <span style="color: #208080;">0xF</span> <span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span><span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span>lie<span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#125;</span>
&nbsp;
	get <span style="color: #339933;">-</span> <span style="color: #339933;">!</span>out<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>not<span style="color: #339933;">--</span><span style="color: #009900;">&#41;</span>
&nbsp;
	<span style="color: #b1b100;">goto</span> hell<span style="color: #339933;">;</span>
&nbsp;
	    exit<span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span><span style="color: #009900;">&#41;</span>lotte<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>¿Quién dijo que el código no es arte? :P</p>
<p>Fuente: <a title="Visitar sitio" href="http://www.ioccc.org/1990/westley.c" target="_blank">westley.c (IOCCC 1999)</a></p>
<h2>T&eacute;rminos de b&uacute;squeda entrantes:</h2><ul><li>19º ioccc</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.orlandoalonzo.com.mx/programacion/poesia-en-c/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>8 sitios para que encuentres el código que necesitas</title>
		<link>http://www.orlandoalonzo.com.mx/programacion/8-sitios-para-que-encuentres-el-codigo-que-necesitas/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=8-sitios-para-que-encuentres-el-codigo-que-necesitas</link>
		<comments>http://www.orlandoalonzo.com.mx/programacion/8-sitios-para-que-encuentres-el-codigo-que-necesitas/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 04:48:43 +0000</pubDate>
		<dc:creator>Dr. Ogalinski</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[abierta]]></category>
		<category><![CDATA[búsqueda]]></category>
		<category><![CDATA[código]]></category>
		<category><![CDATA[fuente]]></category>
		<category><![CDATA[motor]]></category>

		<guid isPermaLink="false">http://www.orlandoalonzo.com.mx/?p=1353</guid>
		<description><![CDATA[No es ningún pecado, ni es ningún secreto, que mirar el código fuente de otros es la mejor forma de aprender. Hasta hace unos años, hacer una búsqueda por código fuente sobre algo en particular no era fácil, pero hoy en día ya hay herramientas de búsqueda especializadas en esto. Estas son ocho herramientas que [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" src="http://img.photobucket.com/albums/v474/ogalonzo/blog/Html-source-code.jpg" alt="Código fuente" width="470" height="213" /></p>
<p>No es ningún pecado, ni es ningún secreto, que mirar el <strong>código fuente</strong> de otros es la mejor forma de aprender. Hasta hace unos años, hacer una <strong>búsqueda</strong> por código fuente sobre algo en particular no era fácil, pero hoy en día ya hay herramientas de búsqueda especializadas en esto. Estas son ocho herramientas que te ayudarán a buscar código:</p>
<ol>
<li><a title="Visitar sitio" href="http://github.com/codesearch" target="_blank">GitHub</a>: este es un almacén de <strong>código de fuente abierta</strong> y aparte es un servicio de control de versiones. A pesar de ser el &#8220;nuevo&#8221; en cuanto a lo que se refiere este tipo de servicios, se ha vuelto popular muy rápidamente.</li>
<li><a title="Visitar sitio" href="http://www.krugle.org/kse/files" target="_blank">Krugle</a>: <strong>Krugle</strong> dice tener la capacidad e poder buscar en 2.5 billones de líneas de código de fuente abierta, lo que lo convierte en uno de los motores de búsqueda de código fuente más grandes en la web. Sólo para que te des una idea, su producto de nivel empresarial le da batería a la búsqueda de <a title="Visitar sitio" href="http://aws.amazon.com/" target="_blank">Amazon Web Services</a>, <a title="Visitar sitio" href="http://www.ibm.com/developerworks/linux/library/l-linux-kernel/?S_TACT=105AGX59&amp;S_CMP=GR&amp;ca=dgr-btw01LKernalAnatomy" target="_blank">IBM developerWorks</a>, <a title="Visitar sitio" href="http://www.collab.net/" target="_blank">Collab.net</a>, <a title="Visitar sitio" href="http://SourceForge.net" target="_blank">SourceForge.net</a> y <a title="Visitar sitio" href="http://developer.yahoo.com/" target="_blank">Yahoo! Developer Network</a>.</li>
<li><a title="Visitar sitio" href="http://www.koders.com/" target="_blank">Koders</a>: dicen poder buscar en un billón de líneas de código, y es uno de los favoritos de programadores de Ruby.</li>
<li><a title="Visitar sitio" href="http://www.codase.com/" target="_blank">Codase</a>: con &#8220;apenas&#8221; 250 millones de líneas de código para buscar, este es el pequeño de esta lista; sin embargo, al parecer está enfocado en código de fuente abierta en <strong>C</strong>/<strong>C++</strong> orientado a <strong>Linux</strong>, así que no lo desprecies.</li>
</ol>
<p><span id="more-1353"></span></p>
<ol start="5">
<li><a title="Visitar sitio" href="http://snippets.dzone.com/" target="_blank">DZone Snippets</a>: este es un lugar para encontrar buenos ejemplos, con unos 13,000 usuarios que contribuyen unos 5,000 segmentos de código; no es muy fácil de navegar, pero puedes encontrar código muy bueno si te aplicas buscando.</li>
<li><a title="Visitar sitio" href="http://snipplr.com/" target="_blank">Snipplr</a>: este es al igual que Dzone un sitio de <strong>snippets</strong> (retazos o segmentos de código), sólo que con más cantidad que aquel, unos 8,000 aproximadamente. Y por si no te convence, también ofrecen plugins para TextMate, Gedit y WordPress.</li>
<li><a title="Visitar sitio" href="http://www.google.com/codesearch" target="_blank">Google Code Search</a>: que lista de búsqueda está completa si no incluyes a Google&#8230;no se sabe cuantas líneas de código tiene listas para buscar, pero cuando de búsquedas se trata la última palabra la tiene siempre Google: este indexa una tonelada de sitios de código, como GitHub, SourceForge, y otros más.</li>
<li><a title="Visitar sitio" href="http://labs.oreilly.com/code/" target="_blank">O&#8217;Reilly Code Search</a>: el editor de libros O&#8217;Reilly te permite buscar en los más de 123,000 ejemplos de sus libros (700 más o menos), que juntos suman unas 2.6 millones de líneas de código. Nada mal.</li>
</ol>
<p>Con todos estos enlaces seguramente necesitarás ese código que tanto necesitas. ¡A buscar se ha dicho!</p>
<p>Fuente: <a title="Leer nota completa" href="http://www.sitepoint.com/blogs/2008/11/04/7-places-to-find-the-code-you-need/" target="_blank">SitePoint</a></p>
<h2>T&eacute;rminos de b&uacute;squeda entrantes:</h2><ul><li>comprar ilink 8000</li><li>compro ilink 8000</li><li>8 sitios de busqueda</li><li>código de los sitios</li><li>cuantas lineas de codigo tiene google</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.orlandoalonzo.com.mx/programacion/8-sitios-para-que-encuentres-el-codigo-que-necesitas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 principios de los maestros de PHP</title>
		<link>http://www.orlandoalonzo.com.mx/programacion/10-principios-de-los-maestros-de-php/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=10-principios-de-los-maestros-de-php</link>
		<comments>http://www.orlandoalonzo.com.mx/programacion/10-principios-de-los-maestros-de-php/#comments</comments>
		<pubDate>Tue, 30 Sep 2008 16:18:27 +0000</pubDate>
		<dc:creator>Dr. Ogalinski</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[consejos]]></category>
		<category><![CDATA[maestros]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.orlandoalonzo.com.mx/?p=1285</guid>
		<description><![CDATA[Actualmente PHP tiene una presencia casi total en la red: es el lenguaje de scripting más popular que hay, y eso a su vez es una ventaja, porque para todos los que están aprendiendo eso significa que tendrán una gran base de código para aprender y/o modificar, pero a la vez es una desventaja porque [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" src="http://img.photobucket.com/albums/v474/ogalonzo/blog/php-code.jpg" alt="Código en PHP" width="470" height="253" /></p>
<p>Actualmente <a title="Visitar sitio" href="http://www.php.net" target="_blank">PHP</a> tiene una presencia casi total en la red: es el <strong>lenguaje</strong> de <strong>scripting</strong> más popular que hay, y eso a su vez es una ventaja, porque para todos los que están aprendiendo eso significa que tendrán una gran base de <strong>código</strong> para aprender y/o modificar, pero a la vez es una desventaja porque muchos programadores simple y sencillamente no tienen buenas prácticas. Así que escuchemos consejos de los verdaderos maestros de PHP:</p>
<p><strong>1 &#8211; Usa PHP solo cuando lo necesites (Rasmus Lerdorf)</strong></p>
<p>Si hay alguien que puede darte un consejo sobre PHP, ese es <a title="Visitar sitio" href="http://en.wikipedia.org/wiki/Rasmus_Lerdorf" target="_blank">Rasmus Lerdorf</a>. El es el autor de PHP&#8230;eso debe de contar para algo. Aunque no lo creas Lerdorf no concibió a PHP como una solución a todos los problemas, sino como una herramienta más, la cual debería de usarse para resolver ciertos problemas. El mismo Lerdorf invita a usar la herramienta adecuada; en sus palabras: &#8220;<em>usa la herramienta adecuada para cada trabajo. Me he topado con empresas que están inmersas en PHP, usándolo absolutamente en todos lados, pero nunca fue pensado para ser un lenguaje de propósito general para todos los problemas. Su principal función es como el front-end de scripts para la web.</em>&#8221;</p>
<p><strong>2 &#8211; Usa muchas tablas con PHP y MySQL para escalabilidad (Matt Mullenweg)</strong></p>
<p>Matt Mullenweg es el autor original de <a title="Visitar sitio" href="http://www.wordpress.org" target="_blank">WordPress</a>, así que de nuevo, quizás tenga una o dos cosas interesantes que decir en cuanto a escalabilidad, sólo hay que pensar en <a title="Visitar sitio" href="http://www.wordpress.com" target="_blank">WordPress.com</a>: 4 millones de blogs, 140,000 artículos al día. En el 2006 Matt dió algunos pormenores de como funciona la estructura de base de datos de WordPress.com y explicó que <strong>WordPress MU</strong> (multi-user, multiusuario) usa una tabla separada por cada blog, en vez de una sola tabla gigante para todos los blogs. El razonamiento detrás de esta lógica son los costos en hardware: el tener muchas tablas permite migrarlas fácilmente, mientras que una estructura monolítica no.</p>
<p><span id="more-1285"></span><strong>3 &#8211; Nunca confíes en tus usuarios (Dave Child)</strong></p>
<p>Dave Child es el autor del sitio <a title="Visitar sitio" href="http://www.addedbytes.com/" target="_blank">Added Bytes</a>, que contiene <strong>cheat sheets</strong> de muchos lenguajes. Dave ofrece este consejo en cuanto a seguridad: nunca confíes en tus usuarios: debes de suponer que toda información que recolectes desde tu sitio contiene código malicioso, incluido aquellos datos que pudieran ser verificado del lado del cliente, usando <strong>JavaScript</strong>, por ejemplo. Y no sólo eso, otro consejo de David es que seas completa y totalmente paranoico respecto a la seguridad de tu sitio; no pienses que tu sitio nunca será atacado, porque cuando eso suceda, entonces estarás en muchísimos problemas.</p>
<p><strong>4 &#8211; Invierte en una solución de caché para PHP (Ben Balbo)</strong></p>
<p>Ben Balbo es un escritor de <a title="Leer nota completa" href="http://www.sitepoint.com/" target="_blank">Site Point</a>, un sitio respetado  que contiene tutoriales para desarrolladores y diseñadores. El consejo de Balbo es que uses algún sistema de <strong>caché</strong> para PHP. No importa el sitio que tengas, ya sea estático, sea un blog de WordPress, o algún otro CMS que use PHP, te verás beneficiado con el uso de un sistema de cache, en algunos casos con mejoras bastante impresionantes.</p>
<p><strong>5 &#8211; Acelera el desarrollo usando un IDE, templates y retazos de código (Chad Kieffer)</strong></p>
<p>Chad Kieffer es el autor del blog <a title="Visitar sitio" href="http://2tbsp.com/" target="_blank">2 tablespoons</a>; el consejo de Kieffer es simple, y si lo vemos desde otro punto de vista, es un principio básico de ingeniería: no reinventes la rueda. Su consejo consiste en usar un ambiente de desarrollo integrado (IDE, por sus siglas en inglés), como por ejemplo Eclipse PDT; y también echar guante de templates (patrones) y trozos de código.</p>
<p><strong>6 &#8211; Haz un mejor uso de las funciones de filtro de PHP (Joey Sochacki)</strong></p>
<p>Joey es el autor del blog <a title="Visitar sitio" href="http://www.devolio.com" target="_blank">Devolio</a>, donde comparte tips para webmasters y freelancers. Joey se ha dado cuenta de que no muchos programadores usan las funciones de filtrado de PHP, las cuales sirven para filtrar y validar casi cualquier cosa que se te ocurra.</p>
<p><strong>7 &#8211; Usa un framework de PHP (Josh Sharp)</strong></p>
<p>Josh es un desarrollador web que se gana el pan creando sitios para sus clientes. El consejo de Josh es usar un framework de PHP; el razonamiento detrás de esto (que por cierto es algo con lo que estoy de acuerdo), es que es extremadamente fácil escribir mal código en PHP, por lo tanto, ¿porqué no usar un framework como <a title="Visitar sitio" href="http://cakephp.org/" target="_blank">CakePHP</a>, <a title="Visitar sitio" href="http://codeigniter.com/" target="_blank">Code Igniter</a> o alguno de los muchos que hay? las ganancias son buenas, pues estandarizarás tu código y usarás menos tiempo en el desarrollo.</p>
<p><strong>8 &#8211; No uses un framework de PHP (Rasmus Lerdorf)</strong></p>
<p>El padre de PHP contraataca, esta vez llevándole la contraria al consejo #7. ¿La razón? Lerdorf argumenta que los frameworks de PHP son lentos. Si PHP por si sólo no es un rayo que digamos, ciertamente los frameworks son un poco más lentos. Si aún así tienes que usar un framework, Lerdorf tiene cierta preferencia por Code Igniter.</p>
<p><strong>9 &#8211; Usa procesamiento por lotes (Jack D. Herrington)</strong></p>
<p>Herrington es un presigioso escritor (y programador claro), que ha escrito unos 30 artículos para el no menos prestigioso IBM developerWorks, y tiene algunos libros a su cuenta también. El consejo de Herrington es que uses procesamiento con lotes, usando cron para procesar tareas en segundo plano, pues a los usuarios no les gusta esperar. Herrington cree en la simplicidad, y en vez de usar hilos de ejecución en los servidores, el usa una sencilla combinación de cron, PHP y MySQL para procesar tareas en segundo plano.</p>
<p><strong>10 &#8211; Habilita los reportes de errores inmediatamente (David Cummings)</strong></p>
<p>Este es un buen consejo de David Cummings, propietario de una empresa de software especializada en sistemas de manejo de contenidos. El consejo de Cummings es habilitar el reporteo de errores a su máximo nivel; generalmente el nivel de reporteo de errores de PHP oculta muchos errores &#8220;tontos&#8221;, como por ejemplo referenciar una variable fuera del segmento actual de código, usar un define que no esté establecido, y otros así. El reporteo de errores a tope te indicará todos estos errores y otros más, que pueden parecer poca cosa, pero cuando quieres desarrollar a otro nivel te darán dolores de cabeza.</p>
<p>Ahí tienen amigos, a ponerlos en práctica para tratar de sufrir menos con PHP. <img src="http://www.orlandoalonzo.com.mx/wp-includes/images/smilies/yahoo3.gif" class="wp-smiley" /></p>
<p>Fuente: <a title="Leer nota completa" href="http://nettuts.com/articles/10-principles-of-the-php-masters/" target="_blank">NetTuts</a></p>
<h2>T&eacute;rminos de b&uacute;squeda entrantes:</h2><ul><li>maestros de php</li><li>codeigniter multiusuario</li><li>multiusuario codeigniter</li><li>wordpress mu sin muchas tablas</li><li>maestro del php</li><li>maestros php</li><li>estructura tablas wordpress multisite</li><li>multiusuarios con codeigniter</li><li>principios de los maestros</li><li>principios de php</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.orlandoalonzo.com.mx/programacion/10-principios-de-los-maestros-de-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Liberarán código fuente del juego SimCity original</title>
		<link>http://www.orlandoalonzo.com.mx/juegos/liberaran-codigo-fuente-del-juego-simcity-original/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=liberaran-codigo-fuente-del-juego-simcity-original</link>
		<comments>http://www.orlandoalonzo.com.mx/juegos/liberaran-codigo-fuente-del-juego-simcity-original/#comments</comments>
		<pubDate>Mon, 14 Jan 2008 00:08:37 +0000</pubDate>
		<dc:creator>Dr. Ogalinski</dc:creator>
				<category><![CDATA[Juegos]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[arts]]></category>
		<category><![CDATA[child]]></category>
		<category><![CDATA[city]]></category>
		<category><![CDATA[código]]></category>
		<category><![CDATA[electronic]]></category>
		<category><![CDATA[gnu]]></category>
		<category><![CDATA[gpl]]></category>
		<category><![CDATA[laptop]]></category>
		<category><![CDATA[micropolis]]></category>
		<category><![CDATA[olpc]]></category>
		<category><![CDATA[one]]></category>
		<category><![CDATA[sim]]></category>
		<category><![CDATA[simcity]]></category>

		<guid isPermaLink="false">http://www.orlandoalonzo.com.mx/juegos/liberaran-codigo-fuente-del-juego-simcity-original/</guid>
		<description><![CDATA[En noviembre del año pasado les informé de que Electronics Arts donaría la versión original del juego SimCity al proyecto One Laptop Per Child (OLPC), el cual tiene como misión llevar portátiles de bajo costo (por cierto ya no tan bajo) a niños de países en vías de desarrollo. Como muchos de ustedes ya sabrán, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://img.photobucket.com/albums/v474/ogalonzo/blog/simcity.gif" alt="SimCity" align="left" height="80" hspace="10" width="80" />En noviembre del año pasado les informé de que <a href="http://www.orlandoalonzo.com.mx/juegos/ea-dona-simcity-al-proyecto-olpc/" title="Leer nota completa">Electronics Arts donaría la versión original del juego SimCity</a> al proyecto <strong>One Laptop Per Child</strong> (<strong>OLPC</strong>), el cual tiene como misión llevar portátiles de bajo costo (por cierto ya no tan bajo) a niños de países en vías de desarrollo. Como muchos de ustedes ya sabrán, <strong>SimCity</strong> es mucho más que un simple juego, pues fomenta en los más pequeños muchas habilidades, como por ejemplo la resolución de problemas y también el desarrollar el sentido de estrategia.</p>
<p>Ahora, <strong>Electronic Arts</strong> libera el código fuente de este juego bajo la licencia <strong>GNU GPL</strong>, que ahora se llamará <a href="http://www.donhopkins.com/home/micropolis/" title="Visitar sitio" target="_blank">Micrópolis</a> y no tendrá ninguna referencia al nombre <strong>SimCity</strong>, lo cual hacen para proteger su marca registrada. Esto es de interesante para todos los que desarollamos software, pues leyendo e investigando este código podemos aprender muchas técnicas que nos pueden servir. Vale la pena echarle un ojo.</p>
<p><a href="http://www.downloadsquad.com/2008/01/13/original-simcity-source-code-released-under-gpl/" title="Leer nota completa" target="_blank">Leer nota completa en Download Squad.</a></p>
<h2>T&eacute;rminos de b&uacute;squeda entrantes:</h2><ul><li>codigos fuente de electronic art</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.orlandoalonzo.com.mx/juegos/liberaran-codigo-fuente-del-juego-simcity-original/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: basic (User agent is rejected)
Database Caching using disk: basic

Served from: www.orlandoalonzo.com.mx @ 2012-02-04 05:25:45 -->
