2011
11.04

Hoy os traigo una de las últimas cosas que he hecho. Un pequeño wrapper de JSLint en Python. Lo hice un día en Yaco para poder poner un hook en la empresa que pasase JSLint a los ficheros JavaScript.

Es posible ejecutarlo desde código Python llamando a un método, pero también desde la línea de comandos. Los detalles están en el readme.

Funciona con NodeJS así que tendrás que tenerlo instalado. Dejo aquí los enlaces al wrapper:

2011
10.15

Hace ya mucho tiempo comencé a plantearme cómo sería desplegar Git para usarlo como sistema de control de versiones en los proyectos de Yaco. Aquello surgió de un sano flame que teníamos un compañero y yo, con otro compañero entusiasta de Mercurial. Aprendimos bastante (ya le dedicaré algún post que otro) sobre cómo desplegarlo, que si Apache + LDAP, que si Gitolite (que por cierto es buenísimo), etc.

La verdad es que hay bastantes cosas hechas, pero nos encontramos con que no había nada preparado para el desarrollo con Python en cuestión de hooks. Por ello comencé entonces a desarrollar Githooks, un sistema de hooks para Git para proyectos desarrollados con Python. Básicamente se trata de un set de hooks para:

  • Pyflakes
  • PEP8
  • PDB
  • Integración con Trac

Lee el resto de la entrada >>

2011
09.02

Acabo de regresar de un viaje por los Balcanes, he vistado las ciudades de Sofia (Bulgaria), Belgrado (Serbia), Sarajevo (Bosnia), Nis (Serbia) y Rila (Bulgaria). Amén de un par de escalas en Eindhoven (Holanda) y Charleroi (Bélgica).

Las fotos de dicho viaje las podéis encontrar aquí, en orden de cronológico de visita:

2011
05.29

Mi colega Dani GM me pasó esta pequeña utilidad para git. Muestra la rama actual en tu prompt cuando estás dentro de un clon de un repositorio git. Es de lo más práctico :)

Para utilizarlo sólo tenéis que copiar la siguiente función en vuestro .bashrc (o el correspondiente a la shell que uséis), y definir el PS1 adecuadamente. Abajo os dejo un ejemplo de PS1 bastante cómodo.

function current_branch
{
    x=$(git branch 2> /dev/null | grep ^* | awk '{print $2}')
    if [ ! -z $x ]
    then
        echo "!$x"
    fi
}

PS1='[\u@\[\033[01;32m\]\h\[\033[0m\] \w]\[\033[01;33m\]$(current_branch)\[\033[0m\] \$ '

Este código no tiene licencia, es de dominio público.

El resultado:

[korosu@klpt-arch ~/Code/githooks]!master $

Nótese el !master del final.

2011
05.02

El otro día un compañero de trabajo me pasó este útil snippet de código. Permite subir en la jerarquía de carpetas en el terminal de manera cómoda. Añade el comando up a tu sesión, de forma que puedes subir un determinado número de niveles de golpe, o subir hasta un directorio determinado. Además, para facilitar su uso, soporta autocompletado con el nombre de los directorios que están por encima del nivel actual.

Como todo queda más claro con ejemplo os copio la siguiente sesión:

/usr/share/avahi/introspection$ up share
/usr/share$ cd -
/usr/share/avahi/introspection$ up 3
/usr$

Lee el resto de la entrada >>