Chido/no chido

No chido: Estar a las 2 de la mañana en la universidad trabajando.

Chido: Que cuando me de hambre haya un McDonald’s abierto las 24 horas a dos cuadras.

No chido: Que únicamente haya un McDonald’s abierto.

Menos chido: Que tenga que hacerle señales a los empleados de dicho McDonald’s porque no tengo carro y la máquina para hacer pedidos me ignora.

Chido: Que al salir del elevador un negro que me saca 20 centímetros de altura y probablemente me doble la masa muscular, diga que yo “scared the shit out of him”.

Primera cosa que haré al llegar a la Ciudad de México: ir a comprar tacos de suadero en la madrugada.

Imprimir entrada Imprimir entrada

Fantastic Four: Rise of the Silver Surfer

Haciendo caso omiso a todo mi sentido común (que me decía/dice que tengo que trabajar sin pausa porque se me acaba el tiempo en California), fui a ver Fantastic Four: Rise of the Silver Surfer.

Se aplican las advertencias de spoilers de siempre.

Fantastic Four: Rise of the Silver Surfer

Fantastic Four: Rise of the Silver Surfer

Creo que es la mejor adaptación de un comic que he visto en mucho tiempo. No le llega a Spider-Man 2 o Sin City, pero es sin duda alguna fiel, honesta, y además no se toma terriblemente en serio; lo cual es difícil de encontrar en los estrenos de verano, y más aún si se toma en cuenta de que al fin y al cabo es Galactus con quien se enfrentan los Cuatro Fantásticos.

La historia es un reflejo sorprendentemente fiel de las primeras apariciones de El Devorador de Mundos y del Silver Surfer; y de la saga cuando Doom le roba al segundo su deslizador cósmico… o como sea que se traduzca. Michael Chiklis y Chris Evans de nuevo hacen muy bien sus papeles, y en particular me gusta que Evans consiga darle a Johnny Storm un estilo más maduro que en el comic, y al mismo tiempo uno más inmaduro. Chiklis yo sigo diciendo que podría hacerle de The Ting sin maquillaje.

Ioan Gruffud (A.K.A. Lancelot) me convenció más en esta película como Mr. Fantastic, y Jessica Alba (de nuevo) me sorprendió como Sue Storm. Lo único que no entiendo es por qué siguen empeñados en la idiotez de pintarla de rubio y ponerle pupilentes azules: se ve artificial (y algo vulgar), y no veo porqué no cambiar el canon y decir que ahora la Mujer Invisible es latina. Digo: Alicia Masters es negra aquí, y Pete Ross es negro en la serie Smallville; no creo que tenga nada de malo algo cambiarle razas a los personajes: no es algo fundamental en ellos (en este caso al menos; si alguien tratara de cambiarle la raza a Luke Cage entonces sí creo que habría problemas).

Beau Garret como Frankie Raye está bien; muy guapa al menos, pero no tiene nada que ver con su contraparte en los comics. En los comics ella termina convirtiéndose en el heraldo de Galactus; tengo esos ejemplares, en español, de cuando los publicaba Novedades. O Novaro. O alguien. Creo que era John Byrne el dibujante en ese momento de los FF.

El Doom de la película es más fiel al de los comics que el de la primera (lo cual no era muy difícil), pero no terminó gustándome mucho su aparición. Creo que la película pudo haber sido exclusivamente de Galactus y el Silver Surfer.

Lo que más me gustó (después de la fidelidad a los comics) fue el tono ligero de la película. Algunos chistes tal vez sí son medio mensos; pero no se ven forzados (creo yo), y de verdad parece que los actores se estaban divirtiendo. Toda la escena de la despedida de soltero de Reed es bastante divertida.

Y como pilón, Reed usa un Nokia 770 como PDA… que por supuesto corre Linux. (Creo que es el 770, porque el 800 está más gordito).

Cuando salió la primera película de los Cuatro Fantásticos, yo (como muchos más) estaba bastante seguro de que sería pésima. En gran medida era por Jessica Alba, debo admitir, pero el punto es que entré al cine con muy bajas expectativas. A eso atribuí que me hubiera gustado tanto la primera parte: tenía tan bajas expectativas (razoné) que casi cualquier cosa no pésima me hubiera contentado. Ahora veo que me equivoqué: la primera película y esta comparten algo que es indispensable en cualquier adaptación de un comic a la pantalla grande; están hechas con cariño por gente que es obvio que de verdad disfrutan de leer comics.

Está padre la película; y ciertamente vale la pena verla en el cine tan solo por los efectos especiales. Me gustó más que Spider-Man 3.

Imprimir entrada Imprimir entrada

Trac

Ahora que liberé la versión 0.0.7 de Geom, me harté del pequeño sitio en PHP que había escrito cuando trac comenzó a asesinar mi servidor. Además, de verdad me gustaría comenzar a usar un bug tracker, y evidentemente bugzilla es demasiado para Geom.

Así que decidí darle una segunda oportunidad a trac. El nuevo sitio de Geom está aquí, y el anterior redirecciona automáticamente a él. Los paquetes (.tar.gz, .rpm y .deb) siguen en el mismo lugar, así como los screenshots y los screencasts.

No recuerdo exactamente cuál fue el problema que tuve la última vez con trac; creo que dejaba abiertos un montón de archivos y entonces Apache ya no podía abrir (y por lo tanto servir) más páginas, pero la verdad no me queda claro. Lo que sí me queda claro es que desinstalé trac y moví todo el negocio a abulafia con un sitio escrito en 20 minutos con PHP, que sirvió más o menos para lo que quería hasta que el sábado me harté de cómo actualizaba las páginas (básicamente con XEmacs o Jed corriendo en una sesión SSH a abulafia).

Trac me sorprendió mucho; no sólo está más bonito de lo que recordaba, sino que está jalando de maravilla. Especialmente considerando que abulafia no es la máquina más poderosa (pero ni de lejos) del universo. Pero además está muy chido de configurar, y el wiki es extensible con pequeños archivitos de Python (lo cual jala sorprendentemente bien).

No me llevó mucho pasar todo lo que tenía al wiki; y además está la ventaja de que la interfaz con Subversion está bien bonita: puedo ver desde el navegador el código con sintaxis coloreada (como aquí), puedo ver las diferencias entre versiones (como aquí), y un montón de cosas más.

Y además es un wiki; hacer modificaciones a las páginas es facilísimo (cualquiera puede de hecho). Y me gusta cómo se ve, aunque igual y le hago más modificaciones luego.

Imprimir entrada Imprimir entrada

Es como crack, les digo

Programar en Geom es como crack; altamente adictivo.

Ahora que terminé el primer capítulo de mi tesis (que debo aclarar que no es el primer capítulo de mi tesis, es el primer capítulo que escribí; terminará siendo el tercer o cuarto capítulo, dependiendo), utilicé mucho Geom para hacer varias de las figuras que en él aparecen.

Eso hizo que fuera arreglando ciertas cosas en el programa (la primera arreglar el script g2p.py; ni siquiera me di cuenta en qué momento dejó de funcionar), y poco después platicando con Omar me dio algunas ideas para mejorar el desempeño del algoritmo que calcula cómo redibujar construcciones dependientes a otra construcción. La idea fundamental es tan obvia que me da vergüenza no haberla pensado antes: utilizar un caché para sólo calcular una vez la lista de construcciones que se están moviendo.

Después de hacer eso hice algunas mediciones, y vi que estaba perdiendo mucho tiempo dibujando la pantalla cuando no era necesario. Así que ahora el programa sólo redibuja la pantalla cada 10,000 microsegundos, y se nota bastante (creo yo) en el desempeño.

Pero además llegué a la conclusión de que tal vez mucha gente no esté bajando Geom un poco intimidados por el hecho de tener que instalar CCC directamente del repositorio de git, así que bajé unas imágenes de VMware, instalé VMware Player, y me puse a hacer paquetes de Geom y CCC para Ubuntu 7.04 y Fedora 7.

Geom corriendo en Ubuntu 7.04 en VMware Player

Geom corriendo en Ubuntu 7.04 en VMware Player

Geom corriendo en Fedora 7 en VMware Player

Geom corriendo en Fedora 7 en VMware Player

Está muy chido el VMware Player, si bien es algo doloroso correrlo en mi laptop (que no es muy poderosa). Pero fue utilísimo para crear los paquetes… que por cierto; había olvidado lo horrible que es hacer RPMs. Y los paquetes de Debian (ergo Ubuntu) no están mucho mejor; de hecho creo que me gustan más los RPMs: al menos uno hace un archivo (el famoso spec). En Debian es un directorio, con mínimo como cinco archivos.

Ya entrado en calor, también hice un overlay chiquito para Gentoo, para poder instalar CCC y Geom. Y sin duda alguna creo que los ebuilds son infinitamente superiores a los packetes binarios de Fedora y Ubuntu.

Como sea, todo esto está en la sección de downloads en la página de Geom, y pueden ver instrucciones para instalar los paquetes en distintas distribuciones en la sección de install.

Ahora sí no hay pretexto: ya ni siquiera tienen que compilar nada para instalar Geom.

Y bueno, con su permiso me voy a dormir, que tengo una semana para demostrar el teorema que será el resultado central de mi tesis.

Imprimir entrada Imprimir entrada

“Eks-oh-shay-milco?”

El lunes en la mañana terminé el primer capítulo de mi tesis. Ya Bernardo y Silvia tuvieron bien a hacer correcciones, que debo seguirlas y además terminar de sacar un teorema que será el resultado principal de mi tesis… si lo demuestro, claro. Pero yo creo que sí.

Como sea, ya que falta menos de un mes para regresar, cancelé por adelantado los servicios de luz y agua, para que nos regresen el depósito que dimos, necesario dado que no tenemos número de seguro social. Resulta que el famoso depósito nos lo envían a cualquier lugar en el mundo, así que les di la dirección de mi casa en Xochimilco letra por letra, para asegurarme de que la apuntaran bien.

Pero después de apuntarla, me la leyeron. Bue Dios, eso fue cagado:

Operadora: Del-e-gacion Eks-oh-shay-milco?

¡Dos veces!

Imprimir entrada Imprimir entrada

Dos a la cinco es treinta y dos

¿Cómo le hace uno para correr un algoritmo exponencial y que haya esperanzas de obtener un resultado en lo que dura el universo (o en lo que me regreso a México, que desde mi punto de vista es lo mismo)?

Pues uno agarra las treinta y dos máquinas en el laboratorio de cómputo de una universidad, que por ser verano casi no se usan, y las pone a trabajar en paralelo iniciándolas con un LiveCD de Gentoo y automatizando el proceso con un mini servidor escrito en Java corriendo en CU en México. Los procesos paralelos corren en C, por supuesto; no lo escribí en ensamblador nada más porque confío en gcc -O3.

Por supuesto, el problema es intratable (es lo malo con las cosas NP completas); pero esta instancia podemos atacarla mientras aún estoy aquí. De hecho, tal vez acabe esta semana.

Y eso es bueno.

Imprimir entrada Imprimir entrada

Pirates of the Caribbean: At World’s End

Tan agobiado en chamba estuve esta semana, que no escribí que el domingo pasado fuimos a ver Pirates of the Caribbean: At World’s End. Se aplican etc.

Pirates of the Caribbean: At World's End

Pirates of the Caribbean: At World’s End

Comenzaré diciendo lo que creo que es obvio: Pirates of the Caribbean: At World’s End, es una mala película.

No digo que sea la más mala de la triología (que lo es, obviamente), digo que es mala. No sólo es mala; es bastante mala. El Ronquillo lo resumió bastante bien “es como porno“. Y sí es cierto, sólo que en lugar de chisguetazos hay cañonazos.

Ahora bien, casi todos los que me conocen saben que a mí me encanta la pornografía, así que tal vez no sea de extrañar que me haya gustado mucho la película.

Tiene que ver, por supuesto, que es yo creo la mala película mejor hecha que he visto. De hecho, creo que es la peor película mejor hecha que he visto; el Ronquillo lo resumió también bastante bien “vamos a ver cómo nos gastamos 200,000,000 (doscientos millones) de dólares”. Y además, los indudablemente buenos actores como Johnny Depp o Geoffrey Rush se ve que se divirtieron como enanos todo el tiempo.

Yo sí estuve muerto de la risa las tres cuartas partes de la extremadamente larga función, y disfruté particularmente toda la escena de la boda (ciertamente creo que es la boda más divertida que he visto en cine; al menos le gana al intento de boda del Sheriff of Nottingham y Marian Dubois en Robin Hood: Prince of Thieves… y esa incluía a Alan Rickman).

Pero a pesar de que me la estaba pasando muy bien, y de que de hecho salí muy contento de haber visto la película (en el cine, claro), lo cierto es que es imposible dejar de notar lo mala que es. Es una orgía de efectos especiales, bromas rápidas (y muchas veces estúpidas… pero eso sí, divertidas), personajes secundarios que mueren a puños, escenas de acción espectacularmente sin sentido, y un montón de personajes con la profundidad de una hoja de papel celofán. Es, literalmente, una película porno de doscientos millones de dólares (o más, me da miedo pensar), donde lo que más alcanzamos a ver de Keira Knightley es medio muslo.

Sin duda alguna hay que verla; y en el cine (de hecho no creo que tenga mucho sentido no verla en el cine), pero es como esos tacos de suadero de afuera del metro Pino Suárez que uno se come crudo (o todavía borracho) a las dos de la mañana porque no hay otra cosa abierta: sí, saben a gloria, y sí, uno puede disfrutarlos de forma casi orgásmica. Pero no deja de ser verdad que, desde cualquier punto de vista que uno lo quiera ver, no son buenos. De hecho, son terribles. Deliciosamente malos, pero malos al fin y al cabo.

Así es esta película. Con la diferencia que los tacos de suadero cuestan cuatro pesos cada uno, y esta película costó doscientos millones de dólares.

Imprimir entrada Imprimir entrada

Geom 0.0.6

Una semana después, Geom 0.0.6 ha sido liberado.

De hecho no me tardé tanto con esta versión; un par de días en la tarde nada más. Pero lo que le incluí es, creo, fabuloso: extensiones en Python. Con ellas de verdad se vuelve extensible el programa (valga la rebuznancia).

La cosa es que, una vez logré ver cómo llamár los métodos de Python desde C para los plugins, me di cuenta que era exactamente lo que necesitaba para las restricciones de las construcciones (que por cierto, el llamar métodos de Python desde C es relativamente sencillo, si bien no lo he visto documentado en ningún lado… tal vez debería hacerlo yo… si no tuviera cosas que hacer).

Lo padre de esto es que cualquiera puede extender Geom sin necesidad de saber nada de C, y realmente muy poquito de Python (yo mismo no sé mucho). Y lo puede hacer aventando un par de archivos en un directorio de su $HOME, sin necesidad de recompilar nada.

Sólo para probar qué cosas se podían hacer, escribí tres extensiones que están incluidas en esta versión. La primera genera Kn (esto es, la gráfica completa de n vértices) poniendo los vértices sobre un círculo. No tiene nada de especial; de hecho ya se podía hacer (fácilmente además) desde la consola de Python. Lo bonito es que diseñé un método para que el usuario le pueda pasar información a una extensión (n en este caso); en este momento sólo se pueden pasar enteros y flotantes (y cadenas, que no tengo idea si tenga sentido), pero ya con eso se pueden hacer bastantes cosas. Vean el screencast para darse una idea.

Extensión Kn

Extensión Kn

Hay versiones en AVI en la sección de screencasts del sitio de Geom.

Después hice polígonos regulares. Este tampoco tiene nada de interesante (aunque también le pide al usuario el número de lados); lo interesante es que el polígono regular se puede guardar y volver a abrir, y la restricción sigue funcionando.

Extensión polígono regular

Extensión polígono regular

Después, y entusiasmado por una discusión que tuve con Omar, escribí una extensión que permite calcular el casco convexo de un conjunto de puntos. Esta extensión no pide entrada al usuario; pero sí deben estar seleccionados los puntos a los cuales se les quiere calcular el casco convexo (igual que en el polígono regular, por cierto).

Extensión casco convexo

Extensión casco convexo

Lo bonito es que por supuesto el casco convexo se conserva aunque movamos los puntos. Es bastante rápido, de hecho, me sorprendió que corriera tan bien en mi laptop (no se ve muy ágil en el video, pero es que ya calcular el casco convexo todo el tiempo y además estár encodeando a Ogg/Theora sí le pesa a mi maquinita).

Y ya teniendo el algoritmo de Graham Scan implementado, pues de una vez hice un plugin que explica cómo funciona con palos y bolitas.

Graham Scan plugin

Graham Scan plugin

Lo cual está padre, porque usando Geom se pueden explicar muy bien muchos algoritmos de Geometría Computacional. (Y también ayuda programarlos, por cierto).

Pero ahora sí considero agotado el tiempo que le podía haber dado a Geom mientras estoy en California; la cantidad de chamba ha crecido a pasos agigantados (razón por la cual no he escrito casi nada en el blog), y mi escritura de la tesis va bastante bien, creo yo. A lo más le haré pequeñas correcciones al programa cuando las necesite (sigo pensando usarlo para la mayor parte de mis gráficas), pero no creo volver a sacar una nueva versión hasta que vuelva a México.

Eso sí, se aceptan parches. O plugins. O extensiones.

O un API de Python bonito.

Imprimir entrada Imprimir entrada

Geom 0.0.5

Después de un par de semanas de dedicarle mi tiempo libre, aquí está la nueva versión de Geom.

El número de características nuevas es bastante alto, pero lo más importante sin duda alguna es que por fin tiene plugins en Python. El tener que escribir los bindings para Python me hizo volver a pensar el diseño de casi todo el programa (además de entender porqué ciertas cosas funcionan de cierta manera en GObject), pero creo que el resultado es bastante bueno.

Geom 0.0.5

Geom 0.0.5

Además, dejé de hacer screencasts con Flash y estoy utilizando Istanbul, y debo decir que es fabuloso. Los videos resultantes son bastante bonitos, si bien el único problema es que mi laptop no es muy rápida y algunas cosas (como plugins que hacen animaciones) se ven como dando saltos. Que la verdad no sé de qué me quejo: son videos con resolución de 1280×800.

Quitando que algunas cosas se ven lentas, quedaron bastante bien: dense una vuelta por la sección de screencasts de Geom; hay disponibles en Ogg/Theora (que en mi laptop con Gentoo puede reproducir con Totem, MPlayer, Xine e incluso dentro de Firefox con el Totem Browser Plugin), y en AVI, aunque la verdad no sé qué tan fáciles sean de ver en Windows.

Screencasts de Geom

Screencasts en Geom

Con la funcionalidad que dan los plugins, ahora sí se puede usar Geom para cosas “serias”; el programa viene con dos plugins de ejemplo, y ambos hacen animaciones. Pueden verlas también en este screencast.

Estoy bastante orgulloso de esta lección; espero que ahora sí mi número de usuarios aumente de “1”.

Imprimir entrada Imprimir entrada

La caída de la Serpiente Negra

No había podido escribir porque había estado particularmente ocupado estos días, reescribiendo en C un programa que Bernardo y Silvia habían hecho en Mathematica, así que no conté del suceso que terminamos llamando La caída de la Serpiente Negra.

El martes en la mañana, antes de las nueve, salimos en las bicicletas rumbo a la universidad. La ida a la universidad puede ser muy rápida, porque es de bajada aunque de pendiente poco pronunciada. Íbamos bastante rápido, y a lo puro güey porque de hecho íbamos con tiempo de sobra.

Un carro unos cincuenta metros adelante de nosotros salió de uno de los múltiples estacionamientos de la universidad, y se quedó ocupando como el 80% de la banqueta. Armando iba adelante, y como no dio muestras de querer detenerse yo me seguí tras de él.

La cosa estuvo así: Armando se bajó un poco de la banqueta por la pendiente de la salida de carros, y cuando trató de subir de nuevo la llanta delantera se le enrrieló con el pequeño desnivel que hay entre la pendiente de la salida y la calle. Entonces se cayó.

Yo iba a unos tres metros detrás de él, con frenos básicamente inservibles, y me vi de repente volando en el aire, cuando mi bici utilizó la llanta trasera de la suya como rampa. Dudo mucho que hubiera alguien con una cámara listo para inmortalizar nuestra pendejada, pero hice un escueto diagrama de cómo estuvo la situación:

La caída de la Serpiente Negra

La caída de la Serpiente Negra

Realmente no me separé de la bici hasta tocar el suelo, pero creo que es válido tomarse ciertas licencias dramáticas. Como sea; en algún momento algo golpeó mi pantorrilla derecha (estoy casi seguro que el pedal), otra cosa golpeó mi muslo izquierdo (el manubrio, creo), mi hombro se raspó cuando lo metí para rodar tratando de protejer la laptop (que siempre cargo), y dejé de rodar cuando mi cabeza decidió que quería frenar. Usando el suelo como medio de fricción.

En ese momento pasaron varias cosas. La primera es que me detuve, y tardé medio segundo en recuperarme del golpe en la cabeza (estoy acostumbrado; hubo una época de niño que diaro me golpeaba la cabeza). En ese medio segundo, mis lentes salieron volando con el golpe, y mi mochila que venía detrás de mí en el aire golpeó el suelo. Como fue mi medio segundo de pendejez dada la contusión craneal, no me di cuenta de eso último.

De mis lentes sí me di cuenta, y en cuanto me recuperé (en medio segundo, repito), lo primero que hice fue ver que estuvieran bien. Lo estaban, si bien algo más abiertos que lo normal (son de titanio, pero el cristal es fácilmente rompible). Después dejé mi mochila en la banqueta, y olvidándome de la bicicleta atravesada en el primer carril de la calle, caminé unos pasos evaluando los daños en mí y preguntándole a Armando si estaba bien.

Por supuesto lo estaba; a pesar de que fue él quien se cayó primero, fui yo el que tuvo la caída más aparatosa. Y por cierto, la pinche gringa que sacó el carro agarró y se fue sin ni siquiera preguntarnos si teníamos todas nuestras partes funcionando.

El golpe en la cabeza fue bastante leve (repito; tengo experiencia), el golpe en el muslo no pasaba de molesto, y el raspón del hombro más que nada ardía al frotarse con mi ropa. Pero lo más doloroso fue la pantorrilla; no sé cómo fue el golpe, pero se me hinchó de forma bastante impresionante, y dolía mucho al caminar. Mas nunca se hizo ningún moretón, y era obvio que no tenía fractura de ningún tipo (el dolor era muscular), así que lo dejé ser y hoy ya casi no duele.

Lo más doloroso no tuvo que ver con mi cuerpo sin embargo; al sacar mi laptop de la muchila, reparé en el golpe que inicialmente ignoré porque fue concurrente con mi golpe en la cabeza. La laptop golpeó en la esquina de atrás a la izquierda, por debajo, protegida en gran medida por la mochila, pero sí se rompió un poco la cubierta de plástico. Pero lo feo fue que se rompieron los ganchillos de plástico que hacen que la laptop permanezca cerrada; se los pegué con kola loka (que contrario a lo que pudiera pensarse, aquí se llama krazy glue), pero quedó medio descuadrada y no es tan fácil cerrarla ahora como antes, pero sí se puede.

Fuera de eso, la maldita máquina está perfecta; tenía la laptop suspendida y supongo que el golpe desconectó un segundo la batería, porque tuve que prenderla: pero todo funciona como debe ser, DVD incluido. Realmente me impresioné; dada la fractura en la cubierta de plástico se ve que el golpe estuvo cabrón, pero la laptop básicamente está intacta. Siempre había tenido la impresión de que las VAIO eran medio frágiles; cambié totalmente de opinión.

Es el único accidente digno de mención que hemos tenido con las bicicletas, y más que nada nos hemos estado riendo al recordarlo (aunque sí estuve preocupado unas horas por mi laptop). Sólo espero que sea el único.

Imprimir entrada Imprimir entrada

Compartiendo música

Armando y yo tenemos una considerable colección de música en nuestras respectivas laptops (yo en particular, una hora antes de salir de mi casa al aeropuerto, copié casi toda mi colección a mi disco duro móvil de 40 gigas, que después moví a la laptop). Generalmente nos vamos alternando para ver quién pone la música; aunque hay una intersección importante, la gran mayoría de las rolas están en su máquina o en la mía.

Hoy en la universidad, Armando me dijo que no podía cerrar su iTunes (él usa Mac OS X en una iBook G4), porque alguien estaba usando su música. Entonces recordé pláticas en Planet GNOME, donde decían que querían agregarle soporte para DAAP a Rhythmbox, y rápidamente recompilé Rhythmbox con la bandera apropiada (daap, por cierto, contrario a lo que pudiera pensarse).

Por supuesto, no funcionó. Armando podía ver mi colección de música, pero él no podía ver la mía: resulta que la versión de iTunes que Armando tenía (la 4.5), no funcionaba. Pero además, en todos lados decía que no instalaran la versión 7, porque esa de plano es imposible hacerle jalar el compartir música con otros clientes distintos al mismo iTunes. Por suerte encontramos el iTunes 6, y después de instalarlo, pudimos cada quien reproducir las canciones del otro.

Pero lo chido es que de repente aparecen otros clientes en la red, y como iTunes es el de facto estándar para tocar MP3 aquí en gringolandia en Mac y Windows (por la tienda virtual de música), su música es automágicamente compartida. Ahorita estoy escuchando la música de una chava (supongo que es chava).

Música compartida

Música compartida

Está bastante chido. Se puede escuchar nueva música nada más teniendo la computadora prendida.

Imprimir entrada Imprimir entrada

Sucesiones Circulares

De las cosas que estoy estudiando ahorita con Bernardo y Silvia, son sucesiones circulares. Qué son, para qué sirven, y cómo se generan geométrica y combinacionalmente es un desmadre del cual no voy a hablar ahorita.

De lo que voy a hablar, es que resulta que para hacer diagramas bonitos de sucesiones circulares, mi programa Geom es perfecto, y hoy lo estuve usando para dibujar algunos. Modifiqué el script en Python que convierte a PStricks, y le estuve haciendo unas pequeñas modificaciones al programa (que al final ni siquiera utilicé); pero lo importante es que está siendo realmente útil, y entonces me da el pretexto necesario para seguir trabajando en él.

Sucesiones Circulares

Sucesiones Circulares

El screenshot es de Evince; el script de Python para convertir a PStricks quedó mucho mejor, creo. No sé qué tanto le mofique a Geom (tampoco puedo perder mucho tiempo con él), pero espero poder al menos sacar una versión nueva mientras estoy aquí, con las nuevas cosas que voy a necesitar que haga.

(Si pudiera hacer los bindings de Python para el sistema de plugins que me interesa, sería fabuloso; ¿sabe alguien de un buen lugar para buscar información acerca de hacer bindings de GObject con Python? Estaba estudiando el sistema de plugins de Rhythmbox antes de salir de México, pero creo que ahí es mucho más complejo de lo que yo necesito.)

Imprimir entrada Imprimir entrada

Llenando de SPAM el planeta

Literalmente. No sé porqué de repente mi blog comenzó a llenar de SPAM al Planeta GNOME Hispano. Hace unas semanas mis entradas habían dejado de aparecer en el planeta, y creí que los administradores me habían hecho caso y estaban restringiendo a mis entradas de la categoría GNOME lo que aparece en el planeta. Cuando tampoco apareció mi última entrada de GNOME, pensé que había un problema (porque mi nombre sigue apareciendo en la lista de usuarios), o que me habían corrido por haber dejado de publicar avances de Geom (je).

Pero para mi sorpresa hoy de repente aparecieron como diez entradas de mi blog en el planeta. Perdón por el SPAM.

A los administradores del Planeta GNOME Hispano les repito que tal vez consideren apropiado restringir mis entradas que aparecen publicadas ahí a las que están en la categoría de GNOME.

Imprimir entrada Imprimir entrada

El inicio

Hoy comencé a escribir mi tesis.

La entrada no es porque haya tenido un avance particularmente impresionante (a menos que tres párrafos los impresionen a ustedes), sino porque quiero tener bien definido el día que empecé a escribirla. Y ver cuánto me tardé cuando acabe.

Perdí un par de horas jugando con \LaTeX y un Makefile, y acostumbrándome a {\mathrm{B{\scriptstyle{IB}} \! T\!_{\displaystyle E} \! X}} y definiendo la estructura que tendrá el proyecto. Y después tuve que ponerme a escribir esos tres primeros párrafos; que me costó bastante el comenzar a sacarlos, por cierto.

No me preocupa mucho; sé (o al menos esa es mi experiencia) que lo más difícil es comenzar a escribir, y después saber cuándo pararle.

Como estoy trabajando en problemas nuevos con Bernardo y Silvia, comenzaré la tesis con uno de los problemas de Guanajuato, y cuando estén los nuevos resultados que saque con ellos (porque vamos a tener nuevos resultados… espero), ya veremos cómo los integramos. Jorge revisará mis avances conforme vayan apareciendo, y si todo sale bien, espero regresar a México con la tesis terminada o al menos con un enorme progreso.

Y más me vale; resulta que el promedio de tiempo para titularse una vez terminada la tesis es de cerca de cuatro meses, así que si quiero titularme en diciembre (que es mi fecha límite “oficial” impuesta por Conacyt), debo ir entregando la tesis por agosto. Yo sé que hay formas de acelerar las cosas; pero espero no tener que recurrir a ellas. Y también habría forma de extender esa fecha límite; pero esa opción no quiero ni siquiera tomarla en cuenta.

De las universidades en Canadá no sé nada. Bien puede ser que estén analizando todavía si aceptarme o no, o que ni siquiera se hayan tomado la molestia de decirme que me rechazaban.

(O que mi carta de aceptación esté perdida en la incríble ineficiencia del sistema de correos en México).

De cualquier forma, no es posible que me titule para agosto (o es extremadamente difícil), pero tal vez sería posible entrar en las universidades que tienen inicio de programa en enero, como Waterloo.

Como sea, no es algo en lo que deba de preocuparme ahorita: ahorita tengo que escribir todo de lo que ya tenga resultados (incluyendo antecedentes, aplicaciones, bibliografía extendida… o sea, meterle paja, que es lo que convierte un artículo en una tesis), y sacar nuevos resultados.

Pero fue divertido hacer make, y obtener un archivo tesis.pdf que es el esqueleto de lo me permitirá titularme antes de fin de año (espero). Tiene únicamente tres párrafos de texto, si quitamos el índice y los títulos de los capítulos y cosas del estilo.

Pero es el inicio.

Imprimir entrada Imprimir entrada

Spider-Man 3

Spider-Man 3

Spider-Man 3

Fui a ver Spider-Man 3. Se aplican las advertencias de spoilers normales, pero antes quiero hablar de ir al cine en gringolandia.

Fuimos a la hora de la comida a comprar los boletos para una función en la noche. Compramos para las 7:00, pero luego me enteré que había también funciones a las 7:25. Y a las 8:25. ¿Dónde estaban anunciadas dichas funciones? No tengo idea; sólo sé que en la taquilla la única función en la noche era a las 7:00.

Cuando compramos los boletos, estaba virtualmente vacío el cine. En la noche, las colas casi daban vuelta a la manzana; en gran medida porque toda la cola estaba fuera del cine. Y era una noche particularmente fresca.

El cine es ligeramente peor que en México. Como los Cinépolis de Miramontes hace unos años, antes de que los renovaran y los dejaran como los de Perisur. La pantalla no es enana; pero no es particularmente grande. El sonido es bastante más chafa en comparación con los de salas normales en México, y no hay aire acondicionado (o yo no lo sentí), y se sentía bastante calientito el ambiente.

Además, me tocó (por las colas nos tocaron lugares muy en frente, pero a mí nunca me ha molestado eso) sentarme al lado de un niño de 3 ó 4 años que se pasó toda la película brincando en su asiento y hablando. En inglés, por supuesto.

Pero siendo justos, eso ocurre en todos lados, y me molesta igual en cualquier cine.

Como sea, me la pasé bastante bien. Además de la película (de la cual hablaré ahorita), vi el trailer de Pirates of the Caribbean: At World’s End, el de Harry Potter and the Order of the Phoenix, y el de The Bourne Ultimatum. Las tres se ven poca madre, y me muero de ganas de verlas.

El público fue participativo, por decir lo menos. La chaviza (eran adolescentes en su gran mayoría) literalmente aplaudían y gritaban en las escenas que (rayos, tengo que admitir) lo merecían. Aquí en México sólo he visto eso en películas muy especiales (Star Wars: Episode I – The Phantom Menace, o Lord of the Rings: The Return of the King… y también los maratones del cineclub de la Facultad de Ciencias, en la función de las tres de la mañana cuando uno se pone a gritar porque si no se duerme), y no creo que Spider-Man 3 calificara, pero no me molestó en lo más mínimo.

La película está muy chida. No es orgásmica (excepto tal vez en un par de escenas), pero está muy, muy bien. Toby Maguire está bien en su papel de Peter Parker, pero siento que ya está algo harto del personaje. Ciertamente le entró cabrón a los tamales; se ve cachetón y con papada, y en las pocas escenas de cuerpo entero con su disfraz, estoy seguro que trae faja. Pero aún así, es bastante divertido ver al “Peter Parker malo”. Kirsten Dunst y James Franco creo que han crecido mucho como actores desde la primer película. Ahí estaban bien en sus papeles, pero apenas para agradecerles de no haberlo hecho peor. Aquí están bastante bien; las escenas de celos de Mary-Jane son fabulosas, y la “doble personalidad” de Harry es también muy buena, y de hecho muy fiel al comic.

Bryce Dallas Howard es bellísima y su papel de Gwen Stacy es bastante simpático, si bien no tiene casi nada que ver con el del comic… lo cual por supuesto tiene todo el sentido del mundo. J.K. Simons es de nuevo fabuloso como J.J. Jameson, y me dio mucho gusto volver a ver a Elizabeth Banks como Betty Brant, y que por fin coqueteara con Peter. Y volvemos a ver a Bruce Campbell, y me atrevo a decir que se roba descaradamente la única escena donde aparece.

Thomas Haden Church está muy bien como Sandman, y es muy fiel (creo) a su contraparte en el comic, si bien ahí nunca tuvo ninguna hija que yo supiera. Pero Sandman siempre fue de los villanos que caminaban en el filo de ser héroes, y (al menos hasta donde yo me quedé), al final era guardaespaldas de Silver Sable, caminando (se puede discutir) del lado de los ángeles. También me impresionó lo mamado que aparece, especialmente de recordarlo todo flaco en Ned & Stacy y Wings.

Thoper Grace me decepcionó un poco. No sé si soy yo, o como actúa, pero siempre me parece estar viendo a Eric Forman. Y Venom está bien, pero es decididamente caricaturesco, y creo que al final Sam Raimi lo incluyó sólo como fan service; si bien su origen es muy fiel a la versión del comic.

Las escenas de acción son fabulosas, todas y cada una de ellas, y hay muchas viñetas que sacaron tal cual de los comics. Además (y sé que esto causará controversia entre algunos fans), el cabrón de Sam Raimi se las ingenió para hacer un poquito un musical de esta película. A muchos no les gustará (y lo entiendo); pero a mí me encantó.

Pero entonces, ¿por qué no se me hizo fabulosa? Por varias razones: la principal es que el final, aunque decente, es terriblemente anticlimático. Es la última película donde seguro estará el cast original (je, hasta Willem Dafoe, en el cameo más anunciado de la historia), y creo que merecía un final más espectacular. Otra es que es demasiada historia en muy poco tiempo, y tal vez con subtramas innecesarias, que hacen que varios personajes se sientan poco utilizados. Tengo otras más, pero creo que esas serían las mayores.

Pero no me malentiendan; la película me gustó mucho. Y como Sony quiere hacer otras tres más, yo creo que tal vez no estaría mal una renovación del casting. Si lo hacen bien, podrían hacer películas de Spider-Man indefinidamente.

Está padre la película, tiene un montón de escenas de acción fabulosas, y es muy fiel (dentro de lo razonable) a los comics. Creo que me gustó más la anterior, pero no sería por mucho; y de cualquier forma, vale la pena ver esta por sus propios méritos.

A lo mejor me hubiera gustado más si no hubiera costado nueve dólares el boleto.

Imprimir entrada Imprimir entrada

Treinta

Hoy cumplo treinta años, que no celebraré porque estoy trabajando y porque todos mis amigos y seres queridos están a varios miles de kilómetros de distancia.

Pero al menos en la noche iré a ver Spider-Man 3.

Se acabaron mis veintes, y la verdad estoy bastante contento con cómo fueron. Muchas veces oigo de gente que recuerda con nostalgia las “épocas pasadas”, y se queja de cómo “antes” todo era más simple, y en algunos casos “mejor”.

Yo nunca he sido así. Creo que mi niñez fue bastante buena y divertida, pero no la extraño en lo más mínimo, ni mucho menos mi adolescencia. De hecho, en general cada vez que estoy en un periodo de mi vida, he sentido siempre que es el mejor periodo de mi vida… siendo la más obvia excepción la secundaria. Dios, detesté la secundaria.

Ahora se han acabado mis veintes, puedo decir que siento que los aproveché bastante, y que estoy razonablemente contento con cómo resultaron. Pero no me molesta ni angustia en lo más mínimo que se hayan terminado; porque estoy seguro que esta década será todavía mejor.

Uy, y ni decir de las que le sigan.

Imprimir entrada Imprimir entrada

Easy Wring Mop

Instrucciones:

  1. Empape la cabeza de la trapeadora en agua.
  2. Tire de la parte posteriora del apretón del escurridor (A) sobre el trinquete.
  3. Tuerza el apretón del escurridor (A) a su izquierda para sacar fuera del agua.
  4. Empuje el apretón del escurridor (A) hacia abajo más allá del trinquete (B) y tuerza a la su derecha.

Por sólo once noventa y nueve.

Imprimir entrada Imprimir entrada

Lienzos

Estaba leyendo Planet GNOME (o Planet Classpath, es igual), y me encontré con esta entrada de Andrew Cowie, donde menciona un hilo de discusión en la lista de desarrollo de Gtk+, donde intercambian ideas acerca del futuro de un posible GtkCanvas.

Se menciona a HippoCanvas (el que están utilizando para la interfaz Azúcar del proyecto OLPC), GooCanvas, y Criawips CriaCanvas, o CCC, que es el que uso para Geom. Todos utilizan Cairo, como debe de ser.

La discusión es en sí interesente; pero lo es particularmente para mí porque si Gtk termina incorporando alguno de esos lienzos, me gustaría que ese fuera el que Geom utilizara. Yo elegí CCC porque Sven de mostró muy accesible conmigo y porque (básicamente) me ha funcionado; pero creo que el diseño de Geom es lo suficientemente flexible como para cambiar el lienzo sin muchos dolores de cabeza.

Sin embargo, también me di cuenta de algo que tal vez era obvio desde hace algunas semanas, pero que yo no había confrontado: no tengo tiempo para Geom ahorita. Y probablemente no lo tenga mientras esté aquí en gringolandia.

Así que voy a pausar el desarrollo de Geom oficialmente (llevaba un mes detenido de forma extraoficial de cualquier modo). Si alguien quiere seguirle avanzando sólo necesita escribirme un correo; pero dudo que sea el caso porque el proyecto era muy joven. Como sea, yo seguiré programando en Geom (y tal vez CCC) en el futuro; sólo ahora no tengo el tiempo.

De paso, en tres meses tal vez CCC ya esté mucho más avanzado y estable (lo que sería de gran ayuda), o incluso ya exista un inicio de lo que será GtkCanvas. Quien sabe.

Imprimir entrada Imprimir entrada

Más vale…

Con Armando, mientras cortaba el pollo para mi primer experimento (y debo decir que exitoso, si se me permite) de hacer pasta, cuando descubrí que la cocina viene con una tabla para picar incluida, que se saca y mete de la alacena:

Yo: ¿Ya viste la tabla? Está poca madre; se puede sacar completamente.
Armando: Pues más le vale que esté poca madre; pagamos una fortuna.

He estado haciendo de comer casi diario, y aunque el número de platillos que conozco es muy limitado y crece lentamente, también es cierto que me han quedado razonablemente ricos. Aunque uso cosas ya preparadas en lata/sobre/caja siempre que puedo.

Imprimir entrada Imprimir entrada