Technology Experience
Community

Una bella cena in quel di Recco

Voglio personalmente ringraziare tutti quanti per la bella serata di ieri sera. Non so dare un motivo preciso, ma mi sono *rilassato* e divertito parecchio, come non mi succedeva da un po’ ad una cena di community. Grazie a Raf per averci accolto nella sua Liguria e per averci fatto provare un ristorante che, devo dirlo, mi ha soddisfatto al punto giusto. E grazie anche per non avermi buttato a mare: prometto che farò il bravo, d’ora in poi. Complimenti a Lorenzo per aver rubato la connessione wireless sprotetta: non che ci voglia granchè, ma ci vuole comunque un po’ di impegno. Il giretto a Camogli – che non avevo mai visto – è servito a digerire un po’ la cena: ci voleva. Per quel poco che ho visto, è un paesino molto caratteristico e ci tornerei volentieri per vederlo e scattare qualche foto di giorno. E possibilmente senza il mare in burrasca come ieri sera.

Riassumendo, gli argomenti di conversazione che ho colto dalla mia posizione sono stati i seguenti: focaccia, focaccia, fame, menu, cameriere, focaccia, crescenza, camogli, focaccia, recco, sicilia, chuck norris, università, focaccia, fame, passeggiata, donne, donne, donne, donne, donne, autostrada.

Ci sono anche un po’ di foto: quelle di Raf e quelle di Lorenzo.

Send to Kindle
.NET World

Come specificare Padding e Margin

Come specificare Padding e Margin nello XAML di WPF
Ci sono molte cose che non mi entrano in testa. Per quante volte mi vengano spiegate, o per quante volte possa leggerle, non mi entrano in testa. Una di queste è il modo con cui specificare il Padding ed il Margin dei controlli WPF.

Il Padding rappresenta lo spazio interno tra il contenuto di un controllo ed i suoi bordi. Il Margin rappresenta lo spazio tra il bordo del controllo e quello che gli sta accanto. Ci sono diversi modi per specificare questo valore. Il modo più comune è quello di indicare un solo valore alla proprietà Margin o Padding, come nell’esempio qui sotto:

<Label Padding="0" Background="Orange">Cognome :</Label>

Impostare Padding = “0” significa che la distanza tra il testo “Cognome :” ed il bordo della Label stessa è pari a zero. In pratica la scritta è attaccata al bordo su tutti e quattro i lati. Proviamo ad editare a mano lo XAML in questo modo:

<Label Padding="6" Background="Orange">Cognome :</Label>

Questa volta abbiamo impostato Padding=”6″: ciò significa che ci sono 6 device-independent pixels tra la scritta ed il bordo della Label. Tale distanza è applicata in ugual misura su tutti e quattro i lati.

Fin qua le cose sono semplici. Il fatto è che possiamo specificare Padding e Margin con più di un valore, per indicare distanze diverse per i quattro lati. Mi spiego meglio. Supponiamo di avere il seguente XAML:

<Label Padding="0,10,20,30" Background="Orange">Data di Nascita :</Label>

A questa Label è stato dato un Padding=”0,10,20,30″. I valori vanno letti nell’ordine Left, Top, Right e Bottom (ed è questo quello che non mi ricordo mai). Quindi, il testo sarà appiccicato al bordo sinistro, sarà a 10 pixel dal bordo superiore, sarà a 20 pixel dal bordo destro e a 30 pixel dal bordo inferiore. La stessa logica vale ovviamente per la proprietà Margin.

C’è anche la possibilità di specificare due valori soltanto. Per esempio:

<Label Padding="30, 6" Background="Orange">Data di Nascita :</Label>

In questo caso il primo valore (30) viene usato per impostare il Padding a sinistra e a destra, mentre il secondo valore (6) viene usato per impostare il Padding per l’alto ed il basso.

Chi ci sta dietro? ThicknessConverter!
Qualcuno si chiederà come è possibile che WPF riconosca quelle stringhe e come faccia a convertirle in valori double per continuare il processo di layout dei pannelli e dei controlli. Il segreto sta nella classe ThicknessConverter, che si preoccupa di convertire dal tipo string al tipo Thickness e viceversa. Tale classe è contenuta nell’assembly PresentationFramework.dll del Framework 3.0. Mi sono divertito ad esplorarla velocemente con Reflector, e anche dal codice si deduce come faccia uso di un metodo internal FromString che tra le altre cose è soggetto alla localizzazione della nostra applicazione, dal momento che uno dei parametri in ingresso è un CultureInfo. E si vede chiaramente che a seconda del numero di valori presenti nella nostra stringa, viene utilizzato un costruttore diverso della classe Thickness.

Riassumendo: l’ordine
Cioè, quello che mi dimentico più spesso.

X = stesso valore su tutti e quattro i lati
X, Y = X per il Left ed il Right; Y sul Top ed il Bottom
X, Y, Z, K = Left, Top, Right e Bottom

Technorati Tags:  

Send to Kindle
My personal life

Il mio onomastico: San Liborio

Oggi è il 23 Luglio e si festeggia San Liborio. Ed è il mio onomastico. Nonostante la stragrande maggioranza di voi mi conosca semplicemente come Igor, il mio vero primo nome è Liborio. Non è un nome che i miei mi hanno dato a caso, perchè l’ho ereditato da mio nonno, Liborio, appunto. Pochissime persone mi hanno chiamato, o mi chiamano, Liborio: alle superiori, quando i miei compagni sono venuti a saperlo, hanno cominciato a chiamarmi Libbo – sì, proprio con due ‘b’. E siccome è una tradizione alla quale in famiglia teniamo, i miei mi hanno già chiamato dalla Puglia per avermi gli auguri di buon onomastico.

Se siete curiosi e volete sapere chi era San Liborio, cliccate qua.

Voi stasera fate come volete, io vado al festival del latino-americano ad Assago qua a Milano, mi infilo in un ristorante e mi riempio lo stomaco di bistecche, grigliate e di birra. L’ingresso questa sera dovrebbe essere di 6 euro. Perchè so già che stasera la fame sarà molta, e non c’è niente di meglio che festeggiare mangiando. Auguri, nonno, anche se non ci sei più!!!

Send to Kindle
My personal life

Un weekend in versione ‘casalingo’

I miei sono partiti mercoledì mattina, il giorno stesso in cui dopo un milione di anni sono andato al lavoro in giacca. Da quel giorno io e mio fratello siamo gli unici amministratori della casa. Questo weekend l’ho vissuto in versione casalingo: lavatrice, ferro da stiro, pentolame, bagnare i fiori, cucinare, spesa, etc. etc. Ogni tanto ci vuole, e credo sia un bel modo per staccare la spina dalla routine settimanale. L’unico momento in cui sono ritornato developer è stato sabato mattina (ieri) quando verso le 10:00 scendo in giardino e do un’occhiata alla casella di posta: ho trovato una fattura da pagare ed il numero di Agosto di MSDN Magazine. Mi sono ritagliato lì sul momento 15 minuti per leggere un bell’articolo lo standard OPC per creare archivi compressi e non con il .NET Framework 3.0.

Venerdì sera invece prima una cenetta a base di sushi e sashimi al locale giapponese del multisala Medusa a Rozzano, e poi spesa al Fiordaliso lì accanto. Il locale non si è riempito molto, e ne abbiamo aprofittato per chiaccherare con le argazze giapponesi che ci lavorano. Un ottimo modo per farsi spiegare come si chiama un piatto piuttosto che un altro e così via.

La cosa più bella, e che ho scoperto quando sono stato in quel post con Marco e Janky, è che quanto spendiamo dipende dal colore del piattino che decidiamo di prendere dal nastro trasportatore. Troppo bello!

Stamattina ho stirato e mi è pure venuto un bel mal di testa. Domani, caro Igor, si ricomincia!

Send to Kindle
IV del Venerdì

[IV] del Venerdì (12)

La ragazza camminò molto quel giorno. Era stanca, non capiva un’accidente di quello che era successo ed aveva solo uno scopo nella sua testa: suo figlio da salvare. Sembrava passato un sacco di tempo da quando il proiettile dell’Artista lo aveva colpito alla spalla, ma le bastò uno sguardo all’orologio per accorgersi che erano passato solo un quarto d’ora. Non ci fu attimo, ovunque andasse, in cui il cerchio di luce verde la abbandonò. Che camminasse lungo il sentiero, o si arrampicasse lungo un dirupo, o si fermasse a bere in un ruscello, l’anello di luce verde era sempre lì. Camminò talmente a lungo che arrivò al punto di chiedersi se fosse davvero lei a muovere i piedi. Cominciò a pensare di essere sospinta da una forza a lei sconosciuta. Sconosciuta mica tanto, riflette un istante dopo. Per la prima volta, prese coscienza di tutti i ricordi che le erano tornati alla mente quando l’Artista la stava minacciando con la sua rivoltella. Pensò e pensò, mentre camminava, e mentre il paesaggio lentamente cambiava. Alla fine giunse sotto un enorme platano. Fu allora che la vecchia la colpì senza farsi vedere.

In questa ultima settimana, con il caldo atroce che ha colpito Milano – la città dove lavoro – non si sa più dove andare a mangiare in pausa pranzo. Io ed i miei colleghi abbiamo diversi punti strategici nella zona in cui ci troviamo: un ristorante cinese che fa “pappa” di ogni tipo, una pizzeria di napoletani (dove ogni volta faccio una figuraccia con la bionda che ci lavora dentro – i miei colleghi dicono che è amore), un kebab gestito da un pakistano (3 euro per un panino kebab super-farcito e piccante al punto giusto), un’altra trattoria, un bar che fa panini, un McDonald, etc. etc. Sapete qual’è il problema vero? Il caldo. Tutti questi posti sono ovviamente raggiungibili a piedi, ma camminare per 3-4 minuti sotto il sole cocente in centro a Milano è una devastazione assoluta. Alla fine lo facciamo lo stesso, ma ci facciamo una bevuta d’acqua per arrivare a destinazione sani e salvi.

Sto utilizzando un portale Sharepoint, gestito su WebHosting4Life, per tener traccia delle spese quotidiane per mangiare, nei luoghi che ho citato prima. Devo dire che rispetto all’attività precedente (prima di Aprile 2007 per intenderci) è una spesa in più che prima non avevo. Nell’azienda dove lavoravo prima, infatti, disponevo di una mensa interna che 1) mi evitava di schiattare di caldo e 2) mi faceva risparmiare un bel po’. Tra l’altro, la mensa aziendale non era davvero niente male. I pro di andarsene in giro invece sono il fatto che comunque si fanno due passi, si possono ammirare le bellezze della cità (a buon intenditor, poche parole), ci si può fermare al Mediaworld a prendere il CD del live dei Queen a Wembley e così via.

Credo che alla fine, come al solito, sia questione di gusti, o comunque bisogna farci l’abitudine. Come in tutte le cose.

P.S. : mi sa che stavolta ho fallito la mezzanotte, e quindi ho mancato il venerdì. Se così dovesse essere, pazienza. Intanto, buon sabato a tutti!

Send to Kindle
My personal life

"Pensavo fosse un gioco di macchine…"

Mercoledì sera, ore 20:30 circa, punto vendita Saturn del centro commerciale Carrefour di Assago.

Tutte le PS3 in esposizione fanno girare un videogame di Formula 1. Il mio amico Fabio si avvicina ad una di queste, convinto di potersi fare un giro su un circuito qualsiasi del Mondiale. Si avvicina ad una delle console, afferra il joypad, preme qualche tasto e guarda il monitor LCD.

Invece di una vettura da Formula 1, sullo schermo compare un folletto in mezzo ad un bosco incantato, con stelline che volano da tutte le parti. Mormora un triste: “Pensavo fosse un gioco di macchine!“, ma continua a giocare.

Raccontata così non fa molto ridere, ma se aveste potuto sentire e vedere la scena, vi assicuro che da ridere ce n’è abbastanza!

Technorati Tags:  

Send to Kindle
Senza categoria

My Notebook and My Desktop

Il notebook è quello che uso per lavoro, ma non è realmente mio. Trattasi di un esemplare della specie notebook aziendalus. Non si vede molto bene, ma un robottino si sta arrampicando sul display. Le icone che si intravedono sul desktop sono (dall’alto verso il basso, da sinistra verso destra): Documenti, Risorse del Computer, Risorse di Rete, File Transfer Manager, Cestino, simone_scarpe_trekking.rtf (chattata via Messenger con Simone su marche e prezzi delle scarpe da trekking) ed infine gardaland2.jpg.

 

Adesso torno al lavoro!

Technorati Tags:  

Send to Kindle