Riccardo Mollo – Informatica e Fotografia

Copia precisa e completa di files e directories tra due macchine tramite ssh + rsync

banner-copia-precisa-e-completa-di-files-e-directories-tra-due-macchine-tramite-ssh-rsync
Diverse volte ho avuto la necessità di copiare, anche più volte in modo da mantenere le situazioni allineate, una o più directories in maniera ricorsiva da una macchina ad un’altra, con l’obbligo di preservare i permessi, i link simbolici ed in generale le condizioni dei files (ES: se sulla macchina sorgente un file viene rinominato/cancellato, esso dev’essere rinominato/cancellato anche sulla macchina di destinazione).

Condivido qui un piccolo script per BASH che, utilizzando ssh e rsync, può servire sia come esempio che come spunto per ottenere il risultato voluto. La macchina su cui si esegue lo script va intesa come la macchina sorgente.

#!/bin/bash

# The following line enables the large address-space model on IBM AIX systems
#export LDR_CNTRL=MAXDATA=0xD0000000@DSA

SRCDIR=/home/test # local directory that needs to be copied on the remote machine
DSTDIR=/tmp/test # directory on the remote machine that will contain all the files from local directory
RMTHST=server2.remote.test # remote machine
RMTUSR=johnsmith # user on remote machine
LOGDIR=/tmp # directory on local machine that holds the log files
LOGFILE=${LOGDIR}/test.log # log file

nohup time rsync -arvHu --delete --progress --stats --no-inc-recursive -e ssh ${SRCDIR}/ ${RMTUSR}@${RMTHST}:${DSTDIR}/ > ${LOGFILE} 2>&1

Naturalmente, affinchè lo script funzioni senza che venga richiesta la password, bisogna aver prima abilitato la SSH key-based authentication per gli utenti coinvolti.

Primo test di Mozilla Servo su Linux Mint 17.3 “Rosa” (Ubuntu 14.04.4 “Trusty Tahr”)

banner-primo-test-di-mozilla-servo-su-linux-mint-17-3-rosa-ubuntu-14-04-4-trusty-tahr
Stamattina ho voluto provare una delle versioni preliminari di Mozilla Servo, il nuovo browser sperimentale in fase di sviluppo da parte di Mozilla Research, il cui rilascio della prima versione demo “per il pubblico” è previsto per giugno 2016 e che dovrebbe, con il tempo, prendere il posto di Mozilla Firefox (che verrà dismesso).

In realtà Mozilla Servo non è propriamente un browser, bensì è un layout engine, ovvero quel componente software responsabile del parsing, del rendering e della gestione del layout delle pagine web (esattamente come Gecko, quello attualmente in uso da Mozilla Firefox).

Scritto interamente nel nuovo linguaggio Rust di Mozilla Foundation, promette un sacco di interessantissime novità e meraviglie, dal rendering parallelo all’uso delle GPU, dalla maggiore sicurezza alla migliore stabilità (e io, personalmente, spero anche in un migliore utilizzo della memoria…). Per maggiori informazioni suggerisco di visitare il sito ufficiale.

Siccome sono un inguaribile smanettone, ho voluto subito provarlo. L’ho testato su una Linux Mint 17.3, e ho deciso di scrivere questo articolo per indicare come ho fatto e per condividere i risultati.

I passi che ho effettuato per scaricare, compilare e provare Mozilla Servo sono i seguenti (da lanciare con l’utente root):

# apt-get install curl freeglut3-dev autoconf libfreetype6-dev libgl1-mesa-dri libglib2.0-dev xorg-dev gperf g++ build-essential cmake python-virtualenv python-pip libssl-dev libbz2-dev libosmesa6-dev libxmu6 libxmu-dev libglu1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev
# cd /usr/local/src
# git clone https://github.com/servo/servo
# cd servo
# ./mach build --release

Dopo aver aspettato il tempo necessario per la compilazione dei sorgenti, ho voluto fare subito una verifica dello user agent (questo comando e il successivo li ho lanciati con il mio utente non privilegiato):

$ ./mach run --release http://user-agent.me/

Questo è il risultato:

primo-test-di-mozilla-servo-su-linux-mint-17-3-rosa-ubuntu-14-04-4-trusty-tahr-1
Subito dopo, ho voluto testare il browser su questo stesso sito:

$ ./mach run --release http://riccardomollo.com/

Questo è il risultato (con notevoli problemi nel rendering del testo):

primo-test-di-mozilla-servo-su-linux-mint-17-3-rosa-ubuntu-14-04-4-trusty-tahr-2

Ovviamente, questa versione preliminare di Mozilla Servo è piena zeppa di bachi, non possiede un’interfaccia anche solo vagamente usabile, va quasi sempre in crash e ha grosse difficoltà nell’interpretazione di JavaScript. Tuttavia, dai primi test che ho effettuato con vari siti, la velocità di caricamento e di rendering delle pagine (e delle immagini!) è davvero sbalorditiva… praticamente istantanea.

Sono fiducioso e paziente, e non vedo l’ora che esca la prima versione stabile di questo nuovo e promettente browser. Mozilla è sempre una garanzia!

APT e la barra di avanzamento

banner-apt-e-la-barra-di-avanzamento
Con l’avvento della versione 1.0 di APT, noto strumento di gestione dei pacchetti per le distribuzioni GNU/Linux basate su Debian (come ad esempio, oltre a Debian stessa, Ubuntu oppure Mint), è stata introdotta una funzione tanto semplice quanto di fatto utile.

Come si può vedere dall’immagine che segue, è stata inserita la possibilità di avere, in fondo allo schermo, una barra di avanzamento in ASCII che indica lo stato del progresso dell’installazione dei pacchetti (cosa piuttosto utile quando i pacchetti sono molti, come ad esempio nel caso di un’operazione di dist-upgrade):

apt-e-la-barra-di-avanzamento

Per attivare questa funzione (che di default non è abilitata) è sufficiente aprire un terminale e lanciare il seguente comando con l’utente root:

# echo 'Dpkg::Progress-Fancy "1";' > /etc/apt/apt.conf.d/99progressbar

Fonte: apt 1.0 | Michael Vogt’s blog

Creare semplici HDR “finti” con LightRoom

banner-creare-semplici-hdr-finti-con-lightroom

Come probabilmente molti di voi già sapranno, il modo corretto per realizzare un HDR (da “high dynamic range”, ovvero un’immagine ad ampia gamma dinamica) consiste nello scattare, solitamente con l’ausilio di un cavalletto, un minimo di 3 fotografie identiche ma con esposizioni differenti (di norma: una foto esposta correttamente, una sottoesposta di 1 stop ed una sovraesposta sempre di 1 stop), facendo attenzione a modificare esclusivamente i tempi (lasciando quindi diaframmi ed ISO invariati) ed ovviamente utilizzando tassativamente il formato RAW. Dopodiché, con strumenti appositi come ad esempio Photomatix Pro o Adobe PhotoShop si procede con la “fusione” dei vari scatti seguita dal tone-mapping.

Tuttavia, sfruttando le potenzialità offerte dal formato RAW presente in tutte le reflex digitali ma non solo, è possibile utilizzare strumenti come Adobe LightRoom (o l’equivalente Adobe CameraRAW) per poter post-produrre una singola immagine al fine di ottenere un risultato visivo che si avvicini molto a quello di un HDR vero e proprio.

Come esempio, utilizzo una foto scattata circa un anno fa a Venezia.

E’ fondamentale che la foto sia esposta correttamente e che l’istogramma sia interamente coperto (dalle ombre più scure fino alle alte luci più chiare).

creare-semplici-hdr-finti-con-lightroom-1

Per poterci avvicinare il più possibile al risultato di un vero HDR, sostanzialmente si devono aprire le ombre (in modo da tirare fuori più informazioni dalle zone buie) e chiudere le alte luci (in modo da ottenere maggiori dettagli dalle zone chiare).

Nell’immagine successiva, andando a spostare completamente a sinistra il cursore delle alte luci (indicato in verde) e completamente a destra il cursore delle ombre (indicato in rosso), si ottiene esattamente il risultato preposto, ovvero i dettagli delle persone situate all’ombra nel battello risultano molto più visibili così come la trama della facciata del Ponte di Rialto. Naturalmente, con queste due semplici modifiche l’immagine risulta per il momento piuttosto innaturale.

creare-semplici-hdr-finti-con-lightroom-2

Giustamente, chiudendo le alte luci e aprendo le ombre, l’istogramma si “comprime” verso l’interno, assumendo una forma sempre più vicina alla curva di Gauss, ad indicare che l’immagine è generalmente poco contrastata (per via di una maggiore presenza dei mezzi toni rispetto alle ombre e alle alte luci).

Per ovviare a questo aspetto si possono fare diverse cose (indicate in giallo), come ad esempio aumentare la chiarezza per incrementare il microcontrasto nell’immagine, o agire sulla curva dandole una lieve “forma ad S” per aumentare il contrasto generale senza rovinare i passaggi tonali. Potrebbe infine essere necessario ridurre i neri e aumentare i bianchi qualora, durante le modifiche su ombre e alte luci, l’istogramma si fosse compresso troppo.

creare-semplici-hdr-finti-con-lightroom-3

Fatto ciò, ecco un confronto tra il “prima” e il “dopo” dell’operazione.

creare-semplici-hdr-finti-con-lightroom-4

E’ importante sottolineare che questo è solo un esempio, dove ho espressamente voluto mettere i valori al massimo per evidenziare bene i risultati. Tuttavia, ogni foto è una storia a sè, quindi è fondamentale comprendere che nessun esempio di post-produzione va seguito bovinamente ed alla lettera, ma semplicemente preso come spunto per imparare ed affinare la propria tecnica.

Scroll To Top