Estás en la sección 'Proyectos' ↓

Thumbnails de YouTube en Facebook

La situación es la siguiente: tienes un blog en WordPress donde publicas posts que incluyen videos de YouTube. Al pegar un permalink de este blog en el muro de Facebook, se esperaría obtener los thumbnails correspondientes al video YouTube.

Con un blog que administro (enlacenacional.com) esto no sucedía. Facebook solo mostraba el logo de la web como thumbnail. Siempre. Era muy aburrido.

He leído que mucha gente tiene este problema, la mayoría le echa la culpa a un error de Facebook. Buscando una solución dí con una pista: la solución pasa por insertar en la cabecera de cada página el meta tag siguiente, que indica qué imagen debe usarse como preview (en este caso deben ser los thumbnails del video YouTube):

< link rel="image_src" >

Para hacer esto automáticamente, encontré el plugin Facebook and Digg Thumbnail generator. Sin embargo, noté que este plugin falla con los códigos embeded más recientes de YouTube.

For the record, anteriormente, el código embeded era de este tipo:

value="http://www.youtube.com/v/AhMfIL5MF2A&hl=es&fs=1

Ahora es así:

value="http://www.youtube.com/v/Os28AxvgYSw?fs=1&hl=es_ES

Como resultado de esta variación, el plugin Facebook and Digg Thumbnail generator no funciona correctamente. Había que mejorar, actualizar, su código, en particular la línea correspondiente a la expresión regular que obtiene el identificador del video, una serie de 11 caracteres.

Para eso, reemplazo esta línea:

preg_match('@www.youtube.com/v/([^&"\' ]*)&@i', $post->post_content, $m);

por esta otra:

preg_match('/www.youtube.com\/v\/([A-Za-z0-9._%-]*)[&\w;=\+_\-]*/', $post->post_content, $m);

Y ya que estoy en eso, agrego dos variables extras, para generar dos thumbnails más que Facebook pueda mostrar:

$image = "http://i4.ytimg.com/vi/$yt_id/default.jpg";
$image1 = "http://i4.ytimg.com/vi/$yt_id/1.jpg";
$image3 = "http://i4.ytimg.com/vi/$yt_id/3.jpg";
...
echo "\t".'< link rel="image_src" href="'.$image."\" />
echo "\t".'< link rel="image_src" href="'.$image1."\" />
echo "\t".'< link rel="image_src" href="'.$image3."\" />

Hechos estos cambios, el plugin funciona correctamente, y ahora Facebook ya tiene 4 opciones de thumbnails para los links de Enlace Nacional: el logo, y los 3 thumbnails del video YouTube.

Ciudadanos al Día – Premio BPG 2010

En las últimas semanas tuve la suerte de colaborar con los amigos de Ciudadanos al Día, CAD, en la puesta a punto del sitio web de su concurso anual, el Premio a Buenas Prácticas en Gestión Pública – BPG 2010, una iniciativa privada que busca reconocer a entidades públicas por sus buenas acciones en beneficio de la ciudadanía. El sitio web es de especial valor pues el medio oficial para poder participar en el concurso, y conocer las bases. La inscripción se realiza vía correo electrónico.

Se puede postular hasta el 25 de abril, los premios se conocerán en julio de este año.

Pueden visitar el sitio web en www.ciudadanosaldia.org/premiobpg2010/

CAD Premios BPG 2010

CAD Premios BPG 2010

En Curaçao

Curaçao: Westpunt Beach

Algunas cosas que aprendí hace unas semanas en mi visita a Curaçao, gracias una invitación del equipo de Caribbean Kids News (CKN), el programa para niños y adolescentes de las Antillas Holandesas (un NAPA del Caribe, digamos):

  • Curaçao no es lo mismo que Aruba. Es más, comete el error de confundir esas dos islas y te ganarás el derecho a una explicación muy exhaustiva. Las Antillas Holandesas están formadas por cinco islas, Curaçao, Bonaire, San Martín, San Eustaquio y Saba (antes eran seis, con Aruba), y a partir de ahí su división política y económica se pone complicada, así que no entremos en detalles.
  • Kòrsou, Curazao, Curaçao, Curación. Muchos idiomas se hablan en esta pequeña isla de 150 mil habitantes (la población de El Agustino o Chosica quizá). El idioma nativo se llama Papiamento, una lengua que tiene el cantito del portugués, es sobrino del castellano del cual se copia mal algunas palabras, con toques de Dutch (holandés, neerlandés), inglés y hasta francés. El Papiamento resume el espíritu multicultural, alegre y cálido de esta isla y de su gente, los curazoleños. Mis frases preferidas: Kon ta bai, danki y bon dia, cómo te va, gracias y buenos días.
  • Ahora, hay Papiamento y Papiamentu, no te equivoques. Nuevamente la dualidad Curaçao y Aruba, hermanos rivales, piensan en algo como Lima vs. Arequipa, o Lima vs. Iquitos.
  • Los nativos de la isla, ‘indios’ que le dicen, son como podrán adivinar de raza negra, no como nuestros ‘indios’ serranos, más bien cobrizos. Aquí es que empiezo a entender la vaguedad y vastedad de tal término, que provino originariamente de la lejana y ajena India.
  • Toma un curazoleño al azar y traza rápidamente su árbol genealógico. La línea de ascendencia más ‘sencilla’ será aquella que se inicia en algún territorio de la África negra, esclavos que poblaron la isla caribeña (al igual que gran parte de nuestro continente), para luego, siglos después, hacerla suya.
  • Las raíces de otros vecinos de la isla nos llevan hacia su Madre Patria, Holanda, Netherland. Durante mi días en la isla se celebraban competencias deportivas entre los miembros del Reino de los Países Bajos, fechas que entre otras cosas sirven como excusa para que los gringos-naranjas visiten su ex colonia, hoy convertida en su centro preferido para veranear en cualquier época del año.
  • Un pedazo de información totalmente aleatorio que conocí en esos días en el Caribe, y que hasta entonces me era desconocido: La actual Surinam fue canjeada por la norteamericana New York (antes conocida como New Amsterdam y New Orange). Un trueque entre británicos y holandeses, mediante el Tratado de Westminster. Esto explica por ejemplo que sitios neoyorquinos tan emblemáticos lleven nombres como Harlem (fka. Haarlem), Brooklyn (Breukelen), etc. (Más en The Dutch Influence on New York).
  • Las playas de Curaçao son como las vimos siempre en las postales y en la publicidad. Arena blanca y gruesa, agua de mar tibia e increiblemente transparente, celeste cerca a la orilla, azul marino (!) mar adentro. Gracias a la amabilidad curazoleña de Favell, director de CKN, pude conocer en un solo día un puñado de sus playas a lo largo de la costa occidental de la isla. Visitamos las playas ‘públicas’, las que visita el pueblo, es que también hay las ‘privadas’ para turistas con euros.
  • Visitamos de sur a norte, Caracasbaai, playa cristalina con fondo de piedras más que de arena; Marie Pamoen, una pequeña playita artificial que colinda con una playa privada más grande construída por un hotel, semejante a una piscina para principiantes como yo; Lagun Beach, de tranquilas aguas casi una laguna de agua salada; Kenepa Grandi, la más famosa y más fotografiada playa de Curaçao, es la que verás en los folletos de las agencias de viaje; y Westpunt, el final de la isla a la que llegué terminando la tarde, cómo su nombre indica es el punto más occidental de Curaçao.

Sigue leyendo, ¡tú puedes! →

¡Mamá, salí en El Comercio!

Los bloggers solemos mirar con desconfianza los artículos o reportajes sobre internet que, con más frecuencia, vienen apareciendo en los medios. Sin embargo cuando la noticia es tu blog, nos apresuramos en rebotarlo, sin falsas modestias aunque quizá con cierto rubor.

Cinencuentro en "Vida y Futuro", de El Comercio

El mejor sistema de publicación de videos

Eso es lo que busco, tanto para NAPA como para Enlace Nacional (y lo que venga luego). Si alguien lo conoce, que me lo presente. Yo sólo conozco YouTube, que permite subir clips de 10 miseros minutos (y ahora de hasta 1GB. ¡Imagínate 10 minutos en un giga! Locos), aunque también existen las cuentas tipo “Director”, que para los early adopters acepta clips más extensos, pero su proceso de aprobación es jugarse a los dados. Además, subir videos de 100 o 200 MB vía web (HTTP), con las veloces conexiones que tenemos en Lima, no es lo más recomendable.

Luego conocí Dailymotion, de Francia. Parecía la solución, ofrece buena calidad de compresión y relativa rapidez. Hasta que llegó el turno de subir los videos de 20 – 30 minutos de duración. Subirlos usando Firefox es un error. La conexión se pierde y chau upload. A utilizar Internet Explorer entonces, y soplarse sus extrañas ventanas de error que aparecen de tanto en tanto. De igual manera, su sistema de aprobación puede responder de inmediato como puede demorar días. Tiene que haber algo mejor.

Entonces llegó vpod.tv, siempre en Europa. Era casi perfecto. Upload vía FTP, sin límite de extensión ni tamaño de los archivos, opción para elegir el thumbnail que identifica al video, y un tiempo de aprobación muy corto, esto debido sobretodo a que tiene muy pocos videos subidos por día. La compresión en general no es la mejor, sobretodo la del audio, donde se nota aun más la pérdida de calidad. Pero dentro de todo, era la opción a tomar… Hasta que se cayó, y feo. Aún ahora siguen recogiendo los pedazos. Claro, subrayan que es un servicio gratuito y que no hay mucho que reclamarles. Tienen razón. El propio CEO Rodrigo Sepulveda responde mis emails de reclamo/pedido de ayuda. Cosa rara que el CEO de algo (así sea una startup) te responda a la primera, qué bueno, ¿no? Pues no mucho, sigo esperando a que recuperen la mitad de las decenas de videos que subimos. Cuando le pregunto por una cuenta pagada, me hablan de cientos y hasta miles de euros al año.

Mientras tanto, regreso a Blip.tv, que ya había sondeado hace meses, pero ahora lo reviso con mayor interés. Igualmente, su limitante es el manejo de los videos de más de media hora. Al primer intento no pudieron convertir el archivo WMV a Flash FLV. Así que decidimos probar por la cuenta Pro, a 8 dólares por mes. Lo primero que ofrecen es tener preferencia en el proceso de encoded, y la posibilidad de reintentar si sucede un error. Lo pruebo con aquel primer video que subí y lo convierten, ahora sí, a FLV. La compresión es muy buena, el upload es por FTP por supuesto, y también permiten personalizar el thumbnail de presentación, entre otras cosas. Veremos que tal nos va con este nuevo servicio.

Y otro tema a resolver (luego o paralelamente) es la velocidad de conexión. Subir archivos a 45 KB/s puede sonar muy bien, pero no tanto cuando se tienen videos de cientos de megas esperando. Todos los días.

Desierto o ex aequo por igual

Esta semana, hoy lunes y el miércoles, estaré como jurado representando a Cinencuentro en un festival estudiantil de cortometrajes llamado Chaska Ñawi, que significa algo así como “ojos brillantes” en quechua. Supongo, espero, que será interesante como (casi) toda nueva experiencia. Ponerse en plan de juez, decidir qué corto es mejor que otro. Decisión medio caprichosa. Casi como ponerle un número del 1 al 10 a cada nueva película que veo, en mi cuenta de IMDb.

Entre los otros 3 jurados estará, como representante de Conacine, Martín Moscoso, el men de Indecopi para los asuntos de la industria cinematográfica. Y pensar que muchos de los trabajos que se presentan en ese festival de seguro han sido influenciados o inspirados por películas que lo estudiantes vieron de manera “ilegal”. Deberían estar descalificados entonces, ¿no? Por lo pronto, ya me adelantaron que existe la posibilidad de declarar “Desierto” alguna de las categorías en concurso. Espero que no sea necesario llegar a eso. Un “ex aequo” no vendría mal. Siempre me gustó ese término “ex aequo”, sobretodo cuando me enteré que se usa en los casos de empate.

De lo único que puedo renegar es que la primera fecha del Chaska Ñawi se cruza con la primera charla de los Google Boys en Lima. Bueno, qué se hace, mala casualidad. Es como esos eventos programados para el martes 13 de noviembre por la noche. Ilusos, quién va a asistir a sus seminarios o avant premieres teniendo a Björk descalza en el vértice ese mismo día.

PD. Ah, está bacán el nuevo theme que encontré para mi blog, ¿no?

Moviendo un blog de Bluehost a Media Temple

El blog es Cinencuentro, y luego de tenerlo por un par de años hosteado en Bluehost hemos decidido mudarlo a un servidor dedicado en Media Temple. Sucede que el servidor compartido que tenemos en Bluehost ya no era suficiente para el tráfico y la cantidad de recusos que utiliza Cinencuentro. En algunos momentos del día recibíamos el temido mensaje de CPU Quota Error, que nos dejaba offline por algunos minutos.

La mudanza tuvo el punto más pesado en la importación de la base de datos. La exportación en sí es muy sencilla, ya sea creando un script SQL o un archivo de datos, como un XML por ejemplo. El dolor de cabeza comenzó cuando me di cuenta que al exportar la base de datos en el nuevo servidor, todos los caracteres especiales (como tildes, eñes y demás) aparecían incorrectamente en el volcado vía SQL. Sucedía que había un conflicto en la codificación de estos caracteres en la base de datos. Probablemente haya sido un problema que se arrastra desde los primeros días del blog, cuando pasamos de tenerlo en un servidor provisional (gracias a Marco) a uno en Bluehost. En aquel entonces, utilizando WordPress 1.5.3, forcé a que la base de datos utilice la codificación Latin en vez de UTF-8. Al realizar la actualización a WordPress 2.1 la confusión ya se había completado, y solo salió a la luz ahora que tuve que hacer la mudanza.

Entonces, ya que la importación vía SQL no iba a ser posible, tenía que utilizar el volcado a un archivo tipo XML, el cual sí mostraba correctamente los caracteres especiales de nuestro querido castellano. El problema ahora era que el bendito archivo pesaba 30 MB. WordPress, o mejor dicho, la configuración del servidor PHP solo permite cargar (subir, upload) archivos de 2 MB, por defecto. Si bien cambié los parámetros en el archivo de configuración php.ini para que sea posible hacer transferencias de mayor volumen, al parecer WordPress no da para tanto, y fallaba en el intento. Es así que tuve que partir el archivo XML en archivos más pequeños que sí puedan ser exportados en el nuevo WordPress 2.2.2. En promedio fueron archivos de 4 MB (En las pruebas que realicé, algunos archivos XML de 5 MB o más no lograban terminar el proceso).

Durante este proceso de importación aprendí algunas cosas, como que no sirve activar plugins ni elegir un theme nuevo, mientras no se haya volcado toda la data. Algunos plugins causaban que la importación se truncase o de errores.

No puedo olvidar mencionar que en todo este trance conté con la gran ayuda de Franc. quien me proveyó de muchas ideas para no desisitir en mi intento de cambiar de servidor =D

Luego de todo esto, ya tenía la valiosa base de datos de Cinencuentro en su nuevo hogar. Ahora tocaba solucionar algunos problemas que siempre aparecen en estos casos. Por ejemplo:

  • En los títulos de los posts, las comillas dobles (” “) han pasado como caracteres HTML &# 8220 y &# 8221. Si bien esto no debe ser un problema mayor, algunos plugins, como el Recent Posts version 1.07 no interpretan bien estos caracteres y los imprimen tal cual. Otros plugins como el Related Posts version 2.04 no tiene este problema.

Otros problemas a los que aun no le encuentro solución son:

* El plugin Twitter Tools causa un error al grabar una entrada. Luego de grabar los cambios, extrañamente aparece una ventana para descargar el archivo post.php

* El valioso plugin WP-Cache 2.0.21 da un error en el mismo proceso, cuando se graba una entrada, no se recarga el preview del post, sino solo aparece una pantalla en blanco. Los cambios, sin embargo, sí se han grabado.

* El plugin WP-UserOnline 2.06 causa un error similar, aunque solo cuando se edita un post ya publicado, y no en un post en estado draft (borrador), o un post nuevo.

* El plugin Lightbox simplemente no funciona.

Eso por ahora. Por lo demás, todo anda Ok, y yo me preparo para llenar el blog de plugins y scripts hasta matar el servidor :D