<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2enclosuresfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>CaChi</title>
	
	<link>http://cachi.temiga.org</link>
	<description>[ TEMIGA ]</description>
	<lastBuildDate>Mon, 02 Nov 2009 17:33:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<itunes:explicit>no</itunes:explicit><itunes:subtitle>[ TEMIGA ]</itunes:subtitle><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/temiga/feed" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Accesibilidad Web ¿?</title>
		<link>http://feedproxy.google.com/~r/temiga/feed/~3/GzEjTGZNbWU/</link>
		<comments>http://cachi.temiga.org/2009/10/27/accesibilidad-web/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 14:23:26 +0000</pubDate>
		<dc:creator>CaChi</dc:creator>
				<category><![CDATA[Planeta Linux]]></category>
		<category><![CDATA[accesibilidad]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://cachi.temiga.org/?p=340</guid>
		<description><![CDATA[Muchos dirán ¿que es eso? &#8211; ¿para que sirve?, etc&#8230; estos en lo mejor de los casos, porque he leído comentario como que &#8220;para que beneficiar una minoría&#8221; ufff que feo eso.
Desde hace unos meses he venido guardando un cumulo de información y experiencias de usuarios sobre el tema de la Accesibilidad Web,  se [...]]]></description>
			<content:encoded><![CDATA[<p>Muchos dirán ¿que es eso? &#8211; ¿para que sirve?, etc&#8230; estos en lo mejor de los casos, porque he leído comentario como que &#8220;para que beneficiar una minoría&#8221; ufff que feo eso.</p>
<p>Desde hace unos meses he venido guardando un cumulo de información y experiencias de usuarios sobre el tema de la A<em>ccesibilidad Web, </em> se puede notar fácilmente el alto nivel de desconocimiento que se tiene sobre este estándar.</p>
<p>En este sentido he querido escribir un poco y plantear una perspectiva mas que todo a los desarrolladores web para que tomen conciencia sobre el tema&#8230;</p>
<p>Para empezar a comprender la accesibilidad web, parto de un par de premisas</p>
<ul>
<li>La información, también es accesible cuando logra el más alto nivel de usabilidad.</li>
<li>El Javascript en ocasiones es muy bonito y todo, pero <em>no es accesible</em>.</li>
</ul>
<p>Antes de continuar se hace importante entender lo que es <em>Accesibilidad Web.</em> Las personas afectadas por estas discapacidades, pueden necesitar ayudas técnicas para acceder a la información en la Web. La mayoría de las personas, usan un navegador web en cualquiera de sus sabores, para ver la información que hay en la Web. Pero debido a que los navegadores comunes no se adaptan a las necesidades de todas las personas, algunas personas usan ayuda técnicas junto con su navegador. Por ejemplo, si eres ciego, necesitas usar un lector de pantalla. El lector de pantalla, un programa informático, no sólo lee en voz alta el cuerpo de texto en una página, sino que también describe los elementos Web, tales como las imágenes. Sin embargo, para que un lector de pantalla describa imágenes, y otros elementos Web, el (x)HTML u otro lenguaje de marcado, usado para codificar la página, debe hacer que esta información esté disponible para el lector de pantalla.</p>
<p>Cuando un lector de pantalla encuentra una imagen en un documento Web, no pude describir la imagen al usuario, a menos que, el autor del documento la haya provisto de texto alternativo. El texto alternativo, algunas veces creado en (x)HTML utilizando el “atributo alt”, proporciona al lector de pantalla una descripción de la imagen. Si una imagen en un documento Web, consiste en un perro y el texto alternativo es “diana”, el lector de pantalla puede decirle al usuario que hay una “diana” en el documento Web.</p>
<p>Como vemos hasta para hacer sitios web accesibles hay que saber usar lo que tenemos disponible y así como un atributo “alt” que puede sonar muy simple también existen otros como el atributo &#8220;accesskey&#8221; de una etiqueta &#8220;a&#8221; y así para otras etiquetas HTML.</p>
<p>Muchos saben que trabajo en una comunidad de desarrolladores web e incluso mi trabajo es hacer aplicaciones web, durante este tiempo que he interactuado con esa comunidad de usuarios he leído y escuchado cosas tan aberrantes como estas:</p>
<blockquote><p>&lt;CaChi&gt; ok, pero toma en cuenta la accesibilidad  cuando hacemos web muchos la olvidan  y el js no es accesible , hay que pensar en las personas con discapacidades ellos(as) también navegan</p>
<p>&lt;Amigo&gt; pues te digo algo, no quiero detenerme en eso, en serio. hace mucho decidimos que la apariencia a la mayoría valía mas que las minorías, en el peor de los casos se ofrecía una versión para móviles pero hasta allí.</p></blockquote>
<p>Esto fue en una conversa en un IRC, este amigo dice ser un “profesional” del área y así como esa he visto otras como que “Javascript es requerimiento de la Aplicación”, en primer lugar un javascript nunca puede ser un requerimiento de una aplicación, esta debe funcionar con o sin javascript de la misma forma, particularmente yo navego en internet con javascript desactivado no porque soy extremista solo que hay para poder sentarme a escribir sobre este tema, he tenido de alguna manera sensibilizarme para las personas que tienen discapacidades cualquiera que sea.</p>
<p>Así como existen organizaciones que promueven la accesibilidad en distintos espectros como en el caso de Venezuela el <a title="Proyecto Mundo Accesible" href="http://www.mundoaccesible.org.ve">Proyecto Mundo Accesible</a>, la misma <a title="Web Accessibility initiative (WAI)" href="http://www.w3.org/WAI/">W3C Web Accessibilitity Initiative</a> (WAI), etc, pero existen otras que son los Gobiernos (Venezuela, España, etc).</p>
<p>En nuestro caso Venezuela el gobierno promueve la accesibilidad, pero me hago una pregunta <em>¿donde están esas unidades de informática de los distintos entes gubernamentales que deben de velar porque esto se cumpla?.</em> Como he mencionado en este escrito, hay mucho desconocimiento al respecto y tenemos usuarios que confunde la vistosidad de un sitio web es igual a usar javascript a toneladas o contenido en flash.</p>
<p>He visto muchos sitios web de entes gubernamentales del estado Venezolano que no tienen ni una “pisca” (nada) de accesibilidad, la crítica es hacia estos entes para que se revisen y no mencionaré ninguno para evitar que alguien se sienta lastimado y herido, y diga que estoy montándole un <span style="text-decoration: line-through;">flame</span>l La intención y el llamado es a que revisen esos estándares para lograr accesibilidad y coherencia entre lo que <em>predicamos</em> y lo que <em>practicamos,</em> ahí debemos lograr que las ideas converjan porque sino tan sencillo como que se <em>cae el discurso</em>.</p>
<p>Si aún no sabes si tu aplicación web (sitio, etc.) es accesible, puedes pasarle el validador WAI el cual te da detalle sobre lo que le debes colocar para ir mejorando y acercándote a la accesibilidad.</p>
<p>Aún falta mucha tela por cortar y hay gente como Mundo Accesible que viene haciendo el trabajo duro de sensibilizar, esto solo ha sido una visión personal a lo que el tema de la accesibilidad se refiere.</p>
<p>¿Donde puedes encontrar mas información?</p>
<p>Introduction to web Accessibility <a href="http://www.w3.org/WAI/intro/accessibility.php">http://www.w3.org/WAI/intro/accessibility.php</a></p>
<p>Guía Entendiendo la Accesibilidad <a href="https://www.hisoftware.com/_vti_bin/shtml.dll/subscribe_spanish.htm">https://www.hisoftware.com/_vti_bin/shtml.dll/subscribe_spanish.htm</a></p>
<p>Accesibilidad web <a href="http://www.mundoaccesible.org.ve/documentacion.php">http://www.mundoaccesible.org.ve/documentacion.php</a></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fcachi.temiga.org%2F2009%2F10%2F27%2Faccesibilidad-web%2F&amp;linkname=Accesibilidad%20Web%20%C2%BF%3F"><img src="http://cachi.temiga.org/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a><img src="http://feeds.feedburner.com/~r/temiga/feed/~4/GzEjTGZNbWU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://cachi.temiga.org/2009/10/27/accesibilidad-web/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		<feedburner:origLink>http://cachi.temiga.org/2009/10/27/accesibilidad-web/</feedburner:origLink></item>
		<item>
		<title>1er Encuentro de Kumbieros Maracay – Venezuela</title>
		<link>http://feedproxy.google.com/~r/temiga/feed/~3/2atlSwmzWxE/</link>
		<comments>http://cachi.temiga.org/2009/10/07/1er-encuentro-de-kumbieros-maracay-venezuela/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 18:28:52 +0000</pubDate>
		<dc:creator>CaChi</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[KumbiaPHP]]></category>
		<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Planeta Linux]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[anuncios]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://cachi.temiga.org/?p=343</guid>
		<description><![CDATA[
Ya es un hecho KumbiaPHP llega a su 1er Encuentro de Kumbieros en Maracay &#8211; Venezuela, esto nace producto de la misma comunidad en querer encontrarnos y compartir experiencias sobre el proyecto. Esta iniciativa que nació como KumbiaPHP Party &#38; Beers y ya a estas alturas se ha convertido en un evento.
Para ese día tenemos [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.kumbiaphp.com/blog/wp-content/uploads/1er-encuentro-kumbieros-maracay-venezuela.jpg"><img class=" alignleft" style="padding: 10px" title="1er Encuentro Kumbieros Maracay - Venezuela 05 Dic 2009" src="http://www.kumbiaphp.com/blog/wp-content/uploads/1er-encuentro-kumbieros-maracay-venezuela.jpg" alt="1er Encuentro Kumbieros Maracay - Venezuela 05 Dic 2009" width="274" height="150" /></a></p>
<p>Ya es un hecho <em>KumbiaPHP</em> llega a su <em><strong>1er Encuentro de Kumbieros en Maracay &#8211; Venezuela</strong></em>, esto nace producto de la misma comunidad en querer encontrarnos y compartir experiencias sobre el proyecto. Esta iniciativa que nació como <em><strong>KumbiaPHP Party &amp; Beers</strong></em> y ya a estas alturas se ha convertido en un evento.</p>
<p>Para ese día tenemos planeado dictar talleres introductorios sobre <em>KumbiaPHP</em>, de la mano de los desarrolladores del Framework y miembros de la comunidad (Próximamente publicaremos el temario de las charlas y/o talleres).</p>
<p><strong>La cita es el Sábado 05 de Diciembre del 2009 a partir de las 09:00 a.m. en Calle Sucre, Complejo Cultural Santos Michelena, Edificio Bibliotecas Virtuales de Aragua, Maracay Edo. Aragua</strong></p>
<p>Como la idea inicial fue un <em>Beers</em> no la hemos dejado de lado, así que al final del evento habrá un <em>Beers</em> (cervezada) que aun no hemos elegido un sitio pero están invitados los que así lo deseen.</p>
<p>Desde KumbiaPHP queremos dar un agradecimiento especial al amigo Hector Rodriguez (acá Al3jandro) por su valiosa colaboración en la organización del evento y encontrar los espacios que dispondremos para esa fecha.</p>
<p>Fuente&#8230; <a title="1er Encuentro de Kumbieros Maracay - Venezuela" href="http://www.kumbiaphp.com/blog/2009/10/07/1er-encuentro-de-kumbieros-maracay-venezuela/" target="_self">KumbiaPHP</a></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fcachi.temiga.org%2F2009%2F10%2F07%2F1er-encuentro-de-kumbieros-maracay-venezuela%2F&amp;linkname=1er%20Encuentro%20de%20Kumbieros%20Maracay%20%26%238211%3B%20Venezuela"><img src="http://cachi.temiga.org/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a><img src="http://feeds.feedburner.com/~r/temiga/feed/~4/2atlSwmzWxE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://cachi.temiga.org/2009/10/07/1er-encuentro-de-kumbieros-maracay-venezuela/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://cachi.temiga.org/2009/10/07/1er-encuentro-de-kumbieros-maracay-venezuela/</feedburner:origLink></item>
		<item>
		<title>Servicios libres para URL’s Cortas (short url)</title>
		<link>http://feedproxy.google.com/~r/temiga/feed/~3/SdGl9ougl_s/</link>
		<comments>http://cachi.temiga.org/2009/08/15/servicios_libres_para_urls_cortas/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 01:34:54 +0000</pubDate>
		<dc:creator>CaChi</dc:creator>
				<category><![CDATA[Planeta Linux]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[ShortUrl]]></category>

		<guid isPermaLink="false">http://cachi.temiga.org/?p=334</guid>
		<description><![CDATA[Algo que ha causado algo de algarabía ha sido el tema de lasUrl&#8217;s cortas, en algunos casos es útil, pero en otros como para el tema del SEO puede que no lo sea, para acortar las Url&#8217;s existen una gama bastante grande de servicios para lograr este fin, solo dejo una pequeña lista.

tinyurl.com
eb.cx
elfurl.com
shorl.com
url.fm
shurl.org
qurl.net
notlong.com
shortlinks.co.uk
url123.com

]]></description>
			<content:encoded><![CDATA[<p>Algo que ha causado algo de algarabía ha sido el tema de las<a title="Url's cortas" href="http://en.wikipedia.org/wiki/URL_shortening">Url&#8217;s cortas</a>, en algunos casos es útil, pero en otros como para el tema del SEO puede que no lo sea, para acortar las Url&#8217;s existen una gama bastante grande de servicios para lograr este fin, solo dejo una pequeña lista.<a style="padding: 10px" href="http://tinyurl.com/mdg8dr" target="_blank"><img class="alignleft" title="Short Url" src="http://tinyurl.com/mdg8dr" alt="" width="283" height="206" /></a></p>
<ol>
<li><a href="http://tinyurl.com/">tinyurl.com</a></li>
<li><a href="http://eb.cx/">eb.cx</a></li>
<li><a href="http://elfurl.com/">elfurl.com</a></li>
<li><a href="http://www.shorl.com/">shorl.com</a></li>
<li><a href="http://url.fm/">url.fm</a></li>
<li><a href="http://shurl.org/">shurl.org</a></li>
<li><a href="http://qurl.net/">qurl.net</a></li>
<li><a href="http://notlong.com/">notlong.com</a></li>
<li><a href="http://shortlinks.co.uk/">shortlinks.co.uk</a></li>
<li><a href="http://www.url123.com/">url123.com</a></li>
</ol>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fcachi.temiga.org%2F2009%2F08%2F15%2Fservicios_libres_para_urls_cortas%2F&amp;linkname=Servicios%20libres%20para%20URL%26%238217%3Bs%20Cortas%20%28short%20url%29"><img src="http://cachi.temiga.org/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a><img src="http://feeds.feedburner.com/~r/temiga/feed/~4/SdGl9ougl_s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://cachi.temiga.org/2009/08/15/servicios_libres_para_urls_cortas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://cachi.temiga.org/2009/08/15/servicios_libres_para_urls_cortas/</feedburner:origLink></item>
		<item>
		<title>Google Wave, nuevo competidor de facebook y twitter</title>
		<link>http://feedproxy.google.com/~r/temiga/feed/~3/grS26QRI7-I/</link>
		<comments>http://cachi.temiga.org/2009/06/02/google_wave_nuevo_competidor-de-facebook_y_twitter/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 13:53:00 +0000</pubDate>
		<dc:creator>CaChi</dc:creator>
				<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Planeta Linux]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[sociable]]></category>

		<guid isPermaLink="false">http://cachi.temiga.org/?p=331</guid>
		<description><![CDATA[Para muchos hoy día se ha convertido en un boom el tema de las redes sociables (entre las mas populares facebook y twitter), consultando un poco el Blog oficial de Google, me encuentro con Google Wave.
Según google comenta, que el usuario podrá  crear una &#8220;ola&#8221; (&#8221;wave&#8221;) y va a añadiendo contactos a ella. Cualquier [...]]]></description>
			<content:encoded><![CDATA[<p>Para muchos hoy día se ha convertido en un boom el tema de las redes sociables (entre las mas populares facebook y twitter), consultando un poco el <a title="Blog Oficial de Google" href="http://googleblog.blogspot.com/2009/05/went-walkabout-brought-back-google-wave.html" target="_blank">Blog oficial de Google</a>, me encuentro con <a title="Google Wave nuevo competidor de facebook y demas..." href="http://wave.google.com/help/wave/about.html" target="_blank"><em>Google Wave</em></a>.</p>
<p>Según <a title="Google Habla sobre &quot;Google Wave&quot;" href="http://googleblog.blogspot.com/2009/05/went-walkabout-brought-back-google-wave.html" target="_blank">google comenta</a>, que el usuario podrá  crear una &#8220;ola&#8221; (&#8221;wave&#8221;) y va a añadiendo contactos a ella. Cualquier persona dentro de esa &#8216;ola&#8217; puede ir añadiendo texto, fotos, gadgets, feeds de medios de comunicación, etc, y de esta manera ir interactuando.</p>
<p>Aun el servicio no esta disponible (y pienso que tardara algo en ver luz) pero desde ya podemos ir viendo como nos veremos dentro del &#8220;wave&#8221;.</p>
<p style="text-align: center;"><a href="http://4.bp.blogspot.com/_7ZYqYi4xigk/Sh40hRLylhI/AAAAAAAAD10/sLJ28_3Fe9E/s400/Google_Wave_snapshots_inbox.png"><img class="aligncenter" title="Google wave" src="http://4.bp.blogspot.com/_7ZYqYi4xigk/Sh40hRLylhI/AAAAAAAAD10/sLJ28_3Fe9E/s400/Google_Wave_snapshots_inbox.png" alt="" width="400" height="261" /></a></p>
<p>Ademas del plus que le ofrecerá este servicio por todo lo que implica estar dentro de la nube de servicios de google, en el siguiente video explican el procesamiento de Lenguaje Natural, algo que se invento google para los &#8220;vagos&#8221;</p>
<p><object width="560" height="340" data="http://www.youtube.com/v/Sx3Fpw0XCXk&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/Sx3Fpw0XCXk&amp;hl=en&amp;fs=1" /><param name="allowfullscreen" value="true" /></object></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fcachi.temiga.org%2F2009%2F06%2F02%2Fgoogle_wave_nuevo_competidor-de-facebook_y_twitter%2F&amp;linkname=Google%20Wave%2C%20nuevo%20competidor%20de%20facebook%20y%20twitter"><img src="http://cachi.temiga.org/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a><img src="http://feeds.feedburner.com/~r/temiga/feed/~4/grS26QRI7-I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://cachi.temiga.org/2009/06/02/google_wave_nuevo_competidor-de-facebook_y_twitter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<enclosure url="http://www.youtube.com/v/Sx3Fpw0XCXk&amp;amp;hl=en&amp;amp;fs=1" length="1029" type="application/x-shockwave-flash" /><media:content url="http://www.youtube.com/v/Sx3Fpw0XCXk&amp;amp;hl=en&amp;amp;fs=1" fileSize="1029" type="application/x-shockwave-flash" /><itunes:explicit>no</itunes:explicit><itunes:subtitle>Para muchos hoy día se ha convertido en un boom el tema de las redes sociables (entre las mas populares facebook y twitter), consultando un poco el Blog oficial de Google, me encuentro con Google Wave. Según google comenta, que el usuario podrá crear una </itunes:subtitle><itunes:summary>Para muchos hoy día se ha convertido en un boom el tema de las redes sociables (entre las mas populares facebook y twitter), consultando un poco el Blog oficial de Google, me encuentro con Google Wave. Según google comenta, que el usuario podrá crear una &amp;#8220;ola&amp;#8221; (&amp;#8221;wave&amp;#8221;) y va a añadiendo contactos a ella. Cualquier [...]</itunes:summary><itunes:keywords>Noticias, Planeta Linux, facebook, google, sociable</itunes:keywords><feedburner:origLink>http://cachi.temiga.org/2009/06/02/google_wave_nuevo_competidor-de-facebook_y_twitter/</feedburner:origLink></item>
		<item>
		<title>ZendFW deja mal a fresqui.com</title>
		<link>http://feedproxy.google.com/~r/temiga/feed/~3/vNwYkwbpu0M/</link>
		<comments>http://cachi.temiga.org/2009/06/01/zendfw_deja_mal_a_fresqui/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 13:12:29 +0000</pubDate>
		<dc:creator>CaChi</dc:creator>
				<category><![CDATA[Planeta Linux]]></category>
		<category><![CDATA[curiosidades]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://cachi.temiga.org/?p=320</guid>
		<description><![CDATA[Hace minutos consultando fresqui.com&#8230;

]]></description>
			<content:encoded><![CDATA[<p>Hace minutos consultando fresqui.com&#8230;</p>
<p style="text-align: center;"><a href="http://cachi.temiga.org/wp-content/uploads/Zend_Estalla_fresqui.png" target="_blank"><img class="aligncenter" title="ZendFW Estalla en fresqui.com" src="http://cachi.temiga.org/wp-content/uploads/Zend_Estalla_fresqui.png" alt="" width="599" height="202" /></a></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fcachi.temiga.org%2F2009%2F06%2F01%2Fzendfw_deja_mal_a_fresqui%2F&amp;linkname=ZendFW%20deja%20mal%20a%20fresqui.com"><img src="http://cachi.temiga.org/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a><img src="http://feeds.feedburner.com/~r/temiga/feed/~4/vNwYkwbpu0M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://cachi.temiga.org/2009/06/01/zendfw_deja_mal_a_fresqui/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://cachi.temiga.org/2009/06/01/zendfw_deja_mal_a_fresqui/</feedburner:origLink></item>
		<item>
		<title>No te confies de todo lo que dice el manual de PHP</title>
		<link>http://feedproxy.google.com/~r/temiga/feed/~3/7w-G7blKTkU/</link>
		<comments>http://cachi.temiga.org/2009/05/17/no_te_confies_de_todo_lo_que_dice_el_manual_de_php/#comments</comments>
		<pubDate>Mon, 18 May 2009 00:37:30 +0000</pubDate>
		<dc:creator>CaChi</dc:creator>
				<category><![CDATA[PHP5]]></category>
		<category><![CDATA[Planeta Linux]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Buenas Practicas]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[KumbiaPHP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[profiler]]></category>

		<guid isPermaLink="false">http://cachi.temiga.org/?p=301</guid>
		<description><![CDATA[Hace unos días haciendo unos benchmark a kumbiaphp framework en comparación con la vieja estructura de directorios de alguna para ver si la nueva estructura directorio genero efectos de rendimientos sobre el framework que seria lo ideal.
Bien lo cierto es que cuando se corrió el benchmark los #request/seg no cuadraban y no era lógico ya [...]]]></description>
			<content:encoded><![CDATA[<p>Hace unos días haciendo unos <a title="benchamrk" href="http://en.wikipedia.org/wiki/Benchmark_(computing)">benchmark</a> a <a title="Sitio web de kumbiaphp framework" href="http://www.kumbiaphp.com">kumbiaphp framework</a> en comparación con la <span style="text-decoration: line-through;">vieja estructura</span> de directorios de alguna para ver si la <a title="KumbiaPHP Avances version 1.0" href="http://www.kumbiaphp.com/blog/2009/04/30/avances_de_kumbiaphp_framework/" target="_blank">nueva estructura directorio</a> genero efectos de rendimientos sobre el framework que seria lo ideal.</p>
<p>Bien lo cierto es que cuando se corrió el benchmark los <strong>#request/seg</strong> no cuadraban y no era lógico ya que la nueva estructura se depuraron ciertas cosas que sobraban, en el benchmark los números obtenidos eran tan locos que la vieja estructura tenia unos 10 #req/seg por encima :-S no era nada normal esto, nos toco recurrir a las <strong><em>buenas prácticas de desarrollo</em></strong> y que ya es una constante dentro del <a title="Equipo de Desarrollo de KumbiaPHP framework" href="http://wiki.kumbiaphp.com/Team_Development_KumbiaPHP_Framework#KumbiaPHP_Team_Developers" target="_blank">Equipo de Desarrollo de kumbiaphp</a> hacer <a title="debug y profiler con xdebug" href="http://cachi.temiga.org/2008/04/08/instalando-xdebug-en-debian-lenny/">debug y profiler con xdebug</a> :-), esto para detectar donde estaban los &#8220;cuellos de botellas&#8221; que nos hacían mas lento que la versión anterior.</p>
<p>El detalle estaba en una función de <a title="PHP" href="http://en.wikipedia.org/wiki/PHP">PHP</a> llamada <a title="php function extract" href="http://es.php.net/manual/es/function.extract.php" target="_blank">extract,</a> dentro de <a title="KumbiaPHP web &amp; app Framework" href="http://www.kumbiaphp.com">kumbiaphp framework</a> se utiliza esta dicha función en el core ya que el framework implementa las <strong><em>variables de instancia</em></strong> (algo muy parecido de <a title="Rails" href="http://en.wikipedia.org/wiki/Ruby_on_Rails">Rails</a>), es decir todo lo que llame en mi controlador <strong><em>$this-&gt;var</em></strong> o sean atributos públicos, en la vista los tengo disponible como <strong><em>$var</em></strong>, volviendo al punto esta funcion nos permite hacer lo antes dicho pero recibe ciertos parámetros uno es unas constantes entre ellas <span class="term"><strong><em>EXTR_OVERWRITE</em></strong> (</span><span class="simpara">Si hay colisión, sobrescribe la variable existente</span><span class="term">) nosotros decidimos sacar la constante porque en la documentación Oficial de PHP dice claro lo siguiente:</span></p>
<blockquote><p><em>Si no se especifica </em><em><tt class="parameter">tipo_extraccion</tt> , se asume que      vale EXTR_OVERWRITE.</em></p></blockquote>
<p>Bien como sabemos el xdebug nos da mucha información y la misma nos decía que el &#8220;cuello de botella&#8221; estaba allí ya que tomamos un profiler de la versión anterior y los tiempos eran totalmente distintos en ese punto. viendo en detalle la función <em><strong>extract </strong></em>decidí olvidar lo que dice el manual de PHP y pasar de forma implícita el tipo de extracción en este caso <span class="term"><strong><em>EXTR_OVERWRITE, </em></strong>una vez hecho el cambio vuelvo a correr el benchmark y como por arte de magia ahora obtengo los resultados esperados la nueva estructura ha causado efecto en velocidad y esta ~10 #req/seg por encima respecto a la <span style="text-decoration: line-through;">vieja estructura</span>.<br />
</span></p>
<p><strong><span class="term">Conclusión.</span></strong></p>
<p><span class="term">Tal como dice el titulo del post no hay que confiarse de lo que dicen algunos manual, ya que pueden ocurrir excepciones como la que comente aqui. En el caso descrito fue detectado este detalle porque se hizo uso de las <em>buenas prácticas</em> de desarrollo y de las herramientas disponibles y el turno fue para una que muchos obvian <a title="Xdebug " href="http://www.xdebug.org">(xdebug)</a>, que si le damos el uso correcto podemos ganar mucho en nuestros desarrollos.</span></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fcachi.temiga.org%2F2009%2F05%2F17%2Fno_te_confies_de_todo_lo_que_dice_el_manual_de_php%2F&amp;linkname=No%20te%20confies%20de%20todo%20lo%20que%20dice%20el%20manual%20de%20PHP"><img src="http://cachi.temiga.org/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a><img src="http://feeds.feedburner.com/~r/temiga/feed/~4/7w-G7blKTkU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://cachi.temiga.org/2009/05/17/no_te_confies_de_todo_lo_que_dice_el_manual_de_php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://cachi.temiga.org/2009/05/17/no_te_confies_de_todo_lo_que_dice_el_manual_de_php/</feedburner:origLink></item>
		<item>
		<title>Conexión Movilnet + Modem CDU-680</title>
		<link>http://feedproxy.google.com/~r/temiga/feed/~3/c_c5vUHWm2c/</link>
		<comments>http://cachi.temiga.org/2009/03/16/conexion_movilnet_modem_cdu_680/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 13:27:28 +0000</pubDate>
		<dc:creator>CaChi</dc:creator>
				<category><![CDATA[Planeta Linux]]></category>
		<category><![CDATA[conexion]]></category>

		<guid isPermaLink="false">http://cachi.temiga.org/?p=294</guid>
		<description><![CDATA[Desde hace unas 3 a 4 semanas vengo experimentado velocidades bastante buenas con mi modem CDU-680 de movilnet, lo interesante de estas velocidades es que no solo están presente a las 3 a.m. sino que son persistente en el transcurso del día, digo esto porque mucha gente me ha escrito con la inquietud de que [...]]]></description>
			<content:encoded><![CDATA[<p>Desde hace unas 3 a 4 semanas vengo experimentado velocidades bastante buenas con <a title="mi modem CDU-680 de movilnet" href="http://cachi.temiga.org/2008/02/27/modem-evdo-cdu-680-en-debian-lenny/">mi modem CDU-680 de movilnet</a>, lo interesante de estas velocidades es que no solo están presente a las 3 a.m. sino que son persistente en el transcurso del día, digo esto porque mucha gente me ha escrito con la inquietud de que este servicio esta lento, etc. y para muestra un botón dejo unas imágenes con test de velocidad de distintas fechas.</p>
<p style="text-align: center;"><a href="http://www.speedtest.net/result/430655317.png"><img class="aligncenter" style="padding: 10px 10px 10px 10px" title="SpeedTest CDU-680 Movilnet" src="http://www.speedtest.net/result/430655317.png" alt="" width="300" height="135" /></a></p>
<p style="text-align: center;"><a href="http://www.speedtest.net/result/425398482.png"><img class="aligncenter" style="padding: 10px;" title="CDU-680 Movilnet - Tomado en Mérida" src="http://www.speedtest.net/result/425398482.png" alt="" width="300" height="135" /></a><a href="http://www.speedtest.net/result/419200212.png"><img class="aligncenter" style="padding: 10px 10px 10px 10px" title="CDU-680 Movilnet" src="http://www.speedtest.net/result/419200212.png" alt="" width="300" height="135" /></a><a href="http://www.speedtest.net/result/419412255.png"><img class="alignnone" title="Modem CDU-680 Movilnet" src="http://www.speedtest.net/result/419412255.png" alt="" width="300" height="135" /></a></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fcachi.temiga.org%2F2009%2F03%2F16%2Fconexion_movilnet_modem_cdu_680%2F&amp;linkname=Conexi%C3%B3n%20Movilnet%20%2B%20Modem%20CDU-680"><img src="http://cachi.temiga.org/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a><img src="http://feeds.feedburner.com/~r/temiga/feed/~4/c_c5vUHWm2c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://cachi.temiga.org/2009/03/16/conexion_movilnet_modem_cdu_680/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		<feedburner:origLink>http://cachi.temiga.org/2009/03/16/conexion_movilnet_modem_cdu_680/</feedburner:origLink></item>
		<item>
		<title>Filter un misterio de PHP.</title>
		<link>http://feedproxy.google.com/~r/temiga/feed/~3/ZGwdvkHw3Pg/</link>
		<comments>http://cachi.temiga.org/2009/02/16/filter-un-misterio-de-php/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 02:58:32 +0000</pubDate>
		<dc:creator>CaChi</dc:creator>
				<category><![CDATA[PHP5]]></category>
		<category><![CDATA[Planeta Linux]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programing]]></category>

		<guid isPermaLink="false">http://cachi.temiga.org/?p=253</guid>
		<description><![CDATA[Todas las aplicaciones (Web, Escritorio, Consola) dependen que datos externos para crear una salida o iniciar un proceso, estos datos pueden venir desde un usuario o otra aplicación (web service, formulario, etc) por eso la premisa #1 de todo desarrollador debe ser:
Filtrar toda los datos externos
El filtrado de datos es una de las piedras angulares [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://cachi.temiga.org/wp-content/uploads/filter.gif"><img class="alignleft" title="Filter" src="http://cachi.temiga.org/wp-content/uploads/filter.gif" alt="" width="115" height="186" /></a>Todas las aplicaciones (Web, Escritorio, Consola) dependen que datos externos para crear una salida o iniciar un proceso, estos datos pueden venir desde un usuario o otra aplicación (web service, formulario, etc) por eso la premisa #1 de todo desarrollador debe ser:</p>
<blockquote><p><em>Filtrar toda los datos externos</em></p></blockquote>
<p>El filtrado de datos es una de las piedras angulares en cualquier aplicación en el tema de seguridad, independientemente del lenguaje donde se trabaje. PHP proporciona una amplia gama de herramientas y funciones para filtrar o validar los datos, pero a diferencia de otros lenguajes, no tiene funciones estándar para filtrar los datos (como cgi de perl).</p>
<p>La extensión <em><a title="Filter" href="http://us3.php.net/manual/hu/ref.filter.php" target="_self">Filter</a></em> llena este vacío y viene a suplir muchas expresiones regulares que son extremadamente lentas para validar formatos y datos de entradas, estas son muchas de las bondades de <em>PHP</em> que muchos desarrolladores no suelen utilizar y que vienen a ser parte de las <strong><em>buenas practicas</em></strong> de desarrollo sobre este lenguaje.</p>
<p>Este componente cuenta con constantes que representan los filtros a ser aplicados y ademas estos se pueden aplicar sobre <a title="Arrays PHP" href="http://ve2.php.net/manual/es/function.array.php" target="_blank">arrys</a> conocidos (POST, GET, COOKIE, etc) de manera que se vuelve flexible, para este tipo de validaciones, veamos unos ejemplos.</p>
<p>imaginemos que enviamos por <a title="$_GET" href="http://us3.php.net/manual/hu/reserved.variables.php#reserved.variables.get" target="_self">$_GET</a> un dato que lo hemos llamado &#8216;mode&#8217;</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'mode'</span><span style="color: #009900;">&#93;</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: #339933;">!</span><span style="color: #990000;">is_numeric</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'mode'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;'mode' no es un entero&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;'mode' es un entero&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'mode'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Ahora utilizando el <em>Filter</em> <a title="filter_input" href="http://ve2.php.net/manual/es/function.filter-input.php" target="_self">filter_input</a></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$mode</span> <span style="color: #339933;">=</span> <span style="color: #990000;">filter_input</span><span style="color: #009900;">&#40;</span>INPUT_GET<span style="color: #339933;">,</span> <span style="color: #0000ff;">'mode'</span><span style="color: #339933;">,</span> FILTER_VALIDATE_INT<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$mode</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;'mode' no es un entero&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;mode es: <span style="color: #006699; font-weight: bold;">$mode</span>&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$mode</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Ya podemos apreciar que nuestro código se limpia y si le hacemos un <em><a title="benchmark" href="http://en.wikipedia.org/wiki/Benchmark_(computing)">benchmark</a></em> seguramente también será mas rápido ;-)</p>
<h3>Consideraciones sobre los filtros</h3>
<ul>
<li><em>Santizing(limpieza) filtros</em>, Permitir o denegar los caracteres de una cadena, siempre retorna una cadena</li>
<li><em>Filtros Lógicos</em>, Conoce los formatos devuelve el tipo esperado de éxito.</li>
</ul>
<h3>Un formulario, aplicando filtros lógicos.</h3>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>form action<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;example.php&quot;</span> method<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;post&quot;</span><span style="color: #339933;">&gt;</span>
    Ingrese su Edad<span style="color: #339933;">:</span>
<span style="color: #339933;">&lt;</span>input name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;age&quot;</span> size<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;2&quot;</span> <span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;</span>input name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;submit&quot;</span> type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;submit&quot;</span> value<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;Ir&quot;</span> <span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;/</span>form<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Y el script que procesa esta información seria:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">filter_has_var</span><span style="color: #009900;">&#40;</span>INPUT_POST<span style="color: #339933;">,</span> <span style="color: #0000ff;">'submit'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'Se envió el form'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000088;">$age</span> <span style="color: #339933;">=</span> <span style="color: #990000;">filter_input</span><span style="color: #009900;">&#40;</span>INPUT_POST<span style="color: #339933;">,</span> <span style="color: #0000ff;">'age'</span><span style="color: #339933;">,</span> FILTER_VALIDATE_INT<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">is_null</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$age</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;La 'edad' es un campo requerido!&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$age</span> <span style="color: #339933;">===</span> <span style="color: #009900; font-weight: bold;">FALSE</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'Ingrese una edad valida'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'Bienvenido.'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Bien como vemos solo validamos que la <em>edad</em> sea un numero entero, pero existen algunos filtros que soportan <em><strong>options</strong></em> para que las validaciones sean mas precisas. Ahora la <em>edad</em> debe pasar la condición que debe estar entre un rango entre 7 y 77. veamos la utilización con el código anterior.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">filter_has_var</span><span style="color: #009900;">&#40;</span>INPUT_POST<span style="color: #339933;">,</span> <span style="color: #0000ff;">'submit'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'Se envió el form'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000088;">$age</span> <span style="color: #339933;">=</span> <span style="color: #990000;">filter_input</span><span style="color: #009900;">&#40;</span>INPUT_POST<span style="color: #339933;">,</span> <span style="color: #0000ff;">'age'</span><span style="color: #339933;">,</span> FILTER_VALIDATE_INT<span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'options'</span><span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'min_range'</span><span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span><span style="color: #cc66cc;">7</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'max_range'</span><span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span><span style="color: #cc66cc;">77</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">is_null</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$age</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;La 'edad' es un campo requerido!&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$age</span> <span style="color: #339933;">===</span> <span style="color: #009900; font-weight: bold;">FALSE</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'Ingrese una edad valida'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'Bienvenido.'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h3>Un formulario, aplicando filtros Santizing.</h3>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>form action<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;example01.php&quot;</span> method<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;post&quot;</span><span style="color: #339933;">&gt;</span>
    Ingrese su Nombre<span style="color: #339933;">:</span>
<span style="color: #339933;">&lt;</span>input name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;name&quot;</span> size<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;50&quot;</span> <span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;</span>input name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;submit&quot;</span> type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;submit&quot;</span> value<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;Ir&quot;</span> <span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;/</span>form<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Y script que lo procesa&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">filter_has_var</span><span style="color: #009900;">&#40;</span>INPUT_POST<span style="color: #339933;">,</span> <span style="color: #0000ff;">'submit'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'Se envió el form'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000088;">$name</span> <span style="color: #339933;">=</span> <span style="color: #990000;">filter_input</span><span style="color: #009900;">&#40;</span>INPUT_POST<span style="color: #339933;">,</span> <span style="color: #0000ff;">'name'</span><span style="color: #339933;">,</span> FILTER_SANITIZE_STRING<span style="color: #339933;">,</span> FILTER_FLAG_STRIP_LOW<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">is_null</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$name</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;El 'nombre' es un campo requerido!&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Bienvenido, <span style="color: #006699; font-weight: bold;">$name</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>En PHP 5.x esta extensión viene por defecto.</p>
<p>Por último dejo un post de <a title="PHPPro" href="http://phpro.org/tutorials/Filtering-Data-with-PHP.html" target="_blank">PHPPro</a> donde servirá de guía para muchos, de manera que escalemos nuestras formas de validar datos.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fcachi.temiga.org%2F2009%2F02%2F16%2Ffilter-un-misterio-de-php%2F&amp;linkname=Filter%20un%20misterio%20de%20PHP."><img src="http://cachi.temiga.org/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a><img src="http://feeds.feedburner.com/~r/temiga/feed/~4/ZGwdvkHw3Pg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://cachi.temiga.org/2009/02/16/filter-un-misterio-de-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://cachi.temiga.org/2009/02/16/filter-un-misterio-de-php/</feedburner:origLink></item>
		<item>
		<title>La desidia de un profesor + Parte II</title>
		<link>http://feedproxy.google.com/~r/temiga/feed/~3/LwRxLDU3-c8/</link>
		<comments>http://cachi.temiga.org/2009/02/10/la-desia-de-un-profesor-parte-ii/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 04:46:17 +0000</pubDate>
		<dc:creator>CaChi</dc:creator>
				<category><![CDATA[Universidad]]></category>
		<category><![CDATA[Programing]]></category>

		<guid isPermaLink="false">http://cachi.temiga.org/?p=234</guid>
		<description><![CDATA[Desidia fue la mejor palabra que encontré para darle como nombre a este y debido a que este termino se ha convertido en una sorpresa en cuanto a los profesores de las materias técnicas, esta vez le toco el turno al profesor de programación III (Java) esta vez el enfoque no sera algo técnico como [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://cachi.temiga.org/wp-content/uploads/pirata.jpg"><img class="alignleft" title="Pirata II" src="http://cachi.temiga.org/wp-content/uploads/pirata.jpg" alt="" width="190" height="190" /></a>Desidia fue la mejor palabra que encontré para darle como nombre a este y debido a que este termino se ha convertido en una sorpresa en cuanto a los profesores de las materias técnicas, esta vez le toco el turno al profesor de programación III (<a title="Java" href="http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Java" target="_blank">Java</a>) esta vez el enfoque no sera algo técnico como lo fue el <a title="post anterior" href="http://cachi.temiga.org/2009/02/07/prof-charlatan-buenas-practicas-php-parte-i/">post anterior</a>, no quise hablar de este profesor aunque ya en una clase &#8220;metió la pata&#8221; explicando las excepciones en este lenguaje de programación pero no tocare ese punto.</p>
<p>Bien el profesor en cuestión comienza diciendo como que <a title="AWT" href="http://en.wikipedia.org/wiki/Abstract_Window_Toolkit">AWT</a> (un manejador de ventana) es fastidioso para los layout :-O, pero los mas <a title="WTF" href="http://www.frikipedia.es/friki/WTF#Significado" target="_blank">WTF</a> es que el profesor comienza a explicar AWT utilizando <a title="NetBeans" href="http://www.netbeans.org/">NetBeans</a>, pero el problema aquí no es <a title="NetBeans" href="http://www.netbeans.org/">NetBeans</a>; sino que el profesor en vez de apoyarse en dar un ejemplo práctico (escribiendo el código, osea tipear) de una ventana simple, nada de listener(eventos) y cosas exotericas. Algo que ayudaría a muchos que están sedientos de conocimientos, pues nada el profesor se apoyo con el <em>diseñador de NetBeans de interfaces</em> de este <a title="IDE" href="http://en.wikipedia.org/wiki/Integrated_development_environment">IDE</a>, osea arrastrar un botón, textfield, etc y listo como por arte de magia tengo código listo, esto es <strong><em>desidia</em></strong>.</p>
<p><a href="http://www.slideshare.net/backdoor/windows-programming-with-awt" target="_blank">Tan sencillo que es buscar en <em>&#8220;gugle&#8221;</em></a> y <em>&#8220;fusilarse</em>&#8221; un código y llenarse de gloria, como el siguiente:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.swing.JFrame</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.event.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> MyCanvas <span style="color: #000000; font-weight: bold;">extends</span> <span style="color: #003399;">Canvas</span> <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">native</span> <span style="color: #000066; font-weight: bold;">void</span> paint<span style="color: #009900;">&#40;</span><span style="color: #003399;">Graphics</span> g<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #003399;">Frame</span> f <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Frame</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        f.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">500</span>, <span style="color: #cc66cc;">110</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        f.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span> <span style="color: #000000; font-weight: bold;">new</span> MyCanvas<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        f.<span style="color: #006633;">addWindowListener</span><span style="color: #009900;">&#40;</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">WindowAdapter</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> windowClosing<span style="color: #009900;">&#40;</span><span style="color: #003399;">WindowEvent</span> ev<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #003399;">System</span>.<span style="color: #006633;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        f.<span style="color: #006633;">show</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Con estas pocas lineas fuera sido suficiente y no desplegar un <a title="IDE" href="http://en.wikipedia.org/wiki/Integrated_development_environment">IDE</a>, que para aquellos que nunca en su vida han tocado un editor de texto se le suele hacer complicado el ver tantos controles juntos.</p>
<p>La indignación que tuve fue tan grande que solo le pregunte: <em>Profesor y si no utilizo NetBeans</em>? y el profesor solo dijo:<em> intente instalarlo en Windows y no me funciono</em>, sera que <a href="http://www.eclipse.org/vep/WebContent/main.php" target="_blank">no encontró el plugin para eclipse de arrastrar y soltar</a>?</p>
<p>Es grave y triste ver que una persona que tiene en sus manos una responsabilidad tan importante como lo es <a title="educar" href="http://en.wiktionary.org/wiki/educar" target="_blank">educar</a>, algo que transciende el simple hecho de ir a dar una clase <em>&#8220;chucuta&#8221;</em>, que fuese sido mejor no hacer el esfuerzo porque no valió la pena, osea la intención de la clase no se cumplió simplemente porque la <strong><em>desidia</em></strong> es mas grande que sus ganas de enseñar y transmitir conocimientos.</p>
<p>La ética se pierde y el respeto también porque le falta de voluntad de querer hacer bien las cosas son nulas osea no existen y aun asi se les escucha decir que son profesores y muy buenos toda una eminencia y los alumnos son los malos, flojos, etc. OJO no defiendo al estudiantado porque la mayoría somos vagabundos.</p>
<p>Como al profesor le falto explicar muchas cosas que son de &#8220;ABC&#8221; dejo una presentación: <a href="http://www.slideshare.net/backdoor/windows-programming-with-awt" target="_blank">Windows Programming with AWT </a></p>
<p>Quizás este blog se convierta en las penurias de un estudiante critico sin remedio, que dirá lo bueno y lo malo sobre el día a día de la universidad y como dice <a title="Kuro" href="http://kuro.temiga.org" target="_self">Kuro</a> la universidad la hacemos los estudiantes (aunque seamos vagabundos).</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fcachi.temiga.org%2F2009%2F02%2F10%2Fla-desia-de-un-profesor-parte-ii%2F&amp;linkname=La%20desidia%20de%20un%20profesor%20%2B%20Parte%20II"><img src="http://cachi.temiga.org/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a><img src="http://feeds.feedburner.com/~r/temiga/feed/~4/LwRxLDU3-c8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://cachi.temiga.org/2009/02/10/la-desia-de-un-profesor-parte-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://cachi.temiga.org/2009/02/10/la-desia-de-un-profesor-parte-ii/</feedburner:origLink></item>
		<item>
		<title>Prof. Charlatan + Buenas Prácticas PHP + Parte I</title>
		<link>http://feedproxy.google.com/~r/temiga/feed/~3/h9um1791hlc/</link>
		<comments>http://cachi.temiga.org/2009/02/07/prof-charlatan-buenas-practicas-php-parte-i/#comments</comments>
		<pubDate>Sat, 07 Feb 2009 05:20:43 +0000</pubDate>
		<dc:creator>CaChi</dc:creator>
				<category><![CDATA[PHP5]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programing]]></category>

		<guid isPermaLink="false">http://cachi.temiga.org/?p=221</guid>
		<description><![CDATA[




Este termino comencé a ver una materia que se llama Procesamiento de Datos (Programación PHP) y es triste ver como un profesor le cae a mentira a un grupo de alumnos, que en vez de dedicarse &#8220;enseñar&#8221;, busca &#8220;sorprender&#8221; a un conglomerado, como se que esto dará mucho que hablar hoy comienzo una serie de [...]]]></description>
			<content:encoded><![CDATA[<div class="mceTemp">
<dl class="wp-caption alignleft" style="width: 210px;">
<dt class="wp-caption-dt"><a href="http://cachi.temiga.org/wp-content/uploads/melkor_20061012_pirata.jpg"><img title="Pirata" src="http://cachi.temiga.org/wp-content/uploads/melkor_20061012_pirata.jpg" alt="Pirata" width="200" height="160" /></a></dt>
</dl>
</div>
<p>Este termino comencé a ver una materia que se llama <strong>Procesamiento de Datos</strong> (Programación <a title="PHP" href="http://es.wikipedia.org/wiki/Php" target="_self">PHP</a>) y es triste ver como un profesor le cae a mentira a un grupo de alumnos, que en vez de dedicarse &#8220;enseñar&#8221;, busca &#8220;sorprender&#8221; a un conglomerado, como se que esto dará mucho que hablar hoy comienzo una serie de post donde rescatare las carencia de este profesor, por razones obvias no daré su nombre (Espero lea este post profesor) y que <strong>NO</strong> se consideran como buenas prácticas de desarrollo en <a title="PHP" href="http://es.wikipedia.org/wiki/Php" target="_blank">PHP</a>.</p>
<p>Aclaro que <em>No</em> es un <em>Flame</em> contra este profesor, son simplemente aclaratorias que desde mi modesto punto de vista no puede quedar &#8220;impune&#8221; de la misma forma sirva para incentivar a las personas y/o alumnos(hasta al mismo profesor) a buscar información antes de decirla y/o creerle a cualquiera y mas en el área de la programación debido a que existe mucha información en la web.</p>
<p>Hay cosas de &#8220;ABC&#8221; que cualquier desarrollador de aplicaciones web debería tener claro, en este caso para <a title="PHP" href="http://es.wikipedia.org/wiki/Php" target="_blank">PHP</a> y es que las aplicaciones web de hoy día necesitan ir rápido, y rápido no se traduce es hacer códigos pequeños sino en implementar buenas prácticas.</p>
<h2>En Plena Clase</h2>
<p>El profesor explico como instalar <a title="Apache" href="http://es.wikipedia.org/wiki/Servidor_HTTP_Apache" target="_blank">Apache</a> (En windows XP :-P) pero nunca dijo porque se usaría Apache? y no otro por ejemplo <a href="http://en.wikipedia.org/wiki/Internet_Information_Services">IIS</a>, <a title="Cherokee" href="http://en.wikipedia.org/wiki/Cherokee_HTTP_Server" target="_blank">Cherokee</a>, etc. Ya por aquí considero que empezó mal porque como pedagogo (que no tiene nada) debió explicar esto, no conforme, comienza a dar la explicación de instalar <a title="Zend Studio" href="http://www.zend.com/en/products/studio/" target="_blank">Zend Studio</a> (un <a title="IDE" href="http://en.wikipedia.org/wiki/Integrated_development_environment" target="_blank">IDE</a> privativo)y luego dice como &#8220;<a href="http://en.wikipedia.org/wiki/Crack_(software)" target="_blank">crackearlo</a>&#8221; (profesor tenga ética y no sea &#8220;pisa bandera&#8221;) otro error, esto se puede decir entre amigos pero NO en una clase.</p>
<p>Bien, después del <em>bla bla bla</em>, llega a un punto donde comienza hablar de rutas en los archivos, es decir hacer los <strong>include &#8216;../mi_ruta/archivo.php&#8217;</strong>, y dice que las rutas relativas son mejores (aquí explote) y hago una pregunta, <em>Profesor que es mas optimo rutas Relativas o Absolutas?</em> la barbarie! el profesor contesto Relativas, caigo en un intercambio de palabras donde le dije que era falso y ahora explico porque.</p>
<p><strong>Las rutas absolutas son mas optimas</strong>, como dije en un principio hay que hacer <em>aplicaciones web rápidas</em> y algo tan simple como hacer un <strong>include</strong> de una ruta relativa se paga caro en tiempo de ejecución, porque se perderá <em>mas</em> tiempo resolviendo la ruta, es decir crear el arbol de directorio porque el compilador de <a title="PHP" href="http://es.wikipedia.org/wiki/Php" target="_blank">PHP</a> no es que hará un simple <em>cd ../mi_ruta/archivo.php</em> no no no, el compilador construye la ruta completa del <strong>archivo.php</strong> hará algo como <strong>/var/www/mi_ruta/archivo.php</strong>.</p>
<p>Luego que le comente lo anterior con otras palabras pero la idea sigue siendo la misma, el profesor en cuestión me alega que me imaginase que tuviera muchos archivo dentro del proyecto que desarrollo, por favor con mas razón se debe <strong>utilizar rutas absolutas</strong> por el simple hecho que serán mas archivos los que se procesaran en la ejecución de la aplicación (profe esto es sentido común).<a title="PHP" href="http://es.wikipedia.org/wiki/Php" target="_blank"><br />
</a></p>
<p>Pero no todo es malo el profesor dentro de todo lo que comento en cuatro (04) horas de clases académicas (45min C/U) unas de las pocas que considero que acertó fue en el manejo de las comillas dobles y simple, cuando en <a title="PHP" href="http://es.wikipedia.org/wiki/Php" target="_blank">PHP</a> colocamos comillas dobles el compilador asumirá que existen variable ($var) dentro del string, solo que con comillas simples se ignoran las variables dentro del string pero le falto decir que es mas rápido.</p>
<p>ejemplo:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$tmp</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'aaaaaaaaaaaaaaaaaaaa'</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//rápido</span>
<span style="color: #000088;">$tmp</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;aaaaaaaaaaaaaaaaaaaa&quot;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//lento</span></pre></div></div>

<h2>Conclusiones.</h2>
<p>Estas carencias son casi que normales (aunque no deberia ser así) entre los desarrolladores <em>en cualquier lenguaje</em> y es porque muy pocos se preocupan por hacer <a title="Profiler y Debug" href="http://cachi.temiga.org/2008/04/08/instalando-xdebug-en-debian-lenny/" target="_blank">profiler y debug</a> o simples <a title="Benchmark" href="http://es.wikipedia.org/wiki/Benchmark" target="_blank">benchmark</a> para encontrar <span class="serif">bottlenecks (cuellos de botella) dentro de nuestro código, con esto quiero decir que lo que se dice dentro de este post no lo invente yo, la práctica da la razón y utilizar las mejores prácticas nos hace mejor desarrollador(existen deferencias entre desarrollador y programador).</span></p>
<p><span class="serif">Leer: <a title="Regla 20/80" href="http://cachi.temiga.org/2008/08/30/la-regla-2080-buenas-practicas-de-desarrollo-parte-ii/" target="_blank">Regla 20/80</a><br />
</span></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fcachi.temiga.org%2F2009%2F02%2F07%2Fprof-charlatan-buenas-practicas-php-parte-i%2F&amp;linkname=Prof.%20Charlatan%20%2B%20Buenas%20Pr%C3%A1cticas%20PHP%20%2B%20Parte%20I"><img src="http://cachi.temiga.org/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a><img src="http://feeds.feedburner.com/~r/temiga/feed/~4/h9um1791hlc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://cachi.temiga.org/2009/02/07/prof-charlatan-buenas-practicas-php-parte-i/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://cachi.temiga.org/2009/02/07/prof-charlatan-buenas-practicas-php-parte-i/</feedburner:origLink></item>
	<media:rating>nonadult</media:rating></channel>
</rss><!-- Dynamic page generated in 2.335 seconds. --><!-- Cached page generated by WP-Super-Cache on 2009-11-09 04:34:57 -->
