Archivo para marzo de 2007

Solid State Drives

Probablemente mi próximo ordenador, sobre todo si es un portátil, ya lleve discos duros de memoria de estado sólido, o SSD, es decir, un disco duro de memoria flash con capacidades de hasta 64 GB. Vamos, eso es lo que dicen SanDisk y Samsung con sus nuevos productos.

Solid State Drives

La idea inicial es que el sistema operativo y las aplicaciones más usuales estén cargadas en dicha memoria, con lo que su inicio será mucho más rápido y su consumo eléctrico será unas 10 veces menor, y en un disco duro normal estén los datos de usuario, como las descargas del eMule :D .

A ver si se producen más noticias de estas que últimamente las únicas noticias tenológicas son de aumento de megaherzios de procesadores, que no de velocidad de procesamiento real, y ventanitas más bonitas, que no más funcionales (y de velocidad y seguridad ya ni hablamos).

Instalando svnserve, el servidor de Subversion

Una de las primeras cosas que he hecho en mi nuevo trabajo es instalar un sistema de control de versiones para tener todos los proyectos centralizados. Porque parece mentira que teniendo proyectos en PHP de más de 150 MB, lo tengan en un directorio compartido donde todos trabajan. Pero bueno, para eso estoy yo, por lo menos dejar mi semillita, como en el anterior.

Sistemas de control de versiones hay muchos, entre ellos está el más conocido y usado que es CVS. Pero este sistema está ya bastante obsoleto y, como le he usado en una de mis anteriores empresas, sé que para proyectos grandes se eterniza al actualizar y al hacer commit. Por eso mi decisión fue poner Subversion, un sistema que tiene todas las características de CVS pero que es bastante más avanzado en cuanto a integridad de los datos y velocidad de actualización.

Instalarlo en Ubuntu es fácil, basta con poner el comando correcto con apt-get o usar Synaptic, el front-end de Gnome para apt-get:

root@localhost ~ $ apt-get install subversion

Después de esto, mediante la utilidad de Subversion svnadmin, se crean los repositorios en el lugar deseado y se administran haciendo copias de seguridad, verificándolos, etc. Con svn se accede a los repositorios ya para trabajar con los distintos proyectos. La ayuda de estos comandos es bastante extensa, así que no creo que haya problema para manejarlos.

El problema de esto es ¿cómo sabe la utilidad svn dónde están los repositorios y cómo acceder a ellos? Pues bien, existen dos maneras: la primera es configurando el servidor Apache con mod_dav para acceder a los mismos y la segunda es mediante su propio servidor, svnserve. He elegido la segunda opción para tenerlo todo mejor organizado (Apache sólo para Web). Iniciar svnserve es fácil:

root ~ $ /usr/bin/svnserve -d -T -r /ruta/repositorio

Una vez realizados estos pasos tendremos un servidor Subversion sirviendo un repositorio. A este repositorio se puede acceder mediante el comando svn, mediante TortoiseSVN en Windows, o mediante Subclipse, un plugin para Eclipse que añade las funcionalidades de Subversion a este IDE. Nosotros usamos esta última opción.

Pero ¿qué pasa cuando reiniciamos el sistema? El servidor de Subversion no está activo. Hay que iniciarlo a mano y, claro, es un poco tedioso. Buscando en la documentación de Subversion no viene ningún script de como iniciarlo automáticamente y, realmente, es una carencia importante, así que, buscando por la red me encontré unos cuantos y de ellos hice el siguiente:


#! /bin/sh -e

#### BEGIN INIT INFO
# Provides:          svnserve
# Required-Start:    $syslog $time $local_fs $remote_fs
# Required-Stop:     $syslog $time $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      S 0 1 6
# Short-Description: Subversion repository server
# Description:       Ubuntu init script for the 
#                    Subversion repository server
### END INIT INFO


set -e

PATH=/bin:/usr/bin:/sbin:/usr/sbin
DAEMON=/usr/bin/svnserve
REPOS=/var/svnroot


test -x $DAEMON || exit 0

. /lib/lsb/init-functions

case "$1" in
    start)
        log_daemon_msg "Starting Subversion server" "svnserve"
        sudo -u svn $DAEMON -d -T -r $REPOS
        log_end_msg $?
    ;;
    stop)
        log_daemon_msg "Stopping Subversion server" "svnserve"
        killall $DAEMON
        log_end_msg $?
    ;;
    force-reload|restart)
        $0 stop
        $0 start
    ;;
    *)
        echo "Usage: $0 {start|stop|restart|force-reload}"
        exit 1
    ;;
esac

exit 0

Este script se debe guardar en un archivo llamado svnserve (o como se quiera, la verdad) en el directorio /etc/init.d/. Desde ahí se deben crear enlaces simbólicos a todos los directorios de inicio de los runlevels de linux, esto es /etc/rc?.d/ sustituyendo la ? por un número del 0 al 6 y una S. Esto se puede hacer a mano aunque tiene una nomenclatura específica para saber si arrancar o parar, pero se puede hacer de forma automática con un script de Debian y Ubuntu llamado update-rc.d dando el siguiente resultado:

root /etc/init.d $ update-rc.d svnserve defaults
Adding system startup for /etc/init.d/svnserve ...
/etc/rc0.d/K20svnserve -> ../init.d/svnserve
/etc/rc1.d/K20svnserve -> ../init.d/svnserve
/etc/rc2.d/S20svnserve -> ../init.d/svnserve
/etc/rc3.d/S20svnserve -> ../init.d/svnserve
/etc/rc4.d/S20svnserve -> ../init.d/svnserve
/etc/rc5.d/S20svnserve -> ../init.d/svnserve
/etc/rc6.d/K20svnserve -> ../init.d/svnserve

Con esto se toman las opciones por defecto (inicio en los runlevels 2, 3, 4, y 5 y parada en el 0, 1 y 6 con un número de orden de inicio de 20) aunque se pueden modificar pasando otras opciones al comando.

Y llegados a este punto ya tenemos nuestro servidor Subversion corriendo cada vez que se inicie la máquina en el repositorio indicado. Hay que decir que dentro de este repositorio se pueden crear otros, basta con crear subdirectorios debajo de la ruta principal y mediante la utilidad svnadmin crear los repositorios correspondientes. El servidor svnserve los reconocerá sin necesidad de reiniciar ni cambiar ningún parámetro en la configuración.

A partir de ahora sólo tengo que conseguir una cosa bastante más compleja que todo lo anterior: que lo usen. A ver si con un poco de paciencia

Los inicios

Ciertamente hace tiempo que toco esto del blog, pero es que ando algo liadillo con esto del nuevo trabajo (que ya era hora, por cierto). Y es de ello de lo que quiero hablar hoy.

Inicialmente vine aquí como programador de aplicaciones, más bien, como diseñador de aplicaciones y luego su desarrollo. Pero primero como programador para el mantenimiento de algunas ya hechas. No es algo que me guste pero la promesa futura del diseño fue lo que más me llamó la atención.

Pues no. Resulta que el primer día de trabajo tuve una reunión con el jefe de unas cuatro horas (para el primer día no está mal) donde me dijo de todo. De todo menos programar.
Lo primero fue la arquitectura de su red, lo segundo que inicialmente estaría de sistemas (cuando tengo poca idea en estos momentos), luego como mantenedor las copias de seguridad y, finalmente, como gestor de centralitas Asterisk. Un mundo para el primer día.

Así que ahora, después de pensar que iba a hacer lo que me gustaba, pues me tengo que comer estar todo el día con un Linux, instalando y desinstalando aplicaciones e intentando hacerlas funcionar. Y menos mal que en esto de la informática me gustan todas las ramas, que sino me volvía loco.

Y la verdad es que estoy aprendiendo bastante. No es lo que más me gusta pero nunca biene viene (joder, viene con b… si es que a veces…) mal. Así que, a partir de ahora, seguro que veis por aquí algún que otro pequeño artículo de lo que he aprendido.

Paciencia

Paciencia: Forma menor de desesperación disfrazada de virtud.

Ambrose Gwinett Bierce, periodista y escritor estadounidense.

El molesto icono de las actualizaciones automáticas

Bien es cierto que Windows es una cagada, pero ya de ser así por lo menos tenerlo actualizado, para limpiar un poco la mierda.

Yo tengo activadas las actualizaciones automáticas así que, de vez en cuando, me dice que toca perder el tiempo reiniciando el sistema. No hay problema. Cuando apago la máquina se actualiza y punto.

El problema que me surgió estos días es que, después de descargar unas cuantas actualizaciones e instalarlas con el consiguiente reinicio, el susodicho icono seguía saliendo con el mensaje: «Las actualizaciones están listas para su equipo». Le hacía click, desaparecía sin hacer nada y a los diez segundos volvía a aparecer.

Icono y mensaje de actualizaciones automáticas listas

Busqué por Internet como quitarlo y no encontré nada más que como eliminar el WGA. Todo sobre eso pero nada sobre este error.

Así que empecé a tocar (si es que a veces me arriesgo demasiado). Lo primero al registro: HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Windows\ CurrentVersion\ WindowsUpdate\ Auto Update. Quité cosas, modifiqué valores,… pero nada.

Luego buscar en el sistema de archivos la ruta que me encontré en el registro: C:\Windows\SoftwareDistribution. Borré algunas cosillas pero tampoco nada. Así que, directamente, borré todo el directorio (en realidad lo renombré, que tampoco hay que arriesgarse tanto :P ). ¡Ops! Está bloqueado. Aquí es donde me ayudó Unlocker. Magnífico software, por cierto.

Y por fin dejó de aparecer el molesto icono de las actualizaciones automáticas. Ahora tengo que esperar a ver si están activas y si se me sigue actualizando el sistema. De todas formas dicho directorio se recreó sin ningún tipo de error y la configuración del panel de control sobre actualizaciones sigue como yo la dejé.

Actualización: Después de un reinicio y aún volviendo a borrar el directorio en cuestión y la entrada en el registro de Windows Update (un poco arriesgado, sí), vuelve a aparecer el puto icono.

Actualización 2007-03-25: Siguiendo los consejos de Héctor parece que desinstalando la última actualización y dejando que se vuelva a instalar sóla funciona, el puñetero icono ha desaparecido, por fin.

Historias (i-)reales

Siguiendo con las historias, (i-)reales, por supuesto, de estas empresuchas que nos acompañan a donde quiera que vayamos, me escribe un amigo diciendo lo siguiente:

Nos encontramos ante la vieja historia del perro del hortelano, ni comes ni dejas comer, en otras palabras cuando te vas de una empresa o te largan, aparte de los mejores deseos de lo bien que te puede ir y todas esas falsedades que engordan la berborrea del empresario (y si es de pueblo como es el caso de nuestro terruño, peor todavía), te sugieren soterradamente, estilo mafia de andar por casa, que los trabajos realizados para su empresa se queden donde fueron cagados… bueno vale, paridos, es decir entre los muros de la carcel mental donde trabajabas.

Existe otro caso [...] que una vez que te has ido e intentas remontar el vuelo laboral (que bastante jodido es ya sin ayuda de esos [...] resentidos) te escriben (lo cual dice mucho de su nivel de de ser humano) diciendo que retires inmediatamente los trabajos realizados de tu Web con la excusa camuflada de una especie de autopromoción autónoma. En fin, ya es bastante patético por si mismo, no lo describo en más detalle que mi estómago se resiente. Pero no contentos con esto van más allá y dicen que lo más grave (amenaza en toda regla, ¿me pondré en huelga de hambre?) los trabajos que ellos desecharon por malos o faltos de calidad se estan exponiendo y deben ser retirados inmediatamente.

Al margen de las propiedades intelectuales y los derechos y demás ¿tanto daño hace que un trabajador que intenta exponer “SU OBRA” muestre trabajos que en ningún caso volverian a ser reutilizados y que sirven simplemente para exponer tus capacidades como profesional?

Para terminar, ¿que pasa por la cabeza de alguien [...] que te hace la vida imposible mientras trabajas para su empresa, para intentar seguir jodiendote cuando no estás, aunque fuera el primer interesado en que no estuvieras allí?.

Mi opinión: si no se ha firmado ningún papel de que todo lo desarrollado en la empresa es de la empresa, todo lo desarrollado en la empresa por tí es tuyo. Tú tienes la propiedad intelectual.

Luego, si las propuestas de desarrollo (da igual que sean de código fuente, de diseño grafíco o de moldeado de boñigas de vaca) han sido descartadas ¿por qué no las vas a utilizar tú en tu propio beneficio? ¡pero si son tuyas!

Quizás, visto lo visto, es posible que se iniciasen acciones legales debido a este pequeño percance, por lo que para, quizás no solventarlo pero sí mitigarlo, mi idea y proposición es cambiar ligeramente el código/diseños/boñigas con el fin de que ya no sea «El Diseño» que se había realizado en la empresa sino el tuyo propio. Fácil, sencillo y funcional.

De todas formas, esto no son más que historias (i-)reales y cualquier parecido con la realidad es mera coincidencia. Ya sabéis.

P.D.: Lo he modificado un poco porque se muestran datos que no deberían estar. De todas formas, los que realmente conocemos la historia bien sabemos las referencias.

Omemo, un mundo, un disco duro

Distribución de la red de Omemo

Omemo es un nuevo programa P2P todavía en fase de desarrollo realizado por Pablo Soto.

Omemo va a realizar al misma función que las redes de eMule, BitTorrent, Direct Connect, Gnutella, Shareaza, Kad,… pero esta vez cambia un poco la concepción: en lugar de compartir archivos, se comparte un trocito de tu disco duro para formar un disco duro mundial y gigantesco lleno de cosas.

De momento está ahí, agazapado, pero creo que algunos directivos de SGAE y Sony & BMG tienen los cojones de corbata.

AdSense y los clicks no válidos

Vamos, no gano un duro con esto de los anuncios y vienen estos tíos y me dicen que tengo clicks no válidos y me anulan la cuenta de AdSense. ¡¡Si hombre, una mierda…!!

Ya he enviado el formulario para hacer un recurso, pero vamos, ya se sabe, no creo que hagan ni puto caso.

Además, como seguramente podéis comprobar, se siguen viendo los anuncios y ¿para quién va la pasta si se hace click con mi cuenta deshabilitada?

Mudanza de regreso

Mañana sábado se va Héctor a Madrid a traerse sus cosas para aquí, así que el blog estará inactivo durante varios días. Pero no os preocupéis, que volveré con las fuerzas renovadas ;) .

Y a ver si le ponen pronto la conexión de Internet y pone el servidor en Linux y empezamos a fuchicar en condiciones… y, por supuesto, gracias Héctor por dejarme ese cachito de tu ordenador :D .

Actualización 13/03/2007: Como podéis ver, ya estoy otra vez online… ¡qué estupendo! La verdad es que pensé que iba a ser más tarde, pero no. Mira por donde los de ONO se han portado. Y sí, esto es publicidad por haber sido tan rápidos :P .

Desasnar

Esta es la palabra que me ha llamado hoy la atención desde Halón Disparado.

Desasnar: Hacer perder a alguien la rudeza, o quitarle la rusticidad por medio de la enseñanza.

Que desasnar viene del prefijo des- y la palabra asno, vamos, hacer que cierta gente deje de ser una burra.

Y es que en este mundo lo que sobran son asnos «indesasnables». Y por más que te empeñes en decirles que no, que las cosas no son así, que hay que leer, estudiar, ser escéptico… pues nada, ellos a lo suyo. Y ahora mismo se me ocurren algunos… ¡uy…! no me lo tengáis en cuenta que ya sabéis como soy respecto a estos temas.

Vamos a misa… o mejor no

Vamos, esta foto no podía dejar de ponerla… si es que te lo están diciendo y no te enteras.

Iglesia y sol

Vía Menéame.

Locationbar2

Ejemplo de Locationbar2

He descubierto vía Sólo otro blog infame un nuevo add-on para Firefox llamado Locationbar2. Con esta extensión se le dan nuevos aires a la ya de por sí gran barra de direcciones de Firefox, nuevas funcionalidades que consisten principalmente e hacer sensibles al ratón las diferentes partes de la URL de una página.

Con esto se consigue poder ir a una URL intermedia dentro de la gran URL de las páginas con la sola utilización del ratón en lugar de tener que reescribirla o borrar alguna parte. Ciertamente tengo que probarla más en profundidad pero la verdad es que merece la pena mi antención.

Pero hoy voy a ir más allá. ¿Por qué en Nautilus, el gestor de archivos de Gnome, no utilizan este tipo de barra en lugar de los botones actuales? Usando esto se evitaría tener que cambiar entre un estilo (estilo normal, escribiendo la ruta del archivo) y otro (el que usa botones) ya que este método permite tanto la edición de la ruta como la gestión de la misma mediante el ratón.

Barra de rutas en Nautilus (Gnome)

Y otra cosa, ¿a quién tenemos que hacer llegar esta reflexión para que se lo tomen en serio? Ahí queda eso.

Prohibida la inteligencia

Boquiabierto me he quedado con la correcta expresión de las verdades que todos conocemos acerca de la religión de este artículo de Ataraxia. Me quedo con este párrafo:


[...] si se rechaza la ilusión de la fe, el consuelo de Dios y las fábulas de la religión, si se prefiere saber y optar por el conocimiento y la inteligencia, entonces la realidad se nos aparece tal como es: trágica. Pero vale más una verdad que desespera enseguida y permite no perder por completo la vida colocándola bajo el signo de la muerte que no una historia que, de momento, consuela, es cierto, pero que ignora el único bien verdadero que tenemos: la vida aquí y ahora.

Yo no suelo copiar ni pegar, pero es que este está perfectamente expresado poniendo las ideas perfectamente claras. Yo, ni de lejos, lo podría haber expresado mejor.

Resolución de la pantalla de bienvenida en Gnome

Pantalla de Login de Ubuntu con Gnome

El GDMGreeter es el programa que en Linux con Gnome se utiliza para mostrar la pantalla de bienvenida al sistema. Es una parte de GDM, el gestor de ventanas de Gnome.

El caso es que haciendo pruebas con mi Ubuntu 6.10, decidí instalar KDE para ver ver como es Kubuntu. Ningún problema al ponerlo. Lo probé (no me gustó, todo hay que decirlo) y, lógicamente, lo quité. Todo con Synaptic (front-end para apt-get). Ningún problema… pero cuando reinicié el sistema, la pantalla de login de Gnome tenía una resolución un poco rara. Vamos, la resolución de pantalla era de 1792×1344 pixels. Pero la resolución del monitor seguía siendo de 1280×1024 con lo que había que «empujar» los bordes de la pantalla para que se vieran las opciones de esta ventana. Y ni idea de como volverlo a poner en su resolución original.

El caso es que le pregunté a mi amigo Nacho, muy puesto él en estos temas de Linux aunque ahora reconvertido al mundo Mac, y me dijo que lo más probable es que estuviese en la configuración del archivo /etc/X11/xorg.conf, el archivo de configuración de las X Window. Yo iba un poco perdido porque estaba mirando en /etc/X11/gdm/gdm.conf y no, no era por ahí.

El caso es que después de buscar un buen rato por Internet, Nacho me envía una página donde dice que hay que quitar todas las resoluciones que no sean la tuya en el archivo xorg.conf. Lo hago, reinicio y… no funciona. Seguimos buscando.

Al final, después de otro rato y no encontrar nada al respecto, Nachete se da cuenta de que hay una línea que pone virtual 1792 1344 en la subsección Display de la sección Screen. La comento y… ¡perfecto! Todo funcionando como antes. Por fin.

Y la pregunta que nos hicimos los dos fue «¿Cómo coño ha llegado esa línea ahí?». Pero bueno, ahora ya sabéis, si os pasa lo mismo alguna vez, hay que quitar las resoluciones virtuales ;)