Consecuencias de no practicar

Para una demostración que realizaré en abril tengo que llevar a cabo varias tareas. Una de ellas, muy sencilla (en español) es separar una frase en cada una de las palabras que la componen (es fácil porque entre ellas siempre hay un espacio; en japonés no).

En sí no es nada complicado, pero como quise ponerme a recordar lo poco que sabía de C++ y estudiar lo que ignoraba, decidí llevar a cabo todo mediante un Singleton. Siendo un proceso sencillo, era la excusa perfecta para pasar más tiempo en la definición de la clase en sí… pero nunca imaginé que entre la separación en sí, las definiciones de los miembros de la clase y la compilada, me tomaría cerca de 2 horas echarlo a andar.

En Java, un Singleton es muy sencillo. Aquí el que creé nada más para contrastar. Tiempo: 2 minutos (4 incluyendo la clase de prueba):

Continue reading “Consecuencias de no practicar”

El génesis: la verdadera historia

Todo resumido en la frase de mi nueva taza térmica:

La compré en Zazzle. Salió casi en lo mismo que una de las grandes de Starbucks, ya contando también el envío. Me gustó tanto, que quizá pida otra (con otro mensaje, claro) para usarla en casa.

Recompilar ffmpeg – faac no es GPL

Hace poco escribía sobre cómo codificar videos para el PSP. Sin embargo, si intentan el comando ahí mencionado en la nueva versión de ffmpeg, se llevarán una sorpresa al ver que no encuentra la librería para codificar faac.

Estuve buscando soluciones, y me encontré con que el cambio fue intencional debido a que la licencia de faac no es GPL. Así que no hay de otra: hay que compilar ffmpeg.

La tarea en sí no es complicada, solo hay que asegurarse de tener todas las librerías que uno piensa habilitar en ffmpeg. Asegúrense de incluir la opción –enable-libfaac. Cuestión de buscar con apt o yum, instalar y probar hasta obtener el resultado deseado.

Si tienen Fedora 12, la mejor opción es construir el RPM a partir del código fuente, agregándole la opción para habilitar faac. Los pasos son:

  1. Bajar el RPM del código fuente. rpmfusion es el mejor lugar para encontrarlo.
  2. rpmbuild –rebuild –with faac <nombre del RPM del código fuente>
  3. Desinstalar con yum los paquetes ffmpeg, ffmpeg-devel y ffmpeg-libs. Esto va a desinstalar otras dependencias. En mi caso fueron 13. Hacer lista de lo que desinstala para volverlo a instalar después.
  4. Ir al directorio donde quedaron los RPM recién construídos.
  5. Instalar los rpm que ahí se crearon (los nuevos ffmpeg, ffmpeg-devel, ffmpeg-libs).
  6. Reinstalar los programas y dependencias que fueron borrados en el punto 3.

Y listo. Ya se puede usar nuevamente libfaac en ffmpeg. Probé codificando un capítulo de Family Guy:

Me muero de sueño, pero tenía que documentar esto.

Fedora 12 y NVIDIA: ¿Por qué nouveau?

Ayer en la noche me dispuse a reinstalar Linux en la máquina de la casa. Desde Fedora 8 no había vuelto a reinstalar; siempre hacía upgrade. Del 8 me pasé al 10, y el 11 simplemente lo dejé pasar (aunque lo tengo instalado en el trabajo).

Pensé que lo que más trabajo me iba a costar sería el respaldo de las carpetas que tengo en ese disco duro (uno de 160 GB, exclusivo para Linux), y aunque sí tardé un buen en mover todo (y se me olvidaron los bookmarks de Firefox 🙁 ), en donde topé con pared fue en la instalación de los drivers de Nvidia.

Mi tarjeta es una GeForce 7600 GS, nada del otro mundo. No tengo ningún problema con instalar/compilar los drivers por mi cuenta ( lo que significa que también tengo que revisarlos a pie continuamente o volverlos a compilar cuando salga una actualización del kernel), pero por lo general siempre le dejo todo al yum o al package manager y lo venía haciendo por medio de RPMS. Después de todo, ahorran tiempo. Total que después de instalar el nuevo sistema operativo me encuentro con que el monitor que yo quería que fuera el principal (uso 2) era detectado como secundario, y el que quería como secundario (que también uso como TV), era el principal, eso sí, ambos con su máxima resolución detectada correctamente. Aquí comenzó el problema.

Continue reading “Fedora 12 y NVIDIA: ¿Por qué nouveau?”

Ya funcionan las encuestas…

Y el dichoso plugin de las encuestas dejó de funcionar de la noche a la mañana (bueno, en una actualización de WordPress). No había tenido tiempo de sentarme a ver el problema con calma.

La solución fue simple: agregar <?php wp_footer(); ?> al final del index.php y del footer.php del tema utilizado.

Parece que no soy el único que ha tenido este problema. Lo malo es que, aunque la solución es simple, muchos prefieren usar otras opciones porque no pueden resolver el problema de no poder ni votar ni ver resultados.

2 encuestas que puse se quedaron sin votos: la del té verde y la de Mr. James. Ni modo. La del té luego la vuelvo a poner. La de Mr. James nah, ni al caso seguirle con el tema.

Se les extiende la más cordial invitación a participar en la encuesta actual y en todas las que le sigan 😀

Codificando videos para el celular y el PSP

El celular que utilizo puede reproducir archivos .3gp, pero crearlos para que se vean y escuchen bien requiere un poco de tiempo para jugar con los parámetros.

Hace unos meses me desvelé unas 3 noches jugando con ffmpeg y buscando información en la red acerca del mejor valor de esos parámetros. Después de todo, me queda tiempo a la hora de la comida y durante el día no estoy leyendo ningún libro, así que tenía que aprovecharlo. Después de varios intentos, pude, sin problemas, reproducir en el celular algunos capítulos de la nueva serie de FullMetal Alchemist.

Aunque creo que puedo aumentarle todavía un poco la resolución, de momento estos son los mejores parámetros que me han funcionado:

ffmpeg -i <archivo original> -s cif -vcodec libx264 -acodec libfaac -ac 1 -ar 32000 -r 25 -ab 32000 -y <nombre del archivo a crear>.3gp

El resultado, para este caso (un capítulo de 30 minutos) es un archivo de aproximadamente 45-50 MB.

De la misma manera, pensé que, en vez de gastarme batería del celular mejor me podía llevar el PSP, además de que la pantalla es mucho más grande. De nuevo me senté e investigué, pero ahora solo tardé unos minutos en dar con una configuración decente:

ffmpeg -y -i <archivo original> -title “El título que aparecerá en el PSP” -timestamp “Fecha y hora que aparecerá en el PSP” -bitexact 1 -vcodec libxvid -s 320×240 -r 29.97 -b 1500kb -acodec libfaac -ac 2 -ar 24000 -ab 65535 -f psp M4VXXXXX.mp4

Donde XXXXX son 5 números, los que gusten. Noten que hice énfasis en el tamaño del video. Intenté darle directamente la resolución del PSP (480×272), pero el PSP no lo reprodujo. Encontré en un foro varios mensajes en donde los usuarios especifican esa resolución, la usé y listo. El resultado es muy bueno, y el archivo final, para este caso, es de unos 220 MB.

Para crear la imagen que aparece junto al nombre del video, simplemente tomen su imagen predilecta, cambien el tamaño a 160×120 conservando el ratio, y guárdenla como archivo .thm, que en realidad es un JPEG, aunque algunos .thm también traen información exim. En mi caso, opté por el poderoso convert:

convert Inuyasha01.jpg -resize 160×120 M4VXXXXX.thm

Para que el PSP detecte que la imagen está asociada al video, ambos tienen que tener el mismo nombre, por eso el énfasis en la última parte del convert.

Si alguno de los comandos falla, lo más probable es que no tengan instalados los codecs que aquí se especifican. Simplemente hay que buscar, por ejemplo, libfaac, libx264, libxvid e instalarlos. El comando ffmpeg -formats | less les puede servir para ver qué es lo que tienen disponible y, por ende, qué es lo que hay que instalar.

¿Windows? Nah. No se compliquen la vida. Hay aplicaciones buenísimas como Xvid4PSP (necesitan Silverlight para poder verla) que prácticamente hace todo con solo unos cuántos clicks. También hay ffmpeg para Windows, pero eso implicaría que tendrían que aprender a usar la línea de comandos 😛

Nunca se iba a ver bien

Desde hace un buen tiempo, comencé a tener problemas con el plugin de Flash para Linux en Fedora 10 (64 bits): había videos que simplemente desaparecían al momento de comenzar, y otros que de plano ni se veían.

Teniendo Ubuntu 64 bits en la máquina del trabajo y sin sufrir de un solo problema al respecto, descarté la posibilidad de que fuera el sistema operativo la causa. A fin de cuentas, el Ubuntu del trabajo usa ndiswrapper para el plugin de 32 bits. Nada fuera de lo normal.

Ayer de plano me harté al querer ver el más reciente episodio del Angry Video Game Nerd en gametrailers, y mejor me puse a revisar de una buena vez qué pasaba con el plugin. Mi sorpresa fue grata: tenía, quién sabe cómo, 3 versiones diferentes instaladas: 2 diferentes de 64 bits (la alpha que sacó Adobe para 64 bits, 2 releases diferentes) y el plugin de 32 bits con ndiswrapper instalado directamente con yum desde los repositorios de Adobe. Al percatarme de la situación, pensé justamente lo que dice el título de esta entrada.

Acto seguido: desinstalar todos. Probé Youtube y ya no se veía nada. Buena señal. Reinstalé el plugin de 32 bits… y nada. Firefox seguía diciendo que no tenía el plugin. Opté por borrar el ndiswrapper por completo, borrar el plugin otra vez  y reinstalar todo desde el principio (ndiswrapper y después el plugin). Misión cumplida.

Ahora sí, después de mucho tiempo, puedo ver videos en gametrailers o youtube sin el temor a que vayan a desaparecer a la mitad. Me divertí además actualizando algunos paquetes extra y revisando algunos archivos.

Me hacía falta sentarme a hacer cosas como éstas 😀

Cuestión de orgullo

Hace un par de semanas me invitaron a dar una plática sobre mi experiencia en Japón. Ésta se llevaría a cabo el 18 de julio, así que en teoría tenía tiempo para no complicarme la vida y preparar todo sin prisas. Pero la realidad fue diferente.

Se me vino encima la fecha de entrega de la versión modificada del paper que presenté en Hong Kong. Asimismo, algunos amigos tuvieron varios problemas serios, por lo que les di también más prioridad. Total que tanto el paper como la presentación se tuvieron que terminar un día antes de la fecha. Salvo algunas correcciones, el primero se entregó sin problemas (esperando aceptación), pero la presentación fue harina de otro costal.

Normalmente para ese tipo de eventos tengo ya algunas presentaciones hechas en Open Office, y lo único que hago es modificarlas de acuerdo con el evento al que voy a asistir. La mayoría de ellas son sobre México, mientras que otras son sobre las diferencias culturales que éste tiene con Japón. Esta vez, se trataba de hablar sobre mi experiencia en Japón en estos 6 años, pero el lugar no era una escuela y la audiencia no eran niños, por lo que pensé que tenía que hacer una presentación más formal y que al mismo tiempo reflejara que no uso Power Point. Lo malo es que si hacía todo en Open Office nadie notaría la diferencia, por lo que necesitaba algo diferente. Recordé que hacía tiempo no usaba beamer, así que fue la opción obvia.

En la computadora de la casa tengo Fedora 10, y hace poco compilé platex para que aceptara japonés en UTF-8 y no en EUC-JP, que es el arcaico encoding que se usa en la mayoría de aplicaciones para Linux en japonés. Así que pensé que no tendría ningún problema para hacer una presentación en beamer. Creé una de prueba con un par de diapositivas, y mi sorpresa fue grande al ver que platex compilaba, pero en el resultado el japonés no aparecía ni en los encabezados ni en los pies de página. Los documentos normales de latex compilaban a la perfección (había acabado el paper en esa máquina unos días antes), por lo que descarté que las fuentes tuvieran algo que ver.

Busqué en internet casos similares, pero no encontré ninguno. Todo mundo simplemente mencionaba que para crear documentos de Latex en japonés solo era necesario tener instalado platex (y pxdvi para verlos). Me cansé de buscar en inglés, japonés y hasta chino. El tiempo se me terminaba. Tenía solo un par de días para terminar la presentación, y a fuerzas la quería hacer en beamer y presentarla con impressive.

Continue reading “Cuestión de orgullo”

Cliente de irc para Windows

Sé que para muchos el IRC es algo “nuevo” (lo pongo entre comillas porque en realidad es algo muy viejo); sin embargo, no es tan difícil como parece, y si consideramos que, en teoría, solo lo usarán para la charla, entonces no hay necesidad de aprender muchos comandos.

El cliente de IRC que yo recomiendo para Windows es el mIRC. Lo usé durante mucho tiempo y siempre me pareció bueno y sencillo. La licencia es shareware, es decir, que lo pueden probar sin costo durante 30 días (después de eso hay que registrarlo y eso cuesta 20 dólares). Simplemente hay que instalarlo, luego conectarse a la dirección del servidor irc donde será la charla, ponerse un nick, y una vez dentro hay que ingresar al cuarto #beca. Les recomiendo que practiquen unas cuantas veces para evitar contratiempos el día de la plática.

Para Linux creo que no necesito mencionar mucho, puesto que si usan Linux quiere decir que tienen una idea de lo que es IRC. En lo personal creo que me quedaré con Pidgin para no complicarme la vida. Por supuesto que hay para Windows también, solo que la forma de entrar al IRC puede no ser tan intuitiva como la de un cliente específico para sa función.

Para Mac… ¿algún usuario de Mac OS que pueda dar alguna recomendación?

Se acerca el día. Recuerden preparar sus preguntar y leer los escritos sobre la beca (para posgrado y licenciatura). Esto les puede dar una mejor idea de qué preguntar.

Android En Japón

El próximo mes sale a la venta en Japón el primer teléfono que incluirá Android en este país. Las expectactivas que ha creado Android son muchas; se han visto los resultados en Estados Unidos, se ha comprobado que se puede instalar en Netbooks, cualquiera puede desarrollar en él (el API está en Java). Sin embargo, el terreno de los celulares en el país nipón es mucho más exigente de lo que se sabe fuera de él.

Sabemos las razones por las que el iPhone no fue un súper éxito aquí como lo fue en muchos otros países. Quizá lo del dinero y los planes ya se haya resuelto (o al menos ya no están tan estrictos como antes), pero las desventajas que el iPhone, Android y cualquier Smartphone tienen en Japón son remarcables. Sí, tienen sus seguidores, pero distan mucho de ser mainstream.

Lo que los expertos dicen al respecto del tema es algo que ya sabíamos: si Android o el iPhone quiere triunfar por acá, van a tener que japonizarse. La falta de servicios que ofrecen los teléfonos celulares tradicionales en Japón es sin duda una herida mortal para los OS, y a fin de cuentas para las compañías que los quieren comercializar. Lo que el iPhone y los teléfonos con Android tienen que implementar es:

  • One Seg. Televisión para dispositivos móviles. Es tan común ya, que solamente los modelos de teléfonos viejos o muy austeros no tienen. La gente que va a trabajar los usa para ver en especial eventos de interés popular, como el WBC (mundial de béisbol), partidos de futbol de la selección (japonesa, por supuesto :P), entre otros.
  • Osaifu Keitai. Es decir: dinero electrónico. Hay varias compañías de este dinero (yo conozco 3), y vaya que es conveniente poder pagar con tu celular. Si no traes cambio/dinero, simplemente le pones crédito a tu cuenta de dinero electrónico por medio de tu tarjeta de crédito y pagas en muchos lugares. Y por raro que parezca, en muchos de ellos no aceptan pagos con tarjeta de crédito. Este servicio es muy usado por los japoneses, por lo cambiar a un teléfono que no lo implementa es algo que simplemente no consideran.
  • Acceso a red WAP. El internet para celulares en Japón es muy popular. Muchos servicios solo pueden ser accedidos por ese medio (Tekken-net es uno de ellos). Si bien se pueden instalar o configurar navegadores en Android y Smartphones para que se conecten a la red WAP, no compensa el hecho de que no se puede suscribir a ninguno de los servicios que se ofrecen ahí debido a que dependen del hardware (el teléfono en sí).

Parece trivial, pero los 3 puntos anteriores son lo que frenan al iPhone, a los Smatphone, y próximamente a Android, de ser populares. La compañía que implemente estos servicios en uno de sus teléfonos es la que se va a ganar al mercado. ¿Apple? Es la menos probable, debido a que el servicio de dinero electrónico y la TV dependen directamente del hardware (concretamente de unos chips), lo que implicaría que tendría que crear un iPhone exclusivo para Japón. Se le ve más futuro a Google en ese sentido gracias a la disponibilidad que existe en Android.

En fin. Me va a tocar jugar con uno de estos teléfonos pronto. Sin duda habrá aplicaciones interesantes, pero se duda (y me incluyo) que, así como están las cosas, vayan a dominar el mercado de este país.