La primera idea sobre interfaces táctiles…
… ya estaba en el inconsciente de los programadores desde hace tiempo:
… ya estaba en el inconsciente de los programadores desde hace tiempo:
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
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
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.
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…
(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)
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>sudo dpkg --get-selections > <fichero destino> y copiar el fichero resultante a la máquina de backup./etc/apt/sources.list.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.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
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


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.
He aquí como resumen (y para acordarme) los programas que uso para transformar archivos de vídeo en mi Ubuntu Hardy Heron:
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.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.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.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).clive --ffmpeg="/usr/bin/ffmpeg -y -i %i %o" --reencode=mpg URL-DEL-VIDEO-EN-YOUTUBE.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.aviffmpeg -i kk.ac3 -acodec mp3 -ab 128 kk.mp3. También se puede instalar sound converter para gnome y hace la conversión.mkvinfo fichero.mkv y se pueden extraer con mkvextract tracks idtrack1:fichero1 idtrack2:fichero2 ... .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).
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.