Si dovrà creare un eseguibile che farà i seguenti passi:
Si cambi BASE = 0x3bc per /dev/lp0, 0x378 per /dev/lp1 e 0x278 per /dev/lp2; intervallo = 8.
Sarebbe utile avere questo programma setuid in modo che tutti possano bere il caffè! BOFH!
Basta leggere la kernel hacker's guide per implementare un driver di periferica; lo si potrebbe anche fare in user space. Per favore lo si compili come modulo, in modo che non si debba compilare il kernel ad ogni aggiornamento. Quindi si scriva:
echo cappuccino > /dev/coffee
E si avrà una calda tazza di caffè in pochi minuti! Ci si ricordi di assegnare i giusti permessi a /dev/coffee, a seconda che solo root possa farsi il caffè o meno.
Il vantaggio di questo metodo è che supporta il feedback dalla macchina da caffè utilizzando l'ACK della porta parallela, quindi macchine da caffè intelligenti potrebbero produrre un interrupt quando sono pronte.
Lo si faccia da soli, dopo aver letto l'eccellente libro di Alessandro Rubini e Jonathan Corbet Linux Device Drivers e studiato il repository del codice sorgente di Cross Reference Linux.
Se si è implementato il programma di controllo in C (si veda sopra), si deve soltanto scrivere uno script CGI che accende e spegne la macchina da caffè o che passi attraverso istruzioni più complesse. Si dovrebbero scrivere alcune pagine web carine, dove si spiega come fare il caffè, e metterle su un server web Apache...
...la tecnologia LAMP (Linux, Apache, MySQL, [Perl|Python|PHP]), vi aiuterà a costruire un sistema per il caffè completamente configurabile!
In futuro, quando le applicazioni tenderanno a divenire più complesse, potrete volerle estendere sulla base della programmazione Flow-Based: http://www.jpaulmorrison.com/fbp/. Che accoppiata per una grande macchina da caffè!