Appunti su Mercurial e OS X

23 gennaio 2015

Questa settimana ho finalmente trovato il tempo per sistemare alcuni piccoli problemi nel mio flusso di lavoro – in inglese verrebbero definiti paper cuts, taglietti piccoli ma fastidiosi.

Tralasciando il consiglio di installare le versioni più aggiornate di software come Git e Mercurial (personalmente preferisco installer nativi a MacPort o Homebrew), approfitto di questo post per alcuni appunti su editor di testo e Mercurial in ambiente OS X.

Editor di testo

Il mio editor di testo principale è Sublime Text 2 (ST2). Ho installato anche TextMate 2 e Atom (provato solo superficialmente finora), ma il 90% del tempo utilizzo ST2. Non amo gli editor da terminale: non ho mai trovato il tempo e la voglia di imparare a usare vi, se proprio tocca (es. sessione remota su server) c’è nano.

Per avviare ST2 direttamente da terminale è sufficiente creare un link all’apposito comando sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /bin/subl

TextMate permette di automatizzare questo processo dalle Preferenze, l’eseguibile si chiama mate.

L’aspetto fondamentale è che, con entrambi i comandi, è possibile aprire direttamente una cartella nell’editor, es. subl ~.

Questo è il mio file di configurazione di ST2 (confesso di non essere un grande utilizzatore di plugin):

{
	"color_scheme": "Packages/Color Scheme - Default/iPlastic.tmTheme",
	"detect_indentation": false,
	"font_size": 12.0,
	"hot_exit": false,
	"ignored_packages":
	[
		"Vintage"
	],
	"remember_open_files": false,
	"rulers":
	[
		80
	],
        "spell_check": false,
        "dictionary": "Packages/Language - Italian/it_IT.dic",
	"tab_size": 4,
	"translate_tabs_to_spaces": true,
	"trim_trailing_white_space_on_save": true
}

A differenza di TextMate, che utilizza il dizionario disponibile nel sistema, in ST2 il dizionario italiano va aggiunto manualmente. Fortunatamente il file .dic di Firefox/LibreOffice è compatibile.

Mercurial

Il primo consiglio è crearsi un file ~/.hgignore per escludere quella piaga dei file .DS_Store (anche se ho iniziato ad usare Asepsis da un po’ di tempo).

# use glob syntax.
syntax: glob

*.DS_Store

Estensioni consigliate:

  • color: utile sia per hg diff che hg status. Per controllare le modifiche di solito utilizzo hg diff|mate, dal momento che la visualizzazione dei diff è molto più chiara in TextMate.
  • extdiff: permette di utilizzare programmi esterni per il confronto in caso di merge. Al momento è impostato per usare KDiff3.
  • purge: è un vero salva-tempo, visto che hg up -C non rimuove i file attualmente non sotto controllo di versione.
  • transplant: permette di ‘trapiantare’ un changeset da un repository all’altro.

Veniamo alla scoperta di questa settimana: ho sempre utilizzato nano per i messaggi di commit, e non era esattamente comodo. La scoperta è che impostare Sublime Text come editor predefinito per Mercurial è davvero banale. In ~/.hgrc:

editor = /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl --wait

In teoria dovrebbe funzionare anche editor = subl -w. Nel mio caso non c’è stato verso e non ho investito ulteriore tempo per scoprirne la causa.

L’altra scoperta della settimana è quanto sia veloce (e ben documentato) impostare BitBucket+Mercurial+SSH. Peccato non averci mai guardato prima per pigrizia.

Sempre a proposito di BitBucket: se siete allergici alla riga di comando, SourceTree è una buona alternativa.


L’ultima versione disponibile del plugin Flash (16.0.0.257) è vulnerabile, e a quanto pare la vulnerabilità è già sfruttata in exploit kit.

Se usate Firefox, e non l’avete già fatto, è il caso di impostare il funzionamento del plugin “a richiesta”:

  • Aprire about:addons (oppure Strumenti -> Componenti aggiuntivi).
  • Selezionare la scheda Plugin.
  • Individuare Flash e impostarlo come “Chiedi prima di attivare”.
  • A questo punto attivare Flash solo su siti che considerate affidabili.

Disattivare Flash

Se non usate Firefox, mi dispiace per voi ;-)

UPDATE ore 13: è disponibile per il download la versione 16.0.0.287, ma il consiglio rimane valido.


Firefox

Partiamo dalla parte più semplice, l’anno (quasi) finito:

  • Sono trascorsi 14 mesi da quando ho cambiato vita lavorativa abbandonando completamente il campo dell’assistenza hardware/software. Non è stata una scelta facile ma, ad oggi, non potrei essere più soddisfatto. Per lavoro ho trascorso una settimana a Portland e una a Parigi (e finalmente visto Versailles).
  • Ho fatto le mie prime ferie dopo anni, non ricordo nemmeno l’ultima volta in cui mi sono preso una settimana completamente libera dai clienti.
  • Continuo a odiare i telefoni cellulari. C’è di positivo che ormai suona talmente poco che quasi mi dimentico di odiarlo.
  • Strava dixit: percorsi 675 km di corsa (più altri ~250 km su tapis roulant nei primi sei mesi dell’anno), 1.120 km in mountain bike. Grazie anche a questo sono riuscito a mantenere il peso dell’anno scorso (segnava un +4 Kg ad agosto).
    Non vivo con l’ossessione della bilancia, ma sono consapevole che ritrovarsi con +20 Kg è un battito di ciglia per il sottoscritto (record personale stimato intorno ai 115 Kg).

E veniamo a una parte nuova con i propositi per il 2015, poche cose, semplici e facili da verificare tra 12 mesi:

  • Leggere almeno un paio di libri tecnici (argomento a piacere tra JavaScript, node.js, PHP, CSS, Python, Django) e soprattutto cercare di usare quanto imparato in qualche progetto.
  • Scrivere di più su questo blog (almeno 4/5 articoli al mese) e su quello in inglese (almeno uno al mese).
  • Fotografare di più e iniziare a usare Lightroom.
  • Decidermi a sistemare il mio primo tatuaggio (ormai maggiorenne).
  • Visitare Londra (e magari trovarci qualche espatriato).
  • Visitare San Francisco (hard but not impossible).
  • Correre almeno 100 km al mese, fare un giro in mountain bike “fuori zona” (senza partire da casa).
  • Perdere un po’ di peso, o quantomeno non accumularne.

 


Mozilla - Build Products for People

Panasonic DMC-LX100


Ci sono giorni in cui sentirsi fiero dell’azienda per cui lavori, oggi è uno di questi.

Our new search strategy doubles down on our commitment to make Firefox a browser for everyone. We believe it will empower more people, in more places with more choice and opportunity to innovate and ultimately put even more people in control over their lives online.

This is why our independence matters. Being non-profit lets us make different choices. Choices that keep the Web open, everywhere and independent. We think today is a big step in that direction.

Non che ieri fosse da meno.

Mozilla, along with our partners Akamai, Cisco, EFF, and Identrust decided to do something about this situation. Together, we’ve formed a new consortium, the Internet Security Research Group, which is starting Let’s Encrypt, a new certificate authority designed to bring security to everyone.

Lo scorso 9 novembre Firefox ha compiuto 10 anni, Firefox Developer Edition ha mosso i primi passi. Non si può certo dire che novembre sia stato privo di novità.

Today more than ever: proud to be a Mozillian!


A proposito di corsa

20 ottobre 2014

The Runner

Foto con licenza Creative Commons – Flickr

Se qualcuno mi avesse detto, anche solo sei mesi fa, che mi sarebbe venuto il pallino della corsa, gli avrei probabilmente riso in faccia. Mountain bike assolutamente sì, camminare ancora ancora, correre no. Nein. Absolutely not.

Lo scorso giugno ho deciso di iniziare a correre all’aperto, dopo aver provato un po’ sul tapiro urlante (un po’ la colpa è anche sua).

10 giugno: 40:35 per 5,03 Km, passo 8:04/min, media 159 battiti

Per due giorni ho camminato come un tizio uscito da The Walking Dead, poi l’andatura è migliorata, lentamente.

Sabato scorso, circa 340 Km dopo la prima uscita, sono finalmente riuscito a raggiungere uno degli obiettivi che mi ero preposto: superare il test del moribondo.

18 ottobre: 1:17:18 per 12,88 Km, passo 6:00/min, media 165 battiti

Ed è un risultato non da poco, specialmente considerando che nemmeno un mese prima mi ero stupito di riuscire a correre sotto i 6:30 per una decina di chilometri. Col senno di poi, mi ritengo fortunato di non essermi rotto niente nel frattempo, considerato da dove partivo (non il divano, ma quasi).

Raggiunto l’obiettivo, ho deciso di fare un passo indietro e rallentare per migliorare. È una bella botta all’autostima: ti tocca camminare in salita, quasi quasi ti sorpassano gli anziani dotati di cagnolino, ti tocca tirare il freno perché la tua testa sa che puoi andare molto più veloce di così. Per cui ripartiamo da qua:

20 ottobre: 58:03 per 8,82 Km, passo 6:35/min, media 154 battiti

E vediamo dove si arriva.