sábado, 31 de marzo de 2007

Complejidad Ciclomática de Código Python

Leyendo un blog por la web, me entero de qué es la Complejidad Ciclomática de un código fuente (uno de los taantas métricas que hay para analizar la calidad y complejidad del código), y que este muchacho posteó un script para poder analizar la complejidad ciclomática de un paquete de fuentes python.

Marcelo

Nuevas características en Firefox Alpha 3

Les dejo una pequeña reseña de las nuevas características que van apareciendo en la versión de desarrollo de Firefox 3.

Me parece muy útil el tema del agregado de indicadores de Cookies "no legibles" por scripts, cosa que sólo tiene el IE (qué raro, je) y también la aparición de un tag que indica un recurso "off-line", para que Firefox la "cachee" para uso posterior.

Esto último, bien utilizado, puede permitir el laburo desconectado de aplicaciones web.
http://ejohn.org/blog/javascript-updates-in-firefox-30a3/

Acá está el resumen oficial para developers de Mozilla:
http://developer.mozilla.org/en/docs/Firefox_3_for_developers

Marcelo

miércoles, 21 de marzo de 2007

Python como lenguaje "Enterprise-Ready"

Hace unos días ví esta noticia sobre el uso de Python en la industria de la aviación. Resulta que ITA Software vende soluciones software para aerolíneas, como Air Canada. El entrevistado (Dan Kelley) comenta que si bien tienen una mezcla de lenguajes y tecnologías, destaca que Python + Twisted les permitió hacer un framework de monitorización de alta performance para coordinar la venta de asientos de vuelo desde múltiples orígenes de datos (en tiempo real, claro).

Luego, dijo esto (traducción libre) [1]:

"Tenemos mucho más software en producción escrito en Python. Básicamente reimplementamos todo nuestro servicio de monitorización en Python y también nuestra infraestructura de administración de producción de software en una cantidad importante de lo que ejecutamos.


Gran parte de esto ha sido gracias al uso de Twisted Python. Dependemos bastante de Twisted (para el software de monitorización y de administración), y lo utilizaremos para la nueva generación de software, que es una suite de programas que automatizará el proceso de actualizaciones por nosotros".


El artículo es muy interesante, tira algunas cosas técnicas que están utilizando, y sirve para mostrarle al "jefe" que se puede usar Python para cosas grosas. :-D

Grande Python... Es un lenguaje excelente.

Te esperamos en la lista de Python Argentina!

Saludos
Marcelo

[1] "We have lots more production software written in Python. We've basically reimplemented all our production service monitoring in Python and also our production software management infrastructure for a significant amount of what we run.

"A big component to that has been our use of Twisted Python. We're pretty reliant on the Twisted framework, and we use it for our base-line management software that we use to run the great majority of production services that we have, our monitoring infrastructure and the next-generation thing that we have coming, which is a suite of programs that will automate the upgrade process for us,"

martes, 20 de marzo de 2007

Yo Nerd? Naaaah!!....

Ouch!

Gabriel, yo también pensé que era menos nerd... pero se ve que la profe de química me castigó duro en el secundario.

Your Score Summary

Overall, you scored as follows:

15% scored higher (more nerdy),
1% scored the same, and
84% scored lower (less nerdy).

What does this mean? Your nerdiness is:

High-Level Nerd. You are definitely MIT material, apply now!!!.


I am nerdier than 84% of all people. Are you nerdier? Click here to find out!
Saludos!
Marcelo

viernes, 16 de marzo de 2007

"Te invito a mi Fiestita"

Y sí, a mí me gusta cumplir años viejo... es algo que se da una vez al año, y comparte (un poco a lo loco, eso sí) a su gente....

El año que pasó fue algo agitado, pero me parece que este que viene va a ser más cargado... esperemos encararlo como se debe. :-D

Salutes
Marcelo

miércoles, 14 de marzo de 2007

Nuevo Scheduler para el Kernel

Brevemente, me hago eco de este post bastante interesante sobre el probable nuevo algoritmo de Planificación de Procesos del kernel de Linux 2.6.22....

La explicación es bastante sencilla, y acá está el artículo de Linux Weekly News que lo comenta.

Imprescindible para todo estudiante de Sistemas Operativos. :-D

Saludos
Marcelo

lunes, 12 de marzo de 2007

Cómo sacar el Corcho de adentro de la Botella...

Sip, no tiene nada que ver ni con Linux, ni programación, ni con nada "técnico"... pero ésto es para Marcelo, mi cuñado que me quiso sacar 50 mangos para explicarme cómo lo hacía!!

(Y como no quise garpar me quedé con la duda, je)



Salutes
Marcelo
PD: Perdón, este es un off-topic dominical. :-D

martes, 6 de marzo de 2007

Agujereando Pingüinitos - Aprendiendo sobre (in)Seguridad

Disclaimer:
Esto lo escribí hace tiempo y ahora lo "hago público", ya que me costó algunas horas de laburo hacerlo. Sin embargo, en esta semana leo con alegría que alguien va a hacerme ahorrar laburo: la nota sobre la distro Damn Vulnerable Linux. Básicamente es un LiveCD que trae un Kernel Linux + herramientas GNU altamente vulnerables, con el objetivo de hackearlas, de diversas maneras. Hasta trae documentación con ejemplos de hacking!

Ahora, a lo que escribí (20/01/2007):

Cómo instalar Red Hat 6.2 en un VMWare

Dado que estoy haciendo un laburo teórico/práctico sobre seguridad, me interesaba instalar alguna distro vieja de Linux (como Red Hat 6.2), pero sobre una máquina virtual, como VMWare.

Los pasos que seguí fueron los siguientes:

- Quise instalar el Red Hat 5.2 en VMWare. Todo bien, pero en el mismo instalador, al querer instalar un paquete rpm, me daba errores porque no era de la misma arquitectura. Se ve que rpm validaba la arquitectura que tengo (VMWare le debe decir "x86_64" y no hace match con "x86"), entonces no instalaba (tengo un Ubuntu 6.10 para AMD64). Es algo parecido a lo que pasa cuando querés instalar un .deb de ubuntu x86 en el Ubuntu de 64 bits y hay que pasarle "--force-architecture" al dpkg. La diferencia está en que no podía hacer que el instalador de RH 5.2 ignorara la arquitectura donde estaba corriendo.

- Cansado de querer instalar algún RH viejo en VMWare (había intentado con el 6.2 y el 7.0 antes), probé instalarlo sobre QEmu. Fue tanto como aptguetearlo, crear una imagen (con /usr/bin/qemu-img) ybootear (con /usr/bin/qemu directamente). Pero en vez de probar el Red Hat 5.2 (que es demasiado viejo ya), volví a probar con el Red Hat 6.2 (que tiene más o menos la antigüedad que quiero).

- El RH 6.2 instaló perfecto en el QEmu! (a diferencia de VMWare, que el instalador mostraba un bug... documentado para micros Pentium 4 en adelante).

- Una vez instalado en el QEmu, quería configurar la interfaz de red virtual, para poder acceder a internet y acceder al Ubuntu que lo está corriendo (para hacer pruebas); pero se complicó, ya que si bien al hacer un ifconfig veía la interfaz (Qemu simula tener una placa trivial NE2000), se me complicó porque para hacer andar la red con QEmu hay que simular una interfaz TUN (algo parecido a lo que hicimos con el OpenVPN), pero probé un ratito y como no anduvo, colgué el QEmu.

- Me acordé que el mismo programa de manajo de imágenes de disco (qemu-img) de QEmu soporta el formato de VMWare... así que convertí la imagen del RedHat 6.2 ya instalado en una imagen de disco de VMWare!!!

- Creé una nueva máquina virtual de VMWare y le puse como disco rígido la imagen convertida desde QEmu. Todo anduvo a la perfección; el Kudzu del RH 6.2, corriendo adentro del VMWare me reconoció el "nuevo" hardware (el hardware que emula QEmu es distinto al de VMWare) y listo el pollo. Tengo RedHat 6.2 en el VMWare!

- Hice ping, salgo a internet y todo joyita. Ahora queda hacerlo pelota.

Saludos
Marcelo
PD: Créditos a The Hackademy por el Tux hermoso de este post. :-D

sábado, 3 de marzo de 2007

Excelente Documentación de Linux en Castellano

Molinux es la distro de Linux de la Junta Comunitaria de Castilla-La Mancha. Está basada en Ubuntu; en realidad es muy parecida y esta documentación es 100% aplicable a Ubuntu también. Vía Meneame encuentro un post sobre su excelente documentación.

De curioso la bajé, y está muy buena, más que nada al nivel del famoso "Usuario Final" y en español, además de ser extensa: tiene 334 páginas. Documenta la mayoría de los programas Linux de uso general*: Entorno Gnome y sus aplicaciones, OpenOffice.org, Firefox, Evolution, Gaim, Ekiga, Nvu, Gthumb, Inkscape, Gimp, Totem, la Configuración del Sistema y sus Herramientas de Administración.

Acá está el enlace de su versión online:

http://www.molinux.info/downloads/documents/manual-usuario-molinux/

Y acá está el enlace al pdf (ojo, son 109 MB!):

manual-usuario-molinux-rocinante.pdf

Es pesado pero vale la pena. Probablemente la distribuyamos en el FLISOL 2007, el que hacemos en Luján (podríamos armar un CD con documentación para incluír en el "escritorio" de las compus instaladas...)

Parece buena idea, no? :-D

Marcelo
(*) Orientado al escritorio Gnome, claro está.