Archivo para abril de 2010

The Ubuntu Manual

Ubuntu Manual Project

Acaba de salir The Ubuntu Manual, un proyecto que intenta crear un manual para el sistema operativo Ubuntu, una distribución de GNU/Linux.

En este manual se encuentra la información que un usuario final necesita para hacerse con el sistema, desde el principio, es decir, desde la instalación en un equipo hasta la configuración del mismo pasando por la información necesaria para el manejo de las aplicaciones que usamos en el día a día, como un navegador Web, un cliente de correo electrónico, etc. Además, por supuesto, de mantenimiento del sistema e instalación de software adicional.

Pero lo mejor, quizás, es que está en español (y en unos cuantos idiomas más), capturas de pantalla incluidas. El problema es que todavía no está en español :( .

A nivel de usuario, creo que es lo que faltaba para que la adopción de otros sistemas operativos empiece a despuntar. Bien es cierto que con Windows tampoco teníamos manual, digamos que aprendimos “de oídas”, así que ahora que tenemos oportunidad, creo que es buena idea ponerse con esto y empezar, no quizás a eliminar por completo la otra alternativa, pero sí a probar para ver, al menos, qué es lo que nos estamos perdiendo.

Si vuestro uso del ordenador es el de un usuario normal, es decir, más o menos, navegar por Internet, leer el correo electrónico, chatear, editar documentos de texto y hojas de cálculo, ver presentaciones, escuchar música y ver vídeos1, os animo a todos a probar Ubuntu, que tiene manual, o cualquier otra distribución de GNU/Linux.

1 Por supuesto se pueden hacer muchas más cosas que estas, esto sólo es el principio.

Para sentarse en Las Cortes

España debe de ser el único país de Europa [...] donde para sentarse en las Cortes no hace falta tener ni el bachillerato.

Arturo Pérez Reverte, novelista y periodista español, en un artículo refiriéndose a la gran formación de nuestra clase política.

Copia de seguridad de la copia de seguridad

El disco duro que compré nuevo hace unas semanas era, principalmente, para hacer copia de seguridad de todos los datos, incluyendo la música y las películas, por eso estos días ha tocado hacer copia de seguridad de la copia de seguridad que tenía en CD para así jubilar mi antiguo disco duro de 30 GB.

El caso es que copiando los CD al disco, he visto que esa publicidad que dicen que duran hasta 10 años sin que se corrompan los datos no es del todo cierta. He pasado alrededor de 200 CD y unos 15 DVD y han fallado 13 CD no superando ninguno los 5 años; DVD no ha fallado ninguno, aunque también es cierto que son bastante más nuevos. Los CD que han fallado son de las siguientes marcas:

Marca Estropeados
Benq 5
Memorex 5
Princo Budget 2
Emtec 1

Los CD siempre han estado guardados en su caja en la habitación y sin apenas movimiento. Y en la habitación si que hay esas condiciones de lugar fresco y seco.

Con esto no quiero decir que unas marcas sean mejor que otras, pero, por ejemplo, los Princo Budget eran una tarrina de 100 a un precio irrisorio y ahí están, más de 90 siguen en perfecto estado, mientras que los Memorex, por ejemplo, que mucho prometen en su publicidad, son de los que más han fallado.

Lo bueno de esto (siempre hay un lado bueno) es que no había datos irrecuperables en ellos, sólo eran películas que, gracias a la generosidad del resto de usuarios de la red, he podido conseguir sin mayores problemas.

De esto he sacado una conclusión, y es que tanto los CD como los DVD como los Blu-ray están abocados a la desaparición. Son formatos de almacenamiento limitados, tanto en capacidad de almacenamiento de datos, como en velocidad de lectura/escritura, como en capacidades de escritura (recordemos que necesitas una grabadora). Y gracias al abaratamiento de los discos duros y a las mejoras en las tarjetas de memoria y discos SSD, creo que en poco tiempo, siempre y cuando no haya ningún lobby que los defienda, terminarán por desaparecer. Aunque hay que reconocer que tienen una ventaja, y es que no les afectan las radiaciones electromagnéticas. Pero la tecnología avanza rápido y las tarjetas de memoria van camino de soportarlo, porque sino las que viven dentro de teléfonos móviles deberían estar fritas.

Volviendo al tema de las copias, como nota curiosa, mi copia de seguridad son aproximadamente unos 400 GB, de los cuales solo unos 30 GB los he generado yo entre fotos y documentos, mientras que el resto es música y películas, aunque no cuento los correos electrónicos ni las citas de calendario, y eso ya subiría el tamaño bastante más.

Carácter

Es más propio del hombre de recto carácter el odio abierto y declarado que ocultar los sentimientos bajo un semblante tranquilo.

Marco Tulio Cicerón, jurista, político, filósofo, escritor y orador romano entre el 106 a.C. y el 43 a.C.

El caballo

En los solares, el estiércol de caballo se amontonaba hasta alturas de 18 metros, flanqueando las calles de la ciudad como cuando se apila la nieve a los lados. En verano, el hedor llegaba al cielo; cuando llegaban las lluvias, un torrente espeso de estiércol de caballo inundaba las aceras y se metía en los sótanos de las casas. Ahora, cuando admire las piedras marrones de la vieja Nueva York y sus elegantes escalinatas que suben desde la calle hasta la entrada de la primera planta, acuérdese de que eran un diseño surgido de la necesidad, que permitía que los residentes subieran por encima del mar de estiércol de caballo.

Encontrado en la segunda parte de ¿Cuál fue el medio de transporte que más problemas causó a la humanidad?

Creando pthreads en Linux (y sus problemas)

Hoy toca otra vez de esos tostones informáticos que no interesan a nadie, como el de GCD, pero que lo pongo para hacer copia de seguridad de estas pequeñas investigaciones.

Estoy haciendo un proyecto donde tengo que utilizar multiproceso para que varias tareas se ejecuten simultáneamente (nunca mejor dicho) que consiste en conectar a varios equipos lanzando varios hilos para que el intento de conexión a uno no haga esperar las conexiones a los demás. Una vez lanzados todos se espera por ellos hasta que terminen de conectar para iniciar el resto del proceso.

El desarrollo es en Linux y en C++ y todo el proceso está dentro de una sola aplicación, es decir, no hay varias aplicaciones que se lanzan desde una shell de forma simultánea, no, es una única aplicación desde donde está todo el proceso, por eso no se pueden usar varios procesos sino que se usan hilos, exactamente pthreads.

Los pthreads son el estándar POSIX para hilos de ejecución. Además, también definen la sincronización de los mismos mediante mutex y variables de condición (que, por cierto, nunca he entendido su funcionamiento; yo uso semáforos).

Para facilitar la mantenibilidad del software, he implementado toda la funcionalidad mediante orientación a objetos, incluidos los hilos, semáforos, mutex, etc., por lo que para iniciar un hilo, se haría de la siguiente forma:

class MyThread : public Thread {
public:
MyThread() : Thread {}
virtual ~MyThread() {}
virtual void* run(void* arg) {
cout << “MyThread::run()” << endl;
}
};

MyThread* thread = new MyThread();

thread->start();
thread->wait();

delete thread;

Dentro de la función start() se crea un pthread y se inicia mediante la función pthread_create(...). En la función wait() se espera por el hilo hasta que finalice su ejecución mediante la función pthread_join(...).

La clase Thread cuenta también con funciones para parar un hilo, reiniciarlo, etc. También se puede pasar como parámetro la función a ejecutar o, incluso, una clase que herede de la clase ThreadFunction que tiene la función run() para que así esta implementación sea bastante polivalente.

Hasta aquí todo bien. La verdad es que funciona de forma bastante estable, creo que es sencillo de utilizar (al menos es lo que pretendo) y bastante mantenible ya que cualquier modificación afecta sólo a la clase y apenas hay que tocar el resto de código.

Pero, a partir de aquí, en cuanto se empieza a hacer un uso intensivo, es cuando comienzan los pequeños problemas.

Resulta que la función pthread_create() no sólo crea un nuevo pthread sino que también lo inicia, es decir, no hay ninguna función que sea pthread_start(), sino que para iniciar (y parar) un hilo hay que crearlo (y destruirlo). Además, los desarrolladores de los pthreads no están por la labor de hacer estas funciones.

El problema surge cuando se crean muchos hilos e inmediatamente después se espera por ellos, por ejemplo, de la siguiente forma:

#define limit 100

MyThread* threads[limit];
for(int i = 0; i < limit; i++) {
threads[i] = new MyThread();
threads[i]->start();
threads[i]->wait();
}

// no hay que olvidarse de destruirlos

El problema está en hay veces que se crea un hilo dando como resultado un pthread_t válido (el identificador del hilo), pero no da tiempo a iniciarlo antes de que se ejecute el pthread_join(), por lo tanto se está haciendo una espera sobre un hilo creado pero no iniciado. En teoría pthread_join() debería devolver un valor del tipo EINVAL o similar pero no. En la práctica lo que se produce es un fallo de segmentación, es decir, corrupción de memoria.

Para reproducir esta funcionalidad, he hecho un pequeño programa en C++ que, ejecutado varias veces, produce este comportamiento incorrecto. En este caso no he conseguido corrupción de memoria, pero tampoco es está completo.

La solución que se me ocurre es usar un semáforo que sincronice la creación y la iniciación del hilo con la espera del mismo. No es una solución demasiado elegante pero creo que funcionará.

La verdad es que el API de POSIX respecto a hilos no me parece demasiado buena, pero creo que no tengo nada que hacer. Es en estos momentos es cuando hecho de menos el API de hilos de BeOS/Haiku ;) .

La mochila electrónica

Ya hace tiempo que comenté por aquí eso de que cada año que pasa, los escolares tengan que comprar libros nuevos con casi los mismos contenidos pero que, por alguna extraña razón, no valen de un año para otro.

Kobo eReader

Ahora me he vuelto a acordar al ver un artículo en El Mundo sobre la mochila escolar y el libro electrónico. Lo más divertido de todo esto son las conclusiones a las que llegan las editoriales para darnos a entender que su negocio es el mejor, que no puede desaparecer y que el libro electrónico poco menos que viene del infierno.

Dicen algo así como que la postura de lectura es mucho más forzada que la de un libro normal y que la pantalla cansa mucho más la vista que la tinta y el papel y, ya para rematar, que la velocidad de lectura se reduce en un 25%.

Nada más lejos de la realidad, por supuesto: la posición de lectura es mucho más ergonómica… bueno, en realidad es mucho más “como tú quieras” porque un libro electrónico pesa unos 200 g mientras que un libro de literatura (de esos que llaman best sellers y que están llenos de paja) pueden pesar hasta medio kilo, sino más. A parte, no es necesario que tengas tus dedos entre las páginas para sujetarlas y que no se cierren con lo que te cansarás bastante menos.

Ahora mismo, en la mayoría de libros electrónicos se pueden hacer anotaciones, las mismas que en un libro de papel. Y conforme la tecnología avance, habrá muchas más posibilidades, como que se puedan hacer con un lápiz especial o simplemente con el dedo o la voz.

Pero lo más divertido de sus conclusiones es que cansa la vista y que se reduce la velocidad de lectura. Aquí tengo que esperar a que se me pase la carcajada porque, como dice en el artículo del El Mundo, los estudios están hechos sobre pantallas de ordenador, sí, esas que usamos todos los días y que están retroiluminadas, mientras que un libro electrónico lo que tiene es tinta electrónica.

¡Oh, vaya! ¿Acabo de tirar por tierra todo su estudio? Una pena. El caso es que las pantallas de tinta electrónica no están iluminadas. No emiten luz de ningún tipo. Es más, necesitas luz exterior, al igual que con los libros normales, para leer. En definitiva, a mi entender, el libro electrónico es mucho mejor que cualquier libro en papel, siempre y cuando no seas un nostálgico del tacto áspero y el olor a biblioteca.

Si te gustan los libros, los libros como tal, si te gusta tener tu biblioteca en casa (que a mi también me gusta) pues, adelante, ten tus libros. Estupendo, en serio. Ver una biblioteca en casa siempre da un aire de intelectualidad que no da un ordenador o libro electrónico, aunque los contenidos sean los mismos.

Pero si lo que te gusta es leer, estudiar, aprender,… de verdad, el libro electrónico es lo mejor. Sobre todo, como comentaba al principio, para esos libros que usamos todos en el colegio y que cambian cada año… y ahora ya se por qué: el negocio de las editoriales se va al garete gracias a las nuevas tecnologías.

En estas cosas modernas que benefician a muchos y perjudican a muy pocos, siempre digo lo mismo: señores editores, renueven su modelo de negocio o mueran (como modelo de negocio, claro :P ).

Por cierto, el libro electrónico de la imagen es el Kobo eReader, un libro electrónico que todavía no ha salido a la venta pero que es el más barato, unos 159 dólares, y que sólo sirve para eso, leer (no tiene ni 3G, ni acceso a Internet ni nada por el estilo). Yo todavía estoy expectante a ver si empiezan a bajar de precio porque un libro de estos cuesta 259 dólares, lo mismo que cuesta un Eee PC, y como que no es lo mismo.

Apretando tornillos

Para todos aquellos que ven que su trabajo es menospreciado por quienes por su propia ignorancia no alcanzan a entenderlos:

Algunas veces es un error juzgar el valor de una actividad simplemente por el tiempo que toma realizarla…

Un buen ejemplo es el caso del ingeniero que fue llamado a arreglar una computadora muy grande y extremadamente compleja… una computadora que valía 12 millones de dólares.

Sentado frente a la pantalla, oprimió unas cuantas teclas, asintió con la cabeza, murmuró algo para sí mismo y apagó el aparato Procedió a sacar un pequeño destornillador de su bolsillo y dio vuelta y media a un minúsculo tornillo. Entonces encendió de nuevo la computadora y comprobó que estaba trabajando perfectamente.

El presidente de la compañía se mostró encantado y se ofreció a pagar la cuenta en el acto.

— ¿Cuánto le debo? — preguntó.
— Son mil dólares, si me hace el favor.
— ¿Mil dólares? ¿Mil dólares por unos momentos de trabajo? ¿Mil dólares por apretar un simple tornillito? ¡Ya sé que mi computadora cuesta 12 millones de dólares, pero mil dólares es una cantidad disparatada! La pagaré sólo si me manda una factura perfectamente detallada que lo justifique.

El ingeniero asintió con la cabeza y se fue. A la mañana siguiente, el presidente recibió la factura, la leyó con cuidado, sacudió la cabeza y procedió a pagarla en el acto, sin chistar. La factura decía:

Servicios prestados:
______________________________________
Apretar un tornillo……………………………1 dólar
Saber qué tornillo apretar…………999 dólares
______________________________________
Total………………………………………1.000 dólares

Me acordé hoy de este chiste, por llamarlo de alguna manera, al hablar de lo poco valorados que estamos los ingenieros informáticos. Primero, porque cuando se produce algún error, siempre es informático, cuando en realidad es un error de tipo PICNIC y, segundo, porque tenemos que saber toda la informática, es decir, para el usuario normal, tenemos que saber manejar todos los programas, ser la ayuda online. Y gratuita, por supuesto. Pero, no contentos con eso, también tenemos que saber programar el vídeo, arreglar la televisión y saber qué webcam se tienen que comprar. Y gratis, por supuesto.

Un negocio bien montado

Los autores… más bien las gestoras de derechos de autor, lo tienen muy bien montado. Yo, que hago martillos (de momento de forma ficticia ;) ), algo tangible, algo que te compras, que puedes tocar, que usas para multitud de cosas… no cobro más que la primera vez, cuando los vendo. A quienes se los vendo pueden hacer lo que quieran con ellos, y yo no les cobro cada vez que dan un martillazo.

Ellos (más que los autores, los gestores) que hacen una canción, escriben un libro, ellos que hacen cosas intangibles —porque un libro no es el papel donde está impreso— cobran cada vez que alguien lo lee. No cada vez que alguien lo compra, sino cada vez que alguien lo lee; o cada vez que alguien escucha una canción. O, más bien, cada vez que alguien supuestamente escucha la canción o quizás la vaya a escuchar en algún lugar en algún momento de su vida. Eso se llama canon.

Tú no te puedes comprar una canción, un libro, un película, y es para ti para siempre. No. Digamos que lo tienes en alquiler y sólo lo puedes usar tú. Pero como ellos dicen que eres malo, saben que vas a prestar esa obra, ya, de antemano, te cobran. Por si acaso.

Y lo peor, si se mueren, sus herederos seguirán cobrando hasta 70 años después.

Lejos de quitar este modelo, yo creo que todos deberíamos seguirlo. ¿Por qué ellos se lucran continuamente y yo no puedo hacerlo? A partir de ahora me voy a ir por todas las carpinterías de España contando el número de martillos. No importa si los he fabricado yo o no. Son martillos, tienen que pagar. Luego estimanré el número de martillazos que se dan y, a partir de ahí, cobraré el canon por el uso de mi obra. Además, de ahí no se pueden escapar, un martillo no te lo puedes bajar de Internet. Lo tienes y punto. Martilleas y pagas.

Y lo mismo con todo lo demás: los fabricantes de sillas, de mesas, de pelucas, de condones, de dedales, de suelos, de teclas, de… todo. A cobrar. Si ellos pueden, tú también.

De hecho, quizás debería dedicarme a la fabricación de teclas. De teclas para teclado de ordenador. Así, cada vez que presionen una, a pagar. Incluso este es un mejor negocio que el de los martillos, ya que casi todas las empresas usan un teclado atado a un ordenador, mientras que mi negocio sería poco lucrativo si sólo me dedico a cobrar por martillazo.

¡Puf, esto es mejor que si te toca la lotería!

Oh, wait! Vaya, se me había olvidado que ellos tienen el apoyo del gobierno porque tienen un topo metido en las filas de nuestros representantes y yo sólo tengo un tonta idea. ¿Habrá algún banco que me apoye? :P

Conciencia

La conciencia era verde y la pastó un burro.

Dicho popular, recordado por mi tía hablando de algunas actitudes respecto al trabajo.

Mente abierta

El problema de tener una mente abierta es que la gente insiste en entrar dentro y poner allí sus cosas.

Terry Pratchett, escritor británico de fantasía y ciencia ficción.

Visto en Microsiervos.

Certeza

No se llega a la certeza con la razón sino con la fe.

Guillermo de Occam, fraile franciscano y filósofo escolástico inglés.

De lo tangible y lo intangible

Me hace gracia como, para justificar de alguna forma su gran actuación respecto a cobrar el canon, el osito Teddy señor Bautista se empeñe en decir frases como esta:

20minutos.es: Me hace gracia que el copyleft haga cultura gratis y no viviendas gratis.

Parece mentira que a estas alturas todavía nadie le haya enseñado ese capítulo de Barrio Sésamo en el que se mostraban las diferencias entre lo tangible y lo intangible. Vamos, así rapidito y para que lo entienda: lo tangible es lo que se puede tocar, como una casa; y lo intangible es lo que no se puede tocar, como la cultura. Que no, señor Bautista, un CD, un disco duro, un MP3, no son cultura.

Y es justamente lo que ustedes venden, CD’s con cosas dentro a lo que se empeñan en llamar cultura y cobrar por ello. Pero no, la cultura no se compra ni se vende, la cultura se explota, se sacan beneficios de ella. Pero usted, por más que lo intente, no puede comprar cultura.

Lo mismo con la propiedad intelectual. Yo hago algo y es mío. Pero mío siempre. Yo no vendo sus derechos. Yo no digo, durante un tiempo y por un módico precio, que lo que yo he hecho lo ha hecho otro. Yo lo que hago es ceder los derechos de explotación, los derechos para usar esa obra con fines lucrativos. Pero es mía.

Por eso, los que estamos en este mundo digital, en este mundo de redes sociales, en este mundo, igual que antes pero mucho más comunicado, es abogar por la cultura libre, que no es lo mismo que gratis. Cultura libre de la que puede vivir su autor, pero cultura de lo que no deberían vivir los intermediarios que lo único que hacen es defender sus propios intereses.

Desde aquí: cultura libre para todos.