Lithographica

Un cuaderno más de Juan Antonio Fernández Madrigal

La primera idea sobre interfaces táctiles…

Abril17/2010

… ya estaba en el inconsciente de los programadores desde hace tiempo:

El dolor de migrar

Diciembre10/2009

Aún migrando de hosting y dominio… Ya lo tengo todo en el de destino, y todo creado y propagado por DNS, pero me está dando la lata que resuelvan los subdominios insertando código HTML extra en las páginas que se cargan a partir de una URL que contiene el nombre del subdominio… Una forma rara de resolver un subdominio (metiéndole frames, para más señas :-O).

Por ahora este blog va razonablemente bien, dado que lo he configurado para que no use el subdominio -sino el dominio real y su directorio: jafma.net/blog-, y he quitado todos los enlaces absolutos que incluían el nombre de dominio dentro de las entradas. Probablemente tendréis (si lo seguís por feed) que cambiar la dirección del feed para que donde ponga “blog.jafma.net” ponga “jafma.net/blog”. Ésta es la opción más razonable (a fin de cuentas un subdominio es cómodo pero no es realmente un dominio).

A eso hay que añadirle que el envío de correo no me va aún (eso es importante en BIBLION), que hay algunas cosas deshabilitadas en la empresa de hosting en el PHP (como el set_time_limit, que es necesario para algunas cosillas de WordPress como importar los XML de otro WordPress), que he tenido que actualizar una entrada de cada categoría después de hacer la importación en el WordPress para que actualice la BBDD con las entradas que hay para cada categoría, que el plugin que uso para fórmulas matemáticas (EasyLatex) necesita que el directorio caché donde guarda las imágenes de éstas tenga unos permisos concretos sí o sí y que no había guardado la configuración al detalle del WordPress (permalinks, sustitución de caretillos, etc…).

Hombre, me gusta bajar a niveles inferiores para toquetear y aprender, pero espero que esta migración no termine dándome migraña…

P.D.: Si no estás viendo esta entrada, ha surgido algún otro problema ;P

Cómo hacer convivir XFCE y GNOME en la misma instalación de Ubuntu sin que se maten

Septiembre26/2009

Realmente yo me quedo con GNOME porque para tener KDE me pasaría a Windows Vista (arg), y XFCE no me termina de traer todo lo que quiero (aunque lo tengo ahora en una máquina antigua y va bastante bien). Pero bueno, hace un tiempo probé a instalar los tres en la misma máquina, para compararlos.

Instalar en una distribución de Ubuntu los tres escritorios más conocidos, Gnome, KDE y XFCE, no es complicado. Basta descargarse con el Synaptic los que te falten. Lo difícil es que luego, al entrar en XFCE, GNOME no siga quitándole el control cuando le dé la gana, principalmente cuando abrimos Nautilus (que es bastante mejor que el Thunar, sobre todo si se hace uso intensivo de conexiones SSH). Por algún extraño motivo Nautilus fuerza a que GNOME tome el control del escritorio cada vez que se abre y, por tanto, vuelves a estar en GNOME a pesar de estar en XFCE…

Pues buscando mucho por internet encontré la forma de deshabilitar ese comportamiento agresivo de Nautilus: gconftool-2 --set --type boolean /apps/nautilus/preferences/show_desktop false. Y en esto me he portado como un vulgar homo instrumentum usuarius: no tengo ni idea de cómo funciona :)

Los lenguajes de programación más populares (II)

Julio16/2009

Han vuelto a publicar el índice Tiobe, que trata de medir la popularidad de los lenguajes de programación.

La verdad, no hay grandes cambios desde la última vez que hablamos de ello en este blog, salvo que C++ se ha estancado un pelín (nada importante) y Ruby ha adelantado a Delphi (nada importante), como se ve en la gráfica:

En cualquier caso la pana la siguen partiendo JAVA y C, dos lenguajes muy distintos para cosas muy distintas. De JAVA no diré nada porque ya dije en su momento que tiene un no sé qué que qué sé yo que me da repelús. La popularidad de C es evidente dada la abundancia de sistemas empotrados y drivers que escribir y lo poco que a la gente le gusta el ensamblador (es para lo que más se usa C, y de hecho los sistemas empotrados superan en mucho, en número, a los ordenadores que normalmente vemos).

En un segundo nivel, también muy digno, C++ resiste para aplicaciones con requisitos de eficiencia serios y tamaño importante (de nuevo, no sé qué le ve la gente a JAVA, de verdad, y el que me diga la portabilidad le tiro de una pestaña), a pesar de su complejidad de aprendizaje. Y PHP como lenguaje de script para web, pese a su mal diseño, también está bien situado a pesar de que para aplicaciones grandes, dado precisamente su mal diseño, las empresas prefieren JAVA.

Obviando la inclusión de esa cosa que llaman lenguaje Visual BASIC en la tabla, el resto son puramente testimoniales en porcentaje.

En fin, si alguien está buscando trabajo de programador, quizás esta tabla le pueda servir de guía.

The day Google stood still

Febrero1/2009

Ayer por la tarde (a eso de entre las 16:00 y las 17:00, hora española), y cumpliendo las peores previsiones de una red libre de escala, a Google le dio un pallá con bastante repercusión. De repente las búsquedas tenían activado un filtro de supuesta seguridad, encargado de detectar imágenes y textos porno en las páginas de resultados (no sé qué tiene que ver eso con la seguridad; en todo caso con la protección a los menores), que: a) aunque lo desactivaras seguía en marcha, b) marcaba todas las páginas encontradas como sospechosas, c) conseguía que fuera un suplicio llegar a la página en cuestión si te daba por ignorar la advertencia, y d) iba acompañado de un enlace que supuestamente explicaba el aviso pero que no llegaba a cargar nunca.

Lo último pudo ser una caída de servidor; lo otro más bien pareció una melonada de los responsables. De hecho, se ha confirmado que así ha sido.

En cualquier caso, los que estábamos en ese momento haciendo cositas con google hemos experimentado la experiencia religiosa de su ausencia. Yo en particular me he quedado sin poder buscar qué programas en condiciones hay para distorsionado de imágenes 2D (warping) y sin encontrar algunas con las que probar. El resto de los buscadores, simplemente, siguen sin dar la talla después de años.

Ha tenido su morbo retroceder en una hora diez añitos en nuestra forma de hacer algunas cosas. Terrible cuando se piensa, pero Clarke y Kubrick ya lo advertían: el hombre se ha convertido en una especie frágil que depende demasiado de sus herramientas

Cómo hacer una actualización fresca de Ubuntu sin perder datos ni aplicaciones instaladas

Enero10/2009

(Los dos primeros pasos se pueden obviar si se tiene una red de cable par trenzado buena o bien copia de todo lo dicho en algún sitio)

  1. Buscarse un cable ethernet directo de PC a PC y otro PC con suficiente disco duro para los backup. No hay nada más rápido que un backup así o bien en DVD..
  2. Conectar el cable y configurar las conexiones de cable de ambos para que se vean (comprobar con ping y luego con ssh)
  3. Cerrar las aplicaciones que cambian datos (principalmente thunderbird y emule) y copiar los datos del que va a ser actualizado al otro. Si se hace con copia directa a través de nautilus, no preserva las fechas de los archivos. Si se quiere preservar, usar rsync -vrtpogE --links --safe-links --delete --progress <directorio origen sin terminar en barra para que sea considerado también> <usuario en pc de backup>@<ip destino>:<directorio donde crear lo leído del directorio anterior y el mismo directorio anterior si no se terminó en barra>
  4. Copiar luego el resto del contenido del /home/<usuario>, incluyendo archivos ocultos, y sin incluir .gvfs (filesystem virtual) ni .dbus ni los datos que se copiaron en 3. Copiar también aplicaciones y datos que se instalaron sin pasar por el synaptic.
  5. Preparar una lista de las aplicaciones instaladas en la máquina: sudo dpkg --get-selections > <fichero destino> y copiar el fichero resultante a la máquina de backup.
  6. Copiar también a la máquina de backup la lista de las fuentes de archivos del synaptic, que están en /etc/apt/sources.list.
  7. Copiar en papel los datos de la conexión a Internet para recuperarla luego. También las URIs de las impresioras.
  8. Preparar el CD/DVD de instalación del nuevo Ubuntu, probar una ejecución en livecd, y hacer si todo va bien una instalación fresca.
  9. Recuperar datos de la red y de las impresoras, y si se tiene algún driver propietario (p.ej., NVIDIA), activarlo (quizás sea necesario resetear luego para que tome la configuración).
  10. Después instalar todas las actualizaciones que haya en los repositorios para esa versión.
  11. Copiar los archivos de fuentes al directorio correspondiente de la instalación nuevo y el de paquetes al home. Usar gedit para editar el de fuentes para adaptarlo a la distribución que se ha instalado. Luego hacer sudo apt-get update para que las pille, y luego sudo dpkg --set-selections < <fichero de aplicaciones> y luego sudo apt-get dselect-upgrade. Esto tardará porque se descargará todas las aplicaciones. Se pueden quitar del fichero de aplicaciones las que no nos interesen.
  12. Una vez descargadas todas las aplicaciones, descargar el backup de los datos y del home y resetear. En mi caso, aparte del XAMPP y sus BBDD (que he tenido que recuperar a mano) y del Scanner (que tenía apuntado cómo configurarlo), no he tenido que hacer nada más…

Editado 11/01/09: Si a alguien le parece tedioso esto, que intente montar una máquina Windows instalando éste de nuevas y recuperando luego todas sus aplicaciones, incluyendo las configuraciones de cada una. La montaña de DVDs, las horas instalando cosas y la imposibilidad de no recuperar las configuraciones de cada aplicación me parecen motivos más que suficientes para ir quitándose de Ventanitas :-)

Los lenguajes de programación más populares

Enero4/2009

Que no quiere decir mejor diseñados (como se ve por la buena posición de esa cosa que se llama VisualBASIC), ni mejores para ninguna aplicación en particular, pero que da una idea de las necesidades de la gente a la hora de desarrollar proyectos software.

Los datos de las figuras inferiores son del índice TIOBE de Diciembre de 2008, y de las tendencias durante los últimos años.

Aún me asombra que JAVA siga en primer lugar (es un asombro subjetivo, porque JAVA no me gusta nada), que los lenguajes más antiguos estén en puestos más que decorosos (C por ser el más eficiente y cercano al hardware dentro de los de alto nivel, COBOL me imagino que por el parque de software preexistente en ese lenguaje, ¡Logo!, etc.), y la impresionante acaparación de puestos para lenguajes dinámicos y de script (lógico hoy en día pero que no tendría ningún sentido haberlo supuesto hace poco más de diez años).

En cualquier caso, está claro que JAVA y C juegan en la categoría de los superguerreros del espacio, C++, PHP y esa cosa que se llama VisualBASIC se defienden dignamente, y el resto… bueno, había que rellenar 20 puestos :-)

Leves retoques a BIBLION

Noviembre22/2008

Hoy (y en parte el fin de semana pasado) he podido dedicar otra vez un rato a BIBLION, mi sistema de bibliotecas personales y compartidas que nunca podrá competir con software hecho por gente con más tiempo y más dinero (y más manos) que yo, pero que como nunca lo pretendió seguirá ahí, sin incluir publicidad y sin grandes aspavientos, mientras me dé distracción y buenos ratos. Y lo que he aprendido, oiga.

Lo último que le he añadido ha sido una mejor gestión de los títulos de los libros, desglosando en serie, volumen y título propiamente dicho, un visor (sólo para administradores) del arbol relacional de cada libro en la base de datos, un fusor de libros (hay gente que me registra el mismo libro más de una vez) y un bonito botón de Google para buscar en la web tanto los libros como sus posibles portadas.

A la izquierda de este blog, un ejemplo de la utilidad del sistema.

Herramientas de edición de vídeo para Linux (howto)

Noviembre2/2008

He aquí como resumen (y para acordarme) los programas que uso para transformar archivos de vídeo en mi Ubuntu Hardy Heron:

  1. Si es AVI con track de audio MP3, ninguno :-) Aunque hay que tener cuidado: si las dimensiones son demasiado “cuadradas” (similares en altura y anchura), es posible que el reproductor recorte la altura dejando la anchura ajustada a la pantalla, y si la película tiene subtítulos, éstos pueden no verse en la tele por ese recorte… (en ese caso, lo proceso según el paso 2).
  2. Si el track de audio no es MP3, o quiero obtener compatibilidad con reproductores antiguos, uso ffmpeg para convertirlo a MPG/MP3 con ffmpeg -i "fichentrada.avi" -target pal-vcd -s MxN -padtop Z -padbottom W -padright Y -padleft X "fichsalida.mpg", donde M es el ancho en píxeles de la imagen final, sin contar el relleno en negro, N el alto, Z los píxeles de relleno en negro superior, W el relleno inferior, Y el derecho y X el izquierdo, teniendo en cuenta que MxN debería tener el aspect ratio adecuado, que los rellenos en negro deberían ser múltiplos de 4, y que M+Z+W = 288 y N+Y+X = 352, las ridículas dimensiones de un vídeo MPEG.
  3. Si tengo que añadir subtítulos, depende de en qué formato vengan. Si vienen en formato SRT uso mencoder de la siguiente forma: mencoder -oac lavc -lavcopts acodec=mp2:abitrate=64 -ovc xvid -xvidencopts bitrate=-600000 -sub "subtitulos.srt" -font /usr/share/fonts/truetype/freefont/FreeSans.ttf -subfont-text-scale 3 -o "ficheroresultante.avi" "ficheroorigen.avi", donde el “-600000″ indica que el resultado ocupe menos de 600Mb.
  4. Si los subtítulos vienen en formato .sub+.idx (o sea, Vobsub sacado directamente de un DVD o similar), hay que escanearlos con un OCR para transformarlos en SRT. Avidemux (que para las conversiones directas de vídeo dejé de usarlo porque siempre cascaba) tiene una herramienta buena para eso.
  5. Si los subtítulos vienen en formato SUB, se pueden transformar en SRT con la herramienta sub2srt, aunque aún no la he probado.
  6. Si quiero desplazar el audio para quitar desfases, uso de nuevo mencoder: mencoder -oac copy -ovc copy -delay 1.250 ficheroorigen.mpg -o ficherofinal.mpg, donde 1.250 es el desfase en segundos (con decimales), que es positivo para adelantar el audio, negativo para atrasarlo.
  7. Si quiero desfasar los subtítulos, los puedo modificar con el script subs que viene en el paquete libsubtitles-perl del repositorio universe. La línea sería subs -i -b -7 fichero.srt para adelantar 7 segundos los subtítulos (y dejarlos en el mismo fichero, que pasa a ser .bak).
  8. Si el vídeo lo quiero capturar de Youtube, a veces es tan simple como dejar que lo precargue y luego cogerlo del directorio de la caché de Firefox; pero esos vídeos pueden venir en formato .flv, con lo que es deseable pasarlos a mpeg, por ejemplo. Tanto para hacer la captura directamente desde la web de youtube (sin tener que andar con la caché) como para transformarlos en .mpeg, se puede usar la utilidad Clive mediante este comando:clive --ffmpeg="/usr/bin/ffmpeg -y -i %i %o" --reencode=mpg URL-DEL-VIDEO-EN-YOUTUBE.
  9. Si el fichero de vídeo tiene varias pistas de audio mezcladas (por ejemplo, inglés+español), se pueden demultiplexar con Avidemux (menú Audio -> Main Track y luego Audio -> Save). Para multiplexar de nuevo con la pista de vídeo: ffmpeg -i ficherooriginal.avi -vcodec copy -map 0.0 -i pistaaudio.mp3 -acodec copy -map 1.0 ficherosalida.avi. Al ejecutar esto da también una lista de los tracks del fichero original de vídeo y del de audio, con sus números, por si estas opciones que pongo aquí para los mapeos (map) no se aplicaran igual. NOTA: Si supiéramos la numeración de ffmpeg para los tracks de audio del vídeo original, se podría hacer todo en un paso con el ffmpeg: ffmpeg -i ficherooriginal.avi -vcodec copy -acodec mp3 -ab 128 -map 0.0 -map 0.1 ficherosalida.avi
  10. Si la pista de audio la tengo separada y no está en mp3, se puede convertir a mp3. Por ejemplo, si está en ac3 se puede hacer ffmpeg -i kk.ac3 -acodec mp3 -ab 128 kk.mp3. También se puede instalar sound converter para gnome y hace la conversión.
  11. Si el fichero es Matrovska (.mkv), se puede ver los tracks que contiene con mkvinfo fichero.mkv y se pueden extraer con mkvextract tracks idtrack1:fichero1 idtrack2:fichero2 ... .
  12. Si el fichero de vídeo es realvideo (rm, rmvb, rv40), se puede convertir a xvid con mencoder normalmente, siempre que se tengan instalados los codecs con sudo apt-get install w32codecs o w64codecs.

Algunas veces hay que hacer varios pasos de éstos hasta llegar al formato definitivo. Y siempre es bueno darle un repaso al vídeo resultante para ver que la sincronización de subtítulos esté bien, y el audio (algunas conversiones AC3->MP3 desfasan el audio).

25 años optimizando las ventas de software

Octubre25/2008

Veo en PC World una historia visual a través de los 25 años que celebra ahora MS Word. Está muy curiosa, aunque aparte del WordPerfect se les olvida mencionar el que nos chiflaba por la época de MS-DOS (y que ya era WYSIWYG), el genial ChiWriter. Hace un tiempo, en una de mis periódicas picadas de tecno-nostalgia, lo recuperé sobre una máquina virtual con VirtualBOX y casi se me saltan los lagrimones :-)

Quitando eso, viendo la evolución del programa que hoy en día se ha establecido como monopolio de facto y que incluso se está comiendo un buen trozo del pastel en dominios que eran tradicionales de sistemas mejores hechos, como Latex, es asombroso que tras tantos cambios y supuestas mejoras en el susodicho aún continúe siendo incapaz de no modificar el aspecto de la página impredeciblemente cuando cargas el documento en un ordenador diferente. Algunas veces incluso en el mismo. Por no hablar del tamaño de los ficheros resultantes, y tantas otras cosas.

En fins, si alguien piensa que la calidad del software es lo que prima en la evolución de éste, es que se ha perdido los últimos veinte años de la historia de la informática doméstica ;P

Yo comencé, como digo, con el ChiWriter. Luego, en Windows, pasé a Amipro-Wordpro, que llegó a competir muy seriamente con MS Word aunque nadie se acuerde ya de él, y con el que aguanté hasta que poco a poco el Word se fue comiendo el terreno de todos los demás y me obligaba a sobreutilizar las capacidades de exportación/importación del mío. En medio me di un garbeo por Latex durante la tesis, que me encantó, aunque reconozco que no mucha gente estará dispuesta a programar un texto en lugar de escribir un texto (digo yo), incluso aunque los resultados sean de una calidad excelente (y el manejo de ecuaciones es inigualable). Tras mi paso definitivo a sistemas UNIX di el salto también a OpenOffice, que por ahora no cambio por nada; no es tan profesional como Latex, ni su manejo tan “suave” como Wordpro, ni seguramente tenga tantas funciones inútiles como Word, pero el editor de ecuaciones textual engancha :-)

Y además por defecto empotra todas los fuentes en la opción integrada de generar PDF, lo cual no está pagao cuando envías algún paper a un congreso del IEEE.

« AntiguasNuevas »
  • Últimas lecturas:

  • Andanzas artísticas:

  • Criaturas:

  • Creative Commons License