Tres buenas noticias

Primero: le prohibieron ir a Fox ir a Australia a ver a su hija. No sólo es bueno porque Fox es un pendejo y me cae mal: es bueno porque es una pinche irresponsabilidad quererse largarse del país a tres semanas del intento de toma de posesión de Calderón, con el conflicto de Oaxaca completamente irresuelto, y con provocadores de derecha poniendo petardos para justificar el uso de la fuerza pública para “solucionar” conflictos.

Y me encanta que el estúpido haga su berrinche en cadena nacional, como si de verdad quisiera ir porque le importa en algo el país, y no porque su hija está a punto de tener un hijo. Se descara el tarado.

Lo más divertido es que diga que los partidos de oposición pensaron únicamente en sus intereses partidarios y no en los del país… como si en verdad este viaje fuera terriblemente importante, en primera. Y en segunda, como si de verdad la gente de este país en masa quisiera que el tarado fuera a este viaje. Ciertamente al menos yo (y un chingo de gente como yo) apoyamos a la cámara de diputados en su decisión.

Segundo: los demócratas toman el control de la cámara baja en el gabacho, y aunque el senado sigue bastante reñido, lo cierto es que va a estar al menos más equilibrado. Ahora, realmente los demócratas no son tan diferentes de los republicanos… pero sí hay diferencia. Y al menos se abre la posibilidad de que se realicen investigaciones al gobierno de Bush.

No creo que se llegue a un impeachment, pero de que se abre la posibilidad de que mejore en algo la situación de Irak, se abre. De ahí a que ocurra es otra cosa, pero al menos en potencia mejora el asunto.

Tercero: Slashdot está reportando que no sólo Sun va a liberar Java (SE y ME); además dicen que lo hará con la GPL. Si es cierto, esto es enorme. Tanto o más que cuando Mozilla liberó Netscape (ahora Mozilla y Firefox), o que cuando Sun liberó StarOffice (ahora OpenOffice).

No sólo permite (obvio) la distribución de Java junto con todas las distribuciones habidas y por haber, sino que además permite meter un montón de software que hasta ahora no se incluían en las distribuciones llibres porque no podían funcionar sin Java (Tomcat, Eclipse, Azureus, LimeWire, etc.) Además, si el código es GPL, se podría utilizar un montón de pedazos para proyectos de implementación de Java libres.

La verdad es que Sun no tenía muchas opciones. Sun no gana dinero vendiendo Java; lo gana con los servicios que ofrece alrededor de la plataforma. Sun no liberaba Java por una razón discutible, pero real; el miedo que tenía era que si liberaba la plataforma Orientada a Objetos más exitosa de la última década, era que Microsofot hiciera un “fork” y dado su dominio casi absoluto en el mercado de escritorio, impusiera “estándares” que sólo le convenieran a ellos. Parecido a lo que ocurrió con el Internet Explorer y la proliferación idiota de sitios que usaban ActiveX. Al mantener “cerrado” Java, Sun mantenía también el control de cómo evolucionaba la plataforma, y así evitaba su “perversión”… o al menos eso decían.

Pero las cosas han cambiado. Microsoft está metido hasta la coronilla con .Net y C#, y si intentara hacer algo sinificativo con Java mandaría el mensaje de que no está tan comprometido con la plataforma .Net como dice. Lo cual garantiza que dejará a Java en paz, esperamos muchos. Si Sun realmente libera Java con la GPL, es posiblemente la jugada más inteligente que haga en años.

A pesar de que C# y .Net está entrando fuertísimo, lo cierto es que hay millones de líneas de código de Java ahí afuera, y un montón de proyectos muy maduros y tecnologías y protocolos y estándares basados en la plataforma. C# es mejor lenguaje que Java; eso es sencillamente indiscutible. Lo cual no tiene nada de impresionante; se planeó diez años después, con muchísima más experiencia y conocimientos disponibles.

(C# y Java son comparables porque ambos tratan de ser buenos para casi el mismo conjunto de problemas; en general comparar dos lenguajes no tiene sentido).

Esta movida de Sun (si realmente ocurre) podría evitar que C# y la plataforma .Net terminen desplazando a Java y JavaEE, que hasta ahora parecía ser la tendencia. Si uno quiere una plataforma enterprise .Net en este momento, necesita ir con Microsoft (y pagar, obviamente). Mono no está al nivel de la implementación de Microsoft, y aunque no dudo que eventualmente puede llegar ahí, el hecho es que la plataforma de Java ya es “enterprise-ready”, y si Java es GPL, las distribuciones de Linux pueden ofrecer una solución integral mucho más barata (e incluso tal vez gratuita) en este momento.

Independientemente de cuál plataforma termine dominando el mercado, el hecho es que un Java GPL sólo puede beneficiar a Linux y otros sistemas operativos libres. Y eso es bueno.

Así que en general hubo buenas noticias hoy.

El respaldo

Enrique me comentó algo muy cierto respecto a mi decisión de mantener ciertos archivos de mi máquina encriptados usando GnuPG, como comenté en otra entrada. Básicamente me preguntó que qué chingados iba a hacer si se me perdía mi llave secreta.

Si no tengo respaldo, obviamente la respuesta es sencillamente “echarme a llorar”, porque necesitaría cientos (o miles) de computadoras corriendo un algoritmo paralelo para intentar recuperar mi llave si llegara a perderla. Así que tengo que asegurarme de no perderla.

Lo que voy a hacer es quemar dos o tres copias de la llave secreta en CDs chiquitos (de esos que son del tamaño de una tarjeta), y guardar uno en mi cartera, otro en un lugar lejano y seguro (el departamento de mi papá o el de mi hermano), y uno más en un lugar súper secreto… como debajo de mi cama.

Si alguien llegara a obtener una copia de la llave no importa; de cualquier forma está protegida por el passphrase. Si se me olvidara el passphrase entonces sí estaría en problemas graves, pero dudo que eso ocurra.

Espero.

Luna de noviembre

Le saqué fotos a la Luna.

Luna de noviembre

Luna de noviembre

Obviamente la Luna sale chiquita; lo cual era de esperarse dado que no tengo telescopio. Eso no es lo grave; lo que pasa es que como la Luna está justo al 100%, está demasiado brillante para mi cámara. Básicamente sale como foquito.

Ni hablar; ciertamente mi cámara no está hecha para estas cosas.

All the King’s Men

Fui con mi mamá a ver de chiripa All the King’s Men. Íbamos a comer, y era la única película que nos quedaba.

All the King's Men

All the King’s Men

Qué chingona película.

Si les gusta la política y el misterio, no lo piensen, vayan a verla; es fabulosa. Si no, de todas vayan a verla: las actuación de Sean Penn es impresionante. Sin duda una de las mejores películas que he visto este año.

The Covenant

Fui a ver con Enrique y Juan The Covenant.

The Covenant

The Covenant

Ellos salieron más o menos mentando madres del churro; yo estoy dispuesto a aceptar que es un churro (porque lo es); pero yo sostengo que es uno bastante divertido. Ciertamente chafea gacho al final, pero dentro de lo que cabe está bastante entretenido.

Lo que sí es que ciertamente desaprovecharon una idea más o menos original; las brujas de Salem en el siglo XXI. Como si Harry Potter le entrara a las anfetaminas.

Es un churrito dominguero, pero a mí sí me entretuvo.

La noche del Zinco

Me habían hablado del Zinco desde hacía ya bastante; el consenso era que es un lugar chido para escuchar Jazz, con buen ambiente y precios no exorbitantes. En particular, Omar tenía en alta estima el lugar. Por supuesto, siendo como es Omar, jamás me invitó: tuve que esperar a que Fernanda (“la muchacha antes conocida como Gabriela”) me invitara para ir.

Yo a mi vez invité a Enrique, y para allá fuimos. Enrique ya había ido, y según él no había en el Zinco nada para comer excepto tal vez botanas, así que fuimos por los tacos más extremos a los que haya ido yo en mucho tiempo. Y eso ya es decir mucho: la taquería era atendida por una persona; él hacía los tacos, daba los refrescos, cobraba y “limpiaba” los platos.

Estuvieron buenos.

Por supuesto a la hora de llegar al Zinco quería matar a Enrique, porque claro que sí sirven comida; y se veía bastante buena, además.

Yo, Fernanda y sus cuates

Yo, Fernanda y sus cuates

Me la pasé muy padre; el lugar está chido, la música estuvo bastante buena (aunque me quedé con ganas de más Jazz; estaba invitado un grupo argentino, y me tocaron tangos más que nada… lo cual está chido: también me gustan los tangos), el lugar tiene buen ambiente y no es terriblemente caro.

El grupo

El grupo

Al salir, por alguna razón que no me termina de quedar clara, nos quedamos diez minutos viendo una bóveda que antes era del Banco de México. Yo aproveché para tomarle fotos, porque sí se veía impresionante.

La bóveda

La bóveda

Muy padre noche; me puse al día con Fernanda que hacía años no platicaba con ella, me encontré a otra gente que tampoco veía en mucho tiempo, y en general me la pasé bastante bien.

El Zinco

El Zinco

Seahorse

En mi máquina tengo archivos que en verdad me gustaría que nadie (excepto yo) jamás vea. No entrañan nada del otro mundo (nadie iría a la cárcel por sus contenidos), pero sí son cosas con las cuales un alto nivel de discreción es recomendable.

Lo que hace uno con este tipo de archivos es encriptarlos. No en un Zip con sus ridículos passwords, sino con algoritmos de encriptamiento verdaderamente seguros. En Linux eso suele querer decir utilizar GnuPG (GNU Privacy Guard), la implementación de GNU del estándar OpenPGP, que permite encriptar y firmar digitalmente documentos.

La idea básica es sencilla; se tienen dos llaves (A y B), y si uno encripta algo con la llave A, entonces sólo puede descifrarse con la llave B, y si alguien encripta algo con la llave B, entonces sólo puede descifrarse con la llave A. Por supuesto, para que esto tenga algún tipo de sentido, debe ser muy difícil obtener A a partir de B o B a partir de A. Digamos que estas llaves las genera Fulano.

Una de las llaves (digamos la A) se define como la llave privada (Fulano y únicamente Fulano puede verla y usarla), y la otra (digamos la B) se define como la llave pública (todo mundo puede verla). Entonces así es muy fácil enviarle (por ejemplo) un correo súper secreto a Fulano; sólo se toma su llave pública (todo mundo puede verla, entonces no hay problema), encripta el correo con ella y se lo manda a Fulano. No importa quiénes pudieran interceptar el mensaje; como la llave privada de Fulano sólo la tiene él, sólo él puede descifrar el mensaje.

De igual forma, si Fulano quiere mandar un mensaje y que quede claro que fue él el que lo envió, entonces lo que hace es encriptar el mensaje con su llave privada. Todo mundo puede descifrarlo con la llave pública de Fulano (porque es pública), pero cómo sólo Fulano tiene acceso a la llave privada, queda claro que fue él el que encriptó el mensaje. Y eso es una firma digital.

(Claro que si la llave privada es comprometida, absolutamente todo el esquema de seguridad se viene abajo; pero eso es otro problema. En particular, con GnuPG además se proteje la llave privada con una passphrase, para que incluso si alguien puede tener acceso a ella, no quiera decir que ya pueden utilizarla).

El algoritmo usado por GnuPG es ElGamal, que utiliza criptografía de curvas elípticas (que es por cierto lo que estoy viendo en mi clase de criptografía). Es seguro mientras el problema del logaritmo discreto no se pueda resolver “rápidamente” en una computadora. Las computadoras cuánticas en teoría podrían resolverlo de volada; pero mientras no estén aquí y sean usables en la práctica, no hay nada de qué preocuparse.

Yo vengo usando GnuPG desde hace años; desde que comencé a usar mi cuenta de correo en Ciencias como mi cuenta principal, generé mis llaves y publiqué mi llave pública (je) en http://pgp.mit.edu (ahí la pueden consultar si me quieren enviar encriptados sus planes de dominación mundial). Huevón como soy, le puse que nunca expirara; se supone eso está mal, pero realmente no uso mi cuenta en Ciencias para fines subversivos (para eso tengo otras cuentas), y sólo quería tener la posibilidad de firmar mis mensajes y que alguien, si lo quería, me enviara correos encriptados. Lo primero lo vengo haciendo desde hace años; lo segundo hasta ahora no ha ocurrido.

Como sea, también sé que que para encriptar archivos uno sólo tiene que hacer:

gpg -r NAME --output OUTFILE.gpg --encrypt INFILE

y para descifrar uno sólo tiene que hacer:

gpg -r NAME --output OUTFILE --decrypt INFILE.gpg

…pero qué hueva estar haciendo eso cada vez que uno encripta o descifra un archivo. Así que fue muy divertido descubrir cómo funciona Seahorse, el front end de GNOME para GnuPG.

Ya lo había instalado antes, pero lo desinstalé en primer lugar porque no sabía cómo usarlo y me dio hueva investigar, y en segundo lugar (y la razón más superficial del universo) porque su programa de configuración no tenía iconito en los menúes de GNOME; desde hace un rato borro cualquier aplicación que ponga entradas en los menúes y no les ponga iconos.

Pero con GNOME 2.16 viene Alacarte, que es un editor de menúes über cool, que me permitió poner el iconito necesario y así dejar el programa instalado el suficiente tiempo como para aprender a usarlo. Que fueron como 15 minutos, por cierto.

Lo chido de Seahorse es que se integra con Nautilus; entonces si uno tiene un archivo que quiere encriptar

Lo único que hace es hacerle click con el botón derecho del ratón y elegir (duh!) “encriptar”:

Entonces sale una ventana donde uno puede elegir qué llave pública usar para encriptarlo. Otra cosa chida de GnuPG: uno puede tener cuantas llaves quiera, y cada una de ellas tiene su propia passphrase. Para encriptar archivos para mi uso personal, decidí usar una llave distinta a la que uso en mi correo electrónico, y además no la publiqué en pgp.mit.edu:

Y ya; el archivo queda encriptado:

Esto es lo único que no me gustó: Seahorse encripta a un archivo con extensión .pgp, que no es la que Nautilus asocia con Seahorse. Pero eso se soluciona fácilmente cambiándole la extensión a .gpg, y al hacerle doble click, Seahorse pide el passphrase (obviamente no me “pide” la llave privada porque esa la tengo en mi máquina):

Y si la passphrase concuerda, desencripta el documento. Está súper chido; incluso si robaran mi máquina (o más posible, mi laptop), está muy cabrón que puedan descifrar alguno de mis documentos encriptados (a menos que mi passphrase sea terriblemente débil… pero eso es otra historia). Otra cosa bonita es que el programa seahorse-agent corre como demonio todo el tiempo, y guarda las passphrases un rato (50 minutos por omisión, pero se puede configurar y borrar cada vez que uno quiera el cache de passphrases).

Así es muy sencillo estar encriptando y descifrando archivos. Y entonces puedo mantener mis sucios secretos seguros de miradas indiscretas.