lunes, mayo 28, 2007

Fixing Psyche

I was reading the classic text Structure and Interpretation of Computer Programs and I tried to find an article that I read some time ago called Python for Lisp Programmers and after some googling I found Psyche, a Scheme interpreter written in Python.
Psyche allows you to embed a Scheme interpreter into Python programs but its a little old; it has been several years since its last release so I didn't expect to work with a more recent version of Python, I downloaded it anyway and I tried to install it, of course it didn't work but thanks to the wonderful Python shell and Psyche's great documentation I managed to fix the problem. Psyche depends on Plex, a lexical analysis module, so I downloaded the version 1.1.5, I put it in Psyche's directory, replacing the old version and everything just worked out. Now I have Psyche running with Python 2.4 :D

El Violín

Qué puedo decir sino que es una muy buena película, si no la han visto todavía les recomiendo que vayan a verla antes que la quiten de cartelera como bien me dijo el buen Zahori.
El Violín trata de una realidad que está allí y que la mayoría no quiere ver, además de ser una película muy ligada a la música, lo que la hace tener una belleza intrínseca, lo demás que pueda decir sin contar la historia lo pueden leer en cualquier otro lado.

Don Ángel Tavira, el protagonista, es descendiente de los Tavira, una familia de músicos de la Tierra Caliente, que se dedica a la conservación de la música de la región. Francisco Vargas, el director de El Violín, conoció a Don Ángel al realizar un documental sobre la música de Tierra Caliente y posteriormente lo llamaría para hacer El Violín, cosa curiosa porque Don Ángel no había actuado antes pero sin duda es un artista nato porque hace un excelente papel.

viernes, mayo 18, 2007

Django Fever

La programación para la web no me había llamado la atención hasta hace poco, la idea de aprender PHP u otras cosas simplemente no me atraía. En ese aspecto soy privilegiado, nunca he tenido que usar cosas que no me gustan, y como todo lo que sé lo he aprendido por mi cuenta, nunca me he visto forzado a aprender cosas que no quiero; no sé si esto es bueno o malo pero así es. Ahora que estoy buscando chamba ha surgido la necesidad de aprender PHP, en verdad que anteriormente lo había tratado de aprender varias veces, pero no sé por qué siempre terminaba aburriéndome. Python lo usaba para crear scriptcillos o aplicaciones con interfaces gráficas pero nunca pensé en usarlo para la web aunque ya existían Zope, PSP, Webkit y otros.

Me topé con Django por primera vez al estar buscando ejemplos de aplicaciones escritas en Python para el taller que dí el año pasado en el congreso de Chetumal, en ese mismo congreso Fabien dió una conferencia y un taller sobre Rails, a muchos les gustó la forma en que Rails hace las cosas y no es para menos porque el desarrollo ágil es algo que ningún programador puede pasar por alto.
Entonces, ¿por qué no escogí Rails?, porque no estoy a gusto con Ruby; citando a Matz, el creador de Ruby, cuando le preguntaron por qué alguien familiarizado con Perl o con Python debería cambiar a Ruby respondió: "Si estás contento con con Perl o con Python no tienes que cambiar" y la verdad Python me hace muy feliz. ;-)
Django y Rails se parecen pero también es cierto que tienen sus diferencias, sería ocioso tratar de compararlos, pero como estoy ocioso mencionaré sólo algunas de las grandes diferencias:
  1. Rails es MVC, Django es MTV ;-)
  2. Django tiene una interfaz de administración muy perrona, Rails no.
  3. Rails tiene soporte para AJAX, Django no.
  4. Django tiene soporte para muchos idiomas incluyendo el galés xD, Rails usa plugins.
  5. Rails ya alcanzó la versión 1.0, Django no.
  6. Django es más rápido que Rails.
Por supuesto que la filosofía detrás de cada uno de estos frameworks es diferante y para ser justos aclararé los dos últimos puntos; aunque Django va en la versión estable 0.96, se ha utilizado en producción en sitios con alto tráfico ya que nació en un ambiente periodístico y en cuanto al performance diré que Python actualmente es más rápido que Ruby pero muchos esperan que la versión 2.0 sea más rápida, claro que también todos los pythonistas esperamos con ansias el Python 3000.
Sea cual fuere el framework o lenguaje de tu preferencia con toda seguridad éstos son unos ganadores, así que no dudes en usarlos. No creo que haya pasado la época de PHP pero ya es tiempo de darle agilidad a la web, y no, no me olvidé de CakePHP, sólo que dudo (por favor phperos no me linchen) que podamos comparar un lenguaje que no nació como lenguaje propiamente, es exclusivamente para la web (si ya sé que hay enfermos que usan PHP+GTK :P) y al que posteriormente se le añadió soporte para orientación a objetos con lenguajes que nacieron siendo orientados a objetos y de propósito general; digo PHP todavía tiene su nicho para rato, no por nada estoy tratando de aprenderlo, pero no creo que sería una buena comparación, finalmente el único argumento que da el creador de CakePHP es que el hosting ya está puesto para PHP, pero créanme que hosting como el de Webfaction o Dreamhost por mencionar los más conocidos soportan Django sin problemas y están muy chingones.

jueves, abril 05, 2007

To twitt or not to twitt

Twitter sigue cobrando mas y mas víctimas inocentes que quedan atrapadas en la necesidad de decirle a los demás lo que están haciendo.
Ya tenía rato que vi esta cosa y no me llamó la atención, después empecé a leer todos los tweets, de conocidos y desconocidos, y sigue sin llamarme la atención; lo que me da curiosidad de twitter es su funcionamiento, la manera en la que hace las cosas, sólo por eso abriría una cuenta.
Con esta cosa me vino a la mente Momo, la novela de Michael Ende, en la que los grises le roban el tiempo a la gente ;) pero antes de juzgar voy a probarlo, a lo mejor resulta que es algo divertido.

Update:
Pues he estado usando twitter por un tiempo y tengo que decir que la idea de broadcastear lo que estás haciendo no es tan mala, a veces cuando estoy hablando conmigo mismo me doy cuenta que la necesidad de los seres humanos de comunicarse no se queda en los medios tradicionales y por eso se justifica la existencia de twitter.

martes, marzo 27, 2007

Documentación Libre

Ayer recibí un correo electrónico de Fernando Aguilar que quiere utilizar un artículo sobre Python que escribí para la RevistaSL número 2 y en verdad me siento halagado. El artículo ya necesita una ligera actualización ya que en la fecha en la que fue escrito no existían los frameworks para desarrollar aplicaciones web como Django o TurboGears, o a lo mejor si existían pero no eran muy conocidos; el caso es que cada vez me sorprendo mas de las cosas tan bonitas que se hacen con Python.
Pero volviendo al tema, Fernando me preguntó sobre la manera de publicar su trabajo derivado; la licencia que escogí fue la GNU Free Documentation License que básicamente dice que se otorga permiso a quien sea de copiar, modificar y distribuir la obra siempre y cuando la licencia permanesca igual, consultando la Wikipedia, que tal vez sea el mayor usuario de la GFDL, me encontré con esta descripción que ojalá sirva para clarificar un poco esta situación, pero para no errarle se debe consultar el apartado 4. Modifications de la GFDL.
Lo polémico de esta licencia son las llamadas secciones invariantes, pero bueno, mi artículo no tiene dichas secciones y es mas fácil publicar un trabajo derivado.

Si alguien sabe de un buen ejemplo de la GFDL en trabajos derivados, por favor no dude en comentarlo.