O narici di ciranO

Nel libro di Mario LIVIO del 2005 (L’equazione impossibile. Come un genio della matematica ha scoperto il linguaggio della simmetria) si cerca di dare una spiegazione del fatto che pare che l’universo prediliga la simmetria.

Sembra che la riproduzione prediliga la simmetria come forma di ridondanza e di attrattiva
Ecco perché due pallucce e due ovaie.
Ecco perché un soggetto asimmetrico non attira: potrebbe essere malato, ma sopratutto potrebbe essere fallato geneticamente e questo non è bene per la specie. Può sembrare cinico, ma la natura è cinica e amorale.

Infatti noi umani abbiamo opposto la morale alla naturalezza, ma la natura non lo sa, e continua a programmare il firmware dei viventi in maniera da prediligere alcune forme.

Pare anche che la simmetria permetta ad alcune specie di cavarsela meglio in condizioni di emergenza, perché le aiuta a distinguere istintivamente i falsi positivi dalle reali situazioni di pericolo.

Sembra infine che la riconoscibilità di alcune forme si debba alla simmetria.

Come spesso accade in casi come questo, si scomodano psicologi cognitivisti, biologi evolutivi e tanta tanta matematica.
Ognuno dal suo punto di vista, offre un’interpretazione convincente del perché pare che tutto sia simmetrico in condizioni naturali.
Il problema è che se tutte le spiegazioni sono convincenti e almeno due tra queste sono incompatibili, la logica matematica insegna che nessuna è verosimile.

Siccome io per mestiere mi occupo di informatica, una spiegazione ce l’ho.
Non convincerà nessuno a parte il sottoscritto, e non ha fondamento scientifico; eccovela.

Dicevo che sembra che la riconoscibilità dei alcune forme si debba alla simmetria.
Riconoscere significa ri-conoscere, ovvero presuppone che prima uno conosca.

Conoscere è memorizzare + ritrovare in memoria; solo memorizzare è sgabuzzino.
Memoria, dunque, più logica di ricerca.

La memoria ha un limite; ammettendo che tutti i componenti di una massa possano memorizzare informazione, la possibilità di memorizzare ha un limite fisico.
Ma la capacità reale di memorizzazione è molto inferiore al limite fisico, perché il supporto va intanto creato con parte della massa che ne diviene struttura e poi formattato in modo che vi si possa accedere in ricerca utile senza effetto sgabuzzino. E sto tralasciando la memoria a breve termine, che è la RAM di noi animali, che va scalata dal totale. Infine il programma che serve a fare ricerca va scritto in memoria, e ne occupa una parte.

Il cervello non fa eccezione, ed ha una capacità di memorizzazione che compete con il firmware che serve a fare ricerche.
O intelligentissimi, ma a cercare sul nulla o tronisti con una memoria enorme, ma vai a sepere a cosa serve; nel mezzo sta la realtà, ovvero parte del cervello fa logica e parte fa memoria.

Vi siete rotti i coglioni di leggere?
Quasi finito, su…

Bene, se invece di memorizzare un volto, ne memorizziamo metà e aggiungiamo un tag come ribaltare orizzontalmente, abbiamo la stessa informazione in metà spazio. Quindi possiamo metterci il doppio del contenuto o quasi (il quasi è per lo spazio occupato dai tag).

Vale anche per l’asimmetria temporanea e moderata.
Un volto = metà + ribaltamento orizzontale + occhio destro chiuso (perché ammicca).

Ancora.
Cirano: un volto + naso mooolto lungo.

Il volto è il solito, e l’eccezione sono pochi byte in più.
Ecco perché la natura, per uno che sta in miniera e cava codice e documenti di analisi come me, privilegia la simmetria; perché si può esprimere con la metà dell’informazione e un po’ di note.
Quasi raddoppia la capacità di memorizzazione.

Finito.

P.S.: leggete il libro, che merita.

Il titolo deriva da questo palindromo.

Polimorfisno

Da Object-Oriented Programming with Objective-C © Apple Inc. del 2008-11-19.

Overloading: The terms “polymorphism” and “argument overloading” refer basically to the same thing, but from slightly different points of view. Polymorphism takes a pluralistic point of view and notes that several classes can each have a method with the same name. Argument overloading takes the point of the view of the method name and notes that it can have different effects depending on the arguments passed to it. Operator overloading is similar. It refers to the ability to turn operators of the language (such as == and + in C) into methods that can be assigned particular meanings for particular kinds of objects. Objective-C implements polymorphism of method names, but not argument or operator overloading.

Forse sono troppo legato a Java, e il fatto che adesso sia in mano a Oracle mi fa cercare delle alternative anche di nicchia in maniera irrazionale, ma se questo è il polimorfismo dell’Objective-C…

R 20110111 1937

I am what I am because of who we all are

Sempre a proposito di Linux e dintorni, leggevo stamattina di un utente che torna a Debian da Ubuntu.

Ricordate che Ubuntu era una Debian, ma una Debian senza nessuno dei vantaggi delle Debian.
Oggi continua a dire di essere una Debian, un po’ come alcuni giornali dicono che in Italia non c’è alcun pericolo per la democrazia.
In realtà Ubuntu dovrebbe avere dei parametri di default conservativi e rivolti all’utente che non sa nemmeno cosa sia un SO.

Quindi l’utente root esiste ma non è attivo a livello di shell e quindi l’utente di default, che è una specie di admin impotente, fa parte dei sudoers e basta.
Volendo abilitare root gli si attribuisce una password come in
sudo passwd root
E da quel momento si può fare su invece di sudo.
Pochi caratteri in più e root ha anche accesso all’interfaccia grafica.

Ora, se questo fosse il problema, non è che non si dovrebbe usare Ubuntu per questo.

Il post che citavo all’inizio parla di libertà, di free as in freedom e non free as in free beer, e alcune cose free as in gnente perché si pagano.
Parla di copyleft e copyright, parla di delusione delle community verso una corporation, che mi pare una cosa abbastanza ridicola.

In realtà il problema vero di Ubuntu è che ad ogni aggiornamento (che è semestrale, malgrado tutto e cascasse una pannocchia…) infilano nella distro una quantità di regressioni e soprattutto una infinità di pacchetti instabili, alcuni nelle prime fasi di beta, solo per poter avanzare la versione/il rilascio e sembrare freschi, in modo da convincere orde di onanisti a sdraiare i server della distro non appena annunciata, infilando ogni volta qualche cavalluccio di Troia come ultimamente UbuntuOne.

Stranamente, se gli onanisti hanno melucce luminescenti e si spellano i ditini a predire il nome del futuro tablet, sembrano bambini deficienti perché Apple vende e non regala; se invece sono ubuntiani e fanno il record di download nella prima mezz’ora son cose belle.

Accadde con Firefox 3.x beta che aveva delle vulnerabilità di sicurezza da paura, accadde con OpenOffice 3.x che era in realtà la prima beta, accade con i driver video (è accaduto anche a questo giro con le NVidia).

In sintesi la distro che si è eletta (alla maniera di Arcore, per acclamazione) come quella destinata all’utilizzatore finale e non ai power users, è quella che periodicamente li espone alle peggiori inchiappettate.

Quando col tempo i buchi vengono chiusi, esce una nuova versione con un nome del cazzo di due parole che cominciano con la stessa lettera, tipo Vera Vulvia o Piso Pisello, Lince Lucida o Minchia Metallica, ecc. e tutto da capo.

A ben vedere è esattamente l’opposto della Debian da cui deriva, che quando è Stable significa che al massimo vedi cambiare il patchLevel, ovvero da 5.0.4.12 a 5.0.4.13.

Comunque sì, Ubuntu va evitata.
Evitatela per un ragione o un preconcetto a piacere, ma evitatela.

E non la deve evitare l’utente scafato che la evita già o evita di usarla per cose serie, ma va evitata proprio da parte dell’utente sprovveduto, che assume rischi senza saperlo.

Per il resto sulla maturità dei sistemi operativi e sull’evitare l’installazione precoce, ho già detto in più occasioni.

P.S.: Il titolo del post è la traduzione ad sensum di Ubuntu in inglese, tratta dal loro sito.

L'(Apple)itica commerciale for Dummies

Se volete usare una versione di Java definita più leggera e parsimoniosa delle precedenti dal produttore dovete comprare un nuovo Mac più potente o un vecchio PC molto meno potente del vostro Mac attuale.

Se volete usare una versione di Java definita più leggera e parsimoniosa delle precedenti dal produttore dovete comprare un nuovo Mac più potente o un vecchio PC molto meno potente del vostro Mac più vecchio; ad esempio:

HP 530, dotato di processore Celeron @ 1,6 GHz e 512 MByte di RAM; prezzo (2007) circa 300,00€.

Apple MacBook Pro 17″, dotato di processore Core Duo @ 2,33 GHz e 2GByte di RAM; prezzo (2007) circa 2.500,00€

Sulla prima gira Java 6 R 12, sulla seconda no.

Think different™.

R 20110210 0901

Le pattine del Leopardo (wIP 0.6.6)

Non ho mai sopportato il disordine, nemmeno davanti al computer.
Undici anni fa scrissi wIP per il System 7.5, poi divenuto Mac OS 7.6.1 nel primo cambio d’immagine della casa madre.
Da allora una nuova versione (o due) di wIP ad ogni nuova versione del Mac OS. Il 10.5 non poteva fare eccezione, ed ecco wIP 0.6.6.

Non c’è solo un intento estetico dietro wIP, non è paura che mi righino il parquet; c’è soprattutto un motivo meramente funzionale.

Mettiamo che un vostro amico abbia un Cinema Display da 30″, e voi un MacBook da 13″ e rotti.
Vi passa una chiave USB, ci cliccate sopra e non vedete nulla, che succede?
Succede che la finestra è fuori schermo. Mettiamo che sia una sola, poco male, ma se tutte le finestre annidate fossero fuori schermo o al limite dello schermo?

Spostare tutte a mano?
Se ho fatto il programmatore è perché sono pigro e do importanza al tempo come uno dei fattori della qualità della vita. Ecco wIP.

Se volete saperne di più, fate un giro sulla sua pagina su Roam.

Per ora basti dire che wIP è software libero rilasciato sotto GPL 2.0 o successiva; ed è anche gratuito, che non guasta.