2024-08-27

Della privacy, della libertà e della censura

Anticipo la domanda finale del post: "chi controlla i controllori?"

Attualmente vedo un problema in due casi importanti.

Il primo è l'istruzione dei sistemi di intelligenza artificiale: è stato posto da un po' di tempo e le discussioni si ampliano, tanto che in qualunque congresso su qualunque argomento oggi si può trovare una sezione sulla AI (o IA, a seconda della lingua usata).

Ormai sappiamo che di vera intelligenza ce n'è poca: il software viene istruito tramite la lettura di giga e giga di roba a disposizione nel web. Il software esamina la sequenza di parole e si costruisce un database di sequenze, ciascuna con la sua probabilità, che andrà ad usare nelle risposte. Velocità, memoria smisurate, ma non intelligenza.

I risultati sono miracolosi: le risposte, velocissime, hanno senso compiuto, tali da dare l'idea di un qualcosa di senziente. Più si definisce un contesto di lavoro (p.es. linguaggi di programmazione), migliore sarà la risposta, ma si tratta sempre di infilare una parola dietro l'altra. Provate a chiedere la soluzione ad un problema di Fisica appena più complesso e vedrete che di intelligente c'è poco.

Si è sempre detto che se si inserisce una sciocchezza in un computer, il risultato sarà una sciocchezza ancora più grande: siamo allora sicuri che non stiamo istruendo una AI con delle cretinate?

Esempio: se aumentasse la frequenza di post che affermano la Terra essere piatta, diventerebbe probabile che l'AI, alla domanda "qual è la forma della Terra?", invece di "geoide" risponda "un disco piatto": gli è stato insegnato così. Supponiamo che ad un giovane di una tribù con pochi contatti con la nostra civiltà, venga dato un dispositivo che parla e ascolta (ChatGPT è in grado di farlo senza problemi); il ragazzo è curioso e chiede "ma la Terra che forma ha?"; il dispositivo gli risponde "è un disco piatto" ed ecco generato un bel fake nella giungla.

Una cosa del genere è più probabile nei casi di attualità ("spiegami l'importanza di quel politico") e ne sanno qualcosa i volontari moderatori di Wikipedia, ma non solo. Esempio: ci sono aziende che usano l'AI per selezionare i CV degli aspiranti, basandosi su schemi comuni, per cui se si sgarra dalla normalità, si viene scartati (notare che questo è l'esatto contrario di quanto si diceva tempo fa: scrivete un curriculum un po' diverso, per potervi distinguere dalla massa: oggi un genio verrebbe scartato dall'AI...).

Quindi il problema è: chi deve decidere che materiale fornire ad una AI? Aggiungiamo che la società dietro ad una AI tende a non fornire il meccanismo di digestione dei dati, per cui è anche difficile prevedere il risultato di una scelta.

Quello a cui probabilmente si arriverà sarà che ogni azienda AI dovrà comporre un "comitato di saggi", che deciderà cosa andrà a finire nel database dell'AI (che dovrà anche essere aggiornato, quindi lavoro assicurato per anni a venire). La scelta delle persone rifletterà il pensiero dell'azienda e quindi i risultati forniti dall'AI. Possiamo sperare che le varie aziende di AI (comprese le open source) appartengano un po' a tutte le correnti in ogni campo, in modo da avere punti di vista diversi; quindi prima di avere una risposta dovremo consultarne molte? Uhm, costoso... Allora prevediamo una super-AI che faccia la domanda a tutte le AI in circolazione e poi ne faccia il riassunto? Ma chi decide come farlo? 


Cambiamo campo: problema simile ma meno noto, perché coinvolge una parola tabù: la censura, anche se sotto forma di privacy o simili.

In questi giorni è stato arrestato in Francia Pavel Durov, il fondatore del sistema di messaggistica Telegram (sito ufficiale). Le notizie sono poche, ma si pensa che il problema sia il rifiuto di eliminare alcuni contenuti relativi a droga, pedofilia, terrorismo e compagnia bella. Ma soprattutto il negare l'accesso al sistema per le indagini relative agli stessi reati. Lasciamo perdere la figura di Durov, piuttosto discussa, ma tanto quanto quella di Musk, sull'altro lato dell'oceano.

Certo, se parliamo di terrorismo, pedofilia e simili, saremo tutti d'accordo nel pretendere da Telegram l'eliminazione del materiale ed i dettagli degli account. Ma quando la stessa piattaforma viene usata in regimi totalitari? Il regime di un paese vorrà sapere chi sta complottando per far uscire un perseguitato politico. Allora per un regime vogliamo usare regole differenti? Ma chi decide che un paese è una dittatura?

Andiamo oltre: viene creata una legge che costringe le piattaforme come Telegram a rivelare le identità degli account su richiesta della magistratura di un qualunque paese. Ciascuno di noi dirà: "bene, chisseneimporta se si sa che tifo Inter? Non ho nulla da nascondere".

Ok, ora spostiamoci in un futuro dispotico, tipo "1984" (dovremo trasporre l'anno, però) e in Europa vige l'Impero del Lupo Marrone, un tiranno che mantiene il potere con elezioni truccate. Il signor Ollig sta costruendo una rete segreta: questa però viene scoperta dalla Polizia Marrone con mezzi perfettamente legali, perché Ollig usa Telegram per comunicare. In quel caso saremmo tutti d'accordo?

Chiarisco: non sto dalla parte di Telegram, che attualmente copre reati anche ributtanti; mi sto solo chiedendo chi potrà essere in futuro a decidere cosa sia un reato.

Come era chiaro già all'inizio, non ho la soluzione in tasca e purtroppo penso non ce l'abbia nessuno. Ma credo sia utile discuterne, soprattutto quando se ne parla poco. E ripropongo la domanda: chi controlla i controllori?

--- --- ---

Se sei interessato alla programmazione, potresti provare a vedere il mio blog su argomenti di programmazione. Se invece ti interessa la fisica, potresti provare la fisica di massimo, dove io e il mio gatto discutiamo di argomenti di Fisica.

2024-07-19

Il blackout del 18/7/2024

Ormai l'hanno riportato tutti i mezzi di informazione: questa notte (per gli USA era ancora giovedì) moltissimi sistemi basati su Microsoft Azure sono andati in tilt, mostrando la famosa Blue Screen Of Death, chiamata così quando era molto diffusa, che poi sarebbe il corrispettivo nei sistemi Windows a "non so più cosa fare".

Ma prima di prendersela con Bill Gates (che tra l'altro non è nemmeno più in Microsoft), bisogna sapere che il responsabile è un software di sicurezza prodotto da Crowdstrike, tra l'altro azienda non nuova a questo tipo di problemi, anche se più circoscritti (il link è alla pagina di Wikipedia, dove ne vengono riportati alcuni).

Non voglio entrare nei possibili motivi a basso livello, che ovviamente non verremo mai a sapere, ma vorrei invece dire due parole come commento ad un'intervista riportata su un quotidiano nazionale ad un innovation manager di una ditta informatica italiana.

L'intervistato, alla domanda di come si possono evitare questi problemi, risponde dicendo che non bisogna rilasciare (cioè mettere sul mercato) una nuova versione del prodotto per tutti i clienti, ma lo si rilascia per un piccolo gruppo di clienti (a occhio direi i meno importanti...), poi ad un gruppo più grande, fino ad arrivare urbi et orbi.

Certo, oggi si fa così. Ma fatemi ritornare a qualche decennio fa, quando la necessità era fornire un servizio di qualità. Su una nuova versione, prima del rilascio, veniva effettuato un cosiddetto smoke test (corrispettivo meccanico di "vediamo se si rompe qualcosa"), poi si passava ai test del controllo di qualità (QA o QC, a seconda delle filosofie), tutti riportati in check-list da spuntare. Passaggio dagli sviluppatori per la correzione dei bugs; poi si riprende il ciclo di test e così via. Quando si smette? Quando il numero di nuovi bugs trovati è inferiore ad un numero (o percentuale delle linee di codice). A quel punto viene dato l'ok al mercato.

Non ho idea delle procedure di qualità in essere in Crowdstrike, ma essendo un fornitore di Microsoft sarà sicuramente certificata, cioè avrà un sistema di qualità approvato. Quindi questo bug così grande non doveva passare; qualcosa è stato saltato. Considerato che è stato rilasciato in tutto il mondo con così grande sicurezza, è probabile che andasse a correggere qualcosa di nascosto ma molto pericoloso. Mi immagino la riunione di rilascio:

  • (PM) allora, rilasciamo? Tutto a posto?
  • (QA) non sono sicuro, non abbiamo i risultati della sezione xx.y
  • (PM) su 30 sezioni ne manca una, allora rilasciamo
  • (QA) ma potrebbe essere importante, potrebbe bloccare il server...
  • (PM) esagerato, è mai successo? Cosa suggeriresti allora?
  • (QA) una settimana in più di test
  • (PM) assolutamente no, il cliente si aspetta il rilascio domani... e poi dobbiamo mettere a posto quello che sai...
  • (QA) ma questo sarebbe peggio...
  • (PM) se andasse male, ma sono sicuro che non sarà così
  • (QA) io questa responsabilità non me la prendo, è rischioso...
  • (PM) allora esci dalla stanza e vai dal CEO a dirgli che devi ritardare il rilascio: vedrai che risate che si farà! Lo sai quanto ci rimettiamo a non rilasciare domani?
  • (QA) ma se ho ragione, la cosa sarà brutta e tutti se la prenderanno con me
  • (PM) beh, alla fine sarebbe giusto: non sei stato nei tempi. Per un errore tuo non deve rimetterci tutta l'azienda
  • (QA) allora prenditela con lo sviluppo, che mi hanno dato il codice con 10 giorni di ritardo
  • (RD finora in silenzio) lasciatemi fuori, il mio l'ho fatto
  • (QA) se i tuoi facessero meno bachi, io lavorerei meglio e più velocemente
  • (PM mentre gli altri due litigano) ok, ora basta. Ho appena calcolato che se non rilasciamo questa notte dobbiamo pagare una multa di xxxx dollari. In più rischiamo che il baco della scorsa volta venga scoperto. Quindi si rilascia questa notte. Tu RD prepara la patch e mettila in distribuzione e tu QA mandami il rilascio su Slack. Facciamo fare qualche test anche a questi benedetti clienti. Bene, è bello lavorare con voi (esce dalla stanza canterellando sotto voce).
  • (QA) senti RD, fai stare in ufficio un paio dei tuoi: se succede qualcosa ci vuole qualcuno che sappia dove mettere le mani
  • (RD) tranquillo, se qualcosa non va, spediamo a tutti i clienti la procedura per disinstallare il nuovo e recuperare il vecchio
  • (QA) speriamo non succeda. In bocca al lupo.
  • (RD) amen (escono entrambi, nessuno dei due veramente convinto)
Le cose saranno state certamente diverse, ma il succo sarà stato proprio questo: abbiamo sforato i tempi, ma non dobbiamo rimetterci. Quindi facciamo fare i test ai clienti, costa di meno. Di solito.
Questa volta temo di no...

--- --- ---

Se sei interessato alla programmazione, potresti provare a vedere il mio blog su argomenti di programmazione. Se invece ti interessa la fisica, potresti provare la fisica di massimo, dove io e il mio gatto discutiamo di argomenti di Fisica.

2024-07-17

Mattoni al posto delle batterie

Siamo onesti: le energie rinnovabili sono interessanti ed auspicabili, ma hanno l'enorme problema della discontinuità: di notte il fotovoltaico non funziona, quando non c'è vento l'eolico non serve... ma noi vorremmo poter mangiare anche quando è buio e non c'è vento!

Quando c'è il sole o tira vento, l'energia a disposizione è molto grande: considerando il valore della costante solare  (altri dettagli qui) e l’assorbimento di eventuali nuvole, il valore si aggira tra i 500 ed i 1000 W/m2. Se consideriamo un tetto di 10 m2, la potenza in gioco è di 10 kW (i normali contatori elettrici si bloccano a 3 kW!). Supponendo di avere insolazione per 3 ore (è poco, ma così teniamo conto solo di quando il sole è quasi perpendicolare), sono circa 100 milioni di joule. Il rendimento di conversione in energia elettrica di un pannello può variare, a seconda del tipo, dal 15% di tipo vecchio a 45% dei più recenti esperimenti (grafico, non di semplice comprensione, qui). Considerando un valore intermedio del 30%, l’energia ottenuta da sole 3 ore è di 30 milioni di joule, che corrispondono circa a 8 kWh.

Quindi durante il giorno possiamo far andare la lavatrice, usare il fornello a induzione… ma durante la notte ci piacerebbe avere almeno una parte di tutta quell’energia per far andare il computer e qualche luce. Si tratta quindi di immagazzinare quella non usata durante il giorno. In quei momenti, abbiamo bisogno di energia costante, ma proprio per questo, non rinnovabile: carbone? Nucleare?

Per risolvere il problemi, alcuni hanno avuto pensate non da poco, tra cui quella di usare le pietre!

La startup Rondo Energy ha ricevuto finanziamenti per approfondire un metodo di immagazzinamento dell’energia tramite la temperatura delle pietre.(qui la notizia). Il funzionamento teorico è semplicissimo: si parte dall’energia elettrica (da fonti rinnovabili) non utilizzata nei vari momenti del giorno, la si fa passare in una resistenza, dove per effetto joule, viene trasformata in calore (in pratica, una stufetta) che scalda l’aria, che a sua volta scalda un certo numero di pietre (si parla di tonnellate, ma ovviamente dipende dall’energia a disposizione). Quando poi c’è necessità di recuperare l’energia, si fa passare aria fredda tra le pietre, da cui viene scaldata: a quel punto si può costruire una macchina termica che lavora tra la temperatura dell’aria calda e quella ambiente. La massima temperatura raggiungibile deve essere sotto il punto di fusione delle pietre (tra 800 e 1500 °C a seconda della composizione, il che ci impedisce di usare l’acqua come fluido trasportatore del calore), mentre la temperatura fredda con cui lavorare potrebbe essere quella ambiente (20-25°C).

Trattandosi di un processo termodinamico che passa dal calore (si usa dire che sia “energia degradata”) il rendimento dell’intero processo non potrà essere superiore alla macchina di Carnot corrispondente. Considerando le temperature medie indicate sopra, il rendimento potrà essere al massimo attorno al 70%, a cui togliere ancora eventuali inefficienze della macchina termica. Nel migliore dei casi, degli 8 kWh di cui si è detto prima, potremo riottenerne circa 6.

Quindi, in ogni “ricarica” si perderà circa il 30% dell’energia originale. Bisogna però pensare che questo strano tipo di batteria ha un ciclo di vita praticamente illimitato (le pietre non si consumano in tempi brevi), si basa su materiale diffuso in natura (pietre e aria), non ci sono scorie (forse una tendenza all’aumento della temperatura, che potrebbe essere sfruttato per altri impieghi).

Naturalmente, il processo più semplice sarebbe di ottenere vapore con cui alimentare una turbina.

Parere contrario per la portabilità: una simile batteria deve essere per forza di cose grande e stabile; non pensiamo di attaccarci il cellulare… Potrebbe invece prospettarsi una possibile soluzione per l’approvvigionamento energetico delle industrie. In questa pagina sono riportati alcuni progetti in cui è previsto l’uso di queste batterie a calore.

--- --- ---

Se sei interessato alla programmazione, potresti provare a vedere il mio blog su argomenti di programmazione. Se invece ti interessa la fisica, potresti provare la fisica di massimo, dove io e il mio gatto discutiamo di argomenti di Fisica.

2021-03-26

Il problema dei chip ethernet con Big Sur

 Ad una parte dei possessori di computer della Mela con uscite USB-C o Thunderbolt 3 capita di volersi connettere ad una rete cablata: talvolta il wifi ha un livello troppo basso o manca del tutto. È d’obbligo quindi un adattatore ethernet connesso alle USB-C del Mac.

Purtroppo, con il passaggio a macos 11 Big Sur alcuni di questi adattatori hanno smesso di essere affidabili: appena connessi va tutto bene, possono funzionare per ore con un uso normale di internet; poi c’è la necessità di una video conference (nel periodo attuale, quasi sempre e magari più ore al giorno) e a metà della conference (o subito, o alla fine, o magari dopo tre collegamenti perfetti) tac... Meet avvisa che non sei collegato ad internet!

Se sei fortunato, stacchi il dispositivo ed il Mac gira sul wifi e dall’altra parte non se ne accorge nessuno; se però esiti per più tempo o non c’è wifi disponibile... il collegamento è andato. L’unica cosa da fare è staccare il dispositivo (che potrebbe anche essere un hub, con magari collegato un hard disk - con conseguenti lamentele da parte di macos “come ti permetti di togliermi un disco senza avvisarmi?” o con l’iPad, da dove stavi facendo vedere uno schizzo a mano libera - e allora lì se ne accorgono tutti). Riconnettendo il dispositivo la rete torna e probabilmente darai la colpa al router, allo switch, al provider internet ed altri. Nessun reset invece, se stacchi solo il cavo ethernet.

Poi ti capita la stessa cosa fuori casa e arriverai a pensare che le porte del Mac sono difettose o che il dispositivo non funzioni più. Io ho acquistato un altro hub per questo motivo, per poi trovarmi nella stessa situazione. Soliti test: collego il tutto alla porta dall’altra parte del Mac, provo a togliere l’ad-block, controllo sul log del dhcp, controllo nel log di sistema... nulla.

Allora ti butti a cercare sulla rete: Google, Bing, Duckduckgo. Il risultato alla fine è persino semplice: il driver di Apple (nuovo in Big Sur) attivato dal dispositivo ha un baco: quando il traffico comincia a farsi pesante (come in una video-call) può incappare in un overflow e andare in crash! E lì c’è poco da fare: per il dhcp non esisti più, perché dovrebbe spedirti segnali? Ed ecco anche spiegato perché staccando e riattaccando la rete torna: alla nuova connessione il driver viene ricaricato e tutto funziona, fino al prossimo crash.

La prima soluzione è che Apple corregga il problema: sperabile ma non probabile! Il baco esiste dalla prima versione di Big Sur a settembre 2020: se dopo sei mesi è ancora lì, non ci sono grandi speranze; inoltre l’adattatore di Apple funziona (dicono).

L’altra soluzione è di armarsi di santa pazienza... Prima cosa: scoprire il tipo di chip che gestisce l’ethernet su vostro dispositivo. Semplice: tenere premuto Option, menu Mela, Informazioni sul computer. Vi si apre una panoramica di tutto quello che c’è nel macbook; con il dispositivo collegato, selezionare USB dalla lista a sinistra; nella lista che compare a destra cercate USB 10/100/1000 e selezionatelo. Nel mio caso, Realtek, con ID 8153. Dalla ricerca in rete abbiamo visto che è proprio uno dei modelli incriminati...

Quando si parla di fortuna: ho acquistato due hub, entrambi con lo stesso chip... Va beh! Andiamo sul sito di Realtek e cerchiamo il driver adatto (in questo momento questo è il link): deve coincidere ovviamente il numero del chip ed il sistema operativo. In questo caso viene giù un dmg con un installer... Fermi! Niente doppio click! Il problema è che macos 11 ha un ulteriore strato di protezione, chiamato SIP (System Integrity Protection), che non lascia installare nulla silenziosamente nelle cartelle di sistema, anche se firmato dallo sviluppatore.

Da qui in poi, attenzione: non mi prendo responsabilità per quello che può accadere sul vostro computer: dobbiamo andare all’interno di macos!

Quindi, stacchiamo il dispositivo; ora occorre far ripartire il mac in Recovery Mode, dove abbiamo accesso di amministrazione a cose nascoste (e pericolose da modificare!). Quando ci siamo, apriamo il Terminale usando uno dei menu e dentro scriviamo

csrutil disable

seguito da invio. Abbiamo appena disabilitato le sicurezze! Dal menu Mela riavviamo il Mac e, una volta ripartito, finalmente installiamo il driver (se ce n’è più di uno, nel mio caso ho scelto quello che nel nome ha la parola ethernet). Durante l’installazione chiederà la password di amministratore e potrebbe anche chiedere di approvare l’estensione nelle preferenze di sistema (come anche Catalina ci aveva abituati). Ora proviamo ad attaccare il dispositivo ethernet, apriamo nuovamente le informazioni sul computer: vediamo che quello che compariva come un generico usb-ethernet ora ha il nome del produttore del chip (Realtek)! Significa che è stato caricato il nuovo driver, che infatti vediamo in figura in Nome Kext.


Bene! Ora dobbiamo rimettere a posto le sicurezze. Stacchiamo l’apparecchio e riavviamo nuovamente in Recovery Mode, apriamo il terminale e scriviamo, ovviamente

csrutil enable

Nuovo riavvio. Se connettendo il dispositivo, questo compare con il nome Realtek, siamo a posto! Se invece compare come scheda generica USB 10/100/1000, allora è stato nuovamente caricato il driver Apple e quello nuovo è stato bloccato dalle sicurezze.

Allora, sempre dalle Informazioni sul sistema, scegliamo la voce “Software disabilitati”: di sicuro ci troveremo il nostro driver, con una denominazione importante (riporto il mio caso):

ZYM2ETK3E7 com.realtek.driver.AppleRTL815XEthernet

Il primo codice è quello che ci interessa: è l'identificazione dello sviluppatore. Ora ritorniamo in Recovery Mode, apriamo il terminale e controlliamo che non esista ancora un record per questo sviluppatore (il comando fa una lista dei codici ammessi):

spctl kext-consent list

Solo se la risposta è vuota oppure non contiene "ZYM2ETK3E7", possiamo aggiungere l’eccezione:

spctl kext-consent add ZYM2ETK3E7

Naturalmente, se stiamo lavorando per un'altra estensione di altro produttore, dovremo inserire il codice di quel produttore.

Non stiamo aprendo il nostro Mac a malintenzionati, stiamo solo dicendogli che quello sviluppatore è noto: ci sarà sempre bisogno di autorizzare un eventuale software. Ora riavviamo, controlliamo per scrupolo che connettendo il dispositivo parta sempre il software Apple (compare come generico fra le schede di rete), quindi apriamo il Terminale e scriviamo

sudo kextload -b com.realtek.driver.AppleRTL815XEthernet

Il comando prova a caricare il nuovo driver e ci avvisa, tramite terminale (ma anche con un dialogo) che l’estensione è stata bloccata e bisogna autorizzarla dalle Preferenze di Sistema. Se infatti apriamo le Preferenze e andiamo nella sezione Sicurezza e Privacy, tab Generali, troveremo una scritta che chiede di autorizzare la nuova estensione. Dopo aver sbloccato la finestra con un click sul lucchetto e fornito la password, possiamo autorizzarla e quando collegheremo nuovamente il dispositivo, questa volta verrà caricato il nuovo driver e non quello generico: il problema è risolto! Posso affermarlo perché è una settimana che la rete cablata è connessa tutto il giorno, con grossi carichi (più video chiamate al giorno)!

C'è anche da notare che, nel caso di un MacbookPro, chiudendo il lid e mandando il computer in stop, l'interfaccia si spegne, permettendo al Mac di passare in modalità sleep! Cosa che con il driver di Apple non succedeva!

2015-01-17

Spotlight delle mie brame...

Tutti gli utenti Mac conoscono Spotlight: di solito non è altro che un'icona a forma di lente che se ne sta nella zona dei menu, in alto a destra; di solito silenzioso, quando abbiamo bisogno di trovare un file (di cui spesso abbiamo solo una vaga idea del contenuto, figuriamoci se ricordiamo il nome del file...), non dobbiamo fare altro che premere Cmd-Spazio ed ecco che compare, pronto a dirci dove si trova, o almeno a mostrarci una serie di possibily match della nostra ricerca. Quando non trova nulla, fa come Siri e ci chiede se vogliamo cercare nel Web.
Il diavoletto di Spotlight può essere usato per lanciare le app, senza doverle andare a cercare nella Launchpad e materialmente cliccandoci sopra (a questo proposito, ci sarà a breve una nuova utility con funzionalità aggiuntive rispetto a Spotlight, ma questa sarà tutta un'altra storia...)

Qualche volta, becchiamo Spotlight "con le braghe in mano": quando l'apriamo ci mostra una bella progress bar ("Sto indicizzando"): proprio un attimo prima ha scoperto che qualcosa non è aggiornato, per cui cui sta aggiornando il proprio indice interno. Spesso, anche in questa occasione ci fornisce dei risultati, ma questi potrebbero non essere completi: forse, se aspettiamo qualche secondo, ci potrà dare risultati migliori.

Qualche volta però, il succitato diavoletto comincia a fornire risultati cervellotici: non trova alcune applicazioni, oppure nemmeno alcuni file, nonostante siano stati appena salvati. Questo è un buon indizio della necessità di ricostruire l'indice!
La ricostruzione dell'indice può essere fatta utilizzando apposite utility (p.es. Onyx), ma lo stesso risultato può essere ottenuto con un semplicissimo comando da terminale:
sudo mdutil -E /Volumes/nomeDisco
Alla richiesta, inserire la password di amministratore. Questo comando distruggerà l'indice attuale, che verrà ricostruito da Spotlight stesso non appena ne avrà voglia (va beh, diciamo che lo farà quando penserà di non essere utilizzato, in modo da non dare fastidio all'utente). Ce ne accorgeremo dalla presenza della progress bar nella sua finestra.

Un'altra possibilità da Terminale è l'impedire l'indicizzazione di un disco esterno. Questo sarebbe possibile anche senza entrare nel Terminale, usando l'apposita lista Privacy nelle Preferenze di Sistema, ma ho verificato che non sempre il sistema si ricorda di questa impostazione, per cui conviene usare il seguente comando:
sudo mdutil -i off /Volumes/nomeDiscoEsterno
Da quel momento in poi, l'indice del volume indicato non verrà più aggiornato; se vogliamo che scompaia del tutto, facciamolo seguire dal comando indicato sopra, che cancellerà appunto il file di indice, che non verrà più costruito.
Se in seguito dovessimo cambiare idea e volessimo tornare all'indicizzazione, non dovremo fare altro che digitare da Terminale il comando opposto:
sudo mdutil -i on /Volumes/nomeDiscoEsterno
e alla prima occasione l'indice verrà ricostruito; da notare che la ricostruzione è un processo a bassa priorità, per cui potrà essere posticipata nei casi in cui Spotlight pensa di dare fastidio. Se proprio vogliamo che succeda velocemente... lasciamo il Mac da solo per qualche minuto!

2014-05-11

Nuova vita ai "vecchi" MacBookPro

Il mio MacBook Pro (modello 4,1) ha un po' di annetti; il modello è chiamato "Early 2008", da cui si capisce che ha 6 anni di onorata carriera, ma non solo: in mezzo è avvenuta la rivoluzione degli Unibody e recentemente dei Retina Display.
Sì che ho ancora funzionante un Powerbook G4 del 2003, che di anni ne ha 11, ma se lo scopo è lo sviluppo, allora i modelli invecchiano un po' più velocemente della media dei Mac.
Che fare? L'acquisto di un nuovo Mac è sempre una cosa che da un lato dà soddisfazioni, ma dall'altro lascia il portafoglio vuoto.

Alternative? Dopo aver girato un po' sui forum e sulle riviste web specializzate, viene fuori l'idea: sostituire l'hard disk attuale (250 GB, 5400 rpm) con una SSD.
Finora non avevo mai considerato questo aggiornamento: l'HD originale funziona bene, è abbastanza silenzioso, non si fa sentire con click continui e così via. In più il modello 4,1 ha un bus SATA II limitato alla velocità del SATA I, per non dare problemi al lettore di DVD, che si trova sullo stesso bus. Dato che oggi ormai si trovano solo SSD con SATA III, sembrava uno spreco di soldi montare una cosa da 6Gb su una linea che ne accetta non più di 1.5Gb.
E infatti in giro per il web alcuni dicevano che si vedeva la differenza, altri che non era il caso di cambiare per un piccolo aumento della velocità.

In più, c'era anche il fatto psicologico del numero massimo di cicli di lettura/scrittura di una SSD: in effetti, anche un HD rotante fornisce un numero massimo di letture, oltre il quale in media si rompe qualcosa di meccanico o magari di elettronico, ma siamo abituati a pensare comunque che l'HD meccanico duri quasi all'infinito.

Alla fine ho rotto gli indugi: oggi un SSD di capacità normale si presenta con dei prezzi abbastanza normali. Non ho voluto andare sui top di gamma tanto, mi son detto, con un bus da 1.5Gb è inutile.
Per cui mi sono orientato su un SanDisk, SATA III, da 250 GB, praticamente un copione dell'HD originale. Su Amazon veniva offerto con il 40% di sconto (per quel che vuol dire: sembra che a prezzo pieno non ce ne siano, per cui il riferimento alla fine è il prezzo scontato!). E comunque SanDisk non è una marca da buttare, anzi.

Non prevedevo di aver problemi con lo smontaggio/montaggio: avevo già dovuto aprire il Mac per cambiare la ventola destra, diventata rumorosa; l'HD è solo dalla parte opposta, ma sempre ben raggiungibile. Solo due difficoltà: a) alcuni connettori che passano sopra l'HD e devono essere scostati con attenzione; b) avere un cacciavite Torx, altrimenti non si possono svitare i supporti dell'HD da inserire sulla nuova SSD. In tutto: mezz'ora di lavoro (grazie ad iFixit!).

Avevo preferito fare un backup completo prima di estrarre l'HD, ma senza clonare nulla: sempre meglio partire da un'installazione fresca (anzi: è l'occasione per eliminare cose mai usate!).

Quindi, accensione, collegamento ad un HD esterno dove avevo preventivamente scaricato dal Mac App Store l'ultima versione di Mavericks. Tutta l'installazione avviene normalmente con i soliti tempi ed anche il setup di OS X non è indicativo, dovendo inserire tutti i dati di configurazione. Fine. Pronti all'avvio, cronometro in mano... (il tempo da battere è di 90 secondi con Mavericks; da nuovo si avviava in 40 secondi con Leopard [10.5]).

Boing... mela grigia... rotellina... eccolo! Richiesta password: Urca! 16 secondi!!!
Inserita la password, passano circa 2 secondi per avere il desktop pronto, con tutti i menu extra visibili e possibilità immediata di aprire finestre o lanciare programmi!
Allora era tutta questione di hard disk!
Faccio la classica prova ammazza-computer: vado sul dock col mouse e in sequenza veloce faccio partire le prime 5 applicazioni da sinistra, tra cui Safari. Ognuna di loro si apre con un "salto" solo e in circa 5 secondi sono tutte pronte a ricevere comandi, compreso quell'elefante di Safari!

L'entusiasmo mi fa cercare immediatamente in rete gli accorgimenti per mantenere in buona salute la SSD (in pratica per evitare scritture inutili, soprattutto quelle ripetute):

  1. attivazione del TRIM: con i dischi non originali OS X non lo attiva. Scaricare TRIM Enabler oppure Chameleon SSD Optimizer.
  2. spegnere il sensore di movimento improvviso, che proteggeva le parti meccaniche dell'HD. Si tratta di un comando da terminale, spiegato qui dalla stessa Apple.
  3. disabilitare il Safe Sleep, che fa scrivere l'immagine della RAM sul disco, utile in caso di batteria quasi scarica. Evitiamo così una scrittura pari alla dimensione della RAM ad ogni stop del Mac. Comando da terminale, spiegato qui. Se si trattasse di uno degli ultimi modelli, bisogna disabilitare anche un'altra regolazione, ma per il 4,1 non esiste.
  4. disabilitare la registrazione dell'ultima data di apertura di ogni file, anche questa fonte di scritture inutili (la data di modifica sarà comunque registrata). Questa è una procedura un po' più complessa, ma fattibile, spiegata qui, dove c'è anche un riassunto degli altri punti.
  5. se usiamo Time Machine, attiviamolo ma poi disattiviamo i backup periodici in locale, fatti quando il disco di TM non è collegato: oltre a fare un backup ogni ora, porta via spazio prezioso. Anche qui, comando da terminale (spiegato qui).
Personalmente, ho usato TRIM Enabler per attivare il TRIM e Chameleon per impostare le altre cose (escluso il noatime, punto 4, che deve essere fatto a mano).
Ci sarebbe ancora un altro punto, che però è controverso: si può decidere di disattivare il journaling. Questa caratteristica è utile per mantenere coerenza nei dati del disco in caso di interruzione improvvisa, come mancanza di corrente (per i sistemi desktop) o freeze o kernel panic del Mac. In questi casi, il journaling permette di ricostruire le operazioni lasciate a metà e quindi di ricuperare al riavvio senza intervento i dati che potevano andare persi.
Consiglio: se vivete pericolosamente, cioè scaricate anche versioni beta dei software, peggio ancora nel caso dei driver, se cioè vi capita ogni tanto di dover spegnere forzatamente il Mac, allora il journaling vi è necessario. Se invece lo usate normalmente, con software standard affidabili e non vi è mai capitato di doverlo spegnere con l'interruttore, allora potreste pensare di disabilitare il journaling (ma poi non accusatemi se vi succede di perdere un file importantissimo!). La disattivazione può essere fatta da Utility Disco.

Ormai sono 10 giorni da quando ho effettuato l'installazione e da allora non ho mai visto la famosa spinning wheel colorata, che mi faceva andare in bestia e mi spingeva a pensare ad un nuovo Mac. Inoltre, il Mac è diventato silenziosissimo! Alla sera, nel silenzio, non esce il minimo rumore (le ventole provocano soltanto un lieve soffio). Ho poi scoperto che scalda meno (quindi ventole al minimo quasi sempre) e, cosa piacevole, ha guadagnato tra i 30 e 50 minuti in più di batteria: alla fine, l'HD richiedeva un motore, l'SSD no!

Con i costi attuali e se non c'è necessità di avere grande spazio disco, la sostituzione con una SSD può darvi l'impressione di avere per le mani un computer nuovo!

2014-03-24

Le animazioni scomparse

Dopo l'ultimo aggiornamento a iOS 7.1, il mio iPad sembrava essere diventato meno responsivo. Alcune animazioni sembravano scomparse, in particolare le quattro dita per la schermata multitasking sembravano bloccarlo per un tempo brevissimo, dopodiché la lista delle applicazioni compariva, ma senza animazione. Lo stesso era per il ritorno alla schermata standard. All'accensione, le icone comparivano all'improvviso, senza alcuna fluidità. Anche lo sblocco non era bello a vedersi.
Ora, siamo d'accordo che le animazioni non hanno una grande utilità: l'azione avviene comunque! Tuttavia, la presenza delle animazioni e soprattutto la loro fluidità migliorano notevolmente l'esperienza d'uso, dando l'impressione di notevole facilità e velocità, verificando immediatamente l'effetto del comando dato.
Quindi volevo indietro le mie animazioni!

La prima azione da informatico è stata ovviamente il riavvio, cosa che faccio solo per gli aggiornamenti! Nessun risultato.
La seconda azione, sempre da lista standard, è stata di chiedere aiuto al signor Google, dove ho scoperto di non essere l'unico: molti altri utenti si trovavano in astinenza da animazioni iPad! Giravano molti consigli (misti a curiose domande, tipo "cosa te ne fai delle animazioni?", a cui ho risposto sopra).

Alla fine, mettendo insieme i consigli e sfrugugliando nelle impostazioni, ho scoperto che l'aggiornamento a iOS 7.1 reimposta alcune preferenze, tra cui quelle relative alle animazioni. Preferenze, a dir la verità, mai cercate ed utilizzate; per cui le riporto qui sotto e sono ovviamente valide anche per disabilitarle, se qualcuno così preferisce.

È sufficiente aprire Impostazioni, scegliere Generali nella lista alla sinistra e toccare Accessibilità (nel secondo blocco di preferenze). Nel secondo blocco della sezione Vista è riportata la voce Riduci movimento: toccandola si presenta una riga sola On/Off, con la spiegazione "riduci la velocità di movimento dell'interfaccia utente, compreso l'effetto parallasse delle icone e degli avvisi". Spostiamo l'interruttore su Disattivo se vogliamo indietro le animazioni, oppure su Attivo se non le vogliamo.

Ora però questa azione ha riattivato anche l'effetto parallasse (quella cosa divertente a vedersi, ma divoratrice di batterie, secondo cui quando muoviamo l'iPad si ha l'impressione che le icone delle app si muovano rispetto allo sfondo, come se queste fossero ad una certa distanza dallo sfondo stesso). C'è la possibilità di mantenere le animazioni, ma di eliminare questo effetto: basta tornare nelle Impostazioni, scegliere Sfondi e Luminosità, selezionare lo sfondo della schermata Home e, in basso a destra, impostare Zoom prospettiva a NO, toccando la voce. Poi tocchiamo Schermata Home per salvare quanto fatto.

Riassumendo: avremo di nuovo un iPad con animazioni ma senza il consumo di batteria richiesto dall'effetto parallasse.

2013-12-11

Sistemi intelligenti e sistemi più intelligenti


Negli ultimi anni si è molto parlato di sistemi intelligenti e la parole d’ordine è spesso stata “semantica”.
Un sistema semantico sarebbe in grado di interpretare il significato di una frase, anche se si utilizzano parole diverse. Per esempio, le due frasi:
  • Vediamoci domani alla stazione alle 12:30
  • Troviamoci alla stazione domani alla mezza
per un sistema semantico significano la stessa cosa, mentre un sistema tradizionale potrebbe rispondere in modo diverso o addirittura non capire la richiesta.

Tra i vari tentativi di portare sul mercato un simile sistema, probabilmente Siri (il sistema di Apple) è forse il più vicino a quanto si cerca; tuttavia si tratta di un sistema generalista che, installato su telefoni e tablet, è mirato agli usi previsti su tali dispositivi (chiamate, messaggi, appuntamenti, appunti, ecc…).

Si sta però pensando ad un modo per portare la duttilità generalista di Siri (magari anche superandola) ad altri campi, tramite un nuovo concetto: conoscenza come servizio.

Le applicazioni di questo tipo, che possono essere chiamate “applicazioni cognitive”, potrebbero essere in grado di conversare con l’utente, fornire risposte, ecc… La novità è che il motore di conoscenza si troverà nella nuvola e sarà gestito da terze parti: in questo modo esisteranno le società che svilupperanno app di nuova concezione ed altre che forniranno la base del funzionamento alle prime.
Siamo distanti dal computer dell’Enterprise o da HAL di 2001 Odissea nella spazio, ma quel che è certo che le nuove app saranno molto più intelligenti di quelle attuali o comunque così sembreranno.

Il posizionamento dell’intelligenza nel cloud porterà quindi app diverse a comportarsi diversamente ma comunque utilizzando la stessa conoscenza e questo permetterà specializzazioni anche sottili.

Giusto per fare un esempio, IBM ha annunciato il mese scorso che metterà a disposizione tramite API l’accesso al suo computer cognitivo Watson, in questo anticipando niente meno che Microsoft e Amazon. Se teniamo conto che quel software in due mesi ha raggiunto la conoscenza/intelligenza di uno studente di medicina del secondo anno, ci rendiamo conto di quali orizzonti si potrebbero aprire.

Un altro esempio è Alme, di Next IT, che ha sviluppato un assistente per la gestione delle malattie croniche, in grado di rispondere alle domande dei pazienti e ora stanno pensando di fornire un accesso esterno.

Naturalmente è prevedibile che passerà poco tempo perché Google e Apple creino ambienti in cui questi servizi siano a disposizione degli utenti mobile. Tuttavia, è probabile che i gestori di questi ambienti cognitivi siano terzi rispetto ai fruitori come Google e Apple; addirittura potremmo anche pensare a cloud open source, a disposizione di chiunque li interroghi nel modo giusto.

Estendendo il concetto, potremmo anche pensare a sistemi operativi che, collegandosi al cloud, possano fornire questi servizi alle app che girano al loro interno; addirittura gli elettrodomestici potrebbe essere più intelligenti e magari talvolta anche diventare piuttosto invadenti, consigliandoci anche un modo migliore per cucinare o per conservare i cibi...