Esto es una nota que va para recordar en el trabajo. Estas bases de datos se ven atractivas para los proyectos que se estan haciendo viejos y tenemos muchos datos que ya solo nos interesan para las estadisticas.
Estando aqu’i en Trieste, un expositor( Paul Bartholdi) presento una idea muy interesante, la creaci’on del programa para el manejo de FAQs desde la linea de comandos. En s’i es m’as bien una base de conocimiento que un grupo de personas mantienen como una coleccion de archivos en sus $HOME.
La idea es crear un archivo .faq_XX donde XX es arbitrario pero se espera que indique el temario de la base
de conocimientos que encierra.
En cada uno de estos archivos, se encuentra el contenido de la siguiente manera:
FAQRC
The file .faqrc , in your $HOME directory, should contain the list of all
the faq files you want to query, in your directories or anywhere else.
KEYWORDS
The line containing keywords must start in column 1 with one or more
keywords characterizing the following text.
A keyword line effectively ends the previous entry.
As’i la primera linea contiene el autor y alguna informaci’on extra. y seguido en mayusculas se colocan las palabras claves para una busqueda, en las lineas siguientes se coloca el contenido relacionado con las palabras clave.
Luego al usar el programa faq:
$faq faqrc
The file .faqrc , in your $HOME directory, should contain the list of all
the faq files you want to query, in your directories or anywhere else.
La idea en si me parece muy buena, para pequegnos grupos, donde es f’acil compartir pequegnos archivos, y no se requiere de un medio de publicaci’on muy formal de la informaci’on adem’as de es la idea de un FAQ respuestas pequegnas a preguntas muy comunes, de esta forma se ahorra uno el tiempo de realizar la investigaci’on.
Por ahora el programa esta escrito en TCSH, ya hice una modificaci’on de este para bash, y tiene un funcionamiento muy basico, lo he mejorado un poco pero pienso que la idea es poderosa y se puede extender un POCO m’as, no es que quiera hacer un gran proyecto a partir de esta idea.
Eso es todo. El c’odigo fuente ya hablare con sus autores originales para ver si lo puedo publicar.
EOT
Hace poco compo parte de un proyecto escribi un m’odulo para el kernel de linux, en especial para el target de ARM9 AT91RM9200.
La idea es sencilla, es un driver para el PIO, que debe generar los siguientes dispositivos:
/dev/port[a-g]
/dev/pin[a-g][0-31]
As’i se puede realizar un acceso directo al PIN individual o a cada puerto en conjunto.
Inicialmente estoy trabajando con el puerto A, y es funcional de la siguietne forma.
echo O > /dev/pina14
echo 0 > /dev/pina14
echo 1 > /dev/pina14
echo I > /dev/pina14
Esto saliio como una necesidad y mi poca experiencia con los device drivers de Linux produjo ese driver.
Sin embargo leyendo el libro Linux Device Drivers con bastante juicio, he encontrado que cometi algunas barbaridades en ese c’odigo, ya que mezcle arbitrariamente mecanismo y politica. Adem’as de no utilizar los mecanismo estandar para el ctlio. Por esto me he comprometido a crear el driver completamente y con un disegno que debe estar terminado para cuando termine el libro, completamente de acuerdo con las especificaciones de disegno de un buen modulo/driver de Linux.
El motivo para crear tal driver, es simple, con el port de linux para ARM9, queremos tener un ambiente de desarrollo muy sencillo para tareas tipo PLC, donde lo que importa es la gestion y no los tiempos de respuesta.
Este mecanismo en el que un simple echo 0 > /dev/pinxx, echo > /dev/pinxxx controla una salida l’ogica permite disegnos de programas muy simples para el control desde un muy alto nivel.
EOT
En estos d’ias durante el curso de Instrumentaci’on Distribuida para Laboratorio, he consumido grandes cantidades de informaci’on sobre sistemas digitales una vez m’as, sin embargo esta vez he caido en cuenta en una de las necesidades b’asicas para poder comunicar el conocimiento que se adquiere en este odioso mundo digital.
Los diagramas de tiempo es la herramienta b’asica para la especificaci’on, transmisi’on y verificaci’on del funcionamiento de dos sistemas digitales que se comunican. Sin embargo hasta la fecha no me he encontrado con una buena herramienta para el disegno y presentaci’on de estos diagramas.
Siempre se puede recurrir a un HDL para generar estos diagramas, pero lo encuentro tedioso y poco disegnado para la creaci’on de un documento o una presentaci’on.
En estos d’ias del curso, he visto toda clase de diagramas, y han sido sumamente deficientes. Esto a’un para los instructores que provienen del CERN o incluso de los mejores adeptos de LaTEX se ven copiando las imagenes que se encuentran den datasheets y cuando este no se encuentra, en general carecemos de capacidades de dibujo suficientes para hacer un diagrama esteticamente correcto.
Si bien es cierto que se logra transmitir la informaci’on, en ocasiones la descripci’on es ambigua y no permite en un aspecto m’as interno del desarrollo, verificaci’on por parte de un programa si se esta cumpliendo o no la especificaci’on del diagrama de tiempo.
Ahora esto me trae una pequegna idea que ya tengo en papel gran parte del disegno y me ha traido buenos ratos de lectura.
La idea por ahora es sencilla, es crear un preprocesador para LaTEX(inicialmente) del estilo circuit macros para disegnar y establecer los diagramas de tiempo de una forma coherente y bien estructurada.
Creo que la idea es muy interesante y para quienes al igual que para mi, programas como graphviz nos hacen la vida m’as f’acil, van a agredecer la escritura de este programa.
Espero poder terminar generar la documentaci’on y la especificaci’on en papel pronto, para poder empezar a crear un pequegno programa de demostraci’on.
Como tengo en las notas, las GUIs significan perdida de tiempo, por lo que algo as’i no esta contemplado para nada en el proyecto.
EOT
I have spent most of my life living in the digital world, and every time I think on that I feel more a stranger on the real world.
He aquí mi tarea asignada para la dichosa materia de Robótca Evolutiva, y la verdad tome esa materia por la falta de materias que realmente me llame la atención en la sección de “profundizaciones” de la carrera. No es que me agraden muchos los robots pero he aquí lo que tiene relación con mi tarea.
La idea sobre ese tópico es más bien la idea de la computación distribuida más la idea de instrumentación y control distribuidos, dos temas que definitivamente me agradan.
De resto sigue siendo rob’otica -_-.




