<?xml version="1.0" encoding="iso-8859-1" ?>
<rss version="0.92">
<channel>
	<docs>http://backend.userland.com/rss092</docs>
	<title>PenguinPower</title>
	<link>http://www.penguinpower.com.ar/foro/</link>
	<description>La comunidad con Buena Onda</description>
	<managingEditor>kaos_Engine@penguinpower.com.ar</managingEditor>
	<webMaster>kaos_Engine@penguinpower.com.ar</webMaster>
	<lastBuildDate>Mon, 21 May 2012 00:10:04 GMT</lastBuildDate>
<item>
	<title>Juegos :: OpenArena</title>
	<link>http://www.penguinpower.com.ar/foro/viewtopic.php?p=30194#30194</link>
	<description>Autor: &lt;a href=&quot;http://www.penguinpower.com.ar/foro/profile.php?mode=viewprofile&amp;u=443&quot; target=&quot;_blank&quot;&gt;Neon_Knight&lt;/a&gt;&lt;br /&gt;
Titulo: OpenArena&lt;br /&gt;
Publicado: Tue Feb 28, 2012 7:33 pm (GMT -3)&lt;br /&gt;
&lt;br /&gt;
&lt;span class="postbody"&gt;Creo que muchos gamers linuxeros que se precien de tal oyeron/leyeron de este juego alguna vez, pero como siempre existen excepciones, acá va una explicación. &lt;img src=&quot;http://www.penguinpower.com.ar/foro/images/smiles/OOP.png&quot; alt=&quot;Razz&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;Cita:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;quote&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;¿Qué es OpenArena?&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
OpenArena es un juego de la rama de los First-Person Shooters (juego de disparo en primera persona) &lt;span style=&quot;font-weight: bold&quot;&gt;gratis&lt;/span&gt; y &lt;span style=&quot;font-weight: bold&quot;&gt;open-source&lt;/span&gt;, es decir, el juego puede descargarse gratuita y legalmente de la web, y su código está abierto para que todo el mundo pueda modificarlo. Está basado en el motor gráfico &lt;span style=&quot;font-weight: bold&quot;&gt;Id Tech 3&lt;/span&gt;, el mismo que ostentaron juegos como &lt;span style=&quot;font-weight: bold&quot;&gt;Quake III: Arena&lt;/span&gt; y &lt;span style=&quot;font-weight: bold&quot;&gt;Return To Castle Wolfenstein&lt;/span&gt;, y que fue liberado en 2005 bajo la licencia &lt;span style=&quot;font-weight: bold&quot;&gt;GPL&lt;/span&gt;. El juego, por su parte, se distribuye libremente bajo la licencia &lt;span style=&quot;font-weight: bold&quot;&gt;GPL2&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;Un poco de historia...&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
En el año 1999, &lt;span style=&quot;font-weight: bold&quot;&gt;Id Software&lt;/span&gt; lanzó al mercado &lt;span style=&quot;font-weight: bold&quot;&gt;Quake III: Arena&lt;/span&gt;, uno de los dos juegos (el otro fue &lt;span style=&quot;font-weight: bold&quot;&gt;Unreal Tournament&lt;/span&gt;, de la empresa Epic Games) que revolucionaron el campo de los First Person Shooters, prescindiendo del famoso Modo Aventura de los shooters de aquel entonces y enfocándose en el frenetismo de las partidas multijugador. En Diciembre del año 2000, la companía lanza el pack de expansión &lt;span style=&quot;font-weight: bold&quot;&gt;Quake III: Team Arena&lt;/span&gt;, el cual ampliaba las modalidades y características del juego, además de incorporar nuevo contenido, más enfocado en el juego por equipos. El motor gráfico del juego, &lt;span style=&quot;font-weight: bold&quot;&gt;Id Tech 3&lt;/span&gt;, fue liberado el 19 de Agosto de 2005, bajo licencia GPL. Sin embargo, &lt;span style=&quot;text-decoration: underline&quot;&gt;el contenido del juego&lt;/span&gt; (mapas, modelos, texturas, sonidos...) &lt;span style=&quot;text-decoration: underline&quot;&gt;no corrió la misma suerte&lt;/span&gt;. &lt;span style=&quot;font-weight: bold&quot;&gt;OpenArena&lt;/span&gt; resuelve este problema, ya que todo su contenido es abierto y totalmente diferente al del juego original. Otra de las ideas originales es el soporte para los mapas, mods (modificaciones) y conversiones totales. Así es que por ejemplo, conversiones creadas para Quake III: Arena como &lt;span style=&quot;font-weight: bold&quot;&gt;Urban Terror y Bid for Power&lt;/span&gt;, pueden correr bajo OpenArena sin problemas.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;Contenido del juego&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
OpenArena, hasta este momento, (la versión 0.8.8) posee 58 mapas (28 mapas CTF y 30 mapas DM) y 12 modos de juego: &lt;span style=&quot;font-weight: bold&quot;&gt;Deathmatch, Team Deathmatch, Capture The Flag, Tourney, One Flag CTF, Harvester, Overload, Elimination, CTF Elimination, Last Man Standing, Double Domination y Domination&lt;/span&gt;. Los primeros 4 modos de juego también aparecen en &lt;span style=&quot;font-weight: bold&quot;&gt;Quake III: Arena&lt;/span&gt;, mientras que los últimos 5 son adiciones nuevas y los 3 modos restantes vienen del Missionpack &lt;span style=&quot;font-weight: bold&quot;&gt;Quake III: Team Arena&lt;/span&gt;. También se incorporó (a partir de la v0.8.0) el lanzamiento inicial del missionpack para reemplazar a la expansión &lt;span style=&quot;font-weight: bold&quot;&gt;Q3: Team Arena&lt;/span&gt;, el cual trae varias novedades.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;Modos de juego&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
OpenArena contiene actualmente 8 modos de juego, cada uno con sus propias reglas:
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;- Deathmatch:&lt;/span&gt; También llamado &lt;span style=&quot;font-weight: bold&quot;&gt;&amp;quot;Combate mortal&amp;quot;&lt;/span&gt;, se trata simplemente de eliminar a todos los jugadores de la partida la mayor cantidad de veces posible. El que más frags (cantidad de muertes - suicidios) obtenga al terminar el tiempo, o el que llegue primero al límite de frags, será el ganador.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;- Tourney: Torneo.&lt;/span&gt; En esta modalidad se enfrentan dos jugadores, en un duelo al estilo Deathmatch. El ganador permanece en el mapa, mientras que el perdedor pasa a espectar, entrando otro jugador en su lugar.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;- Team Deathmatch: Combate mortal por equipos.&lt;/span&gt; Lo mismo que Deathmatch, pero con equipos.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;- Capture The Flag: Capturar La Bandera.&lt;/span&gt; En este modo hay dos equipos, cada uno con su propia base, y una bandera en su interior. Los equipos deben tomar la bandera enemiga, volver a su base, y tocar la suya mientras está en la base, para anotar. El equipo que llegue al límite de banderas capturadas, o el que más banderas capturadas tenga al finalizar la partida, es el ganador.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;- One Flag CTF: CLB de una bandera.&lt;/span&gt; Al igual que en CTF hay dos equipos y dos banderas, sin embargo se agrega una tercera bandera, blanca, la cual hay que llevar a la base enemiga para anotar una captura. Nuevamente, el equipo que más capturas tenga al finalizar el tiempo o el que llegue al límite de capturas, gana la partida.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;- Overload: Sobrecarga.&lt;/span&gt; En este modo de dos equipos, cada uno tiene base y una gran calavera en su interior. La idea es bombardear la calavera hasta destruirla, luego de lo cual la partida vuelve a empezar. El equipo que destroce la calavera la mayor cantidad de veces al fin del tiempo, o llegue al límite, se declara ganador.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;- Harvester: Recolector.&lt;/span&gt; En este modo hay dos equipos, cada uno con base y obelisco propio, más un tercer obelisco situado en el centro del mapa. Cuando matamos a algún oponente, en el obelisco central caerá una calavera, la cual debemos tomar para llevar a la base enemiga (podemos llevar más de una calavera) y anotar la cantidad de puntos equivalente a las calaveras que dejemos en la base enemiga. El equipo que más calaveras consiga al finalizar el tiempo o que llegue al límite de calaveras, gana la partida.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;- Elimination: Eliminación.&lt;/span&gt; Se trata de un Team Deathmatch basado en rondas. El equipo debe eliminar a todos los miembros del equipo contrario para anotar. Los jugadores eliminados pasan a ser espectadores. Por cada ronda, el equipo ganador obtiene un punto. El equipo que más puntos tenga al finalizar las rondas gana la partida.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;- CTF Elimination: Eliminación CTF.&lt;/span&gt; Aquí, al igual que en Elimination, el equipo debe eliminar a todos los miembros del equipo contrario, y los jugadores eliminados pasan a ser espectadores. Pero también gana puntos por capturar las banderas. Por cada una de estas acciones, el equipo ganador obtiene un punto. El equipo que reúna más puntos al finalizar las rondas, se proclama vencedor.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;- Last Man Standing: Ultimo Hombre En Pie.&lt;/span&gt; Es una modalidad del estilo Deathmatch, pero en la que todos los jugadores tienen una vida, y al ser eliminados pasan a ser espectadores. El último que resguarde su vida, se anota un punto. El jugador que reúna más puntos al terminar las rondas, es el vencedor.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;- Double Domination: Dominación Doble.&lt;/span&gt; Esta es una modalidad por equipos que viene de Unreal Tournament 2004. En ella, los mapas poseen dos puntos de control, A y B, que reemplazan a las banderas de CTF. El objetivo es tomar los dos puntos de control y mantenerlos durante 10 segundos, (pueden ser tomados por el equipo contrario) tras lo cual el equipo que los mantuvo se anota un punto. El equipo que posea más puntos  al terminar el tiempo o llegue al límite de puntos se proclama vencedor.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;- Domination: Dominación.&lt;/span&gt; Modo por equipos, traído de Unreal Tournament, en el cual ambos equipos tratarán de mantener los puntos para ir sumando unidades. Si el mapa tiene tres puntos tomados, cada 5 segundos se le otorgará una unidad, con dos se le otorgará una unidad cada 10 segundos y con uno cada 15.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;Requerimientos del juego&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;- Video:&lt;/span&gt; OpenArena requiere hardware con soporte y aceleración OpenGL. No requiere DirectX. La línea mínima para tarjetas de video para correr el juego arranca desde la placa 3DFX Voodoo2 8MB.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;- Sistema Operativo:&lt;/span&gt; Puede correr en Linux, todos los Windows de 32 bits, (desde Win95 hasta Win Vista) y Mac OS X. Algunas distribuciones de Linux traen OpenArena incluído.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;- CPU y memoria:&lt;/span&gt; Cualquier procesador arrancando desde un Pentium de 90 MHz con 32 MB de RAM puede correrlo, aunque se recomienda un procesador Pentium II de 233 MHz con, al menos, 96 MB de RAM, debido al alto nivel de detalle de &lt;span style=&quot;font-weight: bold&quot;&gt;OpenArena&lt;/span&gt; en comparación a &lt;span style=&quot;font-weight: bold&quot;&gt;Quake III: Arena&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;Contenido adulto&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
OpenArena contiene material adulto, como ser grandes cantidades de gore, (sangre y restos) pululando por los niveles, y algunos personajes rozando el desnudo (pero no completamente desnudos) como Angelyss/Dark. &lt;span style=&quot;text-decoration: underline&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;El juego no está orientado a menores de 18 años.&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;Conclusión&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Si te gustan los First Person Shooters de la onda Quake/Unreal, sin importar lo sangrientos que sean o el estilo que abarquen/usen, entonces OpenArena puede ser una buena adición a tu colección. Si no sos fanático, pero te estás adentrando en el género, entonces podés darle una probada.&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;
&lt;br /&gt;

&lt;br /&gt;
Les cuento que soy dev de este juego. &lt;img src=&quot;http://www.penguinpower.com.ar/foro/images/smiles/OOP.png&quot; alt=&quot;Razz&quot; border=&quot;0&quot; /&gt; Más precisamente mapper, los mapas que comienzan con am_ son míos. &lt;img src=&quot;http://www.penguinpower.com.ar/foro/images/smiles/OOP.png&quot; alt=&quot;Razz&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
Ah, y el motivo de este post es que hace poco salió la versión 0.8.8. La pueden descargar desde estos lugares. Los binarios para las tres versiones están incluídos en el mismo pack:
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.moddb.com/games/openarena/downloads/openarena-088-full-version&quot; target=&quot;_blank&quot;&gt;http://www.moddb.com/games/openarena/downloads/openarena-088-full-version&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
Changelog de esta versión:
&lt;br /&gt;

&lt;br /&gt;
&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;Cita:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;quote&quot;&gt;- Binarios para Macintosh.
&lt;br /&gt;
- La campaña SP ha sido redistribuida.
&lt;br /&gt;
- Nuevos mapas:
&lt;br /&gt;
      am_lavaarena
&lt;br /&gt;
      am_lavactf
&lt;br /&gt;
      am_lavactfxl
&lt;br /&gt;
      am_mckinleyish2
&lt;br /&gt;
      am_spacecont
&lt;br /&gt;
      am_thornish
&lt;br /&gt;
      mlca1
&lt;br /&gt;
      mlctf1beta
&lt;br /&gt;
      oa_bases3p3ta
&lt;br /&gt;
      oasago1
&lt;br /&gt;
      oa_thor
&lt;br /&gt;
      pul1duel-oa
&lt;br /&gt;
      pxlfan
&lt;br /&gt;
- Nuevo modelo de jugador: Neko.   
&lt;br /&gt;
- Se han añadido mapas especulares a los modelos de jugador y armas. Se desactivan junto con las texturas de detalle. (r_detailtextures 0)
&lt;br /&gt;
- Invulnerability completamente modelada y andando.
&lt;br /&gt;
- Grappling Hook completamente modelada, con sonidos y andando.
&lt;br /&gt;
- Angelyss y Gargoyle han sido reanmiados
&lt;br /&gt;
- Glitches de animación de Liz y SMarine arreglados.
&lt;br /&gt;
- Música.
&lt;br /&gt;
- Varios de los viejos mapas fueron arreglados y tienen modos de juego adicionales.
&lt;br /&gt;
- Demo para benchmarking.
&lt;br /&gt;
- Arreglado bug de mensaje de matanza a aliado.
&lt;br /&gt;
- Cambiar de equipo y desconectarse no afecta más el puntaje de equipo en Team Deathmatch.
&lt;br /&gt;
- La opción Vampire no revive jugadores muertos.
&lt;br /&gt;
- Domination ahora usa puntos de reaparición de Free For All.
&lt;br /&gt;
- Bug de Kamikaze arreglado.
&lt;br /&gt;
- Agregado g_autonextmap (&amp;quot;Auto change level&amp;quot; en el menú). Toma un mapa al azar luego de que finalice la partida. Los mapas para cada lista de modo de juego son configurables.
&lt;br /&gt;
- Ahora se puede ver el estado de los obeliscos en Overload.
&lt;br /&gt;
- El cambio automático de arma puede ser configurado para que sólo se haga ante armas nuevas o mejores.
&lt;br /&gt;
- Se puede desactivar en las opciones el beep de chat.
&lt;br /&gt;
- Cambiado el customvotefile por defecto a customvote.cfg.
&lt;br /&gt;
- Agregada la posibilidad de reaparición por olas. La variable g_respawntime muestra cada cuanto reaparecen los jugadores.
&lt;br /&gt;
- Agregada una CVAR g_voteBan X - expulsa un jugador por X munitos usando el sistema KK-admin.
&lt;br /&gt;
- Agregado g_gravityModifier (por defecto 1.0) - modifica g_gravity relativamente al valor del mapa.
&lt;br /&gt;
- dmflags adicionales. Las opciones más interesantes son &amp;quot;Fast weapon switch&amp;quot; (Cambio rápido de arma) y &amp;quot;No self damage&amp;quot;. (Desactivar daño propio)
&lt;br /&gt;
- Agregada una CVAR g_damageModifier para modificar el daño de todas las armas y eventos.
&lt;br /&gt;
- Agregadas cvars replace_*, que actúan como disable_*. Pueden ser usadas como &amp;quot;set replace_weapon_shotgun weapon_bfg&amp;quot; para reemplazar la Shotgun por la BFG.
&lt;br /&gt;
- El Handicap vuelve a 100 una vez que se vuelve al menú. No se permite cambiar más desde la GUI para evitar que los jugadores nuevos se dañen a sí mismos.
&lt;br /&gt;
- Agregado mensaje &amp;quot;Click to respawn&amp;quot;. Le dice al jugador cuanto tiene que esperar para volver a reaparecer. Muy importante para la reaparición por olas.
&lt;br /&gt;
- Nuevo código especular, r_specmode 1 para activar.
&lt;br /&gt;
- Nuevo mapa de ambiente, r_envmode 1 para activar.
&lt;br /&gt;
- Bloom de cascada, el cual es más &amp;quot;natural&amp;quot;, y corre más rápido en hardware de baja gama, r_bloom_cascade 1 para activar.
&lt;br /&gt;
- Soporte para shaders GLSL.
&lt;br /&gt;
- No se activa el Bloom si no tenemos configuradas las texturas en 32 bits. Esto impide que el usuario &amp;quot;juegue&amp;quot; con bloom corrupto en 16 bits, ya que el código de bloom todavía no tiene soporte para eso.&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;
&lt;br /&gt;

&lt;br /&gt;
Posiblemente en los próximos meses haya server, con foro incluído.
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Videos :: The Girl: RPG</title>
	<link>http://www.penguinpower.com.ar/foro/viewtopic.php?p=30192#30192</link>
	<description>Autor: &lt;a href=&quot;http://www.penguinpower.com.ar/foro/profile.php?mode=viewprofile&amp;u=91&quot; target=&quot;_blank&quot;&gt;Nachitous&lt;/a&gt;&lt;br /&gt;
Titulo: The Girl: RPG&lt;br /&gt;
Publicado: Thu Jan 12, 2012 10:13 pm (GMT -3)&lt;br /&gt;
&lt;br /&gt;
&lt;span class="postbody"&gt;&lt;object width=&quot;560&quot; height=&quot;315&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/DovVrOTkJjo?version=3&amp;amp;amp;hl=es_ES&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/DovVrOTkJjo?version=3&amp;amp;amp;hl=es_ES&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;560&quot; height=&quot;315&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Pwitter :: RE: Alto gif gato!</title>
	<link>http://www.penguinpower.com.ar/foro/viewtopic.php?p=30191#30191</link>
	<description>Autor: &lt;a href=&quot;http://www.penguinpower.com.ar/foro/profile.php?mode=viewprofile&amp;u=24&quot; target=&quot;_blank&quot;&gt;Salitou&lt;/a&gt;&lt;br /&gt;

Publicado: Wed Dec 28, 2011 6:15 pm (GMT -3)&lt;br /&gt;
&lt;br /&gt;
&lt;span class="postbody"&gt;&lt;img onload=&quot;setImageDimensions(this)&quot; style=&quot;cursor:pointer;cursor:hand;&quot; onclick=&quot;changeImageDimensions(this)&quot; src=&quot;http://icanhascheezburger.files.wordpress.com/2011/12/1239aa35-1cd9-4099-be97-7442671fa49d.gif&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;img onload=&quot;setImageDimensions(this)&quot; style=&quot;cursor:pointer;cursor:hand;&quot; onclick=&quot;changeImageDimensions(this)&quot; src=&quot;http://icanhascheezburger.files.wordpress.com/2011/12/f8c1318d-4bb1-416b-869f-065c5801fc5e.gif&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;img onload=&quot;setImageDimensions(this)&quot; style=&quot;cursor:pointer;cursor:hand;&quot; onclick=&quot;changeImageDimensions(this)&quot; src=&quot;http://chzgifs.files.wordpress.com/2011/09/funny-gifs-bully-cat-stuffs-cat-in-box.gif&quot; border=&quot;0&quot; /&gt;
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Pwitter :: RE: Alto gif gato!</title>
	<link>http://www.penguinpower.com.ar/foro/viewtopic.php?p=30190#30190</link>
	<description>Autor: &lt;a href=&quot;http://www.penguinpower.com.ar/foro/profile.php?mode=viewprofile&amp;u=443&quot; target=&quot;_blank&quot;&gt;Neon_Knight&lt;/a&gt;&lt;br /&gt;

Publicado: Tue Dec 27, 2011 5:58 pm (GMT -3)&lt;br /&gt;
&lt;br /&gt;
&lt;span class="postbody"&gt;&lt;a href=&quot;http://imgur.com/Co9LO&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img onload=&quot;setImageDimensions(this)&quot; style=&quot;cursor:pointer;cursor:hand;&quot; onclick=&quot;changeImageDimensions(this)&quot; src=&quot;http://i.imgur.com/Co9LO.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Pwitter :: RE: Alto gif gato!</title>
	<link>http://www.penguinpower.com.ar/foro/viewtopic.php?p=30189#30189</link>
	<description>Autor: &lt;a href=&quot;http://www.penguinpower.com.ar/foro/profile.php?mode=viewprofile&amp;u=24&quot; target=&quot;_blank&quot;&gt;Salitou&lt;/a&gt;&lt;br /&gt;

Publicado: Fri Nov 04, 2011 3:39 pm (GMT -3)&lt;br /&gt;
&lt;br /&gt;
&lt;span class="postbody"&gt;&lt;img onload=&quot;setImageDimensions(this)&quot; style=&quot;cursor:pointer;cursor:hand;&quot; onclick=&quot;changeImageDimensions(this)&quot; src=&quot;http://icanhascheezburger.files.wordpress.com/2011/10/bed617a0-d535-428b-a189-d5e80e83a1ea.gif&quot; border=&quot;0&quot; /&gt;
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Automovilismo :: RE: Freno y correa de accesorios.</title>
	<link>http://www.penguinpower.com.ar/foro/viewtopic.php?p=30188#30188</link>
	<description>Autor: &lt;a href=&quot;http://www.penguinpower.com.ar/foro/profile.php?mode=viewprofile&amp;u=338&quot; target=&quot;_blank&quot;&gt;ezeaguerre&lt;/a&gt;&lt;br /&gt;

Publicado: Wed Oct 05, 2011 5:06 pm (GMT -3)&lt;br /&gt;
&lt;br /&gt;
&lt;span class="postbody"&gt;Una pregunta, cuando colocás la correa del alternador, ¿cómo sabés cuánto tensarla? lo mismo para la de la dirección &lt;img src=&quot;http://www.penguinpower.com.ar/foro/images/smiles/OOP.png&quot; alt=&quot;Razz&quot; border=&quot;0&quot; /&gt;
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Programación y Bases de Datos :: RE: Porn Specific Proxy</title>
	<link>http://www.penguinpower.com.ar/foro/viewtopic.php?p=30187#30187</link>
	<description>Autor: &lt;a href=&quot;http://www.penguinpower.com.ar/foro/profile.php?mode=viewprofile&amp;u=338&quot; target=&quot;_blank&quot;&gt;ezeaguerre&lt;/a&gt;&lt;br /&gt;

Publicado: Wed Oct 05, 2011 10:26 am (GMT -3)&lt;br /&gt;
&lt;br /&gt;
&lt;span class="postbody"&gt;P.D: Para usar el programa:
&lt;br /&gt;

&lt;br /&gt;
$ ./main.rb directorioCache
&lt;br /&gt;

&lt;br /&gt;
Luego le decimos al navegador que use el proxy localhost:8080
&lt;br /&gt;

&lt;br /&gt;
directorioCache debe existir con anterioridad &lt;img src=&quot;http://www.penguinpower.com.ar/foro/images/smiles/OOP.png&quot; alt=&quot;Razz&quot; border=&quot;0&quot; /&gt;
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Programación y Bases de Datos :: RE: Porn Specific Proxy</title>
	<link>http://www.penguinpower.com.ar/foro/viewtopic.php?p=30186#30186</link>
	<description>Autor: &lt;a href=&quot;http://www.penguinpower.com.ar/foro/profile.php?mode=viewprofile&amp;u=338&quot; target=&quot;_blank&quot;&gt;ezeaguerre&lt;/a&gt;&lt;br /&gt;

Publicado: Wed Oct 05, 2011 10:24 am (GMT -3)&lt;br /&gt;
&lt;br /&gt;
&lt;span class="postbody"&gt;&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;gnemmi dijo:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;quote&quot;&gt;
&lt;br /&gt;
le encontraste algo que no hayas visto en python o perl ( aunque nada que ver el uno con el otro .. pero básicamente, en python vas a encontrar que todo es un objeto al igual que en ruby ... y python &amp;quot;comes with batteries&amp;quot; ... y en perl el manejo de regexp es impecable ... sin mencionar CPAN y que una vez que le agarras la mano al lenguaje es terriblemente expresivo y flexible )? 
&lt;br /&gt;
&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;
&lt;br /&gt;

&lt;br /&gt;
* Claro, todo es un objeto, hasta las clases son objetos.
&lt;br /&gt;
* Ruby me parece que también &amp;quot;comes with batteries&amp;quot;: &lt;a href=&quot;http://www.ruby-doc.org/stdlib/&quot; target=&quot;_blank&quot;&gt;http://www.ruby-doc.org/stdlib/&lt;/a&gt;
&lt;br /&gt;
* Ruby tiene manejo de regexp similar al de Perl, ej:
&lt;br /&gt;

&lt;br /&gt;
&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;Codigo:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;code&quot;&gt;
&lt;br /&gt;
while gets.chomp!
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;puts $_ if /^&amp;#91;A-Z&amp;#93;.*$/
&lt;br /&gt;
end
&lt;br /&gt;
&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;Codigo:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;code&quot;&gt;
&lt;br /&gt;
while gets.chomp!
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;case $_
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; when 'quit' then break
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; when /^\s*&amp;#40;\S*&amp;#41;.*$/ then puts &amp;quot;La primer palabra es&amp;#58; #$1&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;end
&lt;br /&gt;
end
&lt;br /&gt;
&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;
&lt;br /&gt;

&lt;br /&gt;
Y nunca vi nada tan expresivo como:
&lt;br /&gt;

&lt;br /&gt;
&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;Codigo:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;code&quot;&gt;
&lt;br /&gt;
3.times &amp;#123; puts &amp;quot;Hola 3 veces!&amp;quot; &amp;#125;
&lt;br /&gt;
&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;
&lt;br /&gt;

&lt;br /&gt;
Me encanta el uso que hace de los bloques de código, por ej:
&lt;br /&gt;

&lt;br /&gt;
&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;Codigo:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;code&quot;&gt;
&lt;br /&gt;
open &amp;#40; 'MiArchivo.txt', 'r' &amp;#41; &amp;#123; |a|
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;a.each &amp;#123; |l| puts &amp;quot;Línea #$.&amp;#58; #&amp;#123;l&amp;#125;&amp;quot; &amp;#125;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;
&lt;br /&gt;

&lt;br /&gt;
o:
&lt;br /&gt;

&lt;br /&gt;
&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;Codigo:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;code&quot;&gt;
&lt;br /&gt;
&amp;#91; 1, 2, 3, 4, 5 &amp;#93;.each &amp;#123; |x| puts &amp;quot;MiValor&amp;#58; #&amp;#123;x&amp;#125;&amp;quot; &amp;#125;
&lt;br /&gt;
&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;
&lt;br /&gt;

&lt;br /&gt;
Desde luego se pueden usar iteradores más comunachos, pero lo de los bloques asociados a los métodos es genial :-)
&lt;br /&gt;

&lt;br /&gt;
Python también tiene lo suyo, pero Ruby me parece muy simple y elegante... y definitivamente me gusta la sintaxis &lt;img src=&quot;http://www.penguinpower.com.ar/foro/images/smiles/OOP.png&quot; alt=&quot;Razz&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
A Ruby desde Python: &lt;a href=&quot;http://www.ruby-lang.org/en/documentation/ruby-from-other-languages/to-ruby-from-python/&quot; target=&quot;_blank&quot;&gt;http://www.ruby-lang.org/en/documentation/ruby-from-other-languages/to-ruby-from-python/&lt;/a&gt;
&lt;br /&gt;
A Ruby desde Perl: &lt;a href=&quot;http://www.ruby-lang.org/en/documentation/ruby-from-other-languages/to-ruby-from-perl/&quot; target=&quot;_blank&quot;&gt;http://www.ruby-lang.org/en/documentation/ruby-from-other-languages/to-ruby-from-perl/&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
Y acá está el libro que leí: &lt;a href=&quot;http://www.ruby-doc.org/docs/ProgrammingRuby/&quot; target=&quot;_blank&quot;&gt;http://www.ruby-doc.org/docs/ProgrammingRuby/&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
Es una primera edición, o sea que es algo viejito, pero casi todo es válido aún :-)
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Programación y Bases de Datos :: RE: Porn Specific Proxy</title>
	<link>http://www.penguinpower.com.ar/foro/viewtopic.php?p=30185#30185</link>
	<description>Autor: &lt;a href=&quot;http://www.penguinpower.com.ar/foro/profile.php?mode=viewprofile&amp;u=323&quot; target=&quot;_blank&quot;&gt;gnemmi&lt;/a&gt;&lt;br /&gt;

Publicado: Wed Oct 05, 2011 2:50 am (GMT -3)&lt;br /&gt;
&lt;br /&gt;
&lt;span class="postbody"&gt;lo bajé, en cuanto pueda lo pruebo.
&lt;br /&gt;
que te gustó tanto de ruby?
&lt;br /&gt;
le encontraste algo que no hayas visto en python o perl ( aunque nada que ver el uno con el otro .. pero básicamente, en python vas a encontrar que todo es un objeto al igual que en ruby ... y python &amp;quot;comes with batteries&amp;quot; ... y en perl el manejo de regexp es impecable ... sin mencionar CPAN y que una vez que le agarras la mano al lenguaje es terriblemente expresivo y flexible )?
&lt;br /&gt;

&lt;br /&gt;
te pregunto en serio porque acá en casa tengo el libro de ruby de Users ( una basura como casi todos los users menos el de C++ ) y la verdad es que nunca llegué a pasar del capítulo 4 porque no encontraba nada que me motivara ... nada que no encontrara en otros lenguajes ... no sé .. nada que me llamara la atención en realidad ... por eso me gustaría saber que fue lo que vos viste en ruby que yo no pude ver &lt;img src=&quot;http://www.penguinpower.com.ar/foro/images/smiles/OOP.png&quot; alt=&quot;Razz&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
PD:
&lt;br /&gt;
1) Felicitaciones ... como siempre, estás al menos 4 escalones por arriba del resto ... 
&lt;br /&gt;
2) GPL v3?? nah ... v2 o BSD ... la v3 va para atrás ...
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Programación y Bases de Datos :: Porn Specific Proxy</title>
	<link>http://www.penguinpower.com.ar/foro/viewtopic.php?p=30184#30184</link>
	<description>Autor: &lt;a href=&quot;http://www.penguinpower.com.ar/foro/profile.php?mode=viewprofile&amp;u=338&quot; target=&quot;_blank&quot;&gt;ezeaguerre&lt;/a&gt;&lt;br /&gt;
Titulo: Porn Specific Proxy&lt;br /&gt;
Publicado: Tue Oct 04, 2011 4:36 pm (GMT -3)&lt;br /&gt;
&lt;br /&gt;
&lt;span class="postbody"&gt;Nah, no es el nombre que le di... lo bauticé como MIME-based Caching Proxy (MCP).
&lt;br /&gt;

&lt;br /&gt;
Esta semana me leí un librito on-line de Ruby y la verdad que me encantó el lenguaje, y la pasada me había hecho un Proxy en C (muy así nomás, probablemente lleno de errores &lt;img src=&quot;http://www.penguinpower.com.ar/foro/images/smiles/OOP.png&quot; alt=&quot;Razz&quot; border=&quot;0&quot; /&gt;, aunque funcionaba)... ayer decidí mezclar mi idea del Proxy con mi incursión en Ruby... y esto fue lo que salió.
&lt;br /&gt;

&lt;br /&gt;
Es basicamente un proxy HTTP que no realiza cacheo de contenido en el sentido estándar de la palabra (como Squid), sino que a medida que exploramos realiza dos comparaciones por cada conexión HTTP:
&lt;br /&gt;

&lt;br /&gt;
1. Comprueba si el path de la URL concuerda con alguna expresión regular. En particular lo uso para comprobar por determinadas extensiones, ej:
&lt;br /&gt;
   * \.flv$
&lt;br /&gt;
   * \.wmv$
&lt;br /&gt;
   * \.avi$
&lt;br /&gt;
   * etc...
&lt;br /&gt;

&lt;br /&gt;
2. Comprueba si el Content-Type (MIME type) de la respuesta concuerda con alguna expresión regular, ej:
&lt;br /&gt;
   * video/x-flv
&lt;br /&gt;
   * video/.*
&lt;br /&gt;

&lt;br /&gt;
Si alguna de las expresiones regulares concuerda, entonces genera un hash a partir de la URL y guarda todo el contenido transmitido en el directorio de caché con la extensión que se le indique.
&lt;br /&gt;

&lt;br /&gt;
De esta manera es capaz de guardar los videos de youtube. ¡Pero para eso uso Clive! Bueno, la idea del Proxy no es ser &amp;quot;Yet Another Ultimate Video Downloader For a Bunch of Sites&amp;quot; &lt;img src=&quot;http://www.penguinpower.com.ar/foro/images/smiles/OOP.png&quot; alt=&quot;Razz&quot; border=&quot;0&quot; /&gt; ¡Es mucho más simple! No se esfuerza en parsear la URL de Youtube y buscar información sobre el video y ofrecerte el mejor formato para la descarga, no, nada de eso... simplemente descarga lo que le llega a tu navegador. ¿Qué quiere decir? Que si tu programa de descargas no soporta descargas de... no sé... redtube... ahí entra este Proxy, para él no hay diferencia entre redtube o youtube o vimeo o lo que sea... todos ellos terminan transfiriendo tarde o temprano contenido con el mime-type: video/ALGO. Y es eso lo que el Proxy captura.
&lt;br /&gt;

&lt;br /&gt;
Además genera un log para que sepas que URL descarga con que nombre, de esa manera podés empezar a ver un video parar la descarga, ir al log y continuarla con wget. Basicamente es una técnica que he usado, nada más que sniffeaba el tráfico con Wireshark hasta llegar a donde yo quería, ahora es mucho más fácil :-)
&lt;br /&gt;

&lt;br /&gt;
Entonces, el Proxy te ofrece dos opciones:
&lt;br /&gt;
 * Descarga el contenido a medida que lo mirás.
&lt;br /&gt;
 * Te da la URL y lo descargás cuando se te canta.
&lt;br /&gt;

&lt;br /&gt;
== NOTAS ==
&lt;br /&gt;
 * No soporte transferencias &amp;quot;Chunked&amp;quot;, hasta ahora no conozco ningún server que haga eso. ¿Qué pasa si alguno lo hace? Va a descargar el contenido, nada más que nos quedará un archivo inservible, tendríamos que fabricar una herramienta de post-procesamiento para arreglarlo (pero el contenido está!!! es cuestión de reformatearlo!), pero si llegara a ser una necesidad para mi, probablemente lo implemente en el Proxy antes que hacer una herramienta de post-procesamiento.
&lt;br /&gt;

&lt;br /&gt;
* No soporta Keep-Alive, lo cual quiere decir que no va a reusar una conexión TCP ya abierta para transmitir más datos... esto lo hace un poco más lento ¿Cuánto? No sé... agrega latencia (NO disminuye la tasa de transferencia, sólo aumenta la latencia, pues tiene que reconectar por cada elemento de una página HTML), pero no es la idea del Proxy ser usado todo el tiempo, es sólo para cuando queremos ponernos a descargar cosas. Así que de momento no es que me importe mucho.
&lt;br /&gt;

&lt;br /&gt;
* No soporta contenido comprimido, y aquí otra vez... si un server no respeta el pedido del proxy y manda contenido comprimido... el contenido se va a guardar, sólo que vamos a tener que descomprimirlo a mano (NOTA: Otra razón por la cual no conviene usarlo para TODO).
&lt;br /&gt;

&lt;br /&gt;
* Iba a implementar soporte para guardar contenido parcial (y completarlo a medida que se vayan pidiendo otros rangos del archivo), pero me di cuenta que es una porquería, porque en lugar de usar el estándar HTTP para pedir contenido parcial, los reproductores de videos flash simplemente realizan un pedido común y corriente y pasan un parámetro en el query string, ej:
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://mihost/mivideo.flv&quot; target=&quot;_blank&quot;&gt;http://mihost/mivideo.flv&lt;/a&gt; &amp;lt;-- Contenido entero, de principio a fin
&lt;br /&gt;
&lt;a href=&quot;http://mihost/mivideo.flv?start=1234&quot; target=&quot;_blank&quot;&gt;http://mihost/mivideo.flv?start=1234&lt;/a&gt; &amp;lt;-- Contenido a partir del byte 1234
&lt;br /&gt;

&lt;br /&gt;
Si usara el path de la URL (sin incluír el query string) para el hash podría respetar esta forma de pedido de contenido parcial, pero por ej. youtube usa el mismo path para todos los videos: /videoplayback, pasando el id del video como parte del query string.
&lt;br /&gt;

&lt;br /&gt;
Además, es tan pero tan choto flash que por alguna razón siempre se agrega el header del FLV... ¡es ridículo! ni siquiera incluye información sobre el video, es sólo una estúpida cadena de caracteres constante! Así que además de soportar esta tontería del start tendría que agregar soporte para remover el header FLV!!
&lt;br /&gt;

&lt;br /&gt;
Simplemente me parece ridículo gastar fuerzas en implementar soporte para todo esto, que está sencillamente mal diseñado, el estándar HTTP soporta pedidos y respuestas de contenido parcial!! por qué carajo no usaron el estándar?? y lo que es peor... por qué carajo retransmiten el estúpido header?
&lt;br /&gt;

&lt;br /&gt;
En fin, aún así el proxy tiene la opción (y, por defecto, lo hace) de convertir un pedido parcial en un pedido completo, aunque no probé si funciona, puesto que todos los videos flv usan el esquema de arriba en lugar de usar el estándar HTTP.
&lt;br /&gt;

&lt;br /&gt;
* NO entrega contenido desde la caché, ¿por qué? en primer lugar porque no se me cantó, y en segundo lugar porque varios sitios usan distintas direcciones para el mismo video. El primer paso en el balanceo de carga es proveer varias URLs distintas para el mismo contenido:
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://cdn1.mihost/mivideo.flv&quot; target=&quot;_blank&quot;&gt;http://cdn1.mihost/mivideo.flv&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;http://cdn2.mihost/mivideo.flv&quot; target=&quot;_blank&quot;&gt;http://cdn2.mihost/mivideo.flv&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;http://cdn3.mihost/mivideo.flv&quot; target=&quot;_blank&quot;&gt;http://cdn3.mihost/mivideo.flv&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
Todas esas URLs devuelven el mismo video, pero todas generan un hash diferente. Es decir, que si quisieran usar el proxy como caché de videos probablemente terminen con el mismo video en la caché más de una vez. No hay una manera estándar de resolver este problema, Squid lo resuelve con store-rewrites, que permiten modificar esas URLs en algo como:
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://mihost.sincdn.internal/mivideo.flv&quot; target=&quot;_blank&quot;&gt;http://mihost.sincdn.internal/mivideo.flv&lt;/a&gt; (por decir algo)
&lt;br /&gt;

&lt;br /&gt;
entonces el contenido de las distintas URLs terminan generando el mismo hash para ir a buscar en la caché. Pero esto requiere de conocimiento específico de los distintos sitios (YouTube, etc), y por ende se va de lo que yo quiero hacer.
&lt;br /&gt;

&lt;br /&gt;
* Por defecto elimina todas las cabeceras del tipo If-xxxx, para lograr que el server SIEMPRE nos entregue el contenido, y nunca nos diga algo como &amp;quot;El contenido no fue modificado desde su última visita&amp;quot;... nosotros queremos que el contenido circule, no lo queremos estancado en la caché en ram/disco del navegador.
&lt;br /&gt;

&lt;br /&gt;
* Pese a todo lo anterior, el contenido NO es transferido 2 veces, el proxy lo copia a medida que circula entre el servidor y el navegador.
&lt;br /&gt;

&lt;br /&gt;
* _PUEDE_ tener bugs, hasta ahora no me topé con ninguno... baja todos los videos &lt;img src=&quot;http://www.penguinpower.com.ar/foro/images/smiles/17.png&quot; alt=&quot;rock&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Por último, el link: &lt;a href=&quot;http://www.mediafire.com/?j06rdjyg250253f&quot; target=&quot;_blank&quot;&gt;http://www.mediafire.com/?j06rdjyg250253f&lt;/a&gt; 
&lt;br /&gt;

&lt;br /&gt;
Sólo necesita de Ruby (si ya sé, es mucho más que pedir sólo la librería estándar de C), no usa ninguna librería externa (sólo la estándar de Ruby).
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Redes y Telecomunicaciones :: Benchmark servidores HTTP.</title>
	<link>http://www.penguinpower.com.ar/foro/viewtopic.php?p=30183#30183</link>
	<description>Autor: &lt;a href=&quot;http://www.penguinpower.com.ar/foro/profile.php?mode=viewprofile&amp;u=338&quot; target=&quot;_blank&quot;&gt;ezeaguerre&lt;/a&gt;&lt;br /&gt;
Titulo: Benchmark servidores HTTP.&lt;br /&gt;
Publicado: Mon Aug 15, 2011 6:49 am (GMT -3)&lt;br /&gt;
&lt;br /&gt;
&lt;span class="postbody"&gt;Hoy estuve compilando algunos servidores para hacer unos benchmarks, recién hice unas corridas preliminares para ir teniendo una idea... tengo que configurar bien algunas cosas y ver bien cómo voy a hacer los benchmarks, pero para que vayan teniendo una idea (al que le interese) dejo unos gráficos pedorros que acabo de hacer...
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://imageshack.us/photo/my-images/805/conexionesporsegundo.png/&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img onload=&quot;setImageDimensions(this)&quot; style=&quot;cursor:pointer;cursor:hand;&quot; onclick=&quot;changeImageDimensions(this)&quot; src=&quot;http://img805.imageshack.us/img805/997/conexionesporsegundo.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://imageshack.us/photo/my-images/24/tasadetransferencia.png/&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img onload=&quot;setImageDimensions(this)&quot; style=&quot;cursor:pointer;cursor:hand;&quot; onclick=&quot;changeImageDimensions(this)&quot; src=&quot;http://img24.imageshack.us/img24/3760/tasadetransferencia.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://imageshack.us/photo/my-images/713/tiempoderespuesta.png/&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img onload=&quot;setImageDimensions(this)&quot; style=&quot;cursor:pointer;cursor:hand;&quot; onclick=&quot;changeImageDimensions(this)&quot; src=&quot;http://img713.imageshack.us/img713/6731/tiempoderespuesta.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
Basicamente:
&lt;br /&gt;
 1ro: nginx 1.1.0
&lt;br /&gt;
 2do: Cherokee 1.2.98
&lt;br /&gt;
 3ro: Apache 2.3.14-beta (2.4 beta) mpm-event
&lt;br /&gt;
 4to: Apache 2.3.14-beta (2.4 beta) mpm-worker
&lt;br /&gt;
 5to: Apache 2.3.14-beta (2.4 beta) mpm-prefork
&lt;br /&gt;

&lt;br /&gt;
El benchmark consisten en bajar un archivito (hola.txt &lt;img src=&quot;http://www.penguinpower.com.ar/foro/images/smiles/OOP.png&quot; alt=&quot;Razz&quot; border=&quot;0&quot; /&gt;) que pesa 100 bytes, osea que es un benchmark donde se baja constantemente el mismo pequeño archivo, lo cual quiere decir que:
&lt;br /&gt;

&lt;br /&gt;
 * El archivo está en cache.
&lt;br /&gt;
 * Basicamente se está midiendo el &amp;quot;overhead&amp;quot; del servidor.
&lt;br /&gt;
 * Seguro que no es representativo de un caso de uso real.
&lt;br /&gt;
 * La aplicación de benchmarking y el servidor corrían en la misma máquina compitiendo por los mismos recursos: RAM, CPU, sockets!!! etc &lt;img src=&quot;http://www.penguinpower.com.ar/foro/images/smiles/OOP.png&quot; alt=&quot;Razz&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
Tengo que pulir todos esos detalles, y me gustaría ver cómo se comportan ante una aplicación un poco más realista (un phpBB, un Wordpress, un Drupal, o algo de eso) pero por hoy me conformo con haber compilado los distintos paquetes y haber hecho esta corrida provisoria &lt;img src=&quot;http://www.penguinpower.com.ar/foro/images/smiles/OOP.png&quot; alt=&quot;Razz&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
¡Saludos!
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Programación y Bases de Datos :: C++0x is unanimously approved!!</title>
	<link>http://www.penguinpower.com.ar/foro/viewtopic.php?p=30182#30182</link>
	<description>Autor: &lt;a href=&quot;http://www.penguinpower.com.ar/foro/profile.php?mode=viewprofile&amp;u=323&quot; target=&quot;_blank&quot;&gt;gnemmi&lt;/a&gt;&lt;br /&gt;
Titulo: C++0x is unanimously approved!!&lt;br /&gt;
Publicado: Sun Aug 14, 2011 11:21 pm (GMT -3)&lt;br /&gt;
&lt;br /&gt;
&lt;span class="postbody"&gt;&lt;/span&gt;&lt;table width=&quot;90%&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class=&quot;genmed&quot;&gt;&lt;b&gt;Cita:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class=&quot;quote&quot;&gt;
&lt;br /&gt;
The final ISO ballot on C++0x closed on Wednesday, and we just received the results: Unanimous approval.
&lt;br /&gt;

&lt;br /&gt;
The next revision of C++ that we’ve been calling “C++0x” is now an International Standard! Geneva will take several months to publish it, but we hope it will be published well within the year, and then we’ll be able to call it “C++11.”
&lt;br /&gt;

&lt;br /&gt;
I want to extend my thanks again to Bjarne Stroustrup for sharing his work with the world and continuing to help move it forward, and to all of the participants whose hard work went into achieving this important milestone in the history of a great language. Thanks!
&lt;br /&gt;
&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class=&quot;postbody&quot;&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://herbsutter.com/2011/08/12/we-have-an-international-standard-c0x-is-unanimously-approved/&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;Link&lt;/a&gt;
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Salidas y Encuentros :: RE: Almuerzo / After office</title>
	<link>http://www.penguinpower.com.ar/foro/viewtopic.php?p=30181#30181</link>
	<description>Autor: &lt;a href=&quot;http://www.penguinpower.com.ar/foro/profile.php?mode=viewprofile&amp;u=24&quot; target=&quot;_blank&quot;&gt;Salitou&lt;/a&gt;&lt;br /&gt;

Publicado: Tue Aug 09, 2011 3:44 pm (GMT -3)&lt;br /&gt;
&lt;br /&gt;
&lt;span class="postbody"&gt;Excelente!!!!!!!
&lt;br /&gt;

&lt;br /&gt;
12:30 quedamos con le Marsòn
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Salidas y Encuentros :: RE: Almuerzo / After office</title>
	<link>http://www.penguinpower.com.ar/foro/viewtopic.php?p=30180#30180</link>
	<description>Autor: &lt;a href=&quot;http://www.penguinpower.com.ar/foro/profile.php?mode=viewprofile&amp;u=2&quot; target=&quot;_blank&quot;&gt;Kaos_Engine&lt;/a&gt;&lt;br /&gt;

Publicado: Tue Aug 09, 2011 3:31 pm (GMT -3)&lt;br /&gt;
&lt;br /&gt;
&lt;span class="postbody"&gt;Voy!
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
<item>
	<title>Salidas y Encuentros :: RE: Almuerzo / After office</title>
	<link>http://www.penguinpower.com.ar/foro/viewtopic.php?p=30179#30179</link>
	<description>Autor: &lt;a href=&quot;http://www.penguinpower.com.ar/foro/profile.php?mode=viewprofile&amp;u=24&quot; target=&quot;_blank&quot;&gt;Salitou&lt;/a&gt;&lt;br /&gt;

Publicado: Mon Aug 01, 2011 3:24 pm (GMT -3)&lt;br /&gt;
&lt;br /&gt;
&lt;span class="postbody"&gt;Miércoles 10/8/11, a las 13 más o menos, el Marson y la que les tipea se juntan a almorfar, el q se quiera prender, bueno, ya saben &lt;img src=&quot;http://www.penguinpower.com.ar/foro/images/smiles/OOP.png&quot; alt=&quot;Razz&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
El Marson no me deja mentir, es más, él me dijo si si , yo lo vi &lt;img src=&quot;http://www.penguinpower.com.ar/foro/images/smiles/OOP.png&quot; alt=&quot;Razz&quot; border=&quot;0&quot; /&gt;
&lt;/span&gt;&lt;br /&gt;
</description>
</item>
</channel>
</rss>


