viernes, 13 de julio de 2012

Poniendo la rama del repositorio de git en el prompt

A partir de la charla Git and Debian packaging me saltó la duda de como lograr un prompt que me diga la rama actual de git cuando me encuentre en un repositorio.

Christian "bubulle" Perrier nos ofreció éste link. La idea me gustó mucho, pero tuve que twikearlo un poco para que use colores :-)

El resultado, en mi ~/.bashrc

[...]
# Search for git repos.
parse_git_branch() {
  git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}


# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
force_color_prompt=yes


if [ -n "$force_color_prompt" ]; then
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
    else
color_prompt=
    fi
fi


if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\[\033[01;31m\]$(parse_git_branch)\[\033[00m\] \$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w$(parse_git_branch)\$ '
fi
unset color_prompt force_color_prompt
[...]

Como verán, agregué la función parse_git_branch() tal y como se describe en el link. Luego agregué la llamada en la definición del color prompt.

Por supuesto, se puede mejorar aún mas :)

Nota 201207172003GMT-3: bubulle parece haber hecho lo mismo, sólo que él lo mejoró. Y por supuesto, cambié el post de forma acorde :)

viernes, 6 de julio de 2012

Charla sobre el puerto USB y experiencias de programar un driver para un circuito integrado

El miércoles 11 de Julio (el próximo miércoles al momento de escribir ésto) en la sala de conferencias del DIEC, Universidad Nacional del Sur, Bahía Blanca, voy a estar dando dos charlas en una: "El puerto USB: mas que un puerto serie con energía" y "Experiencias de programar un driver para un circuito integrado".

En la primera charla voy a presentar las ideas básicas detrás del puerto USB en forma de sistema y con énfasis en los dispositivos. Voy a hablar sobre los pro y los contras del mismo.

En la segunda parte, que debería durar no mas de 10', voy a hablar de mi experiencia haciendo un driver para el Texas CC1101.

En ambos casos no voy a tocar muchos aspectos de software, sino que voy a conentrarme mas en presentar ideas y contar tips y experiencias con los mismos.

¡Los espero!