Alessio Biancalana Grab The Blaster di Alessio Biancalana

Homebrew, macOS e lo strano caso dell'XCode fantasma 👻

Altro giro di Homebrew su macOS, altra storia dell’orrore (sort of: ne ho sentite di molto peggiori) su “cose a caso”: scrivo “cose a caso” perché effettivamente non ho capito che cosa cacchio stesse cercando di fare il mio computer, e cosa diamine sia successo nel frattempo.

Andando con ordine, questa settimana ho trovato un bug su un bot Telegram che ho scritto in Elixir. Provando a compilare il fix in locale, ho trovato un’incompatibilità tra la vecchia versione di Erlang che avevo installata, e macOS High Sierra a cui ho aggiornato da poco. Ho deciso quindi di aggiornare i miei package locali, ma:

Error: Your Xcode (8.3.spicci) is outdated. Please update to Xcode 9.0 (or delete it). Xcode can be updated from the App Store.

Ok. Vado sull’App Store, e vedo che XCode non mi viene segnalato come installato. Strano: ricordo di averlo, ma effettivamente non riesco a vederlo nemmeno dal drawer delle applicazioni. Dopodiché metto ad installare gli svariati giga della versione 9.0, mentre penso “ma vuoi vedere che basta aggiornare solo i command line tools?”; nell’ordine sono successe le seguenti cose:

  • Ho usato xcode-select --install per cercare aggiornamenti nei CLI tools, e ne ho installato uno (che non specificava la versione);
  • Nell’App Store mi è comparsa la voce di aggiornamento ai CLI tools 8.3.spicci (che avevo appena portato a termine), e ho aggiornato;
  • L’App Store mi ha successivamente proposto l’aggiornamento ai CLI tools 9.0, che ho installato;
  • Lanciando brew upgrade ottengo lo stesso errore.

Ho lanciato il computer nello zaino e me ne sono andato al meetup di Rust che mi attendeva. La mattina dopo mi viene lo sghiribizzo di controllare meglio: il laptop mi accoglie con un popup che mi informa del download di XCode 9.0 fallito (cominciamo bene), e a me viene in mente di lanciare una find su /Applications giusto per capire; infatti scopro che ho una versione di XCode installata, a ‘sto punto non tanto a mia insaputa quanto a insaputa del sistema operativo. Provo a cancellarla, e a rilanciare brew upgrade.

Funziona.

Poi dicono che Linux è difficile.

Vim su macOS installato tramite Homebrew: come riabilitare il backspace ⌨️

È già da un sacco di tempo che volevo risolvere questo piccolo problemino ma non trovavo la voglia dato che per lavoro uso sempre qualche altro editor: installando Vim da Homebrew su macOS, il backspace non funziona più come dovrebbe in insert mode.

Per riavere indietro il vecchio comportamento, basta inserire questa riga alla fine del proprio vimrc:

set backspace=2

Vim da Homebrew

Giusto come annotazione, installare Vim da Homebrew serve, dato che la versione installata di default con macOS è un po’ vecchiotta, e quello che accade è semplicemente che alcuni plugin, magari facenti uso di feature più recenti, non si comportano come previsto.

Cosa fa di un DevOps un DevOps?

Eugenio Marzo, che oltre ad essere un professionista preparatissimo è anche il mio ex capo, scrive su Mokabyte:

Parafrasando uno dei film culto degli anni Novanta (“Cos’è… cos’è; che fa di un uomo un uomo, signor Lebowski?”) vorrei parlare dei principi base per definire i caratteri distintivi dell’area DevOps, le caratteristiche e le competenze che deve possedere un professionista che operi in quest’area. In breve “Cos’è che fa di un DevOps un DevOps, signor Lebowski?”.

A parte la precisazione doverosa per cui DevOps non è un job title ma il nome di una corrente di pensiero e della conseguente metodologia, Eugenio ha la sua bella parte di ragioni e questo post va sicuramente letto.

Ho pensato di annotare qui anche quello che gli ho lasciato come commento su Facebook (sai mai che Zuckerberg impazzisse e cancellasse tutto il DB di produzione stanotte):

Condividere la conoscenza, abbattere i silos e fare team

E sai meglio di me che è questo quello che fa veramente di un devops un devops, e che è la cosa più difficile da raggiungere perché in qualsiasi azienda vai, ti metteranno in mano l’infrastruttura dicendo “questo è il traguardo che vogliamo ottenere, ma non vogliamo muoverci di un millimetro per ottenerlo, tantomeno faticare”.

Comunque grande post :) concordo anche sulla scelta critica dei tool, anzi, aggiungo un punto mio: meno tool ma scelti bene fanno infinitamente meglio di tanti tool messi “tanto per”, solo per far sganciare i soldi di qualche licenza ;)

Marco Pracucci: stepping back from CTO and jumping into operations

Conoscete Marco Pracucci? No? Fate male. È l’ormai ex-CTO di Spreaker, e recentemente ha fatto qualcosa che mi ha veramente colpito rinunciando al suo ruolo di CTO per assumere il ruolo di Tech Operations Lead nella stessa azienda.

Non capita molto spesso di vedere persone che fanno una scelta simile, né di aziende che permettono a qualcuno di farla. Questo indica tre cose:

  • Fiducia di tutta l’azienda nelle persone che compongono la sua leadership;
  • Un atteggiamento incredibile da parte di Marco: è difficile che una persona rinunci al suo ruolo per fare un passo indietro quando vuole fare altro – di solito si tende a mantenere entrambi i ruoli e a fare male tutte e due le cose;
  • Un’azienda in cui è possibile riconfigurare il proprio compito, facilmente o difficilmente che sia.

Applausi! 😎

Writing a GTK Video Player with Haskell

Onestamente, uno dei linguaggi su cui ho sbattuto la testa sempre cavare un ragno fuori dal buco in tempi ragionevoli è proprio Haskell. Ho trovato straordinariamente interessante questo post, più che altro perché mostra un esempio pratico.

Oltre questo, è molto molto fico che venga adottato un linguaggio funzionale per scrivere un’applicazione desktop ❤️

Member of

Previous Random Next