Como en 1998

Hace unos cuantos días salió GNOME 3.0. Como mis lectores habituales ya sabrán, vengo usando GNOME básicamente desde su versión 1.0… y de hecho comencé a usarlo desde antes, probando betas y cosas por el estilo.

Así que, a pesar de que llevo ya algunos años tratando de mantener mis sistemas Gentoo en forma “estable”, decidí que intentaría esta nueva encarnación de GNOME, que promete ser un cambio radical a todo lo que estamos acostumbrados con escritorios de computadora.

Después de compilar durante día y medio los nuevos paquetes, traté de utilizarlo y como Murphy debió prever, no funcionó. Se moría a menos de un minuto de comenzar a usarlo. Recompilé todo de nuevo: seguía fallando. Le moví a todo lo que yo podía suponer que podía moverle, levanté el nuevo shell de GNOME en gdb, hice magia blanca, gris, negra, y lo que sigue de negra.

Y nada.

Yo esperaba algo espectacularmente desastroso: bibliotecas incompatibles, errores de programación, problemas con cómo Gentoo suele hacer las cosas. Pero al final resultó que todo era culpa de un archivito XML de poco más de 150 líneas. Y lo peor es que ni siquiera era culpa del archivito en sí: sólo tenía mal el nombre.

Ya reporté el bug, y por fin puedo usar la nueva interfaz de GNOME, que ciertamente promete ser un cambio radical a todo lo que estamos acostumbrados con escritorios de computadora. Lo voy a seguir usando, porque así soy soy, pero no sé cuánto le cueste a muchas personas acostumbrarse a este cambio (muchísima gente es sorprendentemente resistente a casi cualquier tipo de cambio, no digamos un cambio verdaderamente radical). Sí me gusta, pero sí no tiene nada que ver con GNOME 2… ni con cualquier otro escritorio que yo haya usado, por cierto.

Pero estos tres días que estuve peleándome con tratar de hacer jalar GNOME 3, recordé mucho cómo eran las cosas allá por 1998. Cuando uno booteaba linux a una terminal, y a veces (no siempre) se metía a X para un par de cosas.

Hemos recorrido un largo camino.

Imprimir entrada Imprimir entrada

Chiquito y barato

Después de pasarme dos semanas en maratón terminando de escribir dos artículos, mi novia y yo decidimos pasarnos el puente en el Estado de México.

Yo traje mi laptop y mi monitor LCD de 22″ porque tengo en el disco duro un par de series que estamos viendo, pero caímos en cuenta que se nos habían olvidado un cable VGA, y bocinas algo más decentes que las de la laptop, que hacen que todos los actores suenen como Alvin y las Ardillas.

Ya en el Estado de México pasamos por un Steren y ahí compré un cable VGA, pero cuando pedí bocinas me salieron conque los niños de hoy ya sólo compran bocinas USB. Se me hizo ridículo, pero cuando vi que el precio era de hecho menor que la última vez que compré bocinas (obviamente no USB), decidí que bueno, que ya qué. Ni siquiera me pasó por la cabeza que no fueran a funcionar; cada vez estoy más acostumbrado a que en Linux las cosas sencillamente funcionan.

Por supuesto, cuando en la noche antes de dormir tratamos de ver nuestra serie, las malditas bocinas no funcionaron. Era tarde, y en el cuarto no llega la señal inalámbrica, así que lo dejé así y vimos nuestra serie con las voces de Alvin y las Ardillas.

Hoy en la mañana estuve tratando de echarlas a andar, y no estaba avanzando nada hasta que una idea loca entró en mi cabeza. ¿Qué tal que lo que pasaba era que las famosas bocinas no son sólo bocinas, sino una tarjeta de sonido USB? Mi laptop sólo tiene compilado el controlador de la tarjeta de sonido de la laptop, porque quién carajos necesita soporte para más tarjetas de sonido que la que está instalada en la computadora, y eso explicaría porqué no había funcionado. Medio incrédulo compilé en mi kernel el soporte para tarjetas de sonido USB, y maravilla de maravilla, funcionó de inmediato. De hecho con la magia de PulseAudio puedo estar oyendo algo con la tarjeta de sonido de la laptop, y con un poderoso click pasarlo a la tarjeta de sonido de las bocinas USB. Funcionan bastante chido, para ser unas bocinitas chafas Steren.

Resulta que las tarjetas de sonido se han hecho tan chiquitas y baratas, que ahora es más fácil vender unas bocinas con dicha tarjeta incluida, y dejarle el proceso de sonido pesado al CPU. También se ahorran eliminador de corriente, porque el poder de las bocinas viene del mismo puerto USB.

Lo único que no entiendo es qué les costaba agragarle una entrada TRS para poder usar las bocinas de forma tonta. A lo mejor aumentaba en dos pesos el precio. Lo que importa es que hoy en la noche veremos nuestra serie sin las voces de Alvin y las Ardillas.

Imprimir entrada Imprimir entrada

Sony Epic Fail

Mientras estaba con las celebraciones de año nuevo y escribiendo un artículo, parece ser que por fin crackearon para bien y para siempre el PlayStation 3.

Básicamente Sony no implementó bien el ECDSA, y en lugar de generar aleatoriamente una variable que debería ser distinta cada vez que se ejecuta el algoritmo, utilizaron un valor constante siempre. Usando esa variable el equipo llamado fail0verflow pudo reconstruir la llave privada maestra el PS3.

Dado que todos los juegos y aplicaciones que han salido hasta ahora para el PS3 han sido firmados digitalmente con dicha llave, Sony no puede sencillamente cambiarla para corregir el fallo. Algunos especulan que Sony podría intentar usar una nueva llave para juegos futuros, y hacer una “lista blanca” de qué juegos y aplicaciones son válidos para PS3 hasta ahora. Suena difícil que ocurra sin embargo; no es costeable. Además, habiendo obtenido la llave maestra los de fail0verflow pudieron echarle una mirada a todos los secretos del PS3, y lo que vieron no los dejó muy impresionados (ellos fueron los que dijeron que la seguridad de Sony es un “epic FAIL”). Como ya vieron todo el stack de seguridad del PS3 y concluyeron que no es muy bueno, incluso con una (improbable) nueva llave maestra hay ya suficiente información para crackear la consola por otros medios.

Hasta ahora lo único que ha resultado de esto es que se pueden instalar aplicaciones caseras (“homebrew”) en el PS3, lo que en particular permite instalar Linux en la consola. Los hackers que han estado trabajando en esto han sido muy enfáticos en que no les interesa la piratería; pero el hack sin duda lo permite, y no dudo que en unos días (tal vez incluso horas) comiencen a salir los firmwares que permitan respaldar juegos en el disco duro del PS3 (o uno externo conectado por USB), y jugarlos de ahí.

A mí en particular no me interesa la piratería; no juego los juegos que compré con mi dinero, dudo que jugara los que bajara de la red. Además de que qué hueva bajar gigas y gigas por un juego. Y de hecho creo que sí me gusta tener mi (pequeña) colección de juegos y mi (grande) colección de películas Blu-ray. Pero les voy a decir qué sí me interesa:

  1. Un emulador de Nintendo, Super Nintendo y SEGA Génesis, usando los controles nativos del PS3 obviamente.
  2. Software de media center que soporte todos los codecs de video y audio habidos y por haber en el universo, y que pueda leer todos los archivos de subtítulos existentes, incrustados o no en el archivo de video.
  3. Un servidor SSH, o al menos FTP; no hay nada más desesperante para mí que pasar videos al PS3 por USB.
  4. Soporte para Ext3, o al menos NTFS en discos USB; es idiota la restricción a archivos de 4GB.
  5. Todos los juegos que la comunidad Open Source ha hecho en su existencia; podemos discutir qué tan práctico es jugar Sudoku en mi PS3, pero no me importa, yo quiero hacerlo. Y no me importa si ya hay un Sudoku en la PlayStation Network, incluso si es gratis; quiero poder modificarlo, mejorarlo (o empeorarlo) yo.
  6. Poder quitarle la restricción de zona al reproductor de DVD del PS3.

Creo que eso es todo. En cuando salga alguna de esas cosas, le pondré un firmware personalizado a mi PS3; por ahora sólo no lo voy a actualizar, sólo por si las moscas.

Imprimir entrada Imprimir entrada

Systemd

Estoy programando un pequeño proyecto personal desde hace un par de meses. Ahorita estoy atorado en una parte bastante mensa, así que decidí escribir acerca de un proyecto que, muy indirectamente, me inspiró a escribir el mío.

Hace ocho meses, Lennart Pottering escribió en su blog acerca de systemd, un reemplazo para el venerable (y anticuado) sysvinit (de “System V Init”). La idea en resumidas cuentas, es copiarle más o menos lo que hace Apple para iniciar rápidamente Mac OS X, y haciéndolo tomando todas las posibles ventajas que ofrece Linux. Esto último es importante; systemd por diseño no es portátil: está pensado para Linux y únicamente para Linux.

Lo principal para que funcione únicamente en Linux es el uso de Control Groups, una característica del kernel de Linux que ha estado disponible desde la versión 2.6.35, y que no mucha gente le ha hecho mucho caso, hasta hace unas semanas que Slashdot reportó una historia acerca de como un parche de 200 míseras líneas en el kernel volvía el escritorio súper usable, incluso bajo intenso uso (el ejemplo clásico siendo el compilar un kernel usando todos los procesadores). Como Lennart mismo mencionó poco después, el parche ni siquiera es necesario configurando inteligentemente los famosos Control Groups, o cgroups para abreviar.

Los cgroups son eso, grupos de control para procesos. Permiten agrupar ciertos procesos de tal forma que se les pueda asignar recursos a todos los procesos en el grupo. El “milagroso” parche lo que hacía era poner al proceso compilando el kernel en un mismo grupo, y el resto del escritorio en otro; por lo tanto el CFQ (Completely Fair Queue, la implementación del scheduler usada por omisión en Linux) les da igual tiempo de procesador al grupo compilando el kernel (aunque al llamar make le pidamos que use todos los procesadores), y a la ejecución del escritorio.

Systemd utiliza a lo bestia los cgroups; siendo un reemplazo de sysvinit, lo que hace es ser el primer proceso que es llamado por el kernel, y se encarga de todos los otros procesos que levanta después el sistema. Entonces si uno de esos procesos es Apache, por ejemplo, systemd pone a todos los procesos derivados de Apache en un grupo de control, incluyendo scripts CGI que hagan un “doble fork” para tratar de escapar del control del mismo Apache. Los cgroups impiden que tal escape sea posible.

Por supuesto, no es lo único que hace systemd distinto a sysvinit; también manda al carajo la idea de tener scripts para levantar y tumbar servicios, y los reemplaza con archivos (llamados unidades en la terminología de systemd) que son sospechosamente similares a los archivos .desktop que pululan los distintos escritorios en Linux (aunque mantiene compatibilidad para poder usar los scripts de sysvinit). El no mandar llamar a bash (y a un montón de programas a través de bash) acelera el tiempo que tarda en levantar el sistema enormemente.

Encima de esto, systemd intenta levantar cuanto proceso pueda de forma paralela, y reemplaza muchos scripts escritos en bash por sencillos programitas escritos en C. Todo esto además pensando en que systemd funcione de forma idéntica entre distintas distribuciones, lo cual tendría la alegre consecuencia de que las diferencias idiotas que hay entre todas las distribuciones para levantar el sistema desaparecerían.

Pocos meses después de que Lennart anunció systemd, traté de instalarlo en Gentoo, y fallé miserablemente. Lo cual no es de extrañar; Gentoo utiliza su propio sistema de inicio disinto de sysvinit (OpenRC le dicen), y esto ocasiona que si uno quiere intentar usar systemd, debe poder reemplazar toda la inicialización, no se puede utilizar nada de OpenRC. Lo dejé estar un par de meses más, y hace unas semanas lo volví a intentar.

Aunque no funcionó a la primera, poco a poco (y reportando bugs y parchando distintos programas y ebuilds de Gentoo), por fin logré que mi laptop utilizara systemd exclusivamente. Mi laptop pasó de tardar 1 minuto 40 segundos en inicializar, a tardar “únicamente” 50 segundos. Sé que no suena mucho, pero no es tan rápida.

Cuando por fin me sentí lo suficientemente cómodo con systemd en mi laptop, lo puse en mi media center. Ahí la diferencia sí fue significativa; mi media center inicializaba en 50 segundos, y con systemd tarda alrededor de 20 ahora.

Además del booteo indudablemente más rápido, el diseño de systemd me parece extremadamente elegante y bien pensado. Y el uso de cgroups además ocasiona un montón de cosas buenas, como el poder cambiarle la prioridad a todo un conjunto de procesos de forma sencilla. Si además consigue convertirse en el estándar para inicializar Linux a través de distintas distribuciones (Fedora y OpenSUSE, y a lo mejor Debian sí parecen serios al respecto), ciertamente esto mejoraría la vida de todos.

En mi laptop ya llevo un par de semanas usando exclusivamente systemd, y en mi media center unos días. Todavía no lo pongo en mi máquina de escritorio, pero probablemente lo haga estas vacaciones. Está muy simpático el proyectito.

Imprimir entrada Imprimir entrada

World domination

En los noventas, Linus Torvalds solía hablar de “dominación mundial”, de los pasos necesarios para que Linux dominara las computadoras de todo el mundo. Era, por supuesto, en gran parte una broma; después de casi veinte años de que Linux comenzó a escribirse, el sistema operativo libre no tiene ni siquiera el 10% del mercado de computadoras de escritorio. En otros rubros le ha ido mucho mejor; en servidores casi todo mundo usa Linux; y con la adquisición de Sun por parte de Oracle, y la subsecuente muerte (para motivos prácticos) de Solaris y OpenSolaris, al parecer esto sólo se acrecentará en un futuro no muy lejano.

Otra parte donde le está yendo muy bien a Linux es en dispositivos portátiles; dícese teléfonos celulares, porque para como yo veo las cosas, todos los dispositivos portátiles van a terminar colapsándose dentro de los famosos “smart phones”. La familia de teléfonos Android está desbaratando la dominación del iPhone, que ciertamente revolucionó cómo eran los “smart phones” (que si me lo permiten, dado que no me gusta el término “smart phone”, de ahora en adelante les diré “teléfonos mamones”). Android es una versión de Linux desarrollada por Google.

Y de hecho Linux está en un montón más de dispositivos electrónicos; muchas veces sin que nos demos cuenta. Cuando compré mi telesota LCD, entre la documentación que traía venía una copia de la licencia GPL. Yo pensé que utilizaría alguna biblioteca GPL para, por ejemplo, desplegar las imágenes que uno le puede poner a través de un disquito USB, pero resulta que me equivocaba,

Mi hermano me pidió ayuda porque quería ver una película que tenía en su computadora; como es una laptop no muy nueva, le dije que sencillamente comprara un cable VGA. Después me llamó diciendo que no servía; yo por supuesto, supuse que mi tecnológicamente semi iletrado hermano habría hecho una pendejada, así que fui con mi laptop y mi propio cable VGA.

Con sorpresa vi en su casa que no servía, y entonces supuse lo siguiente; que algo había mal con su tele. Así que volví a mi casa, y con mayor sorpresa descubrí que tampoco servía en mi casa. Y entonces por fin me metí a la red a investigar un poco. Resulta que las laptops Sony VAIO suelen tener problemas para conectarse con los LCD Samsung. Nadie me ha podido explicar bien a bien cuál es el problema; lo que yo sé es que ocurre a nivel de hardware, porque falló con el Windows XP de mi hermano, y mi sistema Linux.

Buscando posibles soluciones, vi que se podía actualizar el firmware de mi tele, así que me metí a la página de Samsung y bajé el nuevo firmware. Cuál sería mi sorpresa al descubrir que dicho firmware se instala utilizando un vil script de shell. Y así fue como descubrí que de hecho mi televisión corre Linux.

Todavía no puedo conectarle una laptop VAIO, pero al menos sé que por dentro tiene software libre.

Imprimir entrada Imprimir entrada

El disco zombie

Total que actualicé atom, la maquinita (con un procesador Atom, sorprendentemente) que siempre está prendida en mi casa. Si cuento al PS3 como computadora, en mi departamento tengo siete computadoras, cinco de las cuales uso casi todos los días; las otras dos son laptops viejitas.

Atom es la única que está prendida todo el tiempo (excepto cuando se va la luz, que gracias a los externos inútiles que ha contratado la CFE en toda la zona centro del país, cada vez es más común), y por lo tanto no la actualizo muy seguido. Además, siendo el Atom un procesador no terriblemente poderoso, prefiero no tenerlo compilando muy seguido.

El viernes dejé atom actualizándose, y cuando regresé a mi casa el domingo descubrí que se había ido la luz (los idiotas de la CFE de nuevo). Por lo tanto la máquina había muerto a la mitad de estar compilando el sistema, lo cual nunca es algo bueno. Cuando la prendí, la chingadera se negó a levantar el sistema.

Fui por un cable VGA y conecté la computadorcita a mi televisionsota, y vi que Linux daba un mensaje de error al inicializar de que el disco duro no estaba. Temí lo peor, que una descarga eléctrica hubiera quemado el disco duro, así que desarmé la maquinita y puse el disco duro en mi maquinota. El disco estaba bien.

Necesitaba levantar la máquina para poder analizar bien la situación, así que me lancé a la tarea de hacer un USB booteable (atom no tiene unidad de CD). Por supuesto, no lo conseguí; lo había hecho hace unos años, pero sí es ligeramente engorroso, y me harté y desarmé la maquinota para sacarle el CD y ponerlo en la maquinita. Y de ahí el relajo fue conseguir quemar un LiveCD de Gentoo en un CD-RW.

Cuando por fin tuve el LiveCD corriendo, lo primero que pensé fue que se podía haber jodido el MBR con grub, así que reinstalé grub. No funcionó. Luego pensé que tal vez una nueva versión de udev había quedado mal, así que reinstalé udev. No funcionó. Luego pensé que tal vez sería el kernel, así que actualicé y compilé el nuevo kernel. No funcionó.

Después de haber perdido unas cinco horas así, por fin me metí a la red y encontré este bug de Gentoo justamente, y con eso pude solucionar el problema.

De hecho mi intuición estaba bien; había una combinación de broncas entre grub, udev y el kernel, pero estaba muy cabrón que me diera cuenta por mí mismo (había que cambiar una opción de compatibilidad del kernel). Que yo configuro y compilo mis kernels no ayudó.

En Unix “todo es un archivo”. Lo pongo entre comillas, porque eso no es cierto; casi todo es casi un archivo. Esto lleva a tener un directorio /dev donde hay archivos que representan hardware; tarjetas de video, de sonido, discos duros, etc. La idea de que “todo” fuera un archivo surgió en los 70s, en parte para aprovechar la poderosa línea de comandos que Unix siempre ha tenido.

El problema era que en los 70s, el hardware de una máquina básicamente estaba grabado en piedra; hoy en día podemos conectar y desconectar decenas de dispositivos de nuestro sistema (y de hecho algunos lo hacemos… casi diario). Si el directorio /dev fuera estático, tendría que tener especificados los archivos para casi todo el posible hardware en existencia; algo completamente imposible.

Lo que hicieron en Linux fue entonces crear udev (después de intentos fallidos como devfs). La idea es que cada vez que el sistema operativo detecta cierto hardware, entonces crea el archivo correspondiente dentro de /dev. Lo cual en general funciona de pelos, pero gracias a un error básicamente fortuito, no lo estaba haciendo en mi máquinita, y únicamente para los discos duros. Lo cual es todavía peor: si no creara ningún archivo en /dev, entonces hubiera sido obvio que algo pasaba con udev; pero como sí creaba todos excepto los de los discos duros, yo no tenía ni puta idea de qué pasaba.

Como udev no creaba los archivos de los discos duros, el siguiente diálogo entre mí y mi computadora ocurría:

Atom: Estoy booteando…
Yo: OK.
Atom: Estoy inciando Linux desde tu disco duro…
Yo: Bueno.
Atom: No puedo seguir iniciando, no hay disco duro.
Yo: ¿Qué?
Atom: No hay disco duro.
Yo: ¡Pero si estás inicializando del disco duro!
Atom: No hay disco duro.
Yo: ¡Ahí está el disco duro, puedo hacer ls y todo!
Atom: No hay disco duro.
Yo: ¡¿Cómo vas a correr el sitema operativo que me dice que no hay disco duro si no hay disco duro?!
Atom: No hay disco duro.

Dios, las máquinas son idiotas. Quitando la configuración del kernel (CONFIG_SYSFS_DEPRECATED_V2, que, por cierto, no tiene nada que ver con discos duros ni con udev) todo se resolvió, y atom está ya corriendo actualizada y todo.

Pero qué buena broma estar perdiendo medio día tratando de revivirla.

Imprimir entrada Imprimir entrada

Captcha!

Desde hace más de cuatro año (de los cinco y pico que tiene este blog), utilizo Captcha! para detectar SPAM. Captcha!, en teoría, impide que un bot en la red pueda dejar comentarios (generalmente SPAM), y permite que sólo pasen los comentarios que aprueban la pregunta de Captcha!

Eso no tiene nada que ver con la moderación que hago de mis comentarios; ningún comentario en mi blog pasa sin que antes yo lo lea. Esto no es por el SPAM; es por la bola de idiotas que al parecer soy propenso a atraer a que comenten en lo que llanamente es mi espacio para decir lo que pienso.

Internet Commenter

Debería ser obvio que no pienso así de la mayor parte de mis lectores; todo lo contrario. A pesar de que mi blog existe para mí, por mí, y que además me vale madre quien pueda o no leerlo, la verdad es que de lo más divertido que ha resultado de tener una presencia virtual es leer los comentarios que todo tipo de lectores me han dejado, e incluso a veces entablar discusiones inteligentes y entretenidas con ellos.

Son la bola de animales que creen que el discutir conmigo me es tan fascinante como sin duda lo es para ellos los que tienden a desesperarme. En particular los que, como en la tira de arriba, juran y perjuran no volver, y a los pocos días me encuentro un comentario nuevo de ellos. Muchas veces todavía más idiota o patético que el anterior.

A los más recalcitrantes ya tiene rato que sencillamente borro sus comentarios, sin ni siquiera leer el contenido del mismo; me basta ver el autor. Por suerte, los puedo contar con los dedos de una mano.

En fin. Como sea, el motivo de esta entrada era comentar que al parecer mi sitio cayó en la mira de los que saben como quebrar Captcha!; el número de comentarios SPAM subió dos o tres órdenes de magnitud, y estar moderando SPAM es de verdad de lo menos gratificante que existe.

Así que después de resistirme durante años, por fin activé Akismet, y que se hagan bolas las máquinas para decidir qué es o qué no es SPAM.

Al parecer funciona muy bien, pero siempre existe el riesgo de que haya falsos positivos. Si un comentario suyo no aparece en el blog, por favor mándenme un correo para que lo rescate.

Imprimir entrada Imprimir entrada

Ahora necesito un SVG de mi huella dactilar

Ahora que estoy en Europa, nunca falta que tengo que enviar un documento firmado a México. Dada que esta es la época de la información, se permite que se envíe dicho documento escaneado y por correo electrónico.

Como funciona generalmente es que uno escribe/recibe por correo electrónico lo que hay que firmar, lo imprime, lo firma, lo escanea, y lo envía de nuevo por correo electrónico. Lo cual, por supuesto, además de que está de hueva, mata algunos arbolitos.

Así que ahora que me estoy volviendo fan incondicional de Inkscape, descubrí que PDF y SVG son primos hermanos; la diferencia fundamental que tienen es que uno puede abrir un documento SVG en un editor de texto y modificarlo sin saber mucho del formato, y con PDF es más fácil interpretar las entrañas de una cabra. Viva.

Por lo tanto, es trivial convertir un SVG a PDF y de regreso, entonces lo que ahora hago es lo siguiente: recibo el documento, lo convierto a PDF (si es que no está en ese formato), eso lo convierto a SVG, y lo abro en Inkscape. Ahí le pego mi firma (que la tengo en SVG desde hace un montón), exporto el documento a PDF, y ya estuvo. Envío el documento con mi firma hechiza.

Claro que me ayuda el que mi firma sea relativamente fácil de dibujar con Inkscape; sin embargo, creo que cualquier firma podría convertirse a SVG sin muchísimos problemas. El programa incluso viene con un plugin que convierte un bitmap en su representación vectorial.

Le da todo un nuevo significado al concepto de “huella digital”.

Imprimir entrada Imprimir entrada

GNOME

Un lector me preguntó que por qué no uso KDE o Qt. Iba a contestarle en un comentario, pero mejor lo digo aquí.

Los motivos son varios y en general completamente subjetivos.

Cuando GNOME inició, allá por 1998 ó 1999, fue encabezado por Miguel de Icaza, en ese entonces el tal vez mejor hacker en Linux que había producido México. KDE no terminaba de gustarme (seguí usando la línea de comandos para casi todo), y sentí que debía apoyar un proyecto iniciado por un mexicano.

GNOME tampoco me acababa de gustar (también seguía usando la línea de comandos para casi todo), pero al menos sentía que estaba del lado “correcto” no sólo por el hecho de que Miguel encabezaba el proyecto, sino también porque KDE usaba Qt, que en ese entonces no sólo no era Open Source, era de hecho propietario.

Para 2002 ó 2003 yo había pasado por un montón de cosas que habían hecho que me desatendiera de lo relacionado con GNOME, KDE, similares y conexos. Para cuando comencé a trabajar en una compañía donde me pusieron a instalarle Linux a varias máquinas, GNOME 2.0 había hecho su aparición.

A partir de ese momento GNOME de verdad comenzó a gustarme mucho más que KDE. KDE (que para entonces ya había solucionado, o estaba a punto de solucionar, los problemas de licencias con Qt) siempre me pareció una (mala) copia de Windows, y jamás me gustó que sus ventanas de configuración tuvieran opciones hasta para qué color debían tener las ventanas invisibles.

Las soluciones que GNOME ha utilizado históricamente han sido las que al final y acabo terminan en Free Desktop, y eventualmente en KDE por más que pataleen. Por ejemplo, cuando mezclador de sonidos aRts por fin admitieron que era basura, en lugar de pasarse a GStreamer (que me parece es por mucho la solución técnicamente correcta y más probada), decidieron ir con todavía otro proyecto que ellos iniciaron. Van a acabar de cualquier forma usando GStreamer, pero mientras continúan yéndose por su lado sin tratar de colaborar con soluciones que beneficien a todos los usuarios de escritorios libres. Como esa hay muchas otras.

Luego está la biblioteca para interfaces grácias; GTK+ tendrá todos los problemas que quieran, pero Qt está desarrollado por una empresa, y básicamente hacen lo que se les pega la gana (por más que hayan cambiado la licencia a GPL). GTK+ es desarrollado de forma abierta, y me sigue gustando mucho más que Qt. Además de que GTK+ está escrita en C, mientras Qt está escrita en C++… o algo que se le parece (Qt necesita un preprocesador llamado moc).

Por último, y tal vez la única razón práctica para de plano evitar KDE y Qt como la peste, es que yo utilizo Gentoo, y eso implica que compilo todos los programas que utilizo. En particular compilar KDE, Qt o casi cualquiera de sus dependencias es un infierno, porque al estar escritas en C++ (con un preprocesador espurio además) tardan los siglos de los siglos.

(En espíritu de ser derecho, debo aclarar que Inkscape está escrito en C++ con gtkmm, los bindings de C++ para GTK+… y a pesar de ser un programa razonablemente complejo, compila muchísimo más rápido que casi cualquier cosa escrita con Qt o para KDE).

En resumen: en general no uso KDE o Qt por razones puramente subjetivas, y algunas incluso ideológicas. Pero también vengo usando Linux hace casi quince años, y algo sé de computación; y me parece que la solución que ofrece GNOME es superior desde un punto de vista técnico, y social en el sentido de la comunidad que formamos los que usamos Linux/Open Source.

Pero si alguien quiere usar KDE, pues allá ellos. Yo me quedo con lo que considero mejor.

Imprimir entrada Imprimir entrada

Textext

Desde hace años uso PStricks para dibujar figuras en documentos \LaTeX, por una muy simple razón: no importa qué tan bonitas haga las figuras casi cualquier programa, las etiquetas no utilizan el sistema de tipos de \LaTeX, y por lo tanto se ven horribles.

(La única excepción de la que tenía noticia, Ipe, es capaz de agregar etiquetas usando \LaTeX, pero tiene una desventaja para mí aún mayor: está escrito con Qt… casi por principio no tengo Qt ni KDE ni ninguna de sus bibliotecas instaladas en mis máquinas.)

Sin embargo el usar PStricks a mano, aunque muy varonil, es increíblemente tardado. No digo que no sea capaz de hacerlo; es sólo que cada vez tengo menos tiempo de estar viendo cómo hacerle para conectar, a mano, dos puntos con una curva.

Y es así como hizo su entrada en mi vida Inkscape. De hecho ya lo conocía, y lo he usado bastante; fue sólo que rápidamente me di cuenta de cómo podía utilizarse para hacer figuras (especialmente geométricas) muy padres. Por supuesto, siendo Inkscape un programa desapegado a \LaTeX, sufría de las mismas limitaciones que todos los demás programas de este estilo; no podía agregar etiquetas con \LaTeX. Pero Inkscape exporta a PStricks, así que era sólo cuestión de hacer eso, y agregar las etiquetas a pie. ¿Engorroso? Algo, pero mucho mejor que escribir código PStricks a pie.

Además Inkscape tiene la increíble ventaja de utilizar SVG como su formato nativo, y SVG es la neta del planeta en bicibleta; todos mis programas de cositos geométricos puedo hacer que fácilmente guarden las imágenes en SVG, exportarlo a PStricks con Inkscape, y agregarles etiquetas a mano…

Sólo que eso sigue siendo bastante engorroso. Así que fue con alegría que descubrí Textext; es una extensión de Inkscape que permite agregar lo que sea que \LaTeX pueda generar como un objeto vectorial en Inkscape, y (nada despreciable) permite reeditar el código \LaTeX después.

Inkscape con Textext

Inkscape con Textext

Con esto ahora sí creo que por fin dejaré PStricks, para pasarme completamente a SVG. Por fin las interfaces gráficas alcanzaron a PostScript, unos veinte años después.

Imprimir entrada Imprimir entrada

Geekeando

El sábado mi novia me pidió una tele para que la llevara a su departamento y pudiéramos ver una película (ella no tiene tele). La petición era básicamente una broma (de hecho me pidió mi tele de 46″), pero yo como sea llevé mi monitor LCD de 22″, mi laptop y mi control remoto Streamzap, y siempre sí vimos una película.

La verdad no fue tan fácil; a pesar de que probé en mi casa que pudiera sacar el video de mi laptop a través de la salida para monitores CRT, las Leyes de Murphy entraron en acción y en casa de mi novia fue un desmadre hacer que funcionara. Al final lo conseguimos, pero sí fue después de varios intentos con sus correspondientes errores.

Lo que más me sacó de onda es que mi laptop ya no tiene archivo de configuración /etc/X11/xorg.conf; en teoría todo funciona automágicamente. Y de hecho en mi casa todo funcionó automágicamente, lo cual hizo todavía más bizarro que en casa de mi chava tuviera que estarle meneando al programa de configuración del display en GNOME.

Como sea, hoy estuve trabajando en mi casa, y como estoy actualizando mi maquinón Core 2 Quad, decidí conectar un ratón y teclado USB a mi laptop, y volverle a conectar mi monitor LCD de 22″, para no tener que chambear en la pantallita de la portátil. Por supuesto, como debía de ser, ahora de nuevo todo funcionó automágicamente, y no tuve ninguna de las broncas que tuve en casa de mi novia.

Mi punto con todo esto es que yo nunca había hecho algo así; conectar un teclado, ratón y monitor a mi laptop y usarla como de escritorio. Y no lo había hecho porque justamente en Linux era un desmadre el tratar de hacer algo así, y uno tenía que estarle meneando al xorg.conf para que las cosas funcionaran… si acaso llegaban a funcionar.

Ahora sencillamente funciona, sin que yo deba hacer nada. O al menos en mi depa.

Realmente Linux ha avanzado mucho desde hace 13 años que comencé a usarlo.

Imprimir entrada Imprimir entrada

Windows 7

¿Recuerdan lo orgulloso que estaba de mi gabinete de madera que yo solito por mí mismo hice?

Bueno; resulta que, como no soy ingeniero (y, además, al parecer soy muy idiota), no tomé en cuenta un pequeño detalle que resulta de poner una computadora (además, una relativamente poderosa) en un gabinete de madera: la madera es un pésimo conductor de calor.

Mi media center resultó ser muy inestable, y en gran medida lo atribuyo al gabinete de madera; al momento en que le quité la cubierta superior, se volvió mucho más estable. Después de ponderar el asunto un rato, decidí que convenía conseguir un gabinete nuevo. Siguen sin gustarme mucho los gabinetes que hay disponibles para un potencial media center, pero al fin encontré uno que, con unas cuantas modificaciones, podría servirme. La única bronca es que necesitaba una nueva placa madre, porque el gabinete es mini-ITX (no micro-ATX, como el que mi media center tenía).

Esta entrada no es del media center, por cierto; eso será después, aunque ya quedó y permitánme decirles que está poca madre.

Como necesitaba una nueva placa madre, decidí mover la placa madre del media center a mi PC de escritorio, y actualizar de mi amado AMD 64 X2 a un Core 2 Quad; mi AMD 64 X2 me sirvió casi cinco años, pero ya está mostrando la edad, y decidí que dado que iba a comprar placa madre nueva, pues entonces de paso actualizaba mi máquina de escritorio.

Eso hice, sin muchos problemas; mi Windows XP sólo lo utilizo para jugar de vez en cuando, pero lo mantengo actualizado, y cambiarle la placa madre sólo implicó que encontró un montón de hardware nuevo y que tuve que activarlo de nuevo. Sin embargo al parecer la estadía prolongada en un gabinete de madera algo le hizo a la placa madre, porque me daba fallos cuando traté de recompilar todo mi sistema Gentoo (necesario, porque estaba compilado con optimizaciones para AMD y el nuevo procesador es Intel); así que conseguí una placa madre prestada y eso resolvió los problemas.

Esta entrada tampoco es acerca de cómo quedó mi nueva PC, aunque también ya quedó y déjenme decirles que también quedó poca madre.

Está entrada es acerca de que al parecer Windows XP soporta un cambio radical de hardware, pero no dos. Al menos no en la misma semana: mi Windows XP primero arrancó sin broncas, luego se me apagó, después reinició en modo a prueba de fallos y (oh, la ironía del caso) procedió a fallar miserablemente. Ya nunca más arrancó.

En general hubiera levantado los hombros y continuado con mi vida; de verdad mi uso de Windows es casi inexistente en últimos tiempos. Pero son vacaciones, y además yo creí haber muerto de fiebre en los médanos de Singapur: al menos esperaba idiotizarme jugando algunos de los juegos (ya viejos) que tengo para Windows.

Así que, aprovechando que los estudiantes de la UNAM tenemos acceso gratuito a montones de software de Microsoft, incluyendo Windows 7, decidí ver cómo estaba el nuevo sistema operativo de Redmond. Yo me salté completamente la debacle que resultó ser Windows Vista, y XP me funcionaba razonablemente bien, así que antes no lo había considerado; pero dado que tenía que reinstalar Windows si quería jugar, y que la perspectiva de instalar los Service Pack 1, 2 y 3 de XP me daba mucha hueva (mi CD de Windows XP es el original, así que tengo que actualizar todo), me aventé el volado.

De eso es esta entrada: de Windows 7.

Bajé la versión en inglés (creo que aún no está en español) y de 64 bits, porque es lo que todo mundo usará en un futuro no muy lejano. Mi madre estrenó máquina hace unos meses, y vino con Vista incluido, así que creo que puedo hacer algunas comparaciones más o menos sensatas.

Windows 7 no me pone de mal humor; Vista sí lo hace. Básicamente ese es mi juicio acerca del sistema operativo.

La nueva versión de Windows detectó todo mi hardware moderno; en el limbo quedaron mi SoundBlaster Live! 5.1, que tengo desde hace casi una década (si no es que más), mi webcam Creative NX, y mi control remoto Streamzap. De la SoundBlaster encontré un controlador en la red, y aunque sí se instaló y detecta mi tarjeta, nigún sonido sale de ella. Me resigné a usar la tarjeta de sonido integrada de la placa madre; pero es una muestra más del tipo de ventajas que da el usar Linux: ahí mi tarjeta de sonido funcionará hasta que el infierno se congele, supongo. El Streamzap la página del fabricante dice que controladores para 64 bits estarán disponibles “real soon”, así que hay esperanza. La camarita USB yo creo que esa sí ya valió popote, porque es bastante chafa y dudo que a nadie le importe demasiado como para ponerse a escribir el soporte para 64 bits en Windows. De nuevo, en Linux jala sin ningún problema. En 64 bits, si era necesario que lo especificara.

Windows 7 me recuerda un poco a KDE; y como KDE puedo usarlo si no hay de otra, pero definitivamente no es mi primera opción. El explorador de archivos parece algo más idiota que el de XP (y es particularmente desesperante que cuando uno expande el árbol de directorios, el mismo salta de forma inexplicable), pero funciona. No sé realmente qué más pueda decir; Windows me resultá bastante inútil “out-of-the-box”. Tengo que instalar un montón de madres para que pueda ser medianamente utilizable.

Como sea, de lo poco que pude usar XP en este procesador, y ahora Windows 7, creo que sí hay una diferencia de velocidad, y en general lo atribuyo a que Windows 7 está a 64 bits. El “eye candy” del sistema está simpático, pero de verdad ahora siento que Windows está jugando a alcanzar a Mac OS X y a los escritorios con manejadores compuestos de Linux.

Pero lo más importante es que no me pone de mal humor, como de verdad lo hace Vista las pocas veces que he tenido que lidiar con él para configurarle algo a mi madre. En ese sentido es un avance.

Como sea, no tomen muy en cuenta mi opinión; uso Windows para poder jugar juegos (y a veces ni eso; Warcraft III corre poca madre en Wine). Pero creo que sí es mejor que Windows Vista. Y, hey, me salió gratis por estudiar en la UNAM.

Dadas hasta las puñaladas.

Imprimir entrada Imprimir entrada

Twitter

Como varios de mis lectores habituales sin duda sabrán, yo no estoy suscrito a Facebook, MySpace, Hi5, Orkut, ni ninguna otra de esas pendejadas. Ya a estas alturas del partido ni siquiera me llegan las invitaciones; mis filtros de SPAM ya están entrenados para clasificar dichas invitaciones como basura.

Las razones por las que me niego a entrar a este tipo de sitios son básicamente cuestiones de principios, y que la idea en general me da mucha hueva. Y está el tal vez no muy importante, pero para mí significativo, hecho de que no me gusta tener cosas mías (mis escritos, mis fotos) en un servidor donde no soy root. El correo electrónico es una excepción; aunque ciertamente no porque yo así lo haya decidido.

Mis fotos las tengo en línea para que la gente cercana a mí pueda verlas fácilmente; pero la misma funcionalidad podría tener si usara Flickr o cualquiera de los otros servicios de hospedaje de imágenes que hay en la red. Mi vida social no la quiero en línea; puedo comentar en mi blog de vez en cuando qué hice, pero ciertamente no quiero poner qué voy a hacer, y mucho menos qué estoy haciendo… y todavía menos espero que mis amigos o conocidos tengan que conectarse a la red para enterarse.

(Hablo, obviamente, del aspecto social del asunto; sí comento en mi blog que estoy haciendo mis exámenes generales del doctorado, pero espero que quede claro que no expero –ni quiero– que nadie me venga a hacer compañía mientras los hago).

Como sea, el propósito que tiene mi blog es para que yo arroje aquí las cosas que escribo. Tengo mis razones para no tenerlo en WordPress.com o en Blogger, pero la verdad es que son razones (desde el punto de vista práctico) bastante débiles; el propósito de mi blog se cumpliría exactamente igual si lo tuviera en esos sitios.

Las razones que tengo en contra de Twitter (y por lo que escribo esta entrada), son todavía más personales y (me parece) sólidas. Twitter tiene todo el aspecto “social” en Internet que me da una hueva enorme (como Facebook o MySpace), el hecho de que la información que uno envía ahí termina siendo básicamente propiedad de los dueños de Twitter, y las características que por principio me hacen despreciar sitios de ese estilo.

Pero la verdadera razón por la que no he tenido nada que ver con Twitter (ni ninguno de los sitios que le son similares), es el hecho de que, como escritor, la idea detrás del sitio me parece casi insultante.

Yo escribo en mi blog por el placer de escribir; siendo completamente honesto ni siquiera me importa (ni me ha importado, ni creo que me llegue nunca a importar) si alguien me lee o no, o si les gusta o no lo que escribo. Escribo por mí, y en gran medida para mí únicamente. La idea de verme restringido a 140 caracteres por entrada no sólo me parece castrante; creo que es el tipo de cosas que fomenta que muchos chavos de ahora escriban cosas como “kiero ir ai a ver ke pasa pq no se ke p2”.

Lo cual incluso se traduce a mis mensajes SMS; creo que soy el único güey que cuando escribe un mensaje de texto por el celular pone acentos, símbolos de interrogación y admiración iniciales, y puntos seguidos y comas.

Twitter no sólo tiene las mismas características que desprecio y me dan hueva de los “sitios sociales” como Hi5 o Facebook; encima de ello es verdaderamente lamentable el tipo de engendros que muchos de sus usuarios producen. Incluso con mi limitado conocimiento de la lengua inglesa me es fácil descubrir los garrafales errores que cometen en el limitado espacio que son 140 caracteres.

Y, para acabarla de chingar, los cometen cada quince minutos.

Imprimir entrada Imprimir entrada

GNOME Shell

Con la última actualización a GNOME 2.26 (que sí, ya sé que voy retrasado 6 meses porque ya salió GNOME 2.28, pero he decidido quedarme en Gentoo estable), mi laptop alcanzó un estado de casi perfección que me es difícil describir cabalmente. Absolutamente todo funciona como debe de ser, incluyendo pendejaditas que por alguna razón nunca lo habían hecho, como poder subir o bajar el brillo del monitor con el teclado.

Tengo exactamente dos problemas, que como son cosas que casi nunca uso ni siquiera sé si se ganen el calificativo de “problemas” realmente. Uno es que el lector de huellas digitales no funciona, y no se ve para pronto que lo vaya a hacer porque las Vaio utilizan un controlador propietario del cual casi nadie tiene información. El otro es que el micrófono integrado dentro de la laptop no funciona; si conecto un micrófono externo no hay problema, pero el integrado no quiere jalar. Probablemente tenga que ver conque HDA Audio es ahorita un ligero desmadre en Linux, y aunado con el cambio a PulseAudio las cosas se complican aún más.

Pero quitando eso estoy asombrado de la asombrosa asombrosidad de mi laptop en este momento. Mi desktop también quedó muy bien con la actualización; pero dado que mis desktop nunca me había dado problemas (por eso armo mis máquinas yo), y además ya va a cumplir cuatro años y sencillamente ya no tiene la galleta que yo requiero (lo cual me fuerza a ir pensando en actualizarla dentro de poco), pues es más bien irrelevante.

Buscando entonces cosas que no jalen a la perfección para poder estar jugando con ellas, y así evadir la responsabilidad de mi tercer examen general del doctorado, me puse a compila e instalar GNOME Shell.

Si todo sale como debe salir (que, dada la Ley de Murphy, probablemente no ocurra), GNOME 3.0 saldrá en alrededor de 6 meses, en lugar de GNOME 2.30, y GNOME Shell reemplazará a panel y al manejador de ventanas de GNOME (Metacity), que ciertamente ya muestran gacho la edad. GNOME Shell es un cambio radical en la idea de manejar las ventanas y los escritorios virtuales, tratando de hacer todo más dinámico y orientando todo a cosas que el usuario quiera hacer y dónde tiene sus documentos.

GNOME Shell

GNOME Shell

Lo he estado usando un par de días ya, y trataré de seguir usándolo. GNOME Shell reemplaza (y de hecho, medio mata) a Compiz, el manejador de ventanas con efectos 3D que vengo usando casi desde que salió hace 3 años. En general está bien, porque GNOME Shell tiene efectos 3D también, aunque mucho más sobrios. Pero además, con la idea de escritorios virtuales dinámicos el tener varias ventanas en un solo escritorio se convierte en una pendejada; GNOME Shell permite (y estaría incluso dispuesto a afirmar que promueve) el uso de aplicaciones maximizadas todo el tiempo. Ahora tengo una ventana por escritorio virtual, todas ellas maximizadas, lo cual hace que se utilice de forma mucho más inteligente la pantalla relativamente pequeña que tiene mi latop.

Si necesito usar el escritorio, en lugar de minimizar ahora sencillamente creo otro escritorio virtual, hago lo que tengo que hacer, y después lo destruyo. Las aplicaciones es sencillísimo moverlas entre escritorios, y en general casi puedo estar sin utilizar la terminal, que sigue siendo un objetivo mío desde hace años.

No sé cómo vayan a reaccionar los usuarios de GNOME ante un cambio tan radical como el que propone GNOME Shell. A mí me está gustando, pero suelo ser muy paciente con el desarrollo de GNOME. Independientemente de si les gusta o no el cambio que propone, todos los que lleguen a utilizar GNOME Shell deben reconocer que está realmente innovando a la hora de proponer cómo manejar el escritorio. Podemos meternos (y seguro nos meteremos) en discusiones larguísimas acerca si es o no una innovación inteligente; pero de que es original y novedosa eso no tiene la menor duda.

Imprimir entrada Imprimir entrada

PulseAudio

Hace ya cerca de dos años que vengo leyendo las múltiples mentadas de madre que recibe Lennart Poettering por el chiste de que se le ocurrió inventar PulseAudio (antes Polypaudio). Las opiniones parecen estar divididas en dos campos diametralmente opuestos: las distribuciones y gente con conocimientos técnicos suficientes que parecen tener un claro consenso de que PulseAudio es el camino que hay que seguir, especialmente si se desea que Linux tenga un sistema de audio moderno, profesional y fácil de usar; y los (al parecer) innumerables usuarios que le mientan la madre porque sus sistemas dejan de funcionar cuando antes lo hacían perfectamente.

La dicotomía al parecer radica en que PulseAudio es un rediseño radical de cómo se venía manejando el sonido en Linux, y además utiliza características de ALSA (el controlador de sonido de bajo nivel en Linux) que nadie había utilizado antes, lo que ha causado que encuentren bugs ahí que hasta ahora habían pasado desapercibidos. Lo que he leído acerca de PulseAudio suena maravilloso en papel; combinar dos tarjetas de sonido estéreo para simular sorround, direccionar el audio a cualquier otra computadora en la red, controlar el volumen de distintas aplicaciones individualmente, mover una aplicación de un dispositivo de audio a otro en vivo, sin que la aplicación ni siquiera lo note, etc., etc., etc. Pero también he leído los múltiples e indignados reclamos de aquellos usuarios que actualizaron sus máquinas sólo para descubrir que sus aplicaciones de audio que antes funcionaban ahora no lo hacen.

Gentoo tenía a PulseAudio en inestable desde hace años, y yo (por una vez en mi vida) decidí no tocarlo ni con un palo de tres metros; mis aplicaciones de sonido funcionaban, así que no quise meterme en broncas. Y aunque sentía empatía por los usuarios que han venido sufriendo durante todo este proceso de transición a PulseAudio, la verdad es que ya he estado ahí, y en general las molestias que puede causar la introducción de un nuevo componente en Linux suelen verse compensadas cuando dicho componente ha llegado a un nivel suficiente de madurez. Pasamos por eso con ALSA, de hecho, cuando abandonamos OSS, y con la transición de XFree86 a X.Org, y con el salto de GNOME 1 a GNOME 2, y con el cambio de Nautilus a modo espacial, etc., etc., etc.

Así que, como sabía que a la larga iba a ser benéfico, y además a mí no me afectaba (porque no traté de usar las versiones de prueba de PulseAudio en Gentoo), ignoré todo el maracatraca al respecto.

Hasta que en mi última actualización, que por fin se hizo GNOME 2.26 estable en Gentoo, PulseAudio vino incluido.

Para empezar, no tuve ningún problema. De hecho un montón de broncas se me compusieron; en mi laptop por fin recuperé los beeps, que no sé cómo había perdido (y además ahora están bien coquetos), y los sonidos de GNOME (los ruiditos que hace al abrir menúes y cerrar ventanas) por fin funcionan y (ventaja nada despreciable) no son insoportables.

Pero además, como me interesaba eso del sonido a través de la red, decidí ver si podía echarlo a andar rápidamente. No sólo pude echarlo a andar rápidamente; está poca madre. Mi Media Center tiene un sistema de sonido 5.1, y aunque Moovida (el software que utiliza el Media Center, antes llamado Elisa) está muy chido para ver videos, la verdad es que todavía apesta para oír música. Para oír música uso Rhythmbox hace años, y me gusta bastante; pero es inútil sin teclado y ratón (que mi Media Center, obviamente, no tiene).

Así que sencillamente le dije a mi máquina de escritorio que utilizara el demonio de PulseAudio de mi Media Center para mandar ahí el sonido, y ahora escucho mi música en el sistema 5.1 de mi Media Center en la sala, pero controlando todo con Rhythmbox desde mi estudio. Y todo con básicamente un click:

Sonido remoto

Sonido remoto

(Eso no es completamente cierto; tuve que editar un archivo de configuración de PulseAudio en mi Media Center, y copiar un archivito de ahí a mi escritorio; pero eso fue todo).

No dudo que el periodo de transición haya sido doloroso; y lo lamento por los usuarios que hayan pasado por problemas. Pero eso fue culpa de las distribuciones que pusieron PulseAudio para todo mundo cuando no estaba listo; Gentoo por una vez en la vida se la jugó a lo seguro, y creo que valió la pena. Estoy bastante impresionado de lo bien que funciona PulseAudio, y toda la filosofía que trae detrás.

En este momento, todas las cosas importantes multimedia en Linux soportan PulseAudio; MPlayer, VLC, GStreamer, etc. Es ciertamente el futuro; todas las distribuciones lo están usando, y la verdad creo que vale la pena. Ni siquiera sé si MacOS X o Windows puedan hacer algunas de las cosas que PulseAudio puede.

Ahora, si sólo dejara de perder tiempo con mi computadora y terminara mi segundo examen general del doctorado…

Imprimir entrada Imprimir entrada

Mira mamá, sin el teclado

Supongo que las cosas han evolucionado mucho en Linux/GNOME.

Una semana peleándome con iwconfig, ndiswrapper, el kernel, los scripts de inicialización de la red, y cuanta madre se me ocurrió para hacer que jalara (después de que inexplicablemente dejara de funcionar) la tarjeta de red inalámbrica de mi máquina de escritorio, y cuando a los seis días me di por vencido y en un arranque de locura instalé NetworkManager (para ver si los logs que arroja me daban una idea de qué ocurría), resultó que nada más corrí el pequeño programita de GNOME, y todo funcionó automágicamente.

Pain-Free Networking indeed.

Además, si fuera algo que en general no sé hacer (como configurar una impresora; ¿quién anda matando arbolitos estos días?) tal vez lo entendería; pero vengo configurando las redes de mis computadoras a mano desde hace años. Y es la primera vez en este tipo de cosas que un programita que utiliza el teclado y el ratón pudieron hacer algo que yo no pude modificando archivos de configuración.

Si siguen así las cosas, uno de estos días dejaré de compilar mi propio kernel.

Imprimir entrada Imprimir entrada

Selectric 251

Acabo de ver el inicio de la segunda temporada de Fringe. Por cierto, esta entrada no es acerca de Fringe. En el episodio (que empieza muy chido, dicho sea de paso), uno de los malos se mete a una tienda de máquinas de escribir, y pide una Selectric 251. Eso me recordó las máquinas de escribir que hubo en mi casa durante mi niñez, y que precedieron a las computadoras que después tomarían para siempre su lugar.

Mis padres básicamente se dedican a escribir. Mi mamá da clases y conferencias, y mi padre va a pláticas y presenta libros; pero en esencia la parte gruesa de su producción intelectual se traduce en miles y miles de cuartillas que han generado y que siguen generando día a día.

Esto significó que en nuestra casa siempre hubo máquinas de escribir, hasta justo antes de que llegaran las computadoras a nuestras vidas.

Tuvimos varias máquinas de escribir mecánicas; desde esas antediluvianas que cuando uno escribía en ellas sonaba como si alguien estuviera disparando una ametralladora, hasta la última que si no me equivoco debe estar arrumbada en algún rincón de la casa de mi mamá.

Para mi hermano y para mí, niños como éramos entonces, las máquinas de escribir no daban mucha diversión que digamos; lo más divertido era apretar todas las teclas y ver como las barras se atrabantaban en el centro de la máquina. También era muy divertido desenrollar la cinta y manchar las camisas blancas de nuestros uniformes escolares con ella. Estoy seguro de que a mi madre le parecía genial eso.

Para su tesis de maestría, mi madre por fin se hartó de las máquinas de escribir mecánicas que mi padre al parecer adoraba, y se compró una máquina de escribir eléctrica. Esto debió ser alrededor de 1990, probablemente un poco antes; ya había computadoras, pero sin duda mi madre no podía costearse una, y ni siquiera se pudo comprar una máquina de escribir eléctrica decente.

Mientras que las máquinas de escribir eléctricas chidas de esa época podían justificar párrafos, hacer pies de página, y no sé qué tantas cosas más, la pobre máquina de mi jefa sólo hacía el salto de carro automáticamente. Esa era la única gracia que yo recuerdo que tuviera… ah, y que podía uno borrar automáticamente, con la cinta borradora (la máquina guardaba un determinado número de caracteres para saber cuál tenía que presionar sobre la cinta borradora).

Esa máquina eléctrica a mí me parecía un juguete mucho más divertido que las mecánicas, pero le perdí el gusto rápidamente. Era de margarita, eso sí recuerdo; no vería una máquina de escribir eléctrica de esfera hasta que llegara a la UNAM. Yo creo que mi madre también le perdió el gusto, especialmente porque su tesis de maestría tenía como siete citas en pies de página por página, y para hacerlos básicamente utilizó la técnica de cortar y pegar. Old school. Como en usando tijeras y pritt.

La computadora relegó a cachivaches a las máquinas de escribir en mi casa para siempre, excepto cuando alguien tenía que llenar una forma impresa, que cada vez era más raro.

El programa para escribir documentos (que era la razón para tener una computadora en primer lugar) que usamos primero fue WordPerfect. Primero la versión 4.2, y luego la versión 5.1. Y de hecho durante muchos años mis padres usaron sus computadoras como máquinas de escribir glorificadas. Y dado que suelen poner hartos pies de página, ciertamente les hizo la vida mucho más sencilla.

Yo no; usar procesadores de palabras nunca fue lo mío. WordPerfect me daba más bien hueva, y cuando por fin mis padres se pasaron a Word tampoco me impresionó mucho. Yo comencé a programar, y entonces el utilizar un procesador de texto no era algo que se me diera mucho. Aunque escribí una serie de cuentos en el CCH; particularmente malos, por cierto.

Cuando entré a la Facultad y descubrí TeX, eso sí me apantalló. Y más me apantalló el descubrir que durante muchos años la gente escribía tesis y artículos matemáticos utilizando máquinas de escribir eléctricas de margarita o de esfera, y que para escribir los símbolos matemáticos y griegos sencillamente cambiaban dicha margarita o esfera. Por no decir de la paciencia necesaria para hacerlo.

Me pregunto cómo hubiera sido si hubiera tenido padres que se dedicaran a las ciencias duras y entonces que yo hubiera sabido eso desde niño. A lo mejor hubiera visto a las máquinas de escribir eléctricas como algo más que juguetes.

Claro que, dado como soy, probablemente entonces me hubiera dedicado a la historia o a la filosofía. Y entonces lo que me hubiera fascinado serían las máquinas de escribir mecánicas.

Imprimir entrada Imprimir entrada

Nokia N900

Después de (literalmente) años de especulación, Nokia anunció hace un par de días su nueva generación de “internet tablets”: el Nokia N900.

Nokia N900

Nokia N900

Además de tener un procesador mucho más poderoso que el del N800 (que yo me compré hace un par de años y medio), AGPS, un dispositivo de video con soporte para OpenGL, cámara de 5 megapixeles con flash, teclado integrado y un montón de cosas más, la chingadera es teléfono.

Y corre Linux.

Cuando vi el iPhone sí se me antojó comprarlo, pero además de que el precio de verdad me parecía excesivo, estaba la cosa de que hay que comprarlo con plan o desbloquearlo, de que es Apple (compañía de la cuál jamás he sido fan), y de que parece ser extremadamente complicado el tratar de desarrollar aplicaciones para él.

El N900 resuelve un montón de esos problemas; además es más pequeño que el N800 (lo que para un teléfono se agradece bastante), y no sólo corre Linux, sino que corre Maemo, construido sobre Gtk+ y GNOME. Por supuesto, su precio va a ser ridículo (al parecer estará en alrededor de 700 dlls), pero es parecido al del iPhone, y la verdad no me parece mala compra.

Yo creo que éste será mi próximo teléfono.

Imprimir entrada Imprimir entrada

En línea

Cuando regresé de Europa, me encontré conque no tenía teléfono ni Internet, y varias cuentas amontonadas que tuve que ir a pagar de inmediato para no quedarme también sin luz, agua, gas y demás.

En parte por eso, y porque ya me estaba hartando ir al banco, decidí arreglar de una vez por todas mis broncas con Banamex para que pudiera hacer uso de BancaNet. Eso fue un desmadre que me llevó semanas arreglar, hasta cierto punto porque soy terrible con cualquier tipo de trámite, pero en gran medida porque en Banamex son muy idiotas y nadie sabe nada de casi absolutamente nada, y cuando creen que saben algo generalmente se equivocan.

Como sea, eventualmente se resolvió y ahora estoy pagando casi todas mis cuentas en línea, lo cual es por supuesto mucho más cómodo que ir al banco. Pero, cuando me llegó mi último recibo de Telmex hace casi un mes, no había resulto mi bronca con Banamex, y decidí pagar el recibo usando mi tarjeta de Bancomer.

El trámite fue sospechosamente sencillo, y seguí adelante con mi vida. Hasta hace unas semanas, que decidí dar de alta el servicio en línea MiTelmex de (oh, sorpresa) Telmex, y vi que mi recibo en línea seguía diciendo que pagara antes del 19 de junio. Supuse que Telmex estaría jineteando mi dinero hasta la fecha de corte, y seguí con mi vida. Por los trámites para ir a California no volví a revisar MiTelmex hasta este fin de semana, cuando vi con sorpresa que seguía diciendo que por favor pagara antes del 19 de junio. No ofrecía ninguna sugerencia de dónde conseguir una máquina del tiempo.

Así que llamé a Telmex para preguntar qué ocurría. La simpática muchachita que me atendió me tuvo en espera cerca de veinte minutos, para regresar toda apurada a la línea a decirme que después de consultar el sistema, a su jefe, y a su gerente, podía confirmarme que sí, que no había hecho mi pago. Que era justo por lo que llamaba, pero bueno; le dije que tenía el comprobante del pago, y ella me pidió la fecha del mismo. Cuando le dije que era del 4 de junio, me dijo que el último pago registrado que ella veía era de abril.

Ahí debí darme cuenta de que algo andaba raro, porque seguro pagué un recibo en mayo. Como sea, dado que había agotado sus poderes, la niña me mandó a facturación, donde otra simpática niña tardó como quince segundos en decirme que ahí ya estaba registrado mi pago. Desde el 4 de junio.

Estúpidamente le pregunté que por qué MiTelmex decía que no había pagado, y ella dulcemente me dijo que no tenía ni puta idea. Bueno, me dijo que no sabía, pero por el tono estoy seguro que decía que no tenía ni puta idea.

Lo cual me hizo darme cuenta de que en Telmex son muy idiotas y nadie sabe nada de casi absolutamente nada, y cuando creen que saben algo generalmente se equivocan.

Imprimir entrada Imprimir entrada