Tutti gli articoli di gigabytes

L’ennesimo Charlie Hebdo

Il 7 gennaio a Parigi, non sono solo morte 12 persone, è morta per la milionesima volta anche il raziocinio. Qualcuno dirà “se la sono cercata”, e in quel momento la razionalità e il buon senso moriranno di nuovo. Qualcun altro dirà “questo non è l’Islam”, una frase detta così spesso che forse chi la dice dovrebbe farsi due domande. Qualcun altro dirà “questo è l’Islam”, come se nessuno abbia mai assassinato impunemente in nome di qualche altro sinonimo di Yahweh.

Ora ditemi se è possibile pensare di venire ammazzati a sangue freddo per aver fatto un disegno. Ditemi se è possibile pensare di ammazzare qualcuno a sangue freddo per aver disegnato qualcosa, solo perché un pezzo di mediocre letteratura vecchio di millenni ti dice di farlo.

Qualcuno ha detto “L’europa si dovrà affidare a quello che ha di più forte, ovvero i suoi valori”. Ma quali valori? Quegli stessi valori che fino a tre secoli fa facevano bruciare vive le “streghe”? (si, solo tre secoli, l’ultima è stata bruciata nel 1782)

O forse sarebbe ora di riferirsi a valori diversi, quei valori grazie ai quali l’Europa che tanto si decanta ha lasciato la barbarie (non del tutto, visto che ora le nuove streghe sono omosessuali e immigrati…). Questi sono i valori della razionalità e della logica, che mai nella vita suggeriranno a qualcuno di armarsi di pistola e uccidere.

Parafrasando una battuta che ho sentito dire tempo fa:

Non ho mai sentito al telegiornale che un commando di atei fondamentalisti abbia ammazzato a sangue freddo un gruppo di agnostici per aver preso in giro il pi greco

Non esisterà mai pace, finché la verità verrà “rivelata” dagli dei invece che scoperta con il telescopio. Non esisterà mai pace in questo sperduto sasso alla deriva, finché le sue briciole non smetteranno di comportarsi come se fossero al centro dell’universo.

Avere ragione non serve se non sai perché

I suggerimenti automatici di video su YouTube possono a volte rivelare sorprese. È il caso di questo video che mi è stato consigliato dalla home page e su cui ho per caso avuto la curiosità di clickare.

Si intitola “Intelligent Atheists Left Speechless On A Question On Evolution”

http://www.youtube.com/watch?v=Ckfrn5-86xU

Come si può intuire, si tratta dell’ennesimo tentativo del creazionista di turno di screditare l’evoluzionismo. In questo caso l’autore si accanisce su questi atei che si credono così tanto intelligenti, ma poi non sanno rispondere a domande base sulla teoria che tanto acclamano. Quindi, dice lui, perché credere in una teoria così poco conosciuta dai suoi stessi sostenitori?

Continua la lettura di Avere ragione non serve se non sai perché

Approvato definitivamente lo standard C++14

L’annuncio ufficiale arriva direttamente dalla C++ Software Foundation. Dopo il meeting di Issaquah a febbraio si sapeva che era solo questione di tempo, e tutto è infatti andato per il verso giusto e il documento è stato approvato definitivamente in tutte le sedi nazionali dell’ISO.

Per dare un’occhiata iniziale alle novità si può guardare la pagina di Wikipedia, ma la novità principale è di tutt’altro tipo. Per la prima volta, infatti, il giorno stesso della ratifica dello standard sono già disponibili implementazioni complete e conformi, come ad esempi clang e g++, e altre lo saranno a breve.

Se si pensa che tra la standardizzazione del C++98 e la piena conformità allo standard dei principali compilatori sono passati almeno 5 anni, questo è un traguardo importantissimo. Ha sicuramente giocato un ruolo fondamentale la maggiore collaborazione del comitato di standardizzazione con la comunità di utenti e di sviluppatori.

Il prossimo appuntamento il C++17, che già promette di essere un aggiornamento ambizioso quanto lo è stato il C++11, ma senza i ritardi che lo hanno caratterizzato.

C++11 singleton pattern, again, really.

In questo post voglio correggerne uno di qualche tempo fa, precisamente questo. Il post non contiene errori, che io sappia, ma ha un fondamentale problema: la soluzione presentata è lungi dall’essere ottimale.

Il problema è l’implementazione di un singleton thread-safe, e presentavo la soluzione alle race-condition del Double Checked Locking usando i nuovi std::atomic del C++11. Il punto è che sporcarsi le mani con tipi atomici, sincronizzazioni, locking e quant’altro, in C++11 non serve proprio.

Continua la lettura di C++11 singleton pattern, again, really.

Buon Darwin Day a tutti!

Oggi 12 febbraio si festeggia il Darwin Day 2014, nell’anniversario della nascita del biologo naturalista Charles Darwin.

É molto interessante questa iniziativa, che ci ricorda che nonostante tutto quello che è successo dal 1809, la scienza e la logica di noi scimmie evolute hanno ancora molto da fare per diminuire il numero di scimmiotti in circolazione (coloro che scimmiottano ciò che gli viene insegnato senza metterlo in discussione).

Buon compleanno, Charles!

A quanto pare, la fisica quantistica dimostra un po’ di tutto…

Gira di nuovo su Facebook questo link:
La fisica quantistica dimostra che la vita continua dopo la morte

Leggetelo con calma ma non aspettatevi illuminazioni. Si tratta di una bufalata vecchia come la morte, appunto… Girava un articolo sulla stessa notizia almeno un anno fa. Non entro nel merito di cosa la fisica quantistica dica o non dica, perché non essendo un fisico evito di fare brutte figure, ma nella mia ignoranza scorgo le caratteristiche tipiche di tutto quel sotto genere di “pseudo-scienza” che si aggira sui social network come un virus. Stessa notizia reiterata nel tempo. Titolo clamoroso. Assenza di fonti. Nessuno ne parla, perché tutti tacciono?

Se ci si vuole sporcare le mani con la vera fisica quantistica, si può partire da qui. Altrimenti, è facile incorrere in qualsiasi tipo di strafalcione, perché le ipotesi e i risultati di questa branca della scienza sono così paradossali per il senso comune che è difficile distinguerli dalle stupidaggini, se non si va a fondo.

Continua la lettura di A quanto pare, la fisica quantistica dimostra un po’ di tutto…

C# lock keyword in C++11 (quasi)

Alcuni linguaggi, come il Java o il C#, mettono a disposizione una primitiva a livello di linguaggio per specificare che un certo blocco di codice debba essere eseguito da un solo thread alla volta. In C# questa parola chiave è lock, che funziona più o meno così:

lock(obj) {
   something();
}

Ogni thread che esegue questo pezzo di codice sulla stessa istanza di obj acquisisce un lock esclusivo (dichiarato automaticamente dal compilatore nella classe di appartenenza del codice in questione).

Continua la lettura di C# lock keyword in C++11 (quasi)

I dare you to say new and delete again, I double dare you

Una delle cose che tormentano i programmatori C e C++ di tutte le età è l’annosa questione della gestione della memoria.

Una delle cose che più mi piacciono del C++11 è proprio come viene affrontato il problema. Ero tentato di dire “risolto”, ma sarebbe stato errato. In effetti, il problema della gestione della memoria non si può “risolvere” con qualche feature del linguaggio. Si deve affrontare apertamente.

Continua la lettura di I dare you to say new and delete again, I double dare you