Mark Reds

Preserving the past, building the future on markreds.it

Categoria: Tips and tricks

  • Convertire i filmati H.265/HEVC

    Convertire i filmati H.265/HEVC

    La codifica H.265/HEVC porta con sé numerosi vantaggi, come il supporto a risoluzioni 8K, ma non viene ancora supportato a dovere dai Mac

    Il successore della codifica H.264/MPEG-4 AVC (Advanced Video Coding), H.265/HEVC per l’appunto, offre la possibilità di comprimere i dati in modo efficace, senza perdere di qualità, o la possibilità di supportare risoluzioni 4K e 8K UHD fino a 8192 x 4320. Tuttavia, non viene ancora supportato a dovere e richiede inoltre molte risorse per la loro risoluzione. VLC, che spesso ci viene in aiuto, ancora non li riproduce in maniera fluida e senza artefatti.

    Ecco allora la necessità di convertirli in un formato  più compatibile. Possiamo utilizzare FFmpeg a riga di comando:

    $ ffmpeg -i inputfilename_h265.mp4 -c:a copy -c:v libx264 -preset slow -crf 18 outputfilename.mp4

    sostituendo inputfilename_h265.mp4 con il nome del file H.265 nativo che si desidera convertire, e outputfilename.mp4 con il nome del file di destinazione che vogliamo creare in H.264.

    Per chi non ce lo avesse già installato sul proprio Mac, è possibile farlo tramite MacPorts:

    $ sudo port install ffmpeg +nofree

    Il pacchetto si porta con sé molte dipendenze e a seconda dei casi l’installazione richiederà alcuni minuti.

  • Creare un’immagine ISO da una cartella in macOS

    Per creare un’immagine ISO da una cartella locale  basta digitare da Terminale:

    $ hdiutil makehybrid -o ~/Desktop/image.iso ~/path/to/folder/to/be/converted -iso -joliet

    Naturalmente il file image.iso creato può essere masterizzato su un supporto fisico (CD/DVD) oppure utilizzato come disco virtuale su Parallel, VirtualBox, VMware, ecc.

  • Come cercare la posizione geografica di un indirizzo IP dalla riga di comando

    Se si desidera cercare la posizione geografica di un indirizzo IP esistono diversi servizi online, come ad esempio Geo IP Tool. Tra questi è possibile provare il servizio ipinfo.io. A differenza di altri, ipinfo.io fornisce API di geolocalizzazione basate su JSON, quindi puoi facilmente cercare la geolocalizzazione dalla riga di comando, usando strumenti come curl.

    Per esempio:

    $ curl ipinfo.io/216.58.205.163
    
    {
    "ip": "216.58.205.163",
    "hostname": "mil04s28-in-f3.1e100.net",
    "city": "Mountain View",
    "region": "California",
    "country": "US",
    "loc": "37.4192,-122.0570",
    "postal": "94043",
    "org": "AS15169 Google LLC"
    }
  • Homebrew vs MacPorts

    Homebrew vs MacPorts

    Homebrew e MacPorts sono due diversi package manager che permettono di installare programmi e altri tool a riga di comando per estendere le funzionalità del sistema operativo.

    Al momento Homebrew sembra essere il più popolare, grazie anche a un numero sostanzioso di pacchetti disponibili e costantemente aggiornati. La posizione predefinita in cui li installa è basata sull’utente, quindi i programmi possono essere eseguiti senza utilizzare una password “sudo” e questo è sicuramente la critica più grande dei puristi Unix. Homebrew utilizza anche più dipendenze fornite di serie con macOS, il che significa in sostanza che è più integrato con il sistema operativo, o almeno così dicono i suoi sostenitori. Il rovescio della medaglia è che molte di queste dipendenze potrebbero diventare presto obsolete: Apple infatti sembra prediligere software BSD non sempre aggiornato ma più testato. Inoltre potrebbe decidere di non includere qualcosa di queste dipendenze nella prossima versione o in un aggiornamento. In questo caso il software brew potrebbe smettere di funzionare e si dovrà procedere con una reinstallazione da zero.

    I fan di Macports diranno che è stato quello per lungo tempo ha beneficiato del supporto di Apple e probabilmente lo è ancora. I pacchetti disponibili sono più numerosi, tuttavia non sono aggiornati quanto lo sono quelli di Homebrew. A quanto pare, a detta di alcuni, i ports impiegano poco più di un paio di giorni per aggiornare il pacchetto all’ultima versione.
    Quando si installa un pacchetto, MacPorts lo mette in una posizione centrale ed è necessario utilizzare una password “sudo”. Per questi motivi MacPorts incontra il favore di molti utenti Unix. Un altro punto a suo favore è che non dipende da nessuna delle librerie fornite con macOS stesso perché scarica e installa le proprie. Il lato positivo è che i pacchetti Macports non sono così influenzati dagli aggiornamenti software di Apple e non si affidano a nessuna libreria di sistema obsoleta e preinstallata. Il rovescio della medaglia è che ti ritrovi due versioni diverse di certe librerie e dipendenze, occupando così più spazio sul disco.

    La domanda su quale dei due sistemi sia il migliore non ha una ancora ricevuto una risposta valida per tutti. Entrambi hanno vantaggi e svantaggi: Homebrew è il più popolare in questo momento e il suo numero di pacchetti è in costante aumento, ma MacPorts sembra essere il più sicuro quando si tratta di installazioni e aggiornamenti. Molti sviluppatori scelgono di averli installati entrambi, così che se non riesci a trovare quello che ti serve su uno, usi l’altro.

  • Abilitare il web server su macOS

    Abilitare il web server su macOS

    Nelle versioni precedenti del sistema operativo targato Apple c’era la possibilità di abilitare il web server integrato con un semplice click dal pannello Condivisione nelle Preferenze di Sistema. All’interno della propria Home vi era la cartella Siti dove si potevano creare le proprie  pagine html oppure php.

    Purtroppo nelle versioni più recenti di macOS hanno tolto questa possibilità nonostante il web server Apache sia ancora presente. Ma per abilitarlo occorre armeggiare a basso livello dal Terminale.

    Per primo apriamo il file /etc/apache2/httpd.conf con un editor di testo:

    $ sudo nano /etc/apache2/httpd.conf

    e modifichiamo la riga 177:

    #LoadModule php7_module libexec/apache2/libphp7.so

    in

    LoadModule php7_module libexec/apache2/libphp7.so

    Modifichiamo anche la riga 178 per abilitare il modulo Perl:

    #LoadModule perl_module libexec/apache2/mod_perl.so

    in

    LoadModule perl_module libexec/apache2/mod_perl.so

    Ora abilitiamo il modulo per i siti web personali alla riga 174:

    #LoadModule userdir_module libexec/apache2/mod_userdir.so

    in

    LoadModule userdir_module libexec/apache2/mod_userdir.so

    Modifichiamo anche la riga 511:

    #Include /private/etc/apache2/extra/httpd-userdir.conf

    in

    Include /private/etc/apache2/extra/httpd-userdir.conf

    Salviamo tutto e chiudiamo l’editor. Riapriamolo di nuovo per modificare il file /private/etc/apache2/extra/httpd-userdir.conf:

    $ sudo vi /etc/apache2/extra/httpd-userdir.conf

    e modifichiamo la riga 16:

    #Include /private/etc/apache2/users/*.conf

    in

    Include /private/etc/apache2/users/*.conf

    Salviamo anche queste modifiche e usciamo.

    Se non esiste, creiamo la cartella Siti nella nostra home:

    $ mkdir ~/Sites
    $ echo "<html><body><h1>My site works</h1></body></html>" > ~/Sites/index.html.en

    Adesso assicuriamoci dell’esistenza del file di configurazione relativo alla nostra home e se non esiste creiamolo:

    $ sudo vi /etc/apache2/users/<your short user name>.conf

    Assicuriamoci che il suo contenuto sia così:

    <Directory "/Users/<your short user name>/Sites/">
    AddLanguage en .en
    AddHandler perl-script .pl
    PerlHandler ModPerl::Registry
    Options Indexes MultiViews FollowSymLinks ExecCGI
    AllowOverride None
    Require host localhost
    </Directory>

    Adesso verifichiamo la correttezza della configurazione scrivendo il comando:

    $ apachectl configtest

    e assicuriamoci che ritorni il messaggio:

    Syntax OK

    Avviamo Apache con il comando:

    $ sudo apachectl start

    e navighiamo all’url:

    http://localhost

    Dovremmo vedere qualcosa simile a:

    It works!

    Poi se ci indirizziamo all’url:

    http://localhost/~<nome_breve>

    dovremmo invece vedere:

    My site works

    Adesso occupiamoci di PHP, creando il file info.php:

    $ echo "<?php echo phpinfo(); ?>" > ~/Sites/info.php

    e proviamolo dal browser andando all’indirizzo:

    http://localhost/~<nome_breve>/info.php

    Dovremmo vedere tutte le info di configurazione dell’ambiente PHP.

    Facciamo una cosa simile per Perl:

    $ echo "print \$ENV{MOD_PERL} . qq{\n};" > ~/Sites/info.pl

    e proviamolo dal browser andando all’indirizzo:

    http://localhost/~<nome_breve>/info.pl

    Dovremmo vedere la stringa "mod_perl/2.0.9".