#### TELEM025 - Telematicus - Volume 03 - Numero 01 - Anno 1993 - 47 pag. #### @@@@@@ @@@@@ @@ @@@@@ @@ @@ @@ @@@@@@ @@ @@@@ @@ @@ @@@@ @@ @@ @@ @@ @@@@@@@ @@@@ @@ @@ @@ @@ @@ @@ @@ @@@ @@ @@@ @@ @ @@ @@ @@ @@ @@ @@ @@ @@ @@@ @@ @@ @@ @@ @@ @@ @@@@@@ @@ @@ @@ @@ @@ @@ @@ @@@@@ @@@@@ @@@@@ @@ @@ @@ @@ @@ @@ @@@@ @@@@ @@@@ Gennaio 1993 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 47 ***** ############ ### ### 0 ### INDICE ### ############ ### [ 1] Editoriale, di Maurizio Codogno . . . . . . . . pag. 4 [ 2] Feedback lettori . . . . . . . . . . . . pag. 5 [ 3] Crittografia - parte 2 . . . . . . . . . . pag. 10 [ 4] WC-Dos delle mie brame, di Renato Rolando . . . . . . pag. 17 [ 5] Il programmino: scegli il compattatore, di Roberto Piola . . pag. 26 [ 6] Il gergo hacker - parte 21 . . . . . . . . . pag. 31 [ 7] Notizie Fidonet region 33 . . . . . . . . . pag. 42 [ 8] Indice di telematicus - 1992 . . . . . . . . . pag. 44 Questo Telematicus e` nato con l'aiuto di... Editor sfigatus: Maurizio Codogno | * I collaboratori dai network: * Editor convertitus: Renato Rolando | Editor scompattator: Roberto Piola | Pietro Budicin (333/603) ... e dei "saccheggiati" Eric S. Raymond Charles Blair ############ ### ### 1 ### EDITORIALE ### ############ ### Carissimi lettori, eccoci arrivati al 1993, anche se in leggero ritardo. Sapete, speravo funo all'ultimo che, tra i botti che sembravano piu` da fucile a pallettoni e lo spumante a ruscelli, arrivasse ancora un po' di materiale per questo striminzito numero: invece niente, vi dovete accontentare di questo. In ogni caso, buona lettura! .mau. ############ ### ### 2 ### FEEDBACK LETTORI ### ############ ### Il messaggio qui sotto, mandatomi in posta privata su un BBS di cui non faro` il nome, anche perche` non e` Fidonet :-), da tal Mr.Maurizio (che non sono io sotto false spoglie, state tranquili) e` l'ultimo di una serie a proposito di telematicus. Visto che a questo punto la risposta cominciava a diventare piu` generale, ho pensato di riprodurlo qui e commentare pubblicamente la posizione che ho. (1/2): rassegnazione Name: Mr.Maurizio #954 Last on: 30-12-92 Date: Ven, 25 dic 1992 21:03:26 Beh, c'e` rassegnazione e rassegnazione. Certo se tu avessi smesso, avre- sti avuto la rassegnazione del perdente, e hai dimostrato di non esserlo. Io pero' intendevo rassegnato nel senso che ti senti appagato dell'attua- le livello di T. Sia chiaro: io sto continuando la lettura degli arretrati e lo trovo mol- to interessante. Pero' secondo me c'e` la possibilita' di farne qualcosa di GRANDE. E intendo grande nel senso di quadruplicare i D/L in un anno e decuplicarli in due anni. E' in questo che devi credere. Hai i mezzi: la rete Fido, due anni di esperienza, collaboratori (pochi, lo so, lo dici sempre), uno `zoccolo duro' di lettori. La telematica (amatoriale e non) sta letteralmente *esplodendo*, e fra qualche anno sara' finita l'epoca dei pionieri. Saranno pochi quelli che potranno vantare una tradizione editoriale piu' o meno lunga. Forse stai sottovalutando le potenzialita' che hai a disposizione. Io mi sono avvicinato a questo mondo solo da un mese, pur lavorando nell'"am- biente" tecnico. Eppure la telematica mi ha appassionato subito, anche se non sono un giovincello che si fa prendere facilmente da un hobby (e non e` solo un hobby). Ciao e auguri di buon Natale Mr.Maurizio [NdE: la rassegnazione a cui Mr.Maurizio accenna e` il famoso piagnisteo che i piu` attenti lettori dei miei editoriali conoscono a memoria, sul fatto che nessuno mi manda mai nulla da pubblicare] Che rispondere? innanzitutto voglio ricordare come e quando e` nato tele- maticus. Si era nel novembre 1990; anche allora la telematica sembrava sul punto di scoppiare, e se si guarda la dimensione della nodelist Fidonet di al- lora e di adesso effettivamente le cose sono cambiate. Era gia` quasi un anno che era nata a Torino l'associazione TamTam che aveva come scopo statutario la diffusione della telematica amatoriale, e i risultati e gli sforzi compiuti fino a quel momento erano nulli - cosa che capita molto spesso, come molti si saranno accorti. Visto che a me non piace sentire le scuse del tipo "ma non sappiamo come partire!" mi sono deciso e ho preparato il numero 0 di telematicus. Qual era il suo scopo? Sfruttare al massimo il vero valore aggiunto della rete, come direbbe il Bianki: l'esperienza di chi c'e` dentro e l'estrema facilita` di ottenere informazioni. Ormai sono anni che mi sono abituato ad utilizzare i canali universitari per ottenere, e alle volte fornire, informazioni: e queste possono essere tecniche o di tutti i generi, come l'area rec.music.beatles USENET che seguo con moltissima attenzione. A quel tempo c'erano gia` delle riviste elettroniche via rete, e persino un paio via Fido (parlo di FidoNews e EMBBS), ma come sempre in Italia non c'era nulla. Avendo tutto il "mercato" disponibile, ho cercato fin dall'inizio di fare qualcosa che avesse un taglio relativamente generale ma improntato al rapporto con la telematica e coi calcolatori. Il formato di file testuale e` stato scelto perche` la pigliassero anche e soprattutto i puppasoftware, che non l'avrebbero mai letta se fosse stata in linea sui bbs, anche se iperte- stuale con megagrafica e chissa` cosa; il formato ASCII puro deriva dal fatto che non mi volevo limitare a una singola architettura; la distribuzione ini- ziale era limitata a Torino, poi man mano che i file giravano per i bbs mi e` arrivata qualche richiesta da varie parti dell'Italia e ho optato per un'edizione "nazionale". Dopo due anni, vediamo i "mezzi" ottenuti. Molta gente si e` accorta che il modem che avevano in ufficio poteva servire ad altre cose che chiamare la costosissima banca dati: i bbs sono sempre occupati anche di mattino con le esose tariffe SIP. L'esperienza... c'e` cosi` per dire, visto che ho sempre solo dedicato i ritagli di tempo (*tanti* ritagli... pensate solo a tutte le traduzioni che mi tocca fare, a parte l'assemblaggio) a telematicus, e l'edi- toria non e` certo il mio campo. Collaboratori: guarda qui su questo numero. C'e` l'ottimo RRE che e` uno dei pochissimi illusi come me che spera che qual- cuno segua le nostre orme, e il Piola che, oltre ad essere un logorroico di suo, e` stato brutalmente minacciato dopo avere avuto la disgrazia di salire sull'autobus che avevo preso di ritorno dal lavoro. E ce ne sarebbe di gente che potrebbe scrivere, in Fidonet... Infine lo `zoccolo duro': telematicus ha un suo posto nel panorama fidonettiano italiano, e` vero, ma viene visto in maniera molto riduttiva... e` in un certo senso come Novella 2000 dal barbie- re. Se c'e` si legge, se non e` puntuale ci si lamenta, ma nulla di piu`. Io non posso dare piu` di tanto a telematicus, anche perche` non e` che sia una fucina di idee: continuo ad esprimere la mia piena apertura a tutte le idee serie di miglioramento - perche` no, anche a farlo portare avanti da qualcun altro! - ma ribadisco che la massa critica esisterebbe gia` nell'am- biente telematico italiano. E` la volonta` che manca, e quando arrivera` il Berlusconi di turno che fiutera` gli affari che si possono fare anche in que- sta nicchia, e la parola "amatorialita`" sara` solo un ricordo... beh, rileg- getevi queste righe. ciaociao .mau. ############ ### ### 3 ### CRITTOGRAFIA - PARTE 2 ### ############ ### [NdE: adesso comincia il difficile... non solo per il tipo di teoremi che si hanno, che in ogni caso enuncero` senza dimostrazione - la quale esula dallo scopo di telematicus - ma anche per il dovere usare solamente i codici ASCII da 32 a 126. Comunque, potete sempre rivolgervi a me per spiegazioni!] 2. INTRODUZIONE ALLA TEORIA DEI NUMERI ==== =================================== 2.1. Congruenze ----- ---------- La congruenza a == b mod n ("a e` congruo a b, modulo n") dice che, quan- do vengono divisi per n, a e b hanno lo stesso resto. Esempi: 100 == 34 mod 11 ; -6 == 10 mod 8 Nella seconda congruenza, sfruttiamo il fatto che -6 = 8(-1)+2. Esiste sempre un b tra 0 e n-1 tale che a == b mod n, e sara` quello che di solito ci interessera`. Se a == b e c == d mod n, possiamo sommare e moltiplicare: a+c == b+d mod n ; ac == bd mod n mentre la divisione non e` sempre valida: 6 == 18 mod 12, ma 3 !== 9. 2.2. Il Massimo Comun Divisore ----- ------------------------- Dati a e b, il numero (a,b) e` il piu` grande numero che divide esatta- mente entrambi. (56,98) = 14 ; (76,190) = 38 Vale il TEOREMA 1 : per ogni a e b esistono interi x, y con ax+by=(a,b). L'idea per dimostrare il Teorema 1 deriva da Euclide. Partendo ad esempio da 30x + 69y = 3, ponendo x' = x + 2y abbiamo 30x' + 9y = 3; con y' = y + 3x' abbiamo 3x' + 9y' = 3, e infine con x" = x' + 3y' si ha 3x" = 3, da cui si puo` ricavare x" e via via a ritroso le altre variabili. E` importante notare che il processo e` fattibile al calcolatore anche se a e b sono numeri di diverse centinaia di cifre; e` facile vedere che proces- sare due numeri di 600 cifre non richiede piu` di 4000 equazioni. Abbiamo visto prima che la divisione non funziona con le congruenze; un'importante applicazione del Teorema 1 dice che funziona per i numeri primi. COROLLARIO 2 : se p e` un numero primo, ar == as mod p e a !== 0, allora r == s. COROLLARIO 3 : se p e` un numero primo e a !== 0 mod p, allora per ogni b c'e` un y con ay == b mod p. COROLLARIO 4 (Teorema Cinese del Resto) : Se (p,q) = 1, allora per ogni a, b c'e` un n con n == a mod p e n == b mod q . 2.3. Potenze modulo un primo ----- ----------------------- La successione a a^2 a^3 ... mod p (dove con ^ indico l'esponenziazione) ha molte applicazioni in crittografia. Prima di guardare le sue proprieta` teoriche, il seguente esempio, fatto usando una calcolatrice tascabile, dovrebbe mostrare che e` facile computare tali numeri, anche se di molte cifre. Supponiamo di volere calcolare 432^678 mod 987. Il trucco e` di partire col numero e continuare a fare i quadrati: 432^2 = 186624 == 81 ; 432^4 == 81^2 == 639 ; 432^8 == 639^2 == 690 ; ... 432^512 == 858. Visto che 768 = 512 + 128 + 32 + 4 + 2, 432^678 == (81)(639)...(858) == 204 (spero!) Come visto, i calcoli con gli esponenti non richiedono troppe moltiplicazioni. L'unica attenzione da porre e` di costruire speciali routines di moltiplica- zione aritmetica esatta di numeri di molte cifre (vedi il volume 2 del Knuth). Se ora guardiamo le potenze di 2 mod 11: 2 4 8 5 10 9 7 3 6 1, notiamo che ciascun numero da 1 a 10 appare nella successione. Si ha infatti il TEOREMA 5 : Sia p un primo. Esiste allora un a tale che per ogni b compreso tra 1 e p-1 esiste un x compreso tra 1 e p-1 tale che a^x == b mod p. Dal Teorema 5 discendono alcune conseguenze: COROLLARIO 6 : Dato a come nel Teorema 5, allora a^(p-1) == 1 mod p. COROLLARIO 7 : Per ogni b !== 0, b^(p-1) == 1 mod p. COROLLARIO 8 : Se x == y mod (p-1), allora b^x == b^y mod p. LEMMA 9 : Sia b !== 0, e d il piu` piccolo intero positivo per cui b^d = 1. Allora per ogni e positivo con b^e = 1, d|e [cioe` d divide esattamente e. In particolare, per il Corollario 7, d|(p-1). 2.4. Radici primitive ----- ---------------- Il Teorema 5 mostra che, se p e` un primo, esiste un a tale che l'equazione a^x == b mod p ha una soluzione per ogni b !== 0. Tale a e` detto di p, e x e` chiamato di b. Abbiamo mostrato sopra che e` facile ottenere b, dati a e x. Trovare x dati a e b e` molto piu` difficile. Molti moderni sistemi di crittografia sono basati sul fatto che non si conosce alcun modo efficiente di calcolare i logaritmi discreti. Non si conoscono nemmeno metodi efficienti che trovino sempre le radici primitive. E` pero` spesso possibile trovarne una in casi speciali. Sia per esempio p = 1223. p-1 si fattorizza come 2 * 13 * 47. Per il lemma 9, se a non e` una radice primitiva allora almeno uno di a^26, a^94 o a^611 sara` pari a 1 mod 1223. a = 2 o 3 non funzionano, ma a = 5 soddisfa tutte e tre le condi- zioni, sicche` e` una radice primitiva. (Possiamo dire che a = 4 non e` una radice primitiva senza testare. Perche`?) E` facile mostrare che, se a e` una radice primitiva, a^x e` una radice primitiva se e solo se (x,p-1) = 1. Nel nostro esempio, il numero di radici primitive e` 1222 * (1/2) * (12/13) * (46/47) = 552 il che significa che, se abbiamo scelto a a caso, la probabilita` che sia una radice primitiva e` circa il 45% . Scegliere a a caso e testarlo finche` non abbiamo trovato una radice primitiva non dovrebbe metterci troppo tempo. Questo e` un esempio di . E` possibile che ci metta molto tempo, ma la quantita` di tempo impiegato in media e` ragionevol- mente bassa. Vedremo in seguito molti altri algoritmi probabilistici. Ultima nota: il Teorema 5 e` abbastanza lungo e noioso da dimostrare, e conviene utilizzare anche il seguente LEMMA 10 : Ci sono al piu` d soluzioni per una congruenza con un polinomio di grado d: x^d + k1 X^(d-1) + ... + kd == 0 mod p. In particolare, ci sono al piu` d x con x^d == 1. ############ ### ### 4 ### WC-DOS DELLE MIE BRAME ### ############ ### Sul WC-DOS se ne vedono di tutti i colori. Carissimi WC dossiani. E' da un pezzo che non mi sento! (Benche` il Capo si ostini a decantare l'enorme diffusione della rivista io persisto coi miei fondati dubbi). [NdE: E` diffusa, e` diffusa... che poi non la leggano e` un altro conto] L'altro mese non ho avuto l'onore di poter scrivere l'articolo; poco ma- le, un giovine ed intelligente baldo, nella figura del Peter Ugone, ha preso il mio posto. Quando il discepolo supera il maestro :) ... E veniamo a questo cesso di sistema operativo che e` il WC-DOS. Il WC-DOS oltre ad avere ENORMI problemi di indirizzamento della memoria oltre i 6K (ho sentito dell'uscita del nuovo megagalattico Pascal della Bortland che permette di indirizzare di un sol fiato 7K!) ha anche un casino pauroso nella gestione del video. Oltretutto stanno fiorendo un sacco (ed una sporta) di schede grafiche legate al successo di WC-Windouws. Ora non si deve confondere tra scheda gra- fica ed acceleratore grafico. La prima ha solitamente un mucchio di colori (16k) e costa un nulla, la seconda ne ha pochini e chiappa un sacco di sol- di... Ad ognuno il suo, come si dice. Solitamente i programmi non gestiscono direttamente le primitive che con- trollano lo schermo, ma passano attraverso un driver che si appoggia al BIOS (tutto nel nome dell'efficienza). [NdE: no, della praticita` per l'utente. UNIX funziona cosi` e non si e` mai lamentato nessuno...] La cosa non e` cosi` semplice pero`. I driver possono anche oltrepassare il BIOS o fare altre puttanate. Ma il bello e` che aggiungendo o cambiando la scheda grafica bisogna anche cambiare tali driver, altrimenti non solo non si sfruttano le nuove caratteristiche, ma il piu` delle volte non funziona piu` nulla :) I driver sono un elemento fondamentale del computer e devone essere tenu- ti il piu` possibile aggiornati. Nell'ultimo numero di PC Professional un in- teressante articolo sul PC ideale riporta che si possono avere prestazioni del 20% migliori con driver ottimizzati per la propria scheda. A tal riguardo c'e` una SH che vende solo driver ottimizzati: ....... Ma per i programmatori? E che ne so, chiedeteglielo! So solo che il TC++ 3.0 della Bortland ha ancora il driver da 16 colori (?!), mentre in giro cir- colano quelli da 256 e 32K. Ma il problema resta insoluto. Tutti i programmi che usano i driver entro un anno o due saranno obsoleti non per le loro caratteristiche, ma per il fat- to che non saranno in grado di sfruttare le nuove schede grafiche. Ora a tal riguardo vedo due soluzioni: [NdE: e usare un driver esterno come i BGI Borland?] - buttarsi su Windows - non usare i driver La prima soluzione sarebbe accettabile se si sapesse programmare in tale ambiente. La seconda e` attuabile, con qualche limitazione. La limitazione maggiore sarebbe proprio l'impossibilita` di impiegare le primitive del driver. :) Comunque la strategia e` quella di usare gli interrupt. Assieme ad ogni scheda viene fornita la tabella delle sue "chiamate di settaggio." Alcune, tutte quelle EGA, VGA etc. dovrebbero essere standard (se non lo sono ci pensa il driver), altre sono tipiche della scheda. Il programma che usa un tale me- todo potrebbe automaticamente scandire tutti i possibili valori per cercare lo schermo con piu` colori e dimensione maggiore oppure richiedere l'interrupt all'utente. Il problema e` che le primitive del WC-BIOS sono solo sul settaggio della palette e sull'accensione di un punto sullo schermo. Quindi nessuna geometria o viewport, dev'essere tutto reinventato! Questo pero` non influirebbe su un programma di ray tracing o di visualizzazione dei frattali che richiedono al massimo proprio la gestione della paeltte dei colori e l'indirizzamento dei punti. Se sei ancora interessato eccoti una breve collezione di routines all'uo- po. Presa di peso ed inserita in un file a parte DOVREBBE funzionare. Mancano: una routine che riporti le caratteristiche dello schermo, una gestione dei co- lori. Probabilmente a febbraio... /************************************************************************* Screen.CPP By RRE of TTH v 0.1 *************************************************************************/ #include /* interrupt */ #define VIDEO 0x10 // ho aggiunto due chiamate prese dalla mia Paradise #define FINE 16 // VGA alta rislouzione #define COLOR 19 // VGA 256 colori // PROTOTIPAZIONE void apriGfx(void); void chiudiGfx(void); void punto(int x, int y, int colore); enum BOOL {TRUE, FALSE}; static BOOL stato = FALSE; /* se gia' in schermo gfx o no */ int maxX, maxY, NColor; void apriGfx(void) /************************************************************************* Apre la grafica Setta alcune variabili golbali: maxX, maxY : dimensioni dello schermo NColor : numero di colori disponibili ************************************************************************/ { union REGS regs; if(stato == TRUE) /* sono gia' in modo grafico */ return; regs.h.ah = 0; /* choose video */ regs.h.al = COLOR; /* VGA 256 */ int86(VIDEO, ®s, ®s); maxX = 640; /* a la cavolo */ maxY = 200; NColor= 255; stato = TRUE; } void chiudiGfx(void) /************************************************************************* ************************************************************************/ { union REGS regs; regs.h.ah = 0; /* choose video */ regs.h.al = 4; /* boh */ int86(VIDEO, ®s, ®s); stato = FALSE; } void punto(int x, int y, int colore) /************************************************************************* Disegna un punto col colore corrispondente ************************************************************************/ { union REGS regs; regs.h.ah = 12; /* write pixel */ regs.x.cx = x; /* x */ regs.x.dx = y; /* y */ regs.h.bh = 0; /* page */ regs.h.al = colore; /* color */ int86(0x10, ®s, ®s); } Questo lo metti in un altro file: #include // getch #include // sin() void main(void) /************************************************************************* Un main di prova ************************************************************************/ { int x=0, y=0; apriGfx(); for(y=0; y #include #include #include #define ERRORE {fprintf(stderr,"Error: unknown packing method\n"); exit(1);} void identifypacker( char *packetname, // IN: nome dell'archivio da scompattare char *parms, // OUT: qui verranno copiati i parametri da // passare allo scompattatore char *comdline, // OUT: qui cerra' copiato il nome del comando per // scompattare char *jolly, // IN: scompattatore da usare quando l'archivio e' // di tipo sconosciuto char*jollyparms, // IN: parametri dello scompattatore jolly di cui // alla riga sopra char*packerdir // IN: directory dove reperire i compattatori, // terminata con il backslash ) { FILE *f; char buff[20]; unsigned char headstr[8]; f=fopen(packetname,"rb"); strcpy(comdline,"PKXARC.COM"); strcpy(parms,"-r"); if (fread(headstr,7,1,f)) { if ((headstr[2]=='-') && (headstr[3]=='l')) switch(headstr[4]) { case 'h': sprintf(comdline,"%sLHA.EXE",packerdir); if (!access(comdline,0) || (headstr[5]>'1')) strcpy(comdline,"LHA.EXE"); else strcpy(comdline,"LHARC.EXE"); strcpy(parms,"x /cm"); break; case 'z': strcpy(comdline,"LHA.EXE"); strcpy(parms,"x /cm"); break; default: ERRORE; } else switch(*headstr) { case 26: {strcpy(comdline,"PAK.EXE"); strcpy(parms,"E /WA");} if ((headstr[1]<10) || (headstr[1]>12)) { sprintf(buff,"%sPKXARC.COM",packerdir); if (access(buff,0)) {strcpy(comdline,"PKXARC.COM"); strcpy(parms,"-r");} sprintf(buff,"PKUNPAK.EXE"); if (access(buff,0)) {strcpy(comdline,"PKUNPAK.EXE"); strcpy(parms,"-r");} } break; case 'H': if((headstr[1]=='L') && (headstr[2]=='S') && (headstr[3]=='Q') && (headstr[4]=='Z')) {strcpy(comdline,"SQZ.EXE"); strcpy(parms,"E");} break; case 'P': if ((headstr[1]==75) /*&& (headstr[2]==3) && (headstr[3]==4)*/) {strcpy(comdline,"PKUNZIP.EXE"); strcpy(parms,"-o -ed");} break; case 'Z': if ((headstr[1]=='O') && (headstr[2]=='O')) { strcpy(comdline,"ZOO.EXE"); strcpy(parms,"E"); break; } case 96: if (headstr[1]==234) { strcpy(comdline,"ARJ.EXE"); strcpy(parms,"e -y"); break; } default: strcpy(comdline,jolly); strcpy(parms,jollyparms); break; } } fclose(f); } ############ ### ### 6 ### IL GERGO HACKER - PARTE 21 ### ############ ### {= G =} s. L'uso di un gran numero di programmatori che lavorano in maniera piu` o meno indipendente in un tentativo di infilare un gran numero di feature in un prodotto in brevissimo tempo. Anche se ci sono state delle memo- rabili g.b. (ad esempio, quel porting assembler in un weekend, menzionato nel libro di Steven Levy "Hackers"), la maggior parte di esse sono perpetrate da grandi compagnie che cercano di osservare le deadline, e producono enormi mas- se biene di bachi di codice, che manca completamente di ortogonalita` (vedi ). Quando i manager che guardano il mercato fanno una lista di tutte le caratteristiche che i programmi competitori hanno, e assegnano a cia- scun programmatore il compito di implementarne una, spesso non considerano l'importanza di mantenere dei forti invarianti, tipo l'integrita` relazionale. vi., (anche "garbage collection", s.) Vedi . [come in "camera a gas"] inter. 1. Un termine di disgusto e ostili- ta`, implica che il gas dovrebbe essere dispensato in dosi generose, stermi- nando cosi` la sorgente dell'irritazione. "Un loser ha appena rimontato il si- stema senza alcuna ragione! Gas!". 2. Un termine che suggerisce che qualcuno o qualcosa dovrebbe essere buttato via senza pieta`. "Il sistema si pianta ogni pochi minuti. Gas!". 3. vt. Spazzar via (v. ). "Dovresti gasare questo vecchio software che la le croste". 4. GASEOUS agg. Che merita di es- sere gasato. Uso: inizialmente di Geoff Goodfellow allo SRI, ma diffondentesi. /jee-see/ [dalla terminologia LISP; "Garbage Collect", recupero del- la spazzatura] 1. vt. Pulire e buttare via delle cose inutili. "Penso che oggi ero` la mia scrivania". Detto di files, e` l'equivalente di . 2. vt. Riciclare, reclamare, o lasciare per un altro uso. 3. s. Un'instanziazione del processo del garbage collector. `Garbage collection' e` voce gergale degli informatici per una particolare classe di strategie per riallocare dinamica- mente la memoria del calcolatore. Una di tali strategie involve lo scorrere periodicamente tutti i dati in memoria e determinare cosa non e` piu` utile; tali dati inutili sono allora eliminati, in modo che la memoria che occupavano possa essere riciclata e utilizzata per un altro scopo. Le implementazioni del linguaggio LISP usano di solito la g.c.. Nello slang, si sente a volte la fra- se completa, ma si preferisce piu` spesso l'acronimo perche` piu` corto. Nota- re che c'e` un'ambiguita` nell'uso che deve venire risolta dal contesto: "Devo fare garbage-collection della mia scrivania" significa in genere svuotare i cassetti, ma puo` anche significare gettare via o riciclare la scrivania stes- sa. Attenzione: programmando in X, un "GC" puo` essere un contesto grafico (gra- phics context). Questo termine tecnico non ha nulla a che fare col gerga- le! s. Un fatto in tutta fretta del sistema operativo Sys- tem/360 che emerse dalla GE intorno al 1970; chiamato originariamente GECOS (the General Electric Comprehensive Operating System, sistema operativo com- pleto della GE), e accrocchiato in seguito per supportare una gestione primi- tiva di time-sharing e transazioni. Dopo che la divisione computeristica della GE fu comprata dalla Honeywell, il nome fu cambiato in General Comprehensive Operating System (GCOS). Altri gruppi di sistemi operativi alla Honeywell co- minciarono a riferirsi ad esso come `God's Chosen Operating System' (s.o. scelto da Dio), in reazione esplicita all'attitudine altezzosa e disinformata della gente del GCOS a proposito della superiorita` del loro prodotto. Tutto questo avrebbe un interesse nullo, se non fosse per due fatti: a) la guerra politica fu vinta dalla gente GCOS, causando i tagli e infine la morte del Honeywell; b) GECOS/GCOS lascio` un marchio permanente su UNIX. Al- cuni tra i primi sistemi UNIX ai Bell Labs venivano usati come front end per le macchine GCOS; il campo aggiunto a /etc/passwd per contenere le informazio- ni di ID GCOS fu chiamato `il campo GECOS' e sopravvive oggi come il membro pw_gecos usato per il nome dell'utente e altre informazioni per uso umano. GCOS contribui` fortemente a far si` che Honeywell fosse un cavallo perdente nel mercato mainframe, e fu scaricato a favore di UNIX alla fine degli anni '80 quando Honeywell ritiro` le sue vecchie architetture . v. Vedi GCOS. /g@-dahn'kn/ agg. Allucinato; non pratico; non ben pensato; non testato. "Gedanken" e` una parola tedesca per "pensato". Un esperimento pensato e` quello che si fa a mente. In fisica, l'espressione "gedanken expe- riment" e` usata per riferirsi ad un esperimento che non e` pratico da esegui- rsi, ma utile da considerare perche` ci si puo` ragionare in maniera teorica. (Un classico g.e. della teoria della relativita` consiste nel pensare ad un uomo che vola attraverso lo spazio in un ascensore). I g.e. sono molto utili in fisica, ma occorre essere attenti. E` stato un g.e. che ha portato Aristo- tele a concludere che le cose pesanti cascano sempre piu` veloci di quelle piu` leggere (penso` a una roccia e a una piuma); questo fu accettato, fino a che Galileo dimostro` altrimenti. Tra gli hacker, pero`, la parola ha una con- notazione peggiorativa. E` detta di un progetto, specialmente di uno di ricer- ca di intelligenza artificiale, che e` spiegato in grande dettaglio (tipica- mente a livello di tesi di dottorato) senza essere stato mai implementato se- riamente. un tale progetto e` di solito perpetrato da persone che non sono buoni hacker o trovano la programmazione disgustosa o semplicemente hanno fretta. Una tesi gedanken e` di solito connotata da una ovvia mancanza di in- tuizione su cosa e` programmabile e cosa non lo e`, e su cosa costituisce o meno una chiara specificazione di un algoritmo. vi. Entrare temporaneamente in modo tecno-nerd in un contesto non di hacker, per esempio a un party dove ci sono anche dei calcolatori. Usa- to specialmente quando si deve fare qualcosa di altamente tecnico e non si ha tempo di spiegare: "Scusatemi mentre io g.o. per un momento". [riparatore di sesso] s. (anche "gender bender" (piega- sesso) e "sex changer") Un cavo per dati con o due connettori maschi o due femmine, usato per correggere le contrapposizioni che si hanno quando qualche non ha capito la specifica RS232C e la distinzione tra DTE e DCE. Usa- to specialmente per le parti RS232C sia nel formato originale D-25 che in quello finto del PC IBM a 9 pin. [virus generale al pubblico] s. Termine peggiora- tivo per alcune versioni del del project, o Licenza Generale al Pubblico (General Public License), che richiede che un qualunque tool o che incorpora il codice copylefted sia distribuita in sorgente con gli stessi termini controcommerciali del materiale GNU. Cosi` e` asserito che il copyleft `infetta' il software generato con i tool GNU, che a loro volta in- fetteranno altro software che riusa del loro codice. La posizione ufficiale della FSF al gennaio 1991 e` che solo "programmi che includano testualmente porzioni significanti del codice GNU" cadono sotto la GPL e che l'infezione non viene trasmessa a terze parti a meno che non venga trasmesso dell'attuale sorgente GNU (come ad esempio usando il parser Bison). Nondimeno, il sospetto assai diffuso che il linguaggio sia una trappola ha fatto si` che molti sviluppatori evitino di usare i tool GNU e la licenza . Le posizio- ni della FSF nel 1992 sembrano avere attutito tali timori con una formulazione che lascia piu` liberta`. [generare] vt. Produrre qualcosa in accordo ad un algoritmo o un programma o a un insieme di regole, o come un effetto collaterale (magari non voluto) dell'esecuzione di un algoritmo o un programma. L'opposto di . Questo termine mantiene le sue connotazioni meccanicistiche (anche se spesso iin maniera umoristica) quando usato per il comportamento umano. "Il tipo e` per lo piu` razionale, ma provate a nominare l'energia nucleare e ge- nerera` infinito (v. ). [e impara a vivere!] imp. Modo standard hacker per suggeri- re che la persona a cui si sta parlando e` rimasta succube di una computerite terminale (vedi ). Udito spesso su . Questa esortazio- ne e` stata originariamente pronunciata da William Shatner [NdE: Kirk, per chi non ha solo sentito parlare di Star Trek] in un episodio di Saturday Night Live, durante un discorso terminato appunto con "Get a *life*!". [prenditi un vero calcolatore!] imp. Tipica rispo- sta hacker alla notizia che qualcuno e` nei guai per fare funzionare qualcosa su un sistema che e` a) single-task, b) non ha un hard disk, o c) ha un indi- rizzamento inferiore ai 4 megabytes. Queste specifiche sono del 1990; si noti che la soglia di `vero computer' cresce col tempo, e potrebbe benissimo darsi che le macchine con display a caratteri saranno considerate `non vere' tra qualche anno (e in certi campi, non lo sono gia`). Vedi e . /jig/, raro /gig/ [giga] s. Abbreviazione per "gigabyte" (1024 me- gabytes); sp. usato per descrivere quantita` di memoria di massa o . "La mia macchina e` appena stata upgradata a un quarto di giga". Vedi anche . /ji'ga/ pref. Vedi . /gie'goh/ [acronimo] 1. Garbage In, Garbage out (spazzatura den- tro, spazzatura fuori) - Detto di solito in risposta a che si lamenta- no del fatto che il calcolatore non si lamenti di dati errati. Usato anche co- munemente per descrivere errori in decisioni umane dovuti a dati errati, inco- mpleti o non precisi. 2. Garbage In, Gospel Out (spazzatura dentro, vangelo fuori) - Questa espansione piu` recente e` un commento sardonico sulla tenden- za che gli esseri umani hanno a fidarsi eccessivamente dei dati "computerizza- ti". /jill'yun/ s. 10^9. [da giga, seguendo la costruzione di mega/milione e la teorica tera/trilione] Lo stesso del "billion" americano o del "milliard" inglese: un miliardo. /glark/ vt. Ricavare qualcosa dal contesto. "I manuali del System III sono abbastanza scarni, ma in genere si puo` g. il significato dal conte- sto". E` interessante che la frase originale era "This gubblick contains many nonsklarkish English flutzpahs, but the overall pluggandisp can be glorked [sic] from context" ["Questa festrola contiene molti nondriffiti crustani ita- liani, ma il quistrinale complessivo puo` essere glorked dal contesto"] di David Moser, citato da Douglas Hofstadter nella sua rubrica `Metamagical Themas' sullo Scientific American. di gennaio 1981. Si congettura che l'uso hacker ha cambiato `glork' in `glark' perche` era gia` un termine ger- gale esistente. [IBM] s. Sinonimo per . /glas tee-tee-wie/ o /glas ti-tee/ s. Un terminale che ha uno schermo a display ma che, per limitazioni hardware o software, si comporta co- me un terminale a stampa, combinando cosi` gli svantaggi di entrambi i tipi: come un terminale a stampa, non puo` fare dei bei disegnini a video, e come un terminale a display non produce una copia fisica. Un esempio e` l'ADM-3 (senza controllo cursore) della Lear-Siegler. Vedi l'Appendice A per un'interessante storia sui g.t. /glich/ [dal tedesco "glitchen", scivolare, via lo yiddish "glitshen", sdrucciolare] 1. s. Un'improvvisa interruzione della corrente elettrica, o della funzionalita` e continuita` di un programma. A volte recu- perabile. Un'interruzione della corrente e` specificatamente detta "power glitch". Essa e` molto preoccupante perche` di solito fa piantare tutti i cal- colatori. Piu` comune nello slang, anche se un hacker che arriva a meta` di una frase e si dimentica come voleva completarla potrebbe dire "Scusa, ho avu- to un g.". 2. vi. Far fare un glitch. Vedi . 3. vt. [Stanford] Far scrollare una schermata piu` linee per volta. Questo uso deriva da alcune stranezze nel comportamento dei terminali sotto il sistema TOPS-10 mutante adottato un tempo al SAIL. 4. (obsol.) Come , significato #2. /glob/, *non* /glohb/ [UNIX, da "glob", il nome di un sottopro- gramma che traduceva le wildcard nelle arcaiche versioni della Bourne Shell] v. Espandere i caratteri speciali in un nome con wildcard (l'azione corrispon- dente e` "globbing"). Le convenzioni UNIX per le wildcard sono state suffi- cientemente persuasive che molti hacker ne usano alcune nella lingua scritta, specialmente nella posta elettronica o messaggi su argomenti tecnici. Quelle comunemente incontrate comprendono: * wildcard per una stringa qualunque (vedi UN*X). ? wildcard per un carattere qualsiasi (generalmente si legge in tal modo solo all'inizio o a meta` di una parola). [] wildcard che corrisponde a un carattere da un insieme specificato. {} Insieme di alternative separate da una virgola. Cosi`, `{foo,bar}baz' puo` significare `foobar' o `foobaz'. Alcuni esempi: "Ha detto che il suo nome e` [KC]arl" (esprime ambiguita`). "Questo e` stato postato su talk.politics.*" (tutti i sottogruppi talk.poli- tics su ). Altri esempi sono dati alla voce `X'. come nome si riferisce all'atto di espandere una stringa usando queste convenzioni. E` an- che usato come un verbo. /glork/ 1. inter. Termine di blanda sorpresa, di solito tinto di offesa, come quando uno tenta di salvare il risultato di due ore di editing e scopre che il sistema e` cascato proprio in quel momento. 2. Usato come nome per qualunque cosa. Vedi . 3. vt. Simile a , ma di solito usato in modo riflessivo. "Il mio programma si e` appena g.". ############ ### ### 7 ### NOTIZIE FIDONET REGION 33 ### ############ ### Poche notizie, questo mese: solo il Budicin mi ha fornito materiale... *** net 333 *** L'NC Adolfo Melilli, dopo un breve periodo di panico dovuto a momentanea situazione di disoccupazione, ha trovato una nuova sistemazione lavorativa. Notizia con indiscutibile gioia dell'Adolfo e accompagnata con sollievo da tutto il Network. D'ora in poi l'aggiornamento dei segmenti di Nodelist viene effettuato tra NC ed HUBs in modo automatico tramite l'utility MAKENL. I tempi di modifi- ca si sono pertanto drasticamente ridotti. Il 5/12 si e' tenuta una Fidopizzata del Net in quel di Padova. Non aven- dovi partecipato di persona, non sono in grado di riferire maggiori particola- ri. Ciao! /*Piero*/ *** net 334 *** Lunedi` 11 gennaio, ore 21, assemblea dell'associazione TamTam presso il CRDC - C.so Sicilia 12 - Torino. C'e` tra l'altro da eleggere il Consiglio Di- rettivo. Mercoledi` 20 gennaio, stesso luogo e stessa ora, e` invece indetta una riunione di net. All'ordine del giorno: - situazione del net - discussione sulle ultime vicende relative alla regolamentazione degli accessi alle aree SYSOP.033 e NETSYSOP.334 - elezione del NEC - elezione del NC - razionalizzazione aree files di net - varie ed eventuali. ciaociao .mau. ############ ### ### 8 ### INDICE 1992 DI TELEMATICUS ### ############ ### Cosa e` apparso su Telematicus l'anno scorso e dove? Ecco qua... Ricordo che il numero 13 conteneva l'indice 1991. .mau. FIDONET: | VIVAMIGA: La rete ISN # 13 p. 30 | Lettura comandi da CLI # 14 p. 41 Quale ASCII nell'Echomail? # 17 p. 15 | La seriale in Amiga # 15 p. 17 Circuiti distribuz. files # 19 p. 6 | Seriale II (la rivincita) # 16 p. 60 BBS-ITA # 19 p. 10 | Amigaseria_l III # 17 p. 29 Che cos'e`... la nodelist # 21 p. 24 | Un 'rologio nel vs. Amiga # 18 p. 70 Vota il tuo BBS # 23 p. 14 | Amiga, 'sta faccia da GUI # 19 p. 24 I flag della nodelist # 24 p. 5 | Amiga gadgioso # 22 p. 27 | Il crepuscolo degli dei # 23 p. 23 BBS E AREE ECHO: | L'Amiga 4000 # 24 p. 31 BBS: Olimpus e Kerigma # 16 p. 29 | HUB: 332/400 # 17 p. 23 | REVIEW: BBS: TARAS # 18 p. 19 | MultiEdit 5.0 # 13 p. 25 Aree echo: MENSA.335 # 21 p. 20 | MANMOD-1 # 23 p. 21 Aree echo: Peacelink # 23 p. 10 | | IL JARGON FILE: NOTIZIE REGION 33: | brute force - bytesexual # 13 p. 45 Gennaio # 13 p. 54 | C - Church of the ... # 14 p. 54 Febbraio # 14 p. 65 | Cinderella - comment out # 15 p. 26 Marzo # 15 p. 37 | Commonwealth - cosmic rays # 16 p. 75 Aprile # 16 p. 85 | CP/M - crosspost # 17 p. 42 Maggio # 17 p. 49 | Crudware - cycle server # 18 p. 77 Giugno # 18 p. 85 | D - dink # 19 p. 31 Luglio # 19 p. 45 | Dinosaur - dynner # 21 p. 42 Settembre # 21 p. 55 | E - EXE # 22 p. 44 Ottobre # 22 p. 55 | F - flaky # 23 p. 32 Novembre # 23 p. 44 | Flamage - fuzzball # 24 p. 38 Dicembre # 24 p. 54 | | SOFTWARE ITALIANO: I "SERIAL": | Mercurio # 13 p. 15 Itapac - parte 10 # 13 p. 18 | Galileo: l'ora col modem # 13 p. 21 Itapac - parte 11 # 14 p. 28 | Wedit # 14 p. 25 Cavi & cavetti - parte 1 # 16 p. 5 | DrComm # 16 p. 15 Cavi & cavetti - parte 2 # 17 p. 6 | Il Progetto WARP # 16 p. 36 Cavi & cavetti - parte 3 # 18 p. 6 | Gimme-A-Point # 23 p. 6 Crittografia - parte 1 # 24 p. 23 | RFA # 24 p. 10 | RFAShell # 24 p. 16 CURIOSITA` E RACCONTI: | Donne e linguaggi... # 13 p. 40 | TELEMATICA GENERICA: Itapak (?) # 14 p. 50 | Programm. Object-Oriented # 13 p. 5 Il C e` una truffa! # 20 p. 5 | BBS e cucina: Pierre # 13 p. 36 Problemi di vuoto # 20 p. 9 | Internet: la storia # 14 p. 20 WC-DOS delle mie brame # 20 p. 12 | Che cos'e`... il V.42bis # 15 p. 6 Consigli medici # 20 p. 17 | Internet: i comandi # 15 p. 11 Abbassamiga # 20 p. 23 | Meteosat da Rai-Televideo # 19 p. 43 La Creazione # 20 p. 27 | La compressione # 21 p. 5 Come dimostrare un teorema # 20 p. 30 | Che cos'e` ... ISDN # 22 p. 5 Musica, maestro! # 20 p. 35 | OOP delle mie brame # 22 p. 16 Annunci di congressi # 20 p. 42 | Teledrin via modem # 24 p. 8 Z - parte 1 # 19 p. 19 | Z - parte 2 # 21 p. 31 | VARIE: Z - parte 3 # 22 p. 24 | Indice 1991 di Telematicus # 13 p. 57 Coke Machine su Internet # 22 p. 39 | Il SysCon '92 # 14 p. 7 | E i Sinclair? # 14 p. 33 IL PROGRAMMINO: | Feedback Utenti # 16 p. 69 ERR2OUT # 14 p. 35 | Feedback Utenti # 17 p. 36 uuencode e uudecode # 16 p. 44 | Il Wc-Dos di RRE # 22 p. 10 crittografiamo! # 18 p. 24 | frattali frattali # 23 p. 18 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 - 099-4746044 | 331/112 - 0341-360511 333/603 - 040-3783111 | 332/315 - 0721-30783 | 334/107 - 011-890084 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 TELEM025 ####