C’è una piccola curiosità che vi porto dal mondo Java…
Tutte le classi Java iniziano con gli stessi 4 bytes, siano esse semplici classi per stampare “Hello World” o pezzi di codice per gestire l’autenticazione di una banca…questi 4 bytes se visti con un editor esadecimale mostrano queste parole:
CAFEBABE
Se volete potete anche provare:
Creare un file Hello.java
public class Hello { public static void main(String[] args) { System.out.println("Hello World!"); } }
Compilate la classe Hello:
javac Hello.java
Otterrete un file Hello.class che se aperto con un editor esadecimale vi mostrerà questo:
Ok, ma perché???
Tecnicamente questa cosa si chiama Magic Number, una sorta di identificativo per vari scopi, principalmente capire che tipo di file è.
Ma perché CAFE BABE???
Il capo del team di sviluppatori Sun Microsystems che ha realizzato Java, James Gosling lo spiega così:
We used to go to lunch at a place called St Michael’s Alley. According to local legend, in the deep dark past, the Grateful Dead used to perform there before they made it big. It was a pretty funky place that was definitely a Grateful Dead Kinda Place. When Jerry died, they even put up a little Buddhist-esque shrine. When we used to go there, we referred to the place as Cafe Dead. Somewhere along the line it was noticed that this was a HEX number. I was re-vamping some file format code and needed a couple of magic numbers: one for the persistent object file, and one for classes. I used CAFEDEAD for the object file format, and in grepping for 4 character hex words that fit after “CAFE” (it seemed to be a good theme) I hit on BABE and decided to use it. At that time, it didn’t seem terribly important or destined to go anywhere but the trash-can of history. So CAFEBABE became the class file format, and CAFEDEAD was the persistent object format. But the persistent object facility went away, and along with it went the use of CAFEDEAD – it was eventually replaced by RMI.
Non a caso il logo di Java è una tazza di caffè:
Ci sono altre congetture dietro questi 8 caratteri:
0xCAFEBABE convertito in decimale equivale a 340561582
Se si sommano tutte le cifre di 340561582 otterrete 43, che è un numero primo.
ma è anche uno più di 42 … che è un numero abbastanza famoso
(fonte Wikipedia)
Informatica
- È il numero all’inizio di ogni archivio di immagine TIFF.
- Il carattere ASCII corrispondente al valore decimale 42 è
*
.- Nel file system Reiser4 il numero 42 corrisponde all’inode della root.
- La funzione
memfrob
delle glibc effettua uno XOR tra una struttura dati ed il pattern 00101010 (42 in binario).- Nella saga Guida galattica per gli autostoppisti il 42 è la risposta alla “domanda fondamentale sulla vita, l’universo e tutto quanto”.
- Se si pone la domanda “Qual è il senso della vita?” a Siri, l’assistente vocale di Apple presente su iPhone e iPad, si otterrà la risposta 42; analogamente ponendo la stessa domanda a Cortana, l’assistente vocale di Windows (presente su Windows Phone 8.1 e su Windows 10) risponderà: “Ho sentito da una fonte molto attendibile che la risposta è 42”. Entrambe le citazioni di iPhone e di Windows Phone derivano dal romanzo Guida galattica per gli autostoppisti.
- Ricercando la stringa “The answer to life the universe and everything” su Google la calcolatrice integrata risponde 42. Anche in questo caso si tratta di una chiara citazione alla saga di Adams.
Sport
-
È la distanza in chilometri di una maratona ufficiale (42 km e 195m, olimpiadi 1908 e dal 1924).
-
È il numero della maglia di Jackie Robinson, che fu il primo giocatore di Baseball afroamericano a esordire nella Major League moderna nel 1947, sfidando le consuetudini razziali di quel periodo (baseball color line) e dando il via al processo di eliminazione della barriera razziale nel baseball. In suo onore il numero 42 fu ritirato dai Dodgers nel 1972 e dall’intera Major League nel 1997.
Quindi uno più di tutto questo elencato qui sopra 🙂
Dedicato a chi vede la magia nell’IT