08 Aug

Mysql / MariaDB con lower() sugli indici da problemi di prestazioni

Per qualche giorno ho avuto problemi eseguendo alcune query con Join su una tabella contenente milioni di record. Le query bloccavano il server.  Premetto che tutte le ricerche e i join erano su colonne indicizzate. Erano qualcosa tipo:

SELECT *  FROM `61_traduzioni_frasi` AS `tf`
INNER JOIN `frasi` AS `f` ON f.id = tf.id_traduzione
INNER JOIN `lingue` AS `l` ON f.id_lingua = l.id
INNER JOIN `utenti` AS `u` ON f.id_utente = u.id
INNER JOIN `tipi_traduzione` AS `tt` ON tf.id_tipo_traduzione = tt.id
INNER JOIN `frasi` AS `f1` ON f1.id = tf.id_frase
INNER JOIN `lingue` AS `l1` ON f1.id_lingua = l1.id
INNER JOIN `utenti` AS `u1` ON f1.id_utente = u1.id
INNER JOIN `stati_moderazione` AS `sm` ON tf.id_stato_moderazione = sm.id WHERE (l.id = ‘1’ ) AND (l1.id = ‘2’ ) AND (LOWER(f1.testo) = ‘ciao’ ) AND (f.cancellato = ‘N’)

Allora ho provato a fare delle query con un semplice select per vedere come performava, del tipo:

SELECT *  FROM frasi WHERE (LOWER(testo) = ‘ciao’ ) AND (f.cancellato = ‘N’);

Questa query non bloccava ma i tempi di esecuzione erano comunque alti a circa 12 secondi.

Cosi semplicemente rimuovende il lower() la query è scesa a 0.12 secondi.

La motivazione, da quanto letto, è che utilizzando lower() mysql/mariadb non utilizza gli indici.

31 Jul

Mysql / MariaDB aggiungere utente con tutti i diritti su tutti i DB

Molto spesso mi trovo a dover aggiungere un utente al server Mysql/MariaDB che abbia accesso remoto (Ricordarsi di cambiare le impostazioni sul bind nel file di configurazione) una volta che si ha accesso al server queste sono le istruzioni Sql:

  • CREATE USER ‘superUtente’@’%’ IDENTIFIED BY ‘superPassword’;

  • GRANT ALL PRIVILEGES ON * . * TO ‘superUtente’@’%’ WITH GRANT OPTION;

Da notare la parte con “with grant option”, senza quell’opzione non sarà possibile dare i vari privilegi ad altri utenti. Di solto io creo questi utenti per accedere con Mysql Bench.

Se avete domande commentate! 🙂

23 Mar

Miglior Plugin AdSense per WordPress

Ormai sono anni che utilizzo WordPress come CMS per alcuni dei miei siti. Spesso ho bisogno di inserire il codice di Google AdSense in maniera flessibile e veloce. Fino a qualche giorno fà inserivo il codice nel template “Hard coded” poi ho trovato “Quick Adsense” ad oggi il miglior plugin mai provato.

Ha settaggi per inserire il codice un po ovunque (incluso nel corpo dell’articolo) ed è facilissimo da utilizzare. Di seguito lo screenshot dei settaggi. Per installarlo cercate “Quick Adsense” e poi piudicate voi. Se avete domande commentate.

quick-adsense

 

24 Dec

Vk.com bloccato in Italia? Una soluzione semplice per sbloccarlo.

Da qualche mese il nosto social network Russo vkontakte.com (o vk.com) è stato bloccato in Italia a causa di una azione legale di Medusa Film. Nel sito era possibile vedere il film di Checco Zalone (Io ho cercato il film ma non sono riuscito a trovarlo).

Comunque il sito è stato bloccato dagli ISP Italiani solo a livello di DNS. Il che significa che per poterlo utilizzare basta selezionare un server DNS diverso da quello predefinto della vostra connessione.

Qui di seguito alcuni DNS gratuiti:

  • Securly3     184.169.143.224     184.169.161.155
  • Level31     209.244.0.3     209.244.0.4
  • Google2     8.8.8.8     8.8.4.4

Per modificarlo da Windows bisogna seguire questi passaggi:

  1. Clicca sull’icona della connessione di rete (Quella vicina all’orologio di Windows)
  2. Clicca sulla voce “Apri centro connessioni di rete e condivisione” nel popup che compare.
  3. Nella finestra , clicca sul nome della connessione che stai usando
  4. Accedi alle impostazioni della connessione cliccando su Proprieta
  5. Seleziona la voce “Protocollo Internet versione 4 (TCP/IPv4)” e clicca Proprieta
  6. Nella nuova finestra, abilita la voce “Utilizza i seguenti indirizzi server DNS”.
  7. Inserisci negli spazi (Server DNS preferito / Server DNS alternativo) gli indirizzi dei server che ti ho fornito precedentemente.
  8. Clicca OK a tutte le richieste finche non si chiudono le finestre 🙂

Ora dovresti essere in grado di utilizzare VK dall’Italia. 🙂 Questa soluzione può essere utilizzata per sbloccare altri siti che al momento non sono visibili a causa del Blocco DNS delle autorità.

Commentate se avete bisogno…

20 Dec

Best text to Speech (TTS) on Linux. Choosing which one.

I have been researching for a while the best solution to use as TTS (text to Speech) software for a project that could run on Linux using command line.

There are quite few software available, paid and free, I personally focused on the free and open source because I tested the paid one and, in my opinion, they do not really offer a “better” solution.

Following the list of TTS Software that I found:

  • eSpeak – To install on Ubuntu from the command line “sudo apt-get install espeak”
  • Festvox – To install on Ubuntu from the command line “sudo apt-get install festvox”
  • Mbrola  – To install on Ubuntu from the command line “sudo apt-get install mbrola”

Now I am going to try the 3 packages and make my own considerations. To help you make yours I will (Eventually 🙂 )upload the MP3 Output on this post.

Keep tuned!

 

28 Oct

Come mantenere i processi in esecuzione dopo la chiusura della sessione ssh?

Spesso mi trovo a dover dare comandi attraverso SSH ad alcune macchine Ubuntu. Questi processi spesso durano molto tempo per cui ho cercato alcune soluzioni. Una è l’installazione di NX Nomachine Server e l’utilizzo di tmux che secondo me si adatta meglio a questa soluzione.

Di seguito una piccola guida a tmux che mi serve anche da promemoria.

Caratteristiche:

  • La finestra della session SSH può essere spostata tra sessione e anche legata a più sessioni
  • La finestra può essere divisa orizzontalmente e verticalmente in riquadri
  • Supporto per UTF-8 e 256 terminali a colori
  • Le sessioni possono essere controllate da Shell , senza la necessità di creare una nuova sessione

Funzionalità di base

 

  • Creare una connessione ssh nella macchina remota
  • Avviare Tmux digitando tmux nella Shell di comando (Per installare su Ubuntu: sudo apt-get install tmux)
  • avviare il processo che si desidera all’interno della sessione tmux iniziatoa come se fosse una Shell di comando “tradizionale”
  • lasciare / staccare la sessione tmux digitando Ctrl – B e successivamente D

Ora si può tranquillamente disconnettersi dalla macchina remota , il processo continuerà a girare dentro Tmux . Quando ci si riconnette di nuovo e si vuole controllare lo stato del vostro processo è possibile utilizzare tmux attach per allegare alla sessione tmux .

Se si desidera avere sessioni multiple in esecuzione contemporanee è necessario denominare ogni sessione utilizzando Ctrl – B e $ . È possibile ottenere un elenco delle sessioni in esecuzione usando tmux list-sessions.

Per maggiori informazioni potete dare un occhiata al sito ufficiale di Tmux.

 

14 Sep

Nomachine NXServer soluzione per Ubuntu 12.04 senza menu

Ho alcune macchine Linux che utilizzo in remoto attraverso il software di gestione Nomachine (che ho scoperto essere creato da Italiani!!). Il software mi ha sempre funzionato abbastanza bene su Ubuntu ma su un computer in particolare che ha Ubuntu 12.04 LTS mi ha dato alcuni problemi. Nello specifico non apparivano i menù del desktop rendendo il sistema pressocche inutilizzabile da UI. Dopo un pochino di ricerche ho trovato la soluzione.

 

NXNomachine da problemi con l’interfaccia UNITY per cui per risolvere il problema basta utilizzare l’interfaccia Gnome. Per farla caricare in automatico bisogna editare il file /usr/NX/etc/node.cfg (Il comando: sudo vi /usr/NX/etc/node.cfg) e trovare e commentare la riga:

  • CommandStartGnome = “/etc/X11/Xsession gnome-session”

e aggiungere la riga:

  • CommandStartGnome = “/usr/bin/gnome-session –session=gnome-classic”

E tutto funzionerà correttamente con la nuova interfaccia GNOME. Se avete problemi commentate.

10 Jul

Fare il root di android. Pericoloso o no?

Root Android libera il super user che è in te!

Root Android libera il super user che è in te!

Ho un Galaxy S da un pochino di tempo e ho pensato che fosse una cosa utile avere accesso root al sistema Android del telefono.

L’accesso root mi avrebbe permesso di rimuovere applicazioni del tutto inutili e guadagnare velocità e spazio in un telefono che funziona benissimo ma considerato “vecchio” da Samsung. Infatti non viene neanche più supportato da KIES!!!

Così mi son messo a cercare informazioni per fare il root…e ho trovato valanghe di informazioni a riguardo (prevalentemente in Inglese), software etc e i vari articoli dicevano tutto e il contrario di tutto. Per esempio alcuni dicevano che il Root di android è pericoloso e richiede molto tempo. Altri che è facile e sicuro…Ho trovato anche tutorial che spiegavano passo passo come sbloccare il telefono ma nulla di convincente.

Alla fine ho passato qualche giorno alla ricerca ed ero paralizzato dall’ammontare di informazioni a riguardo. Una delle spiegazioni migliori che ho trovato in Italiano per fare il root è su Root-android.net (che fantasia nel nome? 🙂 ). Ho dato una letta e ho scaricato l’applicazione che suggeriscono. Poi ho pensato che forse non avevo tanta voglia di buttare il mio telefono!!! Ma mi son fatto coraggio.

Ho seguito la procedura alla lettera, ho pregato un pochino, e lanciato l’applicazione per il root…….l’applicazione si blocca…dannazione…no aspetta…root avvenuto con successo!!! Alla fine così semplice???! Ho installato l’apllicazione per amministrare l’accesso super user e tutto funziona!!

Ho rimosso le applicazioni che consideravo inutili ma bloccate all’utente “normale” con i poteri del super user Root ed ho un Galaxy S che funziona e anche meglio di prima. 🙂

Naturalmente non mi prendo nessuna responsabilità sul successo di questa applicazione sul vostro telefono ma se avete domande commentate! Buona fortuna.

30 Nov

Preventivi online?

Per molti anni ho pensato che sarebbe stato utiissimo poter richiedere simultaneamente dei preventivi ad idraulici, aziende edili, elettricisti per tutti quei lavori dove è sempre coveniente richiedere il prezzo a più artigiani/aziende prima di affidare il lavoro.

Poi un bel giorno mi sono deciso a creare una piattaforma online chiamata Quotato.it dove richiedere preventivi per gli utenti è semplicissimo. Si riempe un form e si invia la richiesta alle aziende iscritte.

Le aziende valutano la richiesta e successivamente inviano un preventivo di spesa agli utenti. Se gli utenti ritengono l’offertà valida rilasciano i propri dettagli per essere contattati e ricevere un preventivo dettagliato.

Qui di seguito una preview di Quotato.it, i commenti come al solito sono i benvenuti!