Buon compleanno WWW!

Il 6 agosto 1991 Tim Berners-Lee pubblicò il primo sito web, tuttora accessibile all’indirizzo:

http://info.cern.ch/hypertext/WWW/TheProject.html

Il web, dunque, compie oggi esattamente 30 anni e ha completamente trasformato la vita di tutti. Gli esempi sarebbero innumerevoli e scontati, ma è importante ricordarsi che esiste un prima e un dopo. E fare lo sforzo di pensare cosa era la vita prima e cosa è stata la vita dopo. La rivoluzione delle comunicazioni diventa un acceleratore per il progresso dell’umanità. Prima del telegrafo, dopo il telegrafo. Prima del telefono, dopo il telefono. Prima della radio, dopo la radio. Prima della televisione, dopo la televisione. Si potrebbe dire “prima di Internet, dopo Internet”, ma Internet c’era prima del web e non accelerava. L’acceleratore, appunto, è stato il web: la definizione del HTML come linguaggio ipertestuale per la definizione delle pagine e del HTTP come protocollo di trasporto, dunque il browser come visualizzarore e il server HTTP per erogare le informazioni.

Nei prossimi giorni, sarà aggiunto in questo sito uno screenshot del sito web visibile al link sopra, visualizzato su una workstation NeXT.

Networking su NeXTstation

Supponendo di aver appena ricevuto una macchina NeXT, fatte le prime doverose pulizie, se il sistema operativo è già installato, il primo desiderio è quello di connettere la macchina in rete. Questo è senz’altro una pretesa del nostro tempo: noi siamo connessi e altrettanto devono fare le macchine, nuove o vecchie che siano! Rispetto alle intrinseche deviazioni della piattaforma NeXT su video, tastiera e mouse, il networking è l’ambito dove almeno la parte hardware è facile: sul retro del case è presente una porta Ethernet 10Mbps (il Gigabit era ancora fantascienza) che consente di connettere immediatamente la macchina ad una rete locale “moderna”. Volendo, è presente anche un connettore BNC (per reti 10BASE2), ma di questi tempi è molto più facile trovare uno switch con una presa RJ45 libera piuttosto che un segmento di rete con cavo RG58 a cui agganciare un nuovo nodo. Dunque, connesso un tipico cavo patch, la configurazione hardware è risolta.

Lato software la configurazione è abbastanza semplice, ma richiede un minimo di guida rispetto ai pannelli di setup degli ambienti più moderni. Innanzi tutto è utile sapere che NeXTStep si aspetta di trovare un server che si occupi della configurazione della macchina (un DHCP ante litteral, visto che il Dynamic Host Configuration Protocol sarà introdotto solo nel 1993). Non ho dettagli su questo aspetto, non ho ancora letto a fondo i manuali dell’amministrazione di sistema dunque non so fornire dettagli in merito. Peraltro, per poter mettere in piedi un sistema client/server è necessario disporre di almeno due macchine, cosa non da poco  per la maggior parte di noi (la mia seconda NeXT sarà oggetto di restauro in autunno, dunque per ora anche io ho una sola workstation funzionante, ndr).

Ci occuperemo, dunque, della sola configurazione base del TCP/IP, per connettere una macchina con NeXTStep 3.3 alla rete di casa o dell’ufficio. Occorre tenere sotto mano:

  • l’indirizzo IP da assegnare alla NeXT
    • non essendo disponibile DHCP, onnipresente nei router moderni, occorre necessariamente attribuire un indirizzo statico alla workstation.
    • Solitamente i router assegnano gli IP dinamici all’interno di un intervallo stabilito (ad esempio, da 192.168.0.50 a 192.168.0.150). Si hanno, dunque, due possibilità: assegnare alla workstation un indirizzo IP all’interno di questo range (ad esempio, 192.168.0.123), avendo cura di indicare al router che tale indirizzo è riservato ad un certo MAC address (quello, ovviamente, della scheda di rete della NeXT) oppure assegnare staticamente un indirizzo fuori dal range (192.168.0.199) assicurandosi che non venga utilizzato da nessun’altra macchina sulla rete. Una nota: nel primo caso il router non riceverà mai la richiesta di attribuzione dell’IP da parte della NeXT, ma la configurazione salvata eviterà che il router assegni tale indirizzo ad un’altra macchina.
  • l’indirizzo IP del router
    • probabilmente il più classico dei 192.168.QUALCOSA.1, nell’esempio mostrato sopra 192.168.0.1. È sufficiente consultare il pannello di amministrazione del router o la configurazione dinamica di una macchina già connessa alla rete per scoprirlo.
  • la maschera della sottorete
    • in ambiente domestico la solita 255.255.255.0; valgono le considerazioni del punto precedente
  • l’indirizzo (o gli indirizzi) del server DNS
    • si possono utilizzare quelli dell’Internet Provider in uso, ma potrebbero cambiare nel tempo. Una soluzione potrebbe essere quella di utilizzare i DNS pubblici di Google, che hanno IP 8.8.8.8 e 8.8.4.4, o magari uno privato locale che poi inoltri la richiesta al server del provider. Insomma, come nel caso dell’indirizzo della workstation, occorre rendere statico anche il riferimento al server DNS.

Vediamo, dunque, come configurare NeXTStep 3.3 per accedere alla rete avendo a disposizione le informazioni di cui sopra. Prima di tutto, occorre accedere alla macchina con l’utente root ed avviare l’applicazione HostManager contenuta nella categoria (cartella) NextAdmin:

(ricordo che le immagini sono in scala di grigio perché si tratta di screenshot presi su una NeXTstation N1100, che è monocromatica)

Dal menù dell’HostManager è necessario selezionare la configurazione locale agendo sulla voce Local: si presenterà la finestra Local Configuration sulla quale è possibile impostare tutti i parametri.

Vediamoli nel dettagli:

  • NetInfo Binding
    • a meno che non abbiate un server di questo tipo, è consigliabile selezionare l’impostazione “Use local domain only”
  • Hostname
    • possiamo attribuire un nome alla macchina (nella migliore tradizione delle workstation Unix!). Nel mio caso, la macchina si chiama gerdanext, in onore del mio nick gerdavax.
  • NIS Domain Name
    • selezionare “None”
  • Internet Address
    • in questa posizione è necessario inserire l’indirizzo IP assegnato alla macchina (nell’esempio: 192.168.0.199)
  • Broadcast Address
    • è possibile lasciare il valore di default (che sarà 192.168.0.255 nell’esempio di configurazione finora seguito, ndr).
  • Time Standard
    • ho lasciato l’impostazione di default, ma non so se NeXTStep abbia un elenco di server NTP predefiniti. Probabilmente è una informazione che arriva dal server di configurazione. Finora l’impostazione di default non ha creato problemi, dunque ho lasciato così.
  • Netmask
    • ho specificato esplicitamente quella standard
  • Router
    • ho specificato esplicitamente l’indirizzo del router

A questo punto è sufficiente salvare per rendere operative le modifiche, previo reboot come richiesto dalla dialog mostrata di seguito:

Al riavvio la macchina avrà l’indirizzo IP assegnato. Sarà sufficiente eseguire un ping verso il router per assicurarsi che tutto funzioni correttamente. L’ultimo passo è impostare il server DNS. In questo caso non si può fare affidamento sull’interfaccia grafica, ma occorre passare alla shell di sistema. Sempre con l’utente root, è necessario modificare (o creare ex-novo, come nel mio caso) il file /etc/resolv.conf, analogamente a quanto avviene su altri sistemi Unix:

ed inserire una riga con la keywork nameserver seguita dall’indirizzo IP del server DNS (nel mio caso, proprio il server pubblico di Google con indirizzo 8.8.8.8):

È possibile inserire riferimenti a più server, ciascuno su una riga. In questo caso non è necessario un riavvio della macchina ed è sufficiente utilizzare l’utility nslookup per verificare la corretta risoluzione dei nomi:

Ultimo dettagli: l’indirizzo MAC della NeXT è visibile all’avvio della macchina, mostrato dalla BOOT ROM. Ad esempio, sulla mia NeXT è quello evidenziato nella foto qui sotto:

Appunti sul Primo Raduno RCI 2016

Si è concluso con grande soddisfazione di tutti i partecipanti il Primo Raduno Nazionale del Retrocomputer Club Italia, per gli amici degli hashtag #radunorci2016. È stata una bella esperienza, divertente e in un certo senso formativa. Ho partecipato per anni all’organizzazione del Linux Day con il GULCh (Gruppo Utenti Linux Cagliari), ma quella dei giorni scorsi è la prima volta in cui ho partecipato ad un evento di retrocomputing come espositore.

Durante e a valle dell’evento, ho appuntato e distillato alcune riflessioni che potranno aiutare a migliorare la mia partecipazione ad esposizioni successive. Ho pensato di condividerle in questo blog perché credo possano essere utili anche ad altri appassionati che contribuiscono alle varie mostre e raduni. Alcune sono semplici constatazioni, altre sono – per così dire – raccomandazioni:

  • Iniziamo dalla preparazione. L’espositore dovrebbe visitare la mostra prima che questa inizi. Ovviamente non potrà vedere tutto, ma almeno “il grosso” dovrebbe vederlo quando ancora l’evento non è aperto al pubblico. Dovrebbe farlo per due motivi: in primo luogo, non dovrebbe girare per la mostra durante l’apertura al pubblico, mentre deve garantire la presenza presso la propria postazione, così da essere a disposizione dei visitatori per spiegazione, per aiuto, per recuperare un improvviso malfunzionamento; in secondo luogo, conoscendo il resto dell’esposizione, potrà suggerire al visitatore su quali altri pezzi soffermarsi. Nel caso della NeXT, ad esempio, mi è stato utile poter indicare ai visitatori la posizione dell’Acorn A3010 (macchina economica coeva della NeXTstation) e della SGI Indy (macchina successiva, ma della stessa fascia di mercato).
  • Il setup della macchina deve essere coerente: a tutti coloro che si sono soffermati sulla NeXT ha “disturbato” il fatto che il monitor non fosse originale (il pesante CRT MegaPixel che ho mantenuto nel caveau per evidenti problemi di spazio a casa). Benché il TFT Philips fosse adeguato, della stessa dimensione del monitor originale (17″) e addirittura con proporzioni pressoché quadrate come il CRT originale, avere il monitor originale avrebbe fatto la differenza. Ben vengano, dunque, le configurazioni perfette con tutti gli accessori originali. Eventuali hack o soluzioni di fortuna dovrebbero essere mantenuti a latere, evidenziando, appunto, che si tratta di evoluzioni successive.
  • La macchina deve (dovrebbe…) essere il top: direi un abbondante 50% di coloro che si sono seduti a provare la NeXTstation hanno chiesto come mai non avessi portato la versione Color oppure il Cube. Il secondo non lo possiedo; la prima sì, ma ho deciso di restaurare prima la monocromatica che ho acquisito prima. In generale, il fatto che volessero vedere quella a colori è stato il più ricorrente. Qualcuno mi ha detto: “è più attraente un monitor a fosfori verdi piuttosto che lo schermo grigio”. Qualche altro pensava che fosse impossibile che la NeXT fosse monocromatica e che il problema fosse nel monitor o nel cavo. Insomma, per la prossima mostra dovrò sistemare la Color, non c’è scampo. Il pubblico cerca macchine vecchie ma che esprimano grandezza nel proprio periodo storico.
  • Ho constatato che persone diverse cercavano cose diverse da provare: i più giovani guardavano le applicazioni e l’ambiente di sviluppo, mentre quelli più maturi che hanno vissuto la transizione BBS-Internet erano più affascinati dal vedere il browser di Tim Berners-Lee e il sito del CRS4. Qualcuno provava gli scacchi. Altri hanno aperto la shell alla ricerca del sottobosco Unix con in quale fare qualche giochetto. Insomma, occorre prepararsi ad un pubblico molto molto eterogeneo.

  • Ho portato due libri (“The NeXT Book” e “Developing NeXTSTEP Applications”): qualcuno li ha sfogliati, ma senza troppa convinzione. Sicuramente quello sullo sviluppo è stato il più consultato, quello sulla configurazione del sistema era pressoché inutile. Più persone, invece, hanno sfogliato la stampa della recensione di MC Microcomputer. In generale, aggiungere un supporto cartaceo dell’epoca è utile per dare colore e completezza all’esposizione, ma non credo sia necessario dotarsi di moltissimi manuali. Eventualmente, potrebbe aver senso mostrare la Reference Guide per il sistemista e lo sviluppatore. Non saprei dire, alla fine, se sia davvero utile portare dei testi.
  • Come dicevo in apertura, è fondamentale la presenza di qualcuno che racconti la macchina e la sua storia. In tanti si sono avvicinati con domande specifiche, altri guardavano spaesati ed è stato compito mio (e di Raffaele Terribile che mi ha dato una mano) incuriosirli, invitandoli a provare la macchina, raccontandone la storia e mostrando le cose più interessanti.
  • Laddove non fosse possibile spiegare a tutti la storia della macchina e il suo valore nell’esposizione (perché non c’è tempo, perché si sta parlando con altri, perché il visitatore non ha voglia di stare a sentire la storia ma preferisce leggere), è importante prevedere della stampe che raccontino la storia e che il visitatore possa portarsi via. Basta un foglio A4 piegato a libretto (quattro paginette A5) abbastanza sintetico e attraente per arricchire la partecipazione dei visitatori.
  • Occorre preparare delle demo. Come anticipato, avevo predisposto il browser di Tim Berners-Lee e il link al sito del CRS4, ma a quanto pare non è stato sufficiente. Alcuni visitatori avrebbero voluto provare altre applicazioni in particolare quelle per cui la NeXT dava il meglio di sè (editoria, grafica, calcolo scientifico…).

Chiudo con questa foto di Marco Fanciulli, grande esperto delle macchine Commodore PET e Symbolics, che scatta una foto storica al primo sito web italiano del CRS4, raggiungibile su http://history.crs4.it.