<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Cronicas de un Mundo Gris</title>
	<atom:link href="http://mundogris.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://mundogris.wordpress.com</link>
	<description>Personal rantings sobre programación, videojuegos, filosofía, programación (¿ya lo dije?), y el mundo en general... y una mezcla de todo lo anterior</description>
	<lastBuildDate>Fri, 09 Apr 2010 01:01:03 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='mundogris.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>https://s-ssl.wordpress.com/i/buttonw-com.png</url>
		<title>Cronicas de un Mundo Gris</title>
		<link>https://mundogris.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="https://mundogris.wordpress.com/osd.xml" title="Cronicas de un Mundo Gris" />
	<atom:link rel='hub' href='https://mundogris.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Boycott Apple in defense of Flash and all developers!</title>
		<link>https://mundogris.wordpress.com/2010/04/08/boycott-apple-in-defense-of-flash-and-all-developers/</link>
		<comments>https://mundogris.wordpress.com/2010/04/08/boycott-apple-in-defense-of-flash-and-all-developers/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 01:01:03 +0000</pubDate>
		<dc:creator>elhombregris</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://mundogris.wordpress.com/?p=916</guid>
		<description><![CDATA[If it&#8217;s true what&#8217;s being said about the change in the iPhone SDK license, Apple has finally stepped over the line. Their actions against Flash and, generally speaking, all developers have gone from tolerable arrogance to unfair and monopolistic. I expect justice to be served and Apple to be stopped from continuing with these practices [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mundogris.wordpress.com&amp;blog=287822&amp;post=916&amp;subd=mundogris&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div>
<div>
<div id="p7zh">If  it&#8217;s true <a href="http://daringfireball.net/2010/04/iphone_agreement_bans_flash_compiler">what&#8217;s being said about the change in the iPhone SDK license</a>,  Apple has finally stepped over the line. Their actions against Flash  and, generally speaking, all developers have gone from tolerable  arrogance to unfair and monopolistic. I expect justice to be served and  Apple to be stopped from continuing with these practices that are unfair  to all developers.</p>
<p>Meanwhile, I only see fit to do what any  good willed man can do against a corporation that acts without care for  moral boundaries: BOYCOTT APPLE. And doing the worst that can be done to  them: telling the facts about the state of Apple technology compared to  their competitors.</p>
<p>They lost the edge, and it&#8217;s been quite a  while since they lost it, and it&#8217;s not because their competitors got  better, it&#8217;s because they stopped caring about improving the technology.  They only care about maximizing their profit, and the result is that  their products are no longer state of the art but a mediocre, average  product. The iPad mockery is proof of that.</p>
<p>Screw the iPhone.  Every other smartphone will have Flash 10.1. Why develop for a mediocre  device where the manufacturer doesn&#8217;t show any good will towards the  developers?</p></div>
</div>
</div>
<br />Filed under: <a href='https://mundogris.wordpress.com/category/uncategorized/'>Uncategorized</a> Tagged: <a href='https://mundogris.wordpress.com/tag/apple/'>apple</a>, <a href='https://mundogris.wordpress.com/tag/flash/'>flash</a>, <a href='https://mundogris.wordpress.com/tag/iphone/'>iphone</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mundogris.wordpress.com/916/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mundogris.wordpress.com/916/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mundogris.wordpress.com/916/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mundogris.wordpress.com/916/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mundogris.wordpress.com/916/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mundogris.wordpress.com/916/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mundogris.wordpress.com/916/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mundogris.wordpress.com/916/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mundogris.wordpress.com/916/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mundogris.wordpress.com/916/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mundogris.wordpress.com/916/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mundogris.wordpress.com/916/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mundogris.wordpress.com/916/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mundogris.wordpress.com/916/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mundogris.wordpress.com&amp;blog=287822&amp;post=916&amp;subd=mundogris&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://mundogris.wordpress.com/2010/04/08/boycott-apple-in-defense-of-flash-and-all-developers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">elhombregris</media:title>
		</media:content>
	</item>
		<item>
		<title>PHP 5.3 &#8220;Como cayó, quedó&#8221;</title>
		<link>https://mundogris.wordpress.com/2009/06/30/php-5-3-como-cayo-quedo/</link>
		<comments>https://mundogris.wordpress.com/2009/06/30/php-5-3-como-cayo-quedo/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 15:22:40 +0000</pubDate>
		<dc:creator>elhombregris</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php5.3]]></category>

		<guid isPermaLink="false">http://mundogris.wordpress.com/2009/06/30/php-5-3-como-cayo-quedo/</guid>
		<description><![CDATA[Anuncio del release Changelog del release Con ese changelog&#8230; debería ser el release de una major version, no una minor&#8230; En fín, este sería el milestone de php que se conocera de acá en adelante con la frase &#8220;como cayó, quedó&#8221;. Mi sincero y objetivo consejo: no usen los namespaces, así como están son al [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mundogris.wordpress.com&amp;blog=287822&amp;post=562&amp;subd=mundogris&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.php.net/archive/2009.php#id2009-06-30-1">Anuncio del release</a></p>
<p><a href="http://php.net/ChangeLog-5.php#5.3.0">Changelog del release</a></p>
<p>Con ese changelog&#8230; debería ser el release de una major version, no una minor&#8230;</p>
<p>En fín, este sería el milestone de php que se conocera de acá en adelante con la frase &#8220;como cayó, quedó&#8221;.</p>
<p>Mi sincero y objetivo consejo: no usen los namespaces, así como están son al reverendo pedo, lo bueno es que pueden igual usar el keyword &#8220;use&#8221; para hacer name aliasing y achicar los nombres largos que ya venian usando.</p>
<p>Los &#8220;closures&#8221; al final quedaron como era de esperarse&#8230; no son más que syntactic sugar para la creación de functor objects anonimos. No resuelven el scope, se debe explicitar las variables que se copian al scope del functor.</p>
<p><a href="http://foros.3dgames.com.ar/programacion.97/539392.php-php-5-3-released.html">Discusión en Foro 3DGames</a></p>
<br />Posted in Uncategorized Tagged: php, php5.3 <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mundogris.wordpress.com/562/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mundogris.wordpress.com/562/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mundogris.wordpress.com/562/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mundogris.wordpress.com/562/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mundogris.wordpress.com/562/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mundogris.wordpress.com/562/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mundogris.wordpress.com/562/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mundogris.wordpress.com/562/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mundogris.wordpress.com/562/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mundogris.wordpress.com/562/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mundogris.wordpress.com/562/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mundogris.wordpress.com/562/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mundogris.wordpress.com/562/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mundogris.wordpress.com/562/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mundogris.wordpress.com&amp;blog=287822&amp;post=562&amp;subd=mundogris&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://mundogris.wordpress.com/2009/06/30/php-5-3-como-cayo-quedo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">elhombregris</media:title>
		</media:content>
	</item>
		<item>
		<title>NERD RAGE &#8211; FURIA NERD</title>
		<link>https://mundogris.wordpress.com/2009/04/24/nerd-rage-furia-nerd/</link>
		<comments>https://mundogris.wordpress.com/2009/04/24/nerd-rage-furia-nerd/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 03:42:13 +0000</pubDate>
		<dc:creator>elhombregris</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://mundogris.wordpress.com/?p=533</guid>
		<description><![CDATA[Es increible como las epifanias vienen en las formas y momentos más inesperados. Transcribo y traduzco una pieza que resulta practicamente un manifesto, que se puede ver en el comic online VG Cats. En español: FURIA NERD ¿Quién es un gamer? ¡¿Quién NO?! Gracias a la Wii y juegos como Rock Band, lo que antes [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mundogris.wordpress.com&amp;blog=287822&amp;post=533&amp;subd=mundogris&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Es increible como las epifanias vienen en las formas y momentos más inesperados. Transcribo y traduzco una pieza que resulta practicamente un manifesto, que se puede ver en el <a href="http://www.vgcats.com/comics/?strip_id=282">comic online VG Cats</a>.</p>
<p>En español:</p>
<p><span class="quote"></p>
<blockquote><p>FURIA NERD</p>
<p>¿Quién es un <em>gamer</em>? ¡¿Quién <strong>NO</strong>?!</p>
<p>Gracias a la Wii y juegos como <em>Rock Band</em>, lo que antes era un hobby de recluidos es ahora algo de las grandes masas.</p>
<p>Ahora está de moda jugar videojuegos, ¡somos un maldito objetivo <strong>MARKETINERO</strong>!</p>
<p>Pero con más gente jugando videojuegos ¿no deberíamos <strong>NOSOTROS </strong>conseguir más videojuegos que jugar?</p>
<p><strong>NO</strong>.</p>
<p>En cambio recibimos versiones bastardas de los que una vez fueron clásicos. Un perpetuo <em>easy </em>mode lleno de <em>quicktime events </em>y mini-juegos.</p>
<p>¿Cuándo fue la última vez que jugaron un videojuego realmente genial?</p>
<p>Eso pense. Son pocos y muy <strong>CADA TANTO</strong>.</p>
<p>Es tiempo de cortar con esta <strong>MIERDA</strong>. Este mensaje es para ustedes <strong>TARADOS </strong>del <em>auto aiming</em>, del jugar con el equipo de los sueños, y del <em>Wii bowling</em>.</p>
<p><strong>VAYANSE A LA MIERDA</strong>.</p>
<p>No sufrimos <strong>AÑOS </strong>como parias para que ustedes vengan a cagarla.</p>
<p><strong>NOSOTROS </strong>nos memorizamos los <em>ultra combos</em>. <strong>NOSOTROS </strong>escribimos páginas y páginas de <em>passwords</em>.</p>
<p><span class="quote"><strong>NOSOTROS </strong></span>vencimos los Robot Masters, knockeamos a Tyson, y <strong>SALVAMOS A LA PUTA PRINCESA</strong>.</p>
<p>Sé lo que nosotros somos, y lo que ustedes <strong>NO</strong>.</p>
<p><em>Gamers</em>.</p></blockquote>
<p></span></p>
<p>En ingles:</p>
<p><span class="quote"></p>
<blockquote><p>NERD RAGE</p>
<p>Who’s a gamer? Who <strong>ISN’T</strong>?!</p>
<p>With the Wii and games like Rock Band, it’s opened what was once a reclusive hobby to the light of the teeming masses.</p>
<p>Now it’s trendy to like games, we’re fucking <strong>MARKETABLE</strong>!</p>
<p>But with more people playing games doesn’t that mean <strong>WE </strong>get more games to play?</p>
<p><strong>NO</strong>.</p>
<p>Instead we’re getting bastardized versions of what were once classic games. A perpetual easy mode filled with quicktime events and mini-games.</p>
<p>When was the last time you played a truly great game?</p>
<p>Thought so. They are few and <strong>FAR </strong>between.</p>
<p>Its’ time for this <strong>BULLSHIT </strong>to stop. This is a message to you auto aiming, madden rostering, Wii bowling <strong>ASSTARDS</strong>.</p>
<p><strong>FUCK YOU</strong>.</p>
<p>We didn’t spend <strong>YEARS </strong>as a social outcast to watch you assholes fuck this up.</p>
<p><strong>WE </strong>memorized the ultra combos. <strong>WE </strong>wrote down pages of passwords.</p>
<p><strong>WE </strong>defeated the robotmasters, knocked out Tyson, and <strong>SAVED THE FUCKING PRINCESS</strong>.</p>
<p>I know what we are, and you’re <strong>NOT</strong>.</p>
<p>Gamers.</p></blockquote>
<p></span></p>
<br />Posted in Uncategorized  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mundogris.wordpress.com/533/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mundogris.wordpress.com/533/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mundogris.wordpress.com/533/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mundogris.wordpress.com/533/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mundogris.wordpress.com/533/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mundogris.wordpress.com/533/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mundogris.wordpress.com/533/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mundogris.wordpress.com/533/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mundogris.wordpress.com/533/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mundogris.wordpress.com/533/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mundogris.wordpress.com/533/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mundogris.wordpress.com/533/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mundogris.wordpress.com/533/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mundogris.wordpress.com/533/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mundogris.wordpress.com&amp;blog=287822&amp;post=533&amp;subd=mundogris&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://mundogris.wordpress.com/2009/04/24/nerd-rage-furia-nerd/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">elhombregris</media:title>
		</media:content>
	</item>
		<item>
		<title>El colmo de la anunciocracia</title>
		<link>https://mundogris.wordpress.com/2009/01/26/el-colmo-de-la-anunciocracia/</link>
		<comments>https://mundogris.wordpress.com/2009/01/26/el-colmo-de-la-anunciocracia/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 15:36:17 +0000</pubDate>
		<dc:creator>elhombregris</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://mundogris.wordpress.com/?p=512</guid>
		<description><![CDATA[Me estuve conteniendo de hablar sobre temas de índole política, pero es demasiado tentador, son demasiadas las cosas interesantes que están sucediendo. Si no sabe que es la anunciocracia, usted seguramente no vive en la Argentina, o tal vez vive en una nube de pedo negando mirar lo que sucede alrededor. Digamoslo llanamente, un gobierno [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mundogris.wordpress.com&amp;blog=287822&amp;post=512&amp;subd=mundogris&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Me estuve conteniendo de hablar sobre temas de índole política, pero es demasiado tentador, son demasiadas las cosas interesantes que están sucediendo.</p>
<p>Si no sabe que es la anunciocracia, usted seguramente no vive en la Argentina, o tal vez vive en una nube de pedo negando mirar lo que sucede alrededor. Digamoslo llanamente, un gobierno que se pasa haciendo anuncios para mantener a sus gobernados contenidos en una falsa sensación de bienestar, es una anunciocracia.</p>
<p>El colmo de la anunciocracia es cuando se empieza a anunciar que se van a hacer anuncios, como si hiciera falta&#8230;</p>
<p>La publicación propagandista oficial en formato de falso periódico, denominada bastante apropiadamente &#8220;El Argentino&#8221; (por lo mentiroso), titula hoy &#8220;Gobierno prepara semana de anuncios&#8221;&#8230; ¿hace falta? A menos que se venga el anuncio de que dejan el poder, no es gran noticia, más aún en una semana donde hay tanto más de que hablar: Obama, Guantánamo, referendo en Bolivia, sequías, secuestros, etc, elijan uno que todos estos temas son más importantes que saber que el gobierno sigue haciendo lo mismo de siempre, o mejor dicho, sigue diciendo que va hacer cosas.</p>
<br />Posted in Uncategorized  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mundogris.wordpress.com/512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mundogris.wordpress.com/512/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mundogris.wordpress.com/512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mundogris.wordpress.com/512/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mundogris.wordpress.com/512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mundogris.wordpress.com/512/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mundogris.wordpress.com/512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mundogris.wordpress.com/512/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mundogris.wordpress.com/512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mundogris.wordpress.com/512/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mundogris.wordpress.com/512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mundogris.wordpress.com/512/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mundogris.wordpress.com/512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mundogris.wordpress.com/512/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mundogris.wordpress.com&amp;blog=287822&amp;post=512&amp;subd=mundogris&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://mundogris.wordpress.com/2009/01/26/el-colmo-de-la-anunciocracia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">elhombregris</media:title>
		</media:content>
	</item>
		<item>
		<title>Singletons en Actionscript 3</title>
		<link>https://mundogris.wordpress.com/2008/12/25/singletons-en-actionscript-3/</link>
		<comments>https://mundogris.wordpress.com/2008/12/25/singletons-en-actionscript-3/#comments</comments>
		<pubDate>Thu, 25 Dec 2008 16:33:52 +0000</pubDate>
		<dc:creator>elhombregris</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://mundogris.wordpress.com/?p=466</guid>
		<description><![CDATA[Este no es un tema nuevo, de los patrones de diseño se habla a montones en la blaahgosfera, y actionscript no queda fuera del campo de interés de quienes ven en los patrones de diseño una buena herramienta para no andar reinventando la rueda en cada proyecto. También es conocida una situación particular del lenguaje [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mundogris.wordpress.com&amp;blog=287822&amp;post=466&amp;subd=mundogris&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Este no es un tema nuevo, de los patrones de diseño se habla a montones en la blaahgosfera, y actionscript no queda fuera del campo de interés de quienes ven en los patrones de diseño una buena herramienta para no andar reinventando la rueda en cada proyecto. También es conocida una situación particular del lenguaje actionscript que causa ciertas molestias en algunos puristas, la imposibilidad de declarar como privados a los constructores de una clase.</p>
<p>Para hacerla corta, para un patrón de diseño de construcción, como por ejemplo el Singleton, conviene dejar fuera del alcance del resto del sistema el manejo de su construcción, o sea, siguiendo el ejemplo, para un singleton debería existir solo una única instancia, pero si otras piezas del sistema tienen acceso al constructor del singleton ¿quién te asegura que nadie intente crear una nueva instancia?</p>
<p>En general veo dos posiciones, la de los puristas que chequeen en runtime que el objeto no instanciado externamente, añadiendo un flag parche y causando una excepción si este flag indica que no se está instanciando el objeto como se debe. Y la otra posición es la de los que les importa un bledo, y si instanciaste el singleton es problema tuyo por no saber que no se instancian los singletons.</p>
<p>Ahora, existe una tercer postura, la mía =P</p>
<p>Volviendo a ponernos serios, no es realmente conveniente asegurarse que un singleton mantiene su cualidad de tener una única instancia haciendo la validación en runtime antes mencionada. Primero, ensucia el código, el flag parche no tiene otro propósito que ser un workaround para una condición del lenguaje. Segundo, estos problemas deberían detectarse siempre en la compilación, no hay razón para delegarlas al runtime.</p>
<p>Lo más interesante es que realmente se puede hacer singletons en actionscript 3 cuya construcción sea inaccesible para los otros componentes del sistema, y de esta manera controlar que se cumpla la condición de única instancia. Asimismo se puede aplicar otros patrones de diseño de construcción manteniendo inaccesible la construcción, aunque con algunas vueltas de tuerca.</p>
<p>Para esto lo que se hace es separar el patrón en 3 partes: la interfaz, la implementación y el acceso. Para el caso del Singleton tenemos una interfaz al objeto que es singleton, que es pública y abstracta, una implementación que es el objeto singleton en cuestión, que es privado, y el acceso que es la forma en que accedemos a la instancia singleton.</p>
<p>La interfaz es justamente implementado como un interface que expone los métodos y atributos del singleton. El interface nos abstrae de la implementación y no nos da acceso a la construcción del mismo. La implementación la declaramos como internal, de manera que es solo accesible desde dentro del mismo paquete, no solucionamos realmente el problema pero lo limitamos considerablemente (al paquete del singleton).</p>
<p>Finalmente queda la cuestión de como proveer el acceso a la instancia singleton. Una opción simple es tener una constante dentro del paquete para dicha instancia, pero esto puede ser complicado a la hora de ponerle nombres a los símbolos (porque en muchos casos resulta coherente usar el mismo nombre para la constante y para la interfaz). Otro opción es dar acceso al singleton desde otro clase, ya sea una que por el modelo de datos funcione como contenedor, o una clase de utilidad que solo cumpla la función de dar acceso a uno o más singletons.</p>
<p><a href="http://code.google.com/p/bagoftricks/source/browse/#svn/examples/actionscript3/singleton-pattern">En un proyecto en google code que tengo para este tipo de cosas, subí código para ejemplificar esto</a>.</p>
<p>En el mismo se puede ver, por ejemplo, la <a href="http://code.google.com/p/bagoftricks/source/browse/examples/actionscript3/singleton-pattern/example1/configuration/ConfigurationImplementation.as">implementación interna de un singleton de configuración</a>, <a href="http://code.google.com/p/bagoftricks/source/browse/examples/actionscript3/singleton-pattern/example1/configuration/Configuration.as">la interfaz que expone este singleton al resto del sistema</a>, y <a href="http://code.google.com/p/bagoftricks/source/browse/examples/actionscript3/singleton-pattern/example1/configuration/CONFIG.as">el acceso a dicho singleton mediante una constante</a>.</p>
<p>A primera vista puede resultar molesto tener que mantener estas tres partes por separado, pero a la larga uno empieza a notar los beneficios de resolver este tipo de situaciones desacoplando interfaz e implementación. Por ejemplo, si uno usa una IDE con code-hinting, al usar una interfaz en lugar de la implementación, la IDE te sugiere unicamente aquello expuesto por la interfaz, lo cual resulta sumamente útil para filtrar todo aquello que nos hubiera sugerido de haber usado la implementación y realmente no nos interesabe. Esto último sucede en especial con clases cuya herencia es bastante prolongada, y la IDE nos sugiere todo cuanto las sucesivas clases dieron en exponer como público.</p>
<br />Posted in Uncategorized  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mundogris.wordpress.com/466/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mundogris.wordpress.com/466/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mundogris.wordpress.com/466/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mundogris.wordpress.com/466/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mundogris.wordpress.com/466/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mundogris.wordpress.com/466/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mundogris.wordpress.com/466/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mundogris.wordpress.com/466/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mundogris.wordpress.com/466/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mundogris.wordpress.com/466/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mundogris.wordpress.com/466/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mundogris.wordpress.com/466/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mundogris.wordpress.com/466/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mundogris.wordpress.com/466/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mundogris.wordpress.com&amp;blog=287822&amp;post=466&amp;subd=mundogris&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://mundogris.wordpress.com/2008/12/25/singletons-en-actionscript-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">elhombregris</media:title>
		</media:content>
	</item>
		<item>
		<title>Mitos de la programación: Las promesas falsas de Python</title>
		<link>https://mundogris.wordpress.com/2008/12/15/mitos-de-la-programacion-las-promesas-falsas-de-python/</link>
		<comments>https://mundogris.wordpress.com/2008/12/15/mitos-de-la-programacion-las-promesas-falsas-de-python/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 22:40:28 +0000</pubDate>
		<dc:creator>elhombregris</dc:creator>
				<category><![CDATA[Mitos de la programación]]></category>
		<category><![CDATA[Relatos tragicómicos de un foro de programación]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://mundogris.wordpress.com/?p=434</guid>
		<description><![CDATA[En el foro de programación de 3dgames surgió un agitado debate entorno al lenguaje de programación Python. Todo inicio a partir de la noticia del release de la versión 3 de dicho lenguaje, cuya promesa es limpiar el lenguaje de aquellos elementos que van en contra de su filosofía troncal, pero el primer release de [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mundogris.wordpress.com&amp;blog=287822&amp;post=434&amp;subd=mundogris&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>En el foro de programación de 3dgames surgió un agitado debate entorno al lenguaje de programación Python. Todo inicio a partir de la noticia del release de la versión 3 de dicho lenguaje, cuya promesa es limpiar el lenguaje de aquellos elementos que van en contra de su filosofía troncal, pero el primer release de dicha versión se encuentra adolescido por una perdida en performance. A esto muchos de los usuarios se pusieron a dudar sobre la pertinencia de dicha decisión, lo cual llevo a discutir aún sobre otros aspectos de dicho lenguaje, más allá de cual versión.</p>
<p>Estos son los debates que surgieron:</p>
<p><a href="http://foros.3dgames.com.ar/programacion.97/497755.python-3-a.html">Python 3</a></p>
<p><a href="http://foros.3dgames.com.ar/programacion.97/498960.debate-python.html">[Debate] Python</a></p>
<p>El mito del que acá quiero hablar es el mito de las promesas del lenguaje Python. El sitio dice:</p>
<blockquote><p>Python is a dynamic object-oriented programming language that can be used for many kinds of software development. It offers strong support for integration with other languages and tools, comes with extensive standard libraries, and can be learned in a few days. Many Python programmers report substantial productivity gains and feel the language encourages the development of higher quality, more maintainable code.</p></blockquote>
<p>Aunque los primeros argumentos son comprobables, lo último es solo un deseo que se puede ver en su redacción como se deslindan de tal afirmación (Many Python programmers report&#8230; igual no son muchos <img src='https://s-ssl.wordpress.com/wp-includes/images/smilies/icon_razz.gif?w=495' alt=':P' class='wp-smiley' /> &#8230; es broma). Lo cierto es que la promesa de productividad carece de comprobación, y la promese de mejora en calidad y mantenibilidad de código es totalmente mentira.</p>
<p>Hasta acá llega la postura políticamente correcta de Python, en cualquier otro lugar los python adictos van a defender ad nauseam la belleza del lenguaje.</p>
<p>Primero debemos recordar que no hay lenguaje que pueda garantizar la mantenibilidad, la calidad y/o la legibilidad del código, en dicho sentido cualquier promesa es vana. Siempre que haya en la tarea de programar la necesidad de mano de obra humana, esta disciplina va a depender de las capacidades literarias y comunicadores de los mismos para hacer del código fuente una pieza estéticamente agradable, legible, comprensible, mantenible por sus pares.</p>
<p>Ahora un lenguaje puede ser diseñado favoreciendo o entorpeciendo dicha tarea. Python hace esto último. Esto se debe al error de creer que el minimalismo, la simplicidad y lo dogmático es la combinación ideal para la elaboración de código fuerte en el aspecto estético-literario. Error que deviene en no comprender que dicho aspecto requiere consideraciones del área de comunicación y de una parte del diseño gráfico. Comunicación sobre todo, que es la falencia más grave de los programadores.</p>
<p>El punto clave es comprender que el código fuente es una pieza literaria. Es &#8220;leída&#8221; por otros además del autor, y estos &#8220;lectores&#8221; no necesariamente comparten la total comprensión del lenguaje usado, pero sí una base común cultural de como están estructurados los lenguajes de programación (o sea, no debe ser obligatorio conocer el lenguaje para poder leer código fuente escrito en el mismo, pero sí ser programador).</p>
<p>El código fuente es &#8220;redactado&#8221;, tiene una puesta en página y condicionantes estéticos que modifican la lectura. Esto es importante contemplarlo porque es la razón por la cual fue una mala decisión que el lenguaje dependa del espacio en blanco para delimitar bloques. La causa de esto, en mi opinión, fue mezclar inadecuadamente el paradigma funcional con el imperativo. El paradigma funcional hace uso del espacio porque su abstracción se sitúa sobre el lenguaje matemático que hace uso del espacio para poner en página las definiciones, pero esto solo funciona bien con el lenguaje lógico-matemático. El paradigma imperativo no comparte estas condiciones.</p>
<p>Hay varios otros puntos que muestran lo falente e inconsistente del lenguaje Python en lo que se refiere al aspecto estético-literario, varios de ellos discutidos en el debate que mencione arriba. Tratare de dedicarle algún tiempo a explicar algún otro, como, por ejemplo, porque está mal elegido el keyword &#8220;def&#8221; para definir funciones, que es un problema de retórica/comunicación.</p>
<br />Posted in Mitos de la programación, Relatos tragicómicos de un foro de programación Tagged: python <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mundogris.wordpress.com/434/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mundogris.wordpress.com/434/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mundogris.wordpress.com/434/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mundogris.wordpress.com/434/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mundogris.wordpress.com/434/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mundogris.wordpress.com/434/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mundogris.wordpress.com/434/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mundogris.wordpress.com/434/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mundogris.wordpress.com/434/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mundogris.wordpress.com/434/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mundogris.wordpress.com/434/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mundogris.wordpress.com/434/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mundogris.wordpress.com/434/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mundogris.wordpress.com/434/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mundogris.wordpress.com&amp;blog=287822&amp;post=434&amp;subd=mundogris&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://mundogris.wordpress.com/2008/12/15/mitos-de-la-programacion-las-promesas-falsas-de-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">elhombregris</media:title>
		</media:content>
	</item>
		<item>
		<title>Corta explicación sobre headers, lugar y orden de inclusión en C++</title>
		<link>https://mundogris.wordpress.com/2008/12/09/corta-explicacion-sobre-headers-lugar-y-orden-de-inclusion-en-c/</link>
		<comments>https://mundogris.wordpress.com/2008/12/09/corta-explicacion-sobre-headers-lugar-y-orden-de-inclusion-en-c/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 23:09:37 +0000</pubDate>
		<dc:creator>elhombregris</dc:creator>
				<category><![CDATA[Diario de Viaje]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[header]]></category>
		<category><![CDATA[includes]]></category>

		<guid isPermaLink="false">http://mundogris.wordpress.com/?p=394</guid>
		<description><![CDATA[Algo que escribi hace un tiempo en el foro de 3dgames La regla general para los includes es, si el tipo que estas declarando depende de un tipo de dato que está en otro header, tenés que incluir dicho header en el header donde declaras el nuevo tipo de dato. Por ejemplo: foo.hpp &#124; #ifndef [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mundogris.wordpress.com&amp;blog=287822&amp;post=394&amp;subd=mundogris&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://foros.3dgames.com.ar/programacion.97/488464.c-inclusion-headers-error-type-unknown.html#post8843644">Algo que escribi hace un tiempo en el foro de 3dgames</a></p>
<p>La regla general para los includes es, si el tipo que estas declarando depende de un tipo de dato que está en otro header, tenés que incluir dicho header en el header donde declaras el nuevo tipo de dato. Por ejemplo:</p>
<p><code><br />
foo.hpp<br />
| #ifndef __FOO_HPP__<br />
| #define __FOO_HPP__<br />
|<br />
| class foo { ... };<br />
|<br />
| #endif<br />
|<br />
bar.hpp<br />
| #ifndef __BAR_HPP__<br />
| #define __BAR_HPP__<br />
|<br />
| #include "foo.hpp"<br />
|<br />
| class bar {<br />
| private:<br />
|     foo foobar;<br />
|     ...<br />
| };<br />
|<br />
| #endif<br />
|<br />
</code></p>
<p>En este caso el compilador necesita saber como esta declarado foo para construir bar.</p>
<p>Pero, si usas solo punteros al otro tipo de dato, el include va en el .cpp y en el .hpp un forward declaration, siempre y cuando el .hpp solo contenga declaraciones (si usas templates fuiste). Ejemplo:</p>
<p><code><br />
foo.hpp<br />
| ...idem...<br />
|<br />
bar.hpp<br />
| #ifndef __BAR_HPP__<br />
| #define __BAR_HPP__<br />
|<br />
| class foo;<br />
|<br />
| class bar {<br />
| private:<br />
|     foo *foobar;<br />
|     ...<br />
| };<br />
|<br />
| #endif<br />
|<br />
bar.cpp<br />
| #include "bar.hpp"<br />
| #include "foo.hpp"<br />
|<br />
| ...<br />
|<br />
</code></p>
<p>En este caso el compilador no necesita saber como esta declarado foo para construir bar, ya que un puntero siempre es lo mismo sin importar a que apunte (salvo para punteros a funciones), por eso en el .hpp le basta con saber que el nombre &#8220;foo&#8221; corresponde a una clase. Pero en el .cpp vamos a trabajar con la variable miembro foobar por lo que necesitamos saber como está declarado el tipo &#8220;foo&#8221;.</p>
<p>La idea es que, de esta manera, los que utilicen la clase &#8220;bar&#8221; tengan que incluir solo la declaración de la clase bar y olvidarse de &#8220;foo&#8221;. En un ejemplo trivial como este puede parecer inutil, pero a esto agregale que foo utiliza otras clases más y templates, y la carga de headers puede llegar a ser significativa. Y si bar es una clase de utilidad genera que se usa en otros varios lugares&#8230; el tiempo de compilación puede llegar a ser un poquito molesto&#8230; (igual el cuello de botella son los templates&#8230; bah&#8230; no se ahora&#8230; hace tanto que no toco C++).</p>
<br />Posted in Diario de Viaje Tagged: c++, header, includes <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mundogris.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mundogris.wordpress.com/394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mundogris.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mundogris.wordpress.com/394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mundogris.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mundogris.wordpress.com/394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mundogris.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mundogris.wordpress.com/394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mundogris.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mundogris.wordpress.com/394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mundogris.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mundogris.wordpress.com/394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mundogris.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mundogris.wordpress.com/394/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mundogris.wordpress.com&amp;blog=287822&amp;post=394&amp;subd=mundogris&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://mundogris.wordpress.com/2008/12/09/corta-explicacion-sobre-headers-lugar-y-orden-de-inclusion-en-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">elhombregris</media:title>
		</media:content>
	</item>
		<item>
		<title>Sobre la crueldad de verdaderamente enseñar ciencias de la computación</title>
		<link>https://mundogris.wordpress.com/2008/12/05/sobre-la-crueldad-de-verdaderamente-ensenar-ciencias-de-la-computacion/</link>
		<comments>https://mundogris.wordpress.com/2008/12/05/sobre-la-crueldad-de-verdaderamente-ensenar-ciencias-de-la-computacion/#comments</comments>
		<pubDate>Sat, 06 Dec 2008 02:06:27 +0000</pubDate>
		<dc:creator>elhombregris</dc:creator>
				<category><![CDATA[Diario de Viaje]]></category>
		<category><![CDATA[ciencias de la computacion]]></category>
		<category><![CDATA[dijkstra]]></category>

		<guid isPermaLink="false">http://mundogris.wordpress.com/?p=389</guid>
		<description><![CDATA[Me tope con la noticia de que pasaron 20 años de la exposición de Dijkstra que acusa el nombre de este post. Se puede leer la traducción al español en el siguiente link: Sobre la crueldad de verdaderamente enseñar ciencias de la computación Lo postee en el foro de 3dgames y el comentario de un coforero [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mundogris.wordpress.com&amp;blog=287822&amp;post=389&amp;subd=mundogris&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Me tope con la noticia de que pasaron 20 años de la exposición de Dijkstra que acusa el nombre de este post. Se puede leer la traducción al español en el siguiente link:</p>
<p><a href="http://www.smaldone.com.ar/documentos/ewd/sobre_la_crueldad.html">Sobre la crueldad de verdaderamente enseñar ciencias de la computación</a></p>
<p><a href="http://foros.3dgames.com.ar/programacion.97/497200.sobre-crueldad-verdaderamente-ensenar-ciencias-computacion-dijkstra.html">Lo postee en el foro de 3dgames</a> y el comentario de un coforero me dio pie para un pequeño rant que aqui transcribo.</p>
<blockquote><p><em>Mensaje original enviado por Dem0<br />
¿Qué tan parecida es la visión de Dijkstra con, digamos, la carrera de Ciencias de la Computación en Exactas?</em></p></blockquote>
<blockquote><p>¿a Cs de las Computación en Exactas? La pregunta que deberías hacerte es ¿qué tan acertado estaba Dijkstra con respecto a las Ingenierías y las Tecnicaturas? En mi opinión estaba muy en lo cierto, y cae de sentado ejemplificarlo con las tantas ingenierías y tecnicaturas que institutos de dudada reputación en nuestro país han dado en promover, jactandose de dejar de lado la parte &#8220;dura&#8221; de nuestra disciplina o especializandose en mercados de atractivo comercial sin realmente comprometerse a enseñar el oficio como corresponde (por ejemplo, la tecnicatura en &#8220;programador de videojuegos&#8221; que en todo caso debería ser un posgrado).</p>
<p>Es triste ver como hay todavía individuos que insisten en comprender al software como una manufactura, o prefieren rasgar la superficie de la disciplina enseñando los tecnicismos, en lugar de introducir al alumno en el paradigma que le permita trabajar desde adentro del mismo, como profesional más que como técnico. Con esto último me refiero por ejemplo a quienes enseñan OOP enseñando como usar las herramientas del paradigma mas que dominando los fundamentos.</p>
<p>En cuanto al resto del artículo de Dijkstra, hay puntos en que estoy en desacuerdo. Su propuesta no es del todo alegre. Me parece que se equivocaba con respecto a la terminología como lugar donde se gesta la falla en el proceso de enseñanza. Muchos de los términos no son usados metafóricamente sino alegoricamente, o tal vez fueron usados de esta manera en su momento pero quedaron culturalmente aceptados y se convirtieron en alegorías o cambiaron su significado habiendo quedado perdida el vinculo original que las mantenía como metáforas. Por ejemplo, &#8220;bug&#8221; para referirse a errores de programa, &#8220;comportamiento&#8221; para referirse a las consecuencias funcionales de un programa, &#8220;mantenimiento&#8221; para referirse a la asistencia de incidentes y ajustes funcionales menores post-deploy, etc&#8230;</p>
<p>Creo que se ha avanzado sobre lo que Dijkstra considero como la mitad faltante en la formación de científicos de la computación, por lo menos en los lugares donde se considera a nuestra disciplina como tal. Me refiero a que se avanzo en lo que es pertinente a la especificación funcional. Programar no es simplemente el acto de escribir programas de computación, es todo lo que conlleva realizar dicho programa, desde relevar la especificación funcional, implementarlo, hacerlo parte de una base de conocimiento y procesos, y mantenerlo funcional y actualizado a los procesos que se busca automatizar (en el sentido: de crear el automata capaz de llevar a cabo el proceso).</p>
<p>Pero me parece que Dijkstra dejo de lado un tercer aspecto de nuestra disciplina que es tan importante como el resto: un programa es también una pieza literaria, una pieza de comunicación. Un programa tiene por lo menos tres aspectos: es ejecutado por una computadora, responde a una intención, y tiene una o más formas de ser &#8220;leído&#8221;.</p></blockquote>
<br />Posted in Diario de Viaje Tagged: ciencias de la computacion, dijkstra <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mundogris.wordpress.com/389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mundogris.wordpress.com/389/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mundogris.wordpress.com/389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mundogris.wordpress.com/389/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mundogris.wordpress.com/389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mundogris.wordpress.com/389/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mundogris.wordpress.com/389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mundogris.wordpress.com/389/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mundogris.wordpress.com/389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mundogris.wordpress.com/389/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mundogris.wordpress.com/389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mundogris.wordpress.com/389/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mundogris.wordpress.com/389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mundogris.wordpress.com/389/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mundogris.wordpress.com&amp;blog=287822&amp;post=389&amp;subd=mundogris&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://mundogris.wordpress.com/2008/12/05/sobre-la-crueldad-de-verdaderamente-ensenar-ciencias-de-la-computacion/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">elhombregris</media:title>
		</media:content>
	</item>
		<item>
		<title>Google y el texto oculto: no es una cuestión de optimización para el buscador sino una cuestión de anti-spam</title>
		<link>https://mundogris.wordpress.com/2008/11/14/google-y-el-texto-oculto-no-es-una-cuestion-de-optimizacion-para-el-buscador-sino-una-cuestion-de-anti-spam/</link>
		<comments>https://mundogris.wordpress.com/2008/11/14/google-y-el-texto-oculto-no-es-una-cuestion-de-optimizacion-para-el-buscador-sino-una-cuestion-de-anti-spam/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 23:00:42 +0000</pubDate>
		<dc:creator>elhombregris</dc:creator>
				<category><![CDATA[Evangelios de Dioses de Silicio]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[hidden text]]></category>
		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://mundogris.wordpress.com/?p=342</guid>
		<description><![CDATA[Desde que Google implemento las actuales guias para webmasters ha habido una renovada confusión, en especial con respecto al tema del texto y links ocultos. Si algún desarrollador web dice no haberse encontrado recientemente con algún cliente o colega reticente a usar algo tan viejo y simple como display:none por temor a las &#8220;represalias de [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mundogris.wordpress.com&amp;blog=287822&amp;post=342&amp;subd=mundogris&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Desde que Google implemento <a href="http://www.google.com/support/webmasters/bin/answer.py?answer=35769">las actuales guias para webmasters</a> ha habido una renovada confusión, en especial con respecto al <a href="http://www.google.com/support/webmasters/bin/answer.py?answer=66353">tema del texto y links ocultos</a>. Si algún desarrollador web dice no haberse encontrado recientemente con algún cliente o colega reticente a usar algo tan viejo y simple como display:none por temor a las &#8220;represalias de google&#8221;, seguro miente. U otro caso puntual: haberse topado con la &#8220;supuesta&#8221; necesidad de validar la página contra &#8220;validadores&#8221; que observan como problemas a textos que se encuentran explícitamente ocultos&#8230;</p>
<p>Vamos por partes.</p>
<p>Punto uno. Google no es un gran y único dios clarividente, por un lado esta el googlebot, por otro lado esta el equipo anti-spam de google. El primero es un algoritmo, un programa, un proceso, un automata. El segundo es un grupo de personas.</p>
<p>Punto dos. El googlebot NO INDEXA CSS, no tiene idea sobre el, no le importa a su tarea. Si no me creen, fijense que es lo que se guarda en la cache de google (al hacer una búsqueda existe la posibilidad de ver la página encontrada según como la guardo el googlebot). Luego, si el googlebot no sabe nada del CSS, ¿cómo es que este pueda afectar a la indexabilidad de un sitio?</p>
<p>¿Por qué al googlebot no le importa el CSS? Al algoritmo le interesa los contenidos para indexarlos, la visualización no importa. Es más, cuanto mejor este armado el HTML para favorecer el procesamiento del contenido, ¡MEJOR! (es por esto que toda la movida de la web semántica empezó, porque google paga las cuentas y google dice: &#8220;mi bot entiende mejor el HTML estructurado con una orientación al contenido&#8221;).</p>
<p>Punto 3. Evitar la visualización del texto para poner en su lugar un bitmap del mismo en una tipografía visualmente más pertinente es uno de las técnicas más viejas en el toolbox del desarrollador web. <a href="http://csszengarden.com/">Vean las plantillas de CSS Zen Garden y van a ver de que hablo</a>. ¿Tiene sentido limitar la capacidad creativa de los profesionales de la web, y la experiencia que se le puede ofrecer al usuario, solo por &#8220;evitarse un problema&#8221; con google? NO. Por el contrario, google no quiere que hagamos eso (ver estas discusiones:    <span> </span><a href="http://groups.google.com/group/Google_Webmaster_Help-Indexing/browse_thread/thread/928aa76a1226cf89/07ff235c6aeae4ef?#07ff235c6aeae4ef">Using CSS to hide text</a>, <a href="http://groups.google.com/group/Google_Webmaster_Help-Indexing/browse_thread/thread/ac7adc8a192afdfd/7995a498631c1a0b?#7995a498631c1a0b">Google Breaking It&#8217;s Own Quality Guidelines? &#8211; CSS</a>).</p>
<p>Punto 4. Los que evaluan si hay o no textos ocultos es el equipo anti-spam, y acá no hay algoritmo que valga (los programas pueden ayudar pero las maneras que los spammers encuentran para engañar suelen requerir de un ojo humano que de el visto bueno antes de proceder con una falsa acusación). Acá es donde entre en rigor el tema del texto oculto. No se trata de evitar a toda costa usar CSS que oculte texto, sino de no usarlo de manera desleal.</p>
<p>Ver estos casos para hacerse una idea de cómo se detectan los casos de texto oculto y por qué se dan de baja del índice: <a href="http://www.mattcutts.com/blog/communication-in-other-languages/">Communication in other languages</a>, <a title="Permanent link to Notifying webmasters of penalties" rel="bookmark" href="http://www.mattcutts.com/blog/notifying-webmasters-of-penalties/">Notifying webmasters of penalties</a>.</p>
<p>Punto 5. Por sobre todo la usabilidad va primero. La web es para que la usen los usuarios, no para que google la indexe mejor. Hay que ponerse bien las prioridades: Accesibilidad &gt; Usabilidad &gt; Indexabilidad. Además no es la indexabilidad (o la optimización para buscadores) la que hace que una web aparezca primero en los buscadores, como todo negocio, si no hay promoción nadie se entera&#8230; menos google.</p>
<br />Posted in Evangelios de Dioses de Silicio Tagged: google, hidden text, seo <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mundogris.wordpress.com/342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mundogris.wordpress.com/342/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mundogris.wordpress.com/342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mundogris.wordpress.com/342/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mundogris.wordpress.com/342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mundogris.wordpress.com/342/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mundogris.wordpress.com/342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mundogris.wordpress.com/342/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mundogris.wordpress.com/342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mundogris.wordpress.com/342/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mundogris.wordpress.com/342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mundogris.wordpress.com/342/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mundogris.wordpress.com/342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mundogris.wordpress.com/342/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mundogris.wordpress.com&amp;blog=287822&amp;post=342&amp;subd=mundogris&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://mundogris.wordpress.com/2008/11/14/google-y-el-texto-oculto-no-es-una-cuestion-de-optimizacion-para-el-buscador-sino-una-cuestion-de-anti-spam/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">elhombregris</media:title>
		</media:content>
	</item>
		<item>
		<title>Vinculan al periodismo sensacionalista con investigaciones poco fiables y totalmente inutiles</title>
		<link>https://mundogris.wordpress.com/2008/11/13/vinculan-al-periodismo-sensacionalista-con-investigaciones-poco-fiables-y-totalmente-inutiles/</link>
		<comments>https://mundogris.wordpress.com/2008/11/13/vinculan-al-periodismo-sensacionalista-con-investigaciones-poco-fiables-y-totalmente-inutiles/#comments</comments>
		<pubDate>Thu, 13 Nov 2008 14:15:25 +0000</pubDate>
		<dc:creator>elhombregris</dc:creator>
				<category><![CDATA[Telefono Descompuesto]]></category>
		<category><![CDATA[videojuegos]]></category>

		<guid isPermaLink="false">http://mundogris.wordpress.com/?p=351</guid>
		<description><![CDATA[http://www.clarin.com/diario/2008/11/10/um/m-01799910.htm El primer indicio de que una investigación está mal hecha es que uno llega al resultando que estaba buscando (vease murphylogia aplicada a la investigación de campo). El segundo indicio de que una investigación está mal hecha es el uso incorrecto de la terminología aplicada a su campo (¿¿¿&#8221;gamming&#8221;???). El tercer indicio de una [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mundogris.wordpress.com&amp;blog=287822&amp;post=351&amp;subd=mundogris&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.clarin.com/diario/2008/11/10/um/m-01799910.htm">http://www.clarin.com/diario/2008/11/10/um/m-01799910.htm</a></p>
<p>El primer indicio de que una investigación está mal hecha es que uno llega al resultando que estaba buscando (vease murphylogia aplicada a la investigación de campo).</p>
<p>El segundo indicio de que una investigación está mal hecha es el uso incorrecto de la terminología aplicada a su campo (¿¿¿&#8221;gamming&#8221;???).</p>
<p>El tercer indicio de una investigación está mal hecha es la falta de conocimiento del entorno estudiado: &#8220;Un chico que está muchas horas del día frente a una computadora es porque no tiene intercambio humano&#8221; (mmmm&#8230; ¿están al tanto que los videojuegos más jugados son de modalidad multiplayer online? juegos en donde el intercambio humano no solo es posible, es necesario&#8230;. creo que no).</p>
<br />Posted in Telefono Descompuesto Tagged: videojuegos <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mundogris.wordpress.com/351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mundogris.wordpress.com/351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mundogris.wordpress.com/351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mundogris.wordpress.com/351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mundogris.wordpress.com/351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mundogris.wordpress.com/351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mundogris.wordpress.com/351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mundogris.wordpress.com/351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mundogris.wordpress.com/351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mundogris.wordpress.com/351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mundogris.wordpress.com/351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mundogris.wordpress.com/351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mundogris.wordpress.com/351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mundogris.wordpress.com/351/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mundogris.wordpress.com&amp;blog=287822&amp;post=351&amp;subd=mundogris&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://mundogris.wordpress.com/2008/11/13/vinculan-al-periodismo-sensacionalista-con-investigaciones-poco-fiables-y-totalmente-inutiles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">elhombregris</media:title>
		</media:content>
	</item>
	</channel>
</rss>
