Archive for the 'mind soup' Category

Un anello per cifrarli

Sunday, September 7th, 2008

Cory Doctorow (noto blogger) si è sposato ed ha chiesto a Bruce Schneier (noto criptoanalista) qualche consiglio su come realizzare un anello nuziale che funzionasse anche da cifrario.
Entrambi hanno poi postato la notizia sui rispettivi blog, aprendo ai lettori un concorso per la realizzazione della migliore applicazione crittografica dell’anello.

Questo sì che significa essere nerd geek :D

Geografia fantasy

Monday, September 1st, 2008

Leggendo The Hobbit ho avuto una sorta di illuminazione. Le mappe non servono a niente.

Mi spiego. La maggior parte dei fantasy della “vecchia scuola” si svolgono secondo il radicato cliché del viaggio avventuroso: parti dal punto A per arrivare al punto B e nel frattempo attraversi il bosco C, ti riposi nel castello D e squarti il mostro E.

Ognuno di questi viaggi segue un percorso, che potrebbe essere tracciato con precisione su una mappa. In effetti, molti libri fantasy si aprono con una mappa della zona in cui si svolge l’avventura.

Ora, secondo me questa mappa non serve a nulla.
Non solo: la mia sensazione è che le stesse indicazioni geografiche che costellano la storia vengano bellamente ignorate dalla maggior parte dei lettori. Il bosco C era ad est o a ovest delle montagne F? Come mai i personaggi stanno andando verso Nord, se 100 pagine fa ero convinto che la meta fosse a sud-est?

Il fatto è che le indicazioni sono (1) quasi sempre inessenziali e (2) un carico cognitivo che porta benefici scarsi o nulli. Gli stessi motivi per cui non ci si ricorda quasi mai di un percorso fatto in auto mentre guidava qualcun altro: si arriva a destinazione indipendentemente dall’attenzione posta alla strada percorsa, quindi tanto vale concentrarsi su altri particolari. Come la signora col cappello buffo nell’auto a fianco. O quella coda di drago che spunta da dietro una curva.

Le 9 fasi di una decisione

Saturday, May 3rd, 2008
  1. Perturbazione della quiete: emerge un problema che richiede una decisione
  2. Procrastinazione ad infinitum: si butta il problema nel cassetto e lo si dimentica
  3. Presa di coscienza: Oddio! Si scopre che la decisione andava presa ieri.
  4. Indecisione: ci si scervella sulle possibili decisioni: A, B e C
  5. Punto di svolta: si decide per A, utilizzando vaticini o metodi aleatori di varia complessità
  6. Ripensamento: si modifica in corsa la decisione, optando per B
  7. Rimorso: ci si convince che C sarebbe stata molto meglio di A e B
  8. Auto-assoluzione: si conclude che, tutto sommato, anche B non era male
  9. Risultato: le conseguenze della decisione mostrano che la scelta giusta era D

Il corriere che guarda

Thursday, April 10th, 2008

A vedere quali sono gli articoli che dominano la classifica dei più letti su corriere.it viene quasi da pensare che - dopo tutto - la costante tendenza a piazzare il sesso sulla prima pagina del sito sia solo la risposta ai desideri dell’utenza.

A volte, però, alcune perle instillano il dubbio che forse titolisti ed impaginatori non siano proprio incolpevoli in questo straripante interesse per gli articoli scabrosetti da giornale scandalistico…

Il corriere che guarda

Le immagini di cosa, esattamente?

Nella realtà non sono altro che foto di repertorio della Aguilera, vecchie di anni. Ma nella sapiente composizione del riquadro in homepage vengono percepite in tutt’altro modo. Tanto per mettere la ciliegina sulla torta, poi, il link è guarnito da un vouyeristico “guarda”, in pieno stile Tinto Brass.

Per fortuna che ci sono i giornalisti.

Bestemmie! su Rieducational Channel

Saturday, March 22nd, 2008

Ok, il titolo del post è lievemente urlato, e ammetto di averlo fatto solo per attirare l’attenzione :D

Questo è in effetti uno di quei post che riguardano assurde ed inutili curiosità a cui devo assolutamente dare risposta (siete stati avvisati).
Nello specifico, mi sono sempre chiesto perché il verbo inglese “to swear” abbia il significato di “bestemmiare” e “imprecare”, oltre al classico “giurare, prestare un giuramento”.

Scommetto che state già fremendo dalla curiosità :P

La spiegazione, a quanto sono riuscito a capire, è piuttosto semplice: come conferma un dizionario etimologico, to swear ha in effetti il significato originario di “prestare giuramento”.
I giuramenti - specialmente intorno al 1400, epoca cui si fa risalire il secondo significato di cui ci stiamo occupando - vengono spesso prestati invocando una divinità o una figura sacra: penso che tutti abbiano sentito almeno una volta dire “lo giuro su Dio”, oppure “che Dio mi fulmini se…”.
Da qui in poi, si tratta fondamentalmente di mutare il contesto. Se nel contesto formale di un giuramento queste invocazioni sono accettate, non lo sono però più nel momento in cui cambia il contesto: diventano così bestemmie o imprecazioni.

Un particolare affascinante di questa estemporanea ricerca etimologica è stato scoprire una possibile fonte dell’aggettivo “bloody”. Bloody viene spesso usato dai britannici come aggettivo blandamente spregiativo, ma non nel suo significato primario di “sanguinario” (se frequentate Pratchett, pensate al nome di Bloody Stupid Johnson :D). Una delle possibili origini dell’uso di bloody come imprecazione è ancora una volta di carattere religioso: una contrazione di “By your Lady”, esclamazione diffusa in epoca medievale.

Sapevatelo!

Consigli al contrario

Tuesday, February 26th, 2008

Ho trovato molto interessante un articolo segnalato da Bru su come debbano essere ripensati i Recommendation Engine - quei software che elargiscono consigli su cosa leggere/vedere/ascoltare, come su Last.fm o sulle pagine dei prodotti di Amazon.

Ancora più interessante è stato ritrovare nell’articolo l’eco di una tesi che io stesso avevo presentato qualche tempo fa su questo blog, ovvero l’importanza dell’hype al contrario nei meccanismi che entrano in gioco quando diamo o riceviamo un consiglio.

Cito dall’articolo:

How many times has this happened to you: a friend recommended you a movie or a restaurant, so you went there all excited - but ended up disappointed? A lot! It is obvious that hype sets the bar high, increasing the chances of a miss. In math speak, this kind of miss is known as a false positive. Consider now what would happen if instead of recommending a movie, a friend tells that you are not going to like certain movie, so do not bother renting it.
What bad can come of that? Not much, because likely you are not going to watch it. But even if you do and you like it, you are not going to be experience negative feelings. This example demonstrates the difference between our reaction to a false negative and a false positive. False positives upset us, but false negatives do not.

Ciò che più mi ha colpito - ben oltre il fatto di ritrovare le mie convinzioni confermate - è la chiara distinzione tra gli effetti dell’hype e quelli dell’hype al contrario: a differenza del primo, il secondo sembra essere praticamente a rischio zero.

Che poi il discorso si applichi meglio ai recommendation engine piuttosto che non alle persone è palese. Però ora ci penserò due volte, prima di dare un consiglio.
E vi consiglio di fare lo stesso :D

Come funziona IBAN

Thursday, January 31st, 2008

Come dicevo poco tempo fa, ultimamente mi è venuta la curiosità di capire come funzioni il codice IBAN - il codice alfanumerico che dal 1° gennaio 2008 deve essere utilizzato per identificare i conti bancari.
In realtà il codice IBAN è piuttosto semplice: non è altro che l’unione delle vecchie coordinate bancarie, a cui vengono aggiunti degli identificativi internazionali.

Nazione + CD + CIN + ABI + CAB + Numero Conto

Quindi, ad esempio, un codice IBAN valido sarà:

IT 60 X 05428 11101 000000123456

CD e CIN sono dei caratteri di controllo (checksum). Un checksum è una cifra che viene calcolata applicando una funzione matematica ad una serie di dati e serve ad verificare che siano corretti. Ad esempio, prendiamo un numero di 4 cifre come “4321″ e calcoliamo un checksum che sia “1 se la somma delle cifre è pari, 0 se è dispari”. Essendo 4+3+2+1=10 (pari), il checksum sarà “1″. Ora, supponiamo di scrivere per sbaglio il nostro numero come “4351″. Avremo 4+3+5+1=13 (dispari), che non corrisponderà più al checksum: il meccanismo ci ha permesso di accorgerci di un errore.

Ovviamente CD e CIN sono calcolati in maniera meno banale, per garantire una maggiore sicurezza. Vediamo in dettaglio come.

CIN

Il CIN (Control Internal Number) è una lettera dell’alfabeto che rappresenta un checksum per ABI, CAB e Numero di conto corrente. E’ specifico per gli IBAN che riguardano l’Italia (ed esisteva anche prima). Si calcola così:

  1. Si ottiene una stringa concatenando ABI, CAB e Numero di conto (davanti al numero di conto si aggiungono tanti zeri quanti sono necessari a far sì che la stringa sia di 22 caratteri)
  2. Si converte ogni carattere in posizione dispari (primo, terzo, quinto…) in una cifra tra 0 e 25, in base a una tabella (vedi sotto)
  3. Si converte ogni carattere alfabetico in posizione pari (secondo, quarto…) in una cifra tra 0 e 25 (A=0, B=1, …, K=10, …, Z=25)
  4. Si sommano le cifre così ottenute
  5. Si divide per 26: al resto della divisione (mod26) si fa corrispondere una lettera dell’alfabeto (0=A, 1=B, …, 25=Z)

La tabella di conversione per i caratteri dispari funziona nel modo seguente: A/0 => 1, B/1 => 0, C/2 => 5, D/3 => 7, E/4 => 9, F/5 => 13, G/6 => 15, H/7 => 17, I/8 => 19, J/9 => 21, K => 2, L => 4, M => 18, N => 20, O => 11, P => 3, Q => 6, R => 8, S => 12, T => 14, U => 16, V => 10, W => 22, X => 25, Y=> 24, Z => 23.

E’ da notare che i caratteri in posizione pari vanno convertiti solo se sono lettere: se sono già numeri non è necessaria alcuna conversione.

Supponiamo ad esempio di avere come ABI 05428, come CAB 11101 e come Numero di conto 000000123456. Associamo le cifre ai vari caratteri:

0 5 4 2 8 1 1 1 0 1 0 0 0 0 0 0 1 2 3 4 5 6
1 5 9 2 19 1 0 1 1 1 1 0 1 0 1 0 0 2 7 4 13 6

La somma delle cifre così ottenute è 75, che diviso per 26 fa 2 col resto di 23. Al 23 corrisponde la lettera X, che infatti è il nostro CIN.

CD

La cifra di controllo (CD: Check Digit) è quella che si trova subito dopo l’identificativo della nazione e serve come checksum dell’intero IBAN. Il meccanismo per calcolarlo è lo stesso per ogni paese:

  1. Si inizia ponendo la CD (che è ignota) pari a 00
  2. Si spostano i primi 4 caratteri dell’IBAN (identificativo della nazione e CD) dalla sinistra alla destra della stringa
  3. Si convertono tutti i caratteri alfabetici in numeri compresi tra 10 e 35 (A=10, B=11, …, Z=35)
  4. Si divide per 97 e si considera il resto della divisione (mod97)
  5. Si sottrae il risultato a 98, ottenendo la CD

Sempre utilizzando l’IBAN dell’esempio precedente, spostiamo i primi 4 caratteri ottenendo:

X0542811101000000123456IT00

Sostituiamo le lettere ai numeri corrispondenti:

330542811101000000123456182900

Effettuando l’operazione di mod97 avremo 38, che sottratto a 98 ci fornisce la CD, ovvero 60. Attenzione: a differenza del CIN, non bisogna sommare le cifre tra loro prima dell’operazione di mod97: per quanto possa sembrare strano, la divisione va fatta proprio sul lunghissimo numero ottenuto al punto 3. Una buona calcolatrice scientifica non dovrebbe comunque avere problemi ad eseguire l’operazione. Funziona anche con la calcolatrice di Windows ;)

UPDATE 5/7/08: Ho modificato leggermente il post cercando di chiarire alcuni punti.

Paura e ragione

Friday, January 11th, 2008

Leggo - tramite segnalazione di Bruce Schneier - un articolo di Newsweek sull’uso delle paure nella comunicazione politica.

Al di là del contenuto del (lungo) articolo, è interessante la premessa neurologica che anche Schneier evidenzia:

The evolutionary primacy of the brain’s fear circuitry makes it more powerful than the brain’s reasoning faculties. The amygdala sprouts a profusion of connections to higher brain regions—neurons that carry one-way traffic from amygdala to neocortex. Few connections run from the cortex to the amygdala, however. That allows the amygdala to override the products of the logical, thoughtful cortex, but not vice versa. So although it is sometimes possible to think yourself out of fear (”I know that dark shape in the alley is just a trash can”), it takes great effort and persistence. Instead, fear tends to overrule reason, as the amygdala hobbles our logic and reasoning circuits. That makes fear “far, far more powerful than reason,” says neurobiologist Michael Fanselow of the University of California, Los Angeles. “It evolved as a mechanism to protect us from life-threatening situations, and from an evolutionary standpoint there’s nothing more important than that.”

In pratica: la paura è biologicamente più forte della ragione. Nulla di nuovo, ma fa un certo effetto leggerlo nero su bianco, non è vero?

Majorette nude

Monday, December 10th, 2007

Ormai più di un anno fa, avevo scoperto con una certa sorpresa alcune curiose chiavi di ricerca tra le statistiche del mio sito. Da allora le ho tenute d’occhio attentamente, alla ricerca di qualche perla… ed ora eccole qua:

  • “cos’è l’arte”: pretenzioso…
  • “url di youtube”: prova a indovinarlo
  • “simbul addominali”: not found :D
  • “come fare un patto con satana”: prova a telefonargli, prima
  • “penetrazione”: non voglio sapere quale dei possibili significati stavi cercando :D
  • “attaccare etichette”: affascinante! :D
  • “majorette nude”: interessante misto tra universitarie nude e il mercatone di Fizzonasco
  • “stock di carta igienica”: come mai questa ricerca porta qui?
  • “cinture che girano”: eh?
  • “come costruire un semplice circuito elettrico con i bambini”: mah, io userei delle resistenze, invece dei bambini…
  • “politane”: prego?
  • “abaco zuzzurellone”: questa è meravigliosa :D
  • “hentai blog”: lo prenderò in considerazione, se un giorno volessi aumentare le mie visite…
  • “uccidi hamtaro”: allora è vero che i cartoni giapponesi rendono violenti!
  • “i’m going to be an engineer”: ripensaci!
  • “10 frases com o verbo tuby”: uh?
  • “britnei spece snza mutande”: chi??

Rimane saldamente tra le prime posizioni l’evergreen “universitarie nude” in tutte le sue possibili declinazioni. Mi ha invece stupito la frequenza del termine “emo” tra le chiavi di ricerca: dall’inizio dell’anno ad oggi più di mille visitatori sono arrivati a questo sito con una parola chiave contenente “emo”… e praticamente non ne ho parlato mai :D

Got Milk?

Thursday, December 6th, 2007

Osservate per un attimo questa bottiglia:

G@t Milk?

Cosa potrà mai contenere? Sarà forse LATTE? O magari sarà sapone liquido?

Il design di questa etichetta è talmente assurdo che fa sorridere: i due elementi maggiormente in evidenza - la scritta gigante e la foto del latte che viene versato nel bicchiere - rappresentano curiosamente proprio ciò che il prodotto non è. Per quanto difficilmente qualcuno potrebbe essere tratto in inganno fino al punto di bersi con i cereali una tazza di sapone liquido, è evidente che la scelta comunicativa non è delle migliori.

Andando al di là del caso specifico, errori di questo tipo sono a mio parere rivelatori di una delle più difficili sfide che si presentano a chi deve comunicare un prodotto, che si tratti di progettare un’etichetta, di preparare una lezione universitaria oppure di stendere una documentazione.

La sfida sta nel liberarsi della propria forma mentale per assumere quella del potenziale utente: mettersi cioè nei panni di chi del prodotto non sa nulla. L’errore nell’etichetta del prodotto di cui sopra (lattone? saponatte?) è molto banale: si dà per scontato che il tipo di prodotto sia già noto e si evidenzia piuttosto una sua caratteristica specifica. Questo ovviamente soddisfa il designer - che sa perfettamente di lavorare su un sapone - ma non tiene in considerazione il fatto che l’utente vuole sapere che diavolo di prodotto si trova davanti, prima di preoccuparsi se sia aromatizzato al mughetto o alla lavanda :D

In ambito informatico, questo è lo stesso principio che rende tanto difficile scrivere della documentazione comprensibile: bisogna partire dal punto di vista di chi non sa nulla, pur sapendo in realtà già tutto.
Non escludo che qualcuno possa anche essere all’altezza di un tale compito senza bisogno di aiuto, ma per tutti i comuni mortali il mio consiglio è di chiedere sempre un parere a qualcuno che davvero non sa nulla del prodotto software in questione. Se la documentazione è chiara, riuscirà a decifrarla senza problemi. Altrimenti… toccherà tornare allo scrittoio ;)