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.


Il mio 2013 in numeri

3 gennaio 2014

Ho cambiato lavoro, trascorso 3 settimane all’estero per work week (Berlino, Parigi, Salt Lake City), soggiornato a Parigi e Bruxelles per conferenze, visto il Louvre e assistito alla mia prima partita di NBA, contribuito al lancio di un nuovo sistema operativo mobile in Italia.

Ho aperto un account su Github, segnalato 278 bug su bugzilla.mozilla.org, ne ho risolti 237. Circa 400 commit su SVN, 900 commit su Mercurial, troppo complicato capirlo su Github 🙂

In un attacco di orsite ho rimosso gli account tumblr, last.fm, friendfeed e anobii. Rimangono solo Facebook e Twitter. Cambiato feed reader, attualmente 132 fonti in abbonamento.

Percorso 664 km in mountain bike, “corso” 512 km (diciamo camminato, è più onesto). E nonostante tutto sono riuscito a prendere 3 Kg 🙁

Riassumendo, non mi lamenterei se il 2014 fosse come il 2013 (evitando il cambio di lavoro) 🙂


Home Office Improvement #3

15 novembre 2013

Home Office

Quasi completato: habemus standing desk e l’iMac è in negozio per l’installazione dell’SSD (in foto c’è un MacBook Air 13″ più il vetusto Dell 24″, 8 anni di monitor e ancora funge!).

Una delle cose positive della posizione in piedi è che mi obbliga a prendere delle pause, cosa che spesso dimentico di fare quando lavoro seduto. Vediamo se funziona 🙂


Home Office Improvement #2

15 ottobre 2013

In attesa di prendere una decisione sulla scrivania – se solo ci fosse in Italia la varietà di scelte disponibile in USA… – continuano a piccoli passi i miglioramenti dell’ambiente di lavoro. Oggi scattano i -15 giorni alla partenza ufficiale, salvo imprevisti con vecchi clienti.

Domenica trascorsa a smontare e riposizionare la vecchia scrivania Ikea, oggi ho montato lo stand per l’iMac (per gli interessati c’è anche la foto del retro).

iMac + HiRise (front)

L’oggetto in questione si chiama HiRise ed è prodotto da Twelve South, costa un po’ troppo ma dopo aver visto la qualità del prodotto e del confezionamento parte del fastidio per l’esborso sparisce 🙂

Ho pure trovato un Apple Store in grado di sostituire l’hard-disk in garanzia e installare un SSD in sostituzione del lettore ottico. Ora devo solo decidere se rimanere sui 240 GB (0,575 €/GB è il costo più basso che ho trovato) oppure andare direttamente sui 500 GB (0,488 €/GB) del Samsung 840. Il secondo ha una velocità di lettura inferiore, ma considerato che l’iMac ha porte SATAII da 3 GB/s non sarebbe un problema. In proposito, interessante anche questo dettagliato articolo sulla longevità delle memorie TLC utilizzate nel Samsung 840.

Considerato quanto era sovradimensionato l’iMac in partenza (i5 2,8 Ghz, 12 GB di RAM, ATI Radeon HD 5750 con 1 GB di memoria dedicata, monitor da 27″) non dovrei avere problemi a farlo durare altri 3 anni, salvo rotture.


Standing desk: consigli?

10 ottobre 2013

Confesso di non essermi mai posto il problema, finché nell’ufficio Mozilla di Parigi non ho visto sviluppatori lavorare alternando la posizione seduta a quella in piedi, spesso con un monitor da 24″ in posizione verticale affiancato al portatile.

A quanto pare stare seduti tutto il giorno è a dir poco non salutare, a prescindere dall’attività fisica svolta al di fuori del lavoro.

Qualcuno ha esperienza diretta di standing desk o scrivanie con piano di lavoro regolabile? Conoscete produttori affidabili in Italia? Già queste scrivanie costano un botto, se poi bisogna farle spedire dall’estero direi che non ne vale la pena.


Home Office Improvement #1

27 settembre 2013

DS213+

Primi passi verso un ufficio casalingo più adeguato:

  • sto provando il Magic Trackpad al posto del mouse tradizionale. Lo scorso inverno ho avuto seri dolori a mano e avambraccio destro, vediamo se così migliora. Per il momento il mouse (Logitech Performance MX) rimane comunque collegato e lo utilizzo per le operazioni più noiose e ripetitive.
  • nuovo NAS: il vecchio Synology DS210j (2×1.5 TB) continua a rimanere senza spazio, per cui è arrivato il nuovo DS213+ (2×4 TB). Il vantaggio è anche quello di separare i compiti (NAS1 accessibile dall’esterno per backup, NAS2 a uso interno).

Prossimo passo: SSD sull’iMac? Ci sto seriamente pensando, ma dopo aver visto i video non ho alcuna intenzione di farlo personalmente. Il mio iMac (mid 2010) rientra tra quelli a cui va sostituito il disco interno da 1TB, ancora non l’ho fatto per mancanza di tempo, ora devo solo decidere se aspettare che il prezzo di un hard-disk da 512 GB scenda a prezzi accettabili o usarne uno da 256 GB, spostando musica e foto su NAS (oppure montare l’SSD al posto del lettore ottico). Il costo prospettato per l’operazione è intorno ai 150 € (manodopera+materiale), a cui va aggiunto il costo dell’hard-disk.