<?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>TODO UN BLOG</title>
	<atom:link href="http://todounblog.com.ar/feed/" rel="self" type="application/rss+xml" />
	<link>http://todounblog.com.ar</link>
	<description></description>
	<lastBuildDate>Sun, 01 Aug 2010 14:16:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Servidor Apache portable</title>
		<link>http://todounblog.com.ar/servidor-apache-portable/</link>
		<comments>http://todounblog.com.ar/servidor-apache-portable/#comments</comments>
		<pubDate>Sun, 01 Aug 2010 14:16:09 +0000</pubDate>
		<dc:creator>Ariel</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Herramientas]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[servidor]]></category>

		<guid isPermaLink="false">http://todounblog.com.ar/?p=904</guid>
		<description><![CDATA[Existen herramientas en el Internet, que siempre nos ayudan a llevar una vida totalmente placentera!, y MoWes es una herramienta que te puede ayudar para probar cosas!.
MoWes es una herramienta libre que te posiblita configurar rapidamente WAMP (Windows, Apache, MySQL y PHP) en sistemas basados en plataformas Windows.
A esto puedes agregarle varios paquetes que complementan [...]]]></description>
			<content:encoded><![CDATA[<p>Existen herramientas en el Internet, que siempre nos ayudan a llevar una vida totalmente placentera!, y <a href="http://www.chsoftware.net/en/mowes/mowesportable/main.htm" target="_blank">MoWes</a> es una herramienta que te puede ayudar para probar cosas!.</p>
<p><a href="http://www.chsoftware.net/en/mowes/mowesportable/main.htm" target="_blank">MoWes</a> es una herramienta libre que te posiblita configurar rapidamente WAMP (Windows, Apache, MySQL y PHP) en sistemas basados en plataformas Windows.</p>
<p>A esto puedes agregarle varios paquetes que complementan a lo anteriormente nombrado, como por ejemplo <span style="font-size: 13.3333px;"> TYPO3, MediaWiki, Wordpress, Joomla!, etc., que además son instaladas automticamente.</span></p>
<p><span style="font-size: 13.3333px;">WebSite: <a href="http://www.chsoftware.net/en/mowes/mowes.htm">Moves</a></span></p>
<p><span style="font-size: 13.3333px;">MoWes Portable: <a href="http://www.chsoftware.net/en/mowes/mowesportable/main.htm" target="_blank">Link</a></span></p>
]]></content:encoded>
			<wfw:commentRss>http://todounblog.com.ar/servidor-apache-portable/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tools: Verificar nuestro WebSite en varios Browsers</title>
		<link>http://todounblog.com.ar/tools-verificar-nuestro-website-en-varios-browsers/</link>
		<comments>http://todounblog.com.ar/tools-verificar-nuestro-website-en-varios-browsers/#comments</comments>
		<pubDate>Sun, 20 Jun 2010 23:13:39 +0000</pubDate>
		<dc:creator>Ariel</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Herramientas]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://todounblog.com.ar/?p=902</guid>
		<description><![CDATA[Un buen programador web, debería verificar que su site, sea compatible con la mayoría de los browsers, que existen en el mercado, pero instalarse todos los navegadores en tu pc, sería muy engorroso, asi que surfeando por internet encontré una herramienta que te puede facilitar la vida.
Existe un sitio web, que realiza el trabajo por [...]]]></description>
			<content:encoded><![CDATA[<p>Un buen programador web, debería verificar que su site, sea compatible con la mayoría de los browsers, que existen en el mercado, pero instalarse todos los navegadores en tu pc, sería muy engorroso, asi que surfeando por internet encontré una herramienta que te puede facilitar la vida.</p>
<p>Existe un sitio web, que realiza el trabajo por tí, solo ingresas tu dirección web, y en pocos minutos tienes un pantallazo de como se vería tu web en ese navegador.</p>
<p>Link:<a href="http://browsershots.org/"> BrowserHost</a></p>
]]></content:encoded>
			<wfw:commentRss>http://todounblog.com.ar/tools-verificar-nuestro-website-en-varios-browsers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tips: para MySQL &#8211; Buenos usos</title>
		<link>http://todounblog.com.ar/tips-para-mysql-buenos-usos/</link>
		<comments>http://todounblog.com.ar/tips-para-mysql-buenos-usos/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 18:39:58 +0000</pubDate>
		<dc:creator>Ariel</dc:creator>
				<category><![CDATA[Ayuda]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://todounblog.com.ar/?p=884</guid>
		<description><![CDATA[1. Optimizando las consultas para usar el cache de consulta
La mayoría de los servers MySQL tienen habilitado el chache para consultas. Y esto es uno de los métodos más efectivos para mejorar el rendimiento, y es utilizado por el servidor de manera interna, por lo tanto cuando se utiliza de manera repetida, puede resultar en [...]]]></description>
			<content:encoded><![CDATA[<p>1. Optimizando las consultas para usar el cache de consulta</p>
<div id="">La mayoría de los servers MySQL tienen habilitado el chache para consultas. Y esto es uno de los métodos más efectivos para mejorar el rendimiento, y es utilizado por el servidor de manera interna, por lo tanto cuando se utiliza de manera repetida, puede resultar en una mejora al realizar nuestras consultas.</div>
<div id="">El principal problema es que es invisible al programador, por lo tanto, se suele ignorar, cosa que no debe ser así, ya que podemos mejorar notablemente nuestras consultas a la base de datos.</div>
<div id="">Por ejemplo.</div>
<pre name="code" class="php">
    // el cache de la consulta no funciona
    $r = mysql_query("SELECT username FROM user WHERE signup_date &gt;= CURDATE()");
    // Lo recomendable es:
    $today = date("Y-m-d");
    $r = mysql_query("SELECT username FROM user WHERE signup_date &gt;= '$today'");
</pre>
<div id="">La razón por la que el servidor no utiliza el cache, es porque usamos la función CURDATE(). Esto también es válido para funciones como NOW(), RAND(), etc&#8230;, porque simplemente el resultado de la función puede cambiar, MySQL decide deshabilitar el cache. Agregando solo una línea de PHP, antes de la consulta podemos solucionarlo y de esa manera mejoraremos nuestras consultas.</div>
<div id="">&nbsp;<br/></div>
<div><span id="more-884"></span></div>
<div>2. Usando EXPLAIN para tus consultas SELECT</div>
<div id="">Si usamos la keyword EXPLAIN podemos mejorar la forma en que MySQL puede ejecutar nuestra consulta. Esto puede ayudarnos a detectar los cuellos de botella y otros problemas con las consultas y la estructura de la tabla.</div>
<div id="">El resultado de una consulta EXPLAIN nos mostrará de que forma la indexación se usa, cuando la tabla comienza a escanearse y ordenarse, etc&#8230;</div>
<div id="">Tomar una consulta SELECT (preferiblemente una compleja con algún join), y agregar la palabra reservada(keyword) EXPLAIN delante de él, lo cual puedes usar PHPmyAdmin. Esto le mostrará como resultado una agradable tabla.</div>
<div id="">&nbsp;<br/></div>
<div>3. Usar LIMIT 1 cuando solo obtenemos un solo resultado.</div>
<div id="">Algunas veces cuando consultas tus tablas, ya sabes que vas a buscar un solo resultado. Podrías ser que busques un único registro o verificar la existencia de un cierto número de registros que satisfacen la condición WHERE.</div>
<div id="">En tal caso, agregar “LIMIT 1” a tus consultas puede incrementar la performance. De esta forma, el servidor dejará de escanear tales registros luego de encontrar 1, en vez de recorrer toda la tabla o índices.</div>
<div id="">Por ejemplo:</div>
<pre name="code" class="php">
    // Lo que intuitivamente hacemos
    $r = mysql_query("SELECT * FROM user WHERE state = 'Formosa'");
    if (mysql_num_rows($r) &gt; 0) {
        // ...
    }
    // Lo que recomendable:
    $r = mysql_query("SELECT 1 FROM user WHERE state = ‘Formosa' LIMIT 1");
    if (mysql_num_rows($r) &gt; 0) {
        // ...
    }</pre>
<div id=""><br/>&nbsp;</div>
<div>4. Indexar los campos de búsqueda</div>
<div id="">Indexar no solo la clave primaria o claves únicas. O sea, si existe alguna columna en la tabla que la utilizará para alguna búsqueda también deberías indexarla.</div>
<div id="">Esta regla también es válida para un string parcial donde usamos like por ej. “nombre LIKE ‘a%’”. Cuando buscamos desde el inicio del string, MySQL es capaz de utilizar el índice en la columna.</div>
<div id="">También es importante que tengas presente en que casos no puedes usar la indexación. De hecho, cuando buscas por una palabra (ej. “WHERE contenido LIKE ‘%algo%’”), no verás un beneficio con respecto a una indexación normal. Sin embargo si usas todo el texto mysql buscará o construirá su propia solución de indexación.</div>
<div id=""><br/>&nbsp;</div>
<div>5. Indexar y usar el mismo tipo de columnas cuando hacemos JOINs.</div>
<div id="">Si tu aplicación contiene muchas consultas JOIN, necesitas asegurarte que la columna que vas a unir están indexadas en ambas tablas. Esto afecta como MySQL internamente optimiza la operación JOIN.</div>
<div id="">También, la columna que están unidas, necesitan ser del mismo tipo. De hecho, si unes una columna DECIMAL, a un columna INT desde otra tabla, MySQL habilitará para usar al menos una de los indexados. Aunque la codificación de los caracteres necesitan ser del mismo tipo para columnas tipo string.</div>
<pre name="code" class="php">
    // Buscando Empresas de un pais
    $r = mysql_query("SELECT company_name FROM users LEFT JOIN companies ON (users.state = companies.state) WHERE users.id = $user_id");
    //Ambas columnas de paices deberían indexarse
    //y ambos deberían tener el mismo tipo de codificación
    // o MySQL puede hacer una búsqueda total de la tabla.
</pre>
<div id=""><br/>&nbsp;</div>
<div>6. No usar ORDER BY RAND()</div>
<div id="">Esto es un de esos trucos que suenan lindo, y muchos programadores novatos caen en esta trampa. No sabes el terrible cuello de botella que puedes crear una vez que empiezas a usar esto en tus consultas.</div>
<div id="">Si necesitas filas al azar para tus resultados, hay otros buenas maneras de hacerlo. Por supuesto que se necesita de código adicional, pero hay garantía de que te evitaras un gran cuello de botella, a medida que tus datos crecen. El problema es que MySQL comenzará la operación RAND() (el cual necesita mas poder de procesamiento) por cada fila en la tabla antes de ordenarla y devolver solo 1 fila.</div>
<pre name="code" class="php">
    // Lo que hay que evitar hacer
    $r = mysql_query("SELECT nombre FROM usuario ORDER BY RAND() LIMIT 1");
    // Optimizado:
    $r = mysql_query("SELECT count(*) FROM usuario");
    $d = mysql_fetch_row($r);
    $rand = mt_rand(0,$d[0] - 1);
    $r = mysql_query("SELECT nombre FROM usuario LIMIT $rand, 1");
</pre>
<div id="">Entonces, tomas un número aleatorio menor que el número de resultados y usas lo usas en tu clausula LIMIT.</div>
<div>&nbsp;</div>
<div>7. Evitar usar SELECT *</div>
<div id="">La mayor parte de los datos lo lees desde la tabla, entonces tu consulta se hace lenta e incrementas el tiempo que toma en realizar la operación. Así, cuando el servidor de base de datos está separado del servidor web, tendrás mayor delay en realizar la transferencia entre ambos servidores.</div>
<div id="">Es un buen habito siempre especificar que columnas necesitas cuando haces un SELECT.</div>
<pre name="code" class="php">
    // Lo que hacemos intuitivamente
    $r = mysql_query("SELECT * FROM user WHERE user_id = 1");
    $d = mysql_fetch_assoc($r);
    echo "Welcome {$d['username']}";
    // Lo Recomendable:
    $r = mysql_query("SELECT username FROM user WHERE user_id = 1");
    $d = mysql_fetch_assoc($r);
    echo "Bienvenido {$d['username']}";
    // Las diferencias son mayores con un grupo más grande de resultados.
</pre>
<div>&nbsp;</div>
<div>8. Por lo menos debe haber un campo ID</div>
<div id="">En cada tabla hay una columna ID que es la PRIMARY KEY, AUTO_INCREMENT y generalmente INT. Asimismo preferentemente UNSIGNED, desde luego el valor no puede ser negativo.</div>
<div id="">Aún, si tienes una tabla de usuarios con un único campo de usuario, y esta no debe ser tu clave primaria, ya que los campos como VARCHAR, son muy lentos en las búsquedas y tendrás una mejor estructura en tu código referiendote a todos los usuarios con su id interno.</div>
<div id="">Existen también operaciones internas propias de MySQL, que usa internamente el campo de clave primaria. El cual es mas importante que configurar la base de datos.</div>
<div id="">Una posible excepción a la regla son las “tablas asociadas”, usadas por el tipo de asociación mucho-a-mucho entre 2 tablas. Por ejemplo una tabla “posts_tags” que contiene 2 columnas: post_id, tag_id el cual se usa para la relación entre las 2 tablas llamadas “post” y “tags”. Estas tablas pueden tener una PRIMARY_KEY que contiene ambos campos.</div>
<div>&nbsp;</div>
<div>9. Mejor ENUM que VARCHAR</div>
<div id="">Las columnas del tipo ENUM son más rápidas y compactas. Internamente son almacenados como TINYINT, sin embargo pueden contener y mostrar valores string. Esto es ideal para ciertos campos.</div>
<div id="">Si tienes un campo, que contendrá solo un subconjunto de valores, es conveniente usar ENUM antes que VARCHAR. Por ejemplo, si tienes una columna llamada “estado”, solo contendrá los valores, “activo”, “inactivo”, “pendiente”, etc…</div>
<div id="">Existe una forma de conseguir una “sugerencia” por parte del mismo MySQL en como estructurar tu tabla. Cuando tienes un campo VARCHAR, puede sugerirte cambiar el tipo de la columna a ENUM. Esto lo realizas usando la llamada PROCEDURE ANALYSE().</div>
<div>&nbsp;</div>
<div>10. Conseguir sugerencias con PROCEDURE ANALYSE()</div>
<div id="">PROCEDURE ANALYSE() le dirá a MySQL que analice la estructura de la columna y los datos actuales en tu tabla, lo cual lo hace con ciertas sugerencias para ti. Por supuesto, esto es útil si los datos de la tabla sean los actuales, porque tienen n rol fundamental en la decisión.</div>
<div id="">Por ejemplo, si creas un campo INT como clave primaria, pero sin embargo no tienes muchas filas, podrá sugerirte usar MEDIUMINT, o si estas usando un campo VARCHAR, podría sugerir convertirlo a ENUM, si solo hay valores únicos.</div>
<div id="">También puedes correr clickeando en “Proponer estructura de tabla” de phpMyAdmin, en la vista de tu tabla.</div>
<div id="">Ten presente que estas son solo sugerencias. Y si tu tabla va a crecer enormente, puede ser que no debas seguir estas sugerencias. La decisión es tuya, si es conveniente o no.</div>
<div><b>&nbsp;</b></div>
<div>11. De ser posible utilizar NOT NULL</div>
<div id="">Al menos que tengas una razón específica para usar valores NULL, deberías siempre configurar tus columnas como NOT NULL.</div>
<div id="">Ante todo, debes preguntarte si hay alguna diferencia entre tener un valor string vacío o un valor NULL (para campos INT:0 vs NULL). Si no hay razón para tener ambas, no necesitas tener un campo NULL. Sabías que Oracle considera NULL y un string vacío como lo mismo?</div>
<div id="">Las columnas NULL requieren espacio adicional y pueden agregar complejidad a tus sentencias de comparación. Solo los ayuda cuando tu puedes. Sin embargo, entiendo que algunas personas deberían tener una razón específica, para incluir valores Nulos, el cual no es siempre malo.</div>
<div id="">De la documentación de MySQL:</div>
<div id="">“Las columnas NULL requieren un espacio adicional en la fila del registro si sus valores son NULL. Para tablas MyISAM, cada columna toma un bit extra, que ronda cerca del byte.</div>
<div>&nbsp;</div>
<div>12. Preparando sentencias</div>
<div id="">Hay múltiples beneficios de usar sentencias preparadas, por razones de performance y seguridad.</div>
<div id="">Las Sentencias pre configuradas filtrará las variables que se unen a ellos por defecto, el cual es ideal para proteger tu aplicación contra ataques de inyección SQL. Puedes por supuesto filtrar tus variables manualmente, pero estos métodos son más propensos a errores humanos y olvido por parte del programador. Esto es al menos un problema menor cuando usas alguna clase de framework o ORM.</div>
<div id="">Dado que la atención se centra en el rendimiento, debería mencionar los beneficios en esta área, los cuales son mas significantes cuando la misma consulta comienza a usarse varias veces en la aplicación. Puedes asignar diferentes valores a la misma sentencia pre configurada, sin embargo MySQL solo tendrá que analizar una vez.</div>
<div id="">También en las últimas versiones de MySQL envía sentencias pre configuradas en forma binaria nativa, el cual es más eficiente y puede ayudar a reducir el delay de red.</div>
<div id="">Para usar sentencias pre configuradas en PHP puedes consultar la extensión mysqli o usar una base de datos con la capa de abstracción como la DOP.</div>
<pre name="code" class="php">
    // Crear la sentencia preparada
    if ($stmt = $mysqli-&gt;prepare("SELECT username FROM user WHERE state=?")) {
        // unir parametros
        $stmt-&gt;bind_param("s", $state);
        // ejecutar
        $stmt-&gt;execute();
        // unir a una variable de resultado
        $stmt-&gt;bind_result($username);
        // buscar valores
        $stmt-&gt;fetch();
        printf("%s is from %s\n", $username, $state);
        $stmt-&gt;close();
    }
</pre>
<div>&nbsp;</div>
<div>13. Consultas sin búfer</div>
<div id="">Normalmente cuando realizas una consulta desde un script, espera hasta que la ejecución finalice antes de continuar. Lo puedes cambiar usando consultas sin búfer.</div>
<div id="">Hayn una explicación extensa en la documentación de PHP para la función mysql_unbuffered_query():</div>
<div id="">“mysql_unbuffered_query() envia la consulta SQL a MySQL sin ir a buscar automáticamente y almacenar en búfer las filas resultantes como lo hace mysql_query(). Esto ahora una enorme cantidad de memoria con las consultas SQL que producen un gran número de resultados y puedes empezar a trabajar con los resultados inmediatamente luego de recuperar la primer fila ya que no tienes que esperar hasta que la consulta SQL se haya realizado.”</div>
<div id="">Sin embargo, esto tiene ciertas limitaciones. Tienes que leer todas las filas o llamar a mysql_free_result() antes de poder realizar otra consulta. Tampoco está permitido usar mysql_num_rows() o mysql_data_seek() en el conjunto de resultados.</div>
<div>&nbsp;</div>
<div>14. Almacenar Direcciones IP como UNSIGNED INT</div>
<div id="">Muchos programadores crean un campo VARCHAR(15) sin darse cuenta que pueden almacenar direcciones IP como un valor entero. Con un INT puedes reducir a solo 4 bytes de espacio, y tener un campo de tamaño fijo en su lugar.</div>
<div id="">Tienes que asegurarte que tu columna es un UNSIGNED INT, porque la dirección IP usa todo el rango de un entero sin signo de 32 bit.</div>
<div id="">En tus consultas puedes usar el INET_ATON() para convertir una IP a entero, y INET_NTOA() en sentido contrario. Hay funciones similares en PHP llamadas ip2long() y log2ip().</div>
<pre name="code" class="php">>$r = "UPDATE users SET ip = INET_ATON('{$_SERVER['REMOTE_ADDR']}') WHERE user_id = $user_id";</pre>
<div>&nbsp;</div>
<div>15. Tablas (estáticas) fijar la longitud son más rápidas</div>
<div id="">Cuando todas las columnas en una tabla son de “longitud-fija”, la tabla también es considerada “estática” o “long-fija”. Por ejemplo columnas que no son consideradas de longitud fija son: VARCHAR, TEXT, BLOB. Si incluyes solo 1 de estas columnas, la tabla deja de ser considerada de long-fija y tiene que ser tratada de forma diferente por el motor MySQL.</div>
<div id="">Las tablas de long-fija pueden mejorar su rendimiento porque el motor MySQL es más rápido al buscar a través de los registros. Cuando quiere leer una fila específica en la tabla, puede calcular rápidamente la posición. Si tiene una fila que no es de longitud fija, cada vez que hace una búsqueda, tiene que consultar el índice de la clave primaria.</div>
<div id="">También es más fácil para cachear y más fácil reconstruir luego de un accidente. Pero también pueden tener más espacio. Pero también, si conviertes un campo VARCHAR(20) a CHAR(20), tendrás siempre 20 bytes de espacio independientemente de que es lo que contenga.</div>
<div>&nbsp;</div>
<div>16. Particionado Vertical</div>
<div id="">Particionado vertical es el acto de dividir la estructura de la tabla en forma vertical por razones de optimización.</div>
<div id="">Ejemplo 01: Podrías tener una tabla de usuarios que contiene “dirección”, que no se lee muy a menudo. Puedes elegir dividir la tabla y almacenar la información de la dirección en una tabla separada. De esa forma, la tabla de usuarios principal disminuirá de tamaño. Como es sabido, las tablas pequeñas funcionan más rápidas.</div>
<div id="">Ejemplo 02: si tienes una campo “ultimo_login” en tu tabla. Se actualiza cada vez que un usuario se loguea en tu página web. Pero cada actualización en la tabla causa que la cache de la tabla se actualice. Puedes poner el campo en otra tabla para actualizar la tabla de usuarios a un mínimo.</div>
<div id="">Pero también es necesario para asegurarse de que no necesitas contantemente unir estas 2 tablas luego del particionado o podrías sufrir una reducción de rendimiento.</div>
<div>&nbsp;</div>
<div>17. Dividir grandes consultas DELETE o INSERT</div>
<div id="">Si necesitas realizar una gran consulta DELETE o INSERT en un sitio web, necesitas ser cuidados de no perturbar el tráfico de la web. Cuando una gran consulta como esa es realizada, puede bloquear tus tablas y parar la aplicación web.</div>
<div id="">Apache corre muchos hilos/procesos en paralelo. Por lo tanto trabaja más eficientemente cuando el script finaliza de ejecutarse tan pronto sea posible, para que los servidores no experimenten demasiadas conexiones y procesos abiertas a la vez que consumen recursos, especialmente memoria.</div>
<div id="">Si el bloqueo de tus tablas finaliza luego de un largo período de tiempo largo (como 30segundos o mas), en un sitio web de alto tráfico, puede causar un error, el cual puede tomas un período prolongado de tiempo para aclarar o aún peor, un accidente en tu sitio web.</div>
<div id="">Si tienes algún script de mantenimiento que necesita borrar un número grande de filas, solo use la cláusula LIMIT para hacerlo en lotes y así evitar una congestión.</div>
<pre name="code" class="php">
    while (1) {
        mysql_query("DELETE FROM logs WHERE log_date &lt;= '2009-10-01' LIMIT 10000");
        if (mysql_affected_rows() == 0) {
            // borrado listo
            break;
        }
        // incluso puede pausarlo un poco<
        usleep(50000);
    }
</pre>
<div>&nbsp;</div>
<div>18. Las columnas pequeñas son más rápidas</div>
<div id="">Con el motor de base de datos, el disco es tal vez el mayor cuello de botella. Conservar cosas pequeñas y mas compactas es usualmente una ayuda en términos de rendimiento para reducir la cantidad de transferencia.</div>
<div id="">La documentación de MySQL tiene una lista de requerimientos de almacenamiento para todos los tipos de datos.</div>
<div id="">Si se espera que una tabla tenga pocas filas, no hay razón para hacer una clave primaria como INT, en lugar de MEDIUMINT, SMALLINT o incluso en algunos casos TINYINT. Si no necesitas la variable tiempo, usar DATE en lugar de DATETIME.</div>
<div id="">Solo asegúrese de dejar espacio razonable para crecer o podría terminar como Slashdot.</div>
<div>&nbsp;</div>
<div>19. Elegir el motor correcto de almacenamiento</div>
<div id="">Los dos motores principales en MySQL son MyISAM e InnoDB. Cada uno tiene sus pros y su contra.</div>
<div id="">MyISAM es ideal para aplicaciones grandes lecturas, pero no es escalable cuando hay muchas escrituras. Incluso si acutalizas un campo de una fila, toda la tabla se bloquea, y ningún proceso puede leer de él hasta que la consulta finalice.</div>
<div id="">InnoDB tiende a hacer un motor de almacenamiento más complicado y puede ser más lenta que MyISAM desde la mayoría de las aplicaciones pequeñas. Pero soporta bloqueo de filas, el cual es mejor escalable. Soporta también algunas de las más avanzadas características tales como transacciones.</div>
<div>&nbsp;</div>
<div>20. Usar un Objeto Relacional Mapper</div>
<div id="">Al usar un ORM (Objeto Ralacional Mapper), puedes ganar ciertos beneficios en performance. Todo lo que un ORM puede hacer, puede ser codificado manualmente también. Pero esto puede significar más trabajo extra y un alto nivel de experiencia.</div>
<div id="">Los ORM son ideales para “Lectura lenta”. Esto es que puede recuperar valores solo cuando con necesarios. Pero hay que ser cuidadoso con ellos o puedes terminar creando demasiadas mini-consultas que pueden reducir el rendimiento.</div>
<div id="">Los ORM pueden lotear sus consultas en las transacciones, el cual opera mucho más rápido que enviar consultas individuales a la base de datos.</div>
<div>&nbsp;</div>
<div>21. Hay que ser cuidadoso con conexiones persistentes</div>
<div id="">Conexiones persistentes significa reducir la sobrecarga de recrear conexiones a MySQL. Cuando una conexión persistente es creada, esta permanecerá aún cuando el script termine de correr. Dado que Apache rehúsa sus procesos hijos, la próxima el proceso corre como un nuevo script, y rehusará la misma conexión MySQL.</div>
<div id="">mysql_pconnect() en PHP</div>
<div id="">Suena fantástico en teoría. Pero puedes llegar a tener serios problemas con limitar las conexiones, el uso de la memoria y así sucesivamente.</div>
<div id="">Apache corre en paralelo, y crea muchos procesos hijos. Esta es la principal razón que las conexiones persistentes no trabajan muy bien en este ambiente. Antes de considerar utilizar la función mysq_pconnect(), debes consultar con tu administrador de sistemas.</div>
<div>&nbsp;</div>
<div>Fuente: <a href="http://net.tutsplus.com/tutorials/other/top-20-mysql-best-practices/" target="_blank">NetTuts</a></div>
]]></content:encoded>
			<wfw:commentRss>http://todounblog.com.ar/tips-para-mysql-buenos-usos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clobby &#8211; Chat en grupo en FACEBOOK</title>
		<link>http://todounblog.com.ar/clobby-chat-en-grupo-en-facebook/</link>
		<comments>http://todounblog.com.ar/clobby-chat-en-grupo-en-facebook/#comments</comments>
		<pubDate>Mon, 03 May 2010 18:19:33 +0000</pubDate>
		<dc:creator>Ariel</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Herramientas]]></category>
		<category><![CDATA[chat]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[online]]></category>

		<guid isPermaLink="false">http://todounblog.com.ar/?p=880</guid>
		<description><![CDATA[
Clobby, llego para cubrir ese vacío que tiene Facebook, a la hora de la interacción en tiempo real, el chat!; ¿Por qué? En primer lugar, el sistema interno de chat en Facebook suele ser muy inestable. Estoy seguro de que a muchos les ha pasado que con una cuenta en Facebook habrán visto (más de [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" src="http://todounblog.com.ar/imgblog/clobby.jpg" alt="Clobby - Chat en grupo en Facebook" title="Clobby   Chat en grupo en FACEBOOK" /></p>
<div>Clobby, llego para cubrir ese vacío que tiene Facebook, a la hora de la interacción en tiempo real, el chat!; ¿Por qué? En primer lugar, el sistema interno de chat en Facebook suele ser muy inestable. Estoy seguro de que a muchos les ha pasado que con una cuenta en Facebook habrán visto (más de una vez) el odioso triángulo amarillo, indicando que el chat no está disponible. Pero hay algo aún peor: Si encuentras a varios contactos en línea y deseas iniciar un canal de chat único con todos ellos a la vez, no puedes. Facebook no tiene una utilidad por defecto o una aplicación propia que te permita hacer esto.</div>
<div id="_mcePaste">Esta aplicación que fue lanzada hace poco te permite chatear “masivamente” desde su página en Facebook.</div>
<div><span id="more-880"></span></div>
<div id="_mcePaste">Es una idea que surgió para involucrar a la comunidad de Facebook en torno a un tema, a un evento, a algun contenido en común, ya que interactuan en tiempo real sin importar donde se encuentren.</div>
<div id="_mcePaste">En lo que se refiere a su interfaz, no hay nada que no hayamos visto en otros sistemas de chat. El diseño es simple, con la lista de contactos a la derecha, y la ventana de chat a la izquierda. Con posar el cursor sobre uno de los contactos podrás ver más detalles sobre su perfil, aunque todavía no estamos seguros de qué tanto se alineará Clobby con los parámetros de privacidad que pueda especificar un contacto, un tema especialmente sensible en estos últimos meses dentro de Facebook.</div>
<div>El sistema de chat puede ser agregado a una &#8220;fan page&#8221; o directamente a un perfil como una pestaña adicional. Sin embargo, si primero deseas participar de una demostración y te sientes lo suficientemente seguro como para agregarlo, Clobby te permite hacerlo a través de su <a href="http://www.clobby.com/setup" target="_blank">página oficial</a>. La aplicación es muy reciente, y todavía tiene algunos puntos para ajustar.</div>
<div id="_mcePaste">Clobby se presenta, al menos de momento, como una excelente alternativa. No solo expande la funcionalidad de Facebook como red social, sino que también evita la necesidad de tener dos o tres protocolos de comunicación activos sólo para tener una charla en tiempo real.</div>
<div id="_mcePaste">En fin, puedes visitar la pagina oficial y probarlo</div>
<p><a href="http://www.clobby.com/setup" target="_blank">Link Página Oficial</a></p>
<p><a href="http://www.facebook.com/group.chat" target="_blank">Link Aplicación Facebook</a></p>
]]></content:encoded>
			<wfw:commentRss>http://todounblog.com.ar/clobby-chat-en-grupo-en-facebook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Top 10 File Hosting para Webmasters</title>
		<link>http://todounblog.com.ar/top-10-file-hosting-para-webmasters/</link>
		<comments>http://todounblog.com.ar/top-10-file-hosting-para-webmasters/#comments</comments>
		<pubDate>Sat, 01 May 2010 13:06:46 +0000</pubDate>
		<dc:creator>Ariel</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Herramientas]]></category>
		<category><![CDATA[fileHosting]]></category>
		<category><![CDATA[online]]></category>

		<guid isPermaLink="false">http://todounblog.com.ar/?p=876</guid>
		<description><![CDATA[Ya todos conocemos rapidshare como medio para alojar nuestros archivos, pero existen otras alternativas, por eso me he decidido a publicar entre cuales puedes optar para subir tus archivos.



Logo
PR
Alexa
Espacio
URL



5
88
2GB
Visitar



7
72,973
1GB
Visitar



6
741
5GB
Visitar



6
110
1GB
Visitar



6
93
12GB
Visitar



6
136
Unlimited
Visitar



6
15
50GB
Visitar



5
3,746
1GB
Visitar



5
314
300MB
Visitar



5
8,173
25GB
Vistar



Referencias:

PR = PageRank
Alexa = Ranking de Alexa

]]></description>
			<content:encoded><![CDATA[<p>Ya todos conocemos <a href="http://rapidshare.com/" target="_blank">rapidshare</a> como medio para alojar nuestros archivos, pero existen otras alternativas, por eso me he decidido a publicar entre cuales puedes optar para subir tus archivos.</p>
<table border="0">
<tbody>
<tr>
<th>Logo</th>
<th width="50" align="center">PR</th>
<th align="center">Alexa</th>
<th width="100" align="center">Espacio</th>
<th>URL</th>
</tr>
<tr>
<td><a href="http://hotfile.com/" target="_blank"><img src="http://www.todounblog.com.ar/imgblog/fileHosting/hotFile.png" alt="1.png" title="Top 10 File Hosting para Webmasters" /></a></td>
<td align="center">5</td>
<td align="center">88</td>
<td align="center">2GB</td>
<td style="text-align: center;"><a href="http://hotfile.com/" target="_blank">Visitar</a></td>
</tr>
<tr>
<td><a title="DropSend" href="http://www.dropsend.com/" target="_blank"><img src="http://www.todounblog.com.ar/imgblog/fileHosting/dropSend.png" alt="1.png" title="Top 10 File Hosting para Webmasters" /></a></td>
<td align="center">7</td>
<td align="center">72,973</td>
<td align="center">1GB</td>
<td style="text-align: center;"><a href="http://www.dropsend.com/" target="_blank">Visitar</a></td>
</tr>
<tr>
<td><a title="DivShare Free File Hosting" href="http://upload.divshare.com/" target="_blank"><img src="http://www.todounblog.com.ar/imgblog/fileHosting/divShare.png" alt="1.png" title="Top 10 File Hosting para Webmasters" /></a></td>
<td align="center">6</td>
<td align="center">741</td>
<td align="center">5GB</td>
<td style="text-align: center;"><a href="http://upload.divshare.com/" target="_blank">Visitar</a></td>
</tr>
<tr>
<td><a title="4Shared" href="http://www.4shared.com/" target="_blank"><img src="http://www.todounblog.com.ar/imgblog/fileHosting/4Share.png" alt="1.png" title="Top 10 File Hosting para Webmasters" /></a></td>
<td align="center">6</td>
<td align="center">110</td>
<td align="center">1GB</td>
<td style="text-align: center;"><a href="http://www.4shared.com/" target="_blank">Visitar</a></td>
</tr>
<tr>
<td><a title="Badongo" href="http://www.badongo.com/" target="_blank"><img src="http://www.todounblog.com.ar/imgblog/fileHosting/badongo.png" alt="1.png" title="Top 10 File Hosting para Webmasters" /></a></td>
<td align="center">6</td>
<td align="center">93</td>
<td align="center">12GB</td>
<td style="text-align: center;"><a href="http://www.badongo.com/" target="_blank">Visitar</a></td>
</tr>
<tr>
<td><a title="MediaFire" href="http://www.mediafire.com/" target="_blank"><img src="http://www.todounblog.com.ar/imgblog/fileHosting/mediaFire.png" alt="1.png" title="Top 10 File Hosting para Webmasters" /></a></td>
<td align="center">6</td>
<td align="center">136</td>
<td align="center">Unlimited</td>
<td style="text-align: center;"><a href="http://www.mediafire.com/" target="_blank">Visitar</a></td>
</tr>
<tr>
<td><a title="MegaUpload" href="http://www.megaupload.com/" target="_blank"><img src="http://www.todounblog.com.ar/imgblog/fileHosting/megaupload.png" alt="1.png" title="Top 10 File Hosting para Webmasters" /></a></td>
<td align="center">6</td>
<td align="center">15</td>
<td align="center">50GB</td>
<td style="text-align: center;"><a href="http://www.megaupload.com/" target="_blank">Visitar</a></td>
</tr>
<tr>
<td><a title="FileDen" href="http://www.fileden.com/" target="_blank"><img src="http://www.todounblog.com.ar/imgblog/fileHosting/fileDen.png" alt="1.png" title="Top 10 File Hosting para Webmasters" /></a></td>
<td align="center">5</td>
<td align="center">3,746</td>
<td align="center">1GB</td>
<td style="text-align: center;"><a href="http://www.fileden.com/" target="_blank">Visitar</a></td>
</tr>
<tr>
<td><a title="FileFactory" href="http://www.filefactory.com/" target="_blank"><img src="http://www.todounblog.com.ar/imgblog/fileHosting/fileFactory.png" alt="1.png" title="Top 10 File Hosting para Webmasters" /></a></td>
<td align="center">5</td>
<td align="center">314</td>
<td align="center">300MB</td>
<td style="text-align: center;"><a href="http://www.filefactory.com/" target="_blank">Visitar</a></td>
</tr>
<tr>
<td><a title="MediaMax" href="http://www.mediamax.com/" target="_blank"><img src="http://www.todounblog.com.ar/imgblog/fileHosting/mediaMax.png" alt="1.png" title="Top 10 File Hosting para Webmasters" /></a></td>
<td align="center">5</td>
<td align="center">8,173</td>
<td align="center">25GB</td>
<td style="text-align: center;"><a href="http://www.mediamax.com/" target="_blank">Vistar</a></td>
</tr>
</tbody>
</table>
<p><em><strong>Referencias</strong></em>:</p>
<ul>
<li>PR = PageRank</li>
<li>Alexa = Ranking de Alexa</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://todounblog.com.ar/top-10-file-hosting-para-webmasters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FLISOL 2010 en Formosa</title>
		<link>http://todounblog.com.ar/flisol-2010-en-formosa/</link>
		<comments>http://todounblog.com.ar/flisol-2010-en-formosa/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 10:41:23 +0000</pubDate>
		<dc:creator>Ariel</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[flisol]]></category>

		<guid isPermaLink="false">http://todounblog.com.ar/?p=870</guid>
		<description><![CDATA[Como ya es costumbre desde el año 2005, el sábado 24 de abril se realizará el Festival Latinoamericano de Instalación de Software Libre más conocido por sus siglas FLISOL (Festival Latinoamericano de Instalación de Software Libre).
Asi que si quieres asistir a este evento, lo puedes hacer es este sábado 24 de abril en:

Colegio Secundario Don [...]]]></description>
			<content:encoded><![CDATA[<p>Como ya es costumbre desde el año 2005, el sábado 24 de abril se realizará el Festival Latinoamericano de Instalación de Software Libre más conocido por sus siglas FLISOL (Festival Latinoamericano de Instalación de Software Libre).</p>
<p>Asi que si quieres asistir a este evento, lo puedes hacer es este sábado 24 de abril en:</p>
<ul>
<li>Colegio Secundario Don Bosco &#8211; Sarmiento 1088</li>
<li>de 09:00 a 18:00 hs.</li>
</ul>
<p><em>¿En qué consiste este evento?</em></p>
<p>En FLISOL se pueden asistir a charlas y talleres sobre el software libre, además puedes llevar tu computadora para que te instalen Linux y otros programas.</p>
<p><span id="more-870"></span></p>
<p>Cronograma:</p>
<p>08.00 Acreditaciones – 08:00 hs.</p>
<p>09.00 Bienvenida</p>
<p>09.15 ¿Qué es el Software Libre? Presentación del Vídeo de Richard Stallman</p>
<p>09.35 Taller Instalación GNU/Linux</p>
<p>10.30 Software Libre ayudando al Discapacitado</p>
<p>11.00 Cambiando la interacción con el usuario &#8211; formosa.gob.ar &#8211; (UPSTI &#8211; Gobierno de la Provincia de Formosa)</p>
<p>break</p>
<p>14.00 Bienvenida 2da parte</p>
<p>14.15 <a href="http://www.installfest.info/InstallFest">InstallFest</a></p>
<p>17.30 Plan de negocio con Software Libre</p>
<p>18.00 Fin del Evento</p>
<p>Mas info: <a href="http://www.installfest.info/FLISOL2010/Argentina/Formosa" target="_blank">Flisol en Formosa</a></p>
<p>Los organizadores: <a href="http://www.forsol.org.ar/" target="_blank">ForSol</a></p>
]]></content:encoded>
			<wfw:commentRss>http://todounblog.com.ar/flisol-2010-en-formosa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Parate del blog</title>
		<link>http://todounblog.com.ar/parate-del-blog/</link>
		<comments>http://todounblog.com.ar/parate-del-blog/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 20:07:38 +0000</pubDate>
		<dc:creator>Ariel</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://todounblog.com.ar/?p=865</guid>
		<description><![CDATA[Por el momento el blog no tendra actualización, es que tengo que migrar en busca de trabajo.
Nunca pensé que llegaría este día, pero bueno, la vida continua, y sin trabajo se hace mas dura.
Los saludos y agradezco a todos aquellos que alguna vez visitaron mi blog.
]]></description>
			<content:encoded><![CDATA[<p>Por el momento el blog no tendra actualización, es que tengo que migrar en busca de trabajo.</p>
<p>Nunca pensé que llegaría este día, pero bueno, la vida continua, y sin trabajo se hace mas dura.</p>
<p>Los saludos y agradezco a todos aquellos que alguna vez visitaron mi blog.</p>
]]></content:encoded>
			<wfw:commentRss>http://todounblog.com.ar/parate-del-blog/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Python: Crear Instaladores usando PyInstaller</title>
		<link>http://todounblog.com.ar/python-crear-instaladores-usando-pyinstaller/</link>
		<comments>http://todounblog.com.ar/python-crear-instaladores-usando-pyinstaller/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 20:00:24 +0000</pubDate>
		<dc:creator>Ariel</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[instaladores]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://todounblog.com.ar/?p=822</guid>
		<description><![CDATA[Aca incluyo un video que encontré en Youtube, de lo sensillo que puede ser crear Instaladores de codigo Python, usando PyInstaller, para que la aplicación corra bajo Windows.
Como está en inglés los pasos a seguir, incluyo la traducción, por si alguno le es mas fácil leer en español.

Crear ejecutables con codigo Python usando PyInstaller
0) Escribir [...]]]></description>
			<content:encoded><![CDATA[<p>Aca incluyo un video que encontré en Youtube, de lo sensillo que puede ser crear Instaladores de codigo Python, usando PyInstaller, para que la aplicación corra bajo Windows.</p>
<p>Como está en inglés los pasos a seguir, incluyo la traducción, por si alguno le es mas fácil leer en español.</p>
<blockquote>
<div id="_mcePaste">Crear ejecutables con codigo Python usando <a href="http://www.pyinstaller.org/" target="_blank">PyInstaller</a></div>
<div id="_mcePaste">0) Escribir el codigo que queremos compilar</div>
<div id="_mcePaste">1) Descargar PyInstaller (preferentemente la version SVN) e incluirlo en el path</div>
<div id="_mcePaste">En los pasos siguientes, se asume que ya está hecho.</div>
<div id="_mcePaste">2) Ejecutar Configure.py</div>
<div id="_mcePaste">3) Ejecutar Makespec.py &#8211;onefile &lt;tu-cogigo.py&gt;</div>
<div id="_mcePaste">-w es el parametro para que no muestre la consola.</div>
<div id="_mcePaste">4) Ejecutar build.py (tu ejecutable se colocará en la carpeta &#8220;dist&#8221;)</div>
<div id="_mcePaste">5) Leer la <a href="http://www.pyinstaller.org/export/latest/trunk/doc/Manual.html?format=raw" target="_blank">documentación</a> de PyInstaller</div>
<div id="_mcePaste">Puedes cambiar el ícono, y reducir que librerias incluir.</div>
<div id="_mcePaste">PyQt4 tiene una gran documentacion que se puede reducir.</div>
</blockquote>
<p style="text-align: center;"><span id="more-822"></span><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/E4FGR_tSnTo&amp;hl=es_ES&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/E4FGR_tSnTo&amp;hl=es_ES&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p style="text-align: left;">Descargar | <a href="http://www.pyinstaller.org/" target="_blank">PyInstaller</a></p>
<p style="text-align: left;">Descargar | <a href="http://www.pyinstaller.org/export/latest/trunk/doc/Manual.html?format=raw" target="_blank">Manual</a></p>
]]></content:encoded>
			<wfw:commentRss>http://todounblog.com.ar/python-crear-instaladores-usando-pyinstaller/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plugin Firefox: Hyperwords (comandos extras de busqueda de un texto)</title>
		<link>http://todounblog.com.ar/plugin-firefox-hyperwords-comandos-extras-de-busqueda-de-un-texto/</link>
		<comments>http://todounblog.com.ar/plugin-firefox-hyperwords-comandos-extras-de-busqueda-de-un-texto/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 14:55:46 +0000</pubDate>
		<dc:creator>Ariel</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Herramientas]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://todounblog.com.ar/?p=820</guid>
		<description><![CDATA[Hyperword es un plugin para firefox con el cual puedes seleccionar una palabra en cualquier página web y elegir entre los comandos que tiene en su menú contextual, la cual incluye:

Referencia
Buscar
Traducción
Conversión
Email
Twitter
Facebook
Tag
Blog
y algunas opciones más.

Te dejo un video demo para ver su potencial

 
Descarga &#124; Hyperwords
WebSite &#124; Hyperwords
]]></description>
			<content:encoded><![CDATA[<p>Hyperword es un plugin para firefox con el cual puedes seleccionar una palabra en cualquier página web y elegir entre los comandos que tiene en su menú contextual, la cual incluye:</p>
<ul>
<li>Referencia</li>
<li>Buscar</li>
<li>Traducción</li>
<li>Conversión</li>
<li>Email</li>
<li>Twitter</li>
<li>Facebook</li>
<li>Tag</li>
<li>Blog</li>
<li>y algunas opciones más.</li>
</ul>
<p>Te dejo un video demo para ver su potencial</p>
<p style="text-align: center;">
<span id="more-820"></span> <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="470" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/FDnm-4-vLOM&amp;hl=es_ES&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="470" height="340" src="http://www.youtube.com/v/FDnm-4-vLOM&amp;hl=es_ES&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p style="text-align: left;">Descarga | <a href="https://addons.mozilla.org/es-ES/firefox/addon/1941" target="_blank">Hyperwords</a></p>
<p>WebSite | <a href="http://www.hyperwords.net" target="_blank">Hyperwords</a></p>
]]></content:encoded>
			<wfw:commentRss>http://todounblog.com.ar/plugin-firefox-hyperwords-comandos-extras-de-busqueda-de-un-texto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Musica Online: Radiotuna &#8211; Buscador de radios online</title>
		<link>http://todounblog.com.ar/musica-online-radiotuna-buscador-radios-online/</link>
		<comments>http://todounblog.com.ar/musica-online-radiotuna-buscador-radios-online/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 12:00:24 +0000</pubDate>
		<dc:creator>Ariel</dc:creator>
				<category><![CDATA[Audio y Video]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Noticias]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[radios]]></category>

		<guid isPermaLink="false">http://todounblog.com.ar/?p=790</guid>
		<description><![CDATA[

Radiotuna es un buscador de estaciones de radio online transmitiendo en vivo completamente gratis. RadioTuna es uno de los primeros buscadores en tiempo real para estaciones de radio online que te muestra lo que están tocando en ese momento, a demás puedes buscar por artista en especifico solo lo introduces en la caja de busqueda [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img src="http://todounblog.com.ar/imgblog/radiotuna.png" alt="Radiotuna" title="Musica Online: Radiotuna   Buscador de radios online" /></p>
<p style="text-align: left;">
<a href="http://radiotuna.com/" target="_blank">Radiotuna</a> es un buscador de <strong>estaciones de radio online</strong> transmitiendo en vivo completamente gratis. RadioTuna es uno de los primeros buscadores en tiempo real para <strong>estaciones de radio</strong> online que te muestra lo que están tocando en ese momento, a demás puedes buscar por artista en especifico solo lo introduces en la caja de busqueda de RadioTuna y el sitio buscará entre las canciones que esten transmiendo actualmente las estaciones de radio que tiene indexado el sitio.</p>
<p>WebSite  | <a href="http://radiotuna.com/" target="_blank">Radiotuna</a></p>
]]></content:encoded>
			<wfw:commentRss>http://todounblog.com.ar/musica-online-radiotuna-buscador-radios-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
