home Tempo di lettura massimo 3 min


Tasker: disabilitare la modalità silenziosa durante le chiamate

Sebbene case quali Samsung, Huawei e LG forniscano bundle di applicazioni di sistema altamente personalizzate, l'applicazione Telefono di Google è sempre più utilizzata, sia da marchi minori, integrandola nelle proprie ROM, sia come sostituta all'app di default.Questo sicuramente perchè Google è stata in grado di sviluppare un'applicazione semplice e intuitiva, ma che al tempo stesso permette di avere sotto controllo tutta la parte telefonica del nostro dispositivo. Dialer, registro chiamate e lista dei contatti risultano infatti raggiungibili dalla stessa icona, così come funzionalità più avanzate come blocco e registrazione delle chiamate. Nelle ultime versioni di questa applicazione, in particolare dalla 6.0, rilasciata insieme ad Android 7.1, Google ha però introdotto una funzionalità che ha fatto storcere il naso a molti. Durante una telefonata infatti ora il telefono verrà messo automaticamente in modalità silenziosa (Non Disturbare). E se da una parte questo può risultare comodo in quanto elimina qualsiasi distrazione mentre siamo al telefono, dall'altra saremo costretti a controllare ripetutamente l'eventuale arrivo di una notifica. Nell'attesa di un futuro aggiornamento che renda opzionale questa funzione, una possibile soluzione è quella di utilizzare Tasker, un'applicazione già discussa su L'angolo nerd (abbiamo parlato anche dell'alternativa Automate), che permette di automatizzare determinate azioni come risposta a particolari eventi. Nel nostro caso l'evento sarà la telefonata stessa, mentre l'azione sarà quella di disabilitare la modalità silenziosa. Per prima cosa sarà necessario creare un nuovo Profilo di tipo Evento. In Tasker è presente l'evento Chiamata Avviata che fa al caso nostro senza la necessità di plugin aggiuntivi. A questo profilo colleghiamo quindi una nuova azione in cui imposteremo la modalità Do Not Disturb a Tutti (le alternative sono Nessuno, Priorità, Tutti e Alarms). Chi ha dimestichezza con Tasker saprà che è bene mettere sempre un tempo di attesa prima dell'esecuzione di ogni attività, in modo da lasciare all'app il tempo necessario per riconoscere l'evento appena scattato. Per questo nella soluzione proposta è stato messo un Wait 1s prima di abilitare le notifiche. E se invece usassimo l'applicazione telefono di default del nostro dispositivo e volessimo proprio questa funzionalità? La soluzione si chiama ancora Tasker: basterà utilizzare il profilo appena visto e impostare Do Not Disturb a Nessuno. [ Immagine in evidenza da Android Police ]

L'angolo nerd: che fine ha fatto l'app?

Sono passati circa due mesi e mezzo dall'ultimo rilascio dell'applicazione de L'angolo nerd e da quel momento non vi abbiamo più aggiornati sullo sviluppo. Senza considerare il mese di febbraio che è stato per tutti noi molto impegnato e che ci ha costretti a sospendere temporaneamente questo progetto, lo sviluppo dell'applicazione non si è però mai fermato ed anzi, ha visto diverse svolte importanti. Inizialmente l'idea era infatti di sviluppare un'app "ibrida" utilizzando PhoneGap, un framework che permette di scrivere applicazioni in Javascript e HTML5 per poi incapsularle in un "guscio" nativo, in modo da poter essere installata sui dispositivi mobili. Scartata quasi subito, abbiamo iniziato a lavorare su due progetti contemporaneamente, entrambi sviluppati nativamente per Android. Il primo ha portato all'applicazione che attualmente potete scaricare dal sito e che sfrutta molto semplicemente una WebView per mostrare i contenuti del sito mobile, con l'aggiunta di piccole funzionalità come le notifiche push e la gestione dei link. Il secondo progetto, più ambizioso, contava invece di sviluppare un'app completamente nativa, senza utilizzare contenuti scaricati dal web ma mostrando i dati interrogando il server attraverso delle "mini API". Circa un paio di settimane fa Niccolò ha proposto di riscriverla utilizzando React Native, un framework basato su React JS di cui vi abbiamo parlato qualche giorno fa. Abbiamo quindi abbandonato tutti i precedenti progetti per buttarci su quest'ultimo - quasi - a tempo pieno e ad oggi mancano un paio di bug da correggere e altrettante funzionalità da implementare, tra cui il filtro degli articoli per categoria (come potete vedere nel video qui sopra, attualmente non funzionante), per rilasciare la prima versione dell'applicazione. Per gestire il progetto abbiamo deciso di utilizzare una linea di sviluppo un po' più strutturata rispetto al nostro solito (hacker veri!). In primis il tutto è hostato su GitHub e i sorgenti sono disponibili al pubblico a questo indirizzo. Git permette di sviluppare in team e su diversi "rami" in maniera autonoma e per una migliore organizzazione abbiamo utilizzato Git Flow, che ci permette di separare l'implementazione delle varie feature e i fix dei vari bug, di cui teniamo traccia attraverso il servizio di bug tracking offerto sempre da GitHub. Per quanto riguarda lo sviluppo vero e proprio invece, che come abbiamo detto è basato su React Native, abbiamo deciso di sperimentare con Expo, un tool che permette di scrivere applicazioni per iOS e Android senza scrivere codice nativo nè toccare Android Studio o Xcode. Grazie all'applicazione di supporto è infatti possibile testare e debuggare il progetto senza passare per build, file APK/IPA e push del compilato sul dispositivo/emulatore - fico! Chi volesse quindi provare l'applicazione prima del rilascio ufficiale dovrà passare per Expo, seguendo le istruzioni presenti nel README del repository.

Atom a hackable text editor

Atom è un editor di testo Open Source sviluppato dal team di GitHub, è disponibile per qualsiasi piattaforma, Mac OS, Windows e Linux. Per un programmatore la scelta dell'editor di testo è fondamentale e non è una cosa banale ne semplice. Dopo qualche anno di “pellegrinaggio” tra i vari editor disponibili partendo da Gedit passando per Sublime Text sono finalmente approdato ad Atom. Il prodotto made in GitHub è uno tra gli editor di testo più flessibili che ho potuto provare, grazie alla possibilità di installare pacchetti di terze parti. Grazie a questa feature sarà possibile ampliare le funzionalità dell'editor che nella sua versione base è piuttosto minimale, quasi scarno. Ne è un esempio la mancanza della voce “open recent” nel menu che è possibile aggiungere tramite l'installazione di un pacchetto apposito. Oltre ai pacchetti dedicati all'espansione delle funzionalità e al miglioramento della produttività, ne esistono altri finalizzati a rendere la scrittura del codice più piacevole e divertente come questo. La lista di pacchetti disponibili è lunghissima potrete trovarne per gli usi più disparati e aggiungerli alla vostra “collezione” per rendere il vostro Atom unico e personale. Le possibilità di personalizzazione non finiscono qui, come per altri editor come Sublime è possibile modificare l'aspetto del nostro editor tramite dei temi (qui potete trovare la lista completa), suddivisi tra UI theme, il tema dell'interfaccia e dei menu e syntax theme, ovvero il colore dello sfondo dell'area di testo e i colori per le parole chiave della sintassi del linguaggio usato. Solitamente il creatore di un tema fornisce entrambi, nulla vieta di combinare diversi temi per ottenere un aspetto unico e totalmente personale. Passando ad aspetti più tecnici Atom è basato su Electron, un framework implementato tramite chromium e node.js, Open Source e sviluppato da Git Hub. Permette di scrivere applicazioni desktop multipiattaforma utilizzando html, css, javascript. Le applicazioni basate su Electron sono ben 304, in tema di editor di testo anche Visual Studio Code di Microsoft è basato su questo framework. Atom è Open Source informazione che magari non a tutti interessa, ma se siete tra quelli che sposano più o meno fedelmente questa filosofia sarete ben felici di poter prendere in considerazione questo editor di testo, e potrete anche collaborare allo sviluppo.

L'angolo nerd sbarca su Instagram

Il team de L'angolo nerd è lieto di annunciare la creazione della nuova pagina Instagram. Oltre a poter seguire le news potrete trovare anche alcune chicche. Ovviamente per una "piccola realtà" come la nostra il mondo dei social non è solo utile, ma praticamente indispensabile. Sia per farsi conoscere presso nuovi utenti sia per mantenere costante il rapporto con chi già ci segue. Ecco perchè l'idea di inserire un nuovo social oltre ai già presenti, Facebook, Twitter e Google+. Non escludiamo la possibilà di approdare anche su altri social, ma per ora riteniamo che l'offerta sia abbastanza completa. Quindi cosa aspettate, seguiteci anche su Instagram!

Magisk v11: la soluzione All-In-One per il modding di Android

Avevamo già parlato di Magisk tempo fa, una mod molto particolare che permette di installare altre modifiche - dette moduli -, quali i permessi di root, Xposed e Viper4Android in modalità systemless, vale a dire senza toccare la partizione di sistema del dispositivo. Questo avviene grazie ad una modifica della partizione di /boot che permette di caricare virtualmente queste mod nella partizione di sistema ad ogni avvio di Android, rendendo quindi possibile un futuro aggiornamento del sistema senza effettuare nuovamente tutti i passaggi per installare le modifiche volute. Nell'ultimo periodo lo sviluppo di questo sistema ha subito una forte accelerazione introducendo sempre più funzionalità come Magisk Hide, che permette di nascondere i permessi di root alle applicazioni che "non li digeriscono" (Android Pay, Pokemon Go e molte applicazioni di mobile banking ad esempio) e atterrando sul Play Store (Magisk Manager). È di stanotte - 6 febbraio 2017 n.d.r. - l'ultimo aggiornamento, che porta Magisk alla versione 11 e il Manager (l'applicazione di gestione) alla versione 4, rendendo questa mod una soluzione All-In-One per la gestione di moduli e permessi di root. Infatti non sarà più necessario installare a parte un gestore dei permessi di superutente, come possono essere Phh Superuser e SuperSU (per il quale viene comunque mantenuta la compatibilità), poichè ora è integrato direttamente in Magisk. Chiamato MagiskSU, non è altro che una versione modificata del gestore di Phh, ma che permette di chiudere il cerchio, rendendo Magisk la piattaforma più completa nell'ambito del modding di Android. Per maggiori informazioni vi rimando alla discussione ufficiale sul forum di XDA.

Sitemap dinamica: cos'è e come generarla

La Sitemap non è altro che un file contenente la lista di tutte le pagine di un sito web e viene utilizzata per comunicarne l'organizzazione dei propri contenuti ai motori di ricerca. Per loro natura i crawler, software specializzati nell'analisi e raccolta di informazioni dei contenuti web, organizzano i dati in modo automatico e questo permette di poter raggiungere i contenuti online dai risultati di una ricerca sui vari Search Engine. Può capitare però che non appaia tutto ciò che vorremmo del nostro sito o che venga data una priorità maggiore a contenuti meno importanti. Occorre quindi "dare una spinta" ai motori di ricerca, fornendo loro una mappa dei contenuti e dei metadati associati, come la data dell'ultimo aggiornamento, la frequenza con cui la pagina viene modificata e l'importanza della pagina rispetto agli altri URL del sito. L'obiettivo quindi è quello di generare una Sitemap dinamica, in modo che, man mano che vengono aggiunti conenuti al sito web, questi appaiano anche nella mappa. Tale procedimento risulta necessario nel caso in cui non ci si appoggi a CMS e sistemi di gestione preesistenti, con i quali invece viene solitamente costruita in modo automatico. La Sitemap standard e accettata da tutti i motori di ricerca è tipicamente in formato XML e segue uno schema simile <?xml version="1.0" encoding="UTF-8"?> // Versione e codifica <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> // Schema <url> // Struttura dei link <loc>URL_PAGINA</loc> <lastmod>DATA_ULTIMA_MODIFICA</lastmod> // Altri parametri opzionali </url> // ... </urlset> Affinchè sia dinamica dovremo servirci di PHP per recuperare le informazioni delle pagine e degli articoli e stamparle come visto sopra, con qualche accortezza: la definizione degli header della pagina, effettuata attraverso il comando header('Content-Type: text/xml');, deve trovarsi in testa al file .php anche la definizione della versione di XML e la codifica usata, così come l'apertura del tag urlset devono trovarsi in cima alla pagina, appena sotto la funzione header Solo dopo questi tre elementi potremo scrivere il codice necessario per ottenere i link dal database  Il codice completo per la Sitemap de L'angolo nerd risulta essere quindi il seguente:   L'ultimo passaggio è quello di reindirizzare sitemap.xml al nostro file PHP, che può essere fatto attraverso una RevriteRule - vista nell'articolo precendente - dal file .htaccess in questo modo: RewriteRule ^sitemap.xml ./sitemap.php [L].