lug
03

NodeBox su Ubuntu

 

Popularity: unranked [?]



Puoi visualizzare il post originale qui.

lug
03

http://dev.nodebox.net/wiki/Qtwww.nodebox.net



NodeBox e'

 

Popularity: unranked [?]



Puoi visualizzare il post originale qui.

ott
22

jQuery – Chiamate ajax nel metodo unload su webkit

 

Gli utilizzatori di jQuery avranno sicuramente notato l’impossibilità di effettuare chiamate ajax nel metodo unload della pagina. O meglio, su firefox questa cosa è possibile mentre sui browser webkit, come safari e chrome, non lo è a causa di un comportamento di webkit che chiude prima la pagina e poi esegue le chiamate ajax.

Faccio un esempio prima di procedere. Mettiamo di voler effettuare un lock di un semaforo all’ingresso di una pagina e voler poi fare l’unlock all’uscita della pagina. Si potrebbe pensare di scrivere qualcosa del genere:

$(window).bind( load ,
 function(){
  $.get("PATH_SITE/setLock/");
});

$(window).bind( unload ,
 function(){
  $.get("PATH_SITE/setUnlock/");
});

Tutto questo su Firefox funzionerebbe senza problemi. Su safari e chrome no. Come detto prima il problema sta nel fatto che la chiamata asingrona di unlock non avrebbe tempo di essere eseguita perché la pagina è già stata abbandonata nel momento dell’invocazione del metodo unload.
Il problema, a quanto pare, è ben noto e in rete se ne parla molto (qui su jquery, qui su stackoverflow) senza soluzione.

La soluzione è questa:

$(window).bind( load ,
 function(){
  $.ajax({
   type: "GET",
   url: "PATH_SITE/setLock/",
   dataType: "html",
   async: false,
  });
 }
);

$(window).bind( unload ,
 function(){
  $.ajax({
   type: "GET",
   url: "PATH_SITE/unsetLock/",
   dataType: "html",
   async: false,
  });
 }
);

Anche in questo caso si tratta di due chiamate GET invocate sugli stessi metodi “load” e “unload” con la differenza che utilizzando il metodo $.ajax di jQuery si ha la possibilità di specificare ulteriori parametri. Il parametro che qui ci interessa è:

async: false

In questo modo si disattiva la chiamata asincrona e il browser non ricaricherà la pagina prima di aver completato la chiamata ajax

Ora il vostro script dovrebbe funzionare anche su Safari e Chrome.

Popularity: unranked [?]



Puoi visualizzare il post originale qui.

ago
25

Mysql e l’uso del valore NULL

 

Intorno al valore NULL di Mysql c’è tanta confusione. Questa confusione nasce quasi sempre dall’associazione mentale che viene fatta da molti NULL=vuoto, dove per vuoto si intende la stringa vuota (per capirci, questa ”).

Cosi non è!

Prima cosa da ricordare è che il valore NULL di mysql non significa vuoto.

Vediamo meglio cosa significa e, come e quando, usarlo.

Quello che segue è riferito ai campi di tipo STRING.

Diciamo subito che un campo può essere definito NULL o NOT NULL.
Un campo definito come NULL può assumere tre valori: stringa, vuoto, NULL.
Un campo definito come NOT NULL può assumere due valori: stringa, vuoto.

Come potete notare i due campi hanno in comune il fatto che entrambi possono essere riempiti o lasciati vuoti. Ma definire un campo come NOT NULL non significa voler settare il vincolo che sia obbligatorio e non vuoto? Obbligatorio e non vuoto non sono la stessa cosa. Settando un campo a NOT NULL lo si imposta come obbligatorio ma non come non vuoto. Significa che in ogni caso dovremmo mettere un valore in quel campo, ma quel valore potrà anche essere la stringa vuota ”.

Altro concetto importante da chiarire è che l’uso dei campi NULL influenzerà anche le vostre query! Il controllo del tipo where campo=” (oppure where campo!=”) non funzionerà su un campo NULL. Dovrete quindi usare l’operatore where campo IS NULL (oppure where campo IS NOT NULL).
Se non fate attenzione al momento dell’inserimento, potreste mischiare campi vuoti con campi null e avere risultati non attesi dalle vostre select!

NULL dovrebbe essere visto più come una condizione che come un valore. Funzioni di ordinamento come ORDER BY e GROUP BY si comportano in maniera diversa con i valori NULL. Le funzioni di aggregazione come SUM, AVG e COUNT ignorano i valori NULL.

Detto questo, dovrebbe essere molto più facile capire come e quando usare un campo di tipo NULL. Di norma si dovrebbe lavorare sempre con campi NOT NULL e lasciare l’uso dei campi NULL a situazioni nelle quali si vogliono sfruttare le sue particolari caratteristiche.

Il mio consiglio è, quindi, il seguente: definite i vostri campi sempre come NOT NULL, settate il valore predefinito a ” (stringa vuota) e quando dovete effettuare delle select operate sempre con campo=” oppure campo!=”.

Come detto all’inizio, questo non vale per i gruppi di dati Numerici e Date per i quali non è prevista la stringa vuota. In quel caso è necessario avere dei campi NULL.

Ecco alcuni link utili dalla documentazione ufficiale di Mysql:
Lavorare con null
Problemi con null
Operatori IS NULL e IS NOT NULL

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

ago
25

Search & Replace in MySQL

 

Oggi ho avuto una particolare esigenza: cercare del testo all’interno di un determinato campo di una tabella e correggere alcuni caratteri. Il classico trova & sostituisci che su un qualunque file di testo abbiamo fatto spesso tutti noi.

In MySQL è possibile fare una cosa simile con questa istruzione:

UPDATE nometabella SET nomecampo =REPLACE (nomecampo,’stringadacercare‘,’stringadainserire‘);
Ovviamente dovete sostituire a tutto quello in grassetto i nomi della vostra tabella, del campo nel quale cercare, del testo che volete trovare e quello che volete sostituire.

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

giu
06

Le 10 frasi più usate dai programmatori

 

A questo link potete trovare la classifica delle 10 frasi più usate dagli sviluppatori.

Chiunque abbia scritto codice in vita sua esclamerà “si è vero!” ad ogni punto!

Personalmente, sottoscrivo in pieno la 2, la 5 e in particolar modo la 7 e la 10.

Il microonde…quanto è vero! :D

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

giu
06

Eliminare l’outline sui bottoni in Firefox

 

Cos’è l’outline su un bottone?

Me lo sono chiesto anche io appena ho letto la parola “outline”. L’outline è quel bordo che il browser aggiunge quando viene fatto il focus di un elemento. In particolare viene utilizzato per evidenziare gli elementi di una pagina quando si naviga con il con la tastiera, utilizzando il tab per spostarsi sui vari link.

L’outline viene utilizzato per l’accessibilità di un sito ed è molto importante per chi usa navigare nella pagina tramite tastiera (con il TAB ad esempio). Se qualcuno ancora non ha capito cosa sia ecco vi un esempio:

lo vedete quel bordino attorno? Io l’ho odiato per tanto tempo, finché non sono riuscito ad eliminarlo :)

Senza perderci in chiacchiere inutili, a volte potrebbe esserci l’esigenza di personalizzarlo, come nel mio caso. Se provando a cercare su internet e avete trovato questa riga di css da inserire:

*:focus,*:active,*:hover { outline:none; }

sappiate che su Firefox non funzionerà, o almeno verrete ignorati. Non so’ per quale motivo, ma fino ad ora ho sempre cercato di evitare di utilizzare bottoni proprio per questo motivo. Oggi scopro che una soluzione c’è! Inserendo questa magica riga il problema si risolverà:

button::-moz-focus-inner { border: 0; }

Sto ancora chiedendomi che selettore è i due due punti, fino ad ora non lo avevo mai visto. Intuitivamente sembra un selettore come “:before” o “:hover” ma viene utilizzata una funzione offerta dal browser che sembra definire il CSS da applicare nel momento in cui viene effettuato il focus su un elemento. Sto cercando maggiori informazioni a riguardo.

In tutti i casi con la riga CSS di cui sopra risolviamo il problema del fastidiosissimo bordo quando un bottone viene selezionato. E’ inutile dirvi che potete selezionare in maniera più accurata gli elementi a cui applicare la regola (ad esempio sostituedo a button una classe specifica) e quindi continuare a mantenere l’accessibilità della pagina sugli altri elementi.

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

giu
06

Decodificare un tema di wordpress “criptato”

 

Oggi volevo provare a modificare un tema wordpress che sto utilizzando su un blog, apro il footer e mi trovo una stringa del genere

eval(gzinflate(str_rot13(base64_decode( HJ3xcml .... 3//78B ))));

questo è il risultato di una tecnica utilizzata per offuscare il codice php/html inserito ed evitare che venga modificato, spesso per conservare il link e i credits degli sviluppatori. Siccome mi sembra una stronzata inutile, e proprio perché hanno fatto questa cosa toglierò i credits del tema originale visto che sarà completamente diverso il codice :P , vediamo come decodificare il tutto ed ottenere il codice originale.

Il procedimento non è difficile, intuitivamente si capisce che se a eval si sostituisce un assegnamento di una variabile otteniamo il codice decodificato, ma sarebbe stato troppo stupido se fosse stato così, diciamo che è troppo stupido-epsilon perché la prima volta si otterrà una stringa simile a quella iniziale (sempre codificata). Basta ciclare più volte sulla stringa ottenuta fino ad ottenere il codice in chiaro. Ecco un semplice script PHP che fà quello che ho spiegato di sopra.

<?php

// incollare la stringa codificata contenuta nel file
$contents= "<?eval(gzinflate(str_rot13(base64_decode('Hcl....8B'))));?>";

// ciclo per decodificare
while (preg_match("/eval(gzinflate/",$contents)) {
$contents=preg_replace("/<?|?>/", "", $contents);
echo "<pre>";
echo $contents;
echo "</pre>";
eval(preg_replace("/eval/", "$contents=", $contents));
}

$file = fopen("wordpress_theme_decoded.txt","w+");
fwrite($file,$contents);
fclose($file);

?>

Ecco tutto… vi troverete nel file wordpress_theme_decoded.txt il codice originale in chiaro, se proprio siete buoni continuate a lasciare i credits, altrimenti…

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

ago
12

DsRomsManager – 1.0

 

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

lug
03

DsRomsManager – 0.5

 

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

mag
12

Anjuta: IDE completo per la programmazione su Linux

 
Anjuta: IDE completo per la programmazione

Anjuta: IDE completo per la programmazione

Tutti gli amanti della programmazione spesso si rivolgono ad IDE per farsi aiutare o velocizzare i propri lavori e progetti.

Tra gli IDE forse più completi e ben fatti c’è Anjuta. Questo integrated development environment è scritto prevalentemente per Gnome. Ecco la descrizione presa dal sito ufficiale:

Anjuta is a versatile Integrated Development Environment (IDE) for C and C++ on GNU/Linux. It has been written for GTK/GNOME and features a number of advanced programming facilities including project management, application wizards, an interactive debugger and a powerful source editor with source browsing and syntax highlighting.

Anjuta is an effort to marry the flexibility and power of text-based command-line tools with the ease of use of the GNOME graphical user interface. That is why it has been made as user-friendly as possible.

Any sort of suggestions or patches for Anjuta are most welcome.

Anjuta is licensed under the GNU GPL. Please read the file COPYING that comes with the distribution for details

Vuoi guadagnare online?Conosci gia’ questo modo?

Sarai pagato semplicemente rispondendo ad alcune domande. Non ci credi?

1. Global Test Market

Partecipi ai sondaggi e guadagni soldi.

2. TechSay

Vinci e guadagni per ogni risposta data.

3. IPSOS

Vinci una vancanza gratis

4. ODC

Pagamento gia’ da 20 Euro

5. Nielsen

Vinci 500 euro

6. Lightspeed

Fantastici premi tra cui buoni acquisto per negozi come: UPIM, Bata e Cisalfa

Hai mai vinto piu’ 5 euro al gratta e vinci o alla lotteria o Poker?

Gioca gratis alle Lotterie e Gratta e Vinci.

1. Kingolotto

Lotteria gratuita con estrazione giornaliera. In palio un anno di stipendio ed altri ricchi premi.

2. Gratta e Vinci

Gratta e vinci fino a 5.000.000 Euro

3. Vinci Ricariche

Subito una ricarica da 5 Euro Gratis!!

4. Poker con Sisal

Gioca alla Poker Champions League con SISAL e vinci viaggi a Las Vegas e centinaia di altri premi

Guadagna soldi online con le affiliazioni di SPRINTRADE

Le caratteristiche quindi di Anjuta ed i suoi punti di forza sono la gestione dei progetti, i template per la creazione di applicazioni e un debugger interattivo costruito sopra GDB, oltre che un potente editor di codice sorgente, con modalità di source browsing, completamento del codice e syntax highlighting.

Nella pagina ufficiale trovate tutto ciò che vi serve,tra cui il download e le dipendenze necessarie al programma.

Se invece avete ubuntu,vi basterà digitare il classico

sudo apt-get install anjuta

ed il gioco è fatto. Alla prossima ;)

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

mag
05

Nuovo indirizzo per il forum ‘Linux On My Samsung’

 

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

mar
01

Nuovo repository per Ubuntu 8.10 dedicato al Samsung NC10

 

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

feb
06

Samsung NC10 + GNU/Linux: accoppiata vincente?

 

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

top