Nessun commento

Monospazio su fondo scuro

Se da buon informatico tendo a tenere gli occhi aperti per nuovi strumenti o programmi, da pigro informatico di rado li prendo in considerazione: il mio ambiente di sviluppo è collaudato e confortevole, se lo cambio dev'essere per una buona ragione.

Di recente ho cominciato ad usare un numero di strumenti che, notavo, hanno tutti una cosa in comune: mi portano a spendere più tempo nel terminale, e funzionano in modo semplice e pulito, di soddisfazione.

Prima di tutto il terminale stesso: Windows Terminal è cresciuto, ed ha sostituito sia il prompt tradizionale che le varie alternative adottate negli anni. Profili, tab, split-screen: fa tutte le cose utili, quasi fossimo su Linux.

Ed in effetti, pezzi di Linux si stanno insinuando su questo portatile, su cui per un misto di scelta, pigrizia e tradizione c'è sempre stato Windows. La maggior parte dei servizi che uso per i miei progetti—server web, posta, database—girano via WSL, il simpatico sottosistema di Windows 10 che permette di installare distribuzioni come se fosse programmi. Meno di una virtual machine, ma tutto quello che serve per i miei progetti. Assai più semplice e leggero di strati geologici di macchine virtuali o Docker, più comodo e solido di quei pacchetti WAMP artigianali che usavo una volta—dove Apache e PHP si comportavano sempre in modo strano, e MySQL non era mai la versione corretta. Adesso uso esattamente gli stessi pacchetti e configurazione del server su cui carico il risultato, e ci sono meno sorprese.

Un altro software che da Linux che si è fatto strada sul mio computer è OpenSSH. Dopo quasi vent'anni rimpiazza il fidato Putty, e finalmente non devo convertire chiavi fra diversi formati. Le chiavi finiscono in KeePass + KeeAgent, così sono in un archivio sicuro che posso portami in giro, senza preoccuparmi di perderlo.

Sia in locale che su server, il terminale si apre spesso su tmux. È ormai un progetto maturo, la cui configurazione si è infine stabilizzata. Così posso copiarla di sistema in sistema, per convenienza e consistenza. È ottimo per fare più cose in parallelo, ed essenziale per lasciare la cose a metà e tornare più tardi—o se la connessione cade.

Due nuovi amici si affiancano sulla linea di comando: ag e fzf. Il primo è grep che ha imparato a fare la cosa giusta quando ha davanti del codice. Evita tutti i file che non hanno a che fare con il progetto, e cerca solo in sorgenti e risorse. Opzioni facili da ricordare aiutano a filtrare i risultati, come ad esempio --css per cercare solo nei file che hanno a che fare con fogli di stile. fzf invece è uno strumento generico: prende in input una lista di righe, e permette di filtrarle via fuzzy matching. In combinazione con altri programmi, accelera tutta una serie di operazioni che di solito richiedono molteplici passi, magari copia e incolla, e la possibilità di sbagliare un carattere e dover ripartire dall'inizio. Con fzf comandi inaspettati diventano interattivi, e più facili.

Con tutti questi nuovi pezzi da comporre, finisco per avere sempre un terminale aperto. A sua volta, questo mi porta ad usare comandi per le operazioni che ripeto—sia frequenti che sporadiche. E se ho un comando, posso metterlo in uno script, e poi dimenticarlo. La pigrizia è soddisfatta, e tutto funziona con meno sforzo.

Aggiungi un commento