sábado, 14 de febrero de 2009

Posteo por curiosidad

El post de hoy es más por curiosidad científica, ya que hay muchas cosas que quiero escribir, pero el tiempo... Bueno, empecemos.
Lo primero es que estamos en San Valentín, y es una curiosidad que no se celebre en Colombia, sino en el resto del mundo. Aquí se celebra en mes del amor y la amistad, en septiembre, pero la idea es más o menos la misma. Lo que pasa es que no se le da un carácter tan comercial como en otros países, sino un poco más de profundidad al sentimiento que se quiere expresar.
También, hace unas horas, se celebró la hora Unix @1234567890. Felicitaciones a todos los geeks que entienden el significado de esto, y espero hayan disfrutado ver sus relojes con esta sencilla pero significativa secuencia numérica.
Por otro lado, hace unas noches conocí Digsby, un muy interesante programa que, si llegara a sacar versión para Linux, seguramente desbancaría a Pidgin como el favorito de los usuarios del hogar. Y es que no es para menos, ya que su integración de casi todos los servicios de mensajería instantánea, verificación del correo electrónico al estilo Google Gadgets, y su acceso a las redes sociales, todo en un cómodo empaque de aplicativo hecho en Python (por cierto, muy eficiente con la memoria), lo convierten en una poderosa herramienta a la hora de centralizar la vida en línea.
Es todo por el momento, pero antes de despdirme los invito a liberar sus oídos usando el servicio de jamendo, un sitio para escuchar y descargar música bajo licencia Creative Commons de manera legal y segura. Miles de álbumes para escuchar y tan poco disco duro para guardar...
Bueno, hasta la próxima.

viernes, 6 de febrero de 2009

La bitácora del administrador

Nuevamente empezamos los estudios y los trabajos de la Universidad, y las solicitudes de instalaciones no se han hecho esperar. Así que por el momento no hay mucho tiempo libre para escribir. Sí, ya sé que un blog es para irlo actualizando, y por eso me he dedicado a desatrasarme con mucha información importante de mis fuentes favoritas.
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'

Buscar entradas