pecus @ pecus . it![]() ![]() ![]() ![]() |
![]() |
Agosto Dicembre Novembre Ottobre Settembre Agosto Luglio Giugno Maggio Aprile ... prima ... |
![]() |
![]() |
![]() |
![]() |
![]() |
Mercoledi 22 Novembre 2006
kuler è meraviglioso. Un’interfaccia iper–intuitiva realizzata in flash, nessun fronzolo, 6 algoritmi diversi per creare palette di colori che non fanno a pugni, criteri di social software per scegliere le combinazioni migliori, il tutto senza fanfare e orpelli.
È il mio nuovo scacciapensieri…
Lunedi 13 Novembre 2006
Nella solita intervista con Mollica in occasione dell’uscita del suo ultimo disco, alla domanda Ti ha cambiato questa esperienza?
(con riferimento alla collaborazione con musicisti brasiliani e al suo soggiorno in Brasile), Fiorella ha risposto:
È un’esperienza che mi ha cambiato molto. Mi sono accorta che il mondo non gira intorno a me…
Ah Fiore’, noi ce n’eravamo accorti da mo’!
Mercoledi 8 Novembre 2006
Skype Download Page, Mozilla
Skype Download Page, Internet Explorer
Skype utilizza comuni tecniche di browser sniffing per adeguare le istruzioni di installazione al tipo di browser con cui l’utente visita il sito. In particolare le immagini delle finestre di dialogo e i passaggi di conferma e/o le varianti della procedura.
Martedi 7 Novembre 2006
Date My Mom è la mia droga quotidiana. Scelgo il tavolo al bar in modo da vedere il televisore sintonizzato su MTV. Se capito di spalle, mi volto sfacciatamente per seguire lo show. Due sono gli highlight del programma: i dialoghi e le mossette. Se dico che le mossette dei candidati (quindi maschi) sono le più divertenti, mi prendete per gay, ma a confronto delle smorfie delle madri sono da Oscar. E lo scripting è semplicemente sublime. Ogni copywriter che si rispetti dovrebbe fare un periodo di stage alla Kallissa Production cercando di succhiare tutta l’esperienza e la padronanza linguistica, i tempi perfetti, la spontaneità e la ficcanza dei dialoghi del programma. Esperienza che detto copywriter si porterebbe dietro in tutte le occasioni di lavoro successive, e metterebbe sicuramente a buon frutto.
Quasi quasi divento copy e faccio domanda…
Il mio amico bassista ed io abbiamo messo online il nuovo sito dei Radiostar, la party rock band più esplosiva della città. Ora il nostro amico cantante ci deve una cena, preferibilmente grassa e alcolica.
Venerdi 3 Novembre 2006
Mai usato GROUP_CONCAT
su MySQL? Nemmeno io, perché la mia versione non lo supporta (4.0.9). Peccato perché GROUP_CONCAT
è una manna: concatenando i campi rispetto a una query in GROUP BY
consente di fatto, con pochissimo codice, di ottenere una linearizzazione dei risultati di una join, da multiriga a pseudo-multicolonna.
Un caso pratico: tabella prodotti, tabella caratteristiche, tabella valore_caratteristiche. Per ogni prodotto e caratteristica (peso, volume, capacità, etc.), la tabella valore_caratteristiche ha una riga con il valore assoluto.
Una join sulle tre tabelle restituirà ovviamente tante righe per lo stesso prodotto quante sono le caratteristiche per cui è presente un valore.
Dovendo elencare i prodotti riga per riga e le caratteristiche in colonne successive, sono necessari diversi cicli sul risultato della query. Diversamente, con GROUP_CONCAT
, la query restituisce immediatamente il numero di righe corretto, ed è sufficiente separare i valori delle caratteristiche esplodendo il risultato concatenato.
Tornando al problema iniziale, cosa fare per le versioni di MySQL inferiori alla 4.1? È possibile installare la funzione come libreria esterna, attraverso il supporto per le User Defined Functions (UDF). Emmanuel Kartmann ha sviluppato la funzione, ma è disponibile solo per Windows. Con poche modifiche però, è possibile adattarla a qualsiasi installazione *nix di MySQL.
gcc
):
user@host:˜> gcc -Wall -I /path/to/mysql/include -I /usr/local/include -c udf_groupconcat.cc -o udf_groupconcat.o user@host:˜> ld -shared -o udf_groupconcat.so udf_groupconcat.o
user@host:˜> cp udf_groupconcat.so /usr/lib
user@host:˜> mysql mysql> CREATE AGGREGATE FUNCTION group_concat RETURNS STRING SONAME 'udf_groupconcat.so';
La funzione implementa il medesimo comportamento descritto per la versione nativaha una sintassi leggermente diversa dalla funzione nativa presente a partire da MySQL 4.1. In particolare, il separatore viene specificato me semplice stringa, al posto della sintassi SEPARATOR '|'
.
Thanks to: Emmanuel Kartmann, Kendrick Vargas, Jan Steemann.