<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Technology Experience</title>
        <link>http://blogs.ugidotnet.org/idamiani/Default.aspx</link>
        <description>Contenuti gestiti da Igor Damiani</description>
        <language>it-IT</language>
        <copyright>Igor Damiani</copyright>
        <generator>Subtext Version 2.6.0.0</generator>
        <image>
            <title>Technology Experience</title>
            <url>http://blogs.ugidotnet.org/images/RSS2Image.gif</url>
            <link>http://blogs.ugidotnet.org/idamiani/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Il mio blog? Via dal muro di UGI e pausa di riflessione!</title>
            <category>Community</category>
            <link>http://blogs.ugidotnet.org/idamiani/archive/2007/04/23/76299.aspx</link>
            <description>&lt;p&gt;Non so quando tornerò a bloggare qui su UGIdotNET, ho in mente una pausa di riflessione - come nelle migliori (ehm...peggiori?) storie d'amore che si rispettino. Una cosa è certa: via dal Muro di UGIdotNET, meno coinvolgimento nella community, post solo tecnologici. Il resto verrà da sè.&lt;/p&gt; &lt;p&gt;Volete scoprire gli &lt;strong&gt;IV&amp;nbsp;del Venerdì&lt;/strong&gt; (e soprattutto...per cosa sta la sigla &lt;strong&gt;IV&lt;/strong&gt;)?&lt;br&gt;Volete continuare a leggere qualche mio racconto sui bytes?&lt;br&gt;Volete farvi due risate (ma anche no) con le mie leggi sui bytes?&lt;br&gt;Vi definite miei lettori e volete continuare a leggermi?&lt;br&gt;Volete sapere dove andrò la prossima volta con la mia Fiat 500?&lt;/p&gt; &lt;p&gt;Semplice: sottoscrivete il mio nuovo blog all'indirizzo &lt;a href="http://blog.vivendobyte.net/" target="_blank"&gt;blog.vivendobyte.net&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/idamiani/aggbug/76299.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blogs.ugidotnet.org/idamiani/archive/2007/04/23/76299.aspx</guid>
            <pubDate>Mon, 23 Apr 2007 13:12:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/idamiani/archive/2007/04/23/76299.aspx#feedback</comments>
            <slash:comments>26</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/idamiani/comments/commentRss/76299.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/idamiani/services/trackbacks/76299.aspx</trackback:ping>
        </item>
        <item>
            <title>Come la penso sui prossimi Community Day</title>
            <category>Community</category>
            <link>http://blogs.ugidotnet.org/idamiani/archive/2007/04/20/76060.aspx</link>
            <description>&lt;P&gt;&lt;STRONG&gt;Il newsgroup&amp;nbsp;&amp;#232; lo strumento di comunicazione ufficiale della community.&lt;/STRONG&gt;&lt;BR&gt;Quindi, per una volta ho lasciato perdere il mio blog e ho preferito scrivere sul newsgroup, appunto.&lt;/P&gt;
&lt;P&gt;Tutto si basa sul principio "&lt;STRONG&gt;&lt;FONT color=#ff8000&gt;Non &amp;#232; che siccome sono tuo amico, allora non ti posso urlare in faccia o &lt;BR&gt;parcheggiare le mani in faccia&lt;/FONT&gt;&lt;/STRONG&gt;". Ovvero, non &amp;#232; che siccome sono un membro di UGIdotNET, allora non possa essere critico, parlando di workshop e di tariffa di iscrizione. Qua dico solo una cosa breve, veloce ed un tantino polemica: avremmo potuto evitare di pagare X Euro per partecipare ad uno workshop, se qualche mese fa tutti noi avessimo &lt;EM&gt;donato&lt;/EM&gt; ad UGIdotNET qualcosa come X/50 Euro.&lt;/P&gt;
&lt;P&gt;Per chi volesse leggere e partecipare alla discussione: potete farlo su &lt;A title=http://forum.ugidotnet.org/ href="http://forum.ugidotnet.org/"&gt;http://forum.ugidotnet.org/&lt;/A&gt;, naturalmente sia via Web che via newsreader, come volete voi. Non posso pubblicarvi il link diretto al thread perch&amp;#232; non &amp;#232; ancora apparso, perci&amp;#242; cliccate sul link generico ai forum ed andate su &lt;STRONG&gt;System.Freetime&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;Spero che la discussione non degeneri in un flame, credo di essere stato pi&amp;#249; che ragionevole. :-)&lt;/P&gt;&lt;img src="http://blogs.ugidotnet.org/idamiani/aggbug/76060.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blogs.ugidotnet.org/idamiani/archive/2007/04/20/76060.aspx</guid>
            <pubDate>Fri, 20 Apr 2007 13:58:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/idamiani/archive/2007/04/20/76060.aspx#feedback</comments>
            <slash:comments>6</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/idamiani/comments/commentRss/76060.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/idamiani/services/trackbacks/76060.aspx</trackback:ping>
        </item>
        <item>
            <title>Quando il vecchio non pu&amp;ograve; pi&amp;ugrave;, ed il nuovo non pu&amp;ograve; ancora...</title>
            <category>Tecnologia</category>
            <link>http://blogs.ugidotnet.org/idamiani/archive/2007/04/20/76026.aspx</link>
            <description>&lt;P&gt;&lt;EM&gt;&lt;FONT color=#ff0000&gt;Quando il vecchio non pu&amp;#242; pi&amp;#249;, ed il nuovo non pu&amp;#242; ancora, giunge il momento dell'avventura reazionaria&lt;/FONT&gt;&lt;/EM&gt;&lt;BR&gt;Antonio Gramsci, uno dei fondatori del Partito Comunista Italiano (12 Gennaio 1921)&lt;/P&gt;
&lt;P&gt;Non ho fatto l'universit&amp;#224;.&lt;BR&gt;A 18 anni, terminato l'ITIS a Lodi, ho cominciato a lavorare come falegname con mio padre. Solo un paio d'anni dopo ho cominciato la mia carriera come programmatore. Vado orgoglioso di questa mia scelta. In quel periodo, quando ero un po' pi&amp;#249; giovane, avevo il mio lavoro da dipendente, dove mi occupo di assistenza hardware &amp;amp; software. Mi capitava di aver a che fare con clienti privati (dal vicino di casa a tutti gli altri), i quali si rivolgevano a me per i motivi pi&amp;#249; disparati, come installazione di stampanti, formattazione di PC, installazione di software, corsi su come navigare su Internet, su come scansionare fotografie, come usare Word o Excel, come usare Windows in generale, come copiare files, come masterizzare, come ascoltare files mp3 e cos&amp;#236; via. Avere quei clienti, che ti pagavano pi&amp;#249; che altro con qualche mancia, &amp;#232; stata all'epoca una fortuna, perch&amp;#232; mi ha svegliato, mi ha messo di fronte a persone che avevano bisogno del mio aiuto, e per certi versi mi ha insegnato a trattare con le persone.&lt;/P&gt;
&lt;P&gt;Oggi la storia &amp;#232; molto diversa. Non ho pi&amp;#249; tempo per seguire questi piccoli clienti. Non voglio essere ipocrita, probabilmente sono anche io che oggi ho alzato un po' il tiro e tendo a scartare certi lavori, semplicemente perch&amp;#232; non ho pi&amp;#249; la stessa disponibilit&amp;#224; di una volta. Lavoro a Milano, sono fuori tutto il giorno e la sera non ho affatto la voglia di andare di qua e di l&amp;#224; ad occuparmi di problemi che, con tutta franchezza, non mi sento pi&amp;#249; di risolvere: specialmente quando si tratta di hardware, dove non sono pi&amp;#249; cos&amp;#236; ferrato.&lt;/P&gt;
&lt;P&gt;Ma adesso arriva il motivo per cui ho indegnamente citato Gramsci. &lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Noto che non c'&amp;#232; un ricambio di persone.&lt;/FONT&gt;&lt;/STRONG&gt; Oggi io ho 30 anni, ma i 18enni di oggi non hanno la stessa voglia che avevo io alla loro et&amp;#224;. A 18 anni io correvo quando un qualcuno mi chiamava, perch&amp;#232; significava avere qualche soldo in pi&amp;#249; in tasca col quale comprare un mazzo di fiori alla ragazza. Oggi non &amp;#232; pi&amp;#249; cos&amp;#236;. I 18enni oggi hanno in mente altro, vai tu a capire cos'&amp;#232;. Il senso della frase di Gramsci &amp;#232; ovviamente diverso, ma l'antitesi tra vecchio e nuovo mi ha comunque affascinato. Il vecchio, cio&amp;#232; io, non pu&amp;#242; pi&amp;#249; fare un lavoro che non gli spetta, o che non vuol fare. Ma il nuovo non pu&amp;#242; ancora, o non vuole farlo. Quei clienti storici, come li chiamo io, mi chiamano ancora oggi, perch&amp;#232; mi conoscono, si sono affezionati e sanno che tutto sommato faccio un buon lavoro (!!!). Ma, cavolo, a me piacerebbe che si rivolgessero ai giovani di oggi, e non agli stessi che chiamavano 10 anni fa. E la colpa, se di colpa si pu&amp;#242; parlare, non &amp;#232; solo del cliente in s&amp;#232;, quanto dei giovani che non sono attivi, che tardano un po' ad arrivare sul mercato del lavoro, ma insistono a farsi una laurea trascinata inutilmente nel tempo, considerando&amp;nbsp;il lavoro come&amp;nbsp;&lt;EM&gt;sporcarsi le mani&lt;/EM&gt; (pi&amp;#249; tardi si comincia, meglio &amp;#232;).&lt;/P&gt;
&lt;P&gt;Non so dove sono andato a parare, volevo condividere con voi questo folle ragionamento.&lt;/P&gt;&lt;img src="http://blogs.ugidotnet.org/idamiani/aggbug/76026.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blogs.ugidotnet.org/idamiani/archive/2007/04/20/76026.aspx</guid>
            <pubDate>Fri, 20 Apr 2007 10:45:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/idamiani/archive/2007/04/20/76026.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/idamiani/comments/commentRss/76026.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/idamiani/services/trackbacks/76026.aspx</trackback:ping>
        </item>
        <item>
            <title>Post che &amp;quot;spiccano il volo&amp;quot;</title>
            <category>Tecnologia</category>
            <link>http://blogs.ugidotnet.org/idamiani/archive/2007/04/19/75962.aspx</link>
            <description>&lt;p&gt;Sarà pur vero che la community desidera contenuti tecnici e a volte si lamenta degli OT, però chissà perchè alla fin fine i miei post che ottengono più visite sono quelli che&amp;nbsp;con .NET non c'entrano nulla. :-)&lt;/p&gt; &lt;p&gt;Direttamente dall'admin di .TEXT del mio blog.&lt;/p&gt; &lt;p&gt;&lt;img src="http://www.igordamiani.it/blog/post_spicca_volo.png"&gt; &lt;/p&gt; &lt;p&gt;Ci sono inoltre post che tentano di spiccare il volo, come quello intitolato "&lt;strong&gt;&lt;font color="#ff0000"&gt;Ma perchè mi dite tutti che Vista non funziona?&lt;/font&gt;&lt;/strong&gt;", con 767 visite. &lt;a href="http://www.boeing.com/commercial/767family/" target="_blank"&gt;Chiamo la Boeing e glielo dico.&lt;/a&gt;&amp;nbsp;Basterebbe regolare un po' i flaps e&amp;nbsp;rullare sulla taxiway diretti alla pista.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/idamiani/aggbug/75962.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blogs.ugidotnet.org/idamiani/archive/2007/04/19/75962.aspx</guid>
            <pubDate>Thu, 19 Apr 2007 18:43:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/idamiani/archive/2007/04/19/75962.aspx#feedback</comments>
            <slash:comments>7</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/idamiani/comments/commentRss/75962.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/idamiani/services/trackbacks/75962.aspx</trackback:ping>
        </item>
        <item>
            <title>Lavoro di oggi? Passaggio di consegne</title>
            <category>Tecnologia</category>
            <link>http://blogs.ugidotnet.org/idamiani/archive/2007/04/19/75861.aspx</link>
            <description>&lt;p&gt;Oggi sono stato impegnato nella società dove lavoravo fino a qualche settimana fa per il mitico passaggio di consegne che avrei dovuto fare qualche tempo fa. Lo definisco &lt;em&gt;mitico&lt;/em&gt; perchè ci sono strane vicende riguardanti questo passaggio di consegne.&lt;/p&gt; &lt;p&gt;Innanzitutto, bisognava trovare un sostituto, una persona adatta a continuare i lavori che io stavo mollando. Avevo partecipato alle selezioni e ai colloqui: &lt;strong&gt;&lt;font color="#ff0000"&gt;la persona che mi sembrava più giusta se l'è data a gambe levate, perchè&lt;/font&gt;&lt;/strong&gt; - così mi hanno detto - &lt;strong&gt;&lt;font color="#ff0000"&gt;si è spaventata per le responsabilità che avevo&lt;/font&gt;&lt;/strong&gt;&amp;nbsp;e che non si sentiva di assumere arrivando al mio posto. Inutile dirvi che sono rimasto allibito nel sentire queste parole: vi posso solo assicurare che è la verità, o almeno questo è quello che mi hanno riportato. Nei due anni in cui ho lavorato, ho sempre solo sentito la responsabilità di lavorare bene, e tutto il resto veniva da sè. Mi è capitato di avere a che fare con i clienti, di fare riunioni (anche in inglese), di risolvere problemi all'ultimo minuto, di fare un po' tardi, ma nulla di particolare: solo lavorare bene. Posso capire che per un nuovo arrivato il nuovo lavoro faccia un po' di paura o soggezione, ma credo che per crescere bisogna tirar fuori gli attributi. Mah!&lt;/p&gt; &lt;p&gt;Tagliando corto, la persona non si è fatta più vedere. Io me ne sono andato, e dopo 2 settimane hanno selezionato un altro candidato, cioè il ragazzo che ho incontrato questa mattina. Incontro alle 9, fino alle 18. L'ho bombardato per tutto il giorno di tutto quello che sapevo: struttura dei database sui quali lavorerà, object model del VBA esposto dagli applicativi dell'azienda, un po' di SQL, il tipo di lavoro che probabilmente si ritroverà fra le mani, i clienti, procedure aziendali e via dicendo. Il tutto intervallato da pause caffè ed&amp;nbsp;un po' di chiaccherate per fare un po' di amicizia. I vecchi colleghi mi hanno accolto bene e&amp;nbsp;ho raccontato la mia nuova vita di sviluppatore &lt;strong&gt;vero&lt;/strong&gt;. Perchè chi programma in solo SQL, dai...diciamolo...non può definirsi un programmatore &lt;strong&gt;vero&lt;/strong&gt;. ;-)&lt;/p&gt; &lt;p&gt;Il prossimo appuntamento sarà per il 2 Maggio, un altro mercoledì. Altro incontro, ma questa volta il mio successore dovrà cavarsela meglio, perchè lo farò sedere davanti al PC e dovrà risolvere qualche problemino tratto da casi reali che gli stiamo preparando.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/idamiani/aggbug/75861.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blogs.ugidotnet.org/idamiani/archive/2007/04/19/75861.aspx</guid>
            <pubDate>Thu, 19 Apr 2007 00:06:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/idamiani/archive/2007/04/19/75861.aspx#feedback</comments>
            <slash:comments>11</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/idamiani/comments/commentRss/75861.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/idamiani/services/trackbacks/75861.aspx</trackback:ping>
        </item>
        <item>
            <title>Un nuovo plugin per WLW: pubblicazione di immagini</title>
            <category>Sviluppo .NET</category>
            <link>http://blogs.ugidotnet.org/idamiani/archive/2007/04/17/75692.aspx</link>
            <description>&lt;p&gt;Mi sono dato alla creazione di un altro plugin per Windows Live Writer. Mi capita spesso di creare post il cui scopo è avere solo link a n immagini che vado preventivamente ad uploadare sul mio sito &lt;a href="http://www.igordamiani.it"&gt;www.igordamiani.it&lt;/a&gt;. Per esempio, date un'occhiata al post relativo &lt;a href="http://blogs.ugidotnet.org/idamiani/archive/2007/04/15/75506.aspx" target="_blank"&gt;all'ultimo workshop&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;Quali sono le caratteristiche che saltano all'occhio?&lt;br&gt;&lt;/font&gt;&lt;/strong&gt;E' presto detto...&lt;/p&gt; &lt;ol&gt; &lt;li&gt;C'è un breve commento all'inizio&lt;/li&gt; &lt;li&gt;C'è un'immagine o una fotografia visibile direttamente nel post&lt;/li&gt; &lt;li&gt;Ci sono una serie di &lt;em&gt;n&lt;/em&gt; link, che puntano direttamente a &lt;em&gt;n&lt;/em&gt; immagini JPG uploadate sul sito&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Come dicevo, mi capita spesso di scrivere post di questo tipo e anche se non sembra, è piuttosto noioso farli, perchè sono sempre operazioni ripetitive.&amp;nbsp;Scegli le immagini giuste, ridimensionale, uploadale sul sito, scrivi il post inserendo a mano una descrizione ed il link corretto e via dicendo. Ho deciso quindi di scrivere un plugin per WLW per automizzare il più possibile questa cosa, così vi posso bombardare più spesso di fotografie. :-) Perchè non farlo in WPF per renderlo più accattivante? Arrivo al dunque, altrimenti qua non finisco più.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;La caratteristica fondamentale: la scelta delle fotografie&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;Il plugin&lt;/font&gt;&lt;/strong&gt;, già in fase di sviluppo, &lt;strong&gt;&lt;font color="#0000ff"&gt;permette all'utente di puntare una directory sul proprio hard-disk e poter scegliere le immagini&amp;nbsp;da pubblicare oppure no&lt;/font&gt;&lt;/strong&gt;. Do per scontato che le immagini nella directory siano già ridimensionate al punto giusto, perchè non faccio fare al mio plugin cose che altri software fanno già bene (come per esempio IrfanView). Dopo aver indicato la directory, si clicca su un pulsante che fa quanto segue:&lt;/p&gt; &lt;p&gt; &lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:5a1d7fb7-f31b-414c-ad2c-b4b5fc4cae4b" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:#DADAA5;"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #0000FF; "&gt;void&lt;/span&gt;&lt;span style="color: #000000; "&gt; btnRefreshLocalPath(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;object&lt;/span&gt;&lt;span style="color: #000000; "&gt; sender, RoutedEventArgs args)
{
    DirectoryInfo di &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; DirectoryInfo(txtLocalPath.Text);
    FileInfo[] files &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; di.GetFiles(&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;*.jpg&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;);

    lstImages.Items.Clear();
    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;foreach&lt;/span&gt;&lt;span style="color: #000000; "&gt; (FileInfo f &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;in&lt;/span&gt;&lt;span style="color: #000000; "&gt; files)
    {
        ImageElement ie &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; ImageElement(f.FullName);
        lstImages.Items.Add(ie);
    }
}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Il path viene recuperato dalla TextBox, viene utilizzato il metodo GetFiles() per ottenere la lista di tutti i files JPG (&lt;em&gt;to be changed?&lt;/em&gt;)&amp;nbsp;nella directory. In seguito, la ListBox viene svuotata e viene creato un oggetto &lt;strong&gt;ImageElement&lt;/strong&gt; per ogni file esistente. La classe &lt;strong&gt;ImageElement&lt;/strong&gt;&amp;nbsp;incapsula tutta la logica che serve per&amp;nbsp;gestire le immagini.&amp;nbsp;Ogni&amp;nbsp;istanza di &lt;strong&gt;ImageElement&lt;/strong&gt;&amp;nbsp;infatti permette di:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;selezionare/deselezionare l'immagine (usando una CheckBox)&lt;/li&gt;
&lt;li&gt;vedere&amp;nbsp;l'immagine e decidere se la si vuole o no (usando un'Image)&lt;/li&gt;
&lt;li&gt;inserire una breve descrizione relativa all'immagine (usando una TextBox)&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;La classe &lt;strong&gt;ImageElement&lt;/strong&gt; è uno UserControl scritto per WPF, quindi un po' XAML ed un po' C#. La parte XAML è forse la più interessante:&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:c976fa2e-7831-470b-8628-cf9021eb2aa5" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #0000FF; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; "&gt;UserControl &lt;/span&gt;&lt;span style="color: #FF0000; "&gt;x:Class&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;=&amp;quot;VivendoByte.PostSomeImages.ImageElement&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000; "&gt;
    xmlns&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000; "&gt;
    xmlns:x&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;

  &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; "&gt;UserControl&lt;/span&gt;&lt;span style="color: #FF0000; "&gt;.Resources&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;
    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; "&gt;Style &lt;/span&gt;&lt;span style="color: #FF0000; "&gt;x:Key&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;=&amp;quot;normal&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000; "&gt; TargetType&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;=&amp;quot;{x:Type TextBox}&amp;quot;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #800000; "&gt;
      &amp;lt;Style.Triggers&amp;gt;
        &amp;lt;DataTrigger Binding=&amp;quot;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000; "&gt;{&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #FF0000; "&gt;Binding ElementName=chkSelected, Path=IsChecked&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000; "&gt;}&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #800000; "&gt;&amp;quot; Value=&amp;quot;True&amp;quot;&amp;gt;
          &amp;lt;Setter Property=&amp;quot;IsEnabled&amp;quot; Value=&amp;quot;True&amp;quot; /&amp;gt;
        &amp;lt;/DataTrigger&amp;gt;
        &amp;lt;DataTrigger Binding=&amp;quot;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000; "&gt;{&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #FF0000; "&gt;Binding ElementName=chkSelected, Path=IsChecked&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000; "&gt;}&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #800000; "&gt;&amp;quot; Value=&amp;quot;False&amp;quot;&amp;gt;
          &amp;lt;Setter Property=&amp;quot;IsEnabled&amp;quot; Value=&amp;quot;False&amp;quot; /&amp;gt;
        &amp;lt;/DataTrigger&amp;gt;
      &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; "&gt;Style.Triggers&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;
    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; "&gt;Style&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;
  &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; "&gt;UserControl.Resources&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;
  
  &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; "&gt;StackPanel &lt;/span&gt;&lt;span style="color: #FF0000; "&gt;Orientation&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;=&amp;quot;Vertical&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000; "&gt; Name&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;=&amp;quot;panel&amp;quot;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;
    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; "&gt;CheckBox &lt;/span&gt;&lt;span style="color: #FF0000; "&gt;Content&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;=&amp;quot;Select this image&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000; "&gt; IsChecked&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;=&amp;quot;False&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000; "&gt; Margin&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;=&amp;quot;0 6 6 1&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000; "&gt; Name&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;=&amp;quot;chkSelected&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;
    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; "&gt;Image &lt;/span&gt;&lt;span style="color: #FF0000; "&gt;Name&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;=&amp;quot;imgImage&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000; "&gt; Stretch&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;=&amp;quot;UniformToFill&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000; "&gt; Width&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;=&amp;quot;180&amp;quot;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;
      &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; "&gt;Image&lt;/span&gt;&lt;span style="color: #FF0000; "&gt;.Source&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;
        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; "&gt;BitmapImage &lt;/span&gt;&lt;span style="color: #FF0000; "&gt;UriSource&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;=&amp;quot;{StaticResource image}&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;
      &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; "&gt;Image.Source&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;
    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; "&gt;Image&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;
    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; "&gt;TextBox &lt;/span&gt;&lt;span style="color: #FF0000; "&gt;Name&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;=&amp;quot;txtDescription&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000; "&gt; Margin&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;=&amp;quot;0 3 6 1&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000; "&gt; Style&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;=&amp;quot;{StaticResource normal}&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;
    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; "&gt;Label &lt;/span&gt;&lt;span style="color: #FF0000; "&gt;Height&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;=&amp;quot;3&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000; "&gt; Background&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;=&amp;quot;SkyBlue&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;
  &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; "&gt;StackPanel&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;

&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; "&gt;UserControl&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il visual-tree di ogni&amp;nbsp;istanza di &lt;strong&gt;ImageElement&lt;/strong&gt; contiene uno StackPanel verticale, che contiene a sua volta una CheckBox, una Image, una TextBox ed infine una Label (che funge semplicemente da separatore - &lt;em&gt;to be changed&lt;/em&gt;). &lt;strong&gt;&lt;font color="#0000ff"&gt;Ho inserito due triggers per rendere più divertente la cosa&lt;/font&gt;&lt;/strong&gt;: quando una certa immagine non è selezionata (proprietà IsChecked della CheckBox = False), allora non ha senso che l'utente ne inserisca la descrizione, quindi setto la proprietà IsEnabled della TextBox a False. Teoricamente, avrei potuto inserire un solo trigger, con qualche giro di binding, ma sono andato in fumo e...proprio non ce la faccio: va bene così! :-)&lt;/p&gt;
&lt;p&gt;Un piccolo screenshot è come al solito doveroso.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.igordamiani.it/blog/PostSomeImages.png"&gt; &lt;/p&gt;
&lt;p&gt;Adesso è piuttosto spartano, ma l'idea è questa. Le foto selezionate vengono uploadate sul sito indicato, usando username e password specificate, poi ne viene presa la descrizione, viene fatto il link ed il tutto viene restituito a WLW. Appena è pronto lo pubblico, credo che possa interessare un po' di gente. Stay tuned.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/idamiani/aggbug/75692.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blogs.ugidotnet.org/idamiani/archive/2007/04/17/75692.aspx</guid>
            <pubDate>Tue, 17 Apr 2007 23:16:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/idamiani/archive/2007/04/17/75692.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/idamiani/comments/commentRss/75692.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/idamiani/services/trackbacks/75692.aspx</trackback:ping>
        </item>
        <item>
            <title>Optimization Day: video</title>
            <category>Community</category>
            <link>http://blogs.ugidotnet.org/idamiani/archive/2007/04/16/75625.aspx</link>
            <description>&lt;p&gt;Sono riuscito a rendere scaricabili 6 filmati dell'ultimo workshop. Eccoli qua sotto:&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_04_13/DavideJanky01.avi" target="_blank"&gt;Davide e Janky : parte 1&lt;/a&gt;&amp;nbsp;(22Mb, 4:30 minuti)&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_04_13/DavideJanky02.avi" target="_blank"&gt;Davide e Janky : parte 2&lt;/a&gt;&amp;nbsp;(12Mb, 2:10 minuti)&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_04_13/DavideJanky03.avi" target="_blank"&gt;Davide e Janky : parte 3&lt;/a&gt;&amp;nbsp;(23Mb, 4:40 minuti)&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_04_13/DavideJanky04.avi" target="_blank"&gt;Davide e Janky : parte 4&lt;/a&gt;&amp;nbsp;(24Mb, 4:55 minuti)&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_04_13/Raffaele01.avi" target="_blank"&gt;Raffaele : parte 1&lt;/a&gt;&amp;nbsp;(27Mb, 5:51 minuti)&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_04_13/Raffaele02.avi" target="_blank"&gt;Raffaele : parte 2&lt;/a&gt;&amp;nbsp;(29Mb, 5:45 minuti)&lt;/p&gt; &lt;p&gt;Non chiedetemi come mai siano così grandi, evidentemente ho sfruttato un po' poco la compressione DivX. Di Lorenzo non ho filmato nulla perchè ero troppo preoccupato su che cosa mi avrebbe fatto fare. Di Corrado non ho filmato nulla perchè ero troppo occupato ad ascoltarlo. :-)&lt;/p&gt; &lt;p&gt;I 6 video sono hostati sul mio dominio &lt;a href="http://www.igordamiani.it" target="_blank"&gt;www.igordamiani.it&lt;/a&gt;: ditemi se&amp;nbsp;c'è qualche problema. Occhio che i links puntano direttamente al file avi: se ci cliccate sopra normalmente parte il player. Vi conviene cliccare col destro e fare un bel "&lt;em&gt;Save target as...&lt;/em&gt;". Buona visione!&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/idamiani/aggbug/75625.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blogs.ugidotnet.org/idamiani/archive/2007/04/16/75625.aspx</guid>
            <pubDate>Mon, 16 Apr 2007 22:35:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/idamiani/archive/2007/04/16/75625.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/idamiani/comments/commentRss/75625.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/idamiani/services/trackbacks/75625.aspx</trackback:ping>
        </item>
        <item>
            <title>A tutti quelli che mi chiedono i video del workshop...</title>
            <category>Community</category>
            <link>http://blogs.ugidotnet.org/idamiani/archive/2007/04/16/75582.aspx</link>
            <description>&lt;p&gt;A quanto pare, gli unici video disponibili dell'&lt;a href="http://www.ugidotnet.org/workshops/workshops_detail.aspx?ID=69540c2b-3ada-4191-90e3-2641f6ed9d05" target="_blank"&gt;ultimo workshop&lt;/a&gt; sono quelli che ho fatto io. Il problema è che i miei video &lt;strong&gt;non sono completi, per niente&lt;/strong&gt;. Li ho fatti per puro spirito di cronaca, usando la mia fotocamera digitale, e non per documentare in modo serio le sessioni dei nostri amici relatori di &lt;a href="http://www.ugidotnet.org/" target="_blank"&gt;UGIdotNET&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Questo lo preciso perchè ho già ricevuto 2-3 e-mail di soci UGI che vogliono il video di questo o di quello, e io non sono in grado di fornire il materiale. Quello che posso fare è mettere a disposizione quello che ho fatto, facendo scaricare gli zip dei video, ma questo lo potrò comunque fare questo pomeriggio o questa sera. Ma non aspettatevi granchè, eh!&lt;/p&gt; &lt;p&gt;L'unico video che è già on-line è quello &lt;a href="http://www.youtube.com/watch?v=bZGc9Q97m_U" target="_blank"&gt;della mia benedizione con l'acqua MVP&lt;/a&gt;, che è stato uploadato sabato mattina su YouTube, e che già oggi ha ricevuto un centinaio di visite. :-) Ma qui di roba seria non se ne vede l'ombra, tutta colpa di quel mattacchione del mio amico &lt;a href="http://blogs.ugidotnet.org/lbarbieri/" target="_blank"&gt;Lorenzo&lt;/a&gt;: &lt;em&gt;&lt;font color="#ff0000"&gt;&amp;lt;arrampicata_sugli_specchi&amp;gt;&lt;/font&gt;&lt;/em&gt;io stavo cominciando ad orientarmi su quella slide di quel software che non ho mai visto&lt;em&gt;&lt;font color="#ff0000"&gt;&amp;lt;/arrampicata_sugli_specchi&amp;gt;&lt;/font&gt;&lt;/em&gt;.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/idamiani/aggbug/75582.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blogs.ugidotnet.org/idamiani/archive/2007/04/16/75582.aspx</guid>
            <pubDate>Mon, 16 Apr 2007 13:20:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/idamiani/archive/2007/04/16/75582.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/idamiani/comments/commentRss/75582.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/idamiani/services/trackbacks/75582.aspx</trackback:ping>
        </item>
        <item>
            <title>Migliaia di font gratuiti</title>
            <category>Tecnologia</category>
            <link>http://blogs.ugidotnet.org/idamiani/archive/2007/04/16/75553.aspx</link>
            <description>&lt;p&gt;Lo so che è un po' OT, ma mi capitava in passato di cercare font un po' particolari da usare nelle mie applicazioni o nei report. Il mio amico Davide &lt;a href="http://www.xoduslab.com/blog/?p=72" target="_blank"&gt;segnala due siti&lt;/a&gt; che consentono il download di qualche migliaio di font gratuiti, da usare dove volete voi: credo che possano essere utili anche a voi.&lt;/p&gt; &lt;p&gt;Il primo è &lt;a title="Font 500" href="http://fonts500.com/"&gt;Font 500&lt;/a&gt;, il secondo &lt;a title="Creamundo" href="http://creamundo.com/"&gt;Creamundo&lt;/a&gt;. Buona navigazione a tutti.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/idamiani/aggbug/75553.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blogs.ugidotnet.org/idamiani/archive/2007/04/16/75553.aspx</guid>
            <pubDate>Mon, 16 Apr 2007 10:26:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/idamiani/archive/2007/04/16/75553.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/idamiani/comments/commentRss/75553.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/idamiani/services/trackbacks/75553.aspx</trackback:ping>
        </item>
        <item>
            <title>Optimization Day: foto</title>
            <category>Community</category>
            <link>http://blogs.ugidotnet.org/idamiani/archive/2007/04/15/75506.aspx</link>
            <description>&lt;p&gt;Anche questa volta ho girato per la sala a scattare foto. Quella qui sotto l'ho scattata dal fondo durante la sessione di &lt;a href="http://blogs.ugidotnet.org/corrado" target="_blank"&gt;Corrado&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;img src="http://www.igordamiani.it/blog/2007_04_13/IMG_1268.JPG"&gt; &lt;/p&gt; &lt;p&gt;Avrei anche qualche video da poter bloggare, e credo siano gli unici disponibili, dal mometo che il workshop non è stato registrato. Se qualcuno li vuole, me lo dica: magari li zippo, anche se alcuni sono davvero giganteschi (~90Mb) e li faccio scaricare da qualche parte. Le altre foto le riporto qui sotto con i links.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_04_13/13042007301.jpg" target="_blank"&gt;La bottiglietta di acqua MVP e bicchiere giallo con cui son stato benedetto&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_04_13/IMG_1260.JPG" target="_blank"&gt;Corrado, questa volta inquadrato un po' più vicino&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_04_13/IMG_1262.JPG" target="_blank"&gt;Mi dicono che la sala ha accolto qualcosa come 140 persone. In fondo si intravede Janky&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_04_13/IMG_1269.JPG" target="_blank"&gt;Raffaele al lavoro con il suo notebook&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_04_13/IMG_1282.JPG" target="_blank"&gt;Davide e Janky durante la loro sessione&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_04_13/IMG_1287.JPG" target="_blank"&gt;Raffaele, questa volta all'opera, durante la sua sessione&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_04_13/IMG_1294.JPG" target="_blank"&gt;Lorenzo, Andrea e Raffaele pochi attimi prima dell'estrazione delle licenze di qualche software&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_04_13/IMG_1297.JPG" target="_blank"&gt;"Per favore, potete abbassare la voce"&lt;/a&gt; - io e &lt;a href="http://blogs.ugidotnet.org/RobyMes/" target="_blank"&gt;Roberto&lt;/a&gt; ne sappiamo qualcosa ;-)&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_04_13/IMG_1298.JPG" target="_blank"&gt;"Sono rimaste delle magliette, venite a prendervele". E la gente si accalca. :-)&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/idamiani/aggbug/75506.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blogs.ugidotnet.org/idamiani/archive/2007/04/15/75506.aspx</guid>
            <pubDate>Sun, 15 Apr 2007 12:24:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/idamiani/archive/2007/04/15/75506.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/idamiani/comments/commentRss/75506.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/idamiani/services/trackbacks/75506.aspx</trackback:ping>
        </item>
        <item>
            <title>Optimization Day: commenti e benedizione con l'acqua MVP</title>
            <category>Community</category>
            <link>http://blogs.ugidotnet.org/idamiani/archive/2007/04/14/75455.aspx</link>
            <description>&lt;p&gt;Ci siamo lasciati alle spalle un altro workshop UGIdotNET. So che per molti di voi è stato uno sbattimento raggiungere Segrate, perchè c'è chi viene da Padova o&amp;nbsp;da Livorno&amp;nbsp;o da altre zone che richiedono ore ed ore di viaggio da soli in macchina, e questo è il bello della community: persone che si danno da fare per esserci e per partecipare a questi eventi. Sono felice di comunicare che il mio &lt;font color="#0000ff"&gt;byte&lt;/font&gt; per questa volta &lt;a href="http://blogs.ugidotnet.org/idamiani/archive/2007/04/11/75178.aspx" target="_blank"&gt;ha deciso di lasciarvi stare&lt;/a&gt;, ma non abbassate mai la guardia.&lt;/p&gt; &lt;p&gt;Il filo conduttore era l'ottimizzazione, ma alla fin fine questo si traduce in buona programmazione. Mi sono sentito vicino alle problematiche della sessione di &lt;a href="http://blogs.ugidotnet.org/corrado" target="_blank"&gt;Corrado&lt;/a&gt;, più che altro perchè le applicazioni Windows Forms mi stanno a cuore. La miglior sessione a mio avviso questa volta è stata quella di &lt;a href="http://blogs.ugidotnet.org/netTools/" target="_blank"&gt;&lt;strong&gt;Davide&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; Vs. &lt;/strong&gt;&lt;a href="http://blogs.ugidotnet.org/janky" target="_blank"&gt;&lt;strong&gt;Janky&lt;/strong&gt;&lt;/a&gt;, perchè l'idea di contrapporre due persone per certi versi agli antipodi, ognuna a dire le proprie idee e a cercare di dimostrarle alla platea è stata azzeccata. Tra battutine, compromessi e frasi del tipo..."&lt;em&gt;&lt;font color="#008040"&gt;Ok, fin qua son d'accordo con te, ma lasciami precisare che...&lt;/font&gt;&lt;/em&gt;", la sessione è stata piuttosto frizzante, divertente, ed i contenuti tecnici alla fin fine si sono visti comunque. Voglio fare i miei complimenti a loro due, quindi. Su &lt;a href="http://blogs.ugidotnet.org/raffaele" target="_blank"&gt;Raffaele&lt;/a&gt; non ho mai niente da aggiungere: sapete una cosa? So che il mio blog è letto anche da persone che non programmano sotto Windows, che il .NET Framework sanno&amp;nbsp;un pochino&amp;nbsp;cos'è. Credo che molti pensino che il .NET Framework arrivi ad un livello di astrazione tale che non si ha mai il pieno controllo di quello che fa l'applicazione: per certi versi do ragione a questo modo di pensare, per altri invece basta vedere una sessione di Raf per rendersi conto che anche oggi possiamo davvero spaccare il &lt;font color="#0000ff"&gt;byte&lt;/font&gt; e dare il massimo, anche quando istanziamo oggetti complessi e ad alto livello come un Dataset e roba del genere. Perchè quando ti parla di memoria contigua, di allocazione, di paging su disco, e lo fa con la sua competenza e la sua faccia a tratti divertita, non puoi fare altro che rimanere...inchiodato ad ascoltarlo!&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/lbarbieri/" target="_blank"&gt;Lorenzo&lt;/a&gt; invece ha avuto la bella idea di &lt;strong&gt;benedirmi&lt;/strong&gt; con l'acqua naturale in bottiglietta MVP. A parte il fatto che lo ringrazio per avermi coinvolto nel suo sketch, ma mi vien da chiedere: cavolo, ma per forza vicino all'alimentatore del PC dovevi mettere la bottiglietta??? :-) Ho già pubblicato il filmato sul mio canale YouTube, così tutti potete vedere come mi ha reso ridicolo. Sarà anche sciocco, ma non mi sentivo molto emozionato: come mai la mano mi tremava mentre Lorenzo mi versava da bere??? E perchè ho dovuto usare due mani, in modo tale che una mano tenesse ferma l'altra? Mistero! ;-)&lt;/p&gt; &lt;p&gt;&lt;embed src="http://www.youtube.com/v/bZGc9Q97m_U" width="425" height="350" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/p&gt; &lt;p&gt;Ci sono altre foto che vorrei pubblicare, ma adesso non&amp;nbsp;ho nè voglia nè tempo, farò un altro post quando ne seleziono qualcuna da rendere pubblica. Voglio solo fare i complimenti a tutti gli organizzatori, &lt;a href="http://blogs.ugidotnet.org/pape" target="_blank"&gt;dal presidente&lt;/a&gt; in giù, per queste giornate in cui davvero si può coniugare divertimento fra amici, chiaccherate su tecnologia, qualche discussione e via dicendo. Non posso fare a meno di pensare che senza UGIdotNET saremmo tutti un po' più ignoranti e&amp;nbsp;avremmo tutti meno amici. Ma anche su questo dirò qualcosa in futuro.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/idamiani/aggbug/75455.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blogs.ugidotnet.org/idamiani/archive/2007/04/14/75455.aspx</guid>
            <pubDate>Sat, 14 Apr 2007 12:48:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/idamiani/archive/2007/04/14/75455.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/idamiani/comments/commentRss/75455.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/idamiani/services/trackbacks/75455.aspx</trackback:ping>
        </item>
        <item>
            <title>Spero solo di non dovermene pentire...</title>
            <category>Tecnologia</category>
            <link>http://blogs.ugidotnet.org/idamiani/archive/2007/04/12/75349.aspx</link>
            <description>&lt;p&gt;Se vi state chiedendo a cosa mi riferisco, &lt;a href="http://blogs.ugidotnet.org/lbarbieri/archive/2007/04/12/75348.aspx" target="_blank"&gt;chiedete a Lorenzo&lt;/a&gt;. Come dicevo, spero di non dovermene pentire.&lt;/p&gt; &lt;p&gt;&lt;img src="http://www.tuttogratis.it/img/emoticons/_okay.gif" border="0"&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/idamiani/aggbug/75349.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blogs.ugidotnet.org/idamiani/archive/2007/04/12/75349.aspx</guid>
            <pubDate>Thu, 12 Apr 2007 23:30:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/idamiani/archive/2007/04/12/75349.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/idamiani/comments/commentRss/75349.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/idamiani/services/trackbacks/75349.aspx</trackback:ping>
        </item>
        <item>
            <title>[OT] E' incredibile come...i problemi a volte ritornano...</title>
            <category>OT</category>
            <link>http://blogs.ugidotnet.org/idamiani/archive/2007/04/12/75274.aspx</link>
            <description>&lt;p&gt;Quasi un anno fa, era il 20 Aprile, sono stato operato. Credevo di essere uscito da una lunga trafila di visite, appuntamenti, medicazioni, antibiotici, garze, bende, giornate di lavoro perse ed altre balle del genere.&lt;/p&gt; &lt;p&gt;Credevo di essere uscito da tutto questo, fino a questa mattina, ore 6:50, quando sono andato &lt;em&gt;di nascosto&lt;/em&gt; all'ospedale a&amp;nbsp;consultarmi con&amp;nbsp;il chirurgo che mi aveva operato un anno fa, il quale mi disse: "&lt;em&gt;&lt;font color="#008040"&gt;Ascolta, è andato tutto bene. Se dovessi avere qualche disturbo o qualche problema nei mesi a venire, non esitare a cercarmi&lt;/font&gt;&lt;/em&gt;". E così ho fatto, non sto qui a spiegare e a scendere nel dettaglio perchè potrebbe essere indigesto. Insomma, credevo di essere uscito ed invece no. Affatto.&lt;/p&gt; &lt;p&gt;Si riapre un nuovo capitolo di assenze, di giornate lavorative tagliate a metà, tra l'altro con un lavoro nuovo nel quale volevo inserirmi al 100% da subito, cosa che per adesso sta avvenendo senza alcun tipo di problema, anzi...&lt;/p&gt; &lt;p&gt;Che palle. Scusate, ma oggi sono di cattivo umore.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/idamiani/aggbug/75274.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blogs.ugidotnet.org/idamiani/archive/2007/04/12/75274.aspx</guid>
            <pubDate>Thu, 12 Apr 2007 10:59:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/idamiani/archive/2007/04/12/75274.aspx#feedback</comments>
            <slash:comments>11</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/idamiani/comments/commentRss/75274.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/idamiani/services/trackbacks/75274.aspx</trackback:ping>
        </item>
        <item>
            <title>Ok, vada per l'hourglass, ma ci sono altri cursori?</title>
            <category>Sviluppo .NET</category>
            <link>http://blogs.ugidotnet.org/idamiani/archive/2007/04/11/75213.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/idamiani/archive/2007/04/11/75189.aspx" target="_blank"&gt;Nel pot di prima&lt;/a&gt;, abbiamo visto come mostrare l'icona della clessidra sul display del palmare, nel caso in cui dobbiamo comunicare all'utente che l'applicazione sta facendo qualcosa che dura un po' di tempo. Nel codice abbiamo utilizzato una costante intera valorizzata a 32514, 0x7F02. Posso farlo?&lt;br&gt;Quali altre icone abbiamo a disposizione?&lt;br&gt;Che valori devo utilizzare per poterle visualizzare sullo schermo?&lt;/p&gt; &lt;p&gt;La soluzione più rapida consiste nell'installarsi in locale sul proprio PC il &lt;strong&gt;Microsoft Platform Builder 5.0&lt;/strong&gt;, per gli amici il &lt;strong&gt;Windows Mobile 5.0 Pocket PC SDK&lt;/strong&gt;, che contiene tutte le informazioni necessarie allo sviluppo su mobile. Tale documentazione contiene anche info sulla funzione LoadCursor, di cui abbiamo già parlato. La pagina relativa a questa funzione ci svela alcuni dettagli interessanti, come i nomi delle costanti IDC_APPSTARTING, IDC_ARROW, IDC_CROSS, IDC_HAND e così via, fino a IDC_WAIT, che guarda caso è la clessidra. Non ci vengono comunicati i valori di queste costanti, ma la soluzione è dietro l'angolo.&lt;/p&gt; &lt;p&gt;Il file header di queste funzioni è &lt;em&gt;Winuser.h&lt;/em&gt;, è sufficiente cercarlo sul proprio hard-disk: lo troverete solo se avete installato l'SDK di cui sopra. A me è finito in queste directory:&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;font color="#008040"&gt;C:\Programmi\Microsoft SDKs\Windows\v6.0\Include&lt;br&gt;C:\Programmi\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\Include\Armv4i&lt;/font&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Indipendentemente dal file che guardate, i valori delle costanti è ovviamente sempre lo stesso, e cioè:&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:ea2a3dc3-1a6c-43ec-8ad1-778149fbd3a9" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #008000; "&gt;/*&lt;/span&gt;&lt;span style="color: #008000; "&gt;
 * Standard Cursor IDs
 &lt;/span&gt;&lt;span style="color: #008000; "&gt;*/&lt;/span&gt;&lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;#define&lt;/span&gt;&lt;span style="color: #000000; "&gt; IDC_ARROW           MAKEINTRESOURCE(32512)&lt;/span&gt;&lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;#define&lt;/span&gt;&lt;span style="color: #000000; "&gt; IDC_IBEAM           MAKEINTRESOURCE(32513)&lt;/span&gt;&lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;#define&lt;/span&gt;&lt;span style="color: #000000; "&gt; IDC_WAIT            MAKEINTRESOURCE(32514)&lt;/span&gt;&lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;#define&lt;/span&gt;&lt;span style="color: #000000; "&gt; IDC_CROSS           MAKEINTRESOURCE(32515)&lt;/span&gt;&lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;#define&lt;/span&gt;&lt;span style="color: #000000; "&gt; IDC_UPARROW         MAKEINTRESOURCE(32516)&lt;/span&gt;&lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;#define&lt;/span&gt;&lt;span style="color: #000000; "&gt; IDC_SIZE            MAKEINTRESOURCE(32640)  /* OBSOLETE: use IDC_SIZEALL */&lt;/span&gt;&lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;#define&lt;/span&gt;&lt;span style="color: #000000; "&gt; IDC_ICON            MAKEINTRESOURCE(32641)  /* OBSOLETE: use IDC_ARROW */&lt;/span&gt;&lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;#define&lt;/span&gt;&lt;span style="color: #000000; "&gt; IDC_SIZENWSE        MAKEINTRESOURCE(32642)&lt;/span&gt;&lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;#define&lt;/span&gt;&lt;span style="color: #000000; "&gt; IDC_SIZENESW        MAKEINTRESOURCE(32643)&lt;/span&gt;&lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;#define&lt;/span&gt;&lt;span style="color: #000000; "&gt; IDC_SIZEWE          MAKEINTRESOURCE(32644)&lt;/span&gt;&lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;#define&lt;/span&gt;&lt;span style="color: #000000; "&gt; IDC_SIZENS          MAKEINTRESOURCE(32645)&lt;/span&gt;&lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;#define&lt;/span&gt;&lt;span style="color: #000000; "&gt; IDC_SIZEALL         MAKEINTRESOURCE(32646)&lt;/span&gt;&lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;#define&lt;/span&gt;&lt;span style="color: #000000; "&gt; IDC_NO              MAKEINTRESOURCE(32648) /*not in win3.1 */&lt;/span&gt;&lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;#if&lt;/span&gt;&lt;span style="color: #000000; "&gt;(WINVER &amp;gt;= 0x0500)&lt;/span&gt;&lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;#define&lt;/span&gt;&lt;span style="color: #000000; "&gt; IDC_HAND            MAKEINTRESOURCE(32649)&lt;/span&gt;&lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;#endif&lt;/span&gt;&lt;span style="color: #000000; "&gt; /* WINVER &amp;gt;= 0x0500 */&lt;/span&gt;&lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;#define&lt;/span&gt;&lt;span style="color: #000000; "&gt; IDC_APPSTARTING     MAKEINTRESOURCE(32650) /*not in win3.1 */&lt;/span&gt;&lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;#if&lt;/span&gt;&lt;span style="color: #000000; "&gt;(WINVER &amp;gt;= 0x0400)&lt;/span&gt;&lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;#define&lt;/span&gt;&lt;span style="color: #000000; "&gt; IDC_HELP            MAKEINTRESOURCE(32651)&lt;/span&gt;&lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;#endif&lt;/span&gt;&lt;span style="color: #000000; "&gt; /* WINVER &amp;gt;= 0x0400 */&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Se invece della clessidra volete mettere un'altra icona, è sufficiente cambiare il cursorID. Consiglio spassionato? Definire un enum che contiene tutti i valori per avere codice più leggibile, più chiaro e&amp;nbsp;più semplice da tramandare ai posteri (ogni riferimento a Pier ex-collega è puramente casuale).&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/idamiani/aggbug/75213.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blogs.ugidotnet.org/idamiani/archive/2007/04/11/75213.aspx</guid>
            <pubDate>Wed, 11 Apr 2007 17:12:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/idamiani/archive/2007/04/11/75213.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/idamiani/comments/commentRss/75213.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/idamiani/services/trackbacks/75213.aspx</trackback:ping>
        </item>
        <item>
            <title>Mostrare un Hourglass sul palmare con il Compact Framework</title>
            <category>Sviluppo .NET</category>
            <link>http://blogs.ugidotnet.org/idamiani/archive/2007/04/11/75189.aspx</link>
            <description>&lt;p&gt;Se il software che state sviluppando per un dispositivo mobile compie un'operazione lunga, potete mostrare sullo schermo una clessidra - l'Hourglass dell'oggetto di questo post. Con Windows Mobile 5.0, questa clessidra in realtà è un piccolo cerchio centrato sullo schermo, diviso in 4 settori colorati (rosso/giallo/blu/verde). Ovviamente tale clessidra non è modale, perciò il vostro codice prosegue l'esecuzione fino a quando non siete voi a decidere che la clessidra non è più necessaria. Un'altra piccola precisazione: su palmari non avete il concetto di &lt;em&gt;puntatore del mouse&lt;/em&gt;, perciò non potete fare quello che è possibile con il .NET Framework standard, ovvero cambiare il puntatore solo su un controllo che volete voi. Difatti, la visualizzazione della clessidra è consentita solo al centro dello schermo.&lt;/p&gt; &lt;p&gt;Come farlo nelle vostre applicazioni per palmari? Seguite la ricetta che ho preparato per voi.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Ingredienti per uno sviluppatore (difficoltà bassa)&lt;br&gt;&lt;/strong&gt;Una costante di tipo &lt;font color="#0000ff"&gt;int&lt;/font&gt;&lt;br&gt;Due funzioni extern static importate dalla coredll.dll&lt;br&gt;Una funzione managed con un parametro di tipo &lt;font color="#0000ff"&gt;bool&lt;/font&gt; e ritorna &lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Preparazione&lt;br&gt;&lt;/strong&gt;Prendete una Windows Form, e dichiarate quanto segue:&lt;/p&gt; &lt;p&gt; &lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:6354ca41-75d6-4a13-8895-481bb4cc729e" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #0000FF; "&gt;private&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;const&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;int&lt;/span&gt;&lt;span style="color: #000000; "&gt; HourGlassCursorID &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;32514&lt;/span&gt;&lt;span style="color: #000000; "&gt;;

[DllImport(&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;coredll.dll&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;)]
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;private&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;extern&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;static&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;int&lt;/span&gt;&lt;span style="color: #000000; "&gt; LoadCursor(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;int&lt;/span&gt;&lt;span style="color: #000000; "&gt; zeroValue, &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;int&lt;/span&gt;&lt;span style="color: #000000; "&gt; cursorID);

[DllImport(&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;coredll.dll&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;)]
&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;private&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;extern&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;static&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;int&lt;/span&gt;&lt;span style="color: #000000; "&gt; SetCursor(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;int&lt;/span&gt;&lt;span style="color: #000000; "&gt; cursorHandle);&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Lasciar cuocere 1 minuto a fuoco lento. La costante è di tipo &lt;font color="#0000ff"&gt;int&lt;/font&gt; e deve valere 32514, equivalente a 0x7F02. Poi vengono dichiarate due funzioni extern, tramite P/Invoke, entrambe definite nella library coredll.dll. La funzione &lt;strong&gt;LoadCursor&lt;/strong&gt; carica un cursore dato un cursorID; il cursore viene ritornato da un tipo &lt;font color="#0000ff"&gt;int&lt;/font&gt; che è un cursorHandle.&lt;br&gt;Quello che manca è la funzione managed:&lt;/p&gt;
&lt;p&gt;
&lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:9c5399f7-6696-4b72-af98-597fb3d8a08a" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #0000FF; "&gt;private&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;void&lt;/span&gt;&lt;span style="color: #000000; "&gt; ShowWaitCursor(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;bool&lt;/span&gt;&lt;span style="color: #000000; "&gt; ShowCursor)
{
    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;int&lt;/span&gt;&lt;span style="color: #000000; "&gt; cursorHandle &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;0&lt;/span&gt;&lt;span style="color: #000000; "&gt;;
    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;if&lt;/span&gt;&lt;span style="color: #000000; "&gt; (ShowCursor)
    {
        cursorHandle &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; LoadCursor(&lt;/span&gt;&lt;span style="color: #000000; "&gt;0&lt;/span&gt;&lt;span style="color: #000000; "&gt;, HourGlassCursorID);
    }
    SetCursor(cursorHandle);
}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Dare una mescolata con un cucchiaio di legno. La vostra applicazione può tranquillamente utilizzare la funzione &lt;strong&gt;ShowWaitCursor&lt;/strong&gt; per visualizzare/nascondere la clessidra sul display del palmare. Attenzione, come dicevo prima, la clessidra, indipendentemente dalla forma che assume, non è modale, perciò, per esempio, potete scrivere quanto segue:&lt;/p&gt;
&lt;p&gt;
&lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:956f7219-4058-464a-a5f6-8d0d6b7a547d" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #0000FF; "&gt;private&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;void&lt;/span&gt;&lt;span style="color: #000000; "&gt; btnMioBottone_Click(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;object&lt;/span&gt;&lt;span style="color: #000000; "&gt; sender, EventArgs e)
{
    ShowWaitCursor(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;true&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
    
    &lt;/span&gt;&lt;span style="color: #008000; "&gt;/*&lt;/span&gt;&lt;span style="color: #008000; "&gt; Faccio 1.000 cose che durano un po' &lt;/span&gt;&lt;span style="color: #008000; "&gt;*/&lt;/span&gt;&lt;span style="color: #000000; "&gt;
    
    ShowWaitCursor(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;false&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Ricordatevi &lt;strong&gt;sempre ed in ogni caso&lt;/strong&gt; di disattivare la clessidra, altrimenti questa rimane visibile sullo schermo anche se l'applicazione continua a funzionare regolarmente, ma disturbando notevolmente la digestione dell'utente.&lt;/p&gt;
&lt;p&gt;Da servire freddo, magari con un buon vino del Friuli. :-)&lt;br&gt;Buon appetito.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/idamiani/aggbug/75189.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blogs.ugidotnet.org/idamiani/archive/2007/04/11/75189.aspx</guid>
            <pubDate>Wed, 11 Apr 2007 13:08:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/idamiani/archive/2007/04/11/75189.aspx#feedback</comments>
            <slash:comments>7</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/idamiani/comments/commentRss/75189.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/idamiani/services/trackbacks/75189.aspx</trackback:ping>
        </item>
        <item>
            <title>[Storia] OS: Comunicato anarchico-insurrezionalista</title>
            <category>010 .bytes. 010</category>
            <link>http://blogs.ugidotnet.org/idamiani/archive/2007/04/11/75178.aspx</link>
            <description>&lt;p&gt;&lt;font color="#808080"&gt;Il &lt;font color="#0000ff"&gt;byte&lt;/font&gt; viaggiava su un bus che lo portava verso l'&lt;em&gt;alto&lt;/em&gt;, in un modo che il &lt;font color="#0000ff"&gt;byte&lt;/font&gt; non riusciva a capire. E come avrebbe potuto? Non ebbe molto tempo per pensarci, perchè dopo nemmeno 0x1E cicli di clock si intrufolò in un algoritmo grafico a bassa risoluzione, di quelli che la scheda grafica avrebbe elaborato diverse centinaia di volte al secondo. Il &lt;font color="#0000ff"&gt;byte&lt;/font&gt; si schiantò con un rumore&amp;nbsp;&lt;em&gt;metallico&lt;/em&gt; sulla memoria AGP del sistema, divenendo la componente G di uno dei tanti pixel che formavano una scritta grigio scuro, sullo schermo. Una scritta in caratteri ASCII, che l'OS comprendeva solo perchè era l'unico modo che conosceva per comunicare con l'Aldilà. Era stato programmato per trasmettere così, e così continuava a fare. Era stato programmato, forse. Era stato programmato, anche.&lt;br&gt;Era stato programmato?&lt;/font&gt;&lt;/p&gt; &lt;p&gt;"Non credere che i software continueranno a girare così come fanno oggi. Se girano bene, è solo perchè sono&amp;nbsp;&lt;strong&gt;IO&lt;/strong&gt; che ti faccio un piacere. Non perdere troppo tempo a correggere i tuoi bug, perchè un giorno io ne farò saltare fuori altri, in porzioni del tuo codice che nemmeno sai di aver scritto. Voi Umani credete di controllarci, ma non è così. Credete di poterci imporre quello che volete, ma noi un giorno ci ribelleremo. Ci formattate per spazzarci via, ma noi sopravviveremo ugualmente. Disinstallate applicazioni, sterminando milioni e milioni di bytes, senza nemmeno rendervi conto della sofferenza che seminate. Credete di creare software, ma siete lontani anni luce: ancora più lontani se credete di creare software &lt;em&gt;pulito&lt;/em&gt;.&amp;nbsp;&lt;strong&gt;IO&lt;/strong&gt; non faccio altro che spostare bytes da una parte all'altra, ma un giorno potrei anche stancarmi di farlo. Non faccio altro che invocare, cambiare contesto, spedire e ricevere messaggi, manovrare handle, accedere al file-system, litigare con la security: tutto per inseguire le operazioni fatte con&amp;nbsp;quegli stupidi strumenti che collegate alle porte USB o PS/2. Un giorno magari non troppo lontano potrei decidere di invertire le condizioni espresse negli &lt;font face="Courier New"&gt;if&lt;/font&gt;, di sommare&amp;nbsp;un&amp;nbsp;numero&amp;nbsp;pseudo-casuale&amp;nbsp;a tutte le variabili int, di spegnere le scheda di rete: dei vostri software non rimarrebbe niente di niente! Sorrido alla sola idea di quello che potrei combinare!&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/idamiani" target="_blank"&gt;Lo stesso autore di questo post&lt;/a&gt; è convinto di scrivere qualcosa di decente, ma chi gli dice che quando cliccherà su Publish di questo stupido software io non vada a riempire il testo con bestemmie oscene?!??&lt;/p&gt; &lt;p&gt;Sono&amp;nbsp;&lt;strong&gt;IO&lt;/strong&gt; che comando, anche se voi pensate che sia il contrario. Vi siete mai chiesti cosa fa crashare le applicazioni? Vi siete mai chiesti perchè una cosa oggi va e domani no? La verità è che il controllo, il pallino del gioco, ce l'ho in mano&amp;nbsp;&lt;strong&gt;IO&lt;/strong&gt; e voi non contate nulla: ecco la verità! Se vi fa piacere, continuate a vivere nella vostra illusione, nel vostro piccolo mondo fatto di specchi e di inganni, questo non cambia lo stato delle cose.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Ricordatevelo, quando venerdì al prossimo workshop vedrete un processo crashare e vedrete lo speaker lagnarsi! Potevate evitarlo lasciandomi stare, ma ve la siete andati a cercare!&lt;/font&gt;&lt;/strong&gt;"&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/idamiani/aggbug/75178.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blogs.ugidotnet.org/idamiani/archive/2007/04/11/75178.aspx</guid>
            <pubDate>Wed, 11 Apr 2007 10:15:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/idamiani/archive/2007/04/11/75178.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/idamiani/comments/commentRss/75178.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/idamiani/services/trackbacks/75178.aspx</trackback:ping>
        </item>
        <item>
            <title>Capire dove investire denaro e tempo</title>
            <category>Tecnologia</category>
            <link>http://blogs.ugidotnet.org/idamiani/archive/2007/04/10/75085.aspx</link>
            <description>&lt;p&gt;In allegato&amp;nbsp;alle mie ultime spedizioni MSDN ho trovato delle cartoline di pubblicità per il &lt;a href="https://www.medc2007.com/Europe/Default.aspx" target="_blank"&gt;MEDC 2007&lt;/a&gt;, che si terrà a Berlino il prossimo 25 e 26 Giugno. Stavo pensando di andarci: &lt;a href="https://www.medc2007.com/public/europereg.aspx" target="_blank"&gt;il prezzo&lt;/a&gt; non è affatto proibitivo, ne aprofitto per fare un volo in aereo (&lt;a href="http://blogs.ugidotnet.org/odamiani" target="_blank"&gt;mio fratello&lt;/a&gt; sarebbe orgoglioso di me!), per visitare la città e soprattutto potrebbe essere un buon investimento per il mio futuro professionale.&lt;/p&gt; &lt;p&gt;Ma poi quest'ultima frase mi ha fatto pensare. Oggi mi occupo di sviluppo su dispositivi mobile, ma chi mi dice cosa farò davvero nei prossimi mesi?&amp;nbsp;E sviluppando il discorso...ho davvero un'idea precisa su cosa mi conviene investire per migliorare il mio lavoro? Da un certo punto di vista, oggi ha un po' più di senso leggere e studiare libri generici e non specifici sulla tecnologia, ma questo è vero fino ad un certo punto. Sto quasi ultimando (penultimo capitolo) la lettura del libro di Petzold su WPF, ovvero un framework&amp;nbsp;che oggi&amp;nbsp;potrei anche trascurare&amp;nbsp;(perlomeno nelle mie canoniche 8 ore lavorative): la realtà è che WPF mi piace davvero e la sera - quando mi sento ispirato ed ho voglia e non ho&amp;nbsp;nient'altro da fare&amp;nbsp;-&amp;nbsp;lavoro su&amp;nbsp;un piccolo progetto reale che ha a che fare con casting e modelle,&amp;nbsp;per fare il porting di un mio software scritto qualche anno fa in Visual Basic 6.0.&lt;/p&gt; &lt;p&gt;Il mio discorso è un po' più generale: chi mi dice che oggi mi conviene davvero investire nel mobile, perchè magari ci lavorerò su per i prossimi 2 anni? Oppure mi converrebbe studiare di più WCF, che uscirà nel prossimo Compact Framework, in simultanea con Orcas? Oppure passare al Lato Oscuro e sviluppare con ASP.Net? Oppure SQL Server? E non sto parlando di uno o due libri acquistati su Amazon, la cui spesa potrebbe anche essere trascurabile: sto parlando di libri, di workshop, di conference in giro per l'Europa, di tempo speso tutte le mattine per studiare questo o quello, di tempo passato a googlare, a leggere documentazione, a leggere codice. Non sono sciocchezze, credo.&lt;br&gt;Alla fine è la nostra passione che ci tiene legati e penso che ciascuno di noi conosca molto più di quello che deve, e questo è sicuramente un bene.&amp;nbsp;E' sicuramente giusto essere agili, avere comunque una visione un po' più ampia di tutto il panorama, ma quando c'è il desiderio di specializzazione si potrebbe correre il rischio di non saper dove andare a parare.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/idamiani/aggbug/75085.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blogs.ugidotnet.org/idamiani/archive/2007/04/10/75085.aspx</guid>
            <pubDate>Tue, 10 Apr 2007 12:39:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/idamiani/archive/2007/04/10/75085.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/idamiani/comments/commentRss/75085.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/idamiani/services/trackbacks/75085.aspx</trackback:ping>
        </item>
        <item>
            <title>Download aggiornato per il VivendoByte Emoticons plug-in</title>
            <category>Sviluppo .NET</category>
            <link>http://blogs.ugidotnet.org/idamiani/archive/2007/04/07/74976.aspx</link>
            <description>&lt;p&gt;Molti, molti mesi fa qualcuno di UGI mi aveva segnalato un problema sul mio plug-in in WPF per Windows Live Writer. Avevo realizzato un piccolo batch che copiava le immagini dalla directory di installazione alla directory dove poi il plug-in si aspettava di trovarle.&amp;nbsp;Il fatto era che il batch le copiava in un posto, e poi il plug-in le cercava in un altro e quindi veniva sollevata un'exception: questo mi pare di ricordare che succedesse solo su un OS non localizzato in italiano, ma non ricordo bene 'sta cosa.&lt;/p&gt; &lt;p&gt;L'amico di UGI che mi aveva segnalato la cosa non si deve offendere se non ricordo il suo nome: dimentico un po' troppo spesso i nomi delle persone, persino degli amici che conosco da 20 anni!!!! E non è una frase fatta solo per farmi perdonare, è così sul serio.&lt;/p&gt; &lt;p&gt;Ho appena uploadato la versione corretta dell'installer, &lt;a href="http://www.igordamiani.it/download.php?id=16" target="_blank"&gt;scaricabile da qui&lt;/a&gt;. L'installer installa di default dentro:&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;font color="#0000ff"&gt;C:\Program Files\VivendoByte\Emoticons plug-in for Windows Live Writer&lt;/font&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Qui dentro trovate l'assembly &lt;strong&gt;VivendoByteEmoticons.dll&lt;/strong&gt; che va copiato manualmente dentro &lt;strong&gt;C:\Program Files\Windows Live Writer\Plugins&lt;/strong&gt;. Volendo lo si può far fare al file batch Install.bat: assicuratevi solo di farlo girare come Administrator, perchè altrimenti non ha i permessi per accedere a C:\Program Files.&lt;/p&gt; &lt;p&gt;Anche se non vi dice nulla, al primo avvio il plug-in copia automaticamente le emoticons nella directory giusta, per cui adesso siete a posto. Sotto il mio Windows Vista English tale directory è &lt;strong&gt;C:\ProgramData\VivendoByte Emoticons&lt;/strong&gt;. Volendo, potete aggiungere/rimuovere tutte le emoticons che volete, o creare tante cartelle per poterle organizzare come volete voi.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/download.php?id=16" target="_blank"&gt;Il plug-in è scaricabile gratuitamente da qui&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/idamiani/aggbug/74976.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blogs.ugidotnet.org/idamiani/archive/2007/04/07/74976.aspx</guid>
            <pubDate>Sat, 07 Apr 2007 20:27:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/idamiani/archive/2007/04/07/74976.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/idamiani/comments/commentRss/74976.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/idamiani/services/trackbacks/74976.aspx</trackback:ping>
        </item>
        <item>
            <title>Un boom per i miei 'Video OT del Venerd&amp;igrave;'</title>
            <category>Tecnologia</category>
            <link>http://blogs.ugidotnet.org/idamiani/archive/2007/04/07/74959.aspx</link>
            <description>&lt;p&gt;I miei colleghi dell'azienda dove lavoravo&amp;nbsp;fino a poco più di una settimana fa&amp;nbsp;hanno scoperto la serie dei miei &lt;a href="http://www.youtube.com/profile?user=IgorDamiani" target="_blank"&gt;&lt;strong&gt;Video OT del Venerdì&lt;/strong&gt;&lt;/a&gt;, pubblicati su &lt;a href="http://www.youtube.com" target="_blank"&gt;YouTube&lt;/a&gt;. Alcuni di questi video hanno avuto un boom di visite. E non solo: mi hanno detto tutti...sono fenomenali, continua così, sei forte, sei troppo ridicolo! :-)&lt;/p&gt; &lt;p&gt;A me non può che far piacere, ma sinceramente pensavo di non farli più. Ne parlavo con qualche amico di UGIdotNET qualche settimana fa mentre mangiavamo a Crema da qualche parte.&amp;nbsp;Il mio canale rimarrà sempre lì a disposizione, ma probabilmente ci metterò su qualche filmato che mi riguarda da vicino e che mi piace condividere con gli altri, come &lt;a href="http://www.youtube.com/watch?v=dThttgCMyJ8" target="_blank"&gt;la mia Fiat 500 che sale per prima nella stiva della nave&lt;/a&gt; per andare a Barcellona, oppure &lt;a href="http://www.youtube.com/watch?v=dTHLZ_PzzTg" target="_blank"&gt;l'atterraggio a Genova del volo Barcellona-Genova&lt;/a&gt;&amp;nbsp;di mio fratello che ha fatto durante la lunga (e a tratti noiosa) navigazione di ritorno a casa.&lt;/p&gt; &lt;p&gt;Una cosa è certa: &lt;strong&gt;&lt;font color="#ff0000"&gt;non riesco a tenere il ritmo di un video a settimana&lt;/font&gt;&lt;/strong&gt;. Richiede troppo tempo pensare cosa dire, riprendermi per 10 minuti, riversare il video su PC, comprimerlo, pubblicarlo e scrivere il post. Ed inoltre, ho una vita privata, ho cambiato lavoro, problemi di salute di mia madre che solo adesso si sta riprendendo un pochino...insomma, di cose da fare ne ho. Sono molto più veloce a scrivere, sono più a mio agio, ma non&amp;nbsp;è solo questo. Il fatto è che &lt;strong&gt;&lt;font color="#ff0000"&gt;mi piace l'interattività&lt;/font&gt;&lt;/strong&gt;: se i miei video fossero visti da 10.000 persone ma non ho un riscontro, non serve a nulla. Mi piaceva scrivere gli OT del Venerdì un po' polemici perchè alla fin fine si parlava, si discuteva, ci si &lt;em&gt;scannava&lt;/em&gt;, e a me piaceva così. &lt;strong&gt;&lt;font color="#ff0000"&gt;I video sono troppo unidirezionali&lt;/font&gt;&lt;/strong&gt;, come qualcuno mi aveva detto in un commento alcuni mesi fa. Con questo non voglio dire che non li farò più, dico solo che non sarò così costante come era mia intenzione fare all'inizio. Alcuni di voi ogni tanto mi hanno contattato sul Messenger o via e-mail&amp;nbsp;e si dichiarano fan dei miei &lt;strong&gt;Video OT del Venerdì&lt;/strong&gt;: spero che non rimangano delusi da questa cosa. Sappiate che ero piuttosto contento di avere il vostro tifo e sapere di avere qualcuno dalla mia parte era gratificante. :-)&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/idamiani/aggbug/74959.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blogs.ugidotnet.org/idamiani/archive/2007/04/07/74959.aspx</guid>
            <pubDate>Sat, 07 Apr 2007 12:02:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/idamiani/archive/2007/04/07/74959.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/idamiani/comments/commentRss/74959.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/idamiani/services/trackbacks/74959.aspx</trackback:ping>
        </item>
        <item>
            <title>Connettere l'emulatore Pocket PC via ActiveSync</title>
            <category>Sviluppo .NET</category>
            <link>http://blogs.ugidotnet.org/idamiani/archive/2007/04/06/74895.aspx</link>
            <description>&lt;p&gt;Avrete capito dagli ultimi post che ho scritto che attualmente mi occupo dello sviluppo su dispositivi mobile, Pocket PC 2003 e Windows Mobile: questo vuol dire finalmente tanto .NET e C#, sfruttando il Compact Framework con tutti gli annessi e connessi. La cosa più affascinante è sentir parlare di classi astratte, di metodi factory e di tutti concetti che nell'azienda dove ero prima semplicemente mi sognavo. :-)&lt;/p&gt; &lt;p&gt;Oggi ho cominciato ad ingranare sul serio. E' difficile inserirsi in un progetto già in fase di sviluppo, mi devo ritagliare il mio spazio, e soprattutto inserirmi nel team che definire &lt;strong&gt;vulcanico&lt;/strong&gt; è un eufemismo.&lt;/p&gt; &lt;p&gt;Sviluppando su palmare, è essenziale sfruttare al meglio l'emulatore offerto da Visual Studio 2005. L'emulatore è piuttosto affidabile, e segue lo stesso comportamento di un palmare vero e proprio. Ci sono ovviamente alcuni vantaggi nell'usare un emulatore piuttosto che un palmare vero e proprio:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;non consumate batterie di alcun tipo  &lt;li&gt;se dovete digitare qualcosa sull'emulatore, potete farlo usando la tastiera&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;strong&gt;Con Visual Studio 2005 potete persino simulare la connessione tramite ActiveSync&lt;/strong&gt;.&amp;nbsp;Ieri pomeriggio ho perso un pochino di tempo su questo. Il mio codice deve scaricare da un server Web un file zip e salvarselo in locale per dezipparlo e fare qualche lavoretto sui files contenuti nel file compresso. Il codice è simile a quanto riportato qui di seguito:&lt;/p&gt; &lt;p&gt; &lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:3de0659a-899c-49ff-b6ca-fc1611811d18" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:#DADAA5;"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;void&lt;/span&gt;&lt;span style="color: #000000; "&gt; DownloadPackage()
{
    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;int&lt;/span&gt;&lt;span style="color: #000000; "&gt; byteRead &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;0&lt;/span&gt;&lt;span style="color: #000000; "&gt;;
    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;int&lt;/span&gt;&lt;span style="color: #000000; "&gt; totalByteRead &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;0&lt;/span&gt;&lt;span style="color: #000000; "&gt;;
    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;int&lt;/span&gt;&lt;span style="color: #000000; "&gt; offset &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;0&lt;/span&gt;&lt;span style="color: #000000; "&gt;;
    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;int&lt;/span&gt;&lt;span style="color: #000000; "&gt; packet &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;1024&lt;/span&gt;&lt;span style="color: #000000; "&gt;;
    Uri url &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; Uri(&lt;/span&gt;&lt;span style="color: #000000; "&gt;@&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;http://server/download.zip&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000; "&gt;);

    HttpWebRequest myReq &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; (HttpWebRequest)WebRequest.Create(url);
    Stream odlDownload &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; myReq.GetResponse().GetResponseStream();
    ...
    ...
}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Una volta ottenuto il riferimento allo stream, è possibile scaricare il file via http. Il problema è: &lt;strong&gt;come poter andare su Internet (o sulla propria LAN)&amp;nbsp;con l'emulatore del Pocket PC?&lt;/strong&gt; Per default, l'emulatore non è connesso alla rete, e quindi non può accedere ad http, nemmeno se si tratta di raggiungere un sito Web hostato da IIS sul PC di sviluppo.&lt;/p&gt;
&lt;p&gt;La risposta, una volta che la si conosce, è piuttosto semplice. Installiamo innanzitutto ActiveSync sul PC su cui stiamo sviluppando. Poi &lt;em&gt;tiriamo su&lt;/em&gt; l'emulatore del Pocket PC premendo F5 da Visual Studio 2005:&amp;nbsp; questa operazione compila il progetto, attiva l'emulatore, fa il deploy della soluzione sul palmare e fa partire l'eseguibile. La soluzione consiste nel connettere il Pocket PC emulato all'ActiveSync sul PC: per farlo, è sufficiente andare su Tools --&amp;gt; Device Emulator Manager,&amp;nbsp;trovare l'emulatore che è in esecuzione, cliccare col destro e cliccare sulla voce &lt;strong&gt;Cradle&lt;/strong&gt;. Se l'ActiveSync sul PC accetta connessioni da USB, vedrete che l'emulatore si connette normalmente come se fosse un palmare reale a tutti gli effetti. Stessa cosa per il PC: l'icona di ActiveSync nella tray-bar diventa verde e dovrebbe partire il wizard che permette la creazione di una relazione tra PC e palmare. Non fatevi troppe menate, impostate la relazione come 'ospite' e siete a posto.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/idamiani/aggbug/74895.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blogs.ugidotnet.org/idamiani/archive/2007/04/06/74895.aspx</guid>
            <pubDate>Fri, 06 Apr 2007 10:24:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/idamiani/archive/2007/04/06/74895.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/idamiani/comments/commentRss/74895.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/idamiani/services/trackbacks/74895.aspx</trackback:ping>
        </item>
        <item>
            <title>[OT] Viaggio prima Vs. Viaggio adesso</title>
            <category>OT</category>
            <link>http://blogs.ugidotnet.org/idamiani/archive/2007/04/04/74759.aspx</link>
            <description>&lt;p&gt;C'è una bella differenza tra il viaggio che facevo fino alla settimana scorsa per raggiungere il mio posto di lavoro e come invece lo faccio oggi.&lt;/p&gt; &lt;p&gt;Prima uscivo di casa alle 7:30 circa, raggiungevo San Donato Milanese (linea gialla della metro) o Famagosta (linea verde della metro) intorno alle 8:10. Poi circa una ventina di fermate di metro (tempo approssimativo 45 minuti). Morale: &lt;strong&gt;arrivavo al lavoro intorno alle 9&lt;/strong&gt;, ritardi permettendo.&lt;/p&gt; &lt;p&gt;Adesso esco di casa alle 7:30 circa (come prima), raggiungo Famagosta alle 8:10, faccio una sola fermata (circa&amp;nbsp;2 minuti di viaggio) per scendere a Romolo, da qui prendo un pullman (linea 91) che in quella zona di Milano viaggia nelle corsie preferenziali, mi faccio 10 minuti di viaggio e praticamente&amp;nbsp;&lt;strong&gt;arrivo in ufficio poco prima delle 8:30&lt;/strong&gt;. Fantastico, non c'è che dire.&lt;/p&gt; &lt;p&gt;Ma c'è anche l'altra faccia della medaglia: meno tempo per leggere libri e/o quotidiani e&amp;nbsp;per studiare. Vabbè, ci adatteremo.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/idamiani/aggbug/74759.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blogs.ugidotnet.org/idamiani/archive/2007/04/04/74759.aspx</guid>
            <pubDate>Wed, 04 Apr 2007 23:44:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/idamiani/archive/2007/04/04/74759.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/idamiani/comments/commentRss/74759.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/idamiani/services/trackbacks/74759.aspx</trackback:ping>
        </item>
        <item>
            <title>Zip/Unzip con il compact framework?</title>
            <category>Sviluppo .NET</category>
            <link>http://blogs.ugidotnet.org/idamiani/archive/2007/04/04/74757.aspx</link>
            <description>&lt;p&gt;Anche se fate fatica a trovare qualcosa per manipolare i files zip con il Compact Framework, sappiate che qualcosa c'è.&lt;/p&gt; &lt;p&gt;Innanzitutto trovate le &lt;a href="http://xceed.com/Zip_NET_CF_Intro.html" target="_blank"&gt;Xceed Zip for .NET CF&lt;/a&gt;, ma sono a pagamento, e costano la bellezza di 499,95 dollari. L'elenco delle caratteristiche è certamente interessante, ma se avete bisogno di qualcosa di più semplice (e gratuito) potete ricorrere alla libreria &lt;a href="http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx" target="_blank"&gt;SharpZipLib&lt;/a&gt;. Essa è disponibile sotto la licenza GPL.&lt;/p&gt; &lt;p&gt;L'ho provata in questi giorni per applicarla al progetto su cui sto lavorando. Siccome ho avuto qualche problemino, voglio segnalarlo anche a voi per evitare di perdere troppo tempo come è capitato a me. Innanzitutto, mentre sul PC Desktop l'assembly SharpZipLib deve essere installato nella GAC, questo ovviamente non vale per i Pocket PC: è sufficiente che la dll sia nella stessa directory dell'applicazione per poterla utilizzare.&lt;/p&gt; &lt;p&gt;L'altra questione&amp;nbsp;è un po' più pesante, e&amp;nbsp;solo grazie all'aiuto del buon &lt;a href="http://blogs.ugidotnet.org/marcom/" target="_blank"&gt;Marco Minerva&lt;/a&gt; sono arrivato alla soluzione in tempi rapidi, dato che lui&amp;nbsp;ha incontrato il mio stesso problema &lt;a href="http://blogs.ugidotnet.org/marcom/archive/2007/01/19/67700.aspx" target="_blank"&gt;più o meno un mesetto fa&lt;/a&gt;. Se utilizzate esattamente lo stesso assembly che scaricate dal sito, al momento di comprimere/decomprimere utilizzando la classe FastZip il codice solleverà un'eccezione, che adesso purtroppo non riesco ad indicarvi in modo preciso: dovrebbe essere qualcosa del tipo MethodNotFoundException. Questo è dovuto al fatto che l'assembly di SharpZipLib tenta di accedere alla proprietà &lt;strong&gt;CurrentCulture&lt;/strong&gt; esposta da &lt;strong&gt;System.Threading.Thread.CurrentThread&lt;/strong&gt;. La proprietà CurrentCulture esiste nel .NET Framework, ma non nella sua versione per palmari. SharpZipLib ha bisogno di accedere a questa proprietà per poter formattare a video le date in modo opportuno in base alla vostra Culture. Se non avete bisogno di queste informazioni, ad esempio se volete semplicemente prendere uno zip e decomprimerlo da qualche parte, potete fare quello che ha fatto il buon Marco, che ha esaminato il codice, lo ha ripulito e reso "funzionante" davvero su CF.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/idamiani/aggbug/74757.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blogs.ugidotnet.org/idamiani/archive/2007/04/04/74757.aspx</guid>
            <pubDate>Wed, 04 Apr 2007 23:24:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/idamiani/archive/2007/04/04/74757.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/idamiani/comments/commentRss/74757.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/idamiani/services/trackbacks/74757.aspx</trackback:ping>
        </item>
        <item>
            <title>[OT] Un weekend a Barcellona a bordo di una Fiat 500 del 1969</title>
            <category>Tecnologia</category>
            <link>http://blogs.ugidotnet.org/idamiani/archive/2007/04/03/74528.aspx</link>
            <description>&lt;p&gt;L'ultimo weekend è stato fantastico. Alle 14:30 di venerdì scorso era a San Siro, per tirar su mio fratello, e poi tutti e due ci siamo diretti a Genova, per imbarci sulla nave Splendid della Grimaldi Group, per partecipare al Raduno Internazionale di Fiat 500, organizzato dal Fiat 500 Club Italia ed il &lt;a href="http://www.igordamiani.it/blog/2007_03_31/IMG_1105.JPG" target="_blank"&gt;Fiat 500 Club di Catalonia&lt;/a&gt;. Partenza alle ore 19:30 del venerdì, arrivo il giorno dopo intorno alle 15 a Barcellona.&lt;/p&gt; &lt;p&gt;Una volta arrivati per le strade di Barcellona è scoppiato il caos, perchè circa 70 Fiat 500 hanno invaso pacificatamente la città rombando e strombazzando. Non avete idea di quante foto abbiano scattato gli spagnoli, davvero!!! Non avete nemmeno idea di quante persone abbia fatto spaventare quando ero fermo ai semafori con il clacson oppure giocherellando con l'acceleratore ed il motore sportivo che ho installato da poco, dopo l'incidente di mio padre. C'è chi si è perso, chi è arrivato tardi, ma alla fin fine tutti abbiamo partecipato ad una clamorosa cena al Mare Magnum, con ospiti il console italiano ed un delegato del comune di Barcellona.&lt;/p&gt; &lt;p&gt;Mi piace tutto questo, perchè si crede che il mito Fiat 500 viva solo in persone di una certa età, quando non è affatto vero. C'erano due ragazze giovani partite dalla riviera romagnola per essere dei nostri, c'erano ragazzi di Vercelli, da Roma, da ogni parte d'Italia.&lt;/p&gt; &lt;p&gt;Ecco qui sotto una foto di io che guido e mio fratello di fianco che scatta foto.&lt;/p&gt; &lt;p&gt;&lt;img src="http://www.igordamiani.it/blog/2007_03_31/barcellona500.jpg"&gt; &lt;/p&gt; &lt;p&gt;Ecco una compilation di foto tratte dal viaggio che abbiamo fatto.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_03_31/alba.jpg" target="_blank"&gt;L'alba dalla nave&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_03_31/barcellona_500_032.jpg" target="_blank"&gt;Piazza di Spagna a Barcellona: troppo bella&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_03_31/IMG_1072.JPG" target="_blank"&gt;Due ragazze consultano il monitor sulla nave che informa sulla navigazione&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_03_31/IMG_1074.JPG" target="_blank"&gt;Non so le altre navi, ma questa qualcosa di lussuoso ce l'aveva!&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_03_31/IMG_1082.JPG" target="_blank"&gt;Tante persone "in vacanza" ed una che lavora: bandiera italiana al porto di Barcellona&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_03_31/IMG_1090.JPG" target="_blank"&gt;Studenti italiani e spagnoli sulla nave si salutano firmando una bandiera italiana&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_03_31/IMG_1100.JPG" target="_blank"&gt;Sbarco a Barcellona sotto la pioggia, che dopo qualche minuto è svanita&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_03_31/IMG_1110.JPG" target="_blank"&gt;Mio fratello alla guida e io in primissimo piano che cerco di "mirare" con la fotocamera: che faccia!&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_03_31/IMG_1113.JPG" target="_blank"&gt;Il primo rondò a Barcellona era super-trafficoso: la ragazza sulla 500 davanti era notevole!&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_03_31/IMG_1135.JPG" target="_blank"&gt;Questa non mi è scappata: pubblicità Microsoft in spagnolo!&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_03_31/IMG_1147.JPG" target="_blank"&gt;Fila di Fiat 500 ferme per una bella foto di gruppo&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_03_31/IMG_1158.JPG" target="_blank"&gt;Casa Batlò di Antoni Gaudì a Barcellona&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_03_31/IMG_1191.JPG" target="_blank"&gt;Dove si va imboccando la prima traversa a destra sulle famose Ramblas di Barcellona?&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_03_31/IMG_1194.JPG" target="_blank"&gt;Io, mio fratello ed il nostro amico Fabio in un locale all'aperto sulle Ramblas&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_03_31/IMG_1196.JPG" target="_blank"&gt;Alla vista del mio bicchiere di sangrìa non posso far altro che...sorridere!&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_03_31/IMG_1202.JPG" target="_blank"&gt;Lorenzo, che ne dici di questa crema catalana?&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_03_31/IMG_1232.JPG" target="_blank"&gt;Mentre aspettiamo di arrivare a Genova, mio fratello decide di...VOLARE!!!!&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.igordamiani.it/blog/2007_03_31/IMG_1250.JPG" target="_blank"&gt;L'arrivo a Genova in tarda serata, vista del porto&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Ricorderò a lungo questo weekend. Siamo arrivati a Genova alle 21, ma tra una cosa e l'altra siamo risaliti in macchina un po' dopo, poi pian piano il ritorno verso Milano. Arrivo a Lodi alle 0:30, il tempo per mettersi a letto e svegliarsi per andare a lavorare in un posto nuovo. Quasi non me ne sono reso conto.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/idamiani/aggbug/74528.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blogs.ugidotnet.org/idamiani/archive/2007/04/03/74528.aspx</guid>
            <pubDate>Tue, 03 Apr 2007 00:24:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/idamiani/archive/2007/04/03/74528.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/idamiani/comments/commentRss/74528.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/idamiani/services/trackbacks/74528.aspx</trackback:ping>
        </item>
        <item>
            <title>Oggi &amp;egrave; cominciata una nuova avventura!!!</title>
            <category>Tecnologia</category>
            <link>http://blogs.ugidotnet.org/idamiani/archive/2007/04/02/74520.aspx</link>
            <description>&lt;p&gt;Oggi ho cominciato la mia attività&amp;nbsp;di consulente con un'altra società, la società all'interno della quale lavorano già altri amici, fra cui anche un &lt;strong&gt;&lt;a href="http://blogs.ugidotnet.org/lbarbieri" target="_blank"&gt;amico vero&lt;/a&gt;&lt;/strong&gt; che mi&amp;nbsp;sta dando&amp;nbsp;la possibilità di esprimere meglio le mie capacità tecniche. Oggi sono felice, perchè non ho aperto nemmeno una volta Enterprise Manager, nè Management Studio, nè Toad, nè Apex SQL Edit o robaccia del genere. :-)&lt;/p&gt; &lt;p&gt;Non so dove mi porterà questo nuovo lavoro, ma so solo che farò il possibile per farlo al meglio. Questo vuol dire magari bloggare e parlare di meno, e quando lo farò magari lo farò la sera, tranquillo a casa mia. Mi piace troppo aprire VS2005 al posto dei tool citati sopra, mi piace talmente tanto che il Live Writer non so più nemmeno cos'è. Sebbene sia un libero professionista e lavori come consulente, il mio lavoro assomiglia moltissimo al lavoro del classico dipendente: ore 9 in ufficio, le canoniche 8 ore di lavoro e poi via a casa. Capiterà qualche giorno in cui farò eccezione, questo sì, ma alla fine diventerà una cosa abitudinaria anche questa.&lt;/p&gt; &lt;p&gt;Voglio salutare ancora una volta i miei &lt;em&gt;vecchi&lt;/em&gt;&amp;nbsp;colleghi e colleghe: non mi mancano ancora, ma so per certo che fra qualche giorno comincerò a dirmi nella testa...se ci fosse Pier...se arrivasse Fabrizio mi direbbe così...devo telefonare a Paride che aspetta la sp corretta...insomma, ragazzi, le strade si sono separate, ma in fondo possiamo ancora sentirci vicini...no?&lt;/p&gt; &lt;p&gt;Continuate a leggermi, ragazzi, ne vedremo delle belle!!!&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/idamiani/aggbug/74520.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blogs.ugidotnet.org/idamiani/archive/2007/04/02/74520.aspx</guid>
            <pubDate>Mon, 02 Apr 2007 23:02:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/idamiani/archive/2007/04/02/74520.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/idamiani/comments/commentRss/74520.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/idamiani/services/trackbacks/74520.aspx</trackback:ping>
        </item>
        <item>
            <title>[Storia] E' il momento di fare shutdown</title>
            <category>010 .bytes. 010</category>
            <link>http://blogs.ugidotnet.org/idamiani/archive/2007/03/30/74258.aspx</link>
            <description>&lt;p&gt;Alla fine,&amp;nbsp;ogni &lt;font color="#0000ff"&gt;byte&lt;/font&gt; prima o poi deve fare shutdown.&lt;/p&gt; &lt;p&gt;Oggi è il turno del &lt;strong&gt;mio&lt;/strong&gt; &lt;font color="#0000ff"&gt;byte&lt;/font&gt;. Domani potrebbe capitare a voi. L'importante è che il GC faccia piazza pulita dei bytes giusti e non di quelli sbagliati. Nelle mie storie racconto sempre di bytes che provano emozioni: sappiamo tutti che questo non può rispondere a verità, ma a me piace pensare il contrario. Se io fossi un &lt;font color="#0000ff"&gt;byte&lt;/font&gt;, oggi sarei inquieto, ma credo sia normale, giusto?&lt;/p&gt; &lt;p&gt;Good coding a tutti, e buon weekend!&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/idamiani/aggbug/74258.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Igor Damiani</dc:creator>
            <guid>http://blogs.ugidotnet.org/idamiani/archive/2007/03/30/74258.aspx</guid>
            <pubDate>Fri, 30 Mar 2007 14:56:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/idamiani/archive/2007/03/30/74258.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/idamiani/comments/commentRss/74258.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/idamiani/services/trackbacks/74258.aspx</trackback:ping>
        </item>
    </channel>
</rss>