giovedì, ottobre 11, 2007

JavaDay Torino: tu ci sei??

www.javadaytorino.com

giovedì, settembre 13, 2007

Checked Exceptions e Vista

Ovvero dell'essere rassicurato dalle idee comuni

No, checked exceptions e windows vista non sono i correlazione tra loro. E' che
talvolta capita di avere delle sensazioni e poi vedersele confermate da altri che, con maggior autorità e chiarezza, le espongono per farle diventare dei veri e propri punti di vista.

Ecco Hamilton Verissimo sulle Checked Exceptions:
If there’s one thing I hate about java…

Invece su Windows Vista niente meno che Joel Spolsky (link):

"I've been using Vista on my home laptop since it shipped, and can say with some conviction that nobody should be using it as their primary operating system -- it simply has no redeeming merits to overcome the compatibility headaches it causes. Whenever anyone asks, my advice is to stay with Windows XP (and to purchase new systems with XP preinstalled)."

martedì, aprile 17, 2007

IE quirk for js window.open

window.open is a common javascript call used to open a new browser window from the current page. The syntax is the following:


var newWin = window.open(url, name, options);

So this should be a perfect call:


But it fails with an "invalid argument" error in IE6. The problem is the '.' character in the name parameter. It seems like IE 6 accepts only letters, numbers and '_' for that parameter, but I couldn't find ANY more info about this. Does anyone have more clues about this??

lunedì, aprile 16, 2007

prototype.js su Java Journal

Sul numero 3 di JavaJournal c'è un mio articolo sull'uso di prototype.js per creare applicazioni AJAX . Qui anche un estratto.

mercoledì, aprile 04, 2007

Li Taliano

Oggi in treno ero seduto a fianco due ragazze. E ridevano tra di loro delle email e delle telefonate che ricevono da fornitori, clienti, capi, referenti. Ecco alcune perle:
"Q'uando sarà pronta sarà spedita"

"Ho appena evacuato il suo ordine"

"Sono obesa di lavoro"

(parlando di merce da ritirare)"costei è pronta da ritirare"

Purtroppo siamo arrivati in fretta, altrimenti le risate sarebbero continuate!

lunedì, febbraio 19, 2007

Code Gallery: defensive coding!

Nothing frights more a developer than a NPE! A C# reporting app, period: year 2007:
public AReport generateReport(...)
{
    //do somethig
    AReport report= new AReport(...);
    if ( report != null )
    {
      return report;
    }
    else
    {
      return null; //!!!!
    }
}
Comment: how to smartly avoid a (brrr!) feared NPE! Here's the clever algorithm, stated after long mumble numble the author:
1- instantiate an object with a new Something()
2- don't rely on "new"! what if it doesn't work? (what if the moon crashes on hearth, I'd reply...)
3- test the newly instantiated object: is it null?
4- if yes... That's the unexpected case, I think! our man had to be in real trouble: what to do NOW? Here comes the artist touch and sensibility, if it is null... well... simply... return null!

A great little cameo: how to look busy and fill of dust a 3 lines method.

mercoledì, febbraio 14, 2007

Fisica dello stato solido al Politecnico

Io mi sono laureato al Politecnico di Torino nel 1999. Oggi, dopo ben 8 anni, mi è capitato di entrarci di nuovo, da un ingresso un po' laterale, di quello che pochi usano. E' ho scoperto che il cartello misterioso, che tante domande ha sollevato è ancora lì. Qualcuno sa dare qualche significato?

Jug Torino Meeting 21 - febb - 2007

La prossima settimana tengo un seminario al meeting mensile del JugTorino!
Tutti dettagli qui e qui sotto il programma:


JugTorino Meeting
21 - febbraio - 2007


Presso CSP SpA Corso Svizzera 185, 10149, Torino
Fabbricato 1, Scala H, 2° Piano


PROGRAMMA:

h18:30 Check-In

h18:45 JugTO Quickie:UML for Dummies
Impara a leggere e scrivere class e sequence diagram in pochi minuti!
Bruno Bossola, JUGTorino

h19:00 JugTO Hands-On: Design Patterns by Examples: il Decorator
Come aggiungere comportamenti e responsabilità alle classi esistenti senza modificarle. Entriamo nel JugTO Lounge Bar per fare pratica!
Domenico Ventura, JUGTorino

h20:00 JugTO Pizzata!

INFO:
http://www.jugtorino.it/vqwiki/jsp/Wiki?MeetingFebbraio2007
meetingfebbraio@jugtorino.it

lunedì, febbraio 12, 2007

Scrivere

Ho scritto una prefazione ad un libro che non ho mai letto...

lunedì, febbraio 05, 2007

Code Gallery: create and destroy

Known as "stable" code, a so called J2EE web application, period: year 2005:

//used in the creation of some kind report
public void shiftColumn(...)
{
    //do somethig
    if ( isBlankCell(table, row, srcCol) )
    {
      cell = row.createCell((short) destCol);
      row.removeCell(cell);
    }
    //do somethig else
}


Comment: a great example of coding for obfuscation, which states: "never ever will you clearly express your intention through code".
Why creating a new cell and destroying it the line after? And why that subtle test, which checks for srcCol, but creates a new cell at destCol? The artist leaves us slightly dazed and confused, while thinking of his wisdom.

giovedì, febbraio 01, 2007

Code Gallery: error messages

Production code, unknown artist, VB school, period: beginning of 2000th:

Public Function getGridURL(...,ByVal values As xxx,...) As String
    Dim url As String
    -- Do some stuff
    If values Is Nothing Then

        url = "ERRORE PIRLA" -- italian for "FUCKING ERROR"
    Else
        --Do other stuff
    End If
    Return url
End Function

Comment: a little masterpiece for its conciseness, the clean stroke and the ability to crash the whole application.

Il Cardinale Poletto

Ecco uno splendido campionario delle posizioni della chiesa cattolica. Difficile capire in quale mondo vivono (non su questo sicuramente):
Articolo [La Stampa]

venerdì, gennaio 26, 2007

Surviving a .Net web project (1 episode)

(from a java developer perspective...)

It happened: I was asked to build a webapp using .Net, and the old 1.1 version, too!
Discarded (without a real evaluation...) VB.Net, I went discovering C#, hoping it would be more comfortable for a Java developer.

So I downloaded the .Net framework, installed Visual Studio for .Net (hey, does anyone know some sort of plugin for Ecplise or some other C# IDE to use?) and started with some HelloWorld, HelloEverybody and so on.

First reaction: VStudio sucks! really! Particularly if you got used to Eclipse. Or maybe I' m not good in using it...
Some examples:
- It opens all files in tabs, like Eclipse, like UltraEdit, like PSPad, but... No close all command!
- Absolutely no navigation through code (like ctrl+click in Eclipse): just go to definition
- No refactoring utilities at all: cannot automatically rename even a local variable!

C#, in version 1.1 is quite like Java, no especial oddities, apart for property definition in interfaces, but done with an expressive syntax:

string AProperty { get; set:}

More to come, stay tuned!

mercoledì, gennaio 17, 2007

Checked vs Unchecked Exception

Una delle principali differenze rispetto a Java che ho trovato lavorando in C#, è l'assenza di Checked Exceptions. Cioè in C# tutte le eccezioni sono unchecked.

Mentre altre differenze mi convincono oppure no, di questa non riesco ad avere una opinione precisa.
Sono (o ero?) abituato a considerare le Checked Exception una BUONA COSA, ma..

  • Ad esempio ho visto che per l'integrazione e il supporto di Hibernate in Spring, la classe HibernateTemplate una delle cose principali che fa è trappare tutte le checked exception di Hibernate e rilanciarle come unchecked.
  • Ho visto (e scritto anche) troppo codice Java con metodi che rilanciano 7,8,9 eccezioni diverse, che si propagano, si propagano, si propagano, fino al catch/finally del main...
  • Ho letto questo:
    http://www.artima.com/intv/handcuffs.html

    dove uno degli architetti di C# spiega i perché non ci siano checked exception in C#

Insomma, non riesco ad avere una opinione precisa:
per alcuni versi le checked exception mi sembrano utili e necessarie, per altri mi dico (forse anche a causa dell'abuso che ne fa il JDK) che se ne farebbe volentieri a meno.

mercoledì, ottobre 18, 2006

Ecco la sensazione che ogni tanto si prova a fare questo mestiere



(immagine grazie a Giavasan)

giovedì, ottobre 05, 2006

In edicola

Stamane mi sono fermato in edicola per comprare il giornale.
"la Repubblica" dico.
"sono in sciopero" mi rispondono.
Alché penso di comprare il Corriere (della Sera, intendo).
Lo davano solo in omaggio con la gazzetta dello sport.

giovedì, agosto 03, 2006

OOP explained: il polimorfismo

Secondo me la programmazione orientata agli oggetti (OOP) non è difficile da capire: sono gli esempi che normalmente vengono usati che non spiegano bene i concetti.

Qui invece il polimorfismo è invece spiegato come non avrei mai immaginato...


giovedì, giugno 29, 2006

Interfacce e metodi "opzionali" :-((

Ieri dedicavo un po' di tempo alle slide per il corso Java Beginners del JugTO [1]... e mi sono accorto una volta in più della mia ignoranza.
Ad esempio non conoscevo il fatto che le interfacce potessero avere dei metodi opzionali.
Chi è più esperto e ferrato di me ha già capito che sto andando a sparlare del collection framework :-):

"All of the modification methods in the collection interfaces are labeled optional. Some implementations may not perform one or more of these operations, throwing a runtime exception (UnsupportedOperationException) if they are attempted. Implementations must specify in their documentation which optional operations they support."

Ad esempio queste istruzioni, perfettamente legali per il compilatore, a runtime riservano delle sorprese:

Set aSet = someHashMap.keySet();

//BANG:UnsupportedOperationException
aSet.addAll(someCollection);

A me sta cosa piace proprio per niente:
- rende difficile e "pericoloso" programmare per interfacce
- è diseducativa (lo fanno nel jdk... vuoi che non possa farlo io??)

Possibile che il JDK continui a riservare sorprese di questo tipo?

venerdì, dicembre 09, 2005

Java StrictFP

Non so quanti conoscono il modificatore strictfp in java. E' un modificatore che può essere anteposto alla dichiarazione di metodi o di intere classi. Questa è la definizione che ne da il Java Language Specification Second Edition:
Within an FP-strict expression, all intermediate values must be elements of the float value set or the double value set, implying that the results of all FP-strict expressions must be those predicted by IEEE 754 arithmetic on operands represented using single and double formats.
Questo, all'atto pratico, comporta principalmente una cosa:
se si vuole che il codice che usa aritmentica floating point sia consistente su tutte le piattaforme, bisogna che sia strictFP.

(domanda retorica: come è quindi dichiarata la classe Math?? :-))

giovedì, ottobre 13, 2005

Ajax in action

E' uscito il primo libro su Ajax (qui). Ovviamente non si tratta del noto detersivo, ma di una nuova tecnica, asincrona, di sviluppo web, molto usata ultimamente, sopratutto in Google. Per chi vuole saperne di più:
Ajax: A New Approach to Web Applications

The Web Application Leap carina la frase:
Believe it or not, you have Microsoft and ActiveX to thank for XMLHTTPRequest. Gasp. Wheeze.

lunedì, ottobre 20, 2003

Quest'uomo ha avuto un'idea geniale:
invitare la suo 35mo compleanno un sacco di celebrità, riportando poi sul web la loro risposta all'invito.

lunedì, luglio 28, 2003

Sempre più ardito e spregiudicato


Grazie a .mau. per questo prezioso post. Non si può non ammirare lo sprezzo del pericolo (e del buon senso).

mercoledì, luglio 23, 2003

Per la serie: MAI PIU' SENZA

Un utile attrezzino per la cucina. Devo ammettere che ci ho messo un attimo a capire a cosa serva e come si usi. Ma per _soli_ 16,95$ è vostro!!

mercoledì, luglio 09, 2003

Esiste!
Io pensavo esistesse solo nelle barzellette o al limite nelle commedie. Lo ritenevo come il classico caso da portare come cattivo esempio nelle conversazioni, ma che infine in pochi l'avessero scorta dal vivo.
Invece oggi l'ho vista!! Dal finestrino del tram su cui andavo al lavoro la ho potuta osserva per almeno 2 minuti buoni. Era un bell'esemplare di sciura truccans in semafuro. Col suo bel beauty case sulle ginocchia, durante un rosso è riuscita ad passarsi mascara, rossetto e fondotinta. Il tutto come detto in circa due minuti. Quello che ovviamente mi chiedo è: ma arriverà in ufficio in orario grazie a quei due minuti risparmiati a casa??

martedì, luglio 08, 2003

Anche la miseria pare abbia le sue mode. A Torino, come in tutte le città italiane credo, è abbastanza facile incontrare al semaforo i lavavetri: si offrono di detergere il tuo parabrezza e in cambio gli si offre qualche moneta.
Ma da qualche tempo c'è una nuova tendenza nella miseria metropolitana. Al semaforo ti viene incontro una signora di una certa età, oppure un giovanotto magro oppure ancora una ragazza sulla trentina. Hanno in mano un piccolo cartello di cartone con un messaggio in italiano "Sono povera, tre bambini, auitatemi per mangiare", o ancora "Non trovo lavoro, ho tre bambini a casa, aiutatemi per favore". I bambini sono sempre tre, ho notato. Chiedono anche loro qualche spicciolo. Da quest'ultima moda della miseria sono esclusi i nordafricani, ormai troppo legati al mestiere di lavavetri per essere a' la page.
Ma adesso a queste due strategie per raggranellare qualche spicciolo si è aggiunta l'ultimo movimento (almeno per Torino):
i suonatori di fisarmonica sui mezzi pubblici. Arrivano in due o tre, quasi sempre bambini o adolescenti, suonano qualche motivetto sull'autobus o tram, chiedono un obolo poi scendono. Non li avevo mai visti, poi di punto in bianco qualche mese fa sono apparsi su tutte le linee GTT. L'ultima moda della disperazione?

giovedì, luglio 03, 2003

Press Clippings



Oggi mi tocca una piccola rassegna stampa, sopratutto internazionale, sulle gesta del "nostro".

Dalla CNN:

Germany demands Nazi jibe apology


Berlusconi's Nazi jibe not his first gaffe


Dal Financial Times:

Berlusconi insult is latest in long line of gaffes


Da quel covo di rossi manovrati dall sinistra italia che è diventato ormai The economist:

Silvio Berlusconi Unfit to lead Europe
The Italian prime minister is not the man to speak for the European Union


Berlusconi’s blunder
By comparing a German politician to a Nazi camp commandant, Silvio Berlusconi has made an absurd start to Italy’s presidency of the European Union


Mi fermo per carità di patria.
Sarà anche vero che all'estero sono prevenuti nei nostri confronti e che alcuni attacchi siano stati eccessivi o pretestuosi, ma in questo caso direi che ci stiamo subendo meritatamente, purtroppo...

lunedì, giugno 16, 2003

Trek: Col di Thures


Sabato bella e facile gita in montagna: i laghetti del col di Thures. Da Bardonecchia si va in macchina sino alla Valle Stretta (direzione Melezet), alla sbarra si lascia la macchina.
Poi si parte dal Rifugio III Alpini e si seguono le indicazioni per il Col di Thures. Il sentiero parte in salita e allo scoperto per i primi cento metri, poi si inoltra nel bosco e le pendenze non sono mai eccessive. Si arriva dopo circa 1h ad una falsopiano che si passa e dopo l'ultima salitella si arriva al lago di Thures. Se si sale ancora sulla sinistra si trova il secondo lago, mentre lasciando il laghetto sulla destra si può salire alla Guglia Rossa (o L'Aiguille Rouge).
Partenza: Rifugio III Alpini , 1790 m.

Arrivo: lago di Thures, 2189m
Io e Monika ci abbiamo messo circa 1h e 15min

Evoluzioni politiche


Oggi segnalo due articoli, anzi uno lo copio perché sul sito del corriere gli articoli non durano tanto.
1) Eugenio Scalfari su Repubblica.it. Da rimarcare la chiusura: Personalmente sono ottimista: da un paio di mesi ho la fondata speranza di non dover morire berlusconiano.

2) Ernesto Galli della Loggia sul Corriere della Sera. Lo riporto per intero:

Il governo, Berlusconi e i pannicelli caldi

ULTIMO AVVISO PER IL MEDIATORE



di ERNESTO GALLI DELLA LOGGIA

Il governo Berlusconi sembra essere arrivato all’ultima stazione: quella, per intenderci, dopo la quale c’è solo il capolinea. Un risultato elettorale mediocre (anche se tutt’altro che rovinoso) ha improvvisamente illuminato tutte le cose che fin qui non hanno funzionato e tutti i motivi che hanno impedito e impediscono il loro funzionamento. Si tratta - ed è bene dirlo subito come premessa - di una situazione di fronte alla quale i rimedi annunciati («vertici», «consiglio di gabinetto», «rimpasto», «tagliando»), oltre ad avere un suono alquanto grottesco, rievocativo di stagioni politiche che credevamo finite per sempre, appaiono privi di qualunque efficacia: i malanni seri, infatti, non si curano con i pannicelli caldi. I malanni del governo sono almeno tre. Il primo riguarda la sua composizione. Molti ministri e sottosegretari, perlopiù di Forza Italia e della Lega, non hanno spessore politico e autorevolezza personale. Appaiono perennemente incerti, incapaci di iniziative, confermando in tal modo la decisione di chi li ha voluti al loro posto solo perché fedeli e obbedienti. Ma agli italiani della loro fedeltà e obbedienza importa assai poco. Quel che conta è che così l’immagine dell’esecutivo e la sua capacità di dialogare con il Paese sbiadiscono e svaniscono progressivamente.
Il secondo malanno riguarda le promesse elettorali non mantenute. Per la stragrande maggioranza dei cittadini il carico fiscale è rimasto sostanzialmente invariato: che poi per alcune categorie sia invece diminuito è solo motivo di sconcerto per tutte le altre. Egualmente, il governo non ha fin qui messo mano ad alcuna seria riforma dell’ordine giudiziario. Anche qui: sono andati subito in porto gli interventi che favorivano direttamente il premier e i suoi amici; di quelli che invece sarebbero dovuti andare a beneficio della collettività non se n’è fatto nulla. Allo stesso modo è fin qui caduto nel dimenticatoio il solenne impegno preso ripetutamente da Berlusconi di sanare il conflitto di interessi che lo vede coinvolto in prima persona. È bene su questo punto essere chiari: anche chi quel conflitto non glielo ricorda ogni giorno tuttavia di esso non si scorda mai, non può scordarsi mai.
Il terzo non è un malanno, è soprattutto un problema: si tratta della leadership di Berlusconi. Al presidente del Consiglio non è ancora riuscito di trasformarsi da padrone elettorale della sua coalizione in suo effettivo padrone politico. La sua personalità - che pure ha modo di rifulgere quando può muoversi in piena libertà nella dimensione istrionico-personale, come nel caso della politica estera - appare invece spegnersi quando si entra nell’ambito della politica interna. Qui egli svolge sì un ruolo di mediazione (come farà sicuramente anche stavolta), ma si tratta di una mediazione per così dire sempre al ribasso, incapace di rappresentare una sintesi superiore, di inserire tale sintesi in una prospettiva dotata di qualche consistenza ideale e incapace altresì di alimentare uno slancio politico forte.
Dunque una mediazione che finisce per esaurirsi rapidamente in se stessa, proprio perché soltanto pura e semplice mediazione. Berlusconi appare, infatti, incapace di decidere davvero. Ancora peggio: l’impressione che comunica all’esterno è che su quasi tutto ciò che non riguarda le sue personali necessità egli non abbia un’opinione precisa, o meglio un’opinione per la quale sia disposto a impegnare davvero se stesso. La parabola del governo è a un punto critico: più che di mediazioni oggi c’è bisogno di scelte, e le scelte non può che farle il presidente del Consiglio. Lui ha vinto le elezioni, e dunque scelga e governi, se è capace.

martedì, giugno 10, 2003

Niente resterà impunito


Era il titolo di una famosa rubrica di Cuore che prendeva di mira le insegne più idiote. Io ne ho due da segnalare:
Scarpe diem: negozio di scarpe, visto ad Avigliana (TO)
Il business del panino: paninoteca, Via Nizza Torino

SIGH! mi viene da piangere

mercoledì, giugno 04, 2003


P2P, "retata" dei miei stivali


Grande Paolo Attivissimo. Alcuni giorni fa un articolo su
repubblica.it
avvisava di una retata ai danni di chi usa il P2P. A me la notizia aveva fatto incazzare parecchio, perché:
1- mi pare assurdo perseguire penalmente chi si scarica un MP3 da Kazaa.
2- mi pare assurdo che le forze dell'ordine sprechino tempo e risorse in genere per "frenare" questo tipo di reati, la cui pericolosità sociale è pari a zero, meno di zero.

Adesso si scopre che l'articolo era scritto coi piedi e alle cose che diceva bisognava fare una tara grossa grossa. Il succo vero è che la GdF ha condotto un'inchiesta contro chi il materiale piratato lo smerciava, non contro chi lo scaricava. Il tutto mi pare che cambi (non poco) prospettiva.

giovedì, maggio 29, 2003

Oggi per chi come me tifa Juve è giorno di rimpianti.
Se avesse giocato Nedved...
Se Lippi non avesse sbagliato formazione iniziale...
Se i rigoristi...
Comunque questa sconfitta fa meno male delle due precedenti, 1997 e 1998: arriva ai rigori e poi infine, il Milan ai punti avrebbe forse vinto uguale.
BAH! Io spero molto che gente tipo Ferrara, Pessotto, Conte e anche Nedved abbia presto una seconda possibilità, con risultato diverso ovviamente

mercoledì, maggio 28, 2003

Sto leggendo "Camera con Vista" di E. Foster. L'avevo letto quando mi sono trasferito in Inghilterra per lavoro (trasferta poi durata solo alcuni mesi), alcuni anni fa. Rileggendolo adesso mi sta piacendo molto molto più di allora. Sarà perché conosco già il finale e apprezzo meglio le sfumature? Sarà perché sono diverso io? Sarà perché adesso lo so collocare nel contesto giusto? Boh! fatto sta lo sto leggendo come di solito leggo i thriller, in fretta e con l'ansia di andare avanti

lunedì, marzo 31, 2003

Qualche tempo fà in rete passò il Il Generatore di Qualifiche Stronze per la Web Economy.

Pare che quelli del comitato per olimpiadi di Torino del 2006 siano però andati ben oltre