Youtube e i video che spariscono
5 Novembre 2009
Vorrei lamentare un grosso problema che ho riscontrato nel mantenimento di questo blog: la volatilità di molti video di Youtube.
Andando indietro a rivedere alcuni dei post dell’anno scorso, mi sono accorto che molti video linkati all’interno delle pagine sono scomparsi: alcuni perchè violavano il copyright, e quindi Youtube li ha rimossi, altri perchè sono stati rimossi direttamente dagli utenti.
Non contesto nè le decisioni di Youtube nè quelle degli utenti, ma sicuramente posso dire che è un po’ demoralizzante vedere il proprio lavoro sparire nel nulla a distanza di tempo. Non ho francamente nè la voglia nè il tempo di ristabilire tutti i link scomparsi (broken, rotti, in inglese) per cui chiedo a chi eventualmente fosse stato interessato proprio a quei video di portare pazienza: d’altronde, sono facilmente reperibili con una ricerca su Youtube, e il testo di commento che io scrivo non scompare, quello resta.
Marziale e la vita del saggio
2 Novembre 2009
Dal quinto libro degli Epigrammi di Marziale, riporto il testo numero 58:
Cras te victurum, cras dicis, Postume, semper.
Dic mihi, cras istud, Postume, quando venit?
Quam longe cras istud, ubi est? Aut unde petendum?
Numquid apud Parthos Armeniosque latet?
Iam cras istud habet Priami vel Nestoris annos.
Cras istud quanti, dic mihi, posset emi?
Cras vives? Hodie iam vivere, Postume, serum est;
Ille sapit quisquis Postume, vixit heri.
L’uomo saggio dunque non vive nel domani: è già vissuto ieri.
Traduzione (di Simone Beta):
Domani, mi dici sempre che vivrai domani, Postumo.
Ma dimmi, questo “domani”, quando arriva?
Dov’è questo “domani”? È lontano? Dove si trova?
Si nasconde forse tra i Parti e fra gli Armeni?
Ormai questo “domani” ha gli anni di Nestore o di Priamo.
Quanto costa, dimmelo, questo “domani”?
Vivrai domani? Vivere oggi, Postumo, è già tardi:
il vero saggio, Postumo, è vissuto ieri.
Persona 4 – Hai giocato troppo quando…
22 Ottobre 2009
Da poco ho avuto il piacere di giocare a questo gioco per Playstation 2, e devo dire di essere rimasto molto, molto contento. Era dai tempi di Final Fantasy X e Kingdom Hearts che un rpg non mi coinvolgeva così tanto.
Persona 4 è un gioco in cui si impersona un ragazzo, il tipico eroe silenzioso, che ha la capacità di entrare nella televisione e usare un misterioso potere per combattere le cosidette “shadows“, i nemici di turno. Il suo compito è quello di salvare la gente che viene buttata dentro alla tv, che viene uccisa se non tirata fuori in tempo.

Non solo questo, è un gioco che dà anche grande importanza all’aspetto quotidiano della vita, scandendo le giornate tra mattino a scuola, pomeriggio a salvare la gente e sera a lavorare part-time.
Chi ci ha giocato sa sicuramente di cosa sto parlando, per cui vorrei condividere uno dei tipici pensieri che si fanno quando si gioca a lungo a un qualunque videogame:
Sai di aver giocato troppo a Persona 4 quando…
- Non ti perdi mai le previsioni del tempo. MAI. Per nessuna ragione.
- Se la mattina quando ti svegli piove, cominci ad agitarti.
- Se c’è nebbia, sudi freddo.
- Resti alzato fino a mezzanotte sperando che la tv si accenda da sola mostrando qualche ombra indistinta.
- Provi a entrare nella tv prima con la mano, poi con tutta la testa.
- Cerchi un fabbro nelle vicinanze perchè possa forgiare le tue armi.
- Ti viene da prendere a calci nel sedere ogni persona vestita da pupazzo-orsetto che vedi.
- Prendi parte a un corso di recitazione perchè la tua espressione aumenti di livello.
- Quando devi dire qualcosa a qualcuno, verifichi che il tuo livello di coraggio sia adeguato.
- Il professore ti interroga, e tu rispondi: “PERSONA!!!”
- Inizi a capire gli incrompensibili nomi che le magie hanno.
- Vai in giro con una katana in una mano e un coltello nell’altra, cercando, se possibile, un luogo dove ci sia anche un poliziotto nelle vicinanze, e inizi ad agitarle a vuoto nell’aria minacciosamente.
Se avete altre idee scrivetele pure.
Programmino per decriptare
4 Ottobre 2009
Leggendo l’articolo sulla Wikipedia inglese relativo alla crittografia ho notato un link a un programmino che permette di imparare come funzionano i principali algoritmi di crittografia e di hashing: CrypTool.
Questo programmino, sviluppato dall’università di Darmstat e Siegen in un progetto open-source che ha anche molti altri apporti, permette di applicare algortimi che vanno dal semplice rot13 ai modernissimi DES e AES. Non solo questo: permette di condurre in maniera automatica degli attacchi di crittanalisi, rivelando il testo in chiaro di alcuni degli algortimi più elementari senza conoscere la password.
Non si può certo pretendere di decrittare l’AES, se però qualcuno vuole giocarvi uno scherzo usando messaggi crittati in maniera semplice, questo programma può risultare utile.
Supporto tecnico – Come risolvere i problemi del proprio computer
5 Settembre 2009
Vagando su Internet mi sono imbattuto in un sito molto divertente: xkcd.com. La peculiarità di questo sito è quella di presentare delle vignette molto divertenti che hanno come temi l’informatica, il mondo dei computer, la matematica e molto altro ancora. Alcune sono particolarmente sottili, tanto da risultare persino difficili da capire. Sono però tutte in inglese.
Ciò che rende queste vignette irresistibili è la forza della parola, che sovrasta lo stile minimalista del disegno. A questo proposito voglio riportare una vignetta che mi ha molto divertito.

Questo diagramma ha più di un fondo di verità: generalmente, quando qualcosa non funziona, si va per tentativi. Alcune persone, che non masticano molto di “informatica”, pensano che esistano dei guru, delle persone dai poteri sovrumani che conoscono tutto dei computer e che, in caso di errore, sanno sempre esattamente cosa fare.
In realtà, come sa ogni buon “local computer expert” (leggere: power user) , quando si deve risolvere un problema al computer la prima cosa da fare è usare il buon senso, cercando quelle che possono essere le cause più semplici del problema. Se la risposta non arriva nell’immediato (vedi sopra “pick one at random”), si va su Google e si cerca. Se anche quello non dà frutti, si chiama il supporto tecnico (“ask someone for help”).
E’ sbagliato pensare però che le persone al supporto tecnico siano onniscienti: anche loro usano il buon senso, sono semplicemente più competenti in un campo più specifico, di solito relativo all’applicazione con la quale si hanno dei problemi.
Qual è il succo di tutto ciò? Il succo è che non esiste nessuna “enciclopedia universale del computer”: ognuno si specializza nel campo che più gli interessa (programmazione, reti, Linux, Windows, editing video, audio etc…) ed ha un’infarinatura base di tutto il resto. Questo è il “local computer expert” del diagramma.
Teorema della solitudine cronica: l’amore non è matematica
3 Settembre 2009
Andiamo subito al sodo (immagine tratta da xkcd.com):

Mi sento così ogni volta che sono di fronte a una ragazza che mi piace, o ogni volta che ci penso. Forse dovrei agire più d’istinto, ma la paura di essere rifutato è grande. La paura più grande però, è quella di sentir rispondere che un ragazzo ce l’ha già: oltre che alla figuraccia, l’occasione persa.
La matematica è così semplice in confronto: perfino la trasformata di Fourier è più comprensibile.
Project Euler – Problema 5
2 Settembre 2009
Ecco la soluzione al problema 5 in Haskell:
divisibilefinoan (x, n)
|n==1 = if(x `mod` n)==0 then True else False
|otherwise = if(x `mod` n)==0 then divisibilefinoan (x, (n-1)) else Falseloop n = if(divisibilefinoan (n, 20)) then n else loop (n+2)
– Ottimizzazione per far partire il loop che verifica se è divisibile fino a quel numero
– da un punto più avanzato: il numero che cerchiamo sarà sicuramente >2520 (che è multiplo
– di tutti i numeri fino a 10), comprenderà i fattori 11, 13, 17 e 19 (che sono numeri primi
– compresi tra 10 e 20) e un fattore 2 aggiuntivo (dovuto a 16, che è due alla quarta,
– mentre il due compariva al massimo con esponente 3 in otto). Praticamente equivale a
– risolverlo a mano.
result = loop (2520*11*13*17*19*2)
Il testo del problema:
2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder.
What is the smallest number that is evenly divisible by all of the numbers from 1 to 20?
Project Euler – Problema 7
1 Settembre 2009
Riporto la soluzione al problema 7 in Haskell:
–Controlla se un numero è primo
isprime 2 = True
isprime t = if (filter (==0) (map (t`mod`)[2.. ceiling(sqrt (fromIntegral t))])==[]) then True else Falsefindnextprime x = if(isprime(x+1)) then x+1 else findnextprime(x+1)
addnextprime xs = [findnextprime (head xs)] ++ (xs)
milleeuno xs = if (length xs==10001) then head xs else milleeuno(addnextprime xs)
result = milleeuno [2]
Testo del problema:
By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is 13.
What is the 10001st prime number?
Project Euler – Problema 10
31 Agosto 2009
Riporto la soluzione al problema 10 in Haskell:
–Controlla se un numero è primo
isprime 2 = True
isprime t = if (filter (==0) (map (t`mod`)[2.. ceiling(sqrt (fromIntegral t))])==[]) then True else Falselistadeiprimi = [x|x<-[3, 5..2000000], isprime x]
listaprimi = 2 : listadeiprimi
result = sum listaprimi
Il programma non è ottimizzato: è stato fatto in un paio di minuti ed è molto migliorabile.
Il testo del problema:
The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.
Find the sum of all the primes below two million.
Project Euler – Problema 3
29 Agosto 2009
Riporto la soluzione in Haskell al terzo problema del Progetto Eulero:
n = 600851475143
–Controlla se un numero è primo
isprime 2 = True
isprime t = if (filter (==0) (map (t`mod`)[2.. ceiling(sqrt (fromIntegral t))])==[]) then True else False– Risolve il problema
– N.B: L’algoritmo riporta solo i fattori primi, non l’esponente a cui compaiono
fattoriprimi = [x|x<-[x|x<-[2..ceiling((fromIntegral n)/2)], (n `mod` x)==0], isprime x]
result= maximum fattoriprimi
N.B: Testare il risultato può rihiedere molto tempo. Se e quando avrò tempo ottimizzerò il programma .
Ecco il testo del problema:
The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143 ?

