jueves, junio 30, 2005

Un libro online sobre python que no tiene mala pinta: Dive Into Python.
¡Vaya! El proyecto en el que estoy de TPI, Noxtrum, de noticia en el Pais.

miércoles, junio 29, 2005

lunes, junio 27, 2005

De nuevo sobre documentacion de codigo python


Usando epydoc, ya veo una pega.
Al documentar por ejemplo las variables de clase, epydoc es capaz de extraer el tipo, pero lo que no mola nada es que con un comentario al lado de la declaración de la variables no sea capaz de extraer el comentario sobre la variable y lo tengas que hacer en el docstring.
Con pydoxy, se podría mejorar fácilmente.

Además de lo latoso que es, tiene como desventaja de que se te puede quedar documentación no actualizada si eliminas alguna variable.

FHS


FHS = Filesystem Hierarchy Standard. O lo que es lo mismo, un estándar para un sistema de ficheros jeráquico. Describe la estructura de directorios típica de Unix.

viernes, junio 24, 2005

Sobre las XIV pruebas para el Cuerpo Superior de Sistemas y TIC del estado.
Yahoo lanza Photomail, una herramienta para compartir fotos mas facilmente, una herramienta para compartir fotos mas facilmente.
De momento está en beta y sólo disponible para Windows e IE.

jueves, junio 23, 2005

Algunas noticias de barrapunto:


Por cierto, google ha sacado un servicio de Mapas, se llama Google Maps.
La noticia, aquí.
Muy, pero que muy interesante. Este mes se ha publicado un estudio público sobre las Características de la Web de España.

miércoles, junio 22, 2005

Noticia de barrapunto sobre una base de datos topografica y motor de busqueda.

martes, junio 21, 2005

Un tema recurrente, el chiringuito informático.
En estas noticia de barrapunto:

hay algunos post interesantes (como siempre, conveniente filtrar para eliminar la morralla).

lunes, junio 20, 2005

El codigo kernel de Linux, será gestionado por git, una solución 'desarrollada' por Linus Torvalds.
De barrapunto: ¿Por qué P2P es legal y un servidor FTP es ilegal? Tiene algunos posts interesantes.

viernes, junio 17, 2005

Documentando python


Bueno, tras una pequeña investigacion sobre que herramientas hay disponibles para documentar python puedo afirmar que las dos finalistas son:
Desde luego epydoc por ser el mas especifico para python, es el mejor. Aparte de generar html, también genera pdf y latex.

De doxygen que se puede decir que no sepamos ya.... Es la caña de España. La única pega, es que no soporta directamente python. Es por ello que tenemos que usar un filtro que haga una traducción a un lenguaje que ya entienda. En este caso C++.

Pythfilter, traduce codigo python a stubs en C++. La unica pega que le he visto, con unas pruebas muy simples, es que no trata atributos en clases ni variables de ambito global. Con pruebas mas profundas podrían aparecer mas pegas.

La ventaja de pydoxy sobre epydoc, es que los diagramas de herencia son graficos, y proporciona además diagramas de colaboración y de relación entre modulos. El que sean gráficos tiene la ventaja de que pueden ser usados para generar documentación mas formal (ej. documentos de diseño).

Concluyendo:
  • si no queremos complicarnos nada la vida, yo usaria epydoc, pero lo complementaria con doxygen para poder obtener diagramas graficos.
  • en caso contrario, y disponemos del tiempo, mejoraría pythfilter y usaría epydox.
Para ver mas información sobre que herramientas hay disponibles, Gehard tiene un informe sobre python SCDUs. No incluye los enlaces pero con google se obtienen facilmente.

Sobre A9


Esta currado el buscador este. Sobre todo el tema del clustering y su presentacion.
Como sospechaba, usa por debajo google. Habra que probarlo cuando tenga que buscar algo, a ver que tal se porta... (por cierto, ya hace tiempo mi hermano me comentó sobre él).

jueves, junio 16, 2005

¡Vaya! Un Lematizador online.
Una pagina muy interesante sobre ingeniería linguística.
Un stemmer para español.

martes, junio 14, 2005

Probando generación de UML desde python


De las herramientas que he mencionado anteriormente, he estado probando pyUMLGraph y pyReverse.

pyUMLGraph
Usa Graphviz para generar los gráficos.
Con los ejemplo moñas funciona bien, pero ya con código mio (usando python 2.3) me dio un par de problemas con un par de tipos (uno de ellos el Set). Tras amañar el código, la hice funcionar.
Lo mas particular es como funciona, ya que no parsea el código y genera los modelos, sino que lo ejecuta y lo genera para el código ejecutado.
Si lo que queremos es documentar una aplicación este compartamiento no es valido, ya que puede quedar código sin ejecutar.
Podria ser mas una herramienta (un poco rara) de ayuda a la depuracion. O también podria servir para genrar documentación de una ejecución partitular.
Otro problema de esta forma de funcionar es que cuando nuestro código se va a ejecutar en un framework, no va a ser posible su prueba.


pyReverse

Se pueden generar archivos para VCG (existe también xvcg) o bien para argoUML.
Ha diferencia de pyReverse, esta no la tengo probada del todo, pero casi.
Al igual que con pyUMLGraph, la probé con python 2.3.
Requiere para su uso la instalacion de pyXML y Logilab´s common library.
Si queremos generar los ficheros para argoUML debemos ejecutar pyArgo en caso de querer generarlos para VCG debemos ejecutar pyVcg.
En la prueba realizada, me posicioné en un directorio por encima del paquete a documentar y use la opcion -p . Me dio un fallo que solucioné metiendo en el paquete el fichero __init__.py. Tiene unas cuantas opciones que no he explorado...

  • Generación para argoUML: no tiene mucha utilidad. Además de que no he logrado ver diagramas de clases (supongo que tengo que jugar con los ficheros de configuración ademas de aprender algo mas sobre argoUML). Lo que quedaria por saber es si se pueden exportar diagramas de clases desde argoUML. Si es así se podría considerar. Una nota final sobre argoUML, no generar código python.
  • Generación para VCG: Tengo pendiente ver los diagramas, ya que no me pude bajar la aplicación por no tener acceso a ftp. Lo que si ya he visto es que solo exporta a bmp.
Y hasta aqui lo que he visto.

Realmente ninguna de estas herramientas son comparables a doxygen. Quizás la mejor alternativa sería probar el pythfilter para doxygen. Lo que hace es pasar el código python a C++ para luego poder usar doxygen con este código C++.

Ya para acabar el post. Unas herramientas de documentación:

Mas sobre python



Buscando sobre lo de UML me he encontrado este post en un thread que es interesante (habla de python y ruby).
Y un par de directorios con herramientas para python:
Nota: he visto que el segundo incluyen exactamente lo mismo que el 'open directory'.

Del 'open directory' me han llamado la atencion las siguientes tools:


Aparte hay un par de debuggers.

Diagramas UML para python


PyUMLGraph permite generar diagramas UML a partir del código fuente.

Otra herramienta que hace ingeniería inversa de código python es PyReverse. Genera ficheros para ArgoUML.

Buscando un poco en la web, sobre programas de modelado que soporten python me he encontrado:
  • PyUt. Esta me da a mi que debe ser pobre, pero nunca se sabe... habría que probarla.
  • ObjectDomain. De pago.

Together creo que lo soporta asi, como Rational.
Finalmente me he encontrado argouml (de gratis además). Tienen muy buena pinta, pero no estoy seguro de que lo soporte.

Finalmente... en esta pagina aparece un listado de herramientas de modelado clasificadas por precio. Es muy interesante.

Redes Neuronales en Python


Bueno tras una pequeña busqueda en google sobre el tema he encontrado:
Para completar, un resultado de yahoo: Creating Neural Nets in Pyro. Aquí una introducción. Pyro es un framework en python para explorar 'AI' y 'robotics'.

Y unas entradas de la wikipedia:
Una noticia interesante de barrapunto: ¿Cuánto consume tu PC? Mas o menos viene a salir a unos 14/15 leuros por dia, estando 24 horas encendido.
Se pueden rebajar estos consumos por lo visto con cajas buenas, y por supuesto teniendo el monitor apagado. En el precio anterior no se si estará incluido el monitor encendido.


lunes, junio 13, 2005

Generacion de documentacion en python



Aparte de pydoc se tiene epydoc. Por alguna documentacion que he visto generada con el segundo, parece mas potente.

Tratamiento de argumentos de programa en python



Tenemos dos opciones (por lo que he visto):
Sin entrar a profundizar en ambos (ahora no tengo el tiempo). Parece mas potente el segundo.

Ummm, habiendo una busqueda para confirmar mis sospechas, parece ser que es correcto, según indican es mas potente el segundo, pero solo esta disponible a partir de la versión 2.3 de python.

viernes, junio 10, 2005

Unos cuantos links de barrapunto (mas que las noticias en si, haciendo un filtrado por los mas puntuados, hay algun post interesante, vamos..., como siempre:

Y una entrada en un blog, sobre la Declaración de Bolonia.

miércoles, junio 08, 2005

Un 'pitfall' de python, scope.
Mas info, aquí.
Segun nos comenta Mauro (Mahouu de focofijo.com), la empresa que lleva esto es Secuenzia Pixels.
ummm, tras ver la pagina web, ya no estoy seguro de lo que acabo de afirmar, a ver que me dice Mauro de nuevo...

martes, junio 07, 2005

lunes, junio 06, 2005

Un thread interesante sobre unicode en python. Interesantes los comentarios de M.-A. Lemburg.

Una pagina de regalo sobre lo mismo. Y un Python Unicode Tutorial.

Y ya para acabar he encontrado esta pagina: How to use UTF-8 in Python.

viernes, junio 03, 2005

Arrays en Python


Inicialmente se disponia de Numerical Python. Actualmente sigue existiendo pero parece que finalmente acabará existinendo solamente dentro de SciPy (Scientific Tools for Python).

Y actualmente se dispone de NumArray.

De hecho, nltk dependiendo de que version de python y NLTK tengamos usa o bien NumArray o bien Numeric.
Red Hat libera Directory Server.
Hay un post interesante:

"Aunque la noticia salió hace una semana [escomposlinux.org] en otros sitios [eweek.com] no fue muy comentada.

En las comparativas de rendimiento de hace unos años los mejores servicios de LDAP eran el de Novell y el de Netscape, con mucha diferencia sobre los demás. Lo siento por Openldap, pero nunca es triste la verdad, lo que no tiene es remedio

Si os interesa, el rendimiento de un servidor LDAP de Redhat es muy bueno,
... anteriormente llamado Sun Directory Server,
... anteriormente llamado IPlanet Directory Server,
... anteriormente llamado Netscape Directory Server.
Y si quieres saber los tumbos que ha dado este software tan bueno, de empresa en empresa puedes leer el articulo de la wikipedia sobre IPlanet [wikipedia.org]

El rendimiento no es la única ventaja en este LDAP, los padres de este software (Netscape) pusieron especial énfasis en que satisfaciese los estándares del protocolo, ahora estoy migrándo -por imperativo empresarial- a un producto de Oracle y noto aún más esta característica.

Era necesario que hubiese más de un software de LDAP en el software libre, Openldap es buena solución (sobre todo el cambio de versión 1.x a 2.x) pero no se podía comparar a éste software -ahora de Redhat, pero creado por los de Netscape que fueron un poco los padres del protocolo- ni se podía compara con Novell, que de directorios saben un rato (dicen las malas lenguas que Hasecorp contrató a desarrolladores de Novell para hacer Active Directory)

Una nota final: LDAP es un protocolo, no un servicio. Hablais de servidores de RPC? o servidores SMTP? o servidores HTTP? o decís servicio web? servidores de correo? ...medítese"




jueves, junio 02, 2005

miércoles, junio 01, 2005

Sobre franquicias: