Translate

29 ottobre 2007

Memor aka Soundwave: dalle musicassette del 1984 alle miniSD del 2007


Esco un po' fuori tema, anche se parlare di Transformers porta la mente ad una ventina di anni fa. Si respira aria vintage.

Ecco come si presentava Soundwave (Memor in Italia), il Decepticon più fedele a Megatron. Era un bello stereo per il tempo, con le sue musicassette che diventavano robot animali e spie adatte ad ogni occasione! Era il 1984.

Nel 2007 Soundwave si presenta con la stessa aria cattiva e possente di un tempo, ma di tecnologia rinnovata.

Il mangiacassette ha lasciato il posto ad un lettore di memory card (miniSD, personalmente non ne ho testate di dimensioni maggiori di 1 Giga).
Sì, la domanda è lecita: cosa se ne fa Soundwave di una miniSD nel petto? La usa come memoria per leggere gli mp3 (fino a 128 kb di bitrate: non è un iPod)!

Come miniSD ho scelto una SanDisk, mentre come lettore di memory card ho optato per quello che passa il convento (Carrefour di Portogruaro): SBS Card Reader 29 in 1 USB 2.0 GDR007 http://sbs-power.com/product_detail.asp?pID=312 .
Nonostante quello che riporta il sito, la compatibilità con i sistemi operativi va aggiornata anche a Linux 2.6 e udev/hal/dbus. Una volta collegato il dispositivo alla porta usb (da cui succhia energia per vivere) del pc, questo viene riconosciuto come periferica di archiviazione di massa e Nautilus, o chi per lui, ce lo mostra tra i dispositivi collegati al computer:


Fin troppo facile, una volta c'era più gusto a fare queste cose.
Che altro dire? Soundwave funziona con una batteria ministilo (AAA) e ha un led blu che indica il funzionamento durante l'uso come lettore mp3. I pulsanti presenti sotto il coperchio dove si inserisce la memory card, consentono di saltare tra un brano e l'altro, alzare e abbassare il volume, e naturalmente far partire e fermare la riproduzione. Nella confezione ci sono solo istruzioni in giapponese (giapponese stretto, non provate a decifrare gli ideogrammi!).
Vi lascio con l'immagine della confezione come l'ho vista io appena scartata dall'imballo, con Soundwave Spark Blue in riposo tra cartone e plastica.

Soundwave, sounds good!

16 ottobre 2007

10 ottobre 2007

DHCP on NeXTStep

Seguendo questa guida, che trovate in formato .rtfd nel pacchetto dei binari, sono riuscito a configurare il client DHCP su NeXTStep. Un po' di modernità che non guasta nella mia rete.

Un piccolo hint: per ricavare l'indirizzo hardware della scheda di rete (en_address) non è necessario un boot in single user, ma dalla macchina già avviata, è sufficiente entrare nel NMI Mini-Monitor (nella mia macchina non-ADB, con la combinazione di tasti CmdLeft+CmdRight+~) e visualizzare gli ultimi messaggi del kernel con: msg=9 (se quelle nove linee non bastassero, msg vi propone tutti i messaggi del kernel da sfogliare pagina per pagina).

/n/unix/dhcp-2.0pl1.N.b.tar.gz

09 ottobre 2007

Download repository

Per avere un altro mirror dei file che uso più spesso, per ricordarmi dove ho messo quel documento, per liberare un po' di spazio sulla NeXTstation:

http://download.tuxfamily.org/greedydotfly/

Sì, anche per rendervi la vita più facile.

03 ottobre 2007

The NeXTStep: Developer time! - La compilazione da sorgenti e il package management

Agognato da tempo immemore, sfuggito di poco più e più volte nelle aste online, finalmente recupero un compact disc di NeXTStep Developer 3.3 (from U.S. of America, Ou iea!).
Infilo il CD nel caddy, infilo il caddy nel lettore, Workpace Manager mi mostra l'icona del volume montato. Mi aggiro per le directory del CD alla ricerca dei pacchetti da installare: NextCD/packages. Doppio click sui file e con i privilegi di root parte Installer.app.



Installer.app è l'utility presente in NeXTStep per aiutarci nella gestione del software da installare o da rimuovere: l'utilizzo è immediato: l'installazione dei pacchetti può essere eseguita da qualsiasi directory del sistema. Una volta che il pacchetto è stato installato verrà conservato nel database /NextLibrary/Receipts in forma di informazioni quali ad esempio lo status (installato o meno), i percorsi dei file e così via. Il sistema di gestione dei pacchetti è quello classico di Unix, e di distribuzioni come Slackware.


A questo punto ci ritroviamo con un ambiente di sviluppo bello e pronto. Prima di procedere verso il laboratorio con una camminata alla Frankenstein, un paio di migliorie al nostro sistema:
1) installazione della patch a NeXTStep Developer: la troviamo sul sito Apple - nostalgico Jobs: http://docs.info.apple.com/article.html?artnum=70124
2) installazione del GNU C Compiler: la versione più recente che sono riuscito a trovare per NeXTStep è la 2.95.3, che mi ha aiutato nella compilazione di grep (con una versione precedente il make non andava a buon fine): http://www.savarese.org/patches/gcc.html

Fa caldo. I vapori dell'acqua calda dentro la vasca creano una nebbia, mi soffoca. Inietto il pacchetto di grep via ftp, quei pochi secondi sembrano un'eternità. Mi asciugo il sudore. Con la sinistra lo tengo fermo, con la destra prendo gunzip e lo decomprimo, poi tar xf, lo scompatto, e mi ritrovo a guardargli dentro il petto: una zaffata di zolfo mi arriva alle narici, gas di putrefazione. Ho un conato. Guardo il Changelog, sono sorgenti del 1996; nessuno ne sentirà la mancanza!
Procedo, è il momento del configure per la mia creatura. Lo costringo ad un --prefix ben preciso, così da aiutarmi nella fase finale dell'opera. Tutto procede secondo i piani... La tempesta è arrivata: una luce rischiara le nuvole di vapore nella stanza, poi un boato al quale le finestre rispondono: non ci resta che aspettare. E finalmente eccolo: la corrente scorre per i circuiti CISC, si immagazzina nelle bobine, devo solo abbassare la leva: make !
La carne brucia, ne sento l'odore. Mi siedo, sono soddisfatto e stanco, posso permettermi qualche minuto di riposo. I succubi approfittano di me.
Apro gli occhi, la tempesta è finita. Nebbia e silenzio creano un'atmosfera surreale. La mia creatura? Mi avvicino, e la guardo...
Sì può fare!

Procediamo quindi alla creazione del pacchetto. Il make install copierà i binari nella directory da me suggerita al configure --prefix= che per questioni stilistiche e pratiche, sarà: /tmp/pkg.
A metà degli anni '90, quando i Makefile non erano creati da tool automagici come Automake, le strade per consigliare un percorso per l'installazione erano due: quella usata qui, quando esiste lo script di configure, oppure andare a modificare a mano il Makefile. Creata la radice del pacchetto, ora concentriamoci sul file .info necessario a Installer.app per la corretta gestione del pacchetto.
Il nome del file in questione dovrà corrispondere al nome del pacchetto, in questo caso, quindi, avremo un grep.info e il successivo e finale grep.pkg.
grep.info che andremo a creare in /tmp/, è suddiviso in otto sezioni:

Title
Il nome del pacchetto. Nella prima immagine è "grep - GNU grep"
Version La versione del software
Description La descrizione del programma
DefaultLocation Il prefisso d'installazione del pacchetto
Diskname Il nome della directory del pacchetto, nel nostro esempio "grep.pkg"
Relocatable Una variabile, i cui valori possono essere YES o NO, che permette all'utente finale di sovrascrivere la DefaultLocation
Application YES o NO, indica se il contenuto del pacchetto è un'applicazione o meno
DeleteWarning seguito dal messaggio di avvertimento, verrà mostrato quando si vorrà cancellare il pacchetto.

E ora viene la parte più facile. Installer.app si porta dietro un'utility scritta appositamente per la creazione di pacchetti: package, la cui sintassi di base si presenta così:
package directoryradicedelpacchetto fileinfo -d directorydovesalvareilpacchetto
che, per il nostro esempio, diventerà:
package /tmp/pkg/ /tmp/grep.info -d /me/

Generating Installer package /me/grep.pkg ...
creating package archive ... done.
copying grep.info ... done.
generating bom file ... done.
generating sizes file ... done.
... finished generating /me/grep.pkg.
Diventiamo root, doppio click sul pacchetto e Installer.app farà il resto.

Fonte: http://www.bangmoney.org/nextstep/packages_1.html