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!

PHP poster guy

Lisp: Paul Graham
Ruby: David H. Hansson
PHP: ???

¿Quién es el poster guy de PHP?

Lo que nunca terminé: See you Later

De todos los proyectos que he mencionado, “See you Later” es el que tiene mi mayor interés actualmente. No puedo entrar en detalles del origen de la idea (es un tanto deprimente), lo interesante a notar es la cantidad de géneros que ha cruzado: primero como un Anime, luego como una animación Flash (al estilo Ninjai, Strongbad’s Email o el Cálico Electrónico), luego como una novela gráfica + Flash (al estilo Broken Saints) y finalmente como una novela gráfica.

Cuando quería hacer un Anime pensaba usar Moho. Mi idea inicial era escribir todo el guión y luego buscar quién podría financiar la idea y llevarla a la realidad (Alpamayo Entertainment, ¿me escuchas? :)). Luego fui pisando más tierra y reduje mis ambiciones hasta llegar a un formato que es más posible para mí: el comic.

Tengo varios bocetos, ideas, pedazos de diálogo escritos y una idea todavía nebulosa de la historia. Originalmente era una historia más fantástica, más graciosa, futurista, con automóviles, Bobcats y artes marciales. De ahí un montón de cosas cambiaron, quería ir haciendo algo más realista… y más realista… y más realista; así que ya no hay bobcats ni artes marciales, pero sí un automóvil.
Sé cómo empieza y sé cómo termina. Tengo varias piezas claves ya bien pensadas, pero me falta lo interior. Le conté la historia a grandes rasgos a Jill, Kike, a Savre, a mi hermano y, en el cumpleaños de mi prima, a Oscar y Oliver. A todos sin excepción les gustó la trama. Inclusive Oliver dijo que saldría mejor una película (con actores reales), mientras que Oscar me ayudó criticando inteligentemente la plausibilidad de la persecución final. Eso es algo que quiero cuidar muy bien, que la trama no tenga “huecos,” [1] o al menos el menor número posible de ellos.

No puedo darles muchos detalles de la historia, porque el eje central es la incertidumbre de no saber qué rayos está ocurriendo. Empieza con dos hermanas con amnesia que están buscando el camino a casa. Despiertan en un hospital donde todos se comportan de una manera extraña, del cual eventualmente escapan. Sin embargo, alguien o algo las sigue y se anticipa a sus movimientos.

Cuando leí críticas sobre Broken Saints hubo una en particular que me llamó la atención. El autor decía “No hubieron imágenes memorables que quisiera grabar como wallpaper o enmarcar como un poster” así que decidí hacer de cada viñeta de mi serie algo bien trabajado, como lo es esa obra de arte, Crouching Tiger, Hidden Dragon.

Todo lo que tengo pensado de la historia hasta el momento fue discurrido durante mi estadía en Lima el año pasado, Mayo a Diciembre 2005, mayormente durante los largos viajes de ida y vuelta al trabajo y cuando iba eventualmente a Ica. Me muero de ganas de contarles a todos la historia, mas prefiero reservarme por si llegase a realizar este proyecto.
Sin embargo, hay partes del diálogo que me dan tanta risa o que me gustan mucho que no me aguanto de compartirles:

Vivian: (Desesperada) No sé a dónde vamos, no sé qué buscamos, no sé qué demonios quiero! Alguien dígame qué hacer!
Una persona cerca: Adolescentes…
Amy: No es asunto suyo!


Amy: Alguna vez te has sentido… perdido? Que no entiendes lo que sucede?
Evan: Cada vez que hablo contigo, sí.


Evan: Cómo es que no recuerdas nada?
Amy: Te diré la verdad.
Evan: A ver.
Amy: Tengo un tipo raro de amnesia. Mi hermana y yo… despertamos ambas en un hospital, es realmente extraño. Recuerdo cosas, pero luego las olvido. No sé dónde estoy, no sé qué hacer. Siento que no tengo boca y quiero gritar.

Si terminase una idea de todas las que he compartido con ustedes esta semana, sería ésta. “See you later” tiene bastante de mí mismo, me he pasado horas repitiendo la canción “Good-bye my Master” de Yoko Kanno imaginando en mi cabeza la persecución final. Reproduzco en mi cabeza una y otra vez el último diálogo, el fade a negro y los créditos. Cada boceto que hago lo miro una y otra vez, es un proyecto que me entusiasma.
Lástima que no pueda entrar en detalles, porque sería arruinarles la historia. Si he elegido dejarla sin terminar es porque tengo otras prioridades para mi tiempo libre ahora.

No todo es posible. Todo tiene su precio, todo tiene su tiempo, pero uno siempre puede soñar.

Notas
[1] “Huecos” al estilo “Pero si pasó XYZ, por qué la persona ABC no se dió cuenta de QWE?” y todo el mundo “Verdad, ¿no?”

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

Lo que nunca terminé: Castles of Sand

“Castles of Sand” era la idea de un álbum instrumental. Son trece pistas que narran una historia de amor, de Dios, del destino. Si mal no recuerdo empecé a componerlo en 1997 o algo así. Durante mucho tiempo vivía y respiraba este proyecto, pues fue una época de soledad y tristeza que quedó plasmada en las pocas pistas que llegué a concluir. Es por eso que estas composiciones tienen un alto significado para mí.

En 1999 competí en el Heavenly Music Competition. Ya no recuerdo las posiciones exactas, pero creo que fueron 42 y setenta-y-algo (de ochenta-y-algo participaciones). Las palabras de Lisa Lindström, juez del concurso, me fueron de mucho ánimo.
Conforme fue pasando el tiempo fui dejando la música, no sólo Castles of Sand, sino la composición en general.

El verano del 2005 conocí a esta muchacha a quien agradezco muchas cosas, entre ellas, volver a traer música a mi vida. Desempolvé Castles of Sand para compartirlas con ella y me vinieron gratos recuerdos volver a escuchar esas melodías.

Read More