itaeng

Blog

Pubblicato in:segnalazioni

Guida facile per il root del Nexus 5

14APR2014

Ho da poco acquistato questo (enorme) telefono e dopo soli due giorni di utilizzo non riesco a resistere alla tentazione di installargli qualche sistema operativo diverso da android stock: penso in particolare a ubuntu touch (perlomeno per provarlo, anche se non credo sarà il mio sistema predefinito), ma anche a cyanogenmod (da usare normalmente).

Su internet ho trovato decine di guide ma tutte richiedono l'installazione di drivers, applicazioni, cose... finché non mi sono imbattuto in un piccolo tool che rende davvero semplice il tutto: è sufficiente lanciare un comando per ritrovarsi il telefono resettato (questo avviene con qualunque sistema, purtroppo) e rootato.

Ecco i passaggi:

  • Per prima cosa bisogna scaricare ed estrarre questo file sul proprio computer.
  • Poi bisogna spegnere il telefono e riaccenderlo tenendo premuto il tasto volume +, volume - ed il tasto di accensione. Il nexus si riavvierà in modalità "sala operatoria", con tanto di logo android con il "cofano" aperto.
  • Infine si collega il telefono al computer utilizzando un normale cavetto usb.

A questo punto è sufficiente lanciare root-windows.bat, root-linux.sh o root-mac.sh a seconda del sistema operativo che stiamo utilizzando. La procedura guidata farà comparire una richiesta sul telefono per sapere se vogliamo sbloccare il boot loader oppure no (e noi lo vogliamo, naturalmente), e dopo un paio di riavvii avremo il nostro nexus sbloccato.

Facile, no? 

SublimeLinter: un comodo quasi-debugger per Sublime Text

04APR2014

Ok, debugger non è il termine corretto. In realtà questo pacchetto si occupa di "linting", cioè controlla il codice per potenziali errori e li evidenzia in modo tale da renderli chiaramente visibili allo sbadato programmatore.

Per esempio, niente più ; mancanti al termine di un'istruzione PHP, sublimeLinter evidenzierebbe subito la riga di rosso. Così come niente più parentesi non chiuse in CSS, niente più dichiarazioni duplicate, niente più... dimenticanze o sviste di questo tipo. Con grande risparmio di tempo e di energia nel cercare di debuggare una funzione semplicissima che si ostina a non funzionare... diavolo di una virgola mancante :)

L'installazione è semplicissima, così come ogni altro plugin per Sublime Text: si apre il package installer, si seleziona "sublime linter" e... si installa :)

Funziona tutto fin da subito , senza troppi sbattimenti e volendo c'è anche un piccolo menu per configurare più facilmente il comportamento del plugin. L'unica altra modifica che ho fatto è stata disabilitare gli avvisi durante il linting dei file CSS, per fargli ignorare l'uso dell'istruzione !important e degli ID .

Per farlo, è stato sufficiente aprire il SublimeLinter settings - user, andare alla riga degli ignore per il csslint e sostituirla con :

"ignore": "important,ids",

L'unica cosa che manca a questo pacchetto è il linting per i Javascript, che è da abilitare a parte. Per farlo è sufficiente installare il pacchetto sublimelinter-jshint, installare jshint... e godersi anche quest'altra sciccheria.

user@linuxbox:~$ npm install -g jshint

Facile, no? :)

Pubblicato in:php cakephp

CakePHP Supercache plugin

26MAR2014

CakePHP è lento, dicono. E forse hanno anche ragione, benchmark alla mano, ma la vita reale è molto diversa da un benchmark ed io tutta questa lentezza non l'ho mai realmente percepita. Discorso ben diverso invece è gestire un sito molto visitato su un server con risorse limitate, cosa che può causare una lentezza dovuta, appunto, alle scarse prestazioni del server più che a quella del framework in se.

Tempo fa scoprii un fantastico plugin di Matt Curry che permetteva di creare dei file html statici, in modo del tutto trasparente all'utente finale, che fossero una copia esatta di una precedente elaborazione di CakePHP. Per farla semplice: la prima volta cakephp genera la pagina, la salva in un file html e la seconda volta visualizza direttamente il file html invece di ri-elaborare il tutto. Figata!

Implementai quel sistema ma mi resi conto che non era ancora una soluzione ottimale: il tutto si basava infatti comunque sull'infrastruttura di CakePHP (che quindi faceva comunque lavorare il server, se non altro per caricare il framework). Volevo qualcosa di più radicale.

CakePHP supercache plugin

Così mi misi a lavorare su qualcosa che facesse più o meno la stessa cosa e decisi di operare alla fonte: il file app/webroot/index.php. Questo mi permise di saltare totalmente l'infrastruttura di CakePHP facendo richiamare direttamente il file cache, quando richiesto. In pratica, poche righe di php (puro) per decidere cosa fare, per poi richiamare il framework o la cache a seconda delle necessità. Senza praticamente alcuno sforzo per il server. Non appena poi un utente effettua il login la cache viene automaticamente svuotata, così da evitare il rischio di mantenere in cache file obsoleti.

Installazione

Per installare questo plugin è necessario:

  • Creare la cartella app/webroot/cache, con permessi di scrittura;
  • rinominare il file app/webroot/index.php in app/webroot/index_cake.php;
  • scaricare il file index.php da github;
  • curiosare nel file ed indicare quali tipi di pagine debbano essere salvate in cache (il tutto è gestito in stile whitelist: di default nessuna pagina viene salvata tranne quelle specificate);
  • godersi il risultato.

Risultati

Per avere un'idea del risultato ho fatto qualche misurazione del consumo di memoria necessario alla visualizzazione della home page di questo stesso sito: senza il plugin abilitato la memoria utilizzata dal server per mostrare l'home page è di 3,78mb e 0.075281 secondi di elaborazione. Con il plugin attivato è di 768kb e 0.000977 secondi.

Mica male per un plugin così semplice da implementare, no?

Pubblicato in:ubuntu backup trucchi

Installare copy.com client (alternativa a dropbox) su linux

22FEB2014

Installare il client di copy.com su linux è molto semplice, se sai come farlo :) Personalmente ne ho capito il funzionamento solo dopo aver fatto qualche ricerca su internet, aspettandomi chissà quale complicazione che poi... non ho trovato.

Primo passo: registrazione

Copy.com, a differenza di molti servizi simili e più famosi, è molto generoso in quanto a spazio che mette a disposizione per gli account gratuiti: si parte da 15GB di spazio ed ogni referral regala altri 5gb. Se ti va di usufruire di questo regalo (facendone uno uguale anche a me) clicca qui, altrimenti clicca sul link che ho messo all'inizio, il bottone per la registrazione è lassù in alto a destra :)

Secondo passo: installazione

L'installazione come dicevo è semplicissima, ma richiede l'utilizzo del terminale (volendo si può fare da file manager, ma perché complicarsi la vita?):

sudo su
cd /opt
wget https://copy.com/install/linux/Copy.tgz
tar -zxf Copy.tgz
rm Copy.tgz

Et voilà, l'installazione è fatta :)

Terzo passo: prima configurazione

Sempre da terminale, lanciamo il comando

/opt/copy/x86_64/CopyAgent

Questo farà partire un'interfaccia grafica che ci chiederà l'indirizzo email usato per la registrazione e la relativa password, seguito dal percorso in cui si vuole installare la cartella condivisa di Copy (di default è una cartella Copy dentro la home). Dal prossimo riavvio l'agent partirà in automatico, quindi non è necessario fare altro.

Quarto passo: usare copy

Copia un file, una directory o quello che vuoi nella cartella appena creata et voilà, al resto penserà tutto lui :)

Utilizzare l'agent da console senza l'interfaccia grafica (utile per l'utilizzo su server)

Per utilizzare l'agent da console è sufficiente lanciare l'apposito comando, al resto (come d'abitudine) penserà a tutto lui, utilizzando le impostazioni che abbiamo inserito precedentemente:

/opt/copy/x86_64/CopyConsole

Et voilà

Facile no? :)

Pubblicato in:segnalazioni

Adminer: un'ottima alternativa al pachidermico phpMyAdmin

19FEB2014

Ho recentemente -e casualmente- scovato un'ottima alternativa a phpMyAdmin, che è da sempre il mio strumento prediletto per gestire i database MySQL ma di cui non sono mai stato veramente soddisfatto. Da quando ho iniziato ad usarlo l'ho sempre lento, incongruente e... poco usabile. L'alternativa si chiama Adminer e già dall'home page si può notare come il progetto sia decisamente ambizioso: le priorità sono:

  • Sicurezza
  • Usabilità
  • Performances
  • Features
  • Dimensioni

... dimensioni? Già :) Al contrario dei quasi 15Mbyte che sono richiesti da un'installazione di phpMyAdmin, Adminer richiede solamente poche centinaia di Kilobyte (un po' più di 300), in un unico file php. Questo lo rende un ottimo strumento "usa e getta" per operazioni di manutenzione. Volendo è anche possibile modificare l'interfaccia grafica posizionando uno dei file CSS proposti sul sito stesso nella stessa directory di adminer.php.

Lo sto usando da un paio di settimane e... mi sa che ho trovato il mio nuovo database manager :)

Pagina:1 2 3 4 5 6 7 8 9 10 11 12