screenshot-nicokant altervista org 2014-12-30 23-54-14

Firefox OS in tutto il mondo

A un anno e mezzo dal primo rilascio Firefox OS è distribuito in circa 30 stati dai 14 operatori. In Italia era arrivato un solo dispositivo, l’alcatel one touch fire, grazie a Telecom Italia. Il telefono in esclusiva TIM, ora non più disponibile, era acquistabile a soli 59.90 euro, un prezzo davvero stracciato per uno smartphone  simile!

Grazie al plugin di AMCharts ho realizzato questa mappa interattiva che terrò aggiornata inserendo man mano i paesi in cui Firefox OS sarà disponibile.

Approfondisci

ff-fx0.0

Firefox OS sbarca in Giappone

I dispositivi marchiati Firefox OS continuano a crescere e cresce anche il numero di paesi in cui il sistema è distribuito; questa volta tocca alla terra Nipponica che certo non si lascerà sfuggire questo gioiellino di casa LG. Si chiamerà Fx0 e sarà disponibile solo in color oro trasparente con molte chicche a livello grafico, tra cui il tasto “Home” che avrà il simbolo di Firefox. Ecco qualche preview dal blog theverge.com.

Questo telefono, vera perla per geek e appassionati ,sarà disponibile dal 6 Gennaio in Giappone al prezzo di circa 420 dollari. Si tratta del dispositivo ufficiale Firefox OS più costoso sul mercato (ricordo che il meno caro costa circa 25 dollari) ed è ben oltre gli standard di mercato che Mozilla ha cercato di adottare negli altri paesi, cercando di realizzare dispositivi di fascia bassa. Quanto vorrei vivere in Giappone solo per poter mettere le mani sul Fx0!

Altre fonti:
Mozilla
KDDI

 

 

Approfondisci

857f9fc6bf21c49411

Updates: Telegram vs Whatsapp

La messaggistica mobile è assolutamente dominata dall’app Whatsapp, che grazie all’acquisto da parte di Facebook ha avuto una diffusione ancor maggiore. Nonostante i quasi venti miliardi di valore sono ancora molte le problematiche e le questioni di sicurezza legate a questa applicazione. Come al solito esistono diverse altri programmi che permettono di fare la stessa cosa (anche meglio) ma meno conosciuti ed utilizzati. Telegram, Line, Jongla IM e altre ancora si occupano di messaggistica, ma restano completamente sconosciute alla maggior parte degli utenti. Tra tutte queste io mi sono innamorato di Telegram, un’app che soddisfa tutte le mie necessità.

In ogni caso con questo articolo non miro a “convertire” le masse all’uso di Telegram, ma di mettere chiunque a conoscenza di questa applicazione e le sue funzionalità.

Mono-dispositivo

Avendo a disposizione molti dispositivi connessi alla Internet trovo molto scomodo essere limitato all’uso di un singolo. Se sto lavorando sul portatile perchè devo prendere il telefono per rispondere? non posso farlo dal mio pc?
Con whatsapp certo è possibile, ma è necessario installare simulatori e funzionerebbe solo col pc acceso. Telegram adotta un modello diverso, permette allo stesso utente di connettersi con quanti dispositivi vuole, mandare messaggi e ricevere notifiche per i nuovi messaggi su tutti gli schermi.

Privacy

Privacy non è una paranoia delle persone che hanno qualcosa da nascondere, ma un diritto di ogni essere umano, essere spiati e controllati significa non essere più liberi. Whatsapp, ma ancora di più Facebook, si è sempre dimostrata ingorda di informazioni circa i propri utenti, a cui è ignoto l’utilizzo che viene fatto dei propri dati e messaggi una volta finiti sui server. Come se i messaggi non bastassero, all’utente appena registrato viene richiesto di inviare la propria rubrica sul server per poterlo connettere ai suoi amici. Si tratta di procedure normali, ma -senza scendere in dettagli molto tecnici- vengono effettuate in maniera non protetta, anzi praticamente in chiaro.
Qualche link più tecnico:
http://geeknizer.com/how-to-hack-whatsapp-messenger/
http://fileperms.org/whatsapp-is-broken-really-broken/
https://blog.thijsalkema.de/blog/2013/10/08/piercing-through-whatsapp-s-encryption/

Di contro Telegram offre un servizio di messaggistica protetta e criptata, in cui i messaggi possono essere auto-distrutti e cancellati dal server. Tutta la protezione avviene con un protocollo sicuro durante il trasferimento e sono disponibili chat segrete per messaggiare senza lasciare alcuna traccia.

Libertà

Come già detto Telegram è libero, non solo nel senso che è gratis per sempre, ma anche nel senso che chiunque è libero di fare con Telegram quello che vuole. Si tratta infatti di un progetto open-source, ossia che il codice sorgente è reso disponibile per chiunque. Il fatto che sia open-source non lo rende effettivamente un software libero, attenzione. Ciò che fa di Telegram un software libero è la licenza con cui è distribuito il client ossia la famosa GNU GPL2; questa permette a chiunque di utilizzare, studiare, modificare e condividere (anche dopo le modifiche) il prodotto. Attualmente solo il client utilizza software libero, mentre per ragioni di sicurezza il server usa software proprietari, questo limite però è superabile usando le chat segrete che escludono il server dalla comunicazione.

Conclusione

Oltre a queste motivazioni aggiungerei anche la grafica dell’applicazione che è molto orientata verso il material design.

 **UPDATES**

Recenti dibattiti creati da questo post su twitter mi hanno portato a considerare nuovamente cosa sia effettivamente migliore tra Telegram e Whatsapp. In particolare vi rimando a questo articolo in cui si parla male di Telegram (per “par condicio”) e del perchè sarebbe meglio non usarlo.

 

Approfondisci

ID-10069102

Browser ForkBomb

La ForkBomb è una tecnica di attacco al sistema operativo che si basa sull’avvio di un numero di processi tale che allo stesso sistema operativo venga impedito di gestire sia loro, sia i processi avviati dagli utenti (per questo è classificato come DoS ossia denial of service).

La più famosa forma in cui è stata scritta la Fork Bomb è:  :(){ :|: &}; :
si tratta di una forma davvero strana, ma anche molto breve per dire
miafunzione(){ miafunzione|miafunzione &}; miafunzione

Possiamo considerare il simbolo : come segnaposto per qualsiasi nome di funzione; tale funzione viene dichiarata -miafunzione()- e dopo di che viene spiegato nelle graffe il suo comportamento, ossia miafunzione|miafunzione &. La forma si rifà al linguaggio del terminale dove | (detta pipe) permette di prendere il risultato di una funzione e passarlo alla funzione che segue, infine il simbolo & indica che il processo lavora in background e non può essere fermato in caso il processo che lo ha generato venga interrotto. Il simbolo ; indica che la funzione è terminata e “miafunzione” avvia effettivamente la funzione.

L’idea è quella di definire un processo ricorsivo (che richiama se stesso) infinite volte: il processo crea tantissime volte il doppio di una copia di se stesso, in maniera tale che ognuno sia indipendente dagli altri. In brevissimo tempo un sistema operativo troverà la RAM piena di processi inutili e non potrà eseguirne nuovi.

Dopo questa breve introduzione veniamo finalmente alla “bomba” realizzabile in Javascript che paralizzerà interamente il vostro browser e a lungo andare anche il sistema operativo. Il JS ha però una grave mancanza che è il multi-threading, ovvero la possibilità di generare altri processi che invece sfruttavano il comando di prima tramite la &. Javascript però è un linguaggio anche asincrono e orientato ad eventi: è in grado nel momento in cui avviene un evento (es. click del mouse) di eseguire del codice associato.

function forkbomb(){
setTimeout(function(){forkbomb();forkbomb();},0);
}

setTimeout lancia una funzione ogni tot millisecondi, in questo caso 0. La funzione che lancia è due volte forkbomb che a sua volta genera altrettanti eventi e forkbomb. Per fermarlo sarà sufficiente tenere pronto il Task Manager di Windows oppure digitare kill idBrowser nel terminale su Linux (va fatto entro breve tempo, se volete guardare bene cosa succede probabilmente dovrete fare un riavvio forzato).

I miei risultati con portatile da 8 GB di memoria con Ubuntu 14.04
Chrome: 89% di RAM occupata in meno di 2 min
Firefox: 40% di RAM occupata e riavvio non richiesto anche dopo una decina di minuti.

Dopo questi risultati ero sempre più curioso di sapere se un sistema operativo Browser-based come Firefox OS avrebbe retto alla visita di una pagina con lo script forkbomb all’interno. Così ho creato il manifest e l’ho installato sul mio dispositivo e… nulla! Ero in grado di utilizzare normalmente il telefono, come se avessi caricato una pagina vuota.

Soddisfazione Massima: Firefox OS non si è dimostrato vulnerabile a questa browser-forkbomb!

Approfondisci

cookies01

A ogni sito il suo biscottino -velenoso?-

Una delle più famose leggende metropolitane, dopo l’alligatore nelle fogne di New York, è il mito dei cookies che nascondono al loro interno virus e spyware. Ed è giunto il momento di sfatare questa idea!

I biscottini non sono nient’altro che piccoli frammenti di codice che vengono generati nel momento in cui vi connettete a un sito, in particolare sono inclusi direttamente nella richiesta di visualizzare le pagine. I cookies sono di estrema importanza per la navigazione degli utenti -tanto che generalmente ogni sito ne genera almeno uno- e permettono di tenere da parte alcune informazioni riguardo l’attuale sessione: ad esempio se siete connessi in una scheda su facebook e aprite un’altra scheda non avrete il bisogno di rifare l’accesso. Questo perché i cookies, detti di sessione, generati da facebook nella prima scheda contengono i vostri dati d’accesso finché il browser è aperto (a patto che non abbiate chiesto a Facebook di salvare i dati di accesso).

Biscotto web, Ingredienti   (x1 browser)

ID – un identificatore univoco che permette al sito di riconoscere e reinviare subito i dati aggiuntivi di cui un utente ha bisogno;
Hostname e path – l’hostname è il nome del sito che ha generato il cookie ed è l’unico autorizzato ad avere accesso a tale cookie, il path specifica quale pagina ha effettivamente generato il cookie. Esempio: visito il sito www.myhostname.com e siccome è molto carino decido di registrarmi e accedo alla pagina di login. A questo punto nella barra dell’URL mi troverò scritto www.myhostname.com/login, /login indica il path (in italiano: sentiero, indirizzo) di questa pagina, ovvero il percorso di file o cartelle che bisogna seguire per arrivare alla pagina desiderata.
Scadenza – Ogni cookie ha una propria scadenza, ossia una data dalla quale il cookie non può più essere considerato valido. Può essere molto distante se si tratta ad esempio del Ricordami di Facebook oppure molto vicina se si tratta di un cookie di sessione.
Accesso – stabilisce la modalità di accesso al cookie e fa si che sia invisibile e intoccabile, nessun javascript o linguaggio client-side può metterci le mani.

Avere paura della propria ombra

Il cookie come abbiamo visto rende facile la vita dell’utente, ma cosa potrebbe succedere se finisse nelle mani sbagliate? Sicuramente non prenderemmo virus, ma saremmo spiati e tracciabili e dalla cronologia si potrebbe creare un profilo dei nostri interessi. Questo è il motivo per cui alcuni dei vostri cookies vengono segnalati dall’antivirus come “pericolosi”: in realtà indica un tentativo di tracciarvi. Ma da parte di chi?
Principalmente il tracking e la profilazione sono usati come metodi per inviare pubblicità mirata che si basa su interessi presunti dopo aver analizzato le vostre ricerche. Ricapitolando:

-Ogni sito genera il suo cookie e non può leggere quello di altri siti;
-Mi vengono fornite pubblicità mirate in base ai siti che ho visitato;

Una pubblicità tira l’altra

Quando ci si collega a un sito Web vengono caricate tramite altre richieste anche immagini, fogli di stile, javascript e le odiate pubblicità. Le pubblicità però provengono da altri siti internet, che sono dei veri e propri terzi incomodi. Solitamente si tratta di siti che forniscono ampiamente pubblicità a molte altre pagine: tramite il meccanismo del referral quando vengono contattati sono in grado riconoscere il vostro browser e sono a conoscenza del sito che state visitando perché proprio lo stesso li ha contattati.

L’ora del tè

E’ quasi giunto il momento di agire, di disfarci di questi biscotti velenosi, ma prima è bene fermarsi e valutare la situazione nel suo complesso.

PRO: facilitano la navigazione, forniscono statistiche per il vostro sito.
CONTRO: possono tracciare la vostra navigazione e intaccare la vostra privacy.

POSSIBILI SOLUZIONI:
– Disattivazione completa dei cookies, che però rovina l’user experience.
– Ignorare il problema non è una soluzione.
– Impedire la creazione di cookies scomodi.

CONCLUSIONE:
I cookies sono buoni, basta non farne indigestione.

I web-portinai

La soluzione “definitiva” sta nell’impedire il caricamento delle sezioni indesiderate delle pagine, per rendere davvero efficiente questa operazione consiglio di installare più di un estensione dedicata.
– Disconnect, individua siti di parti terze e li blocca.
– ADBlock, impedisce il caricamento delle pubblicità.
– PrivacyBadger, blocca i siti che cercano di tracciare.
– Lightbeam, mostra i contenuti di parti terze che sono stati caricati e crea un grafico che li riunisce. Avrete la possibilità di vedere come certi contenuti su siti diversi abbiano la stessa fonte.
– Cookie Manager, permette facilmente di gestire singolarmente i vostri cookies

Approfondisci

large

Sviluppare giochi per Firefox OS

Andre Garzia, già autore della guida allo sviluppo veloce per Firefox OS, ha pubblicato un nuovo manuale per aiutare l’iniziazione alla creazione di giochi in HTML5. Al momento è disponibile la versione inglese e non quella italiana, ma chissà che qualche volontario non decida di tradurla. La guida insegna passo-passo come realizzare un semplice giochino per browser, una versione flat di arkanoid chiamata foxnoid.

L’app utilizza come framework Phaser JS, uno strumento molto duttile e intuitivo che vi permetterà di realizzare facilemente gran parte delle vostre idee. Per scoprire ancora meglio come utilizzare Phaser vi consiglio i tutorial e gli esempi proposti sul sito http://phaser.io/examples/

 

Approfondisci

screenshot-forum viglug org 2014-12-11 23-02-34

ViGLug

Il Lug di Vignate è un gruppo di utenti GNU/Linux -GNU/Linux User Group- provenienti da molti paesi della Martesana che si ritrova per due incontri al mese in cui si discute di progetti, software libero e community; ho deciso quindi di prendere parte all’incontro dal vivo e quindi mi sono presentato a Cernusco S/N nell’azienda che gli concede l’utilizzo dei suoi spazi.

Il principale argomento dell’incontro è stato la creazione di una rete Mesh WiFi libera che unisca i paesi della Martesana attraverso l’adesione al progetto Ninux. La rete di Ninux si propone di creare una connessione alternativa a Internet in cui ciascuno sia effettivamente proprietario del proprio nodo di accesso alla rete. Essendo una rete libera chiunque deve essere messo nelle condizioni di potervi accedere, ma allo stesso tempo il nodo non è tenuto ad essere sempre attivo.

C’è stato spazio però anche per alcuni aggiornamenti riguardanti le novità del software libero: in particolare la notizia dell’implementazione del supporto DirectX 9 sull’open driver di AMD ha riacceso le mie speranze di non aver mai più alcun bisogno di Windows. Mai più problemi con schede Radeon e mai più giochi che funzionano solo su Winzoz.

L’impressione che ho avuto dopo questo primo incontro è che si tratti di un Lug veramente attivo con una buona media di 25 utenti presenti tra live e in chat; anche le molte migrazioni a Linux di scuole e enti pubblici che il gruppo ha effettuato parlano chiaro: Linux è un sistema ormai maturo che ha solo bisogno di essere “pubblicizzato”, offrendo all’utente un servizio di supporto.

Un altro punto di forza è la cultura del software libero: ogni servizio che viene offerto usa software libero con risultati davvero ottimali, fornendo valide alternative ai programmi di cui un utente medio potrebbe aver bisogno. Un esempio è il sistema di conferenza basato su un audio streaming e una chat IRC; chi non può essere presente fisicamente ha la possibilità di ascoltare in diretta e di fare domande tramite la chat. Riproducendo l’audio vi renderete conto della ottima qualità che è stata ottenuta usando un microfono esterno da webcam. Non posso che essere pronto per aiutare e imparare da questa community!

Approfondisci

promo-title

BrowserQuest: l’MMORPG di Mozilla e le WebSocket

BrowserQuest è un Massive Multiplayer Online Role-Playing Game realizzato da Little Work e Mozilla. Si tratta di un RPG molto semplice e veloce da completare (basta circa mezzora); si svolge in un mondo fantastico in cui si alternano diversi paesaggi popolati da animali pericolosi e mostri da sconfiggere.

Naturalmente è un applicazione open-source, ossia il codice con cui è stato creato è visibile a chiunque, modificabile da chiunque ed è stato realizzato tramite WebSocket. Le WebSocket sono uno strumento molto efficiente che permette di inviare piccoli blocchi di dati al server “istantaneamente” ed il server che riceve questi dati è in grado di aggiornare tutti i client connessi a lui sempre con la stessa rapidità.
Per il multi-player online è praticamente indispensabile perchè solitamente l’alternativa è l’utilizzo del protocollo HTTP che non affatto il massimo per inviare piccole quantità di dati.

Immaginate se in un qualsiasi gioco multigiocatore ogni volta che premete un tasto per spostarvi viene ricaricata la pagina a una velocità percettibile. Il gioco va a scatti e l’user-experience è rovinata. Il vantaggio delle WebSocket è una connessione stabile e persistente con il server, è il server infatti a gestire ed elaborare i dati localmente e reinviare a tutti i client i nuovi dati per aggiornare i frame.

Approfondisci