Ahora bien, como siempre que uno empieza una actividad frente al computador, he empezado a divagar del tema. Normalmente una tarea que debería tomar pocos minutos fácilmente se torna en una tarea titánica de horas, en parte por el Internet... ¿Que cómo es eso posible? Veamos lo que sucede: Abro mi cuenta de Blogger usando mi navegador de preferencia (depende del humor), y ocasionalmente me pongo a revisar los correos. Cuando termino de revisar los correos me dirijo hacia el feed de noticias que tengo como mis marcadores en vivo en la barra de favoritos. Por supuesto, eso implica pasar unos buenos minutos abriendo las páginas de noticias de los canales privados nacionales (RCN y Caracol, bastante pesadas por cierto, en mi equipo), además de las de Barrapunto, que son mis favoritas. Luego, por supuesto, abro otro sitio de contenidos interesantes: The Future of Things donde me mantienen informado de muchos de los avances científicos importantes. Por si fuera poco, para esa hora ya he abierto el IM (el que sea, no tengo un favorito sino tres) y empiezo a recorrer todas las ventanas de conversación que me abren... Ocupado nunca ha significado menos que disponible cuando alguien me busca. Pero bueno, es el precio de estar trabajando en los proyectos de las materias con gente de todas partes.
¿Y qué pasó con el post? Olvidado, ya para cuando quiero dormir, estoy cansado, o he olvidado por qué quiero escribir. Estoy seguro de que muchas personas tienen habilidad para mantenerse enfocadas en la tarea del momento, pero cuando hay varios frentes de trabajo siempre se pierde alguna meta.
La solución más empírica que he encontrado a este problema ha sido lograr que el mismo computador nos recuerde la tarea que estamos haciendo, de modo que volvamos al objetivo en el momento que el computador lo requiera. Esta solución se me ocurrió mientras fui administrador de la sala SunRay en la U, y me pareció bastante óptima, sobre todo en los casos en que uno se mata toda la noche resolviendo un problema o descubriendo una nueva virtud (¿bug?). Gracias a la bitácora que uno se obliga a llevar es posible hacer seguimiento de las actividades que se realizan, el tiempo dedicado a cada una de ellas, y hasta los pasos seguidos para llegar a su conclusión. También son fuentes importantes de datos sobre el funcionamiento del sistema y permiten mejorar la recolección de información sobre los cambios que los administradores de sistemas hacen en... los sistemas. Con una bitácora bien detallada es posible obtener un informe de actividades y procedimientos en poco tiempo, por lo que sustentar una acción puede llevar menos tiempo.
Otra ventaja de las bitácoras periódicas es que se hacen en medio de cualquier situación, y no tienen que ser largas, nos recuerdan de otros detalles que pudiéramos haber pasado por alto y por lo general nos permiten dar detalles que, una vez terminada la tarea, no recordaríamos. Por tanto, es aconsejable que todos llevemos una bitácora, aunque sea en archivos de texto plano. Aquí es donde entra la creatividad de cada uno.
Por mi parte, como antes no era muy amigo del backup, he dejado perder muchas cosas interesantes, y entre esas el script de bitácora que usaba hace tiempo. Sin embargo, en tan sólo una noche he logrado programar uno sencillo que, aunque no está pulido, puede usarse bastante bien. No requiere permisos administrativos ni nada, y funciona similar a un twitter, pero personal. Muchas cosas son configurables, aunque no le he agregado opciones de línea de comandos para todo, y usa estilos de GTK y XDialog para la interfaz gráfica. Dos archivos de texto que publico aquí. Recomiendo ponerlos en un directorio llamado scripts en el propio $HOME para guardar estos y otros que iré publicando a medida que avancemos.
bitacora.sh
#!/bin/bash
################################################
# bitacora.sh #
# Simple script to account user activities and #
# help focus on detailed tasks #
# By: Luis Felipe Abad Guzman (labad) #
# Work licenced under the GNU GPL v2.0 #
# Feel free to modify and redistribute copies #
# of this work, but please comment your own #
# modifications. #
################################################
#Filename to use, if none specified (default)
LOGFILE="/home/$USER/.bitacora.log"
# Date and time format to use in LOGFILE. If "" is specified use default
DATEFMT=""
#Process command line arguments
while [ "$1" != "" ]
do
case "$1" in
"-t" )
shift
if (( 0 + $1 ))
then
echo "Using \"$1\" as periodic request time"
W_TIME=$1
else
echo "$1 is not a valid time"
exit 1
fi
;;
"-o" | "--logfile" )
shift
if [ ! -z $1 ]
then
LOGFILE="$1"
fi
;;
esac
shift
done
askAndSavePeriodic ()
{
#Use Xdialog to request for last minutes activity description
bita=`Xdialog --stdout --title Bitacora --rc-file \`dirname "$0"\`/bitacora-theme.rc --auto-placement --beep --check "Finalizar bitacora?" off --left --wrap --inputbox "\`tail $LOGFILE\` \n\`date $DATEFMT\`:" 0 80`
if [ "$?" -eq 0 -a -w "$LOGFILE" ]
then
bito=`echo $bita |sed 's/\(.*\)unchecked\|\(.*\)checked/\1/;s/[ \t]*$//'`
echo `date $DATEFMT`: $bito >> $LOGFILE
echo $bita >>/dev/null
if [ "$_" == "checked" ]
then
exit 0
fi
fi
sleep $W_TIME
}
askAndSave ()
{
#Use Xdialog to request for last minutes activity description
#We don't use
bita=`Xdialog --stdout --title Bitacora --rc-file \`dirname "$0"\`/bitacora-theme.rc --auto-placement --beep --left --wrap --inputbox "\`tail $LOGFILE\` \n\`date $DATEFMT\`:" 0 80`
if [ "$?" -eq 0 -a -w "$LOGFILE" ]
then
echo `date $DATEFMT`: $bita >> $LOGFILE
fi
}
#Main action==============================
[ -f "$LOGFILE" ] || touch "$LOGFILE"
if [ "$W_TIME" != "" ]
then
while true
do
askAndSavePeriodic
done
else
askAndSave
fi
exit 0
bitacora-theme.rc
style 'blue_background' {
bg[NORMAL] = { 0.1, 0.2, 0.5 }
fg[NORMAL] = { 1.0, 1.0, 1.0 }
text[NORMAL] = {0.0, 0.0, 0.0 }
base[NORMAL] = {0.0, 0.0, 0.0 }
fontset = "-*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-15"
}
widget '*' style 'blue_background'
No hay comentarios.:
Publicar un comentario