#### TELEM022 - Telematicus - Volume 02 - Numero 10 - Anno 1992 - 58 pag. #### @@@@@@ @@@@@ @@ @@@@@ @@ @@ @@ @@@@@@ @@ @@@@ @@ @@ @@@@ @@ @@ @@ @@ @@@@@@@ @@@@ @@ @@ @@ @@ @@ @@ @@ @@@ @@ @@@ @@ @ @@ @@ @@ @@ @@ @@ @@ @@ @@@ @@ @@ @@ @@ @@ @@ @@@@@@ @@ @@ @@ @@ @@ @@ @@ @@@@@ @@@@@ @@@@@ @@ @@ @@ @@ @@ @@ @@@@ @@@@ @@@@ Ottobre 1992 Bollettino telematico mensile a cura della region 2:33 Fidonet e di .mau. ============================================================================== Il materiale presente in Telematicus e` (C) dei singoli autori. E` espressamente consentita la distribuzione e il riutilizzo del bollettino in tutto o in parte, purche` non a fini di lucro e citando sempre autore e fonte di provenienza. ============================================================================== ***** Indice: pagina 2 - Who's Who: pagina 3 - Distribuzione: pagina 58 ***** ############ ### ### 0 ### INDICE ### ############ ### [ 1] Editoriale, di Maurizio Codogno . . . . . . . . pag. 4 [ 2] Che cos'e` ... ISDN, di Maurizio Codogno . . . . . . pag. 5 [ 3] Il Wc-Dos di RRE, di Renato Rolando . . . . . . . pag. 10 [ 4] OOP delle mie brame, di Antonella Erriu . . . . . . pag. 16 [ 5] Il Racconto telematico (?): Z, di Andrea Giotti - parte 3 . . pag. 24 [ 6] Vivamiga, di Renato Rolando . . . . . . . . . pag. 27 [ 7] Curiosita`: una Coke Machine su Internet . . . . . . pag. 39 [ 8] Curiosita`: Il gergo hacker - parte 18 . . . . . . pag. 44 [ 9] Notizie Fidonet region 33 . . . . . . . . . pag. 55 Questo Telematicus e` nato con l'aiuto di... Editor digitalis: Maurizio Codogno | * I collaboratori dai network: * Editor binus: Renato Rolando | Editrix (!): Antonella Erriu | Vertigo (331/301) Editor narrans: Andrea Giotti | Giovanni Lopes (332/108.2) | Pietro Budicin (333/603) ############ ### ### 1 ### EDITORIALE ### ############ ### Carissimi lettori, come avrete oramai scoperto anche voi, il nuovo RC italiano e` Ermanno Ienci- nella, noto rappresentante genovese Fidonet. Questo perlomeno se le notizioe giuntemi sono corrette - non ho fatto in tempo a ricevere la comunicazione uf- ficiale nelle aree sysop. Tanti auguri a Yency, anche se sappiamo che una per- sona di peso come lui non avra` troppi problemi. Per il resto, in questo numero potrete sapere come finisce il racconto telematico di Andrea Giotti, scoprirete finalmente che cosa dovrebbe essere ISDN, se non sono riuscito a nasconderlo troppo bene, e per la prima volta nella breve storia di Telematicus abbiamo un articolo scritto da una gentil donzella. Lascio agli psicologi e dietrologi che leggeranno l'articolo il com- pito di rispondere alle angosciose domande sul tipo di rapporto intercorrente tra RRE e la tipa in questione - per quanto ne so io, potrebbe anche trattarsi di uno sdoppiamento di personalita`... ciaociao .mau. ############ ### ### 2 ### CHE COS'E` ... ISDN ### ############ ### Ebbene si`. Anche se bruciati al fotofinish da nazioni tecnologicamente avanzatissime come la Spagna, ed evitando il piu` possibile di rendere nota la cosa - per ragioni che saranno spiegate nel seguito - anche l'utente telefoni- co italiano ha la possibilita` di richiedere un collegamento ISDN, la terra promessa della telefonia di base secondo i resoconti degli ultimi anni. Ma sa- ra` poi vero? Innanzitutto, ISDN significa Integrated Services Digital Network, vale a dire rete digitale a servizi integrati. Le parole chiave sono per l'appunto "servizi integrati": in fin dei conti gia` adesso molte linee sono numeriche, ma l'uso che di esse viene fatto in ISDN e` molto diverso. Mentre ad esempio adesso a seconda delle proprie necessita` l'utente poteva richiedere una linea voce, una linea fonia dati a quattro fili oppure un collegamento a pacchetto X29 (Itapac, per gli amici), con ISDN avra` un'unica linea che permettera` tutte queste cose. Un altro punto di forza sara` l'internazionalita` di ISDN: mentre le li- nee telefoniche normali standard sono nate e cresciute nei vari paesi per con- to loro, ed e` virtualmente impossibile ottenere una unificazione - pensate ad esempio al prefisso per le chiamate internazionali, che in Italia e` 00, men- tre in Francia e` 19, nel Regno Unito 010 e negli Stati Uniti 011 - lo stan- dard ISDN e` nato a tavolino nel corso delle interminabili riunioni degli or- ganismi di standardizzazione, e l'Europa ha creduto fortemente nelle possibi- lita` del sistema, anche quando gli Stati Uniti nicchiavano e il Giappone sem- brava procedere per conto suo. Spero comunque che non vi scandalizzerete a sentire che sembra che in Italia la segnalazione non sia propriamente stan- dard... In ogni caso, se un utente di una grande rete (al momento Bari, Bologna, Genova, Milano, Napoli, Palermo, Pisa, Roma, Torino, Trento e Venezia; tra la fine del 1992 e il primo trimestre 1993 si aggiungeranno Bergamo, Brescia, Bo- lzano e Modena) va alla Sip e chiede un accesso ISDN, gli arrivano in casa i tecnici e si trovera` una linea a quattro fili, a differenza dei due fili usuali, e un numero di telefono a prima vista uguale a quelli soliti. La dif- ferenza e` che a questo numero corrisponde una banda di 128 Kbit/sec piu` un canale a pacchetto della capacita` massima di 16 Kbit/sec. Nel gergo ISDN, questo viene detto "accesso di base" e indicato come 2B+D, dove i canali B so- no per l'appunto sincroni a 64 Kbit/sec, pari cioe` alla capacita` di una li- nea telefonica usuale, e i D sono i canali dati. La cosa piu` bella e` che al- la Sip non importa assolutamente nulla di come l'utente voglia utilizzare i suoi 144 Kbit/sec. Puo` avere due linee telefoniche normali; una linea normale e una ad "alta qualita`", visto che le nuove tecniche di compressione permet- tono di stipare nei canonici 64 Kbit/sec una banda di 7 KHz; un videotelefono; un fax di gruppo 3 o magari del nuovo gruppo 4 le cui specifiche sono uscite da poco, e che permette di sfruttare la maggiore capacita` di linea tanto che potrebbe spedire un foglio A4 in tre/quattro secondi; oppure se preferisce aprirsi un bel BBS con otto modem a 14400 - tutti che rispondono allo stesso numero. L'unica limitazione e` che non si possono avere piu` di otto apparec- chiature collegate contemporaneamente. Chi e` arrivato a leggere fino a qui e non si e` ancora addormentato ha sicuramente avuto un lampo di genio: ma il modem serve appunto a "modulare" il codice digitale e renderlo analogico, proprio per usare le linee telefoniche. Con la rete digitale, cosa me ne faccio dei modem e soprattutto come faccio ad attaccarli? Per quest'ultima domanda la risposta e` cosi` scontata da sembrare uno scherzo: esistono in commercio degli adattatori di terminale (TA, Terminal Adaptor) che servono proprio a prendere il segnale analogico e ritrasformarlo in digitale, senza spurie visto che opera in locale. E i TA sono nati proprio per fare si` che quanto era gia` stato acquistato per le reti analogiche si possa piu` o meno riciclare. Un altro punto di forza di ISDN sta nella possibilita` di creare nuovi servizi a valore aggiunto in maniera piu` semplice di quanto capiti adesso; ad esempio si potranno bloccare le telefonate fatte da alcuni numeri, oppure sfruttare le due linee telefoniche una in ingresso e una in uscita per smista- re una telefonata in una localita` remota, o fare una vera e propria conferen- za. Se poi l'utente e` una grande societa`, esiste anche la "formula conve- nienza": si chiama accesso primario e prevede 30 canali B e uno D a 64 Kbit/sec, per un totale di 2.048 Mbit/sec (questo in Europa: negli Stati Uni- ti, per ragioni storiche, si sono limitati a 23B+D per un totale di 1.544 Mbit/sec). E addirittura c'e` la possibilita` di crearsi una sottorete virtua- le... Veniamo alla nota solitamente dolente in questi casi, il costo. Beh, per una volta devo dire che le tariffe sono decisamente interessanti, se si tiene conto che la capacita` di linea e` 2.3 volte quella di un telefono standard. Il costo di installazione e` infatti di 400.000 lire, il doppio di un'utenza affari, e il canone mensile di 50.000 lire, 2.3 volte quello dell'utenza affa- ri. Se poi il raffronto viene fatto con Itapac oppure con la RFD a quattro fi- li, il risparmio e` notevolissimo. E pensate che addirittura il costo di installazione e` minore *in valore assoluto* rispetto ad esempio a quello inglese! E` anche vero che in Francia e Germania e` meno della meta` nonstante l'ultima svalutazione della lira, ma ogni tanto bisogna sapersi accontentare di quello che passa il convento. Peccato pero` che al momento i terminali siano molto rari e costino mol- tissimo: il che torna anche abbastanza utile alla Sip, visto che al momento gli accessi di base sono circa 7000 e dovrebbero salire a 9466 (12000, consi- derando anche l'equivalente degli accessi primari) per marzo 1993. Questo men- tre al giugno scorso la Francia ha installato il suo 250.000simo accesso di base. Insomma, non penso proprio che per i prossimi due-tre anni potremmo ve- dere un bel bbs su ISDN! ciaociao .mau. ############ ### ### 3 ### IL WC-DOS DI RRE ### ############ ### WC-DOS delle mie p...rame ------------------------- Finalmente! Cari CESSY_DOSSIANI, ho scritto solo uno stupido articolo e gia' sono stato sommerso di valanghe di matrix: chi mi diceva che il 286 era ancora stupendo, chi che senza 586 non poteva vivere, chi che si usa i 50Hz per lavarsi i denti... rignrazio tutti, siete molto cari. Brutti fetenti. Scherzi a parte uno mi ha scritto, scusandosi per il ritardo (era andato in vacanza), e per aver letto solo ora - era settembre - Telematicus. Purtrop- po un'ora dopo mi sono formattato la mia base messaggi (che tengo su disco) e -oltre a tutta la posta, matrix etc. etc.- ho perso anche il suo messaggio ;( [NdE: questa si chiama Volonta` Divina, secondo le leggi di Murphy]. Mi sembra si chiamasse Paolo. Scusa Paolo per non averti risposto, ma sono un casina- ro... se mi rimatrixi ti rispondero' volentieri. Tra l'altro mi diceva di usare il Cessy-Dos solo per lavoro, e che a casa aveva l'Amiga... Ma torniamo a noi; avevo promesso dei bei articoletti su WC_Windows, anzi ATPqTrS_WC_Windows ("ATPqTrS" rappresentano la semplicissima ed immediata no- tazione per fare capire che la funzione deve essere chiamata una volta come puntatore far mettendosi a testa in giu'; che subito dopo bisogna attendere il messaggio MAV_AFF su di una sola gamba; al che si puo' cominciare a chiedere se possiamo caricare il primo cluster col messaggio MAP_OSS. Se possiamo ri- ceviamo il messaggio MAPR_EG). Chiaramente sto scherzando... ma neanche poi tanto. Spero tu non sia nella cerchia degli sventurati che ha osato installare sul proprio WC-PC (leggasi VUCI-PICI) la release 7.0 del Microsoft C/C++ col portentoso SDK. Chiaramente no, altrimenti saresti ora in preda a crisi de- pressive e certo non mi leggeresti. [NdE: piu` che altro, non avrebbe piu` al- cuno spazio libero su disco per scompattare telematicus] Se vuoi un fraterno consiglio da amico chiappati almeno il TurboC++ della Borland per Window 3.0. Escludendo i pregi - che esaminero' in seguito - ha il grandissimo difetto di non avere l'interfaccia anche per DOS; vabbe' che originale costa poco (120KLire) pero' non e' divertente doversi comprare lo stesso compilatre per DOS. Se qualcuno ha qualche suggerimento da darmi (o il numero di telefono della Borland) avra' la mia eterna gratitudine. Comunque il grosso pregio e' di essere Object Oriented, ovvero - in sol- doni - di nascondere la maggior parte del troiaio che e' WC-Window. I manuali sono inoltre piuttosto buoni ed esplicativi. Insomma un buon acquisto. Certo scordati di fare altro - siamo mica su Amiga - mentre il tipo compila. E poi me lo chiamano un multitasking... [NdE: sei tu che ti ostini a usare windows invece che OS/2 2.0 o 386BSD o Linux o persino Coherent... nemmeno la Micro- soft osa definire windows come un multitask, ma parla semplicmente di task switching] Comunque volevo cominciare con alcune storielle riguardo al WC-Window (che d'ora in poi chiamero' amichevolmente - ma mica tanto - WCWnd) ed intro- durre, cosa che sicuramente gia' conoscerai, la programmazione OO (object oriented). Il WCWnd e' nato male e, sempre in nome della compatibilita' (ma verso chi?), e' cresciuto peggio. Quelli della Microsoft hanno avuto una pensata ge- niale; invece di instaurare un multitask come si deve hanno pensato che se i programmi si fossero comportati bene, ovvero ogni 3 istruzioni avessero ri- chiesto un messaggio, allora sarebbe stato molto facile al kernel di Window non rispondere al messaggio e bloccare in questo modo il task. E cosi' hanno fatto fregandosene come loro solito delle conseguenze sul programmatore. Ora la situazione sino al 3.0 era appunto quella. Se un programma faceva un loop infinito, ad es. for (i=1; i<=2; ) ; tutto WCWnd si inchiodava !! :) L'unica era dare un bel reset. Poi e' arrivato il 386 e WCWnd sarebbe stato anche in grado di mandare 2 task in contemporanea, se le risorse lo avessero permesso... chiaramente non lo permettevano. Ora e' arrivato WCWnd 3.1 e tutto e' cambiato! Pensa che ora possono ac- cedere alla routine grafiche del sistema fino a 5 programmi alla volta prima di inchiodare tutto!! Favoloso... (e per l'altra campana raccomando un arti- colo del Russo apparso tempo fa su Telematicus, anche se e' per tutte le GUI). Ma non divaghiamo. Fatto e' che col 3.1 e' cominciata ad arrivare una parvenza di multitasking (e ragazzi ho 8Mb di RAM quindi non puppatemelo con scuse di HD swapping) ma la storiella dei messaggi e' rimasta; il tutto si e' irrobustito ma la struttura a messaggi e' rimasta! Il tuo programma su WCWnd deve quindi costantemente vedersela con una TONNELLATA di messaggi provenienti da sistema; messaggi di cui non ti freghe- ra' nulla (l'utente ha cambiato colore dello schermo, ha attivato un'altra fi- nestra non tua, si sta soffiando il naso...) e che non ti sei mai sognato di chiedere, ma che devi gestire per permettere al kernel il task switching... Ora nel TC++ queste ed altre porcherie immonde (all'insegna dell'effi- cienza) sono mascherate e tu puoi anche non conoscerle e credere che quel ler- ciume possa assurgere al rango di miglior sistema operativo che salvera' l'u- manita' dalla catastrofe... contento tu. Comunque alcuni programmatori seri, preoccupati dalla piega che stava prendendo WCWnd ed altre amenita' simili (gente che giocava a fare il software piu' grosso del mondo e poi cominciava solo piu' ad inserire bug su bug nel sorgente ed i missili cadevano...) pensarono ad un modo piu' pulito per pro- grammare. Facendovela breve sembra che l'abbiano trovato e che stia invadendo il mondo con la sua luce purificatrice: OOP (programmazione orientata agli og- getti). Ora, scherzi a parte, sono convinto che possa essere una soluzione valida (con una bella lista di 'SE' da seguire scrupolosamente) per problemi di inge- gnerizzazione del software. Sono convinto che sia l'unica soluzione (`Case' molto potenti e costosi a parte) per programmare sotto WCWnd. Ma non sono convinto che debba diventare il nostro modo giornaliero di programmare. Comunque in cosa consisterebbe questa benedetta OOP? Presto detto: inca- psulamento, ereditarieta', polimorfismo. Se brami conoscere qualcosa di piu' a riguardo, leggiti l'articolo sul- l'OOP in questo numero (o in un prossimo futuro): "All' OOP non si comanda". Invece se ormai sei un professionista sappi che il C++ offre anche questa possibilita'; come diceva il Russo nel suo articolo nei linguaggi tipici come il C la tua Window deve mettersi in attesa di un evento e scegliere cosa farne a seconda. Bene in C++ tutto questo e' mascherato. E' il compilatore che si preoccupera' di chiamare direttamente le tue funzioni, preoccupandosi di ri- spondere automaticamente a tutti i messaggi inviati da WCWnd ma non richiesti da te... e scusa se e' poco. RRE 2:334/100.9 ciao ciao maramao 2:334/21.3 ############ ### ### 4 ### OOP DELLE MIE BRAME ### ############ ### All' OOP non si comanda ----------------------- Ed eccoci qua, care muffolette sgarrupate, impegolati nel nuovo potentis- simo modo di fare sesso: l'OOP. L'OOP permette 3 innovative posizioni che mi accingo or ora a trattare: l'INCAPSULAMENTO, l'EREDITARIETA' ed il POLIMORFISMO. Scopo del tutto e' isolare le variabili globali tramite programmi d'in- terfaccia che le gestiscano ed evitino a chiunque di fare scorrettamente - o dimenticarsi di fare - operazioni vitali per il loro corretto stato. Il tutto e' riassumibile in questo semplice schema: programmi <--> interfaccia <--> variabili cioe` i programmi non possono accedere direttamente alle variabili. Il pacchetto interfaccia-variabile viene visto dalle routines del pro- grammatore come un tutt'unico, senza doversi preoccupare del suo funzionamento interno; questo mascheramento e' detto INCAPSULAMENTO. L'insieme interfaccia- variabile rappresenta una CLASSE; le routines che fungono da interfaccia ven- gono chiamate METODI. Ma questo ricorda troppo il concetto di libreria, ed effettivamente la storia non finisce qui: e' possibile (senza avere i sorgenti della classe) mo- dificare il comportamento dei metodi (e quindi come questi interagiscano sui dati) aggiungendone di nuovi, eliminandoli o mutandoli. Si effettua ereditando tutta la classe strettamente precedente e modificando le parti di interesse. Questa e' l'EREDITARIETA'. Attraverso questo metodo si possono definire veri e propri ALBERI GENEALOGICI. Ho parlato di classe precedente perche' non e' detto che si debba costru- ire un'istanza partendo dalla prima classe definita (dalla radice dell'albe- ro), si puo' definire partendo da sottoclassi di classi (per esempio dalle fo- glie) ereditando tutti gli elementi aggiunti durante la formazione dell'albe- ro. Addirittura alcuni linguaggi (come il C++) permettono di costruire una nuova classe ereditando contemporaneamente da classi di famiglie diverse (Es.: mammiferi + pesci = cetacei -> balena). Tutti sono concordi nel ritentere che il momento piu' arduo della pro- grammazione ad oggetti sia l'individuazione delle classi. Oggigiorno si proce- de scegliendo la rappresentazione che astragga nel maggior modo possibile l'entita' che si vuole rappresentare (la CLASSE ASTRATTA) derivando da essa le classi che intendiamo veramente usare (le ISTANZE). Comunque sono ancora problemi aperti, l'ambiente accademico e' diviso, non e' stata ancora sviluppata nessuna teoria che dimostri quale sia il metodo migliore, se top-down o bottom-up. Ad esempio facendo una classe astratta di figure geometriche e' il Cubo a dover essere ereditato dal Rettangolo o vice- versa ? e per il Cerchio e l'Ellisse ? Urge - lo vedo dal tuo sguardo vacuo - un esempio (il solito esempio de- gli animali :)). Devo gestire uno Zoo, mi faccio la mia bella classe generica Animali; un animale avra' un nome, fara' un verso, si muovera' in un certo mo- do, mangera' determinate cose, avra' un certo aspetto etc. classe Animali abitazione = "vivo in uno Zoo" esprimiti mangia muoviti mostrati etc.. Ora, a partire dalla mia classe generica in cui ho incapsultato le fun- zioni che m'interessavano derivo tutti gli animali del mio zoo specificando le caratteristiche di ognuno. classe Animali -> iena iena.esprimiti = "Hieieieieiii" iena.mangia = "mangio solo cadaveri di WC-Dossiani" iena.muoviti=... classe Animali -> serpente serpente.esprimiti = "ssssshhh" serpente.mangia = "mangio solo uova di WC-Dossiani" ... Ecco fatto: col mio linguaggio assolutamente inventato ho definito due istanze (ovvero due incapsulati) della mia classe Animale. Hanno un metodo (procedura) in comune che e' Animale.abitazione che quindi non ridefinisco ogni volta, ma tutte le altre sono state ridefinite durante la dichiarazione dell'animale. Ho EREDITATO le cose che m'interessavano dalla mia classe astratta e ridefinito quelle che sono caratteristiche dell'oggetto che sto considerando. Ma la cosa non finisce qui: ad esempio posso con un 'for' far parlare tutti gli animali del mio Zoo: // faccio un Array dei miei animali struct Animali *Animali[2]; Animali[0] = iena; Animali[1] = serpente; // e poi il for for(i = 0; i<2; i++) Animali[i].esprimiti; ed il risultato sara': Hieieieieiii ssssshhh Ora, in un linguaggio cristiano si sarebbe ottenuta la stessa cosa di Animali[i].esprimiti con: switch (Animale[i]) { case iena: iena.esprimiti; break; case serpente: serpente.esprimiti; break; } Questo comporta il fatto che nel linguaggio per cristiani bisogna consi- derare tutti i possibili casi, mentre in quello OOP saranno gli oggetti stessi a comportarsi secondo loro natura. Questo comportamento e' chiamato POLIMOR- FISMO. Il piu' immediato vantaggio e' il non essere costretti a rivedere gran parte del codice ogni volta che si introduce un nuovo animale. C'e' ancora un ultimo elemento innovativo che i sacri testi trattano po- co, almeno durante la presentazione iniziale dell'OOP e che secondo me risulta invece fondamentale. Il fatto che la tipica programmazione sequenziale perda d'importanza; non si programma piu' pensando ad un filo logico che il program- ma dovra' seguire, ma si pensa a come collegare tra loro i vari oggetti. Sono le varie istanze create che cominceranno a chiamarsi tra loro a se- conda del verificarsi di eventi, spesso casuali. Sempre nel nostro esempio dello Zoo potrebbe esserci un bambino che, tramite terminale, vuole avere in- formazioni su un determinato animale. Oppure un utente che nel nostro program- ma CAD OOP crei un trapezio, ottenuto come triangolo + rettangolo. In questo caso non solo l'evento ma anche il tipo di oggetto da manipolare non e' cono- scibile a priori (comunque grazie al polimorfismo del tutto trasparente al no- stro programma che non dovra' mutare una linea di codice !!). OK, OK ho fatto un gran casino, ma non e' facile. Le cose da dire sono tante e le righe poche... (come scusa e' perfetta) ci vediamo alla prossima. Intanto se vuoi capirci qualcosa di piu': BIBLIOGRAFIA: OOP Corrado Giustozzi, Sergio Polini. Monografie di MC, Technimedia. C++ corso di programmazione. Stanley B.Lippman. Addison-Wesley. E' molto ben fatto ma tipo il C di Kernigham e Ritchie, lo capisci al volo solo se sapevi gia' tutto prima, altrimenti ti irrobustirai un po' le gengive... Dubbi, suggerimenti etc. ficcateli nel... matrix di RRE. :) Antonella Erriu oamaram oaic oaic ############ ### ### 5 ### IL RACCONTO TELEMATICO ### ############ ### "Z" - Capitolo 5 ---------------- - Ma lei e` matto! A quest'ora? - Il casco ritornera` nelle mani di Pivone, domattina. Cioe`, questa mat- tina. E per allora dobbiamo averlo trasformato in un inconfutabile elemento di prova. Non avremo occasioni per tener sveglio il giudice fino alle tre. E non ritengo opportuno telefonargli adesso, con niente in mano. - Lasci almeno che mi vesta. Andiamo alla centrale? - Dottor Schaffembaum, non dica fesserie! Faremo tutto da qui. Si faccia dare in linea la libreria assassina. Usi pure la mia password. Passarono lunghi minuti di silenzio, mentre i due scorrevano pagine e pa- gine di funzioni. Schaffembaum talvolta bofonchiava un "banale", ma non si az- zardava ad ulteriori commenti. Alle cinque del mattino, la sua fede nelle con- venzioni non era salda come durante l'orario di lavoro. - Passiamo alle definizioni elementari. I preliminari del setup. - Ma cosa crede di trovarci? Eccoci al punto. "Creazione di un sistema di riferimento cartesiano. Definizione della base ortonormale". I genera lungo l'asse X, poi viene J lungo la Y... - Versori a prodotto scalare nullo? - Gia`, cosa si aspettava? Infine K, lungo la Z... prodotto vettoriale dei primi due. Poi, per passare in coordinate lagrangiane, si definiscono gli angoli di Eulero: Phi, Theta, Psi... - Ho fatto qualche ricerca sul nostro indiziato. Dottore, lei sapeva che Marana e` mancino? - No, e non vedo... oh, no! Non puo` essere cosi` banale. - Sara` un inferno dimostrarne la colpevolezza, ma forse riusciremo ad inchiodarlo. Posso scordarmi la premeditazione, ma ci dovrebbero essere gli estremi per un omicidio colposo. Ma Schaffembaum non lo ascoltava piu`. Scuoteva la testa, borbottando frasi incomprensibili. Quelli come lui erano tragicamente impreparati ad af- frontare le soluzioni banali, ed adesso sentiva sulle spalle il peso dei pro- pri limiti. Provava qualcosa, forse odio, per il problema che lo aveva scon- fitto con tanta facilita`. Che avrebbe sconfitto cento altri come lui, per i quali la destra non era diversa dalla sinistra. E la sua rabbia emergeva a ma- no a mano che provava i prodotti vettoriali di mille versori arbitrari. Terne destrorse, terne sinistrorse. Quanti meno sfuggono davanti alle quantita` relative, rifletteva stancamente Tersi. Con quanta facilita` Z pote- va trasformarsi in -Z, e troncare la vita di un uomo. Rincaso` ad alba fatta. Mentre si spogliava in soggiorno, si ripromise di verificare l'orario dell'ultimo blackout. Non che fossero eventi rari, da quando l'ennesimo referendum aveva messo al bando anche nafta e torba. Ma una interruzione in quelle stesse ore avrebbe potuto rendere il casco quasi indi- spensabile, per trovare la strada verso la camera da letto. Verso un meritato riposo, che si sarebbe trasformato in eterno. I raggi del sole filtravano attraverso le persiane accostate, dipingendo striature irregolari sul parquet. Bastava la luce di una candela ad un chilo- metro di distanza, come diceva la pubblicita`. Come bastava far partire qual- che grande macchina al momento giusto, per mettere fuori servizio la rete elettrica regionale. Illazioni, che avrebbero pero` meritato attenta verifica in cima ad un'altissima torre in vetroresina. La moglie lo attendeva sveglia, e riconobbe subito il sorriso di amara soddifazione che segnava il volto dell'ispettore Franco Tersi per la felice conclusione di un caso. Fu lei, come sempre, a sollecitarlo mentre si accende- va la pipa. - Trovato qualcosa? Ci fu una lunga pausa, pienamente meritata dopo quella lunga notte spesa a cavallo tra due universi. - Mai provato a salire una scala che scende? ############ ### ### 6 ### VIVAMIGA ### ############ ### Amiga Gadgioso -------------- Bene schifezzuole, dopo la sfuriata dell'altro numero sappiate che ... non e' cambiato nulla. Nessuno mi ha matrixato a riguardo ne' scritto `banfo- ne' o cose simili. Anzi nessuno si e' accorto del mio sfogo :( Poi mi sono ricordato di un Grande, un Mito. E' un personaggio che ha scritto uno stupendo manuale sul DOS; naturalmente PD. Ed ho pensato che se a tutt'oggi l'Amiga puo' vantarsi solo di coglioni che hanno come unico scopo dichiarato quello di provare le ultime beta versioni del kick, potrebbe darsi che un giorno o l'altro qualche pirla cerchi anche di programmarlo. Ebbene in memoria di quell'unico Pirla (merita rispetto) mi accingo ad iniziare questo nuovo articolao. Due numeri addietro avevo parlato dei vari gadget OO (object oriented, niurant) che sono messi a disposizione dal SO dell'Amiga. Avevo accennato al LISTVIEW_KIND. Il listcomecavollo presenta in un terminale a caratteri il se- guente aspetto: +--------------+-+ 2 righe di bordo | Voce 1 |*| | Voce 2 |#| <-- presa per scorrere le liste | ... |#| <-/ | ... |*| : : : : : : | ... |*| | Voce n |*| +--------------+-+ 4 righe di bordo |Voce scelta |^| <- cursori per scelta fine +--------------+-+ 2 righe di bordo e ha chiaramente un po' di gadget assieme con diverse possibilita' cari- ne. Manca la possibilita' di spostare le voci verso destra, potendo cosi' leg- gere tutto il contenuto di una voce che superi la dimensione massima visualiz- zabile; e' una grossa pecca. Invece, contrariamente al cesso di Windows ed a quanto ne so anche al Mac, la presa per scorrere le liste si dimensiona rappresentando la percentua- le di voci visualizzate rispetto al totale percorribile. Fornisce quindi una segnalazione in piu' molto preziosa; il fatto che non appaia negli altri si- stemi e' un po' straniello. Anche perche' TUTTI i gadget dell'Amiga, anche non ottenuti da SO, lo possiedono. Comunque - benche' l'Amiga non vedra' mai probabilmente un C++ degno di tale nome - [NdE: non esistono porting di g++ per l'Amiga?] volevo lasciare alcune funzioni OO (pallose) che sicuramente potrebbero semplificare molto la vita al programmatore. Il gadget deve ovviamente (matematico) poter accedere alla lista delle voci e queste devono essere gestibili in un qualche modo. Quando si inizializ- za il gadget si passa un puntatore ad una lista linkata. La struttura - repe- ribile negli include: vedi exec/lists.h - e' la seguente: /* * Full featured list header. */ struct List { struct Node *lh_Head; struct Node *lh_Tail; struct Node *lh_TailPred; UBYTE lh_Type; UBYTE l_pad; }; /* word aligned */ Ok, ora che l'avete vista dimenticatela (altrimenti che OO sarebbe). In un qualsiasi programma bisogna non solo inserire la prima volta le voci in questa lista, ma sarebbe bello poterle togliere ed aggiungere a piacimento, sapere quale voce e' stata selezionata, se una voce e' presente nella lista ed a che altezza (a che numero) etc. Ebbene, si da il caso che vi stia per fornire proprio queste routines e che essendo OO queste valgano non solo per una Lista, ma per un numero teorico infinito di liste con altrettanti infiniti gadget (chiaramente un gadget per ogni lista). Vabbe`, non e' proprio OO: ai dati puoi accedervi tranquillamente e non tutto e' proprio nascosto, ma e' gia' qualcosa di valido. Per fare cio' ho costruito un nuova struttura, e al suo interno ho posto gli elementi necessari per gestire una lista ed il suo gadget corrispondente con la sua Window corrispondente. Ecco il file List.h : /* The management struct of List. Use it for gestion of a LISTVIEW_KIND * gadget */ struct ManageList { struct List List; // The List pointer struct Remember *Remember; // The Remember of List // This is for the Gadget struct Window *Window; // The Wnd of Gadget struct Gadget *Gadget; // The View Gadget pointer // Flags of controll WORD MustSave; // TRUE if the list is updated WORD ItemNum; // Number of item in list }; La prima voce e' la struct List, la seconda serve per la gestione della memoria allocata, in modo da rilasciarla tutta senza casini, segue il puntato- re alla Window, al Gadget ed alcuni flag che potrebbero essere utili (si po- trebbe risparmiare memoria a riguardo, ma non ne avevo voglia :) ). Ora ecco la funzione per creare una lista, e' il file AtcList.c : #gli altri include cercateli :) #include "List.h" // My Struct definition struct ManageList *BuildList(struct Window *MyWnd, struct Gadget *MyGad) /************************************************************************ * Build a New Manager List * Must receive a pointer to a list, take the mem and compile it. Return * the address or Null if something was wrong *************************************************************************/ { struct ManageList *MyManList = NULL; if(! (MyManList = (struct ManageList*)AllocMem(sizeof(struct ManageList), MEMF_CLEAR)) ) return (FALSE); /* Build The struct */ NewList(&MyManList->List); MyManList->Window = MyWnd; MyManList->Gadget = MyGad; /* MustSave & ItemNum are == 0 */ return(MyManList); } Qualcuno avra' notato che la struct List e' allocata, e non vi e' un pun- tatore. Il perche' e' presto detto: il NewList() del SO vuole una List gia' allocata, ed in questo modo si fa prima :) Nota che gli passi anche il Pointer alla Window ed al Gadget della tua lista e che tutto il resto, avendo dato un MEMF_CLEAR e' posto a 0. E questo serve (chiaramente) a liberare la memoria della lista. VOID FreeManList(struct ManageList *MyManList) /************************************************************************ * Erase a list from memory *************************************************************************/ { if (MyManList) // Paranoic Safe { if (MyManList->Remember) FreeRemember(&MyManList->Remember, TRUE); FreeMem(MyManList, sizeof(struct ManageList)); } } Ora vediamo le routine per aggiungere una voce e per toglierla: BOOL AddItem(struct ManageList *MyManList, char *name) /************************************************************************ * Add an element to list *************************************************************************/ { struct Node *node; /* Get memory for Node */ if(! (node = (struct Node *)AllocRemember(&MyManList->Remember, sizeof(struct Node), MEMF_CLEAR)) ) return(FALSE); /* Add node to tool list */ node->ln_Name= strdup(name); DetachList(MyManList); /* Detach list from ListView gadget */ AddTail(&MyManList->List, node); AttachList(MyManList); /* Attach list to ListView gadget */ MyManList->MustSave = TRUE; MyManList->ItemNum += 1; return(TRUE); } VOID DelItem(struct ManageList *MyManList, UWORD code) /************************************************************************ * Del an element from list *************************************************************************/ { struct Node *node; for(node = MyManList->List.lh_Head; node->ln_Succ != NULL; node = node->ln_Succ, code--) { if(code == 0) { DetachList(MyManList); Remove(node); AttachList(MyManList); MyManList->MustSave = TRUE; MyManList->ItemNum -= 1; break; } } } Queste routines non sono nulla di trascendentale, si chiama pero' il De- tachList(MyManList) e l'AttachList(MyManList). Ebbene, dato che il SO vuole che si debba isolare la lista dal gadget prima di modificarla, le procedure fanno questo: VOID DetachList(struct ManageList *MyManList) /************************************************************************ *************************************************************************/ { if(MyManList->Window) // Safe test GT_SetGadgetAttrs(MyManList->Gadget, MyManList->Window, NULL, GTLV_Labels, ~0, TAG_DONE); } VOID AttachList(struct ManageList *MyManList) /************************************************************************ *************************************************************************/ { if(MyManList->Window) // Safe test GT_SetGadgetAttrs(MyManList->Gadget, MyManList->Window, NULL, GTLV_Labels, &MyManList->List, TAG_DONE); } nota l'ulteriore controllo (non si puo' staccare un Gadget che non c'e' ancora!) per evitare che uno che prima costruisce la lista e poi l'attacca al gadget faccia casini nel sistema... Chiaramente il tutto non termina qui, ma visto le 220 righe dell'artico- lao qui mi fermo. Nel prossimo numero descrivero' come il tutto funziona, al- cune altre funzioni di cui non ho parlato e come sapere con precisione la di- mensione del gadget in rapporto al font usato etc. etc. So che tu - lettore Pirla - stai fremento d'impazienza. Ebbene tutto cio' lo puoi vedere funzionante (sorgente incluso) in AttachII, disponibile appena ne avro' voglia (e funzionera'). AVE con tanta acqua minerale RRE 2:334/100.9 2:334/21.3 ############ ### ### 7 ### CURIOSITA`: UNA COKE MACHINE SU INTERNET ### ############ ### Quanto segue e` stato postato intorno a Ferragosto da un utente austra- liano (edp328j@monu6.cc.monash.edu.au) nell'area USENET dedicata allo discus- sioni avanzate su Unix. Come potete vedere, non e` che nemmeno li` si rimanga sempre nel tema principale della conferenza... Ho voluto comunque tradurvi il brano perche` penso che sia molto istrut- tivo sulla mentalita` che possono assumere quelli che magari sarebbero stati dei bravi ragazzi se solo non avessero avuto una passionaccia per i calcolato- ri... (e per la Coca Cola) ----------------------------------------------------------------------- L'unica distributrice di Coca Cola su Internet. Da tempo immemorabile (beh, magari dal 1970) il dipartimento di informa- tica della Carnegie-Mellon University ha mantenuto una macchina distributrice di Coca Cola che vende bottigliette di Coca Cola per una decina di cent in me- no che le altre macchine intorno al campus. Visto che nessun Vero Programmato- re puo` funzionare senza caffeina, la macchina e` molto popolare. (Se ben ri- cordo, ha avuto il piu` grande volume di vendita tra tutte le distributrici di Coca Cola nell'area di Pittsburgh). La macchina viene caricata in maniera piuttosto casuale da volontari tra gli studenti degli anni superiori. A meta` degli anni '70, l'espansione del dipartimento fece si` che gli uffici dei ricercatori venissero spostati sempre piu` lontano dalla sala ter- minali principale dove stava la distributrice. Era piuttosto scocciante farsi tutto il giro dal terzo piano solo per trovare la macchina vuota - o peggio ancora, tirarsi fuori di tasca le monete faticosamente guadagnate per ricevere una bottiglietta appena introdotta nella macchina, e percio` calda. Un giorno, un paio di amici si riunirono per trovare una soluzione. Essi installarono dei microswitch nella distributrice, per controllare quante bottiglie erano presenti in ciascuna delle sei colonne di bottiglie. Gli switch furono poi collegati a CMUA, il PDP-10 che allora era il calcolato- re principale del dipartimento. Venne poi scritto un programma che manteneva delle statistiche sullo stato della macchina, che tra l'altro includevano da quanto tempo ogni bottiglia era presente nella macchina. Se si faceva partire il programma gemello di informazioni, si otteneva una schermata piu` o meno come la seguente: EMPTY EMPTY 1h 3m COLD COLD 1h 4m In questo modo si sapeva che la Coca Cola fresca si poteva ottenere schiacciando i pulsanti in basso a sinistra e in basso al centro, mentre le bottiglie nelle colonne di destra erano state immesse solo da un'oretta e per- cio` erano ancora calde. (Penso che il display cambiasse dall'indicazione del- l'ora alla scritta COLD dopo che le bottiglie erano rimaste la` per tre ore). La parte finale del rompicapo servi` per far si` che la gente potesse controllare la situazione delle bottiglie di Coca Cola anche quando erano col- legate su un'altra macchina del dipartimento. Il server Finger di CMUA [NdE: finger e` il programma Unix che da` informazioni sugli utenti della macchina, tipo nome, cognome, se, dove e da quanto tempo e` collegato...] fu modificato per fare girare il programma di informazioni ogni volta che qualcuno chiedesse dell'utente non esistente "coke". Visto che le richieste fatte via finger sono parte delle procedure standard ARPANET (e ora di Internet), la gente poteva controllare la distributrice da un qualunque calcolatore della Carnegie-Mellon digitando semplicemente "finger coke@cmua". Anzi, se si voleva si poteva sape- re come stavano le bottiglie di Coca Cola da dovunque su Internet! Non che servisse poi a molto quando si era a qualche migliaio di chilometri di distan- za... Per quanto ne so, nulla di simile e` stato fatto altrove, quindi la CMU puo` legittimamente vantarsi di avere avuto l'unica distributrice di Coca Cola in Internet. Il programma per la distributrice di Coca Cola fu usato per piu` di dieci anni e fu persino riscritto per i Vax Unix quando CMUA fu smantellato all'ini- zio degli anni '80. La fine giunse solo un paio di anni fa, quando il locale grossista della Coca Cola non accetto` piu` le bottiglie con vuoto a rendere e con la forma di bottiglia di Coca Cola. La vecchia macchina non poteva gestire le nuove botti- glie dal vuoto a perdere e dalla forma completamente senza ispirazione, cosi` fu rimpiazzata da un modello piu` nuovo. Questo accadde non molto tempo dopo il fiasco della New Coke (indubbiamente il piu` grande esempio del secolo di "riparazione" di qualcosa che funzionava perfettamente). La combinazione di questi eventi lascio` gli amanti della Coca Cola della CMU abbastanza incavo- lati da far si` che nessuno si sia preoccupato di collegare i sensori alla nuova macchina. Posso non essere stato precisissimo sulle date, ma credo che tutti gli altri dettagli siano accurati. La man page per i programmi (Unix) di seconda generazione per la Coca Cola danno riconoscimenti per il lavoro hardware a John Zsarnay, e per il software a David Nichols e Ivor Durham. Non mi ricordo chi ha scritto i programmi originali per il PDP-10. Tom Lane ############ ### ### 8 ### IL GERGO HACKER - PARTE 17 ### ############ ### {= E =} [IBM: lett., terremoto] s. Il test terminale nel mondo reale (v. per l'hardware. Fonti hacker all'IBM negano la voce che il terremoto del 1989 nella Bay area sia stato creato dalla societa` per control- lare le proprie procedure di qualita` negli stabilimenti californiani. [Uovo di Pasqua] s. 1. Un messaggio nascosto nel codice og- getto di un programma per scherzo, lasciato per essere trovato da gente che disassembla o da` un'occhiata al codice. @. Un messaggio, disegno o effetto sonoro emesso da un programma (o, per un PC, dalla ROM del BIOS) in risposta ad alcuni insiemi di comandi o di tasti non documentati, lasciati come scherzo o per mostrare i collaboratori che hanno creato il programma. Un ben noto E.e. tra i primi comparsi, che si trovava in un paio di S.O., li faceva rispondere al comando "make love" (fate l'amore) con "not war?" (non la guerra?). Molti personal computer, oltre al PC IBM, hanno nelle proprie ROM degli E.e. molto piu` elaborati, comprendenti liste di nomi dei sviluppatori, esortazioni poli- tiche, brani musicali, e, in un caso, immagini grafiche dell'intera squadra degli sviluppatori. [IBM: fare uova di Pasqua] s. L'atto di rimpiazzare parti non correlate piu` o meno a caso, nella speranza che un malfunzionamento spa- risca. Gli hacker pensano che questo sia il normale modo operativo dei tecnici del , e non li amano per questa ragione. [IBM - mente a 80 colonne] s. Il tipo per cui la transizione dalle carte perforate al nastro e` stata traumatica (nessuno ha ancora osato parlare loro dei dischi). Si dice che questa gente, come (secondo una vecchia battuta) il fondatore dell'IBM, sara` seppellita `9-EDGE-FORWARD- FACE-DOWN'. Molti hacker pensano che questa gente domini la base utenti della IBM, e il suo pensiero. /el' k@-mee'noh big'num/ s. El Camino Real. El Camino Real e` il nome di una strada attraverso la penisola di San Francisco che ori- ginariamente si estendeva (e che ancora adesso compare a tratti) fino ad alcu- ne citta` del Messico. Le coordinate sulla penisola di San Francisco sono di solito fatte relative a El Camino Real, che si assume essere orientata nord- sud anche se in molti posti non lo e` affatto (vedi ). El Camino Real passa accanto alla Stanford University, e percio` e` familiare agli hackers. La parola spagnola `real' (con l'accento sulla a) significa regale; El Camino Real e` "la strada regale". Ma la parola inglese "real" e` usata in matematica per descrivere i numeri, e abusata in informatica per indicare i numeri floating point. In FORTRAN, ad esempio, una quantita` "reale" ha in genere sette cifre decimali di precisione, mentre un "double precision' ne ha magari 14. Quando un hacker dal MIT visto` la Stanford University intorno al 1976, noto` quanto lunga fosse El Camino Real, e come gioco di parole comincio` a chiamarla "El Camino Double Precision" - ma quando gli dissero che la strada era lunga centinaia di chilometri, la rinomino` "El Camino Bignum", e il nome rimase. (V. .) [dall'uso matematico: elegante] agg. Che combina semplicita`, potenza, e una certa ineffabile grazia di progetto. Piu` apprezzamento che con `clever', `winning' o persino . [elefantiaco] agg. Usato per programmi o sistemi che sono sia degli (a causa forse della pessima progettazione basata su ) ed eccezionalmente nel loro sorgente. Un pro- gramma e. puo` essere funzionale e persino amichevole, ma (come la vecchia battuta sul dormire in un letto con un elefante) e` in ogni caso scomodo da avere intorno, e spec. la sua manutenzione e` un casino. Si sa di casi estremi in cui hacker sono stati visti fare dei barriti o mimare tali animali quando certi programmi venivano nominati. Uso: semiumoristico. Confr. "ha natura ele- fantiaca" e il termine piu` peggiorativo . Vedi anche e . /ee'maks/ [da Editing MACroS, macro per editare] s. Il non plus ultra degli editori per hacker, un editor di programmi con un intero interpre- te LISP al proprio interno. Scritto originariamente da Richard Stallman in ai laboratori di AI del MIT, ma le versioni piu` usate girano oggi sot- to UNIX. Include la possibilita` di fare delle compilazioni e di spedire e ri- cevere posta; molti hacker passano fino all'80% del loro tempo al terminale usandolo. Alcune versioni che girano sotto un window manager lo iconificano come un lavandino di una cucina, forse per suggerire l'unica feature che l'e- ditor non include. A dire il vero, alcuni hacker trovano EMACS troppo pesante e barocco per i propri gusti, ed espandono il nome come "Escape Meta Alt Con- trol Shift" per prendere per i fondelli il suo pesante basarsi su complesse combinazioni di tasti. Altre espansioni di tale schiera comprendono Eight Megabytes And Constantly Swapping [ 8 MB (di RAM) e continua a swappare], Eventually malloc()s All Computer Storage [Alla fine si allochera` tutta la memoria del calcolatore], e EMACS Makes Any Computer Slow [EMACS rende un qualsiasi calcolatore lento] (v. ). Vedi anche . /ee-mayl/ vt.,s. Posta elettronica, passata automaticamente via reti di computer e/o linee telefoniche e modem. In contrasto a . V. . /ee-moh'ti-cahn/ [faccina] s. An insieme di caratteri ASCII usati per indicare uno stato emotivo nella email o nelle aree messaggi. Ne so- no state proposte centinaia, ma solo poche sono in uso comune. Tra queste ci sono: :-) Faccina sorridente (indica una risata) :-( Faccina triste (indica tristezza, rabbia o scocciatura) ;-) Occhiolino (v. ) :-/ Faccia storta Le prime due di queste si incontrano di gran lunga piu` frequentemente. Le forme senza il trattino sono comuni su CompuServe, GEnie e BIX; v. anche . Su , "smiley" [Sorriso] viene spesso usato come nome generico per una qualunque faccina. Nota per il novellino (v. ): usare troppo gli e. significa essere dei perdenti! Piu` di uno per paragrafo e` indice sicuro che si sta esageran- do. s. Una qualunque di una famiglia di simulazioni militari deriva- te da un gioco scritto da Peter Langston molti anni fa. Ci sono cinque o sei varianti per piu` giocatori di diverso tipo di sofisticazione, e una versione per un singolo giocatore implementata sia per UNIX che per VMS che e` persino disponibile come freeware per MS-DOS. Tutte queste versioni danno notoriamente assuefazione. /enkw/ [dal mnemonico ASCII per 0000101] 1. Una convenzione on-line per chiedere la disponibilita` di qualcuno. Dopo avere aperto una connessione con qualcuno apparentemente nel pieno dell'hacking, uno puo` scri- vere "SYN SYN ENQ?" (I SYN rappresentano bytes notazionali di sincronizazio- ne), aspettandosi una risposta di o NAK a seconda se la persona si sente o no interrompibile. Vedi ; confronta , , e l'uso di `FOO?' sotto la voce . /ee-oh-ef/ [UNIX/C] s. End Of File. 1. Si riferisce specialmente al pseudovalore ritornato dalle letture sequenziali in C, o dai loro equivalenti in altri ambianti, quando e` stata raggiunta la fine logica del file (valeva 0 nello Unix V6, e` -1 sotto V7 e tutte le versioni seguenti). 2. Usato per estensione in un contesto fuori dai computer quando un uomo sta facendo qual- cosa che puo` essere assimilato a una lettura sequenziale e non puo` piu` an- dare avanti. "Sai, sono andato a cercare una lista di mnemonici del 360 da postare come scherzo, ma ho raggiunto abbastanza in fretta l'; tutto cio` che la biblioteca aveva era un manuale JCL". /ee oh yoo/ Il mnemonico di un mitico carattere di controllo ASCII (End Of User, fine dell'utente) che una volta ricevuto faceva esplodere una Teletype Model 33. Una parodia dei codici oscuri rimasti nell'ASCII dai tempi in cui serviva piu` per le telescriventi che per i calcolatori, come FS, GS, RS, US, EM, SUB, ETX e sp. EOT). Vale la pena di ricordare che le ASR-33 erano enormi bestie meccaniche con moltissime parti in movimento; la nozione che una di esse potesse esplodere non era certo cosi` ridicola come potrebbe sembrare a qualcuno che sta oggi di fronte a un monitor (v. ). [UNIX: l'epoca] s. La data e l'ora corrispondenti a zero nell'orologio e nei valori di sincronizzazione temporale di un sistema opera- tivo. Sotto molte versioni di Unix, le 0:00 del primo gennaio 1970, GMT. Il tempo di sistema e` misurato in secondi o dopo l'epoch. Vedi , . Si noti che degli strani problemi possono risultare quando il clock ritorna a zero per avere passato tutti i valori possibili (v. ), e che questo evento non e` necessariamente raro: nei sistemi che contano 10 per secondo, un contatore a 32 bit dura solo per 6.8 anni. Il clock al secondo di Unix sara` valido fino al 18 gennaio 2038, supponendo che le lunghezze delle parole non siano cresciute per allora. [dalla notazione matematica standard per una piccola quantita`] 1. s. Una piccola quantita` di qualcosa. "Il costo e` epsilon". 2. agg. Molto piccolo, trascurabile; meno che marginale. "Possiamo aggiungere questa feature a costo epsilon". 3. [a meno di epsilon] abbastanza vicino per essere indistinguibile a tutti gli effetti pratici. Questo e` ancora piu` vicino, rispetto a "a meno di delta" (. Esempio: "Non e` pro- prio quello che ho chiesto, ma e` a meno di epsilon da quello". Alternativa- mente, puo` significare che non e` abbastanza vicino, ma ci vuole ben poco per arrivare fino a dove si vuole: "Il mio programma gira a meno di epsilon". V. . [epsilon quadro] s. Una quantita` ancora piu` piccola di , piu` o meno nello stesso rapporto di quest'ultima a qualcosa di normale. Se si compra un supercomputer per un milione di dollari, il costo del terminale da mille dollari per collegarvicisi e` , e i dieci dollari di costo del connettore tra di essi e` . [cospirazione degli Eric] s. Gruppo teorico di hacker baffuti di nome Eric, additato per la prima volta come membri di una sinistra cospirazione da un infame messaggio in talk.bizarre intorno al 1986; e` stato senza dubbio influenzato dai numerosi scherzi su `Eric' nell'opera dei Monty Python. Effettivamente sembra che ci siano molti piu` Eric baffuti nel mondo hacker di quanto ci si potrebbe aspettare statisticamente, a meno che queste caratteristiche siano correlate in qualche arcana maniera. Esempi ben noti comprendono Eric Allman, noto per il , Erik Fair (coautore di NNTP); il compilatore della versione originaria del Jargon [NdE: Eric Raymond, vi ricor- do] ne conosce una quindicina via posta elettronica, e l'organizzazione `Eric Conspiracy Secret Laboratories' [Laboratori segreti della E.C.] e` oramai pre- sente dai messaggi in uscita da piu` di un nodo. /e'r@s/ np. La divinita` greco-romana del Caos, Discordia, Confu- sione e delle Cose Che Non Sapete; alias Discordia. Divinita` non troppo ami- chevole nell'origine classica, e` stata reinventata come una personificazione piu` benigna dell'anarchia creativa nel 1959 dagli aderenti al Discordianismo e da allora e` stata un semiserio soggetto di venerazione in diverse culture `marginali', compresa quella degli hacker. Vedi , . [gli essenziali] s. Le cose necessarie per mantenere un am- biente produttivo e sicuro - dal punto di vista dell'hacker. "Una caraffa di vino, una pagnotta, un 386/33 con 387, 8 mega di RAM e un disco da 300 mega con su un bello Unix con sorgenti, X, EMACS e UUCP verso un buon nodo Inter- net, e tu". [male] agg. Nel senso usato dagli hackers, indica un sistema, pro- gramma, persona o istituzione sufficientemente malfatta da non valere la pena di interagirci. A differenza degli aggettivi della serie // , "evil" non implica incompetenza o cattiva progettazione, ma piuttosto un insieme di scopi o criteri di progettazione fatalmente incompati- bili con chi parla. E` un giudizio piu` estetico e ingegneristico piu` che morale come nella lingua corrente. "Avevamo pensato di aggiungere un'interfac- cia , ma abbiamo deciso che era male trattare con essa". "il e` simpatico, ma se uno fa molti errori di batitura e` davvero male". pref. Vedi . /eks'ch@, ekstch/ vt. Scambiare due cose tra loro; scambiare i po- sti. Se indicate due persone sedute e dite "Exch!", state chiedendo loro di scambiarsi di posto. , che significa EXCHange (scambio), era in origine il nome di un'istruzione del PDP-10 che scambiava i contenuti di un registro e di una locazione di memoria. Molti hackers dell'ultima generazione tendono a considerarlo invece l'operatore di scambio in PostScript. /eks'kl/ s. Abbreviazione per "exclamation point" [punto esclama- tivo]. Vedi , , . /ex'ee/ Un file binario eseguibile. Alcuni sistemi operativi (prin- cipalmente MS-DOS e VMS) usano l'estensione .EXE per indicare tali files. Que- sto uso si trova a volte anche tra i programmatori Unix, anche se gli esegui- bili Unix non richiedono di per se` nessuna estensione (di fatto, il termine "estensione" in questo senso non e` parte del gergo Unix). ############ ### ### 9 ### NOTIZIE FIDONET REGION 33 ### ############ ### Net 331 ======= L'estate e' trascorsa tranquillamente, ma nonostante il periodo delle fe- rie la crescita del net 331 e' proseguita. I nuovi nodi del net 331 sono: Il primo e' ACTILINK (331/330) di Luigi Digennaro, a Milano. Risponde al- lo 02-58112227 (4 linee a ric. automatica) in V32. Poi c'e' TITAN (331/319), sysop Pino Massignan. Si trova a Quinto De Stampi (Mi) e risponde allo 02-8254807 con uno Zyxel V32bis. Il modello del modem non e' casuale, visto che una delle particolarita' di questa BBS e' quella di fungere da supporto per i modem Zyxel, consentendo il download degli upgrade del firmware e delle utility per la gestione del fax. TITAN ha preso il posto, in nodelist di LOCUS, di Enrico Santoemma, che ha purtroppo chiuso i battenti. Un nuovo amico anche da Domodossola (NO): e' Paolo Caparrelli, sysop di KAMIKAZE BBS (331/119). Il telefono e' 0324-241207 e risponde con un modem V32bis. Ciao, --V-- Net 332 ======= E' attualmente in corso la votazione della nuova policy di net; la vota- zione ha gli stessi tempi della votazione per il nuovo RC. IlCosta ha ricominciato a scrivere messaggi. Che la Madonna consolatrice delle vittime degli scrittomani ci protegga la vista e l' intelletto! Fiori d' arancio in Fidonet: Filippo Dini e Marta Cavallini, points .3 e .4 del 332/108 si sposano. Auguri e modem maschi! Ciao Ciao! ___ / _ <___/ iovanni Net 333 ======= L'unica novita` e` la votazione in corso per NC e NEC. Ciao! /*Piero*/ Net 334 ======= Nessuna nuova. Vediamo se anche per quest'anno TamTam sara` presente alla mostra Nuove Tecnologie... ciaociao .mau. Telematicus puo` essere downloadato dai seguenti nodi Fidonet: 334/100 - 011-3299706 | 334/104 - 011-502423 | 334/105 - 011-2238389 335/211 - 099-4746313 | 335/215 - 0994746044 | 331/112 - 0341-360511 333/603 - 040-3783111 | 332/315 - 0721-30783 da Sintel, 011-596274, e dai nodi ISN 331/301 - 02-76006857 | 331/106 - 0332-706469 | 331/201 - 030-293250 331/202 - 0373-273188 | 331/206 - 0523-896512 | 331/318 - 0382-575369 332/206 - 019-853037 | 332/404 - 051-554430 | 332/305 - 0541-777003 332/402 - 051-6331730 | 332/403 - 051-6231940 | 332/102 - 055-2364065 332/108 - 055-2298120 | 332/502 - 0522-824379 | 332/504 - 059-450643 333/304 - 049-9200386 | 333/207 - 0445-530103 | 333/401 - 0471-200004 333/404 - 0474-21123 | 333/505 - 0422-431041 | 333/507 - 0431-430945 334/306 - 0121-542795 | 335/210 - 081-5709527 | 335/405 - 06-315323 #### End of TELEM022 ####