Archivi categoria: Computer

Recuperare immagini cancellate dal cellulare

A chi non è capitato di cancellare anche solo per sbaglio una fotografia dal PC o dallo Smartphone?

Ci sono divresi software che permettono di recuperare file cancellati (che siano video, immagini o altri tipi di files). L’importante è che non si usi più il supporto dove è stata cancellata l’immagine. Questo per evitare che altri file generati vadano a posizionarsi nello stesso spazio della foto eliminata precedentemente. Perché quando si cancella un file, questo non viene immediatamente rimosso, ma lo spazio che occupa, viene “marcato” come riutilizzabile dal Sistema Operativo (Windows, Linux, Android, etc).
Quindi se si vuole procedere al recupero è importante non utilizzare il dispositivo.

Procediamo al recupero dei dati

Colleghiamo lo smartphone al PC in modalità Dispositivo Esterno (deve risultare come una scheda SD o disco esterno), se le immagini si trovano sulla schedina SD, si puo’ estrarla dallo smartphone e collegarla direttamente al PC.

Per recuperare le immagini ho utilizzato un semplice tool scaricabile dall’indirizzo:

http://www.cgsecurity.org/wiki/PhotoRec

E’ disponibile per Windows, Linux e Mac.
Io ho utilizzato al versione Linux, una volta decompresso l’archivio, basta eseguire da shell il comando

sudo ./photorec_static

L’eseguibile ha bisogno dei permessi di root per accedere alle informazioni dei dischi installati.
L’interfaccia, anche se da terminale, è semplice ed sufficiente seguire le istruzioni indicando qual’è la partizione che contiene i file eliminati e in quale cartella si vuole estrarre i file.
La cartella di destinazione NON DEVE ESSERE la stessa che contiene i file cancellati.

Share

Web benchmarking… siege

Tra i diversi tool per testare la risposta di un sito web, tra cui il famoso ab di apache, ho trovato questo nuovo tool:

siege

Disponibile per le diverse distribuzioni linucx (Ubuntu: sudo apt-get install siege).

L’esecuzione è molto semplice:

siege -c 5  -b http://www.sitodatestare.ext

Indica di effettuare 5 sessioni concorrenti al sito indicato, una volta avviato, premere CTRL+C per interrompere il set.
Appena interrotto visualizza un breve riepilogo sul test appena eseguito.

Share

Sharepoint Workflow: eseguire un delayActivity da codice

Se dovete eseguire un delayActivity all’interno di un Workflow sviluppato con Visual Studio, dovete fare attenzione che sia abilitata l’esecuzione del servizio Windows Sharepoint 2010 Timer, altrimenti il delayActitvity rimane in pending e il vostro Workflow non proseguirà la sua esecuzione.

Il tempo minimo del delayActivity è di 5 minuti, da codice è possibile configurare valori inferiori, ma il servizio Windows (SharePoint 2010 Timer) che si occupa del monitoraggio viene eseguito ad intervalli di 5 minuti, per tanto valori inferiori non saranno presi in considerazione.

Per l’abilitazione dell’escuzione del Job:

stsadm -o getproperty -pn job-workflow -url http://YOURSERVER/
stsadm -o setproperty -pn job-workflow -pv "Every 5 minutes between 0 and 59" -url http://YOURSERVER
iisreset
net stop "SharePoint 2010 Timer"
net start "SharePoint 2010 Timer"
Share

Ubuntu: Accedere a un disco NTFS con i permessi dell’utente corrente

Per montare un disco NTFS con i permessi di un utente che non sia root, inserire la seguente riga nel file /etc/fstab:

UUID=0C4EC5344EC5177C	/mefia/TUA_CARTELLA	ntfs-3g	dmask=000,fmask=000,uid=1000,gid=1000	0	0

Dove:
uuid e l’Id univoco della partizione da montare, (blkid /dev/sda1)
dmask e fmask sono i permessi dati alle cartelle e ai file, in questo caso permessi 777

uid e gid l’id dell’utente e del gruppo che si vuole associare, per recuperare il relativo Id usare il comando

id -u NOMEUTENTE
id -g NOMEUTENTE
Share

Magento: Validazione Javascript personalizzata di campi Form

Magento mette a disposizione una serie di controlli dei vari campi Form:

validate-select – Seleziona un valore dalla Lista

required-entry – Campo obbligatorio

validate-number – Inserisci un numero valido

validate-digits – Inserisci solo numeri, spazio  e altri caratteri come i punti e le virgole esclusi

validate-alpha – Usa solo lettere (a-z or A-Z)

validate-code – Usa lettere (a-z), numeri (0-9) o underscore (_), il primo carattere deve essere una lettera

validate-alphanum – Usa solo lettere (a-z or A-Z) o numeri (0-9). Non sono ammessi spazi o altri caratteri

validate-street – Usa solo lettere (a-z or A-Z), numeri (0-9),  spazi, o il carattere cancelletto #

validate-phoneStrict – Inserisci un numero di telefono validio. Per esempio (123) 456-7890 o 123-456-7890

validate-phoneLax – Inserisci un numero di telefono valido. Per esempio (123) 456-7890 o 123-456-7890

validate-fax – Inserisci un numero di Fax valido. Per esempio (123) 456-7890 o 123-456-7890

validate-date – Inserisci una data valida

validate-email – Inserisci un indirizzo email valido. Per esempio johndoe@domain.com

validate-emailSender – Usa solo lettere (a-z or A-Z), numeri (0-9) , underscore (_) o spazi

validate-password – Inserisci 6 o più caratteri. Gli spazi ad inizio e fine saranno ignorati

validate-admin-password – Inserisci 7 o più caratteri. La Password deve contenere sia numeri che lettere

validate-cpassword – Verifica che la Passwordi di controllo sia uguale

validate-url – Inserisci un valido URL. http:// è obbligatorio

validate-clean-url – Inserisci un valido URL. Per esempio http://www.example.com o www.example.com

validate-identifier – Inserisci un valido ID. Per esempio example-page, example-page.html o anotherlevel/example-page

validate-xml-identifier – Inserisci un valido ID XML. Per esempio something_1, block5, id-4

validate-ssn – Inserisci un valido SSN. Per esempio 123-45-6789

validate-zip – Inserisci un valido CAP. Per esempio 90602 o 90602-1234

validate-zip-international – Inserisci un valido CAP

validate-date-au – Formato data non corretto usa: dd/mm/yyyy. Per esempio 17/03/2006

validate-currency-dollar – Inserisci una valuta corretta. Per esempio $100.00

validate-one-required – Seleziona una delle opzioni

validate-one-required-by-name – Seleziona una delle opzioni

validate-not-negative-number – Inserisci un numero positivo

validate-state – Seleziona lo Stato/Provincia

validate-new-password – Inserisci 6 o più caratteri. Gli spazi iniziali e finali saranno ignorati

validate-greater-than-zero – Inserisci un numero maggiore di 0

validate-zero-or-greater – Inserisci un numero maggiore o uguale a 0

validate-cc-number – Inserisci un numero di Carta di Credito valido

validate-cc-type – Il numero di Carta di Credi con corrisponde con il Tipo di Carta

validate-cc-type-select – Il Tipo di Carta non corrsisponde con il numero di Carta di Credito

validate-cc-exp – Data scadenza non corretta

validate-cc-cvn – Numero di verifica non valido

validate-data – Usa solo lettere (a-z or A-Z), numeri (0-9) o underscore (_), il primo carattere deve essere una lettera

validate-css-length – Inserisci una lunghezza valida per i CSS. Per esempio 100px o 77pt o 20em o .5ex o 50%

validate-length – Lunghezza massima superata

Per utilizzare queste validazione basta inserire una classe CSS con la verifica che deve essere implementata, ad es:

<input type="text"
id="field_id"
name="field_name"
value="value"
class="required-entry validate-alphanum"
/>

Nell’esempio sopra, richiediamo che il campo field_name sia obbligatorio e che contenga solo lettere (a-z e A-Z) e numeri (0-9).

Se invece volessimo fare dei controlli più specifici, come ad esempio il controllo del codice fiscale, possiamo creare una nostra validazione da inserire in Magento e per poi essere riutilizzata in tutto il sito. Per farlo è sufficiente inserire poche codice di Javascript:

if(Validation) {
Validation.addAllThese([
               [
                'validate-tuocontrollo',
                'Messaggio da visualizzare',
                function(v,r){
                  return v.indexOf('RCC')==-1?false:true;
                }
                ]
           ]);
}

Dove:
validate-tuocontrollo: è la classe CSS che va inserita nel tag input
Messaggio da visualizzare: E’ il messaggio che verrà visualizzato all’utente nel caso in cui il controllo fallisce
function (v,r)…: E’ il controllo Javascript che si occuperà di validare il campo, il parametro v è il valore del campo mentre il parametro r è l’oggetto HTML da validare, nel nostro caso il TAG input

Per estendere il nostro controllo al tag dell’esempio sopra basta inserire la classe validate-tuocontrollo

 <input type="text"
              id="field_id"
              name="field_name"
              value="value"
              class="required-entry validate-alphanum validate-tuocontrollo"
/>

Il codice Javascript di cui sopra, puo’ essere inserito in:

– In un file JS apposito che dovrà essere incluso nella pagina contenente il campo da validare
– Direttamente nel blocco phtml che contiene il campo da validare.

Riferimenti in inglese:

http://fishpig.co.uk/magento-forms-prototype-javascript-validation/
http://blog.baobaz.com/en/blog/custom-javascript-form-validators

Share