Aggiornare il puma

C’è una cosa simpatica relativa al nuovo nome di OS X [1] e cioè che nelle ultime quattro release si è passati da un felino all’altro frapponendo una variazione del nome [2]. Ora, tralasciando che i primi due animali almeno si somigliano un po’ tra loro mentre i secondi due proprio no, il cosiddetto leone di montagna è meglio noto al grande pubblico come puma, che però è già stato usato in una (molto) precedente release di Mac OS X. Comunque della faccenda se n’è occupato anche xkcd e quindi io posso pure fermarmi qui.

Ho scaricato con un po’ di anticipo questa release perché sapevo che era grossa e volevo essere sicuro di un paio di cose prima di cominciare. Non l’ho installata subito perché era un po’ che volevo fare un formattone e ricominciare da capo con un buon anno e mezzo di esperienza sulle spalle e quindi tirare insieme un sistema un po’ più pulito. Non è che prima fosse una schifezza ma qualche briciola qua e là l’avevo lasciata.

Installare

A cominciare da Lion, il sistema operativo per le mele viene distribuito esclusivamente [3] via Mac App Store con un pacchetto che uno se lo scarica, ci doppioclicca e dopo quaranta minuti e quarantuno reboot si trova tutto come prima e 15,99 € in meno in tasca [4]. Ci sono svariate ragioni per cui uno dovrebbe volersi aggiornare OS X, tra cui che se sei sviluppatore iOS ad un certo punto ti compare un cartello che dice “hai una versione arcaica di OS X e questa versione di (Xcode|iOS|salcazzo) non è supportata, se non aggiorni OS X non potrai continuare a sfruttare i meravigliosi vantaggi del pagare 79 € l’anno… però puoi continuare a pagarli”. La parte peggiore di questo ragionamento è che con Mountain Lion è stato droppato il supporto anche ad alcune macchine particolarmente vecchie, tipo quelle prodotte prima del 2008/2009… tre o quattro anni fa. Io, quando compro un computer, mi aspetto che il suo ciclo vitale superi almeno i cinque anni ma sono sicuro che ci sia un ottimo motivo dietro questa scelta.

Comunque. Dentro a questo pacchetto scaricabile autoinstallante c’è una cara vecchia immagine disco che uno può masterizzarsi su un DVD o schiaffare su un disco USB, farci il boot e da lì installarci tutte cose. Il giochino è facilissimo usando la pratica utility integrata in OS X ma se proprio siete pigri, o particolarmente poco svegli, c’è una strada alternativa che semplifica (un poco) la procedura. Così mi sono detto: siccome due giorni a fare backup distruggerebbero i nervi a chiunque, meglio seguire la procedura (un poco) semplificata ed evitare di far cazzate. Finito di brasare la mia fida chiavetta da 8 GB stacco il disco su cui ho fatto i backup che non si sa mai, riavvio, seleziono la chiavetta come disco di boot e schiaccio “Reinstalla Mountain Lion”. Lì per lì ho pensato che magari l’installer era furbo e, vedendosi avviato da una chiavetta, ci pensava lui a ripulire l’hard disk. Trentaquattro minuti (abbondanti) dopo ho scoperto di aver perso un’ora. Per farla breve: ho riavviato, formattato con l’apposita utility presente nell’installer e poi lanciata l’installazione. L’ultima cosa che ho notato prima di morire di noia è che questa volta sosteneva di poterci mettere solo venti minuti (abbondanti) e una partizione nascosta dal sibillino nome “Recovery 10.8” mi dice che forse, nonostante tutto, Lion è ancora sul mio hard disk. Vabè.

Al riavvio, il puma chiede due o tre sciocchezze, tipo l’Apple ID e se si vuole sparare i propri file nella nuvola, domanda alla quale ho risposto con parole irripetibili. L’Apple ID l’ho inserito, tanto per non sbagliare. Bene, tempo di ripristinare il backup — che poi ho solo copiato i file su un disco esterno ma vabbè. A parte gli ovvi Documenti, la Musica, la Scrivania [5] e un paio di altre sciocchezze tra cui una quantità improbabile di sorgenti che non mi ero reso conto di aver mai scritto così tanto in vita mia, mi sono tirato giù anche qualche file che stava dentro la mia Libreria, una directory nascosta [6] che se uno vuole accederci deve fare mela-shift-g e poi scrivere ~/Library [7] e che tiene dentro le configurazioni utente dei vari programmi. In particolare mi sono tirato giù le directory iTunes e Fonts e poi, da Application Support, alcune cose utili tipo Firefox (che tiene il profilo utente e tutte le estensioni) e Transmission che dentro ha le informazioni sui torrent che sto scaricando. Purtroppo per alcune applicazioni dovevo copiarmi anche altre directory però vabbè, non erano fondamentali: iTunes non ha battuto ciglio, Transmission è ripartito col freno a mano tirato [8] e tutto quanto in generale è andato al suo posto.

Configurare

Per far tornare OS X un sistema operativo per normodotati ci sono due cose da fare:

  1. passarsi tutti i pannelli delle Preferenze di Sistema;
  2. installare altra roba.

Per quanto riguarda le preferenze di sistema ci sono alcune cose assolutamente soggettive che ognuno può configurarsi come gli pare, mentre altre proprio non si spiegano e chiedono a gran voce di essere riportate alla normalità, ma andiamo con ordine.

Generali: mostrare sempre le barre di scorrimento, perché poi quando uso la Wacom spariscono e come cacchio ci vado io su e giù? L’idea è che spariscano quando si usa il trackpad, ma mi sa che qualcuno ha invertito la logica e le fa apparire quando si usa il mouse.

Dock: il fatto che uno tira giù le finestre col bottoncino giallo e quelle se ne stanno da una parte del dock è una cosa che mi fa impazzire, ma finalmente basta attivare “Contrai le finestre in icona applicazione” e quando uno tira giù le finestre queste si schiaffano dentro all’icona dell’applicazione. Sento già i melofili della prima ora gridare allo scandalo, che quella roba serve a ridurre i documenti e non l’applicazione e qua e là: signori, io non lavoro su “documenti”, io non apro mille finestre per ogni sciocchezza, la maggior parte dei programmi che uso io funziona a finestra singola e se anche funzionasse a finestre multiple, quando sto lavorando su un documento mi piace averlo davanti, e quando ho finito di lavorarci lo chiudo. Perché ho finito. Chiaro?

Sicurezza e Privacy: questa cosa del Gatekeeper mi spaventava un po’ ma poi ho installato diversi programmi non provenienti dal Mac App Store prima di ricordarmi che era attivo e tutto funzionava ugualmente. In ogni caso, per non sbagliare, l’ho disattivato.

Tastiera: a me che vengo dal Commodore 64 (…) piace che i tasti funzione siano configurabili e che le funzioni speciali (volume, luminosità dello schermo…) siano attivabili con la combo del tasto fn. Poi ho assegnato a F3 ed F4 rispettivamente Mission Control e Dashboard che incidentalmente corrispondono a quello che è disegnato sui tastini e poi fine. Un’altra cosa relativa alla tastiera, ma che non si trova nel pannello, è che i tasti Home e Fine non spostano il cursore all’inizio e alla fine della riga ma spostano la schermata all’inizio e alla fine del documento lasciando il cursore dove sta. La soluzione più rapida sta nel creare (se non esiste) il file ~/Library/KeyBindings/DefaultKeyBinding.dict e metterci dentro

{
/* Remap Home / End to be correct :-) */
"\UF729"  = "moveToBeginningOfLine:";                   /* Home         */
"\UF72B"  = "moveToEndOfLine:";                         /* End          */
"$\UF729" = "moveToBeginningOfLineAndModifySelection:"; /* Shift + Home */
"$\UF72B" = "moveToEndOfLineAndModifySelection:";       /* Shift + End  */
}

che non è una grande soluzione ma funziona. Circa: Firefox fa ancora a modo suo. Orribilmente a modo suo. Se qualcuno ha idee migliori, i commenti sono lì apposta.

Mouse: io seriamente mi chiedo chi è il grande pensatore del nostro secolo che ritiene che applicare lo scorrimento stile touch-screen al mouse sia “naturale”. È sbagliato su almeno due fronti: primo, da che esistono i mouse con la rotella, girarla verso il basso vuol dire spostarsi verso il fondo del documento e viceversa, quindi invertire questa logica viola le attese degli utenti e la relativa memoria muscolare, ma se ancora non fosse chiaro, vediamolo come mettere una rotella appoggiata sopra un foglio di carta e farla girare da sopra; secondo: l’azione si svolge su un dispositivo (il mouse) e l’effetto si ottiene su un altro dispositivo (lo schermo), i due non hanno alcun legame fisico e quindi lo scorrimento invertito non è più “naturale” di quello a cui siamo abituati, mentre ha del tutto senso se applicato ad un touch-screen dove muovere il dito verso l’alto significa spostare il contenuto verso l’alto, e cioè muoversi verso il basso del documento. Comunque c’è una checkbox, basta disattivarla e questo è quanto riguardo le Preferenze di Sistema.

Per quanto riguarda installare roba, prima di tutto sono andato di TotalTerminal che tra l’altro conferisce punti-nerdizia per chi da piccolo giocava a Quake. La seconda cosa è Xcode: per scaricarlo bisogna passare dal Mac App Store e penso che questo richieda un Apple ID, ma niente paura perché è gratuito (sia l’ID che Xcode). Con Xcode una volta si installavano automaticamente anche tutti i tool di sviluppo da riga di comando mentre adesso bisogna farlo dall’apposito pannello delle preferenze di Xcode (aprire Xcode, mela-virgola, rumare). Una volta che possiamo eseguire gcc dal terminale siamo pronti per installare MacPorts che tutti dicono che adesso si deva usare Homebrew ma la differenza è minima e c’è più roba in MacPorts, quindi voi ascoltate me. L’installazione è ridicolmente semplice: si esegue il pacchetto di installazione, si lancia sudo port selfupdate e si ha finito.

Passo successivo: sviluppo web. I port che ho installato sono

  • apache2: mi pare ovvio;
  • mariadb e mariadb-server: mariadb è un drop-in replacement per MySQL, le ragioni sono principalmente legate al fatto che MySQL è di Oracle e Oracle non è proprio una società affidabile lato Open Source, comunque i tool hanno gli stessi nomi e gli engine sono compatibili al 100% quindi non dovreste aver problemi, ma se vi fa schifo installate pure MySQL;
  • php54 e php54-apache2handler: il 5.4 dicono abbia prestazioni notevoli, e poi è un passo più vicino alla 6 e ha qualche feature interessante in più anche se, come dice il buon Dott. Vacchi, “la merda: da oggi anche pralinata” e non posso dargli torto;
  • una quantità di estensioni di PHP che iniziano tutte per php54- e finiscono in curl, gd, iconv, intl, mbstring, mysql, openssl, soap, xdebug, xmlrpc e zip: di alcune facevo pure a meno ma ho copiaincollato il comando da qualche guida e quindi cicca, magari se xdebug comincia a rompere le palle come al solito gli riservo una speciale brasatura.

Ogni port alla fine spara fuori le istruzioni per configurarlo quindi è inutile che ve le scriva io.

Infine viene il momento di Ruby [9] che in realtà è già incluso in OS X (come peraltro Apache e forse anche tutto il resto, ma non sottiliziamo) però la versione è un po’ antiquata: io voglio vivere sul filo del rasoio e usare Rails 3, quindi mi serve Ruby 1.9. Dopo molto cosare di cervello ho concluso che RVM è il modo migliore per non disturbare troppo il puma e ottenere ugualmente quello che si vuole. L’unica cosa che non ho trovato chiaramente scritta da nessuna parte è che se si vuole fare un’installazione system-wide (loro la chiamano multi user) bisogna lanciare l’installer come root perché apparentemente lanciarlo con sudo non serve a niente. Comunque l’installer si lancia così:

# curl -L https://get.rvm.io | bash -s stable

dopodiché bisogna aggiungere tutti gli utenti che devono poter usare RVM al gruppo rvm con

# dseditgroup -o edit -a username -t user rvm

sostituendo ad username l’utente da modificare, e infine si può tornare utenti normali e installare Ruby 1.9.3 con

$ rvm install 1.9.3
$ rvm use 1.9.3 --default

e infine Rails e tutti gli amichetti con

$ gem install rails

e questo conclude la parte web e tutta la faccenda.

Insomma

A me questo leone di montagna non pare molto diverso dal suo predecessore di savana ma è chiaro che Apple non intendeva muoversi in questo senso. Tutte le varie novità che si suppone siano state introdotte sono relative a cose che mi sfiorano marginalmente, o perché le uso poco o perché non le uso proprio. Valeva la pena spenderci 15,99 €? Probabilmente no ma prima o poi l’avrei dovuto fare comunque, quindi tanto valeva farlo e togliersi il pensiero.

  1. A parte che ora la parte “Mac” è scomparsa e il nuovo nome ufficiale è proprio “OS X”.
  2. Leopard, Snow Leopard, Lion, Mountain Lion
  3. Non è del tutto vero ma facciamo finta di sì.
  4. 24,99 € nel caso di Lion.
  5. Ho scoperto questa cosa tra il fastidioso e il carino riguardo queste directory: se uno ci accede via Terminale — che poi conta per almeno il 75% dei miei accessi al file system — i nomi sono in inglese ma dentro c’è un file nascosto, chiamato .localized, che dice ad OS X di usare il loro nome tradotto nella lingua dell’utente quando vi si accede dal Finder. Ecco, non immaginate quanto bipolare debba essere uno sviluppatore o un sistemista in OS X.
  6. Artificiosamente, non col puntino davanti.
  7. E qui tutto il senso di averla localizzata in Libreria si perde nell’immensità cosmica.
  8. Ma ho già provveduto a dargli un buon 200 giga di roba per ripigliarsi… e non l’ha presa tanto bene.
  9. No, non quella, questo.

Commenti

Andrea Rossi » 

Sempre il solito lamentoso… :)

Rispondi