Utilidades para desarrollar en Minix

Quiero compartir con ustedes unas herramientas muy simples que usamos para hacer los trabajos prácticos de DISO.

Son, como dije, muy sencillas: dos sirven para ayudar a armar la documentación (LaTeX), y la otra es para chequear si los archivos que tenemos en nuestra máquina son iguales a los que están en Minix (es decir, con los que estuvimos probando realmente).

Seguramente este post no es de mucho interés para todos, pero quizá les sirva si alguna vez realizan un TP con LaTeX, en el cual deban incluir código fuente de algún programa, o publicar sólo las modificaciones de algún archivo existente (diff).

check_spell (scriptdiccionario)

Adivinen para qué sirve éste 😀 Aspell es una gran herramienta para chequear la ortografía, muy completa y avanzada. Este script (tan simple como pasar aspell a todos los archivos .tex) se complementa con la ayuda de un diccionario extra, con palabras comunes del trabajo práctico de DISO, como PROCS, SEPARATE y KBs, y comunes a LaTeX, como pdfauthor o bookmarks, las cuales no queremos verificar, ya que sabemos que son correctas.

makediffs (bajar)

Lo que hace es, previa indicación en el mismo script, buscar archivos que tengan un par con extensión .orig (por ej: proto.h y proto.h.orig), generar las diferencias en formato unificado (diff -u), y pasar esas discrepancias a formato LaTeX con lgrind. También es posible hacer algo similar con los archivos que no fueron modificados (es decir, no es necesario generar las diferencias).

Como todos trabajamos con el charset UTF-8, el script también se encarga de que los archivos ISO-8859-1 sean pasados a ese codeset. También realiza algunos cambios al código tex generado, ya que por ahí lgrind le erra con los comentarios en el código fuente.

remotediff (bajar)

Las dos anteriores están relacionadas con la documentación. Lo que hace remotediff es, una vez corriendo QEMU con Minix para soporte de red, ver si los archivos en nuestro disco (los que usamos, por ejemplo, para compartir en algún servidor Subversion, o para generar la documentación) son los mismos que están en Minix, es decir, aquellos con los que compilamos y probamos el kernel modificado. Es útil para no estar copiando todo “por las dudas”.