El Tech-Dude

El Miércoles de la semana pasada viajé de noche con destino a Ica. Cuando llegué al Soyuz un tipo de quizás 35 estaba antes que yo, con un duffelbag forradito con un plástico raro, pero cool y tenía las etiquetas clásicas cuando uno viaja en avión, de esas que dicen «LIM».

Cuando subí al bus nos tocó sentarnos lado a lado, yo al lado de la ventanilla. Ni bien empezamos el viaje el tipo sacó un… ¡GPS! Un GPS es un dispositivo chico, como un Palm, que se comunica con un satélite y muestra la posición exacta de uno en el planeta (longitud y latitud). Se quedó observando un rato cómo el Soyuz trazaba una línea en su pantallita. Como yo estaba cansado, miré de reojo un momento y quise dormir. Ví un poco de la película, una comedia con Steve Martin.

Cuando desperté, el tipo tenía su GPS y un Palm, parecía un Tungsten moderno. Miraba su GPS y anotaba cosas en su Palm. Traté de ver qué escribía, pero el ángulo no me ayudaba. No tenía ganas de hablarle porque estaba realmente cansado. Ví otro pedazo de la peli y me quedé dormido otra vez.

Cuando volví a despertar el tipo tenía ahora uno de esos lectores portátiles de DVDs y estaba viendo un DVD de un concierto. Estaba con sus audífonos y movía la cabeza ligeramente al ritmo de la música. Estaba tan cansado que me pareció haberlo soñado.

Volví a despertar y el tipo ya no estaba a mi costado, sino en el par de asientos opuesto, aún con su lector de DVD y otro concierto, más movido que el anterior a juzgar por el ritmo con que se movía. Me sorprendió mucho ver lo cansado que estaba que ni siquiera había sentido que se había cambiado de sitio, normalmente soy muy sensible.

Volví a despertar y ya habíamos llegado a Ica.

Vamos a aprender Matemáticas

Dear Lazyweb,

Quiero aprender Matemáticas. Absolutamente desde cero, lo que dizque debí de haber aprendido en primaria y secundaria. ¿Podrían por favor recomendarme un libro de Matemática Básica que sea didáctico? Pienso complementarlo con la Wikipedia y todo lo que encuentre en internet, pero quiero un libro (hecho de árboles muertos) como punto de partida.
No quiero algo parco o tosco como el Baldor. No quiero un libro de referencia, sino un tutorial. Inglés o español, disponible en Perú o en Amazon.

Thanks.

Quiero conocer tus hacks

Mail enviado a la Lista del PLUG:

«Quiero conocer tus…» qué!?

«Hacks.» Ok, vamos a aclarar eso. Estamos hablando de programación, si tu rama no es la programación, puedes saltar al siguiente mail. Me refiero a «hack» a cualquier programa chico o mediano, mayormente escrito en un lenguaje de scripts (Per l, Python, Ruby, PHP, etc) que hace alguna tarea no necesariamente gloriosa, pero sí interesante.
No me refiero a que hayas penetrado la seguridad de ningún sistema ni que hayas conseguido la contraseña de Hotmail de tu ex.

Ejemplos concretos: tengo un script en Pe rl que monta en mi wallpaper gráficos para mostrar el clima, la fecha y la agenda de mi Palm.
Solía tener un conjunto de scripts en Python con los que podía asignar puntajes a canciones y me armaba playlists para el XMMS en base a las canciones que me gustaban (repitiendo a manera de radio las de más alto puntaje).

Hablo de esos scripts del tipo «Oh, los pondría en mi página web pero quiero limpiarlos/documentarlos antes de blah blah» y demás excusas de siempre. Hablo de esos scripts que usas en tu empresa pero que no puedes compartir porque es código de la empresa. Hablo de esos scripts que hiciste una vez, salvaron el día heroicamente, y luego se perdieron cuando quisieron enchufar la cafetera.

Lo que quiero es que me hables de ellos. «Hice un script que hace esto,» «En el trabajo teníamos que crear 3,000 usuarios y generarles passwords para el día siguiente, entonces…» «Estaba aburrido y me hice un Quake con awk…»

No es ninguna tarea académica ni estoy escribiendo ningún artículo (aunque no es mala idea). Es solo mera curiosidad mía por conocerlos y conocer lo que han hecho. Sólo eso. Pasen la voz a todos los que les pueda interesar.

!!! POR FAVOR RESPONDAN A MI CORREO PERSONAL Y NO A LA LISTA !!!

j@jgwong.org <-- make me, spambots. Y gracias por compartirme sus historias y tiempo. No les exijo nada, no están obligados a pasarme ningún código fuente, aunque sería interesante para mí, y siempre bien recibido. Los scripts que son de su empresa, son de su empresa y punto. Sólo quiero que me cuenten sus anécdotas, etc. PS: Soy un completo flojo para contestar mails, lamento que a veces tarde tanto (Record actual: 5 meses). Mucha gente me odia por eso. Por favor únanse al club. :) La versión web es: «POR FAVOR RESPONDAN A MI CORREO PERSONAL Y NO PUBLIQUEN UN COMENTARIO!!!» Es más, voy a cerrar los comentarios. Gracias. :)

Huevo de pascua en Python

Heh, esta no me la sabía. Simplemente invoquen python en un terminal y luego tecleen «import this».

[jgwong@devilfish ~]$ python
Python 2.4.1 (#1, Apr 10 2005, 22:30:36) 
[GCC 3.3.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

Lo que nunca terminé: Aquellos que te escuchan

«Aquellos que te escuchan» era una idea loca que tuve recientemente viendo el interesante fenómeno de canales de televisión aperturando uno tras otro en Ica. Es una idea de naturaleza comercial (léase: quiero hacer dinero extra), y sólo se quedó en borradores porque es una tarea titánica — precisamente el motivo por el cual no tengo miedo de compartir esta idea comercial de manera pública.

La idea es sencilla: una versión de elige-tu-camino pero en televisión. ¿Recuerdan los libros de MultiAventura? Esos que lees hasta cierto tramo donde te dan una serie de opciones. Si eliges ir por la cueva, ve a la página 82. Si eliges tomar llamar a un helicóptero, ve a la página 18. Exactamente eso, pero trasladado a la televisión.

La idea es que la gente mira el capítulo y va a la página web a votar por la opción que más le agrada. La opción que gana más votos es la que determina cómo continua la historia.
El formato de la historia es con dibujos, no un dibujo animado, sino dibujos estáticos, quizás con una animación muy limitada (panning, zoom, difuminados) narrados por una mujer. Efectos de sonido y música.
Tratándose de una historia de regular tamaño donde la historia es variable, es costoso dibujar todos los caminos posibles, de modo que la idea es dibujar como loco el episodio siguiente una vez cerrado el tiempo de votos, grabar la narración y componer música en un tiempo límite. Había pensado que lo ideal sería un episodio a la semana.

Es básicamente un ejercicio de limitaciones: dibujo a dos colores, bastante sencillo, minimalista, pero hermoso. Una sola narradora, y no cada personaje con su voz. La narradora cambiaría la entonación para diferenciar los personajes. La música pensaba limitarla a piano y cello. Y un episodio a la semana. Oh, y ponerse a inventar una buena historia al vuelo con las decisiones que haga el público.

La historia está orientada al público femenino y es a menudo, um, cursi. Toma lugar en un futuro lejanísimo, un país en una guerra civil. Los ciudadanos han sido trasladados a refugios y en ese ambiente hostil es que toman protagonismo dos amigas, cada una de contrastante personalidad. Andrea es extrovertida, decidida, luchadora. Beatriz es introvertida, indecisa, pasiva. Ambas son independientes, amigas desde siempre.
El quid de la historia es cuando llega alguien más a su refugio, Esteban, confidente, atento, pero también rebelde, lo cual atrae a ambas chicas. ¿Quién de ellas se queda con el chico? Tú decides. :)

Fuera de bromas, es un experimento interesante. La publicidad que había pensado era algo así como «Vive con ellas esta historia con todo tu corazón.» Quería que el público decidiese por ellas y creciese junto con ellas. Quizás una de las partes pivotales de la historia es el público decidiendo cosas que van en contra de la personalidad de cada una de ellas… para luego verlas lamentar esas decisiones, sorprenderse de las cosas que son capaces de hacer, la realización que la vida es más complicada y no es absoluta — una desordenada escala de grises en lugar de blanco y negro.

La moral de la historia es, copio y pego de mis borradores: «No tengas miedo, toma riesgos, aprecia la vida por lo que es. No te juzgues a tí misma por tu apariencia, sino por lo que eres.»

La versión en DVD trae todo el árbol de decisiones completo y se puede jugar con tu reproductor de DVD. :)

Lo que nunca terminé: Codewriters

«Codewriters» es una historia protagonizada por un geek llamado Brian West. Toma lugar en el año 1999. Brian es contratado como webmaster para una pequeña compañía de juegos llamada Crystal. La historia está inspirada en Lionhead y el desarrollo de Black and White. Ellos están desarrollando un juego llamado «Martial Arts,» con una idea que hasta la fecha ninguna empresa de juegos real ha intentado hacer.

El desarrollo del proyecto se vuelve una pesadilla y varios miembros del equipo empiezan a desertar. Brian pasa de ser webmaster a un miembro del equipo de desarrollo, tomando clases de matemáticas y escribiendo código «de verdad.»
Básicamente es la búsqueda de la identidad, del pertenecer a algo y alguien, del desequilibrio inherente de todo hacker, de prioridades, sacrificios y equipo.

Mi principal motivación para escribir esta historia fue la decepción de no encontrar ninguna similar. Todas las historias de hackers que he encontrado en algún momento u otro se vuelven una excusa de cracking (hasta Antitrust) y/o introducen elementos bastante ficticios. Buscaba algo más realista, más plausible.
Estuve escribiendo bastante esta historia en mi Palm durante un tiempo que estuve en cama enfermo. Le dí duro a las baterías, pero como ya adivinan, es otro proyecto que quedó sin terminar.

Y a continuación, primicia de primicias, los borradores de los dos primeros capítulos:
Read More