Cosa sono le API

E no, non intendo gli insetti ma bensì le interfacce di programmazione di un’applicazione: in informatica le API (pronunciato all’inglese come E-PI-AI) sono tutte le chiamate a librerie esterne che servono per interfacciarsi a un determinato applicativo software.

Con un esempio pratico penso che sia tutto molto più chiaro: quando si parla ad esempio di “le API di Google Maps” si intende tutti i metodi che permettono di ottenere mappe, direzioni o coordinate. Oppure con “le API di Amazon” si intendono i metodi che permettono di fare ricerche o ottenere immagini e descrizione dei prodotti.

Se in questo caso Google da accesso, tramite login (vedremo in futuro come, quando e perché) ai loro database, per poter fare delle query (anche questo vedremo cosa significa) e utilizzare le loro webapp. Continua a leggere

Come gestire le date in bash

Se dovete manipolare ore, giorni, mesi in bash ecco a voi una tabella semplice semplice per gestirli comodamente.

Lo script vi permette di visualizzare l’ora e minuti senza simboli in mezzo (scoprirete nei prossimi articoli l’utilità specifica).

#!/bin/bash

string=`date '+%H%M'`
echo string

Cambiate le lettere o aggiungetele in base alle vostre esigenze:

%a     locale's abbreviated weekday name (e.g., Sun)
%A     locale's full weekday name (e.g., Sunday)
%b     locale's abbreviated month name (e.g., Jan)
%B     locale's full month name (e.g., January)
%c     locale's date and time (e.g., Thu Mar  3 23:05:25 2005)
%C     century; like %Y, except omit last two digits (e.g., 20)
%d     day of month (e.g., 01)
%D     date; same as %m/%d/%y
%e     day of month, space padded; same as %_d
%F     full date; same as %Y-%m-%d
%g     last two digits of year of ISO week number (see %G)
%G     year of ISO week number (see %V); normally useful only with %V
%h     same as %b
%H     hour (00..23)
%I     hour (01..12)
%j     day of year (001..366)
%k     hour, space padded ( 0..23); same as %_H
%l     hour, space padded ( 1..12); same as %_I
%m     month (01..12)
%M     minute (00..59)
%n     a newline
%N     nanoseconds (000000000..999999999)
%p     locale's equivalent of either AM or PM; blank if not known
%P     like %p, but lower case
%r     locale's 12-hour clock time (e.g., 11:11:04 PM)
%R     24-hour hour and minute; same as %H:%M
%s     seconds since 1970-01-01 00:00:00 UTC
%S     second (00..60)
%t     a tab
%T     time; same as %H:%M:%S
%u     day of week (1..7); 1 is Monday
%U     week number of year, with Sunday as first day of week (00..53)
%V     ISO week number, with Monday as first day of week (01..53)
%w     day of week (0..6); 0 is Sunday
%W     week number of year, with Monday as first day of week (00..53)
%x     locale's date representation (e.g., 12/31/99)
%X     locale's time representation (e.g., 23:13:48)
%y     last two digits of year (00..99)
%Y     year
%z     +hhmm numeric time zone (e.g., -0400)
%:z    +hh:mm numeric time zone (e.g., -04:00)
%::z   +hh:mm:ss numeric time zone (e.g., -04:00:00)
%:::z  numeric time zone with : to necessary precision (e.g., -04, +05:30)
%Z     alphabetic time zone abbreviation (e.g., EDT)

Fonte, come sempre: https://stackoverflow.com/questions/20361982/get-current-time-in-hours-and-minutes

Come cancellare la cache e liberare spazio su Xcode

Se utilizzate Xcode e volete alleggerire il vostro hard disk, o SSD che sia, vi basterà cancellare queste cartelle:

~/Library/Developer/Xcode/DerivedData
~/Library/Developer/Xcode/Archives
~/Library/Developer/Xcode/iOS DeviceSupport
~/Library/Developer/CoreSimulator
~/Library/Caches/com.apple.dt.Xcode
~/Library/Application Support/MobileSync/Backup

Mi raccomando ovviamente di controllare prima che all’interno non ci sia qualcosa che vi necessiti (controllate l’ultima cartella perché è dove dovreste avere i vecchi backup di iTunes).

Come alleggerire CocoaPods

Molti di voi probabilmente li hanno utilizzati o li utilizzano ancora tutt’oggi. Io già un anno fa vi avevo avvisati (l’articolo non è mio, però condivido il pensiero) che CocoaPods avesse qualcosa che non andava.

Beh arrivo al dunque brevemente come al solito e non mi dilungo troppo: se avete utilizzato delle dipendenze nei vostri progetti con CocoaPods e avete problemi di spazio (online c’è anche chi si lamenta d’avere più di 20 GB di file), ecco a voi come alleggerire la cartella dei progetti (nel caso vogliate alleggerire anche Xcode, due anni fa ho scritto come cancellare la cache di Xcode in inglese).

La cartella è nascosta, quindi dovete accedervi da terminale con:

cd ~/.cocoapods/

E cancellatela ovviamente con:

sudo rm -R ~/.cocoapods/

Screenshot di DaisyDisk nel quale mi sono accorto che… lasciamo stare

Nella speranza che usiate altri metodi per le vostre dipendenze (ehm… Carthage), alla prossima!

Come fare gli aggiornamenti di macOS da terminale

L’App Store su macOS c’è oramai da diversi anni ed è molto comodo e user friendly. Resta però un fatto che ancora oggi il terminale non ha perso il suo fascino, quindi ecco a voi come fare l’aggiornamento delle vostre app (chiamarli programmi suona strano da un’App Store).

Per la lista degli aggiornamenti da fare vi basterà eseguire:

softwareupdate -l

Mentre per aggiornare tutto:

sudo softwareupdate -iva

Se volete vedere gli altri comandi invece:

softwareupdate -h

Quale Kindle acquistare nel 2018

So che il titolo può essere fuorviante o troppo generico, ma sono convinto che molti di voi, interessati ad acquistare un Kindle, vi siete imbattuti in questa fatidica scelta del modello da comprare.

A oggi, giugno 2018 sono disponibili ben 5 modelli diversi di Kindle. E la cosa fondamentale che posso dirvi, come vi ho suggerito per l’acquisto di un iPhone è quello di valutare il vostro budget.

È più che ovvio che nessuno regala niente e che il modello Oasis da 249 euro è migliore del modello del Kindle base da 69 euro, è molto più leggero, potete usarlo comodamente con una sola mano ed è molto più nitido.

Tutti i modelli di Kindle per prezzo: link

Il Voyage invece non ve lo consiglierei, i tasti sul bordo non sono il massimo e potreste sbagliarvi a schiacciare.

Se invece ve l’hanno appena regalato o lo avete acquistato usato e non sapete quale modello avete, controllate qua con il seriale.

Personalmente posso consigliarvi il Paperwhite, cioè quello con lo schermo retroilluminato, perché è molto più comodo rispetto a quello base e ve ne pentirete nel caso leggete spesso al buio o in posti non molto illuminati. Onestamente però vi garantisco che avrete degli enormi vantaggi rispetto ai libri cartacei anche con il modello base, l’esperienza di un ebook reader e la possibilità di portarsi un’intera libreria in tasca è una cosa unica che ancora oggi non molte persone hanno provato.

Come esportare SMS e iMessage da iOS

Che voi abbiate un iPhone, un iPad o un iPod touch (esistono ancora, vero?), i metodi per esportare i messaggi non sono tanti.

Qualche anno fa vi avevo proposto di usare iExplorer per salvarli ma a quanto pare è a pagamento e i risultati possono non essere come sperati. Vediamo ora come farlo nel 2018 con iBackupBot: compatibile sia per Windows che per macOS.

Vi baserà scaricare il programma tramite questo link, fare un backup sul vostro computer con iTunes ma senza password, quindi accessibile anche ad app di terze parti (se non vi fidate fatelo in macchina virtuale o con qualche firewall per controllare le connessioni) e accedere alla schermata per esportare allegati e messaggi.

Schermata d’esempio

Nel caso potete esportare anche solo gli allegati, senza salvarvi tutte le conversazioni in .csv o .txt.

Allegati esportati con iBackupBot

Se avete dei problemi o non riuscite, lasciatemi pure un commento. Io l’ho testato e funziona correttamente con iOS 11.

Come convertire un percorso di Google Maps in gpx

Non so a quanti di voi possa interessare questo tool, dato che l’utilità è principalmente quella di fingere la vostra posizione tramite Xcode (cosa che potrebbe servirvi se utilizzate ancora Pokémon Go e usate bot… cosa che non vin consiglio di fare perché Niantic s’è fatta furba).

Se volete convertire un percorso creato con Google Maps in un file GPX, potete utilizzare questo semplice servizio che vi creerà un percorso veritiero, molto simile alla camminata vera e propria che potreste fare nella realtà: https://mapstogpx.com/pokemon.php

Potete anche spuntare una camminata a velocità costante

Per avere il link da incollare vi basterà creare un percorso, selezionarlo e poi cliccare sul tasto di condivisione:

Percorso su Google Maps

Come accendere il condizionatore con l’iPhone

Qualunque sia il vostro condizionatore, qualsiasi sia la marca, anche se vecchissimo o modernissimo: potrete gestirlo comodamente dal vostro iPhone o iPad.

E non solo accenderlo, anche spegnerlo, impostare la temperatura, tempistiche… il tutto senza il telecomando tradizionale. Volendo anche da remoto (così da avere casa già bella fresca prima di arrivare a casa)!

Dovrete acquistare, come per la tv, un Broadlink che vi permette di mandare segnali a infrarossi (la tecnologia utilizzata dal vostro telecomando per comunicare con il condizionatore, qualsiasi sia la marca). Potete acquistarlo da Amazon da qui oppure su Gearbest.

Schermata d’esempio per gestire la temperatura del condizionatore

Per configurarlo invece avete due scelte, o utilizzare Domoticz oppure direttamente da Homebridge. In ogni caso avrete bisogno di un Raspberry Pi se non volete utilizzare l’app ufficiale di Broadlink che lascia molto a desiderare in quanto ad usabilità.

Con Domoticz dovrete creare dei sensori virtuali ed eseguire questo script. Altrimenti con Homebridge potete semplicemente installarlo eseguendo:

 npm i homebridge-broadlink-rm

E potete configurare tutti i tasti seguendo la documentazione.

Come gestire HomeKit da remoto

Abbiamo visto cos’è HomeKit, ma non ho specificato come poter gestire tutti i sensori, luci e accessori da remoto. E per remoto intendo fuori dalla vostra rete locale di casa (o ufficio nel caso vogliate usarlo al lavoro).

Rullo di tamburi… dovete avere… o l’Apple TV o un iPad o l’HomePod!

Immagine presa dal sito di Apple

Già, sapete come funziona con Apple, sistema chiuso: regole ferree.

Detto questo: non c’è neanche bisogno che vi spieghi come vada configurato, sarà tutto già in automatico selezionato non appena viene rilevato il vostro iPad (dovete avere lo stesso Apple ID dell’iPhone con il quale avete configurato l’app Casa) o l’Apple TV.

Nel caso non venga fatto in automatico, aprite l’app Casa e cliccate sull’icona in alto a sinistra per configurarlo come Home Hubs.

Come leggere i file GPX

Prima di tutto devo dirvi cosa sono i file GPX: molto semplicemente sono file XML che descrivono percorsi di navigazione GPS, la sigla GPX sta per GPS eXchange Format e possono essere utili per indicare la strada o punti d’interesse sulle mappe.

Online si trovano tantissimi software da scaricare ma per evitare d’incappare in virus o applicazioni poco performanti o funzionanti, ecco a voi un ottimo tool online per leggerli dal vostro browser (funziona anche da mobile): https://www.maplorer.com/view_gpx.html

Screenshot di un file GPX su San Francisco

 

Vi basterà caricare il file per vedere sulla mappa il percorso e via! Se avete problemi, lasciatemi un commento!

Come installare Apache su Raspberry Pi

Apache penso (a quanto pare è usato dal 46% dei siti web) sia il web server più famoso al mondo, quindi è d’obbligo, dopo aver visto come installare nginx su Raspberry Pi (che tra l’altro quella guida va benissimo anche per qualsiasi altra distribuzione Debian/Ubuntu).

Comunque giusto per chiarire, Apache non è solo un web server ma anche e sopratutto un’organizzazione no-profit. Se volete approfondire leggete nel loro sito web.

Andiamo al dunque, aprite il terminale o collegatevi tramite SSH ed eseguite:

sudo apt install apache2

Aspettate e… fatto! Andate su:

cd /var/www/html

E modificate il file index.html oppure createne di nuovi! Buon divertimento!

Come disabilitare le porte USB su macOS

Prima dovete disabilitare la SIP (la System Recovery Protection) seguendo questa guida.

Poi aprite il terminale ed eseguite:

sudo kextload /System/Library/Extensions/IOUSBMassStorageClass.kext

Ed ecco che tutte le USB di input e output data, quindi pendrive e hard disk verranno disattivati. Se proverete ad inserirne, non succederà nulla. E so che potrebbe sembrar strano o inutile, ma sono sicuro che se siete qua, qualcosa in mente vi è già venuto.

Molto intuitivamente poi se volete riattivarlo (sappiate che a ogni riavvio si disattiva in automatico), vi basterà eseguire:

sudo kextunload /System/Library/Extensions/IOUSBMassStorageClass.kext

Come disabilitare la System Integrity Protection su macOS

La SIP o anche rootless mode, può essere utile in certe situazioni, ma al tempo stesso molto pericolosa.

Se sapete quello che state facendo, riavviate il vostro Mac in modalità Recovery.

Cliccate su Utilities nella menu bar in alto, poi su Terminal e incollate questo comando:

csrutil disable

Ora riavviate e voilà, ecco fatto.
Mi raccomando però, fate massima attenzione e fatelo solo se sapete cosa state facendo.

Impostazioni di sicurezza su macOS

Comunque nel caso vogliate riattivarla, stessa procedura ma il comando è, molto intuitivamente:

csrutil enable

Se vi servono altre informazioni, leggete sul sito di Apple: https://support.apple.com/en-us/HT204899

Come avviare macOS in modalità Recovery

Se state cercando di risolvere qualche guaio o sistemare il vostro Mac resinstallando macOS e volete entrare in Recovery mode, vi basterà riavviare o accendere il vostro computer tenendo premuti i due tasti:

CMD + R

Schermata d’esempio della Recovery mode

Se non dovesse riavviarsi con la tastiera wireless, tenete anche premuto il tasto shift.

Come accendere la TV con l’iPhone

Le reazioni che potete avere, dopo aver letto questo titolo, sono:

  • che me ne faccio di accendere la televisione con il telefono?
  • che figata, dimmi subito come fare!

Se siete nel secondo punto… beh ecco a voi com’è possibile accendere (e gestire) la vostra TV con HomeKit.

Prima di tutto, dato che la vostra televisione al 99% dei casi userà gli infrarossi per comunicare tra telecomando e schermo, vi è necessario acquistare “un qualcosa” che vi permetta di farli comunicare. E questo qualcosa è questo.

Sì, è davvero così piccolo

Potete acquistarlo semplicemente su Amazon (tramite questo link) a un prezzo che oscilla tra i 15 e i 20 euro. Nel caso invece quello non sia disponibile, cercate altri modelli simili tramite questo link.
Se invece volete prenderlo su Gearbest, ecco il link.

Ora, avete due scelte: o vi accontentate dell’app ufficiale, che ha diversi problemi di leggibilità in quanto è molto lenta e non è il massimo in quanto a grafica. Oppure potete installare Homebridge e poi installare il plugin semplicemente con:

npm i homebridge-broadlink-rm

Nel file di configurazione dovrete aggiungere qualcosa di simile a questo file d’esempio.

Tutta la documentazione potete vederla da qui.

Cos’è HomeKit

HomeKit è un protocollo di rete sviluppato da Apple e utilizzato su tutti i nuovi accessori compatibili con iPhone e iPad.

Oramai sia su internet che nei negozi fisici è possibile trovare centinaia di dispositivi compatibili con HomeKit: dai sensori per le porte, fino alle telecamere per interni o esterni.

La lista è davvero infinita, potete scorrere le infinite pagine su Amazon di tutti i prodotti che vende. Assicuratevi sempre che ci sia il simbolo ufficiale di Apple e che i prodotti siano realmente compatibili con l’app Casa che avete sul vostro iPhone.

Badge di HomeKit

Ma potete stare tranquilli, nel caso abbiate delle luci o sensori che non sono compatibili, non vi preoccupate, c’è Homebridge a salvarvi la vita. Vi permette di emulare un gateway compatibile, attraverso un semplice Raspberry (potete anche usare un vecchio computer, ma è più economico sia di hardware che di corrente).

Su npm potrete trovare più di 1000 plugin per Homebridge, quindi state tranquilli.

Nel caso abbiate bisogno, non esitate a contattarmi.

Cos’è un protocollo

Detto brevemente, senza andare troppo nello specifico, un protocollo (di rete) è un insieme di regole che si utilizzano per comunicare.

E per comunicare si intende, ovviamente, trasferire informazioni tra due dispositivi (potrebbero anche essere definiti client e server) che possono essere di qualunque tipo.

Un esempio di protocollo può essere SMB (come installare Samba) utilizzato per trasferire file da un Raspberry a un altro dispositivo connesso alla stessa rete locale. Oppure AFP, il protocollo di Apple. O addirittura la tecnologia Zigbee è un protocollo che sta avendo molto successo nell’ultimo periodo.

Documentazione di AFP sul sito di Apple

Con i prossimi articoli andremo ad introdurre altri esempi di protocolli di rete.

Come nascondere la versione di nginx

Nascondere la versione del vostro web server nginx, come per PHP, può essere molto utile nel caso qualcuno voglia sfruttare delle falle conosciute (anche se non vi difende da nulla, semplicemente non lo mostrate).

Andiamo diretti al sodo e modifichiamo il file di configurazione:

sudo nano /etc/nginx/nginx.conf

E dentro http aggiungete:

server_tokens off;

Ora riavviate il processo con:

sudo systemctl restart nginx