Sulla rete sono pubblicate numerose guide che spiegano come installare CyanogenMod9 sul telefono Samsung Galaxy W (GT-I8150). La maggior parte di queste danno per scontato un certo grado di competenza nell’hacking del proprio telefono, quasi mai si soffermano per dare spiegazioni su ciò che si sta facendo e spesso richiedono l’uso di un sistema operativo proprietario.
Questa guida descrive la procedura d’installazione di CyanogenMod9 sul Samsung Galaxy W utilizzando GNU/Linux integrata, nei limiti delle mie conoscenze, da note esplicative sul significato dei diversi passaggi che dovrai compiere. Se stai cercando una guida rapida, questo articolo non fa per te, ma se vuoi capire quello che stai facendo forse puoi trovare quello che...
Una delle cose di cui ho sempre sentito la mancanza, a proposito di macchine virtuali, è il non poter utilizzare dei "meta-template", ovvero il non poter automatizzare la configurazione di un environment di base un pò più complesso di quello minimale di default.
Spesso, ad esempio, mi capita di dover approntare delle vm dotate di sistema LAMP che poi "terzi" finiranno di configurare secondo necessità.
Con LXC, che uso ormai da tempo, l'installazione del "sistema base" è davvero rapida visto che basta solo impartire un comando passandogli come parametro il template desiderato.
Il problema è che poi bisogna compiere tutta una serie di operazioni "a manina" che, ripetute per n...
Chi l'ha detto che quella del sistemista è una vita noiosa, senza diversivi?
A differenza di quello che si può comunemente pensare, non è vissuta per intero dentro una sala server, lì dove l'aria condizionata prima o poi finirà per bruciare le pareti nasali, lì dove il rumore delle ventole prima o poi finirà per sgretolare i timpani, lì dove prima o poi si finirà ibernati ma con dipinta in faccia un'espressione felicemente rincoglionita.
No signori, la vita di un sistemista è varia, è bella, è divertente, non è solo cavi ethernet e pinze a crimpare.
Capita persino di viaggiare (altro che lavoro sedentario), di incontrare persone nuove, di immergersi in realtà tutte da scoprire.
La fatica che si fa è sempre ampiamente ricompensata da un arricchimento interiore senza pari...
Benvenuti nel decimo numero di quest'anno della DPN, la newsletter della comunità Debian.
In questa edizione troviamo:
1. Rilasciata Debian 7.0 Wheezy
2. Cosa c'è di nuovo in Debian Wheezy?
3. DebConf 11 and 12 videos
4. Debian oltre le nuvole
5. Debian in Google Compute Engine
6. Pillole dal DPL
Come precedentemente annunciato il team Debian ha rilasciato oggi (domenica 5 maggio 2013) la nuova versione stabile, Wheezy.
Alcuni link più o meno utili:
annuncio ufficiale;
note di rilascio;
come ottenere Debian;
Benvenuti nel nono numero di quest'anno della DPN, la newsletter della comunità Debian.
In questa edizione troviamo:
1. Annunciata la data del rilascio per Wheezy
2. Primi pacchetti di Qt 5 nella experimental
3. Rilascio alpha per Debian Edu Wheezy
4. Altre notizie
5. Prossimi eventi
6. Nuovi contributori Debian
Benvenuti nell'ottavo numero di quest'anno della DPN, la newsletter della comunità Debian.
In questa edizione troviamo:
1. Eletto il nuovo DPL
2. Debian accettata a Google Summer of Code
3. Debian partecipa all'Outreach Program for Women
4. Altre notizie
5. Statistiche sui bug critici per il rilascio nella prossima versione di Debian
6. Bollettini di sicurezza importanti
Domenica 14 aprile del corrente anno è stato eletto il nuovo Debian Project Leader, dopo Stefano Zacchiroli ... Lucas Nussbaum.
Maggiori info sull'elezione sono reperibili presso Debian Project Leader Elections 2013.
Benvenuti nel settimo numero di quest'anno della DPN, la newsletter della comunità Debian.
In questa edizione troviamo:
1. Pillole dal team di rilascio
2. Pillole dal team DSA
3. Matching fund per DebConf13
4. Processo New Maintainer
5. Modifiche editoriali alla costituzione
6. Interviste
7. Altre notizie
8. Nuovi contributori Debian
ActiveRecord non mette a disposizione uno strumento semplice per estrarre un insieme random di elementi. Normalmente si aggiunge alla query, nella clausola ‘order’ o RAND() o RANDOM() in base al database utilizzato. Questa soluzione non è molto pulita, quindi è preferibile utilizzare una gemma come randumb, che si occupa di inserire automaticamente la giusta funzione.
Una volta inserita nel file Gemfile e eseguita l’installazione con un
bundle installsarà sufficiente appendere .random(x) alla nostra query, come da esempio:
Artist.random # un artista a caso Artist.random(3) # un array di artisti casuali Artist.random(1) # un array contenente solo un artista casualeOggi ho messo in vendita alcuni oggetti su ebay e mi sono accorto di un bug presente nella pagina dedicata alla messa in vendita di oggetti. Il bug è il seguente: i programmatori di ebay sono convinti che esiste solo Microsoft Windows.
Una differenza importante fra GNU/Linux e Microsoft Windows consiste nel fatto che il primo, a differenza del secondo, utilizza filesystem case sensitive. Significa che per GNU/Linux due file con lo stesso nome, se scritti con un differente uso di caratteri maiuscoli e minuscoli, sono file diversi, mentre per Windows sono lo stesso file. Su GNU/Linux documento.txt è diverso da Documento.txt...
Per l’interfacciamento con un gateway di pagamento con carta di credito mi sono trovato a dover gestire credenziali diverse per l’ambiente di staging e di produzione. Se il primo approccio, più semplice e immediato, è quello di inserire i dati nel codice, all’interno di un if che controlla in che ambiente strano, conviene fare le cose fatte bene e spostare i parametri in un file esterno, che verrà caricato all’avvio dell’applicazione.
Supponiamo di avere un file chiamato bank.yml posizionato all’interno della directory config/, con il seguente contenuto:
development: username: 478881 password: c8e79387bb3e signature: 2178614 staging: username: 4788c81 password: c8e7c9387bb3e signature: 217c8614 test...Quando un sito viene bucato e viene utilizzato per inviare tonnellate di email di spam, la prima cosa che si deve affrontare, oltre alla pulizia della coda di postfix, è l’individuazione del responsabile.
Le cose diventano difficili quando su un server sono presenti decine e decine di siti, in quanto il file colpevole dell’invio di spam non è facilmente identificabile.
Con questa piccola modifica si potrà avere un log più dettagliato delle e-mail provenienti dai vari siti, permettendoci di identificare il colpevole.
Per prima cosa creiamo due file col seguente contenuto
/usr/local/bin/sendmail-php #!/bin/sh logger -p mail.info sendmail-php: site=${HTTP_HOST}, client=${REMOTE_ADDR}, script=${SCRIPT_NAME}, filename=${SCRIPT_FILENAME}, docroot=${...Oggi parliamo di sicurezza: parliamo di Brakeman!
Brakeman è un Security Vulnerability Scanner per Ruby on Rails.
Dopo averlo installato con un
gem install brakemaned eventualmente aver fatto un rehash
rbenv rehashdisporremo del comando brakeman.
Eseguendolo all’interno della directory del proprio progetto in Rails ci verrà fornito l’output di una analisi di sicurezza e vulnerabilità della nostra applicazione.
Un esempio di output è il seguente:
$ brakeman Loading scanner... [Notice] Detected Rails 3 application Processing application in /Users/claudio/Progetti/xxxxx Processing configuration... [Notice] Escaping HTML by default Processing gems... Processing...Jquery Infinite Ajax Scroll è un plugin per jQuery che permette di implementare l’infinite scroll.
Tramite una semplice configurazione è possibile integrarlo in modo semplice con Kaminari (la gemma più usata per la paginazione).
Assegnamo al div contenente i nostri elementi l’id ‘item-list’ e agli elementi la classe ‘item’, come da esempio:
<div id="item-list"> <div class="item"><!-- contenuto --></div> <div class="item"><!-- contenuto --></div> <div class="item"><!-- contenuto --></div> </div>Dopo la chiusura del div con id ‘...
La gemma ckeditor permette di aggiungere in modo semplice il comodo editor wysiwyg ai propri form. Questa integrazione, inoltre, permette all’utente di usare paperclip per caricare i file da inserire direttamente nell’editor.
Tutto funziona bene fino a quando non ci si appoggia a capistrano per gestire le fasi di deploy. Ckeditor, infatti, configura paperclip per salvare i file in una directory all’infuori di public/system, directory che capistrano non preserva durante le operazioni di deploy.
Per ovviare a questo problema è necessario apportare delle modifiche alla configurazione creata durante l’installazione di ckeditor, e in particolare ai...
L’installazione di tutto quello che serve per lo sviluppo in Ruby on Rails passo passo, visto che ogni volta devo andare a pescare documenti a destra e a manca
Step1: Installare XCodePer prima cosa è necessario installare XCode. Una volta installato, bisogna installare i “Command Line Tools” aprendo XCode, andando in XCode -> Preferences -> Downloads e premendo il tasto “Install” a fianco di “Command Line Tools”.
Una volta scaricati possiamo andare avanti.
Step2: Installare HomebrewHomebrew è un tool fantastico: permette di installare software utilissimo, soprattutto per chi sviluppa, con un comodo...
Inizia una piccola serie di articoli dedicati al tuning delle applicazioni scritte in Ruby on Raisl.
In questo post parlo di lol_dba, una gemma che ha una funzione semplice quanto comoda: analizzare il codice, controllando i modelli e indicandoci gli indici mancanti. L’output che ci restituisce può essere il codice di una migrazione o una query sql per aggiungere gli indici al database.
Il funzionamento è semplice: dopo averla installata tramite il classico
gem install lol_dbaavremo a disposizione due comandi: lol_dba db:find_indexes e lol_dba db:migrate_sql .
Entrambi hanno lo stesso fine, ma varia l’output prodotto: nel primo caso verrà prodotto il contenuto da mettere dentro...
Spesso l’installazione della documentazione delle varie gemme installate, oltre ad essere superflua occupa inutilmente spazio: la documentazione viene consultata via internet e quella presente sul sistema è ignorata. Per evitare la perdita di tempo dell’installazione/compilazione della documentazione è possibile disabilitarne l’installazione tramite il seguente comando:
echo 'gem: --no-rdoc --no-ri' >> ~/.gemrc
