la filosofía de python

Una curiosidad del intérprete de python, si abres un intérprete interactivo y tecleas

import this

recibirás los principios por los que se rige el lenguaje:

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!

Python 2 o Python 3

Una de las cosas que menos me gusta de Python es la diferencia entre versiones. Se han introducido modificaciones importantes en sintaxis y módulos clave que hacen que código escrito para Python 3.x no funcione en la 2.x (para más detalle ver este post de Guido van Rossum, creador del lenguaje). Por tanto, una de las primeras tareas antes de empezar a desarrollar es decidir qué versión se va a usar. Y aquí la clave no está en qué características del lenguaje vamos a utilizar, sino qué librerías y frameworks vamos a necesitar.

Por ejemplo, resulta dramático que los bindings de mysql no estén soportados en python3. Existe un módulo para utilizar estas bases de datos en Python 3 (ver PyMySQL) pero si has venido utilizando el módulo de toda la vida, el  MySQL-python, tendrás que quedarte en la 2.7.

Puedes ver de un vistazo qué módulos, de los más populares, están portados a Python 3 en Python 3 Wall of Superpowers.

Continue reading

python conquers the universe

Python conquers the universe es un blog soberbio sobre python. Explica conceptos avanzados desde un punto de vista diferente al habitual. Así como en otros blogs o tutoriales existen ejemplos y explicaciones de sintaxis, aquí los temas que se tratan son más profundos, más en el sentido de por qué en python las cosas funcionan como funcionan.

Si lo que buscas es cómo hacer esto o aquello, no es tu blog. Si quieres aprender sobre el lenguaje, puedes invertir horas.

arregla tus subtítulos con fixyoursubs.com

En los últimos meses he estado interesado por el framework de desarrollo de aplicaciones web Django. Django está desarrollado en python, uno de los lenguajes más productivos que hay y con el que estuve trabajando hace tiempo.

Como ejercicio, me planteé hacer una aplicación web que permitiera arreglar los subtítulos de películas y series. Es normal, sobre todo cuando tienes un vídeo y sus subtítulos de distintas fuentes que estos no vayan sincronizados. Puede que los subtítulos vayan uno o dos segundos detrás o delante, lo que hace que no puedas seguir el vídeo en condiciones, sobre todo si los ves en otro idioma. fixyoursubs te permite corregir esto. Sólo tienes que subir tu fichero srt e indicar, o bien el retraso (o adelanto) del audio respecto a los subtítulos o bien indicar en qué momento deberían empezar a mostrarse los subtítulos. Con esta información, fixyoursubs te devuelve un fichero srt arreglado.

Continue reading

como leer epub de dropbox en el iPhone

Para organizar mi colección de ebooks (casi toda en formato epub) utilizo una carpeta en Dropbox, que además puedo compartir. Para la gestión en el escritorio de los libros utilizo calibre, de lejos la mejor aplicación, que además es software libre y que puedes descargar gratis para todas las plataformas.

calibre funciona perfecto en el escritorio y para sincronizar con casi todos los libros electrónicos del mercado. Yo tengo un Sony reader y funciona a años luz de la aplicación oficial de Sony. Evidentemente, leo en el reader normalmente, pero siempre hay situaciones en que no lo llevas encima, tienes un rato y te apetece leer.

Llevar la colección completa en el iPhone es una tontería (salvo que tengas toneladas de espacio), así que lo más sencillo es acceder a tus libros vía dropbox y descargar el que te interese. Continue reading

google y facebook

Como comentamos en el post de google y apple a colación de los mapas, el negocio de Google es el de poner publicidad en las web. A través de Adsense, millones de sitios web colocan espacios para incluir publicidad y otros tantos anunciantes compran anuncios en Adwords. Google coloca el anuncio adecuado en cada espacio, cobrando por ello.

AdSense está pensado para que cualquier persona o empresa de contenidos inserte publicidad en sus webs, sin preocuparse buscar anunciantes, llegar a acuerdos y gestionar los anuncios. Google lo hace automáticamente con Adwords, donde los anunciantes registran (y pagan) por sus anuncios. Es como los carteles publicitarios de las autopistas, unos proporcionan la estructura (por ejemplo un blog) y otros los contenidos (los anunciantes). Google es el operario que coloca el cartel en la estructura.

¿Qué sucedería si nadie utilizase AdSense?  Google no podría colocar publicidad. No podría ganar dinero por los medios con los que actualmente lo gana.

Continue reading