<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>AmarellOcio &#187; Aplicaciones Web</title>
	<atom:link href="http://blog.amarello.com.mx/category/aplicaciones-web/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.amarello.com.mx</link>
	<description>Tecnologías de información, seguridad, ciencia y entretenimiento</description>
	<lastBuildDate>Fri, 26 Aug 2011 16:55:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Amarello Store la mejor tienda de cómputo y electrónica de todo México</title>
		<link>http://blog.amarello.com.mx/2011/06/13/amarello-store-la-mejor-tienda-de-computo-y-electronica-de-todo-mexico/</link>
		<comments>http://blog.amarello.com.mx/2011/06/13/amarello-store-la-mejor-tienda-de-computo-y-electronica-de-todo-mexico/#comments</comments>
		<pubDate>Mon, 13 Jun 2011 22:55:41 +0000</pubDate>
		<dc:creator>Eduardo</dc:creator>
				<category><![CDATA[Aplicaciones Web]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://blog.amarello.com.mx/?p=940</guid>
		<description><![CDATA[Hoy abrimos la tienda de cómputo de Amarello, donde pueden comprar iPods, Laptops, Netbooks, Electrónicos y lo más nuevo en tecnología, con envío a todo México y diferentes formas de pago. Puedes visitarla en http://store.amarello.com.mx/]]></description>
			<content:encoded><![CDATA[<p><a href="http://store.amarello.com.mx"><img src="http://blog.amarello.com.mx/wp-content/uploads/2011/06/tienda.png" alt="Amarello Store" title="tienda" width="600" height="362" class="aligncenter size-full wp-image-941" /></a></p>
<p>Hoy abrimos la tienda de cómputo de Amarello, donde pueden comprar iPods, Laptops, Netbooks, Electrónicos y lo más nuevo en tecnología, con envío a todo México y diferentes formas de pago.</p>
<p>Puedes visitarla en <a href="http://store.amarello.com.mx/">http://store.amarello.com.mx/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarello.com.mx/2011/06/13/amarello-store-la-mejor-tienda-de-computo-y-electronica-de-todo-mexico/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cloud Computing aplicado a las empresas</title>
		<link>http://blog.amarello.com.mx/2010/07/09/cloud-computing-aplicado-a-las-empresas/</link>
		<comments>http://blog.amarello.com.mx/2010/07/09/cloud-computing-aplicado-a-las-empresas/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 06:02:53 +0000</pubDate>
		<dc:creator>Eduardo</dc:creator>
				<category><![CDATA[Aplicaciones Web]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[empresas]]></category>

		<guid isPermaLink="false">http://blog.amarelloartis.com/?p=904</guid>
		<description><![CDATA[El Cloud Computing es uno de los terminos más sonados en revistas y en diversos artículos en los últimos meses. Algunos alabándolo y otros criticándolo, pero hablando siempre de tecnologías futuristas y suponiendo que la nube es internet, cuando internet es sólo una parte de la nube. La nube, como todo, tiene ventajas y desventajas. [...]]]></description>
			<content:encoded><![CDATA[<p>El Cloud Computing es uno de los terminos más sonados en revistas y en diversos artículos en los últimos meses. Algunos alabándolo y otros criticándolo, pero hablando siempre de tecnologías futuristas y suponiendo que la nube es internet, cuando internet es sólo una parte de la nube.</p>
<p>La nube, como todo, tiene ventajas y desventajas. Por ejemplo, algunas ventajas son: no necesitas de una computadora con muchos recursos, no hay necesidad de instalar aplicaciones y sería muy difícil perder tus datos; pero una de sus desventajas es que deberás confiar en un tercero para que tus datos estén “seguros”.</p>
<p>Siempre se ha criticado mucho desde el aspecto de la seguridad y es por ello que muchas empresas ni consideran adoptarlo, aunque esas son las mismas empresas que se niegan a usar las redes sociales y prefieren bloquear twitter que usarlo para algo útil. Pero queramos o no todas las tecnologías van hacia ese rumbo pues cada vez hay más smartphones y computadoras con acceso a internet con menos recursos y más baratas. Todo parece apuntar a que en un futuro los smartphones serán los que dominen en internet. Si observamos el entorno es claro que las aplicaciones de escritorio desaparecerán en un futuro no muy lejano, la multiplataforma es lo que está en voga y más gente está usando las tecnologías de internet para intercomunicarse, por lo que sinceramente dudo mucho que las empresas puedan frenar este avance. </p>
<p>Es impresionante ver como la gran mayoría de las empresas siguen tan ciegas y centran sus esfuerzos en detener a los usuarios para usar las nuevas tecnologías. Llegan a poner proxies para limitar el acceso a facebook y twitter; para el correo electrónico compran sistemas para evitar enviar correos a personas que la compañía no considere confiables y usan filtros de spam poco útiles para el usuario final; gastan recursos humanos en revisar los antivirus de los usuarios y monitorear la red en busca de fugas de información, y prohíben a las personas instalar ciertos programas como iTunes por “problemas de seguridad potenciales”.</p>
<p>Pero ¿qué diferencía a las compañias con gran tecnología y productos realmente interesantes de las otras? </p>
<p><strong>No piensan cómo es que podrían beneficiar las nuevas tecnologías a la empresa.</strong></p>
<p>El cloud computing tiene muchas caras que ofrecer y depende de las empresas buscar una cara que les beneficie. Si pensamos en el Cloud Computing como una nube que sólo está dentro de la red de la empresa, entonces empieza a volverse interesante y es probable que las empresas adopten ese modelo.</p>
<p>Pero antes de seguir quiero aclarar que al hablar de cloud computing no me refiero sólo a aplicaciones web que hacen consultas con AJAX a un servidor central, o una aplicación que hace consultas SOAP o tiene web services. Cloud computing realmente es mucho más que eso.</p>
<p>Tomemos como ejemplo Google. Es una empresa totalmente dedicada a la nube, y sus tecnologías son realmente avanzadas, mucho más de lo que muchos creen. Bien se sabe que no sólo es un motor de búsqueda, es una gran parte de Internet y tiene tecnologías que se pueden aplicar perfectamente a las empresas como GMail, Google Docs, Google Calendar y Google Wave, además de otras tecnologías para desarrollar aplicaciones como Google App Engine y Google Web Toolkit; y tiene también su propio sistema operativo Google Chrome OS (totalmente enfocado a la nube) y su navegador Google Chrome.</p>
<p>Google Chrome OS, que aún continúa en su versión beta y no se le ha prestado suficiente atención, resulta ser una versión de Linux a la cual no se le puede instalar ninguna aplicación y que no tienen ningún medio de almacenamiento; toda tu información está en la nube, ni siquiera la música se puede guardar en el disco, a lo mucho se pueden guardar datos en un USB ¿qué locura no?. El sistema operativo completo funciona como un navegador: cuando cierras la sesión guarda el estado en el que te quedaste para que luego puedas continuar en cualquier otra computadora que tenga Chrome OS instalado; por lo cual las computadoras necesarias para correrlo no necesitan de mucho disco duro, ni de una capacidad de procesamiento brutal. Y es cierto para muchos esto puede parecer desconcertante e inservible, pero para la gran masa de usuarios podría funcionar perfectamente.</p>
<p>Hagamos ahora un ejercicio de imaginación y apliquemos la nube a una empresa como Coca Cola. Supongamos que tiene varios datacenters: uno en México, varios en Estados Unidos y en muchos otros países; y, en esos datacenters tuvieran instalados los appliances de Google, los cuales pudieran guardar la información correctamente duplicada en diferentes lados del mundo; luego supongamos que la empresa les diera a sus empleados una Laptop con un disco de estado sólido suficiente para alojar una versión de Chrome OS que se conectara a la VPN de Coca Cola.</p>
<p>Esto sería realmente seguro, pues al contratar a un empleado bastaría con dar de alta una nueva cuenta en la empresa con los privilegios de las aplicaciones que necesitara, usando la política del mínimo privilegio. Cuando el empleado necesitara conectarse a sus documentos podría hacerlo desde cualquier computadora y la información nunca estaría guardada en el disco duro, por lo que si se pediera una laptop en el aeropuerto no habría ningún problema ya que necesitarían de la contraseña para poder entrar a algo importante.</p>
<p>Pensemos también que el costo de mantenimiento se vería reducido totalmente, pues no habría que reinstalar prácticamente nada y podrían trabajar desde cualquier computadora que tuviera acceso a la red de Coca Cola mediante Chrome OS. El costo de todas las aplicaciones como antivirus, protectores contra intrusos y demás desaparecerían pues el sistema operativo no se podría modificar y estaría reducido a lo que el navegador te permitiera.</p>
<p>Es un hecho que todas las aplicaciones de Coca Cola necesitarían funcionar mediante Web, pero no me imagino alguna que actualmente no pudiera implementarse para funcionar en Web.</p>
<p>Los problemas de seguridad se verían reducidos de manera importante, pues se tendría mucho más control de todos los datos y éstos estarían alojados en los servidores de Coca Cola. Y aunque seguirían existiendo los mismos problemas de siempre: contraseñas débiles, fallas en la configuración, problemas de XSS en las aplicaciones web, servidores vulnerables y demás; ya no habría que preocuparse tanto por la seguridad de cada usuario final de la empresa. Sería ahora más complicado que pudiera haber una fuga importante de información y en todo caso se tendría registrado por dónde ocurrió.</p>
<p>Google es un ejemplo de empresa que ha aprovechado la nube y muchas más podrían estar incursionando en estos momentos, pero hay cosas de Google que ya funcionan muy bien y a menos que algunas empresas quieran reinventar la rueda bien podrían ya empezar a usarlas para satisfacer sus necesidades.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarello.com.mx/2010/07/09/cloud-computing-aplicado-a-las-empresas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Autenticación segura sin SSL/TLS</title>
		<link>http://blog.amarello.com.mx/2010/06/12/autenticacion-segura-sin-ssl-tls/</link>
		<comments>http://blog.amarello.com.mx/2010/06/12/autenticacion-segura-sin-ssl-tls/#comments</comments>
		<pubDate>Sat, 12 Jun 2010 23:34:51 +0000</pubDate>
		<dc:creator>Damián</dc:creator>
				<category><![CDATA[Algoritmia y programación]]></category>
		<category><![CDATA[Aplicaciones Web]]></category>
		<category><![CDATA[Redes]]></category>
		<category><![CDATA[Seguridad en Información]]></category>

		<guid isPermaLink="false">http://blog.amarelloartis.com/?p=867</guid>
		<description><![CDATA[Muchas veces no es necesario o es demasiado cifrar toda la comunicación entre el cliente y el servidor, por razones de performance o por el sobrecosto de implementar un esquema de PKI (Public Key Infraestructure) para usar SSL/TLS. Pero siempre hay algo que es necesario proteger por seguridad: las credenciales de autenticación del usuario. Por [...]]]></description>
			<content:encoded><![CDATA[<p>Muchas veces no es necesario o es demasiado cifrar toda la comunicación entre el cliente y el servidor, por razones de performance o por el sobrecosto de implementar un esquema de PKI (Public Key Infraestructure) para usar SSL/TLS. Pero siempre hay algo que es necesario proteger por seguridad: las credenciales de autenticación del usuario. Por lo que en este post explicaré cómo se puede hacer una autenticación sin enviar esa información (no, no es telepatía).</p>
<p><strong>Protocolos de conocimiento cero (ZKP)</strong></p>
<p>Sabemos que sin un esquema de cifrado de llave pública es trivial para un atacante interceptar la información que se envía entre el cliente y el servidor, pero el sistema debe tener alguna manera de autenticar a los usuarios del sistema. Necesitamos enviar algo que si un atacante intercepta no pueda utilizar para autenticarse. Esto se conoce como un <em>protocolo de conocimiento cero</em> (<a href="http://en.wikipedia.org/wiki/Zero-knowledge_proof">Zero-knowledge proof</a>), y en palabras coloquiales significa: &#8220;probar que poseemos cierta información sin revelar esa información&#8221;.</p>
<p>Como comúnmente la única información que queremos &#8220;probar que poseemos pero no queremos revelar&#8221; es la contraseña, voy a explicar el esquema que usa MySQL para implementar su autenticación de usuarios. Los detalles no están explicados de manera formal en la documentación de MySQL pero alguien se tomó el tiempo de leer el código fuente y explicar cómo funciona (<a href="http://blog.vorant.com/2006/03/mysql-41x-authentication-internals.html">MySQL 4.1.x authentication internals</a>).</p>
<p><strong>¿Cómo se almacenan las contraseñas?</strong></p>
<p>Lo primero que hay que tener en cuenta es que, siguiendo los principios básicos de almacenamiento seguro de contraseñas, éstas se almacenan en el sistema sólo como un <em>hash criptográfico</em>. Que tiene la propiedad de ser <strong>prácticamente irreversible</strong> y <strong>prácticamente único</strong>. Por lo que esta es la primera parte del ZKP, ya que sólo quien conozca la contraseña podrá generar el <em>hash criptográfico</em> que le pertenece.</p>
<p>Desde MySQL 4.1 las contraseñas de usuario están almacenadas en la tabla &#8220;mysql.user&#8221; en la columna &#8220;Password&#8221; de la siguiente manera: <img src='http://s.wordpress.com/latex.php?latex=SHA1%28SHA1%28password%29%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='SHA1(SHA1(password))' title='SHA1(SHA1(password))' class='latex' />. Donde <img src='http://s.wordpress.com/latex.php?latex=SHA1&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='SHA1' title='SHA1' class='latex' /> es el <em>hash criptográfico</em> <a href="http://en.wikipedia.org/wiki/SHA-1">SHA-1</a>.</p>
<p><strong>La transmisión</strong></p>
<p>Si cada vez que el cliente se quiera autenticar sólo transmitiera <img src='http://s.wordpress.com/latex.php?latex=SHA1%28SHA1%28password%29%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='SHA1(SHA1(password))' title='SHA1(SHA1(password))' class='latex' />, cumpliría con el principio de no revelar la contraseña, pero un atacante podría capturar y enviar después <img src='http://s.wordpress.com/latex.php?latex=SHA1%28SHA1%28password%29%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='SHA1(SHA1(password))' title='SHA1(SHA1(password))' class='latex' /> para  autenticarse exitosamente aún sin conocer la contraseña. Por lo que necesitamos agregar más cosas al protocolo para que la información que transmite el cliente sólo sea útil para un intento de autenticación.</p>
<p>Este sería el esquema cliente-servidor para la transmisión:</p>
<ol>
<li>Se inicia el intento de autenticación</li>
<li>El servidor genera una cadena aleatoria <img src='http://s.wordpress.com/latex.php?latex=salt&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='salt' title='salt' class='latex' /> y se la transmite al cliente.</li>
<li>El cliente calcula <img src='http://s.wordpress.com/latex.php?latex=S_1%20%3D%20SHA1%28pass%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='S_1 = SHA1(pass)' title='S_1 = SHA1(pass)' class='latex' />, <img src='http://s.wordpress.com/latex.php?latex=S_2%20%3D%20SHA1%28S_1%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='S_2 = SHA1(S_1)' title='S_2 = SHA1(S_1)' class='latex' /> y <img src='http://s.wordpress.com/latex.php?latex=S_3%20%3D%20SHA1%28salt%2BS_2%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='S_3 = SHA1(salt+S_2)' title='S_3 = SHA1(salt+S_2)' class='latex' /> (aqui <img src='http://s.wordpress.com/latex.php?latex=%2B&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='+' title='+' class='latex' /> significa concatenación).</li>
<li>Finalmente el cliente transmite <img src='http://s.wordpress.com/latex.php?latex=M%20%3D%20S_3%20%5Coplus%20S_1&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='M = S_3 \oplus S_1' title='M = S_3 \oplus S_1' class='latex' />. (aquí <img src='http://s.wordpress.com/latex.php?latex=%5Coplus&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\oplus' title='\oplus' class='latex' /> significa bitwise XOR)</li>
</ol>
<p><strong>Autenticación</strong></p>
<p>El servidor sólo conoce <img src='http://s.wordpress.com/latex.php?latex=H%20%3D%20SHA1%28SHA1%28password%29%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='H = SHA1(SHA1(password))' title='H = SHA1(SHA1(password))' class='latex' />, que está almacenado en la tabla de usuarios, y <img src='http://s.wordpress.com/latex.php?latex=salt&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='salt' title='salt' class='latex' />. Para autenticar hace lo siguiente:</p>
<ol>
<li>Calcula  <img src='http://s.wordpress.com/latex.php?latex=S%27_3%20%3D%20SHA1%28salt%2BH%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='S&#039;_3 = SHA1(salt+H)' title='S&#039;_3 = SHA1(salt+H)' class='latex' />.</li>
<li>Calcula  <img src='http://s.wordpress.com/latex.php?latex=S%27_1%20%3D%20M%5Coplus%20S%27_3&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='S&#039;_1 = M\oplus S&#039;_3' title='S&#039;_1 = M\oplus S&#039;_3' class='latex' />.</li>
<li>Calcula <img src='http://s.wordpress.com/latex.php?latex=S%27_2%20%3D%20SHA1%28S%27_1%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='S&#039;_2 = SHA1(S&#039;_1)' title='S&#039;_2 = SHA1(S&#039;_1)' class='latex' />.</li>
<li>Sólo si <img src='http://s.wordpress.com/latex.php?latex=H%3DS%27_2&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='H=S&#039;_2' title='H=S&#039;_2' class='latex' /> la autenticación es exitosa.</li>
</ol>
<p><strong>Observaciones</strong></p>
<p>Nunca se transmite <img src='http://s.wordpress.com/latex.php?latex=S_2&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='S_2' title='S_2' class='latex' /> ni <img src='http://s.wordpress.com/latex.php?latex=S_1&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='S_1' title='S_1' class='latex' />, por lo que la fortaleza está en que este ZKP verifica que el cliente conoce <img src='http://s.wordpress.com/latex.php?latex=SHA1%28password%29%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='SHA1(password))' title='SHA1(password))' class='latex' /> y <img src='http://s.wordpress.com/latex.php?latex=SHA1%28SHA1%28password%29%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='SHA1(SHA1(password))' title='SHA1(SHA1(password))' class='latex' /> pero sin revelar esa información, y que sería casi imposible que un atacante poseyera sin conocer <img src='http://s.wordpress.com/latex.php?latex=password&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='password' title='password' class='latex' />.</p>
<p>También hay que observar que <img src='http://s.wordpress.com/latex.php?latex=salt&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='salt' title='salt' class='latex' /> es una cadena única por cada intento de autenticación, o sea que esa cadena siempre está cambiando.</p>
<p><strong>Implementación</strong></p>
<p>Próximamente trabajaremos en una implementación de este esquema para aplicaciones web usando JavaScript y PHP, que publicaremos bajo licencia LGPL.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarello.com.mx/2010/06/12/autenticacion-segura-sin-ssl-tls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Chart API</title>
		<link>http://blog.amarello.com.mx/2009/03/17/google-chart-api/</link>
		<comments>http://blog.amarello.com.mx/2009/03/17/google-chart-api/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 00:42:07 +0000</pubDate>
		<dc:creator>Paco</dc:creator>
				<category><![CDATA[Aplicaciones Web]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://blog.amarelloartis.com/?p=792</guid>
		<description><![CDATA[En estos dias de arduo trabajo es muy reconfortante encontrar utilidades con las que sea posible trabajar de manera comoda y eficaz. Una de las tareas que desarrollamos en los ultimos meses es la generación de graficas dinamicas para un sitio web. Tras varios experimentos con JSChart e investigar con algunas otras tecnologías, dimos con [...]]]></description>
			<content:encoded><![CDATA[<p>En estos dias de arduo trabajo es muy reconfortante encontrar utilidades con las que sea posible trabajar de manera comoda y eficaz. Una de las tareas que desarrollamos en los ultimos meses es la generación de graficas dinamicas para un sitio web. Tras varios experimentos con <a href="http://www.jscharts.com/">JSChart</a> e investigar con algunas otras tecnologías, dimos con una que se ajustó mas a lo que deseábamos. Esa utilidad (que fue la que nos sorprendió aquí en Amarello) es la <a href="http://code.google.com/intl/es-ES/apis/chart/">API de Google Charts.</a> Esta API, es la mas robusta y completa que encontramos para poder realizar gráficas dinámicas en un sitio web. La maravilla de esta API es su capacidad y su facilidad de manejo.</p>
<p>La idea básica consiste en generar las gráficas(imágenes) mandando los datos de ella por medio de parámetros GET a la API de Google en sus servidores. Esto desde un principio puede parecer una desventaja, pero esto también puede ser una gran ventaja según se vea. Todo se reduce a una etiqueta web de &lt;img&gt; que tiene como &#8220;src=&#8221; la API. por lo que el hacer una gráfica se reduce a un código HTML tan simple como el siguiente:</p>
<pre> &lt;<code>img src="http://chart.apis.google.com/chart?cht=p3&amp;chd=t:60,40&amp;chs=250x100&amp;chl=Hello|World" /</code>&gt;</pre>
<p>En el, podemos ver los parametros basicos que toda gráfica debe llevar como lo es el tipo de grafica, los valores, y el tamaño de la gráfica. Todos estos datos produce la siguiente imágen:</p>
<p style="text-align: center;"><img class="aligncenter" title="Gráfica" src="http://chart.apis.google.com/chart?cht=p3&amp;chd=t:60,40&amp;chs=250x100&amp;chl=Hello|World" alt="" width="250" height="100" /></p>
<p><span id="more-792"></span></p>
<p>Esta sencillez le da una gran ventaja a esta API sobre las demas. Ademas, permite el dibujado de gráficas de tipo pay o pastel, de barras, diagramas de Venn, Gráficos de lineas, gráficos de puntos, e incluso mapas geograficos entre otros. Así, todas las gráficas a continación son directamente generadas desde la API:</p>
<p style="text-align: center;"><img class="aligncenter" src="http://chart.apis.google.com/chart?cht=r&amp;chs=350x350&amp;chd=t:77,66,15,0,31,48,100,77|20,36,100,2,0,100&amp;chco=FF0000,FF9900&amp;chls=2.0,4.0,0.0|2.0,4.0,0.0&amp;chxt=x&amp;chxl=0:|0|45|90|135|180|225|270|315&amp;chxr=0,0.0,360.0&amp;chg=25.0,25.0,4.0,4.0&amp;chm=B,FF000080,0,1.0,5.0|B,FF990080,1,1.0,5.0" alt="" width="350" height="350" /></p>
<p style="text-align: center;"><img class="alignnone" src="http://chart.apis.google.com/chart?cht=bhs&amp;chco=ff0000,00ff00,0000ff&amp;chs=200x125&amp;chd=s:FOE,THE,Bar&amp;chxt=x,y&amp;chxl=1:|Dec|Nov|Oct|0:||20K||60K||100K|" alt="" width="200" height="125" /></p>
<p style="text-align: center;">
<p style="text-align: center;">
<p style="text-align: center;"><img class="alignnone" src="http://chart.apis.google.com/chart?cht=v&amp;chs=350x200&amp;chd=t:100,20,20,20,20,0,0&amp;chdl=Primero|Segundo|Tercero&amp;chco=ff0000,00ff00,0000ff" alt="" width="350" height="200" /></p>
<p style="text-align: center;">
<p style="text-align: center;">
<p style="text-align: center;"><img class="alignnone" src="http://chart.apis.google.com/chart?cht=lc&amp;chd=s:9gounjqGJD&amp;chco=008000&amp;chls=2.0,4.0,1.0&amp;chxt=x,y&amp;chxl=0:|Sep|Oct|Nov|Dec|1:||50|100&amp;chs=350x200&amp;chm=R,ff0000,0,0.1,0.11|R,A0BAE9,0,0.75,0.25|r,E5ECF9,0,0.75,0.25|r,000000,0,0.1,0.11" alt="" width="350" height="200" /></p>
<p style="text-align: center;">
<p style="text-align: center;">
<p style="text-align: center;"><img class="alignnone" src="http://chart.apis.google.com/chart?cht=lc&amp;chd=s:pqokeYONOMEBAKPOQVTXZdecaZcglprqxuux393ztpoonkeggjp&amp;chco=676767&amp;chls=4.0,3.0,0.0&amp;chxt=x,y&amp;chxl=0:|1|2|3|4|5|1:|0|50|100&amp;chs=350x200&amp;chf=c,lg,45,ffffff,0,76A4FB,0.75|bg,s,EFEFEF" alt="" width="350" height="200" /></p>
<p style="text-align: center;">
<p style="text-align: center;">
<p style="text-align: center;">
<p style="text-align: center;"><img class="aligncenter" src="http://chart.apis.google.com/chart?cht=t&amp;chs=440x220&amp;chd=s:Af9&amp;chco=ffffff,edf0d4,13390a&amp;chld=MGKETN&amp;chtm=africa&amp;chf=bg,s,EAF7FE" alt="" width="440" height="220" /></p>
<p>Como dije esta solución fue la que mas se ajustó a nuestras necesidades, pero existen muchas mas opciones de diferente complejidad y diferentes tacnologías, como lo es <a href="http://www.jscharts.com/">JSChart</a>, que desde mi puto de vista es un poco mas fácil de usar pero se pierde un poco de control y personalización que ofrece Google Chart. En fin, les dejo a continuación la dirección de la documentación de Google Chart para que se den una idea de lo versatilidad y poder de la API, esperando que les sea de ayuda para entender un poco mas esto.</p>
<p><a href="http://code.google.com/intl/es-ES/apis/chart/">Documentación Google Charts </a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarello.com.mx/2009/03/17/google-chart-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Latitude &amp; Maps 3.0</title>
		<link>http://blog.amarello.com.mx/2009/02/06/google-latitude-maps-30/</link>
		<comments>http://blog.amarello.com.mx/2009/02/06/google-latitude-maps-30/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 23:04:41 +0000</pubDate>
		<dc:creator>baidot</dc:creator>
				<category><![CDATA[Aplicaciones Web]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://blog.amarelloartis.com/?p=727</guid>
		<description><![CDATA[Google acaba de sacar un servicio de geolocalización integrado a Google Maps llamado Google Latitude, aprovechando la salida de Google Earth 5.0 nos encontramos con nada más y nada menos que Google Maps 3.0 para móviles. Me decidí a probarlo e instalarlo y estos son los resultados que me encontré: Geoposicionamiento por GPS y GPS-A [...]]]></description>
			<content:encoded><![CDATA[<p>Google acaba de sacar un servicio de geolocalización integrado a Google Maps llamado <a href="http://www.google.com/latitude/intro.html" target="_blank">Google Latitude</a>, aprovechando la salida de <a href="http://earth.google.es/" target="_blank">Google Earth 5.0</a> nos encontramos con nada más y nada menos que <a href="google.com/latitude" target="_blank">Google Maps 3.0</a> para móviles.</p>
<p>Me decidí a probarlo e instalarlo y estos son los resultados que me encontré:</p>
<ul>
<li>Geoposicionamiento por GPS y GPS-A</li>
<li>Geoposicionamiento por triangulación de telefonía celular (no necesta tener GPS tu equipo)</li>
<li>Sincronización de contactos de Gmail (podremos invitar y ver a cualquiera de nuestros contactos en su posición en vivo; algo parecido a una autorización de Google Talk con tags de posición)</li>
<li>Sincronización de imágenes de contactos de Gmail con geoposicionados.</li>
<li>Todas las Funcionalidades anteriores de Google Maps, incluyendo Google Street y Trafico en algunos países.</li>
</ul>
<p>Podemos <a href="http://www.google.com/latitude/intro.html">Instalarlo</a> desde nuestro celular o tecleando google.com/latitude<br />
Un detalle es que necesitamos una conexión wifi, 3G o EDGE (o algún plan de datos) para que suba nuestra ubicación (de manera continua o cuando se lo indiquemos) a Internet, pero no lo veo como un problema, ya que es posible que nos encontremos en la oficina y escuela (donde si tenemos wifi) y queramos compartir nuestra ubicación</p>
<p>Lo he intentado con un N95-3 8gb Symbian 3era edición, pero al parecer soporta mas dispositivos y OS móviles. ¿Alguien se anima a instarlo en algo mas?</p>
<p>Dejo algunas pantallas:</p>
<div id="attachment_732" class="wp-caption alignleft" style="width: 727px"><img class="size-full wp-image-732" src="http://blog.amarelloartis.com/wp-content/uploads/2009/02/2342523431.jpg" alt="Google Maps 3.0 sobre CU" width="717" height="638" /><p class="wp-caption-text">Google Maps 3.0 sobre CU</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarello.com.mx/2009/02/06/google-latitude-maps-30/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Modelo Entidad Relación con el menor número de cruces</title>
		<link>http://blog.amarello.com.mx/2009/01/01/modelo-entidad-relacion-menor-numero-cruces/</link>
		<comments>http://blog.amarello.com.mx/2009/01/01/modelo-entidad-relacion-menor-numero-cruces/#comments</comments>
		<pubDate>Fri, 02 Jan 2009 02:40:23 +0000</pubDate>
		<dc:creator>Eduardo</dc:creator>
				<category><![CDATA[Algoritmia y programación]]></category>
		<category><![CDATA[Aplicaciones Web]]></category>
		<category><![CDATA[Bases de Datos]]></category>
		<category><![CDATA[diagrama entidad relacion]]></category>
		<category><![CDATA[diagrama er]]></category>
		<category><![CDATA[dibujado ortogonal]]></category>
		<category><![CDATA[gml]]></category>
		<category><![CDATA[ogdf]]></category>
		<category><![CDATA[software libre]]></category>

		<guid isPermaLink="false">http://blog.amarelloartis.com/?p=588</guid>
		<description><![CDATA[Problema Hace ya varios meses al estar desarrollando un software bastante complejo, que requería una base de datos muy grande, nos enfrentamos al problema de cómo poder visualizar un diagrama entidad-relacion de la forma más legible posible. Intentamos con MySQL Workbench, el cual nos dibujó las tablas con sus relaciones pero desgraciadamente todas juntas y [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Problema</strong></p>
<p>Hace ya varios meses al estar desarrollando un software bastante complejo, que requería una base de datos muy grande, nos enfrentamos al problema de cómo poder visualizar un diagrama entidad-relacion de la forma más legible posible. Intentamos con MySQL Workbench, el cual nos dibujó las tablas con sus relaciones pero desgraciadamente todas juntas y teníamos que acomodarlas a mano; lo cual además de llevar tiempo, es difícil, pues llegar a un modelo que tenga el menor número de cruces y sea fácil de entender es una tarea casi imposible. Así que buscamos en Google un programa que pudiera dibujar de una forma estética nuestra base de datos, y aunque algunos lo prometían ninguno lo hacía.</p>
<p><strong>Historia</strong></p>
<p>Buscamos un algoritmo que se encargara de distribuir gráficas con el menor número de cruces, lo que se conoce como <em>aplanamiento de gráficas</em> y encontramos uno llamado <strong>dibujado ortogonal</strong>, que nos pareció el más estético para dibujar un digrama EER. Encontramos gran cantidad de documentos de investigación que hacían alusión a un algoritmo publicado por Kandinsky, pero en ninguna parte pudimos encontrar el pseudo código o algún documento más detallado de ese algoritmo. Seguimos buscando y encontramos otros programas que servían para acomodar diagramas UML y algunos con el menor número de cruces. Notamos que muchos usaban un formato de archivo llamado <a href="http://www.infosun.fim.uni-passau.de/Graphlet/GML/">GML y encontramos su especificación</a>. GML significa <strong>Graphics Modeling Language</strong> y fue un poco difícil de encontrar porque hay otro formato de archivo con el mismo nombre que siginifica Geographic Modeling Language.</p>
<p>Después de un día de búsqueda encontramos un framework para diferentes tipos de dibujado de gráficas llamado <a href="http://www.ogdf.net/ogdf.php">OGDF</a>, librería escrita en C++ y de código abierto. Para nuestra sorpresa esa librería recibe un archivo GML para procesarlo y devuelve otro de igual formato procesado.</p>
<p><strong>Idea</strong></p>
<p>Al ver que no había un programa que te hiciera todo el proceso completo, desde conectarse a la base de datos, obtener su estructura, procesarla, graficarla con el menor número de cruces y presentarla tuvimos una idea:</p>
<p>¿Por qué no hacer un programa que obtenga la estructura de la base de datos junto con sus relaciones, genere un archivo .GML y lo pase a un programa que use la librería OGDF, luego lea el archivo procesado y dibuje las tablas en la posición adecuada?</p>
<p><strong>Nuestra solución</strong></p>
<p><strong>- Java</strong><br />
Inicialmente lo solucionamos haciendo un programa escrito en Java, que se conectara a la base de datos MySQL, obtuviera su estructura mediante <code>SHOW TABLES</code>, <code>DESCRIBE tabla</code>, y con el código de creación de la tabla obtuviera las llaves foráneas y se encargara de relacionar las tablas y generar un archivo GML válido con la estructura y las relaciones.</p>
<p><strong>- C++</strong><br />
Ahora mirando en OGDF notamos que había un <a href="http://www.ogdf.net/ogdf.php/tech:howto:plzl">How To</a>, lo copiamos, modificamos un poco y compilamos, generando un binario que lee dos parámetros, el archivo fuente y la ruta del archivo GML a donde queremos guardar el procesamiento.</p>
<p><strong>- Conectar Java y C++</strong><br />
Nos dispusimos a conectar los dos programas, llamando al binario de OGDF desde nuestro programa en Java y luego nuevamente leer el GML, <em>parsearlo</em> y relacionar con las tablas que estaban en memoria.</p>
<p>Hasta este punto ya teníamos solucionado todo, ahora solo faltaba dibujarlo.</p>
<p><strong>Dibujarlo</strong><br />
Pensamos en un momento dibujarlo en Java, el problema iba a ser que Java no es exactamente lo más amigable para dibujar, y había otro problema, a lo largo del desarrollo del programa pensamos que sería una buena idea liberarlo bajo la GPL y poner el código a disposición de todos y fue cuando se nos ocurrió una idea: ¿porqué no volver todo este programa una aplicación web y abrirla al público?, pero ¿cómo podríamos solucionarlo?</p>
<p><strong>- PHP y Flash</strong><br />
Pensamos que era fácil simplemente crear un formulario que pidiera el acceso a la base de datos, llamara del lado del servidor a nuestro programa en Java y así podríamos generar un XML que leyera una aplicación en Flash, además por medio de Actionscript lo dibujara y agregara comportamientos como arrastrar que hiciera más facil la interacción del usuario.</p>
<p><img src="http://blog.amarelloartis.com/wp-content/uploads/2008/12/screenshot.jpg" alt="Diagrama Entidad Relación Procesado"  width="400" height="253" align="right" /><strong>- Conectar Java, C++, PHP, Flash</strong><br />
Lo hicimos, y nuestro programa en Java después de haber leido y parseado el GML generó un XML con la estructura y coordenadas, que luego Flash leería mediante Actionscript y dibujaría obteniendo una representación interactiva de la base de datos como se muestra en la imagen.</p>
<p><strong>Código Abierto</strong><br />
Después de algunos ajustes <a href="http://www.amarello.com.mx/downloads/dibujado-ortogonal-mysql/">liberamos el código de Java, C++, Flash, PHP y Actionscript bajo la GPL</a> y siendo nuestro primer programa que liberamos bajo esa licencia nos sentimos muy felices. Para mi fue como un logro que desde hace tiempo quería hacer, pues siempre nos ha ayudado enormemente el código abierto y nunca habíamos regresado el favor.</p>
<p>Ahora tenemos pensado liberar otros algoritmos y scripts que tenemos guardados bajo GPL, y creamos una sección para todo ese Software en <a href="http://www.amarello.com.mx/downloads/">nuestra página</a>, que según tenemos pleaneado irá creciendo poco a poco.</p>
<p>Nos sentimos muy bien de poder colaborar con la Open Software Foundation, e <strong>invitamos a otras compañías que tienen mucho software detenido que lo liberen y aporten algo a la comunidad</strong>.</p>
<p>La versión en línea de nuestro programa se <a href="http://www.amarello.com.mx/downloads/dibujado-ortogonal-mysql/version-online/">encuentra disponible al público</a> y esperemos que lo aprovechen.</p>
<p>Con este software nuevo esperamos que este año que apenas comienza aportemos mucho más a la comunidad del software libre.</p>
<p>¡ Feliz año 2009 !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarello.com.mx/2009/01/01/modelo-entidad-relacion-menor-numero-cruces/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>¡Usar Gmail con tu propio dominio y gratis!</title>
		<link>http://blog.amarello.com.mx/2007/04/16/%c2%a1usar-gmail-con-tu-propio-dominio-y-gratis/</link>
		<comments>http://blog.amarello.com.mx/2007/04/16/%c2%a1usar-gmail-con-tu-propio-dominio-y-gratis/#comments</comments>
		<pubDate>Tue, 17 Apr 2007 01:49:34 +0000</pubDate>
		<dc:creator>Eduardo</dc:creator>
				<category><![CDATA[Aplicaciones Web]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://blog.amarelloartis.com/2007/04/16/%c2%a1usar-gmail-con-tu-propio-dominio-y-gratis/</guid>
		<description><![CDATA[Siempre he visto que Google hace cosas increibles, pero esta vez de verdad que se pasaron de la raya con su opción de usar todo lo que google ofrece pero con tu propio dominio, pues no se ustedes pero yo siempre he tenido problemas con las porquerías de correo que te proporcionan los servidores de [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://blog.amarelloartis.com/wp-content/uploads/2007/04/logo.gif' alt='Logo Gmail' align="left"/>Siempre he visto que Google hace cosas increibles, pero esta vez de verdad que se pasaron de la raya con su opción de usar todo lo que google ofrece pero con tu propio dominio, pues no se ustedes pero yo siempre he tenido problemas con las porquerías de correo que te proporcionan los servidores de web hosting, digo cada uno tendrá lo suyo pero definitivamente estan muy por debajo de lo que Google ofrece, Gmail usa AJAX cosa que muchos no usan, Gmail tiene integración con google calendar, y a la vez con Google Docs, entonces imaginense tener todos esos servicios para tu propio dominio, por ejemplo para amarelloartis.com como es nuestro caso, y con eso tenemos 2 gigas de espacio en disco sin pagar un solo centavo, que puede crecer si pagas por usarlo, pero imaginense, tener google docs para tu empresa, Google calendar, y todas las maravillas, con tu mail @amarelloartis.com en nuestro caso, y con capacidad de crear hasta 100 cuentas gratis.</p>
<p>Y lo mejor de todo es que puedes poner tu logo en lugar de los logos de Google, y también puedes hacer que automáticamente cuando tu agregues un contacto que tenga @tudominio.com sea publicado en las listas de contactos de los otros, asi como también para evitar fugas de información puedes decir que te avise cuando de ese mail contactes a alguna otra gente que no sea de tu dominio, igual con google talk, la verdad es algo bastante padre, no les parece?</p>
<p>Para más información consulten <a href="http://www.google.com/a/help/intl/en/admins/editions_spe.html">ésta página</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarello.com.mx/2007/04/16/%c2%a1usar-gmail-con-tu-propio-dominio-y-gratis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Talk Gadget y no exactamente los de Vista</title>
		<link>http://blog.amarello.com.mx/2007/04/11/google-talk-gadget-y-no-exactamente-los-de-vista/</link>
		<comments>http://blog.amarello.com.mx/2007/04/11/google-talk-gadget-y-no-exactamente-los-de-vista/#comments</comments>
		<pubDate>Wed, 11 Apr 2007 21:58:14 +0000</pubDate>
		<dc:creator>Eduardo</dc:creator>
				<category><![CDATA[Aplicaciones Web]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">http://blog.amarelloartis.com/2007/04/11/google-talk-gadget-y-no-exactamente-los-de-vista/</guid>
		<description><![CDATA[Ahora desde tu página personalizada de inicio de google puedes chatear con tus amigos y hasta mandar videos de youtube por la conversación, de manera muy facil, la verdad me parece algo increible tal y como se puede esperar de Google no creen?]]></description>
			<content:encoded><![CDATA[<p>Ahora desde tu página personalizada de inicio de google puedes chatear con tus amigos y hasta mandar videos de youtube por la conversación, de manera muy facil, la verdad me parece algo increible tal y como se puede esperar de Google no creen?</p>
<div align="center"><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/oPTP3rXKHvc"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/oPTP3rXKHvc" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarello.com.mx/2007/04/11/google-talk-gadget-y-no-exactamente-los-de-vista/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>¿Porqué usar GMail?</title>
		<link>http://blog.amarello.com.mx/2007/04/11/%c2%bfporque-usar-gmail/</link>
		<comments>http://blog.amarello.com.mx/2007/04/11/%c2%bfporque-usar-gmail/#comments</comments>
		<pubDate>Wed, 11 Apr 2007 06:06:47 +0000</pubDate>
		<dc:creator>Eduardo</dc:creator>
				<category><![CDATA[Aplicaciones Web]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">http://blog.amarelloartis.com/2007/04/11/%c2%bfporque-usar-gmail/</guid>
		<description><![CDATA[Vean todos este video hecho por un equipo de Google y pueden encontrarlo aqui junto con muchos más.]]></description>
			<content:encoded><![CDATA[<p>Vean todos este video hecho por un equipo de Google y pueden encontrarlo <a href="http://www.youtube.com/watch?v=uBbmiQhuAhU">aqui</a> junto con muchos más.</p>
<div align="center"><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/uBbmiQhuAhU"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/uBbmiQhuAhU" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarello.com.mx/2007/04/11/%c2%bfporque-usar-gmail/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TiSP &#8211; April Fools Day al estilo Google</title>
		<link>http://blog.amarello.com.mx/2007/04/01/tisp-april-fools-day-al-estilo-google/</link>
		<comments>http://blog.amarello.com.mx/2007/04/01/tisp-april-fools-day-al-estilo-google/#comments</comments>
		<pubDate>Sun, 01 Apr 2007 22:28:52 +0000</pubDate>
		<dc:creator>Paco</dc:creator>
				<category><![CDATA[Aplicaciones Web]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://blog.amarelloartis.com/2007/04/01/tisp-april-fools-day-al-estilo-google/</guid>
		<description><![CDATA[Hoy es el día de los inocentes para EU, y parte de Europa. Como es de costumbre las bromas no han faltado, y menos en Internet. Google es uno de los sitios donde no pueden faltar sus clásicas bromas. Este año los señores de Google nos traen un nuevo servicio y sobre todo GRATUITO: TiSP. [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy es el día de los inocentes para EU, y parte de Europa. Como es de costumbre las bromas no han faltado, y menos en Internet.</p>
<p>Google es uno de los sitios donde no pueden faltar sus clásicas bromas. Este año los señores de Google nos traen un nuevo servicio y sobre todo GRATUITO: TiSP. <img src='http://blog.amarello.com.mx/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<div align="center"><a href="http://www.google.com/tisp"><img src='http://blog.amarelloartis.com/wp-content/uploads/2007/04/tisp_logo_sm.gif' align="center" alt='TiSP Google' ></a></div>
<p><span id="more-349"></span><br />
Toilette internet Service Provider es el servicio de Internet que Google ofrece a partir de hoy en Estados Unidos y Canadá (aun en estado Beta). Consiste en un cable de fibra óptica que viaja a través de la cañerías desde la taza del baño de tu casa y llega finalmente a un nodo de acceso de Google, todo esto con ayuda de un asistente que hará todo el procedimiento manualmente en las cañerías. El servicio incluye un router inalámbrico y ofrece actualmente velocidades de 8 Mbps de descarga y 2 Mbps de envío de datos en su versión gratuita, o con posibilidad de aumento en versiones de paga.</p>
<p>Que les parece? en realidad es muy poco gracioso a comparación de como lo dicen ellos y de todos los textos que se encuentran en la <a href="http://www.google.com/tisp">página de la broma</a>.</p>
<p>También vale la pena recordar todas las bromas de Google en años anteriores:</p>
<ul>
<li><a href="http://www.google.com/romance/">Google Romance</a></li>
<li><a href="http://www.google.com/googlegulp/">Google Gulp</a></li>
<li><a href="http://www.google.com/technology/pigeonrank.html">Google PigeonRank</a></li>
<li><a href="http://www.google.com/mentalplex/">Google MentalPlex</a></li>
<li><a href="http://www.google.com/jobs/lunar_job.html">Google Copernicus Center</a></li>
</ul>
<p>Via: <a href="http://googleblog.blogspot.com/2007/04/project-teaspoon.html">Official Google Blog </a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarello.com.mx/2007/04/01/tisp-april-fools-day-al-estilo-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

