Perchè ci sono molti proxy da utilizzare liberamente?

La risposta a questa domanda è molto semplice:

Perché è il modo più semplice di infettare migliaia di utenti e raccogliere i loro dati.

Chiunque di noi può, in pochi minuti, mettere su un server proxy (es: squid) che modifica i file javascript trasmessi concatenando loro un determinato payload.
Questo payload può svolgere un’infinità di azioni più o meno lecite: quella più semplice consiste nel cambiare al volo tutti i link della pagina visitata e portarli verso una destinazione precisa.
Una volta impostato il payload basta fare in modo che il javascript modificato abbia un tempo di caching elevato per fare in modo che il browser dell’utente utilizzi il suddetto javascript anche a seguito della disconnessione dal server proxy.

Spesso su web mi trovo a leggere questa santissima frase:

If you’re not paying for it; you’re the product.

che è parente di:

Nessuno fa niente per niente.

quindi se volete tutelare la vostra privacy/sicurezza non fatelo tramite free proxies ma piuttosto preparatevi voi stessi la macchina o pagate qualche azienda (di fiducia) in modo che vi possa offrire tale servizio.

Lista sempre aggiornata delle migliori librerie PHP

Per iniziare questo 2015 con i fuochi d’artificio ho deciso di condividere con voi una lista completa ed aggiornata di alcune delle migliori librerie PHP che si possono trovare nella rete.
Vi consiglio di dare un’occhiata soprattutto a Composer (per gestire al meglio le dipendenze tra le varie librerie PHP) e Symfony2 inclusi alcuni suoi “componenti“:

  • Twig: un sistema di templating molto versatile, veloce ed estendibile;
  • Swift Mailer: un’ottima alternativa allo storico PHP Mailer;
  • Finder: per navigare nel file system in maniera molto agevole (con l’utilizzo anche di wildcard);
  • VarDumper: valida alternativa a var_dump (rimane comunque vivamente consigliato l’utilizzo di xdebug per un debugging più approfondito).

A voi scoprire le altre librerie!

Come cambiare il colore della toolbar di Chrome per Android Lollipop

Dalla versione 39 di Chrome per Android Lollipop è possibile cambiare il colore della toolbar mediante il seguente meta tag:

<meta name="theme-color" content="#D0443A">

Il risultato che otterrete sarà simile al seguente:

In questo modo il browser sarà sempre in tinta con il colore del logo che, in base all’orario, potrà avere i seguenti colori:

Carino no?

Firefox Developer Edition: il browser per gli sviluppatori

E’ appena uscito Firefox Developer Edition:

Firefox Developer Edition brings your core dev tools together with some powerful new ones that will extend your ability to work across multiple platforms from one place. It’s everything you’re used to, only better. And only from Firefox.

Non ho ancora avuto modo di provarlo quindi non vi so dare molte dritte a riguardo: corro ad installarlo!

Guida a Git per novizi

Questa guida ha lo scopo di avvicinare gli sviluppatori all’utilizzo di Git: eviterò di andare troppo in profondità al fine di rendere questo post il più essenziale e semplice possibile (ahime, tralasciando alcuni aspetti interessanti).

Prima di tutto andiamo a definire Git:

Git is a distributed revision control and source code management (SCM) system with an emphasis on speed, data integrity, and support for distributed, non-linear workflows.

Data la natura distribuita di Git possiamo trovare servizi di repository hosting quali GitHub e Bitbucket che tramite un’interfaccia web possono facilitare di molto la vita (con alcuni servizi aggiunti quali statistiche, issue tracking e molto altro).

Creazione di un nuovo repository

Con il comando git init si crea un Git repository vuoto che si concretizza con la creazione della cartella nascosta .git dove questo comando è stato eseguito.
Questa cartella nascosta contiene tutti i metadati/db di cui Git ha bisogno per il suo funzionamento.

Iniziamo a creare del contenuto da versionare

A questo punto possiamo iniziare lo sviluppo del nostro progetto che simuleremo creando un file index.html con scritto al suo interno “Ciao mondo”.
Introduciamo ora il workflow base di Git:

  1. Modifichiamo/creiamo file nella working directory;
  2. Selezioniamo i file da mettere nella stage area;
  3. Facciamo un commit che prende la nostra stage area e la memorizza permanentemente nella cartella nascosta .git (snapshot).

Tramite git status vediamo lo stato del nostro Git repository: possiamo notare come il file index.html appena creato venga considerato come “Untracked file” (cioè appartenente alla nostra working directory).

Facciamo il nostro primo commit

Seguendo il workflow base di Git, prima di committare la nostra modifica dobbiamo mettere il file index.html in stage e per farlo utilizziamo il comando git add.

Come potete vedere, il comando git status ci da un feedback diverso da quello precedente dicendoci che il file index.html è stato aggiunto alla stage area: siamo quindi pronti a fare il nostro primo commit.

Il comando git commit prende i file che abbiamo aggiunto nella stage area e li committa col messaggio che abbiamo indicato utilizzando il parametro -m.

Facciamo il nostro secondo commit

Ipotizziamo di dover modificare il file index.html sostituendo “Ciao mondo” con “Ciao mamma”, utilizzando il comando git diff vedremo le modifiche che abbiamo eseguito.

Questo ci da un riscontro delle modifiche eseguite (utile per fare review del codice), una volta verificato il tutto siamo pronti per il nostro secondo commit: prima di ciò il file va riaggiunto alla stage area.
Per velocizzare questa procedura possiamo usare il comando git commit -am "Saluto solo la mamma" che equivale alla sequenza git add . e git commit -m "Saluto solo la mamma".

Controlliamo i commit che abbiamo fatto

Per avere una panoramica dei commit fatti finora utilizziamo il comando git log.

Vedremo una lista dei commit (con il corrispondente hash univoco) che ci da conferma del lavoro appena svolto.

E adesso?

Questa guida ha lo scopo di avvicinarvi a Git tralasciando molti aspetti interessanti (e probabilmente più utili) che però si possono approfondire in un secondo momento: creazione di branch, ripristinare alcune modifiche appena fatte, utilizzare un repository hosting esterno e molto altro.
Nel frattempo vi consiglio di smanettare e prendere confidenza con i comandi utilizzati in questa guida.

Stay tuned!