Dime qué bebes…

  -Yo, se dijo el principito, si tuviera cincuenta y tres minutos para gastar, caminaría suavemente hacia una fuente…

Ahora que tengo más claro por dónde se va encaminando el resultado final del proyecto, he pasado a sumergirme entre manuales. En un principio solo iba a ser un apaño "rápido y sucio" partiendo de otra distribución en vivo que me gusta mucho (R.I.P. Recovery Is Possible), a la que añadí herramientas, parches y módulos. Pero al apuntarme a esto decidí hacer algo más allá y crear un producto más cohesionado.

 En estos momentos intercalo la lectura de los siguientes documentos:

Linux File System Hierachy Standard

Linux Standard Base (éste lo estoy hojeando nada más, me limitaré a utilizar el anterior).

Manual de Flex 

Manual de Bison 

"Make. Un programa para controlar la recompilación." , de Gerardo Aburruzaga García — creo que está en algún lugar para descargarlo, pero tan solo me queda una copia a papel y el antiguo servidor de LSI de la UCA cayó hace tiempo.

 Además, ya tengo algunos garabatos en papel con las interfaces de usuario para los distintos programas que describí anteriormente (así como un par de ellos de los que aún no he hablado). No hay nada como un folio en blanco para empezar a programar emoticon.

 

 

Sesada como entrante

– ¿Quieres un aperitivo? –preguntó Colin–. He terminado mi pianocóctel, podrías probarlo.

 

Una vez dispuestos los cubiertos y la mesa, comento algunos detalles de las entrañas de la distribución (ya habrá tiempo más adelante para aburrir con lenguajes formales y demás pantomima) :

brain
   
        Intérprete de comandos y lenguaje de configuración. Debe contener: extracción de información acerca del hardware, funciones para hacer cambios en la configuración del hardware, extracción de información de los procesos en ejecución, funciones para manipular sus estados, determinar el modelo, iniciar o detener servicios, leer los ficheros de configuración del sistema y poder escribir los cambios.

brain-init

        Script en brain para determinar el modelo y así guiar el inicio.

brain-eyes

        Interfaz en ncurses para brain. Tendrá varias vistas,se iniciará por defecto como consola de notificaciones y errores. También pestaña de hardware, procesos y ficheros. Será muy modular y solo se cargarán en memoria las vistas en uso, descargándolas si no se activan en un período determinado (a excepción de la vista de notificaciones).

brain-shades

        Interfaz en GTK2+ para brain. En este caso, optamos por un diseño menos modular, que carga todas las extensiones al comenzar.

brain-log
   
        Servicio que inicia brain-eyes o brain-shades en la consola.

Un libro muy bonito

El otro día salí de la cafetería de la escuela antes de lo que me había planteado en un principio, así que me di una vuelta por la biblioteca y ver si así encontraba algún libro que me llamara. También buscaba algún libro de curses (pues tengo pensado utilizar esta librería para la versión de consola de la distribución) y cual no fue mi sorpresa cuando encontré las dos cosas en un solo libro: Using C with curses, lex and yacc : building a window shell for UNIX System V / Axel T. Schreiner . Es un poco prehistórico pero tiene unas ideas y exposición muy simpáticas. Comienza con las instrucciones del producto terminado y va desglosando cada componente, todo desde un punto de vista muy práctico y didáctico.

 Cuando lo saqué pensé que tan solo lo hojearía, pero al llegar a casa me convenció: he de definir un lenguaje sencillo de comandos y un par de interfaces (una para terminales en ncurses y otra para entornos gráficos en gtk).

Comienzo escueto

ThinkLinux es una distribución en vivo basada en SlackWare.

Tiene tres enfoques principales:

- Soporte para portátiles (por el momento Thinkpads).
- Recuperación de datos.
- Acceso a redes inalámbricas.

Y tres sabores:

- Consola (diseñado para utilizar con un lápiz USB de 32MiB).
- Ligero (entorno gráfico con fluxbox, miniCD o lápiz USB de 128MiB).
- Escritorio (entorno de escritorio con XFCE).