Abril 27, 2004


Indignando a Steve Jobs
Ayer tuve un sueño extremadamente inusual. Soñé que Steve Jobs era mi jefe, así que imagino que yo estaba trabajando para Apple. Plop! Estaba viendo la televisión en lo que supuestamente eran las instalaciones de Apple pues uno de nuestros ex-programadores estaba siendo entrevistado. En mi sueño yo sabía que Steve lo había botado por alguna estupidez. Steve Jobs en la vida real es una persona excéntrica, impredecible y con muy buenas habilidades de convencimiento.

Mientras terminaba la transmisión de la entrevista el ex-programador (y amigo mío en mi sueño) apareció de repente! Ahora era famoso por un nuevo proyecto que estaba desarrollando y Steve le ofrecía disculpas por el trato que le había dado. Mi amigo no le hizo caso y empezó a salir y yo lo seguí. Las dizque instalaciones de Apple estaban ubicadas en una zona que podría ser residencial en una zona del jet-set limeño. Habían varios automóviles estacionados fuera, y yo seguí a mi amigo hasta su auto. Había un vigilante con el típico uniforme marrón que se acostumbra aquí en Perú.
Abrí la puerta y me senté. El auto era un deportivo blanco, nuevo y lujoso; y curiosamente no me llamaba la atención. Es decir, recuerdo bien haber sentido que subir a autos deportivos, nuevos y lujosos ya no era cosa de “wow, qué elegante es esto,” sino algo natural y nada novedoso. :O
Una vez dentro Steve me habló. Me preguntó qué opinaba y le contesté algo así como “A mí tampoco me gustaría que me traten igual, Steve.” Ah, olvidé decirles que todos hablábamos en inglés. Eso lo dije en dizque perfecto inglés. Steve hizo una mueca y regresó a las instalaciones, indignado.

Dimos un par de vueltas en el auto de mi amigo (la ciudad era grande y no se parecía a Lima, sino probablemente a Tokyo de noche) y me dijo: “Hey, vamos a la playa con <otro supuesto amigo de Apple>, y luego iremos al cine.” No tenía ganas de ir a la playa.

No desperté en ese momento, pero empecé a soñar otra cosa que ya no recuerdo. Este sueño es fascinante! Ni Steve ni mi amigo se parecían a nadie que conozca conscientemente. Mi Steve Jobs no tenía el rostro del Steve Jobs de la vida real.
Es más, Apple nunca ha sido atractivo para mí como programador! Me gusta leer Folklore y todo, pero ellos son hardware y yo soy un chico software. No entiendo por qué he soñado esto. No he leído Folklore hace un mes. De dónde saca estas ideas mi cabeza?

Y no, no quiero como jefe a Steve Jobs. Pero sí quiero volver a subirme a ese carrazo con completa frescura y pensar “I don’t wanna go to the beach.”

Abril 20, 2004

Dibujando en perspectiva!
Encontré este excelente link que me aclaró por qué mis intentos de copiar la perspectiva de cierto dibujo nunca me funcionaba… básicamente estaba queriendo hacer perspectiva de 3 puntos usando perspectiva de 2 puntos. Heh, es tan claro ahora que me sorprende que sea tan sencillo. :)

Después del primer dibujo (el de la izquierda) me quedé emocionado hasta las dos de la mañana dibujando los otros dos dibujos. :)







El primer dibujo es perspectiva de 2 puntos. El segundo si usa 3 puntos, y todavía me es un tanto complicado. El tercero es otra práctica de 2 puntos nuevamente, pero tuve que tomar compromisos con el ángulo porque necesitaba una regla más grande. :D

Y sí, es un Oso USB. Como un keychain, pero de peluche. 4Gb. También es monedero.

Ahora, a practicar, practicar, practicar…

Abril 16, 2004

Ghost Town
“Ghost Town” es un excelente website de lo que es hoy Chernobyl. Está mantenido por una joven armada de un contador geiger, una cámara, una Kawasaki Ninja y un permiso gubernamental, quien documenta con fotografías el estado de los alrederores de Chernobyl y algo de la planta misma. Ghost Town (“Ciudad Fantasma”) es realmente un título apropiado para lo que pueden ver aquí.

Realmente triste, escalofriante y conmovedor.






Incredibly, people had homes, motorcycles, garages, cars, country houses, they had money, friends and relatives. People had their lives. Each had their own niche. And then in a matter of hours , their entire world fell to pieces.

After a few hours trip in an army vehicle, they stood under a shower, washing away radiation. Then they stepped in a new life, naked with no home, no friends, no money, no past and with a very doubtful future.”

(Link)

GooOS, the Google Operating System
“So. They have this huge map of the Web and are aware of how people move around in the virtual space it represents. They have the perfect place to store this map (one of the world’s largest computers that’s all but incapable of crashing). And they are clever at reading this map. Google knows what people write about, what they search for, what they shop for, they know who wants to advertise and how effective those advertisements are, and they’re about to know how we communicate with friends and loved ones. What can they do with all that? Just about anything that collection of Ph.Ds can dream up.”

(Link)

Abril 14, 2004

Soluciones para un documento mejor
Lo confieso, el boletín de mi iglesia lo hago en Microsoft Word 97. Por favor no me lastimen. :)

Mi idea original desde un principio era hacerlo en LaTeX, Docbook o algo similar; pero la prisa de sacar el primer número me hizo tomar la primera opción funcional y disponible. Desde entonces he seguido usando Word pues era el camino de la menor resistencia.
TeX, LaTeX, Docbook, reStructuredText, Lout y similares son lenguajes de typesetting, donde uno usa un editor de texto común y corriente (léase: no Word sino el Bloc de Notas) para escribir el contenido de tu texto y con unos tags especiales (que varían entre lenguaje y lenguaje) defines la presentación del documento. Es decir: “esta parte es un título,” “esta parte va resaltada” en vez de “esta parte debe ir en negrita grandote para el título.”
Para los que saben HTML, es la diferencia entre <em> e <i>.

La ventaja de hacerlo así es que luego puedes definir que, por ejemplo, los textos marcados como “resaltados” van a ser ahora negrita con subrayado. Pop! Todos tus textos cambian. Sí, ya sé que Word puede hacer lo mismo, pero Word es Word. Quiero poder hacer el boletín enteramente en mi laptop en casa, que corre Linux. Openoffice ya está descartado también, gracias.
La desventaja es que tienes un documento dice @B{Esto est&aacute; en negrita} en vez de ver directamente cómo va a quedar impreso. No es WSIWYG. Pero eso nunca ha sido un problema para mí.

Para imprimir el último número del boletín tuve una emergencia inesperada: se terminó la tinta de mi impresora, así que le pedí a Deyvi que lo imprimiese. Había un detalle importante, y es que la impresora que uso (una barata HP 656c) tiene una característica que me gusta mucho: puedes imprimir dos hojas o más en una sola hoja física. Aprovechando esta característica, el boletín es una hoja A4 que doblas a la mitad; pero el documento de Word no es una hoja en landscape de dos columnas, sino cuatro hojas completas que el driver de la impresora imprime en dos hojas.
Desafortunadamente, la impresora de Deyvi no tiene esta característica, así que tuve que cambiar las hojas a landscape, formatear dos columnas y luego poner las hojas en el orden físico que les corresponde (una hoja tiene que tener la página 4 y 1, la segunda hoja las páginas 2 y 3). No yay.

Cuando le pasé el documento a Deyvi olvidé otro detalle importante: las fuentes. Por algún extraño motivo, Deyvi no las pudo instalar en sus sistema (viva Windows!), así que acomodó el gráfico faltante (que era una fuente) y ajustó las páginas ya que en su sistema las páginas no cuadraban. No yay again.

Deyvi hizo un excelente trabajo emulando el gráfico y conservando el estilo del boletín, pero se veía diferente. Entonces recordé, pensé y llegué a la conclusión que si lo hubiera hecho en LaTeX o Docbook o groff o lo que sea, hubiera podido exportarlo a un PDF, cosa que imprimirlo era una trivialidad sin problemas de formato ni fuentes ni gráfico faltante ni nada. Yes yay.

Pero LaTeX y Docbook me parecen excesivamente complicados. Docbook es muy verbose para mi gusto (y por favor no empiecen con eso de “consíguete un buen editor de XML”). Con algo tipo podría aliviar teclear tanto a mano, pero Docbook está fuera de mi lista por el momento.

Hace tiempo me puse a investigar más sobre Postscript. Sabía que Postscript era un standard, pero no sabía que era un lenguaje de programación. Descargué documentos y un par de libros, pero no llegué muy lejos. Era igual de complicado (quizás más) que los otros, aunque muy potente. Debo decir que Postscript me gustó, pero iba a tardar demasiado aprendiéndolo. Me parece una solución muy poderosa para generar cualquier cosa impresa.

En mi búsqueda por el lenguaje de typesettings perfecto, encontré Lout — que no es perfecto, pero se ve decente. Es muy parecido a LaTeX, pero mucho más sencillo, y bota un fichero Postscript listo para impresión. Lastimosamente sólo bota Postscript y ascii plano, no HTML, no manpage, no nada más.

Pero hoy repentinamente, como en tantas otras ocasiones, me acordé de nuevo que “hey, pero yo sé programar!”

Consciente de que es inútil inventar otro lenguaje de typesetting, he decidido usar XML para definir mis propios tags y luego usar PHP (no porque sea la mejor herramienta (que probablemente sería Perl o Python), sino porque la conozco más) para hacer las veces de un XSLT (no quiero aprender ooootra sintaxis que es todavía más verbose que Docbook y encima horrible).

En español: escribo un documento en una sintaxis XML inventada por mí, y luego lo convierto a la sinxtaxis de Lout, LaTeX, Docbook o el lenguaje du jour del año. Como es mi sintaxis puedo extenderla, reducirla, cambiarla, etc. No tengo que ajustarme a ella, sino ella se va a ajustar a mí — um, lo cual no siempre es tan bueno como suena. Si en un futuro Lout me parece muy limitado o aprendo Postscript o Antonio dice “vamos a documentar con Docbook,” pues yo podría seguir usando mi sintaxis XML. Ahora que Deyvi quiere poner los boletines en la web (oops, tengo que pasarle los números pasados) puedo exportarlo a HTML desde mis fuentes XML. O a Linuxdoc. O a un documento de Staroffice (que son XMLs comprimidos, pero ok, ya estoy exagerando).
He reinventado MetaL pero con typesetting. Esta solución es fascinante, pues es prácticamente ilimitada.

Pero hay chamba por hacer. Tengo que aprender todo lo necesario de Lout para hacer el conversor. Preveo que necesitaré cosas que entonces tendré que implementar al vuelo cuando me hagan falta, que de repente el lenguaje destino no soporte lo que quiero hacer, que voy a tener una gran rascada de cabeza con las tablas, etc. pero es una buena idea, y creo que vale la pena.

Ah… so much to do, so little time.

Abril 12, 2004

“Impressive”
Carolina estaba hojeando una de las revistas que tenemos en la sala que están en chino (no, yo no sé chino), cuando miró un carácter y dijo que había leído en otro lado que significaba “hombre corriendo” o algo así. El chino, a diferencia de otros lenguajes, no tiene abecedario. Cada carácter significa una palabra y hay miles de ellos, la mayoría compuestos de otros caracteres.
Saqué otra revista que tenía los artículos tanto en chino y en español y nos pusimos a deducir cómo se escribía “Taipei” y el nombre de un río cuyo nombre ya olvidé de un artículo que repetía esas palabras una suficiente cantidad de veces. Carolina dedujo “Taipei” en muy poco tiempo. El nombre del río nos tomó más tiempo.

Lo que me sorprendió fue el proceso deductivo que usó ella para buscar los caracteres de cada nombre, la velocidad con que lo hizo y, sobre todo, lo fácil que se le hizo recordar la forma de los caracteres para identificarlos en dos hojas diferentes. De un momento a otro dijo: “Aquí está!” y cuando miré el carácter señalado ya había olvidado cómo era el de la página anterior.
Jeje, es gracioso, pero al igual que cualquier otro no-asiático, a mí también varios caracteres chinos me parecen iguales. :D

Me impresionó tanto que decidí hacerle una prueba a Carolina. Hace tiempo atrás en una caja de una medicina llamada Sedotropina, tenía un texto en braille impreso en la caja, y tras un poco de deducción pude “descifrar” lo que decía. Jeje, me sentí medio Randy Waterhouse de Cryptonomicon. :)
Así que le entregué la caja por completa curiosidad de ver otra vez su proceso deductivo. Creo que no estaba muy de humor en resolver esto, así que le dí un par de pistas y el resto lo hizo sola. No era complicado una vez que sabías cómo empezar.

Mi concepto de Carolina es de alguien inteligente, aunque a veces ingenua. Siempre me ha ganado en ajedrez, pero esta vez me ha impresionado de una manera diferente. Podría ser una excelente programadora, habría que iniciarla en el oscuro arte de la programación. :)

Dolor de cabeza
La documentación del Sitellite no me gusta. Hasta ahora no sé por dónde empezar a hackear esta cosa. Y los tutoriales no parecen funcionar.

Mozilla Firefox
Una página del Sitellite me dice que mi browser no es lo suficientemente capaz para administrar el sitio. Efectivamente, algunos enlaces no me funcionaban, así que me bajé el Firefox. Estoy impresionado, este no es el Mozilla que hace tiempo descargué y odié. Tampoco es el Phoenix que bajé y disgusté. Me gusta mucho, pero aún sigo acostumbrado a algunos quirks del Opera que me detienen en la migración. Eso y las fuentes con antialias se siguen colgando, y no sé como hacer los fixes que hice con Opera para evitar este detalle hasta que tenga tiempo (JHÁ!) para ver este bug.

Abril 10, 2004

Semana Santa
Este fin de semana la iglesia de San Clemente organizó un campamento familiar en las mismas instalaciones de la vez pasada. A diferencia del campamento pasado (que era de jóvenes), los campamentos familiares son más relajados y menos riguroso… al menos nosotros en La Mar lo hacemos así, pero San Clemente lo ha hecho un tanto diferente, lo cual es de esperarse; cada uno tiene su propia manera de hacer las cosas.
A mi papá lo invitaron para predicar en este campamento, pero por las actividades que también iban a realizarse acá en Ica mi papá iba a ir y venir. Nos apuntamos toda la familia entonces para estar presentes en el campamento, porque 1) Necesito un break, algo diferente de la rutina diaria y 2) Es más barato para el presupuesto familiar.

A Pancho estaba encargado de dar el mensaje central del campamento para las familias, del cual sólo pude escuchar uno (de tres) por lástima. El único que escuché fue muy bueno. Esperaba poder escuchar por lo menos dos, ya que el Sábado ya tenía planeado estar aquí en la oficina haciendo el boletín. Oh well.

Conozco a varios de San Clemente, pero no tengo mucha cercanía con ellos. Esto me ha servido para entender muchas actitudes “extrañas” que he visto en otros jóvenes. Ejemplo: se quedan de pie en la entrada sin hacer, aparentemente, nada. Ahora entiendo que es porque están esperando o buscando a las únicas personas que conocen para sentarse con ellas (léase: me quedé como un bobo de pie en la entrada sin hacer, aparentemente, nada buscando a Renzzo o a Caro en la hora del almuerzo).



Carolina y Pilar intentando burlar mi cam-fu


Numerosas veces me vino el impulso de empezar a dar órdenes. :) Creo que mi mente ha asociado el ambiente del campamento con las responsabilidades que llevé la última vez. Fue un tanto gracioso. Hay que dejar que otros cometan errores para que puedan aprender.

Monadas geek
Usando x2x y exportando el display estoy trabajando con dos “monitores” (uno es mi monitor de siempre, el otro es la pantalla de Monolith). Quiero mi monitor de 21″! :(
Y quiero true xinerama como Breno! ;)

x2x te permite usar dos sesiones X con un (1) solo teclado y mouse. Cuando mueves el mouse a un extremo de la pantalla, pop! salta el cursor a la otra pantalla. Lo regresas y violá! estás en el otro X nuevamente. Sí, funciona copiar y pegar. Tiene unos cuantos líos con el mousewheel, pero lo peor que te sucede es que se desconecta el x2x y tus sesiones X siguen igual de vivas.
He copiado y pegado ambos screenshots. El lado izquierdo es Monolith, el derecho es Powerhouse.



Look ma! Two displays!


Tío again
Mellizas, yay! Mi hermano mayor ha tenido dos niñas. Qué envidia. Algún día estaré posteando un “yay, marriage!” y un “yay, I’m a father!” en este blog y me reiré de todos estos días de ansiedad innecesaria cuando todo lo que hacía era soñar y soñar con ella.
Heh, y le haré un trackback a esta entrada for extra bonus.