Blogs

Blogs

Accidenti, doppio triplo accidenti!

Posted by gtrev on Mar, 25/09/2007 - 16:26 in


Allora è un pezzo che non aggiorno il blog, ma abbiate pietà sono scavalcato dal lavoro da fare.

Poi ci si mettono anche i programmatori buontemponi ad intasarmi la posta come vedete nella figura.

Per fortuna gmail supporta i filtri e sono così riuscito a far tornare il tutto ad una situazione normale.

Per il resto la parancoizzazione(TM) del globo continua instancabile.

Segnalo jugevents sito che tiene traccia degli eventi che riguardano i Jug sparsi per il mondo, fatto con Parancoe.

Io sto lavorando all'autodiscovery dei controller e devo sbrigarmi a finire: sembra che dovrò sacrificare i sabato da qui a Natale all'altare della Contabilità, quindi il tempo libero degraderà esponenzialmente!

Spezzare una parola in CamelCase

Posted by gtrev on Ven, 14/09/2007 - 14:13 in

Il camelcase come ci ricorda wikipedia:

[...] è la pratica di scrivere parole composte o frasi unendo tutte le parole tra loro, ma lasciando le loro iniziali maiuscole. Il nome (letteralmente "carattere a cammello") deriva dai "salti" all'interno di una parola, che fanno venire in mente le gobbe di un cammello. [...]

Il camel case è molto usato dai programmatori Java perché è la convenzione ufficiale di Sun per la scrittura dei nomi di classe e di variabile.

Detto questo, può capitare di voler prendere una parola in camel case e separarla nelle sue componenti. Confesso di aver cercato un po' su internet ma di non aver trovato del codice già pronto, quindi ecco di seguito il metodo che mi sono
scritto.

L'idea è semplice:

prendo gli indici di dove sono le lettere maiuscole e spezzo le parole secondo questi indici.

Per fare questo mi viene in aiuto il pattern matching e precisamente il pattern che rappresenta le lettere maiuscole nel character set unicode, cioè \p{Lu}.

Il codice è qua di seguito:

List<Integer> idxList = new ArrayList<Integer>();      


//\p{Lu} is the unicode pattern for capital letters
Pattern p = Pattern.compile("\\p{Lu}");
Matcher m = p.matcher(camelString);


//find all occurrences of an uppercase letter and
//put their position in a list
while(m.find()){
     idxList.add(m.start());
}
       
           

Una volta ottenute le posizioni è sufficiente usare il metodo substring sulla stringa considerata, avendo cura di usare gli indici appena ricavati.

Allego al post la classe completa.

Java and compiz issue reprise

Posted by gtrev on Ven, 07/09/2007 - 12:03 in

Do you remember of the problems between java and compiz that I talked about in a recent post?

I thought I solved them by using a recent version of the jdk (precisely 1.6.0_02 build 05) but I was wrong.

It seems that some weird behaviors are still present, for example when netbeans displays a JDialog.

I found another bug for this problem, which is still work in progress, precisely 6509038.

A german user commented on the bug that this issue is still present in jdk6 update 2 but not in jdk7. Yes you read it right.

jdk7 is still under development, but developers produce weekly snapshots at this site.

So I downloaded and installed the linux version (amd64 of course), configured netbeans to use this jdk and magically everything started working fine!

So if you don't fear of using a jdk under development and you are bored of weird issues on netbeans GUI, give jdk7 a try!

By the way, I'm using netbeans 6.0M10 and jdk7 which are both development versions and they are pretty stable! Kudos to both development teams!

Cameracaffè - reprise

Posted by gtrev on Mer, 05/09/2007 - 17:09 in

Oggi alla macchiana del caffè ho trovato due colleghi con i quali ho poca confidenza. In queste situazioni per spezzare il ghiaccio sono uso sparare cazzate.

Questa volta mi sono giocato il classico "Ma che differenza c'è tra moccacino e cappucino con cioccolato?".

Di solito questa domanda fa nascere sempre discussioni interessanti. Infatti:

collega_1: E' differente il modo di scriverli.
collega_2: E' differente la posizione sulla pulsantiera.

Squallidi programmatori.

Arriva in mio aiuto collega_3, che è laureata in lettere antiche, che espone una tesi interessante:

i prodotti sono distribuiti secondo la quantità di latte al loro interno, quindi il moccacino ha più latte del cappucino con cioccolato

In effetti, partendo dall'alto abbiamo: caffè espresso, caffè lungo, caffè macchiato, cappuccino, cappuccino con cioccolato, moccacino, latte macchiato.

Mi aggancio e propongo quindi la teoria del gradiente di latte e mi offro per realizzare la gaussiana di ditribuzione.

Non vengo ascoltato.

La tesi di collega_3 è ritenuta interessante ma viene stroncata dall'evidenza sperimentale:

collega_4: il cappuccino con cioccolato ha più cioccolato del moccacino.
collega_2: e tu come fai a saperlo?
collega_4: l'ho chiesto all'uomo che carica la macchinetta.

Giungiamo quindi alla conclusione che la macchina del caffè è una macchina con oracolo.

Turing ha fatto un triplo carpiato nella tomba.

Rientro in ufficio

Posted by gtrev on Gio, 30/08/2007 - 20:56 in

Volevo fare alcune puntualizzazioni a quasi una settimana dalla fine delle ferie.

  1. Windows XP fa ormai davvero schifo. Ho passato una settima a usare solo Ubuntu e non c'è paragone.
  2. Plex in mia assenza non è migliorato. Fare join complesse con questo insano tool resta un problema NP-Hard. Ah, gli hanno cambiato il nome, ciò ovviamente per giustificare l'uscita di una major.
  3. Manuela, zitta zitta, sta progettando la ristrutturazione di quella che diverrà la nostra casetta. L'edificio è qui (mappa).

    Eh sì, mi tocca di emigrare al dilà del Piave ;) Porterò un po' di civilizzazione anche da quelle parti :D

  4. Ho già esaurito il bonus riposo che mi avevano garantito le ferie, qui nel ricco e opulento nordest ghe xè sempre massa da lavorar.

Parancoe: Url Mapping

Posted by gtrev on Lun, 27/08/2007 - 20:55 in

Nell'ultima settimana ho cercato di capire come funziona il meccanismo di url mapping di Spring, ovvero la parte dello stack MVC che permette di mappare una richiesta HTTP verso l'opportuno controller.

La cosa ovvia è che del tutto si occupi la servlet che fa da front controller (DispatcherServlet), visto che a questa arriva la HttpRequest, meno ovvio è il modo con cui la servlet opera.

Analizzando il codice di Spring (viva l'open source!) ho capito che la servlet demanda la repsonsabilità di determinare il corretto controller ad una opportuna istanza di HandlerMapping.

Vi risparmio la dimostrazione di questa asserzione, fidatevi.

Quello che è importante è che per gestire il corretto instradamento dela richiesta HTTP al controller basta registrare un opportuno oggetto di tipo HandlerMapping.

HandlerMapping è un'interfaccia che contiene un unico metodo, getHandler, che ritorna sia l'handler che gli interceptors registrati per la richiesta HTTP.

Quindi la retta via da seguire adesso è quella di realizzare un HandlerMapping per Parancoe!

Vacanze enogastronomiche

Posted by gtrev on Lun, 27/08/2007 - 07:10 in

Taverna del gusto II

Eccomi qui rientrato dalle ferie. L'ovvia tristezza di questa giornata è mitigata da queste due settimane di relax di cui ho già raccontato.

Una cosa ho volutamente tralasciato: non ho parlato di cibo, perché volevo fare un post unico che descrivesse i ristoranti e le prelibatezze che ho potuto provare.

Iniziamo con l'Umbria. Domina su tutti il ristorante La taverna del gusto (mappa) che si trova a Deruta, cittadina a pochi chilometri a sud di Perugia, nota per la produzione di ceramiche e maioliche.

In questo locale abbiamo gustato la tipica cucina umbra: strangozzi, tagliata di chianina, scamorza calda col tartufo! (qui sotto la foto di quello cha abbiamo mangiato ;) )

Taverna del gusto III

Abbiamo inoltre scoperto dell'esistenza della Strada dei vini del cantico che passa per Torgiano e proprio a Torgiano la locale sagra ne proponeva la degustazione.

Questa sagra merita una citazione a parte. Spendendo pochi soldi si possono gustare tutti i piatti tipici umbri, in un'atmosfera che ricorda da vicino le sagre venete. Noi ci siamo andati almeno tre volte gustando pietanze sempre diverse.

Ricordo inoltre la cena alla Taverna del Perugino a Città della Pieve, dove abbiamo mangiato i pici e l'arrosto di cinghiale: ve digo soeo che da quanta roba ci hanno portato non sono riuscito a finirla!

Tornando poi al Veneto, nella seconda settimana di queste ferie, non mi sono fatto mancare una cena alla frasca da nani, una frasca che si trova poco sopra la casa di Manuela e dalla quale si può godere del panorama del quartier del piave.

Da Manuela vige ancora la tradizione della frasca: il posto è aperto solo nel weekend, i prodotti sono di produzione propria, se paga poc e se magna tant. Lo consiglio.

Eppoi un giretto in montagna, rifugio Lagazuoi (passo Falzarego, vicino a Cortina) per mangiare i canederli, i cansunziei con le rape rosse e assaggiare i formaggi di montagna.

E infine ieri sera, come degna conclusione, cena a Ca' dei Loff a Cison di Valmarino, con il suo menu completamente in dialetto veneto (anzi, per la precisione, dialetto del Quartier del Piave).

Gli antipasti: Piat de cichetin misti e Formai tendri conzadi co l'oio bon. I primi: Tajadee Ca dei Loff. I secondi: Polpetine coa poenta e Faraona coa peverada. Il tutto inaffiato con un'ottima bottiglia di Bepin de Eto.

Il paradiso del buon gustaio.

Syndicate content