lunedì 20 novembre 2017

Importanza dell'italiano

A parte gli errori, sviste ed imprecisioni "normali", ho rilevato l'amplificarsi di un fenomeno molto preoccupante: molte, molte persone hanno evidenti problemi di comprensione del testo. Mi riferisco all'italiano, non alle reti di calcolatori.

O non capiscono il testo, o capiscono e poi ritengono che una risposta più o meno in tema sia adeguata, o leggono solo per farsi un'idea generale di cosa è richiesto, non lo so. Il fatto è che sono molto poche le persone che di fronte alla domanda "A" rispondono alla domanda "A"; di solito rispondono ad altro.

Se rispondessero ad "A" e poi rispondessero anche ad altro andrebbe bene, il fatto è che non rispondono ad "A". Per fare una analogia, alla domanda: "Che ore sono?" si vedono risposte come

  • "Bello il mio orologio, vero?"
  • "Si, penso che sia un pò tardi"
  • "Io uso sempre lo smartphone per vedere l'ora"

e cose simili. Trovate molti esempi specifici nel blog post con gli errori.

Questo fenomeno mi pare un effetto collaterale di un altro fenomeno preoccupante: la scarsissima attenzione alla precisione nel linguaggio.  Se uno deve comunicare il concetto di verde, deve usare la parola "verde". Non la parola "caldo" o "giallino" o "automobile" o "erba". Se uno scrive "l'oggetto A è verde" non può scrivere due righe più sotto che "l'oggetto A è marrone" oppure "l'oggetto A è a palline verdi e gialle". Anche per questo trovate molti esempi specifici nel blog post con gli errori.

Molte persone ritengono che comunicare una idea approssimata di quello che hanno in testa sia tutto ciò che serve. Non è così. La precisione nel linguaggio (chiamare "pere" le pere e dire tutto ciò che è necessario dire) è fondamentale in ogni professione.

E' possibile che quando ho detto "dovete dimostrare al lettore di avere capito" io abbia contribuito ad incoraggiarvi a comunicare in maniera approssimata. Se è così, sgombriamo il campo dagli equivoci: la precisione nel linguaggio è fondamentale. Fondamentale. In ogni professione. Poi se uno non ricorda tutto, se svolge un esercizio in un modo realistico ma diverso da quello in cui dovrebbe essere svolto, pazienza.

Poiché c'è scarsa attenzione a comunicare con precisione il proprio pensiero, c'è anche scarsa attenzione a comprendere il pensiero degli altri. Da qui, forse, il problema a cui mi riferivo all'inizio di questo post.

Invito tutti a riflettere su quanto sopra.

giovedì 16 novembre 2017

Provetta 1 2017/2018: Errori

(post costruito in modo incrementale; i nuovi errori saranno aggiunti in coda alla lista)

(in molti commenti faccio analogie tra pere e scarpe; non vogliono assolutamente essere commenti "offensivi"; scelgo volutamente analogie facilmente comprensibili per cercare di essere più chiaro)

Considerazione sull'importanza di distinguere tra pere e scarpe, di sapere leggere il testo, di rispondere alla domanda fatta e non a un'altra etc. Durante la correzione delle provette è venuto a trovarmi uno studente di molti anni fa, almeno 10. Adesso lavora in Inghilterra. Mi ha detto che continua a ricordarsi spessissimo delle mie lezioni: "non so come spiegarmi, ma lavorando da loro alla fine ho capito davvero quello che ci diceva ogni volta: le parole contano".
  1. Esercizio zero: "...richieste e risposte DNS inviate o ricevute da org1.com/orgC.uk". Moltissimi hanno detto che mancava l'indicazione di cosa intendessi per org1.com/orgC.uk. Ciò significa non distinguere tra pere e scarpe. Il testo conteneva la stringa org1.com/orgC.uk in tre posti: dopo la @ in un indirizzo email, dopo il // in due URL. Dopo la @ in un indirizzo email c'è il nome di un dominio email. Un dominio email non genera traffico DNS (il mail server di quel dominio può generarlo, ma non il dominio). Dopo il // in un URL c'è un nome di server. Un server può generare traffico DNS. Quindi è evidente a cosa si riferisse la domanda.
  2. Esercizio zero: prelievo documento su orgC.uk. Browser invia request "orgC.uk NS ?". Vedi slide 77 in DNS-A. orgC.uk è un nome di server; non è un nome di zona; più precisamente, non ci sono elementi sufficienti per sapere se sia anche un nome di zona. In ogni caso, per trovare l'indirizzo IP associato a un nome di server si deve fare una request di tipo A per quel nome. Più facile impossibile. Anche in questo caso non si distingue tra pere e scarpe.
  3. Esercizio zero: "descrivere la sequenza di richieste e risposte DNS inviate e ricevute dal proxy". Svolgimento "le connessioni non web rimangono uguali". Questo significa non avere svolto l'esercizio (problema frequente: lo studente risponde ad una domanda che si è inventato da solo e che non c'entra con quella dell'esercizio).
  4. Esercizio zero: "...richieste e risposte DNS inviate o ricevute da org1.com/orgC.uk". Qualcuno ha incluso le richieste DNS inviate da ns.uk (che non si capisce chi sia) e dirette a ns.orgC.uk. Immagino che qui si sia considerato orgC.uk come il nome di una zona. Da quando una zona genera traffico DNS? Scarpe vs pere (vedi item 1 di questa lista).
  5. Esercizio zero. Quando il traffico web passa attraverso il proxy, il traffico DNS necessario per risolvere i nomi dei web server viene generato dal proxy, non da PC1. Quindi la situazione con proxy è radicalmente diversa da quella senza proxy (come fa il proxy a collegarsi con un server web? deve conoscerne l'indirizzo IP; e come lo trova? traducendo da nome a indirizzo IP; e come può tradurre un nome senza generare traffico DNS?).
  6. Esercizio zero: "Org1 permette ogni tipo di traffico entrante o uscente" non significa che i mail client contattino direttamente i mail server di destinazione. Ogni mail client contatta sempre il proprio mail server (slide da 22 a 24).
  7. Esercizio zero: prelevare un email inviato da p@orgA.uk non significa collegarsi con il mail server del dominio di email orgA.uk. Significa collegarsi con il proprio mail server e fare una interazione POP. Quando mai per prelevare un email ci si collega con il mail server del mittente?
  8. Esercizio zero: il proxy serve solo per il traffico HTTP. Cosa c'entra il traffico POP/SMTP che passa dal proxy???
  9. Esercizio zero: 6 connessioni con numeri di porta identici alle due estremità; connessione a http://mail.google.com con numeri di porta 25 ad entrambe le estremità; connessione verso lo stesso URL con numeri di porta 110 ad entrambe le estremità. Io davvero non capisco come si possa presentarsi ad un esame e poi anche consegnare con una preparazione di questo genere.
  10. Esercizio zero: "elencare...inviate e ricevute da org1.com". Svolgimento: traffico DNS del mail server dell'org1. Confusione tra pere e scarpe. Vedi item 1 di questa lista.
  11. Esercizio zero: "descrivere la sequenza di richieste e risposte DNS inviate e ricevute dal proxy". Svolgimento: "il proxy non riceve richieste e risposte DNS". A parte il fatto che la logica dello svolgimento è completamente sbagliata (come fa il proxy a collegarsi con un server web? deve conoscerne l'indirizzo IP; e come lo trova? traducendo da nome a indirizzo IP; e come può tradurre un nome senza generare traffico DNS?), ma è anche l'interpretazione del testo che è carente: il testo parla di "inviate e ricevute" e lo svolgimento solo di ricevute; e quelle inviate?
  12. Esercizio zero: invio di email verso z@org3.net usando GMail; non capisco quale sia la logica che porta ad avere una connessione verso la porta 80 del web server org3.net. GMail è un applicativo web; questo applicativo è come se fosse una interfaccia grafica verso un mail client; le connessioni SMTP/POP partiranno da quel mail client, non dal PC collegato a GMail.
  13. Esercizio zero: "con il proxy le connessioni TCP sono le medesime". Quindi senza proxy PC1 si collega con i server web e con proxy PC1 si collega ancora con i server web?
  14. Esercizio zero: "il proxy avrà richieste e risposte uguali all'esercizio 3 (NB aveva appena scritto che non cambiava nulla, punto 13; ma se non cambiava nulla come fa adesso il traffico a passare dal proxy?) con in più anche proxy.org1.com A ? / proxy.org1.com A IP-7". Poiché il testo chiedeva il traffico DNS inviato e ricevuto dal proxy, il lettore non può che dedurre che il proxy sta chiedendo l'indirizzo IP di sé stesso. Perché? Forse la richiesta di risolvere il nome del proxy era originata dal PC1, ma in questo caso lo studente non avrebbe neanche letto il testo dell'esercizio in quanto era richiesto il traffico DNS inviato e ricevuto dal proxy.
  15. Quando il nome del sito web passa da suarez.misterdomain.eu a www.suarez.se, il browser invierà HTTP request con header Host: www.suarez.se (e non Host: suarez.misterdomain.eu); il web server deve essere configurato per sapere che www.suarez.se equivale a suarez.misterdomain.eu. Pertanto dire che nel web server non c'è nulla da configurare è sbagliato.
  16. Come fa un browser ad avere una connessione con mail.google.com sulla porta 80 ed un'altra con mail.google.com sulla porta 25? un browser parla http, non parla smtp; e l'accesso mail via web è via web (slide numero 9).
  17. Esercizio zero: Cosa c'entra il traffico DNS (generato dai nodi interni o diretto verso i nodi interni) che passa dal proxy??? il proxy serve solo per il traffico HTTP. 
  18. Esercizio zero: supponiamo di volerci collegare con il mail server del dominio email org2.com (cosa che nell'esercizio sarebbe sbagliatissima, ma lasciamo perdere). Dovrei inviare "org2.com MX ?", ricevere un nome in risposta e poi fare una request di tipo A per quel nome. Che senso ha fare invece una request "org2.com NS ?"? Se mi occorre il nome del mail server del dominio org2.com, per quale caspita di motivo dovrei essere interessato al nome del name server della zona org2.com? Ancora il problema delle pere e delle scarpe. (idem per il collegamento con un web server invece che con un mail server)
  19. "Bisogna mettere www.suarez.se CNAME wsrv.misterdomain.eu nella zona di wsrv.misterdomain.eu" il CNAME va messo nella zona di ww.suarez.se (è in quella zona che arriveranno le richieste DNS di tradurre quel nome).
  20. Esercizio zero: MC1 ottiene indirizzo IP del proprio mail server dal DNS. Per quale caspita di motivo poi MC1 invia richieste DNS al mail server???? e per quale caspita di motivo MC1 dovrebbe risolvere il nome dei domini email a cui invia e, peggio ancora, da cui riceve???? e come si può risolvere il nome di un dominio email (pera) con una richiesta di tipo A (scarpa)????
  21. Esercizio zero: MC1 si collega con il proprio mail server per inviare email. Perché le richieste DNS di tipo MX per i domini email di destinazione vengono inviate da MC1???? Sono inviate dal mail server.
  22. Esercizio zero: "Ripetere i punti 1,2,3". Svolgimento: "il proxy fa da intermediario durante le azioni svolte da PC1". Fine svolgimento. Analogia: domanda: che ore sono? risposta: ho una maglia verde. 
  23. Quando si preleva l'URL http://somesite/ dal web server di nome somename, la richiesta HTTP ha uno header di nome Host e di valore somesite. Non di valore somename. Scambio tra pere e scarpe.
  24. Domanda: "Descrivere la sequenza di richieste e risposte DNS inviate e ricevute dal proxy". Svolgimento: "Le richieste/risposte saranno le stesse del name server dell'organizzazione. Il proxy agirà solo da controllore". Analogia: domanda: che ore sono? risposta: ho una maglia verde.
  25. "B si collega con il mail server di GMail sulla porta 80": ma che senso ha collegarsi con un mail server sulla porta 80? Su quella porta si parla HTTP; se si parla HTTP allora non è un mail server. E poiché l'URL era http://mail.google.com, che senso ha fare una DNS request "google.com MX ?"
  26. Esercizio zero: supponiamo di volerci collegare con il mail server del dominio email org2.com (cosa che nell'esercizio sarebbe sbagliatissima, ma lasciamo perdere). Invio DNS request "MSORG2.COM A ?". E dove ho trovato il nome MSORG2.COM ?
  27. Domanda: "descrivere i RR da modificare". Svolgimento: "Aggiunta dei RR: www.suarez.se A ? www.suarez.se CNAME wsrv.misterdomain.eu....". Domanda "...indicando in quale zona devono essere apportate le modifiche". Svolgimento: "Modifiche apportate nello zone file." Se uno non dimostra di sapere leggere il testo come allora non può superare l'esame. 
  28. Esercizio zero: "Tutte le request HTTP vengono inviate al proxy quindi in tutti i request header Host: viene specificato il nome del proxy". Quindi quando PC1 deve collegarsi con http://orgC.uk/1 il proxy capisce tramite telepatia che tra tutti i web server del mondo occorre collegarsi con quello di nome orgC.uk?
  29. Com'è possibile vedere traffico HTTP che non preleva immagini e script? Quante volte è scritto nelle slide che sono prelevate automaticamente?
  30. Esercizio zero: Invio di due email e prelievo di un email. Svolgimento: disegno con freccia da client a server "rich 1 messaggio", freccia da server a client "1 messaggio", ripetuto per 3 volte. Quindi per inviare o prelevare un email è sufficiente 1 messaggio? Anche trascurando questo punto, "come minimo 1, come massimo 3 connessioni TCP": quindi POP e SMTP viaggiano sulla stessa connessione????
  31. Esercizio zero: disegno di traffico DNS con browser a sinistra e "server di OrgC.uk" a destra; più sotto disegno analogo con browser a sinistra e "server google" a destra; testo che dice "poiché c'è ricorsione il browser ottiene l'informazione con una sola richiesta". E come caspita fa il browser a sapere a chi deve inviare la richiesta???? Perché invia ogni volta a un server diverso???
  32. Esercizio zero: se l'URL è http://orgC.uk/... allora il server si chiama orgC.uk. Perché scrivere server.orgC.uk?
  33. Posso arrivare a capire che uno scriva cache-validation invece di cache-control. Ma se il testo dice "caching basato su scadenza temporale di una settimana", come caspita si può fare uno svolgimento con l'etag? Risposta inconsapevole a domanda inventata? Oppure risposta consapevole perché non si sa come gestire la scadenza temporale?
  34. Esercizio zero: ci sono alcune persone che hanno dimostrato di avere compreso cosa succede quando c'è il proxy; ma alla domanda "ripetere i punti 1,2,3" dove 1 è "elencare la sequenza di connessioni TCP utilizzata da PC1 specificando per ognuna il server all'altra estremità..." rispondono "stessa sequenza precedente". Come caspita fa ad essere la stessa sequenza precedente se adesso PC1 si collega con il proxy? Provate a pensare di essere in un ambiente lavorativo e di dovere collaborare con altri; dovete spiegare una cosa e gli spiegate l'esatto contrario; quale reazione vi aspettereste???
  35. Altro elemento su cui riflettere. Se viene chiesto di indicare la sequenza di richieste e risposte DNS perché fornire un elenco di RR??? Immaginate di essere in un ambiente di lavoro; vi viene assegnato di realizzare il modulo X e voi fate il modulo Y; è ovvio che vi sparano; il fatto che se avete realizzato Y allora siete in grado sicuramente di realizzare anche X è irrilevante; quello che serve ai vostri colleghi è X; non è Y.
  36. Esercizio zero: "descrivere la sequenza di richieste e risposte DNS inviate e ricevute dal proxy". Svolgimento "nessuna perché le richieste DNS non sono reindirizzate verso il proxy".
  37. Testo esame: "...accessibili con FORM authentication". Svolgimento: HTTP response con header "Autentication: Basic-Realm". Cosa si deve pensare?
  38. HTTP Response che contiene un documento contenente un form. Come fa il content-type ad essere "formURLencoded"? Il content-type sarà "text-html", il valore "formURLencoded" (tralasciamo il valore esatto) c'è nelle richieste contenenti dati inseriti nel form; non nelle risposte contenenti documenti html che contengono form.
  39. Esercizio zero: "ripetere i punti 1,2,3" dove 1 è "elencare la sequenza di connessioni TCP utilizzata da PC1 specificando per ognuna il server all'altra estremità..." mentre 3 chiede traffico DNS. Svolgimento: "il PC effettua connessioni solo col proxy, che quindi farà cambiare l'indirizzo IP da IP-1 a IP-X". Tralasciamo il fatto che chiunque legga questa risposta non può che pensare che anche le connessioni SMTP e POP passano dal proxy (il che non ha alcun senso), questo è un altro esempio di domanda "che ore sono?" con risposta "indosso una maglia verde". E poi chi è "cambia" l'indirizzo IP? PC1? e perché mai PC1 cambia l'indirizzo IP? e come fa un proxy a fare cambiare l'indirizzo IP di un altro nodo? 
  40. Esercizio HTTP richiede autenticazione. Io non capisco come si possa decidere non solo di presentarsi ma addirittura di consegnare senza avere svolto l'autenticazione ("nel momento che provo a collegarmi mi rimanda al form di autenticazione che sarà postato con gli stessi header + user e pass"). Capisco ancora meno come lo si possa fare quando ci si è già presentati più volte all'esame. Forse è il caso di sottolineare che non ho l'abitudine di promuovere gli studenti perché si sono presentati all'esame molte volte. Al momento il record è 28 tentativi (poi lo studente ha cambiato ateneo). In seconda posizione c'è un superamento dell'esame al tentativo numero 12.
  41. "ci sarà una richiesta di tipo A verso il proxy", seguito da "proxy A ? / proxy A IP-x". Che vuol dire? Invio al proxy una richiesta per tradurre il nome del proxy in indirizzo IP? e come faccio ad inviargliela?
  42. "Sequenza di connessioni TCP utilizzate da PC1: 2". Questa non è la sequenza, è la lunghezza della sequenza (lunghezza sbagliata ma questo è un altro problema). Possibile che non si sappia distinguere una banana da una televisione?
  43. Esercizio zero-4 "Ripetere i punti 1-2-3 con il proxy". Svolgimento: "Le connessioni DNS passano prima per il proxy e sarà lui a comunicare con i rimanenti NS. Per quanto riguarda 1 la cosa rimane immutata." Fine svolgimento. A parte le enormi lacune sui contenuti del corso, anche in questo caso, come in moltissimi altri, ci sono problemi basilari di comprensione del testo. "Per quanto riguarda 1 la cosa (?) rimane immutata" (bene, quindi le connessioni HTTP non passano dal proxy): e per 2? e per 3?
  44. Esercizio zero-5 "Descrivere richieste e risposte DNS inviate e ricevute dal proxy". Svolgimento "Il proxy si colloca tra PC1 e DNS (!) quindi tutte le richieste e risposte che riceve PC1 le riceve pure lui". Fine svolgimento. A parte le enormi lacune sui contenuti del corso, anche in questo caso, come in moltissimi altri, ci sono problemi basilari di logica e di comprensione del testo. Primo, quali richieste riceve PC1? PC1 trasmette richieste, non le riceve. Secondo, si parla di ciò che "riceve" e non si dice nulla su ciò che trasmette. Terzo, si parla di ciò "che riceve PC1" ma questo coincide con l'universo di tutto il possibile traffico DNS o no? In parole povere, ci sono altre richieste o risposte DNS che non c'entrano nulla con quelle che prima coinvolgevano PC1 o no? La risposta è no, ma sfido chiunque a capirlo da quanto scritto sopra.
  45. D'accordo non ricordare a memoria tutti i nomi degli header HTTP; ma scrivere HTTP response con header "timetolive: 1 settimana", poi "local: \login.html", poi "set-auth: yes" supera ogni possibile soglia.
  46. Esercizio zero. Disegno di browser collegato con "ns.org1.com ---> name server dell'org1" sulla porta 80 di quest'ultimo. Idem per "ns.mail.google.com". Da dove cominciare? Un browser che deve prelevare http://org1.com/... si deve collegare con il web server org1.com sulla porta 80 di quest'ultimo; per ottenere l'indirizzo IP associato al nome org1.com deve inviare una DNS request (sulla porta 53) al proprio name server; poiché la risoluzione è ricorsiva, quel name server risponderà con l'indirizzo IP richiesto. Cosa caspita c'entra un collegamento con la porta 80 del name server di org1.com????
  47. Altro problema frequentissimo. Testo: "descrivere le configurazioni da modificare nel browser". Svolgimento: nessun cenno al browser. Questo si può interpretare in tre modi:
    1. lo studente non ha la minima idea di quale sia la risposta e spera che il lettore si accontenti di una mancata risposta (quando il lettore sono io è molto improbabile avere successo; può accadere, specie in casi come questo in cui ci sono 90 e passa scritti; ma è improbabile);
    2. lo studente si rende conto che la domanda è banalissima, la risposta sarebbe "non c'è nulla da modificare nel browser" ma ritiene che la domanda sia talmente ovvia da non valere la pena di scrivere la risposta;
    3. lo studente ha notato la domanda ma si è dimenticato di rispondere.
    4. lo studente ha interpretato la domanda come "dimmi più o meno cosa succede".

      Indipendentemente da quale sia l'interpretazione corretta, non fornire nessuna risposta è un indice molto negativo. Bisogna dimostrare di sapere leggere e di sapere comprendere un testo scritto. Quando un testo scritto è un esame, la dimostrazione è ancora più importante.
  48. "Nel primario della zona www.suarez.se bisogna inserire la coppia NS/A del nuovo documento". Quindi www.suarez.se è una zona? Quindi un documento necessita di coppie NS/A? 
  49. Svolgimento esercizio 4: "Non cambia con la presenza del proxy." Fine. Svolgimento esercizio 5: "fa le stesse richieste e risposte che faceva prima PC1". Fine. Leggere due brevissime frasi consecutive in cui la seconda è in palese conflitto logico con la prima mi fa davvero cadere le braccia. Se non cambia con la presenza del proxy allora a che serve il traffico DNS generato dal proxy?
  50. Per prelevare un documento protetto di URL X invio le credenziali a X???