jueves, noviembre 27, 2008

Perfil gráfico de arranque

Encontré una aplicación llamada Bootchart que produce un detalle sobre el arranque del sistema, generando una gráfica de uso de CPU y carga de I/O. Podemos ver gráficamente que es lo que más demora, como si se tratase de YSlow en Firebug.


lunes, noviembre 10, 2008

Depurando in situ: pdb + ipython => ipdb

Muchas veces nos encontramos con situaciones que requieren de una depuración paso a paso, sobre todo cuando tenemos una lógica un poco intrincada. Ipdb (easy_install ipdb) es básicamente pdb (python debugger) con las características de ipython.
En nuestro script (por ejemplo, una vista de django):
import ipdb

ipdb.set_trace()
...y mágicamente nuestro script se detendrá en esa posición del código:


Los atajos de ipdb sob los mismo de pdb:

l -> mostrar la seccion de código donde estamos
s -> step
c -> continue

Existen otros, pero no los recuerdo ahora.
Espero que les sirva!

domingo, noviembre 09, 2008

Kate como editor

Inspirado en el post de Humitos sobre desarrollo con Kate, y viendo la forma en la que textmate ejecuta los programas, me dije, debe haber una fomra fácil de hacerlo en Linux.
Humitos mostraba como hacer uso del ejecutar como script (Ctrl + Alt + X). El problema que encontraba con kate, es que los scripts se cerraban ni bien terminaban.
En la configuración de kate, en la seccion de herramientas avanzadas:


Modifiqué la ejecución de console:



Agregando la variable FROM con valor kate. Una alternativa es agregar --noclose a la invocación, pero tenía que presionar Alt-F4 al terminar el script.

Una vez hecho esto, en los scripts agrego lo siguiente (que lo tengo como sinppet):


De esta manera puedo evitar que console se cierre cuando trabajo y solo cuando lo hago desde kate. Aunque se podría adaptar a otros editores.

Espero que les sirva.



Paseo por MacOSX

Hace tiempo que me había cautivado la intriga de conocer "el sistema operativo de los screencasts".
Excepto en showmedo, donde la plataforma es variada, en su mayoría los screencasts que he visto son realizados sobre Mac.
Con una versión del OS modificada, llamada iATKOS, me di a la aventrua. La instalación tuvo el pequeño detalle de tener que modificar por consola el identificador de partición (0xAF) con fdisk. Una vez hecho esto y formateada, la instalación se realizó sin problemas. ACPI no funciona, lo que significa, que la PC no se apaga, ni se reinicia, ni se duerme. Un pequeño detalle.
Instalé los drivers de Nvidia y nada más. El sonido no funcionaba, tampoco la red ni la wireless, pero si el adaptador USB-Wifi que había comprado hace poco.

Para el usuario de Linux, mac tiene la consola relegada, no existe un Alt-F2, hay muchas combinaciones de teclado que aprender y para instalar sosftware GNU hay que hacerlo mediante macports.
Macports es lentooooooooooooooo, bueno, compila todo. Algo que el usuario de Linux tradicional (exceptuando a los usuarios de gentoo, no estamos acostumbrados). Estas incomodidades supongo que son pasajeras, ya que lo que instalas con macports lo haces una vez cada mucho tiempo y en definitiva, al teclado te acostumbras.

Hay algo que si me sorprendió mucho, y es la forma en la que se distribulle el software: Cuando bajas un programa, bajas un DMG, una suerte de imagen de disco. Una vez montada, arrastrás la aplicación a la carpeta /Applications y queda "instalada". El navegador de archivos te muestra todo como un icono, nada de carpetas, ni archivos, es una aplicación. La idea es buena, pero no hay nada como apt.



Lo que si me encantó fue el monitor de procesos. Es como un htop recargado.



Finalmente, creo que es una plataforma linda, para desarrollar, pero un toque incómoda al principio con el teclado.
Es bastante velóz. La plítica del administrador de ventanas es bastante molesta, pero, Expośé y Spaces ayudan bastante.


jueves, noviembre 06, 2008

Dos sitios donde obtener django mediante Mercurial


Mercurial es un sistema de control de versiones distribuido muy versatil del cual ya he hablado en algún momento en mi blog. Está escrito en Python y va por la versión 1.0.2 al momento de escribir esta entrada.
Django es un framework web cuyo lema es "Un framework para perfeccionistas con fechas límite". Django se carateriza por su reformulación del famoso patrón MVC, como MTV y una interfase de administración automática y customizable generada a partir del modelo.
El desarrollo de django se sostiene sobre un repositorio SVN. Por suerte hay gente que mantiene mirrors sobre mercurial:
hg.gomaa.us
hg.dpaste.com

domingo, noviembre 02, 2008

Como hacer dinero con Softweare Libre (literalmente)


En la lista de inskape apareció el siguiente link.
El Ministerio de Finanzas holades organizó un concurso en el que participaron un grupo arquitectos y artistas invitados. La meta no era crear un edificio sino la moneda de 5 euros conmemorativa con el nombre "Netherlands and Architecture". En el post se puede ver todo el desarrollo de la moneda.