MarioDebian, mi devlog

Bitácora de un desarrollador newbie.

Encuentro con el Rector de la Universidad de Valladolid y Software Libre
Como anunciaba en la anterior entrada, el pasado lunes 29 de Enero nos reuníamos con el Rector de la Universidad de Valladolid D. Evaristo J. Abril Domingo.

Antes de entrar a lo que hablamos durante la corta entrevista, quiero agradecer a la Asociación ADDE por haber movido los hilos necesarios, a la Vicerrectora de Estudiantes y Empleo Dña. Mª Isabel Vicente Maroto, por haber concretado la entrevista, y a Dña. Cristina Pérez Barreiro, nuestra Subdirectora de Alumnos de la Escuela Universitaria Politécnica.

El motivo del encuentro consistía en dar a conocer a toda la comunidad universitaria nuestra asociación SOLEUP, explicarle qué actividades, y cursos hacemos y ponernos a disposición de quien nos necesite para fomentar el uso del software legal y libre dentro y fuera de las puertas de esta nuestra universidad.

A cambio de estos ofreciemientos hemos pedido alguna cosa, como por ejemplo, expandir la asociación a toda la universidad, no sólo a nuestra escuela, y contar con la colaboración de algún miembro docente para que el futuro de la asociación no dependa sólo de estudiantes que terminan y se van.

Los proyectos que hemos presentado al rector son básicamente terminales ligeros y metadistros, el proyecto TCOS es, sin duda, el que más interés ha depertado en el rector, ya que la universidad tiene un gran problema en cuanto a material informático obsoleto y pocos fondos para renovar todo lo que se va quedando viejo, al menos tan rápido como se quisiera... Otro de los grandes problemas es que pocos edificios de la universidad tienen aulas de libre acceso como tenemos en la Politécnica.

El proyecto de distribuciones a medida también resultó interesante dado que anualmente se usa GNU/Linux para muchas prácticas (sobre todo programación y redes) y sería interesante tener algo hecho más a medida que cualquier distro existente.

Creo que llegamos en un buen momento, ya que con la salida de la nueva versión de Windows Vista, sus altos requerimientos y supongo que un nuevo añadido al contrato de licencia de Campus, es cuando hay que mostrar todas las cartas y demostrar que son las mejores... de hecho la Junta de Castilla y León con la que también hemos tenido un pequeño encuentro está muy interesada en empezar a usar Software Libre en educación.

No recuerdo, porque además pasó hace bastante tiempo, cuando la administración de Extremadura y Andalucía dieron la oportunidad al Software Libre ni quien estuvo en ese momento como «lobby» y sería interesante saber, qué condiciones propusieron y con quién contaron entonces para usar la misma estrategia, que tan bien ha funcionado allí, en nuestra tierra.

Hasta el día de hoy son todo buenas palabras, pero mis compañeros aún dudan de la existencia de un modelo de negocio con el Software Libre, yo creo que si exite, de hecho estamos en la primera fase de captación de clientes y con webs como la pastilla roja o vivir del software estoy más convencido de que es posible.




Problemas de DNS [solucionado]
Alguien puede acceder a forja.rediris.es ???

A mí me sale la web de la Federación Andaluza de Atletismo :|



Mis DNS son:

157.88.18.189 (Universidad de Valladolid)
192.168.0.1 (mi router, es decir, los DNS de yacom, que espero que no se hayan vuelto a pasar con el tema de la publicidad encubierta!!!)

Tengo algún cambio importante en el SVN de TCOS y no puedo subirlo.

UPDATE (19:20):

Yacom viene liándolas muy gordas con sus dns y en vez de mostrar un error de página no encontrada, sale su web y te redirige a publicidad.
Que se traspapele de esta forma ya me parece denunciable, es más, les quedan menos de 3 meses hasta que se cumpla el año de contrato.


PD.- Desde la universidad funciona correctamente.

PD2.- Acabo de venir del Palacio de Santa Cruz en el cual hemos tenido el primer acercamiento con el Rector de la Universidad de Valladolid. Puedo adelantar que la universidad está muy interesada en el reciclaje de equipos obsoletos mediante aulas TCOS... ya hablaré de las conclusiones en otro artículo.




Actualización de los paquetes de TCOS
He actualizado los paquetes de TCOS para las distribuciones soportadas (Debian testing/unstable y Ubuntu dapper, edgy y feisty) en el mirror de TCOS.

Uno de los problemas a los que me voy a tener que enfrentar a partir de ahora son 3 versiones diferentes de usplash y para más complicaciones, INCOMPATIBLES entre sí.

1.- Usplash de Ubuntu dapper (el más viejo), versión 0.2-4, el tema es un png de 640x480 con una paleta de 16 colores y se compila dentro del propio paquete usplash con bogl

2.- Usplash de Debian, versión 0.3a, el tema es un png de 640x480 pero se han añadido definiciones de tema en forma de ficheros .c que se compilan junto con bogl para producir el tema. Este tema no es compatible con la versión 0.2-4. Los temas pueden compilarse independientemente del paquete usplash, de hecho el paquete usplash trae un tema parecido a la carta de ajuste (testcard).

3.- Usplash de Ubuntu edgy/feisty, versiones 0.4-33 y 0.4-34, los temas ahora son más completos, tienen varias resoluciones y ha aumentado la paleta de colores a 255, un throbber (barra) que se mueve como las luces del coche fantástico en los principios del arranque y después como barra de progreso. Tiene un fichero .c que es donde se indican todas las resoluciones soportadas y para compilar se convirten todos los png a .c (se guarda la paleta y los pixel como un static char), se compila a código objeto y se unen todos en un .so bastante más grande que los anteriores (1.8 Mb). Ahora usplash soporta dinámicamente el tamaño de splash en /etc/usplash.conf pero no es compatible con ninguno de los dos anteriores...


Y yo me pregunto... en el mundo del software libre se intenta que cada aplicación sea lo más compatible con versiones anteriores (ejemplos como gcc o muchas otras librerías lo afirman) ¿tan dificil era haber hecho retrocompatibilidad con usplash?

Es que un problema como este, me recuerda cuando el propio Microsoft Office Word 97 no podía abrir algunos documentos del Office 2000 !!!!

En fin, seguiremos solucionando algunos pequeños detalles para que funcione lo mejor que pueda en sistema tan distintos.




Inauguración de la web del 15 Congreso Universitario de Innovación Educativa en las Enseñanzas Técnicas
Después de varios meses de mucho trabajo, de cambiar la misma cosa varias veces y de aprenden un montón de herencia en css y javascript hoy se ha decidido quitar las restricciones de acceso a la web del 15 Congreso Universitario de Innovación Educativa en las Enseñanzas Técnicas.

La web está diseñada para ser lo más intuitiva posible, he intentado que fuese válida en HTML y CSS, y se han usado muchas cosas juntas:

  • PHP y MySQL, son los "cuasi estándares" para la programación web hoy en día.
  • Smarty: como motor de plantillas PHP, esta vez sí el código HTML está separado del PHP.
  • CSS para indicar colores, tamaños y demás (contiene varios trucos sucios sólo IE...)
  • Un montón de clases PHP que controla cada una los permisos, el gestor de módulos, la conexión a la base de datos, los eventos...
  • Un montón de módulos que se van cargando dependiendo de la url.
  • htaccess de Apache para renombrar las url tipo index.php?foo=bar&foo2=bar2 a algo más amigable como bar/bar2
  • Javascript, para muchas cosas pero tampoco creo haber abusado, validaciones, efectos de desaparecer y sobre todo alguna cosa interna en AJAX.
  • He colado convencido que usasen un tipo de licencia Creative Commons para el contenido de la web.
Pues lo dicho, quedais todos invitados a ver la nueva web:

15CUIEET





Publicado InlineEditor 0.1
Acabo de escribir un pequeño manual de uso de un editor «en línea» de datos tabulados, mezcla de javascript, AJAX y script.aculo.us.

Podeis descargar el código fuente ( GPL ) y probarlo en esta web:

InlineEditor by MarioDebian

Pequeño screncast de prueba

NOTAS:
1.- No guarda datos, para que guarde hay que programar dos o tres cosas en PHP o el lenguaje de servidor que gustes.
2.- No soy un experto en javascript.
3.- En Internet Explorer 6 hace cosas raras. :(
4.- No es un proyecto de futuro, sólo lo he programado porque tenía que usarlo en una de mis páginas.


Disfrútalo ;)




Año nuevo backups nuevos
Semanalmente tengo programada una tarea en el crontab para realizar un backup de los datos más importantes de mi equipo. El script lo encontré en un foro de ubuntu hace tiempo y guarda lo que se le pida en archivos tar.gz.

Después de unos retoques añadi la opción de que mostrase mensajes de notificación (incluso ejecutandolo desde el cron como root) en mi sesión, se puede ver en backups_exclusions.sh, y el script que lanza las notificaciones g-message. Basta con copiar esos script en /usr/bin o /usr/local/bin y añadir al crontab algo como esto:

00 16 * * 7 root /usr/local/bin/backup_exclusions.sh

Esto hará una copia de seguridad semanal los domingos a las 16:00. (hay que editar la variable dirs para indicar donde se almacenará la copia, y la variable backupdirs para indicar qué directorios queremos poner a salvo, se puede cambiar también el tamaño de archivo máximo, 20megas, o crear archivos .exclude en cada directorio para omitir cosas que no queremos tener en los backups)

Hasta ahora no he tenido que recurrir a las copias de seguridad más que un par de veces y es bastante poco productivo tener que descomprimir un archivo de casi 1Gb para recuperar un par de archivos de configuración (generalmente el de gconf, liferea o gaim)

Sabiendo que existen sistemas de archivos que además de comprimir los datos bastante (más de 3:1) se pueden montar por medio de loopback he modificado el script para que en vez de crear tar.gz cree archivos SQUASHFS. Nuevo script: backups_squashfs.sh.

Resultado de la ejecución de hoy (ha sido manual, aún no son las 16:00):

mario@mariodebian:/mirror/backups/auto$ ls 07-ene-2007/
dpkg-l.txt.gz mario.squashfs prueba2.squashfs _root.squashfs _var_www.squashfs
_etc.squashfs _opt.squashfs prueba.squashfs statd.squashfs

Se ha hecho una copia de cada home, (la que mas ocupa es mario.squashfs ~800Mb) y de varios directorios /var/www, /opt, /etc y un listado de los paquetes instalados dpkg-l.txt)

mario@mariodebian:/mirror/backups/auto$ du -h
1,1G ./31-Dec-2006
908M ./07-ene-2007

El tamaño del backup ha disminuido un poco desde la semana anterior y si necesito algo es tan fácil como montarlo:

# mkdir tmp
# mount -o loop -t squashfs /mirror/backups/auto/07-ene-2007/mario.squashfs tmp/

Cada mes suelo limpiar los backups viejos y guardar el primero y el último en un dvd regrabable.

Adios a las copias de seguridad en tar.gz !!!





Los que usan IE la tienen bien ancha
Como ya he contado en otras entradas de este blog, este año, como becario me ha tocado programar/diseñar la web del 15 Congreso Universitario de Innovación Educativa en la Enseñanzas Técnicas (en su día y cuando la web pueda ser pública ya pondré los enlaces).

Hasta ahora he trabajado con Firefox (2.0.0.1), y una extensión que desde que la conozco no puedo vivir sin ella, firebug, capaz de editar html, css o ejecutar javascript al vuelo, y que muestra las peticiones XmlHttpRequest (AJAX) entre otras mil cosas. Imaginaos lo que me puede gustar esta extensión que seguramente cuando cobre la primera mitad de la beca haga una donación al proyecto sólo por lo que he disfrutado con ella.

Pues bien, la web la he maquetado con varios div (nada de tablas) y en esas que me dió por usar la propiedad CSS min-height para que el menú lateral tenga la misma altura que el contenido central. Sorpresa cuando hoy he abierto la web con la puta mierda el navegador IE y veo que cada div ha tomado vida, se han ido de donde les dije que tenían que estar y los márgenes suman o restan 10 px aleatoriamente sin saber cómo. Por lo visto en IE < 7 el atributo min-height está reservado para tablas. Ellos mismos reconocen que el ancho de un elemento no es el mismo para IE que para el resto del mundo. ¿Quién dice que el tamaño no importa?

«Los que usan IE la tienen más ancha !!!»

Primer problema, aunque firebug se puede usar como varios js empotrados/embebidos no es nada comparable a usarlo como extensión nativa de firefox, así que me quedo sin poder editar las propiedades CSS al vuelo.

Segundo problema, podía intentar usar el Microsoft Debugger pero por un motivo que desconozco, después de pasar el test de genuidad de software, descargarlo, instalarlo y reiniciar, no es capaz de arrancar cada vez que hay un error javascript, lo que no voy a hacer es instalar todo el paquete del Office para tener la mierda del debugger así que estoy como con un coche sin llaves.

He probado millones de trucos que consisten en explotar vulnerabilidades del motor de procesamiento css, por ejemplo si le pasas esto:

width: 100px;
w\idth: 140px;

Adivinad donde se tuesta IE.... Pues en cualquier navegador ese elemento tendrá un ancho de 140px, pero en IE se quedará en 100px.

Otra opción (de las mejores) es indicar en el código html algo como esto:

<!--[if IE 6]>Estas usando la mierda del IE 6<![endif]-->

De hecho este código lo tengo en este humilde blog para mostrar un banner de firefox, lo podéis ver al principio del código fuente sino usais Firefox.

Otra de las cosas que me trae de cabeza es un div flotante que sale y se esconde cuando se ejecuta una llamada AJAX (idea tomada del gestor de correo roundcubemail), resulta que IE no entiende el atributo CSS position:fixed por lo que cada vez que sale el mensaje se mueve todos los elementos para abajo y para arriba. Así que lo he puesto como flotante pero si haces scroll ya no se ve :(, he conseguido solucionarlo chapuceramente llamando a javascript desde el CSS, como lo explican aquí.




Distribuciones autonómicas y no autonómicas
Cuando aterricé en el mundo del software libre, y de GNU/Linux en particular, no entendía la necesidad de que hubiera tanta distribución o lo que es lo mismo distintas formas de «envolver» ese conjunto de herramientas, programas y archivos que hacen el sistema operativo. Con el tiempo he visto que esto tiene una razón de ser, y es que cada grupo de gente entiende la filosofía y la forma de trabajar de esas herramientas de una forma distinta.

Así es como nacieron muchas distribuciones, algunas aportando un valor especial que el resto pudo (o no) aprovechar (ventajas del software libre) y otras que remaron en una dirección equivocada y desaparecieron.

De un tiempo a esta parte y por diferentes razones me he visto en las tripas de algún proyecto y he visto las formas de trabajar y organizarse del grupo de desarrolladores, y aquí es donde quiero entrar a hablar sobre las distribuciones autonómicas.

Debian ha sido (y sigue siendo) la distribución base de todas ellas (aunque ahora con el nombre de Ubuntu). En su día cuando empecé a colaborar (por llamarlo de alguna manera) en el proyecto Metadistros me parecía genial que todos hubieran tomado lo mejor del proyecto y hubieran contribuido a solucionar los fallos que tenía o ampliar sus características.

Desde hace algo más de un año las distribuciones más importantes (sin contar Linex que sigue siendo Debian) se han ido pasando a Ubuntu (Guadalinex, Molinux, MaX, Lliurex...) y cada una ha ido remando para conseguir una distrubución sencilla de manejar pero en general sin compartir la base de su trabajo.

Las distribuciones autonómicas son desarrolladas por empresas (consultoras) que, contratadas por la comunidad autónoma correspondiente, se ganan un dinero (no voy a entrar si bien o mal, o mucho o poco, porque no lo sé) mediante el empaquetado, personalización, mantenimiento y demás complementos que indiquen «los que pagan».

Y digo yo, si esa distrubución la pagamos todos con nuestros impuestos, ¿no tenemos derecho a saber como está hecha y poder aprovechar parte de ese trabajo para que la distribución de la comunidad vecina no tenga los mismos fallos? Yo creo que sí, el problema es que se está dejando de lado la filosofía de software libre y esos programas que remasterizan la distro son los que dan de comer a los trabajadores de la consultora....

No todos son así, ni mucho menos conozco uno por uno los casos de todas, pero puedo decir que una sobresale sobre los demás y es el caso de Guadalinex donde el desarrollo es totalmente abierto e incluso se puede participar solucionando fallos, o simplemente fisgar sus «trucos» en un svn público. Mi más sincera felicitación al equipo de Emergya, y todos sus desarrolladores.


NOTA.- Puedo estar metiendo la pataza hasta el fondo (y rectificaré si fuera necesario), pero por lo que he estado investigando el resto de distros no comparten mucho de su «know-base».

NOTA-2.- Primer artículo del año: FELIZ AÑO NUEVO A TODOS.



Hace un año: Feliz año