El Señor de los Anillos según los Simpsons

Esta es la peculiar interpretación que hacen en los Simpsons del Señor de los Anillos, con Bart y Lisa en una fortaleza de cartón asediados por hordas de carteros, y Nelson en el papel de héroe salvador. Lo que creo que no he visto son elfos, con lo parodiables que son los pobrecillos…

Visto en meneame.

Cómo funciona BitTorrent (A todo el mundo le gusta el BitTorrent)

El siguiente artículo es una traducción al español del post publicado por Jeff Atwood en Coding Horror, que me ha dado permiso para publicarlo. Cuando hablo en primera persona sólo traduzco la experiencia contada por el autor. Espero que sea útil, ya que el post ilustra bastante bien el funcionamiento de este protocolo que tan buenos resultados da para archivos grandes y nuevos.

__

El método tradicional para distribuir archivos grandes es ponerlos en un servidor central. Cada cliente luego se descarga el archivo directamente del servidor. Es una aproximación gratificantemente simple, pero no escala. Por cada descarga, el servidor consume una cantidad de ancho de banda igual al tamaño del archivo. Probablemente no tengas suficiente ancho de banda para servir un archivo grande a una gran público, e incluso si lo hicieses, tu factura por el ancho de banda se dispararía. Cuando más grande sea el archivo y más público haya, peor se tornará tu problema de ancho de banda. Es un impuesto a la popularidad.
Con BitTorrent, también empiezas poniendo tu archivo grande en un servidor central. Pero una vez las descargas comienzan, algo mágico sucede: según los clientes se descargan el archivo, comparten las partes del archivo que tengan con los demás. Los clientes pueden oportunamente conectarse con cualquier otro cliente para obtener varias partes del archivo a la vez. Y escala perfectamente: cuando más aumente el público y el tamaño del archivo, el ancho de banda de la red de distribución de BitTorrent también aumenta. Tu servidor hace cada vez menos trabajo con cada cliente que se conecta. Es una manera elegante e igualitaria de compartir archivos grandes con un gran público.
BitTorrent desplaza radicalmente la economía de la distribución. Es una de las ideas más milagrosas nunca concebidas en internet. Hasta donde yo estoy involucrado, debería haber un premio Nobel a la computación, y el inventor del BitTorrent debería ser el primer galardonado.
Hay una visualización de Processing genial de BitTorrent funcionando que lo explica mejor de lo que yo podría hacerlo. La visualización original no sólo está casi siempre caida, sino que esta escrita para una versión antigua de Processing. Cogí una copia cacheada del código y lo actualicé para la última versión de Processing.

 

Cómo funciona BitTorrent (A todo el mundo le gusta el BitTorrent)

Esta pequeña animacioncilla GIF no hace justicia a la naturaleza altamente dinámica y en tiempo real. Recomiendo descargar Processing y descargar el código de visualización para BitTorrent actualizado, de manera que puedes ver el proceso de principio a fin en tu propio PC. Es bonito.

Pero aún con lo maravilloso e inteligente como es BitTorrent, no es perfecto. Como un voraz usuario de BitTorrent, he notado los siguientes problemas:

  1. BitTorrent es un fatal cliente de la Larga Cola.
    La eficiencia de BiTorrent basa en su popularidad. Cuanta más gente esté descargando, más grande se hace la red de distribución. Pero si lo que quieres es poco conocido o poco popular –parte de la Larga Cola — BitTorrent es dolorosamente, brutalmente lento. Con sólo un puñado de clientes compartiendo la carga de trabajo, sería mejor usar métodos de distribución tradicionales.
  2. BitTorrent, aunque distribuido, sigue siendo centralizado.
    El trabajo de la descarga se comparte entre los clientes, pero ¿cómo se localizan entre sí los clientes? Tradicionalmente esto se hace mediante un servidor centralizado, un «tracker» (localizador), o lista de peers (de clientes). Esto significa que BitTorrent es vulnerable a ataques al servidor centralizado. Una vez el servidor está fuera de servicio, los clientes no tienen ninguna manera de encontrarse, y toda la red de distribución se para forzosamente. Hay alternativas que permiten a los clientes compartir la lista de peers entre sí, algo así como tablas hash distribuidas, pero el trackers centralizado es más eficiente.
    Además, para empezar una descarga con BitTorrent, tienes que saber primeramente donde conseguir el archivo .torrent. Es un problema como el de la gallina y el huevo, ya que implica la existencia de un servidor central en algún sitio.
  3. BitTorrent no es adecuado para archivos pequeños, aunque sean extremadamente populares.
    La red de distribución de BitTorrent se basa en clientes compartiendo trozos del archivo durante el periodo de descarga. Pero si el periodo de descarga es pequeño, la ventana de oportunidad para compartir es también pequeña; en un momento dado sólo unos pocos usuarios estarán descargando. Este es otro caso donde será poco probable encontrar otros peers, así que es mejor optar por métodos tradicionales.
  4. BitTorrent confía en el altruismo de los clientes.
    No hay ninguna regla que diga que los clientes deben compartir su ancho de banda mientras descargan. Aunque la mayoría de clientes de BitTorrent por defecto ponen la velocidad de subida al máximo que permite la línea del usuario, es posible bajar el ancho de banda de subida a cero si eres avaricioso. Y algunos usuarios pueden tener cortafuegos configurados de tal manera que no puedan subir datos, aunque quisieran. No hay ninguna manera de castigar a los clientes malos por no compartir, o recompensar a los buenos clientes por compartir más.
    Además, cada torrent necesita un «seed» (una semilla) — un peer (cliente) con el 100% del archivo descargado — conectado en todo momento. Si no hay semilla, no importa cuantos clientes tengas, ninguno de los clientes será capaz de descargarse el archivo entero. Se considera una regla de cortesía permanecer conectado si tienes el 100% del archivo y no hay más semillas disponibles. Pero de nuevo, esto es una convención, no un requisito. Es totalmente posible que un torrent «muera» si no hay semillas disponibles.

El modelo de BitTorrent es innovador, pero no es adecuado para cualquier tarea de distribución. El modelo del servidor centralizado es superior en la mayoría de los casos. Pero la distribución centralizada es una herramienta para los ricos. Sólo las compañías con muchos beneficios pueden permitirse grandes cantidades de ancho de banda. BitTorrent, en comparación, es muy democrático. BitTorrent le da a la gente lo que quieren, cuando lo quieren — mediante un aprovechamiento de la pequeña cantidad de ancho de banda repartida por la mayoría de los proveedores de internet.
Pero sólo porque sea democrático no significa que sea sinónimo de piratería intelectual. BitTorrent tiene usos legítimos, como distribuír parches del World of Warcraft. Y S3 de Amazon soporta directamente el protocolo torrent.
BitTorrent, en resumen, pone la elección de la distribución de nuevo en la mano de la gente. Y por eso a todo el mundo le gusta el BitTorrent. A todo el mundo, excepto a la SGAE, MPAA, RIAA y similares.

The Prodigy – Smack My Bitch Up

Esta canción no es demasiado especial musicalmente hablando — aunque me gusta el ritmo y las partes en las que canta una voz de estilo árabe, lo más destacable es el vídeo con el que la promocionaron los de The Prodigy, censurado por su contenido.

La letra tampoco es demasiado elaborada…

Change my pitch up, smack my bitch up.
Change my pitch up, smack my bitch up.

Sobre todo, vedlo hasta el final, tiene sorpresita.

Instalar Windows y ahorrarse serials, cracks y demás molestias

Una de las cosas que más me hastían como amigo informático es la de reinstalar Windows. No es que sea especialmente tediosa la instalación, hecha para monos sin cerebro (es decir, el 75% de la población mundial a ojo – vosotros, queridos lectores sois parte del 25% junto a mi, descuidad), el coñazo viene al dejar la instalación de Windows mínimamente funcional. Diréis, «cómo se queja este, qué pasa, en linux no hay que instalar nada o qué?»… pues sí, pero haces una lista con lo que quieres y la instalas de golpe con apt-get install lista_de_software_imprescindible_para_empezar.
Antes era considerablemente más piratilla, lo del software libre me la sudaba, y aplicar cracks a los programas comerciales hasta me entretenía un rato. Pero me he cansado, y prefiero usar alternativas libres con unas funcionalidades similares (vale, en algunos casos inferiores) a esa ristra de programas. Antes, el proceso que realizaba era algo así como:

  1. Windows (más serial pirata…)
  2. Winamp (excepción sin crack)
  3. Nero (más serial…)
  4. BSPlayer (más crack…)
  5. UltraEdit (más crack…)
  6. WinRar (más crack…)
  7. Kaspersky Antivirus (más licencia pirata…)
  8. ZoneAlarm (aunque tiene versión gratis, ya puestos la pirateas también…)

Pero el proceso de encontrar y usar los correspondientes cracks o serials para cada programa es aburrido, un periplo por páginas llenas de banners porno y casinos online. Además alarga el proceso al doble, ya que tienes que ir a la web, descargar la versión shareware, trial o demo, para posteriormente buscar el crack en astalavista (el mejor buscador de cracks que conozco). Sólo por ahorrarme ese coñazo empecé a usar gradualmente una lista de software libre o gratuito como mínimo, y funcionalmente similar (ya me diréis quién usa todas las características de la suite de Nero que tiene crackeada, por ejemplo…).

  1. Windows (si no lo instalase esta lista no tendría sentido…).
  2. Winamp (como excepción que es puede estar en las dos listas).
  3. InfraRecorder: una excelente alternativa a Nero para grabar CDs y DVDs, con bastantes opciones avanzadas a la hora de grabar y un interfaz bastante manejable que me recordó al de K3b.
  4. VLC: genial reproductor de vídeo (y audio), un auténtico todoterreno que soporta muchísimos formatos sin problemas (siempre que tengas los codecs) y muestra los subtítulos sin dar problemas. Muy recomendable cambiarle el skin por defecto, que es bien feo, por uno más llamativo. Otra opción no libre pero gratis sería KMPlayer, con un interfaz por defecto más agradable.
  5. Notepad++ o Programmer’s Notepad: un par de editores de texto orientados a programadores mucho más interesantes que el bloc de notas, con resaltado de sintaxis, archivos en pestañas, que abren ficheros tanto de linux como de windows y algunas herramientas avanzadas más. Menos funcionalidad que UltraEdit… pero libres.
  6. 7Zip: abre sin problemas los formatos más comunes (rar, zip, cab, tar, etc), y su formato 7z tiene un ratio de compresión muy bueno. Se integra con el explorador y tiene un navegador de ficheros, como el Winzip o el WinRar.
  7. AVG Antivirus (edición gratuita). Con un poco de sentido común apenas se cogen virus (apenas, que Windows también juega malas pasadas, o ¿nadie tuvo el Blaster?), y el tema de las licencias de los antivirus piratas aburre mucho. Así que opto por este, gratis y que da protección igualmente.
  8. ZoneAlarm: esta vez, el espíritu libre y gratis te invade y decides que la opción gratis del firewall te llega…

Por supuesto hay programas que no tienen un sustituto tan sencillo, como Adobe Photoshop, pero siempre puedes probar alternativas más ligeras y reducidas (en este caso, Gimp o Paint.NET).

Tras esta lista básica acabo por instalar más programas con los que me he acostumbrado a trabajar y me hacen más productivo (o me dan esa sensación, como el Flickr Uploadr, Mozilla Firefox más unas cuantas extensiones de las que ya hablaré, Real VNC, picasa, etcétera), son programas que necesito.

¿Qué programas necesitáis vosotros, sin cuáles no podéis estar a gusto en vuestro PC?

Desperdicia tu vida viendo a otra gente desperdiciar sus vidas

Me sorprendió moderadamente esta noticia de un tipo coreano que retransmite en directo, al más puro estilo El Show de Truman, pero voluntariamente, que ya hay que ser gilipollas. Digo moderadamente porque no me extrañaría que fuese una campaña publicitaria viral del estilo de la de Diesel, pero más a lo bestia.

Las reglas son

  1. Justin lleva la cámara 24 horas al día, 7 días a la semana. Incluso en el cuarto de baño. Incluso en una cita.
  2. Esto es en directo. Sinceramente. Ahora mismo.
  3. Justin llevará la cámara hasta el día en que se muera. Con esto queremos decir que si se la quita, le mataremos.

Aún así, si es cierto, el eslogan de la web me parece más que adecuado, perfecto, además de una carta de presentación perfecta para algunas modernas idioteces…  (Je, que curioso, tiene un twitter…).

Waste your life watching other people waste their lives.

es decir…

 Desperdicia tu vida viendo a otra gente desperdiciar sus vidas.

Con esa frase han conseguido plasmar tanto…

Truquillo para el editor visual de wordpress: nuevas líneas

El editor visual de wordpress funciona medianamente bien, pero aún así tiene cosas relativamente molestas por las que a veces es más fácil editar el código a mano. Sobre todo lo uso para colocar imágenes, lo hago con el editor visual o con ScribeFire para Firefox, no aguanto hacerlo a mano… y como tampoco hay ningún editor mucho mejor, pues hay que sufrirlo.

En fin, el pequeño atajo que he descubierto y es más o menos útil es pulsar mayúsculas + enter para una nueva línea, en vez de un nuevo párrafo, que es lo que hace por defecto el editor. ¿Diferencias? Ahí va una muestra:

Esto es un nuevo párrafo, separado del anterior
y esto una nueva línea dentro del párrafo, pegada a la línea anterior.

Y esto es todo… por cierto que el editor del WP2.1 trae algunas características ocultas que podéis mostrar fácilmente con este plugin.