A geek's diary

blobg

Archivio di ottobre 2008

Smettere di fumare: è diventato più difficile

giovedì 30 ottobre 2008

Il 12 aprile dell’anno scorso ho smesso di fumare ma, nonostante il tempo trascorso, ancor oggi mi fumerei una sigaretta (ma non c’è nessun rischio che io lo faccia).
Tantissimi anni fa avevo smesso per un anno ma ricordo che mi fu molto più facile farlo.
Ora c’è uno studio a conferma questa mia impressione.

“Tempestività” Nokia

giovedì 30 ottobre 2008

Toh: è quasi passato soltanto un anno ed hanno già risolto un problema ripetutamente segnalato sui loro fourm, via email e attraverso segnali di fumo. Grande Nokia, buona biodegradazione.

Made in Italy

giovedì 30 ottobre 2008

[by Paul the wine guy]

Il metodo Cossiga sarebbe questo.

[via BeautifulTumblr]

Flash 10

mercoledì 29 ottobre 2008

E’ successo solo a me che, dopo aver installato flash 10, non mi funzionano più un po’ di cose?
Tanto per dirne una: l’uploader delle immagini in wordpress, quello si usa scrivendo un articolo.

Mancanza di portante

lunedì 27 ottobre 2008

L’ADSL a casa è KO e benedico l’iPhone per il suo essere un onorevole supporto. Maledico, invece, la politica di divieto di tethering da parte di Apple, cioè la possibilità di usarlo come modem. La realtà è che con un iPhone sbloccato si possono fare molte più cose perchè non si è costretti a sottostare alle più che discutibili politiche della casa madre.

Il provider, appoggiandosi come quasi tutti a Telecom, ha aperto una segnalazione a Telecom per mancanza di portante.

Contiamo di risolvere il problema in un tempo massimo di cinque giorni lavorativi.
[...]

Le ricordiamo che le tempistiche di risoluzione dei guasti non sono decise da NomeProvider ma sono uniche, a livello nazionale, per tutti i provider che si appoggiano alla rete Telecom. Ovvero la quasi totalità dei provider presenti.

Speriamo che i cinque giorni lavorativi siano effettivamente il tempo massimo.

La rete wireless aperta del vicino non la vedo più da tempo: era la mia… ehm… “linea di backup” :-) in caso di problemi con la mia ADSL.

AGGIORNAMENTO: mi hanno riportato la portante.

Nuove tecnologie

sabato 25 ottobre 2008

Oggi la mia giornata è diventata migliore quando ho sentito una signora, un po’ avanti con l’età, dire “tv al plasmon”.

query corner

venerdì 24 ottobre 2008

Credo che al 99% di voi non capiterà mai di scrivere le query con le quali mi sto intrattenendo, quindi temo che questo post sia soltanto per me. Comunque sia, mentre una query del tipo

INSERT INTO tabella1(attributo1, attributo2, …, attributoN)
SELECT a1, a2, …, an FROM tabella2
ORDER BY a3
ON DUPLICATE KEY UPDATE SET attributo2=tabella2.a2, … attributoN=tabella2.an

funziona perfettamente, se si ha l’esigenza di complicarla leggermente introducendo una join e un ulteriore campo ORDER sulla select, per ottenere qualcosa del tipo

INSERT INTO tabella1(attributo1, attributo2, …, attributoN)
SELECT a1, a2, …, an FROM tabella2 LEFT JOIN tabella3 ON tabella2.riftabella3=tabella3.chiave
ORDER BY a3, tabella3.campo
ON DUPLICATE KEY UPDATE SET attributo2=tabella2.a2, … attributoN=tabella2.an

beh, sappiate che l’ORDER BY aggiuntivo su tabella3.campo manderà in estasi mysql, facendo in modo che l’aggiornamento fatto da ON DUPLICATE KEY sia assolutamente lisergico.

Ho risolto con un cursore, quindi con qualcosa del tipo:

DECLARE var1 varchar(30);
DECLARE var2, var3 double;
[...]
DECLARE done SMALLINT(6) DEFAULT 0;

DECLARE cursore CURSOR FOR SELECT a1, a2, …, an FROM tabella2 LEFT JOIN tabella3 ON tabella2.riftabella3=tabella3.chiave
ORDER BY a3, tabella3.campo;
[...]

set done=0;
OPEN cursore;
WHILE done<>1 DO
FETCH cursore INTO var1, var2, …;
IF done<>1 THEN
INSERT INTO tabella1(attributo1, attributo2, [...])
values(var1, var2, [...])
ON DUPLICATE KEY UPDATE attributo1=var1,
attributo2=var2, [...] ;
END IF;
END WHILE;
CLOSE cursore; SET done=0;

Sapevatelo.