Me fui de mudanza
Ahora tengo el blog en un dominio propio y con un nuevo diseño gráfico. Lo encuentran en http://blog.davidrios.me
Gracias a WordPress.com por brindarme el hosting durante todo este tiempo y a WordPress.org por darnos un aplicativo de blogging tan fantástico.
Les recuerdo la nueva dirección: http://blog.davidrios.me
Pencil: Mi primer paquete DEB para Debian y Ubuntu
Al fin cumplo una de mi metas personales: crear un paquete para Debian, y qué mejor que con una aplicación que utilizo frecuentemente, está bajo licencia GPL y aún no existe en el repositorio oficial de Debian ni hay reportes de alguien que quiera empaquetarlo. Se trata de Pencil, una aplicación creada con XUL (el lenguaje script de Firefox) que simplifica el proceso de enmaquetamiento de interfaces gráficas. Tal como lo definen en su página web:
The Pencil Project’s unique mission is to build a free and opensource tool for making diagrams and GUI prototyping that everyone can use
El paquete está probado en Debian Lenny y Ubuntu 10. Por favor me reportan cualquier problema que se les presente.
No está en el repositorio oficial de Debian porque aún no soy Debian Developer (esa es mi siguiente meta) aunque ya lo envié a un amigo sponsor para que lo revise y lo suba; esperemos que me responda rápido
Ignorar espacios en blanco con vimdiff
Vim es un editor de texto bastante poderoso; dentro de sus opciones se encuentra vimdiff el cual nos muestra, de forma gráfica, las diferencias entre 2 archivos de texto. Sin embargo, si entre ambos textos hay diferencias en los espacios en blanco, los considera como diferentes. Para obviar los espacios en blanco, utilizamos el siguiente comando:
set diffopt+=iwhite
Streaming sobre puerto 80
Éstas son algunas de las URLs con streaming sobre puerto 80. La verdad no recuerdo el género de cada uno de ellos; solo sé que la primera es de rock de los 80s:
- http://scfire-mtc-aa05.stream.aol.com:80/stream/1013
- http://scfire-ntc-aa03.stream.aol.com:80/stream/1076
- http://scfire-ntc-aa07.stream.aol.com:80/stream/1003
- http://scfire-mtc-aa02.stream.aol.com:80/stream/1065
- http://scfire-dtc-aa01.stream.aol.com:80/stream/1025
- http://88.191.69.69:80
- http://scfire-mtc-aa03.stream.aol.com:80/stream/1014
- http://scfire-dtc-aa02.stream.aol.com:80/stream/1002
- http://scfire-dtc-aa02.stream.aol.com:80/stream/1010
Recargar archivo con otra codificación en Vim
A cada momento me sucede que abro un archivo codificado en UTF-8 en vim pero veo caracteres extraños ya que por defecto los muestra con codificación ISO8859-1
Una solución rápida es recargar el archivo con una codificación diferente que, para el caso, sería UTF-8:
:e ++enc=utf-8
Visto en Vim Tips Wiki
Cambiar permisos recursivamente
Una necesidad bastante común en Linux es modificar los permisos para archivos y directorios, teniendo en cuenta que estos últimos deben tener permisos de ejecución para poder ingresar a ellos; en definitiva, son diferentes los permisos que se deben dar a archivos y a directorios.
Para ello find
tiene la opción -type
con lo que aplicaría el comando para archivos y directorios; además el comando -exec
permite ejecutar cualquier otro script a los archivos o directorios encontrados.
Para directorios:
find . -type d -exec chmod 755 {} \;
Para archivos:
find . -type f -exec chmod 644 {} \;
Visto en http://movabletripe.com/archive/recursively-chmod-directories-only/
OpenProj en Español (o en cualquier otro idioma)
Éste caso no es tan sencillo de solucionar:
Se debe crear un archivo .bat (en Windows) o .sh (en Linux) con el siguiente texto:
start javaw -Duser.language=en -Xms128m -Xmx768m -Dswing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel -jar openproj.jar
El parámetro más importante, para este caso, es -Duser.language=en
que es en donde se define el idioma, ya que por defecto Java toma el mismo idioma del sistema operativo.
No he probado el parámetro -Dswing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel
en Linux ya que es orientado a Windows. Apenas tenga una respuesta estará actualizando este post
Actualizado (01.jul.10): En Linux no funciona el párrafo anterior; esa clase es exclusiva de Windows
GoodWeather, un desklet que soporta proxy
Tengo la necesidad de estar mirando el pronóstico del tiempo ya que me desplazo en moto; sin embargo el indicador del pronóstico nativo de Gnome (Weather Applet) no me sirve ya que mi ciudad (Medellín, Colombia) no está en el listado; probé otras aplicaciones que cumplieran con un trabajo similar y que fueran agradables a la vista pero no obtuve un resultado satisfactorio; en mi trabajo estamos tras un proxy y casi ninguna lo soporta. Encontré la solución con GDesklets y su bonito desklet «GoodWeather«; en su página publican un patch para habilitarle el soporte para proxies.
El resultado no podía ser mejor:

PD.: El código de localización para Medellín es COXX0020; lo encontré en Aol Weather escribiendo el nombre de mi ciudad y luego mirando el código HTML fuente, en donde aparece el código de localización.

Screenshots con mplayer
mplayer, el súper player para Windows y Linux, también permite la toma de screenshots del video; solo hay que agregarle el parámetro -vf screenshot
de la siguiente forma:
mplayer -vf screenshot <archivo_de_video>
Falta decir que el screenshot se toma presionando la tecla «s», o mejor aún, con «S» toma sucesivos screenshots

Conversión a FLV con buena calidad
Los mejores resultados se obtienen con ffmpeg y el método two-pass; para ello se debe codificar 2 veces con los siguientes comandos:
ffmpeg -i [video_original] -an -pass 1 -vcodec libx264 -b 640k -bt 12k -threads 0 -s 320x240 [video_salida.flv]
Eso genera 2 archivos: x264_2pass.log y ffmpeg2pass-0.log; no se deben borrar puesto que los necesita ffmpeg para la «segunda pasada» la cual es de la siguiente forma:
ffmpeg -i [video_original] -acodec libfaac -ab 128k -pass 2 -vcodec libx264 -b 640k -bt 12k -threads 0 -s 320x240 [video_salida.flv]
Importante tener en cuenta algunos parámetros:
-b es el bitrate del video
-bt es la tolerancia en el bitrate
-s indica el tamaño final del video
-ab es el bitrate del audio
