<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" 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:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>biader.it</title>
    <link>http://www.biader.it/</link>
    <description>Su .net, C#, ...</description>
    <language>en-us</language>
    <copyright>Luca Biader Ceipidor</copyright>
    <lastBuildDate>Thu, 06 Aug 2009 04:44:10 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.0.7226.0</generator>
    <managingEditor>luca@biader.it</managingEditor>
    <webMaster>luca@biader.it</webMaster>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=7e6829f8-5a29-4e66-a68e-595189dd5656</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,7e6829f8-5a29-4e66-a68e-595189dd5656.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,7e6829f8-5a29-4e66-a68e-595189dd5656.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=7e6829f8-5a29-4e66-a68e-595189dd5656</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Un buona documentazione (non ufficiale) sulla libreria per l'implementazione della
Dependency Injection su tecnologia Microsoft "ObjectBuilder", utilizzata in svariati
application blocks si può trovare qui: 
<br /><a href="http://www.sayedhashimi.com/CategoryView,category,ObjectBuilder.aspx">http://www.sayedhashimi.com/CategoryView,category,ObjectBuilder.aspx</a><br />
Enjoy, 
<br />
Luc. 
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=7e6829f8-5a29-4e66-a68e-595189dd5656" />
      </body>
      <title>Object Builder e Dependency Injection</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,7e6829f8-5a29-4e66-a68e-595189dd5656.aspx</guid>
      <link>http://www.biader.it/2009/08/06/ObjectBuilderEDependencyInjection.aspx</link>
      <pubDate>Thu, 06 Aug 2009 04:44:10 GMT</pubDate>
      <description>&lt;p&gt;
Un buona documentazione (non ufficiale) sulla libreria per l'implementazione della
Dependency Injection su tecnologia Microsoft "ObjectBuilder", utilizzata in svariati
application blocks si può trovare qui: 
&lt;br /&gt;
&lt;a href="http://www.sayedhashimi.com/CategoryView,category,ObjectBuilder.aspx"&gt;http://www.sayedhashimi.com/CategoryView,category,ObjectBuilder.aspx&lt;/a&gt; 
&lt;br /&gt;
Enjoy, 
&lt;br /&gt;
Luc. 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=7e6829f8-5a29-4e66-a68e-595189dd5656" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,7e6829f8-5a29-4e66-a68e-595189dd5656.aspx</comments>
      <category>.net</category>
      <category>C#</category>
      <category>Dependency Injection</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=c87d69eb-bf53-4289-81af-8fb2ffc51174</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,c87d69eb-bf53-4289-81af-8fb2ffc51174.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,c87d69eb-bf53-4289-81af-8fb2ffc51174.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=c87d69eb-bf53-4289-81af-8fb2ffc51174</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
All'indirizzo: 
</p>
        <p>
          <a href="http://msdn.microsoft.com/en-us/library/ms733768.aspx">http://msdn.microsoft.com/en-us/library/ms733768.aspx</a>
        </p>
        <p>
si può trovare un articolo interessante che spiega come configurare windows per permettere
l'hosting di un servizio wcf su protocollo http. Un esempio al volo: 
</p>
        <p>
(impostazione dell'ip in ascolto)
</p>
        <p>
netsh http add iplisten ipaddress=0.0.0.0:8001 
</p>
        <p>
(impostazione delle acl sull'url per utente)
</p>
        <p>
netsh http add urlacl url=http://+:8001/VirtualDir user=MYCOMPUTER\User 
</p>
        <p>
Enjoy, Luc.
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=c87d69eb-bf53-4289-81af-8fb2ffc51174" />
      </body>
      <title>Impostare un servizio self-hosted su http</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,c87d69eb-bf53-4289-81af-8fb2ffc51174.aspx</guid>
      <link>http://www.biader.it/2009/06/21/ImpostareUnServizioSelfhostedSuHttp.aspx</link>
      <pubDate>Sun, 21 Jun 2009 20:07:45 GMT</pubDate>
      <description>&lt;p&gt;
All'indirizzo: 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://msdn.microsoft.com/en-us/library/ms733768.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms733768.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
si può trovare un articolo interessante che spiega come configurare windows per permettere
l'hosting di un servizio wcf su protocollo http. Un esempio al volo: 
&lt;/p&gt;
&lt;p&gt;
(impostazione dell'ip in ascolto)
&lt;/p&gt;
&lt;p&gt;
netsh http add iplisten ipaddress=0.0.0.0:8001 
&lt;/p&gt;
&lt;p&gt;
(impostazione delle acl sull'url per utente)
&lt;/p&gt;
&lt;p&gt;
netsh http add urlacl url=http://+:8001/VirtualDir user=MYCOMPUTER\User 
&lt;/p&gt;
&lt;p&gt;
Enjoy, Luc.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=c87d69eb-bf53-4289-81af-8fb2ffc51174" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,c87d69eb-bf53-4289-81af-8fb2ffc51174.aspx</comments>
      <category>.net</category>
      <category>SOA</category>
      <category>WCF</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=a7e59bec-55ac-4754-9b16-da724c3e4d3a</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,a7e59bec-55ac-4754-9b16-da724c3e4d3a.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,a7e59bec-55ac-4754-9b16-da724c3e4d3a.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=a7e59bec-55ac-4754-9b16-da724c3e4d3a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <font face="Courier New">Leggo di un interessante progetto denominato Stonehenge:</font>
        </p>
        <p>
          <a href="http://incubator.apache.org/stonehenge/index.html">
            <font face="Courier New">http://incubator.apache.org/stonehenge/index.html</font>
          </a>
        </p>
        <p>
          <font face="Courier New">A cui partecipano Microsoft, Red Hat, Eviware, WSO2 ed altri.
Il tema è l'interoperabilità dei sistemi in ambito SOA. Sono fornite delle best-practices
su tecnologia java, .NET, php.</font>
        </p>
        <p>
          <font face="Courier New">Gli obbiettivi ?</font>
        </p>
        <span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 16px 'Times New Roman'; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span">
          <span style="FONT-FAMILY: Verdana; FONT-SIZE: 13px" class="Apple-style-span">
            <ul>
              <li style="FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif; FONT-SIZE: 13px">
                <font size="2" face="Courier New">illustrare e sviluppare linee guida per
l'interoperabilità delle applicazioni; </font>
              </li>
              <li style="FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif; FONT-SIZE: 13px">
                <font size="2" face="Courier New">dimostrare l'interoperabilità fra le piattaforme; </font>
              </li>
              <li style="FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif; FONT-SIZE: 13px">
                <font size="2" face="Courier New">fornire degli esempi da cui partire per implementare
applicazioni; </font>
              </li>
              <li style="FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif; FONT-SIZE: 13px">
                <font size="2" face="Courier New">fornire un aiuto per identificare i problemi di
interoperabilità e le rispettive soluzioni; </font>
              </li>
              <li style="FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif; FONT-SIZE: 13px">
                <font size="2" face="Courier New">ottenere fiducia nello sviluppo e deployment di
tecnologie SOA multi-piattaforma.</font>
              </li>
            </ul>
            <p style="FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif; FONT-SIZE: 13px">
              <font size="2" face="Courier New">Alcuni link interessanti:</font>
            </p>
            <p style="FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif; FONT-SIZE: 13px">
              <a href="http://wso2.com/">
                <font size="2" face="Courier New">http://wso2.com/</font>
              </a>
            </p>
            <p style="FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif; FONT-SIZE: 13px">
              <a href="http://www.eviware.com/">
                <font size="2" face="Courier New">http://www.eviware.com/</font>
              </a>
            </p>
            <p style="FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif; FONT-SIZE: 13px">
              <a href="http://www.microsoft.com/SOA/">
                <font size="2" face="Courier New">http://www.microsoft.com/SOA/</font>
              </a>
            </p>
            <p style="FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif; FONT-SIZE: 13px">
              <a href="http://www.jboss.com/products/platforms/soa/">
                <font size="2" face="Courier New">http://www.jboss.com/products/platforms/soa/</font>
              </a>
            </p>
            <p style="FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif; FONT-SIZE: 13px">
              <font size="2" face="Courier New">Enjoy,</font>
            </p>
            <p style="FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif; FONT-SIZE: 13px">
              <font size="2" face="Courier New">Luc.</font>
            </p>
          </span>
        </span>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=a7e59bec-55ac-4754-9b16-da724c3e4d3a" />
      </body>
      <title>Microsoft, Apache, et al. : Stonehenge</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,a7e59bec-55ac-4754-9b16-da724c3e4d3a.aspx</guid>
      <link>http://www.biader.it/2009/06/15/MicrosoftApacheEtAlStonehenge.aspx</link>
      <pubDate>Mon, 15 Jun 2009 09:54:14 GMT</pubDate>
      <description>&lt;p&gt;
&lt;font face="Courier New"&gt;Leggo di un interessante progetto denominato Stonehenge:&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://incubator.apache.org/stonehenge/index.html"&gt;&lt;font face="Courier New"&gt;http://incubator.apache.org/stonehenge/index.html&lt;/font&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;A cui partecipano Microsoft, Red Hat, Eviware, WSO2 ed altri.
Il tema è l'interoperabilità dei sistemi in ambito SOA. Sono fornite delle best-practices
su tecnologia java, .NET, php.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;Gli obbiettivi ?&lt;/font&gt;
&lt;/p&gt;
&lt;span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 16px 'Times New Roman'; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span&gt;&lt;span style="FONT-FAMILY: Verdana; FONT-SIZE: 13px" class=Apple-style-span&gt; 
&lt;ul&gt;
&lt;li style="FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif; FONT-SIZE: 13px"&gt;
&lt;font size=2 face="Courier New"&gt;illustrare&amp;nbsp;e&amp;nbsp;sviluppare linee guida per
l'interoperabilità delle applicazioni; &lt;/font&gt; 
&lt;li style="FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif; FONT-SIZE: 13px"&gt;
&lt;font size=2 face="Courier New"&gt;dimostrare l'interoperabilità fra le piattaforme; &lt;/font&gt; 
&lt;li style="FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif; FONT-SIZE: 13px"&gt;
&lt;font size=2 face="Courier New"&gt;fornire degli esempi da cui partire per implementare
applicazioni; &lt;/font&gt; 
&lt;li style="FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif; FONT-SIZE: 13px"&gt;
&lt;font size=2 face="Courier New"&gt;fornire un aiuto per identificare i problemi di interoperabilità
e le rispettive soluzioni; &lt;/font&gt; 
&lt;li style="FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif; FONT-SIZE: 13px"&gt;
&lt;font size=2 face="Courier New"&gt;ottenere fiducia nello sviluppo e deployment di tecnologie
SOA multi-piattaforma.&lt;/font&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif; FONT-SIZE: 13px"&gt;
&lt;font size=2 face="Courier New"&gt;Alcuni link interessanti:&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif; FONT-SIZE: 13px"&gt;
&lt;a href="http://wso2.com/"&gt;&lt;font size=2 face="Courier New"&gt;http://wso2.com/&lt;/font&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p style="FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif; FONT-SIZE: 13px"&gt;
&lt;a href="http://www.eviware.com/"&gt;&lt;font size=2 face="Courier New"&gt;http://www.eviware.com/&lt;/font&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p style="FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif; FONT-SIZE: 13px"&gt;
&lt;a href="http://www.microsoft.com/SOA/"&gt;&lt;font size=2 face="Courier New"&gt;http://www.microsoft.com/SOA/&lt;/font&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p style="FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif; FONT-SIZE: 13px"&gt;
&lt;a href="http://www.jboss.com/products/platforms/soa/"&gt;&lt;font size=2 face="Courier New"&gt;http://www.jboss.com/products/platforms/soa/&lt;/font&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p style="FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif; FONT-SIZE: 13px"&gt;
&lt;font size=2 face="Courier New"&gt;Enjoy,&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-FAMILY: Verdana, Helvetica, Arial, sans-serif; FONT-SIZE: 13px"&gt;
&lt;font size=2 face="Courier New"&gt;Luc.&lt;/font&gt;
&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=a7e59bec-55ac-4754-9b16-da724c3e4d3a" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,a7e59bec-55ac-4754-9b16-da724c3e4d3a.aspx</comments>
      <category>.net</category>
      <category>Biztalk</category>
      <category>SOA</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=28cbb922-33cc-41d5-8c3c-ac08533b6234</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,28cbb922-33cc-41d5-8c3c-ac08533b6234.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,28cbb922-33cc-41d5-8c3c-ac08533b6234.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=28cbb922-33cc-41d5-8c3c-ac08533b6234</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Vi metto il link per un articolo interessante:
</p>
        <p>
          <a href="http://www.mayrhofer.eu.org/Default.aspx?pageid=45">http://www.mayrhofer.eu.org/Default.aspx?pageid=45</a>
        </p>
        <p>
Spiega come creare una chiavetta USB avviabile, scegliendo il boot loader desiderato.
Fornisce anche le istruzioni per installare su una chiavetta freeDOS.
</p>
        <p>
Un altro articolo suggerisce come creare una chiavetta bootable partendo da un'immagine
già pronta:
</p>
        <p>
          <a href="http://www.dblog.it/public/post/chiavetta-usb-bootable-632.asp">http://www.dblog.it/public/post/chiavetta-usb-bootable-632.asp</a>
        </p>
        <p>
usando mkbt, che si può trovare all'indirizzo:
</p>
        <p>
          <a href="http://www.nu2.nu/mkbt/">http://www.nu2.nu/mkbt/</a>
        </p>
        <p>
Enjoy,
</p>
        <p>
Luc.
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=28cbb922-33cc-41d5-8c3c-ac08533b6234" />
      </body>
      <title>Creare una chiavetta USB avviabile (bootable)</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,28cbb922-33cc-41d5-8c3c-ac08533b6234.aspx</guid>
      <link>http://www.biader.it/2009/06/09/CreareUnaChiavettaUSBAvviabileBootable.aspx</link>
      <pubDate>Tue, 09 Jun 2009 05:59:46 GMT</pubDate>
      <description>&lt;p&gt;
Vi metto il link per un articolo interessante:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.mayrhofer.eu.org/Default.aspx?pageid=45"&gt;http://www.mayrhofer.eu.org/Default.aspx?pageid=45&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Spiega come creare una chiavetta USB avviabile, scegliendo il boot loader desiderato.
Fornisce anche le istruzioni per installare su una chiavetta freeDOS.
&lt;/p&gt;
&lt;p&gt;
Un altro articolo suggerisce come creare una chiavetta bootable partendo da un'immagine
già pronta:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.dblog.it/public/post/chiavetta-usb-bootable-632.asp"&gt;http://www.dblog.it/public/post/chiavetta-usb-bootable-632.asp&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
usando mkbt, che si può trovare all'indirizzo:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.nu2.nu/mkbt/"&gt;http://www.nu2.nu/mkbt/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Enjoy,
&lt;/p&gt;
&lt;p&gt;
Luc.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=28cbb922-33cc-41d5-8c3c-ac08533b6234" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,28cbb922-33cc-41d5-8c3c-ac08533b6234.aspx</comments>
      <category>tools</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=f742dcc0-d606-4900-ae98-0cc2cde31931</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,f742dcc0-d606-4900-ae98-0cc2cde31931.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,f742dcc0-d606-4900-ae98-0cc2cde31931.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=f742dcc0-d606-4900-ae98-0cc2cde31931</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Si tratta di verificare che il parametro <strong>userAccountControl</strong> abbia
il bit 2 valorizzato, caso in cui l'utente è disabilitato:
</p>
        <p>
          <strong>(userAccountControl:1.2.840.113556.1.4.803:=2)</strong>
        </p>
        <p>
oppure non valorizzato, nel qual caso l'utente è abilitato:
</p>
        <p>
          <strong>(!(userAccountControl:1.2.840.113556.1.4.803:=2))</strong>
        </p>
        <p>
          <a href="http://msdn.microsoft.com/en-us/library/aa746475.aspx">qui</a> si possono
trovare informazioni più dettagliate.
</p>
        <p>
Enjoy,
</p>
        <p>
LucaBC.
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=f742dcc0-d606-4900-ae98-0cc2cde31931" />
      </body>
      <title>Filtro ldap per trovare gli utenti disabilitati (e abilitati)</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,f742dcc0-d606-4900-ae98-0cc2cde31931.aspx</guid>
      <link>http://www.biader.it/2008/09/25/FiltroLdapPerTrovareGliUtentiDisabilitatiEAbilitati.aspx</link>
      <pubDate>Thu, 25 Sep 2008 16:28:42 GMT</pubDate>
      <description>&lt;p&gt;
Si tratta di verificare che il parametro &lt;strong&gt;userAccountControl&lt;/strong&gt; abbia
il bit 2 valorizzato, caso in cui l'utente è disabilitato:
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;(userAccountControl:1.2.840.113556.1.4.803:=2)&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
oppure non valorizzato, nel qual caso l'utente è abilitato:
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;(!(userAccountControl:1.2.840.113556.1.4.803:=2))&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://msdn.microsoft.com/en-us/library/aa746475.aspx"&gt;qui&lt;/a&gt;&amp;nbsp;si possono
trovare informazioni più dettagliate.
&lt;/p&gt;
&lt;p&gt;
Enjoy,
&lt;/p&gt;
&lt;p&gt;
LucaBC.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=f742dcc0-d606-4900-ae98-0cc2cde31931" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,f742dcc0-d606-4900-ae98-0cc2cde31931.aspx</comments>
      <category>Active Directory</category>
      <category>ldap</category>
      <category>Windows</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=1425c3db-8f2a-4ceb-8a52-aa9dc3651da9</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,1425c3db-8f2a-4ceb-8a52-aa9dc3651da9.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,1425c3db-8f2a-4ceb-8a52-aa9dc3651da9.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=1425c3db-8f2a-4ceb-8a52-aa9dc3651da9</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In alcuni casi è utili preparare un disco virtuale (.vhd) standard da cui derivare
diverse macchine virtuali, ciascuna con funzionalità e usi differenti, senza dovere,
per questo, ogni volta ripetere l'installazione del sistema operativo. Nessun problema
se tali macchine non sono mai utilizzate sulla stessa rete. Altrimenti, anche rinominando
una delle copie, la coincidenza del SID (<em>Security Identifier</em>) può determinare
malfunzionamenti (soprattutto in relazione con <em>Active Directory</em>). Per risolvere
l'inconveniente è stato creato il programma <a href="http://technet.microsoft.com/en-us/sysinternals/bb897418.aspx">NewSID</a> che
permette di assegnare un nuovo SID (casuale) e di rinominare la macchina per destinarla
ad altro uso. Molto veloce.
</p>
        <p>
Enjoy,
</p>
        <p>
Luc.
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=1425c3db-8f2a-4ceb-8a52-aa9dc3651da9" />
      </body>
      <title>Il problema del SID duplicato</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,1425c3db-8f2a-4ceb-8a52-aa9dc3651da9.aspx</guid>
      <link>http://www.biader.it/2008/09/22/IlProblemaDelSIDDuplicato.aspx</link>
      <pubDate>Mon, 22 Sep 2008 12:54:42 GMT</pubDate>
      <description>&lt;p&gt;
In alcuni casi è utili preparare un disco virtuale (.vhd) standard da cui derivare
diverse macchine virtuali, ciascuna con funzionalità e usi differenti, senza dovere,
per questo, ogni volta ripetere l'installazione del sistema operativo. Nessun problema
se tali macchine non sono mai utilizzate sulla stessa rete. Altrimenti, anche rinominando
una delle copie, la coincidenza del&amp;nbsp;SID (&lt;em&gt;Security Identifier&lt;/em&gt;) può determinare
malfunzionamenti (soprattutto in relazione con &lt;em&gt;Active Directory&lt;/em&gt;). Per risolvere
l'inconveniente è stato creato il programma &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb897418.aspx"&gt;NewSID&lt;/a&gt;&amp;nbsp;che
permette di assegnare un nuovo SID (casuale) e di rinominare la macchina per destinarla
ad altro uso. Molto veloce.
&lt;/p&gt;
&lt;p&gt;
Enjoy,
&lt;/p&gt;
&lt;p&gt;
Luc.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=1425c3db-8f2a-4ceb-8a52-aa9dc3651da9" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,1425c3db-8f2a-4ceb-8a52-aa9dc3651da9.aspx</comments>
      <category>Active Directory</category>
      <category>tools</category>
      <category>Virtual PC</category>
      <category>Virtualization</category>
      <category>Virtual Server</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=0aac76e7-17a6-415a-971b-24b4b6ca3347</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,0aac76e7-17a6-415a-971b-24b4b6ca3347.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,0aac76e7-17a6-415a-971b-24b4b6ca3347.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=0aac76e7-17a6-415a-971b-24b4b6ca3347</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Una pagina interessante che propone una serie di script per leggere, creare e modificare
le chiavi di registro:
</p>
        <p>
          <a href="http://www.activexperts.com/activmonitor/windowsmanagement/scripts/operatingsystem/registry/#CSDWORDV.htm">http://www.activexperts.com/activmonitor/windowsmanagement/scripts/operatingsystem/registry/#CSDWORDV.htm</a>
        </p>
        <p>
Ottimo per procedure da automatizzare al volo !
</p>
        <p>
          <em>Luc.</em>
        </p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=0aac76e7-17a6-415a-971b-24b4b6ca3347" />
      </body>
      <title>Scripts per la modifica delle chiavi di registro</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,0aac76e7-17a6-415a-971b-24b4b6ca3347.aspx</guid>
      <link>http://www.biader.it/2008/08/07/ScriptsPerLaModificaDelleChiaviDiRegistro.aspx</link>
      <pubDate>Thu, 07 Aug 2008 16:04:36 GMT</pubDate>
      <description>&lt;p&gt;
Una pagina interessante che propone una serie di script per leggere, creare e modificare
le chiavi di registro:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.activexperts.com/activmonitor/windowsmanagement/scripts/operatingsystem/registry/#CSDWORDV.htm"&gt;http://www.activexperts.com/activmonitor/windowsmanagement/scripts/operatingsystem/registry/#CSDWORDV.htm&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Ottimo per procedure da automatizzare al volo !
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Luc.&lt;/em&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=0aac76e7-17a6-415a-971b-24b4b6ca3347" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,0aac76e7-17a6-415a-971b-24b4b6ca3347.aspx</comments>
      <category>scripts</category>
      <category>Windows</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=4c698d21-3589-4ad4-b4de-cc57e93a8a31</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,4c698d21-3589-4ad4-b4de-cc57e93a8a31.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,4c698d21-3589-4ad4-b4de-cc57e93a8a31.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=4c698d21-3589-4ad4-b4de-cc57e93a8a31</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Software per l'analisi del comportamento dei performance counters. Sfrutta il ben
noto LogParser. Si trova al link:
</p>
        <p>
          <a href="http://www.codeplex.com/PAL">http://www.codeplex.com/PAL</a>
        </p>
        <p>
Una volta registrato un set di performance counter permette di confrontarli con scenari
tipici (i <em>Threshold files</em>), forniti per i principali ambienti server Microsoft.
E' anche possibile definire nuovi scenari. 
</p>
        <p>
Fornisce come output un report che evidenzia gli elementi che si trovano sotto
sforzo o in sofferenza.
</p>
        <p>
Strumento suggerito dai PFE (Premier Field Engineer) di Microsoft.
</p>
        <p>
          <em>Luc.</em>
        </p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=4c698d21-3589-4ad4-b4de-cc57e93a8a31" />
      </body>
      <title>PAL (Performance Analysis of Logs)</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,4c698d21-3589-4ad4-b4de-cc57e93a8a31.aspx</guid>
      <link>http://www.biader.it/2008/08/06/PALPerformanceAnalysisOfLogs.aspx</link>
      <pubDate>Wed, 06 Aug 2008 16:20:38 GMT</pubDate>
      <description>&lt;p&gt;
Software per l'analisi del comportamento dei performance counters. Sfrutta il ben
noto LogParser. Si trova al link:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.codeplex.com/PAL"&gt;http://www.codeplex.com/PAL&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Una volta registrato un set di performance counter permette di confrontarli con scenari
tipici (i &lt;em&gt;Threshold files&lt;/em&gt;), forniti per i principali ambienti server Microsoft.
E' anche possibile definire nuovi scenari. 
&lt;/p&gt;
&lt;p&gt;
Fornisce come output un report che evidenzia&amp;nbsp;gli elementi che si trovano sotto
sforzo o in&amp;nbsp;sofferenza.
&lt;/p&gt;
&lt;p&gt;
Strumento suggerito dai PFE (Premier Field Engineer) di Microsoft.
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Luc.&lt;/em&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=4c698d21-3589-4ad4-b4de-cc57e93a8a31" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,4c698d21-3589-4ad4-b4de-cc57e93a8a31.aspx</comments>
      <category>tools</category>
      <category>Windows</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=9f0b6139-8bff-4ea1-9fda-2e82367fb43c</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,9f0b6139-8bff-4ea1-9fda-2e82367fb43c.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,9f0b6139-8bff-4ea1-9fda-2e82367fb43c.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=9f0b6139-8bff-4ea1-9fda-2e82367fb43c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Dal sito <a href="http://vmtoolkit.com/">http://vmtoolkit.com/</a> si possono
scaricare due tools interessanti: Il primo, <strong>VMDK to VHD Converter</strong>,
permette di convertire dischi virtuali VMWare in equivalenti vhd (per virtual PC o
virtual Server), il secondo, <strong>VHD Resizer</strong>, permette di ridimensionare
dischi virtuali vhd (qualora la virtual machine sia cresciuta e non si voglia aggiungere
un disco in più).
</p>
        <p>
          <em>Luc.</em>
        </p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=9f0b6139-8bff-4ea1-9fda-2e82367fb43c" />
      </body>
      <title>Virtual PC tools</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,9f0b6139-8bff-4ea1-9fda-2e82367fb43c.aspx</guid>
      <link>http://www.biader.it/2008/08/06/VirtualPCTools.aspx</link>
      <pubDate>Wed, 06 Aug 2008 10:40:59 GMT</pubDate>
      <description>&lt;p&gt;
Dal sito &lt;a href="http://vmtoolkit.com/"&gt;http://vmtoolkit.com/&lt;/a&gt;&amp;nbsp;si possono
scaricare due tools interessanti: Il primo, &lt;strong&gt;VMDK to VHD Converter&lt;/strong&gt;,
permette di convertire dischi virtuali VMWare in equivalenti vhd (per virtual PC o
virtual Server), il secondo, &lt;strong&gt;VHD Resizer&lt;/strong&gt;,&amp;nbsp;permette di ridimensionare
dischi virtuali vhd (qualora la virtual machine sia cresciuta e non si voglia aggiungere
un disco in più).
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Luc.&lt;/em&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=9f0b6139-8bff-4ea1-9fda-2e82367fb43c" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,9f0b6139-8bff-4ea1-9fda-2e82367fb43c.aspx</comments>
      <category>tools</category>
      <category>Virtual PC</category>
      <category>Virtualization</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=1eadea49-8633-42f2-a6a9-c04fbb576e40</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,1eadea49-8633-42f2-a6a9-c04fbb576e40.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,1eadea49-8633-42f2-a6a9-c04fbb576e40.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=1eadea49-8633-42f2-a6a9-c04fbb576e40</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Interessante articolo che spiega come disabilitare il tracking di Biztalk ed utilizzare
BAM in sua vece:
</p>
        <p>
          <a href="http://blogical.se/blogs/mikael/archive/2008/05/22/how-to-replace-tracking-with-bam-in-biztalk.aspx">http://blogical.se/blogs/mikael/archive/2008/05/22/how-to-replace-tracking-with-bam-in-biztalk.aspx</a>
        </p>
        <p>
Utile a chi voglia implementare un sistema di analisi basato su <em>analysis services</em>.
</p>
        <p>
          <em>Luc.</em>
        </p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=1eadea49-8633-42f2-a6a9-c04fbb576e40" />
      </body>
      <title>Sostituire in Biztalk il tracking con BAM</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,1eadea49-8633-42f2-a6a9-c04fbb576e40.aspx</guid>
      <link>http://www.biader.it/2008/08/05/SostituireInBiztalkIlTrackingConBAM.aspx</link>
      <pubDate>Tue, 05 Aug 2008 14:35:15 GMT</pubDate>
      <description>&lt;p&gt;
Interessante articolo che spiega come disabilitare il tracking di Biztalk ed utilizzare
BAM in sua vece:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogical.se/blogs/mikael/archive/2008/05/22/how-to-replace-tracking-with-bam-in-biztalk.aspx"&gt;http://blogical.se/blogs/mikael/archive/2008/05/22/how-to-replace-tracking-with-bam-in-biztalk.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Utile a chi voglia implementare un sistema di analisi basato su &lt;em&gt;analysis services&lt;/em&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Luc.&lt;/em&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=1eadea49-8633-42f2-a6a9-c04fbb576e40" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,1eadea49-8633-42f2-a6a9-c04fbb576e40.aspx</comments>
      <category>.net</category>
      <category>SQL</category>
      <category>Biztalk</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=badd01c1-3858-4e4a-b2ee-005c2852e1e6</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,badd01c1-3858-4e4a-b2ee-005c2852e1e6.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,badd01c1-3858-4e4a-b2ee-005c2852e1e6.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=badd01c1-3858-4e4a-b2ee-005c2852e1e6</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Link frivolo:<br /><br /><a href="http://www.minimise-me.com/">http://www.minimise-me.com/</a><br /><br /><br />
per creare emoticon personalizzate ed esprimersi meglio sul messenger.<br /><br />
;)<br /><br /><i>Luc.</i><br /><p></p><img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=badd01c1-3858-4e4a-b2ee-005c2852e1e6" /></body>
      <title>emoticon personalizzate</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,badd01c1-3858-4e4a-b2ee-005c2852e1e6.aspx</guid>
      <link>http://www.biader.it/2008/07/28/emoticonPersonalizzate.aspx</link>
      <pubDate>Mon, 28 Jul 2008 08:28:06 GMT</pubDate>
      <description>Link frivolo:&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.minimise-me.com/"&gt;http://www.minimise-me.com/&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
per creare emoticon personalizzate ed esprimersi meglio sul messenger.&lt;br&gt;
&lt;br&gt;
;)&lt;br&gt;
&lt;br&gt;
&lt;i&gt;Luc.&lt;/i&gt;
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=badd01c1-3858-4e4a-b2ee-005c2852e1e6" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,badd01c1-3858-4e4a-b2ee-005c2852e1e6.aspx</comments>
      <category>OT</category>
      <category>tools</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=384675e4-85ba-44e2-bdee-59f6886b587f</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,384675e4-85ba-44e2-bdee-59f6886b587f.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,384675e4-85ba-44e2-bdee-59f6886b587f.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=384675e4-85ba-44e2-bdee-59f6886b587f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Può essere utile poter montare da windows (vista/xp) files .vhd (dischi virtuali creati
da Virtual PC o Virtual Server) con installato un sistema operativo con filesystem
ext2/ext3 (linux). Per farlo sono necessari almeno due programmi:
</p>
        <ul>
          <li>
            <strong>vhdmount</strong>, per montare il disco virtuale; 
</li>
          <li>
            <strong>ext2fsd</strong> (o equivalente), per montare un disco con filesystem non
microsoft.</li>
        </ul>
        <p>
Il primo programma appartiene al setup di Virtual Server 2005 R2 sp1. Una volta scaricato,
scegliere la modalità di installazione <em>personalizzata</em> ed installare il componente <em>vhdmount</em>.
Al termine dell'installazione aggiungere la cartella di installazione del programma
al path di sistema.
</p>
        <p>
Scaricare poi dall'url <a href="http://ext2fsd.sourceforge.net/">http://ext2fsd.sourceforge.net/</a> il
programma ext2fsd ed installarlo. Una volta terminata l'installazione selezionare
il file vhd da montare ed eseguire lo script:
</p>
        <p>
   vhdmount /m &lt;nome_file_vhd&gt;
</p>
        <p>
che monta il disco virtuale. A questo punto il disco sarà visibile nella console <em>Ext2
Volume Manager, </em>da cui si può agganciare al filesystem di windows effettuando
l'operazione di <em>Add Drive Letter</em>:
</p>
        <p align="center">
          <img src="http://www.biader.it/public/contenuti/binari/screen.png" border="0" />
        </p>
        <p align="left">
Al termine dell'operazione sarà possibile accedere al disco linux come se fosse un
normale disco.
</p>
        <p align="left">
          <em>Luc.</em>
        </p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=384675e4-85ba-44e2-bdee-59f6886b587f" />
      </body>
      <title>Montare file .vhd con filesystem ext2/ext3 (linux)</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,384675e4-85ba-44e2-bdee-59f6886b587f.aspx</guid>
      <link>http://www.biader.it/2008/07/23/MontareFileVhdConFilesystemExt2ext3Linux.aspx</link>
      <pubDate>Wed, 23 Jul 2008 09:58:48 GMT</pubDate>
      <description>&lt;p&gt;
Può essere utile poter montare da windows (vista/xp) files .vhd (dischi virtuali creati
da Virtual PC o Virtual Server) con installato un sistema operativo con filesystem
ext2/ext3 (linux). Per farlo sono necessari almeno due programmi:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;vhdmount&lt;/strong&gt;, per montare il disco virtuale; 
&lt;li&gt;
&lt;strong&gt;ext2fsd&lt;/strong&gt; (o equivalente), per montare un disco con filesystem non
microsoft.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Il primo programma appartiene al setup di Virtual Server 2005 R2 sp1. Una volta scaricato,
scegliere la modalità di installazione &lt;em&gt;personalizzata&lt;/em&gt; ed installare il componente &lt;em&gt;vhdmount&lt;/em&gt;.
Al termine dell'installazione aggiungere la cartella di installazione del programma
al path di sistema.
&lt;/p&gt;
&lt;p&gt;
Scaricare poi dall'url &lt;a href="http://ext2fsd.sourceforge.net/"&gt;http://ext2fsd.sourceforge.net/&lt;/a&gt;&amp;nbsp;il
programma ext2fsd ed installarlo. Una volta terminata l'installazione selezionare
il file vhd da montare ed eseguire lo script:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;vhdmount /m &amp;lt;nome_file_vhd&amp;gt;
&lt;/p&gt;
&lt;p&gt;
che monta il disco virtuale. A questo punto il disco sarà visibile nella console &lt;em&gt;Ext2
Volume Manager, &lt;/em&gt;da cui si può agganciare al filesystem di windows effettuando
l'operazione di &lt;em&gt;Add Drive Letter&lt;/em&gt;:
&lt;/p&gt;
&lt;p align=center&gt;
&lt;img src="http://www.biader.it/public/contenuti/binari/screen.png" border=0&gt;
&lt;/p&gt;
&lt;p align=left&gt;
Al termine dell'operazione sarà possibile accedere al disco linux come se fosse un
normale disco.
&lt;/p&gt;
&lt;p align=left&gt;
&lt;em&gt;Luc.&lt;/em&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=384675e4-85ba-44e2-bdee-59f6886b587f" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,384675e4-85ba-44e2-bdee-59f6886b587f.aspx</comments>
      <category>tools</category>
      <category>linux</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=e2eb2ea6-894b-43d9-9228-e101da846a3c</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,e2eb2ea6-894b-43d9-9228-e101da846a3c.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,e2eb2ea6-894b-43d9-9228-e101da846a3c.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=e2eb2ea6-894b-43d9-9228-e101da846a3c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Mentre combattevo con application pool
di IIS, account Local System et cetera Andrea mi mette a parte di una interessante
serie di chiavi di registro, raccolte nel percorso:<br /><br />
           HKEY_LOCAL_MACHINE -&gt;
System -&gt; CurrentControlSet -&gt; Services -&gt; EventLog<br /><br />
sono tutti gli event sources definiti sulla macchina. Si possono assegnare dei premessi
alle chiavi in modo da non richiedere appartenenza al gruppo amministratori per la
modifica dei log e, di conseguenza, evitare di assegnare, anche se solo per la generazione
dell'eventSource, account <i>Local System</i> all'application pool.<br /><i>Luc.</i><br /><p></p><img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=e2eb2ea6-894b-43d9-9228-e101da846a3c" /></body>
      <title>Chiavi di registro per il log degli eventi ( EventLog ) di windows</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,e2eb2ea6-894b-43d9-9228-e101da846a3c.aspx</guid>
      <link>http://www.biader.it/2008/07/17/ChiaviDiRegistroPerIlLogDegliEventiEventLogDiWindows.aspx</link>
      <pubDate>Thu, 17 Jul 2008 09:51:04 GMT</pubDate>
      <description>Mentre combattevo con application pool di IIS, account Local System et cetera Andrea mi mette a parte di una interessante serie di chiavi di registro, raccolte nel percorso:&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HKEY_LOCAL_MACHINE -&amp;gt;
System -&amp;gt; CurrentControlSet -&amp;gt; Services -&amp;gt; EventLog&lt;br&gt;
&lt;br&gt;
sono tutti gli event sources definiti sulla macchina. Si possono assegnare dei premessi
alle chiavi in modo da non richiedere appartenenza al gruppo amministratori per la
modifica dei log e, di conseguenza, evitare di assegnare, anche se solo per la generazione
dell'eventSource, account &lt;i&gt;Local System&lt;/i&gt; all'application pool.&lt;br&gt;
&lt;i&gt;Luc.&lt;/i&gt;
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=e2eb2ea6-894b-43d9-9228-e101da846a3c" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,e2eb2ea6-894b-43d9-9228-e101da846a3c.aspx</comments>
      <category>.net</category>
      <category>ASP.net</category>
      <category>C#</category>
      <category>VB</category>
      <category>web</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=67a9da1d-8563-4b76-84a4-19a2e6af0e9e</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,67a9da1d-8563-4b76-84a4-19a2e6af0e9e.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,67a9da1d-8563-4b76-84a4-19a2e6af0e9e.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=67a9da1d-8563-4b76-84a4-19a2e6af0e9e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">A chi si diletta con sistemi open-source
sarà capitato che, cercando di installare alcune nuove distro su Virtual PC, questo
irrimediabilmente sia andato in crash. Personalmente avevo ignorato il problema indirizzandomi
verso altre distribuzioni. Poi me ne capita una particolarmente interessante ( openSuse
11 con KDE 4 che è una figata, mono, monodevelop, ... ) così ho fatto qualche ricerca
e scoperto che questo crash è evitabile utilizzando le opzioni:<br /><br /><code>noreplace-paravirt i8042.noloop clock=pit<br /><br /></code>enjoy,<br /><i>Luc.</i><br /><p></p><img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=67a9da1d-8563-4b76-84a4-19a2e6af0e9e" /></body>
      <title>linux su virtual PC</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,67a9da1d-8563-4b76-84a4-19a2e6af0e9e.aspx</guid>
      <link>http://www.biader.it/2008/07/17/linuxSuVirtualPC.aspx</link>
      <pubDate>Thu, 17 Jul 2008 06:30:35 GMT</pubDate>
      <description>A chi si diletta con sistemi open-source sarà capitato che, cercando di installare alcune nuove distro su Virtual PC, questo irrimediabilmente sia andato in crash. Personalmente avevo ignorato il problema indirizzandomi verso altre distribuzioni. Poi me ne capita una particolarmente interessante ( openSuse 11 con KDE 4 che è una figata, mono, monodevelop, ... ) così ho fatto qualche ricerca e scoperto che questo crash è evitabile utilizzando le opzioni:&lt;br&gt;
&lt;br&gt;
&lt;code&gt;noreplace-paravirt i8042.noloop clock=pit&lt;br&gt;
&lt;br&gt;
&lt;/code&gt;enjoy,&lt;br&gt;
&lt;i&gt;Luc.&lt;/i&gt;
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=67a9da1d-8563-4b76-84a4-19a2e6af0e9e" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,67a9da1d-8563-4b76-84a4-19a2e6af0e9e.aspx</comments>
      <category>OT</category>
      <category>tools</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=645215fb-4af3-4179-ae50-22d14ad1418a</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,645215fb-4af3-4179-ae50-22d14ad1418a.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,645215fb-4af3-4179-ae50-22d14ad1418a.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=645215fb-4af3-4179-ae50-22d14ad1418a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Utile soprattutto per quanti usino windows server 2008 come workstation. In chiusura
viene visualizzata una finestra che permette di raccogliere informazioni sulle motivazioni
di ogni shutdown, utile soltanto in caso di uso del sistema come server
h24.
</p>
        <p>
Per disabilitarlo:
</p>
        <ol>
          <li>
eseguire il comando <strong>gpedit.msc</strong></li>
          <li>
selezionare il nodo <em>Computer Configuration -&gt; Administrative Templates -&gt;
System</em></li>
          <li>
selezionare la policy <em>Display Shutdown Event Tracker</em></li>
          <li>
selezionare <em>Disabled</em> e premere <em>OK</em></li>
        </ol>
        <p>
          <em>Luc.</em>
        </p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=645215fb-4af3-4179-ae50-22d14ad1418a" />
      </body>
      <title>Disabilitare lo shutdown event tracker su windows server 2008</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,645215fb-4af3-4179-ae50-22d14ad1418a.aspx</guid>
      <link>http://www.biader.it/2008/07/15/DisabilitareLoShutdownEventTrackerSuWindowsServer2008.aspx</link>
      <pubDate>Tue, 15 Jul 2008 10:28:55 GMT</pubDate>
      <description>&lt;p&gt;
Utile soprattutto per quanti usino windows server 2008 come workstation. In chiusura
viene visualizzata una finestra che permette di raccogliere informazioni sulle motivazioni
di ogni shutdown,&amp;nbsp;utile soltanto&amp;nbsp;in caso di uso del sistema come server
h24.
&lt;/p&gt;
&lt;p&gt;
Per disabilitarlo:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
eseguire il comando &lt;strong&gt;gpedit.msc&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
selezionare il nodo &lt;em&gt;Computer Configuration -&amp;gt; Administrative Templates -&amp;gt;
System&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
selezionare&amp;nbsp;la policy&amp;nbsp;&lt;em&gt;Display Shutdown Event Tracker&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
selezionare &lt;em&gt;Disabled&lt;/em&gt; e premere &lt;em&gt;OK&lt;/em&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;em&gt;Luc.&lt;/em&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=645215fb-4af3-4179-ae50-22d14ad1418a" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,645215fb-4af3-4179-ae50-22d14ad1418a.aspx</comments>
      <category>Active Directory</category>
      <category>networks</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=e69c86d6-b8e3-4d45-83ba-766067a30cc4</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,e69c86d6-b8e3-4d45-83ba-766067a30cc4.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,e69c86d6-b8e3-4d45-83ba-766067a30cc4.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=e69c86d6-b8e3-4d45-83ba-766067a30cc4</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
E tu quanto partecipi? A questo indirizzo: 
</p>
        <p>
          <a href="http://blogs.forrester.com/charleneli/2007/04/forresters_new_.html">http://blogs.forrester.com/charleneli/2007/04/forresters_new_.html</a>
        </p>
        <p>
si può trovare una classificazione dei diversi gradi di "operosità" sul web. Si va
dai <strong>Creatori</strong>, che pubblicano pagine web o video su siti come
Youtube e magari mantengono un blog, ai <strong>Critici</strong>, che commentano
i blog e postano sui forum, ai <strong>Collezionisti</strong>, che si servono dei
feed RSS e taggano le pagine più interessanti, ai <strong>Partecipanti</strong>, che
usano siti di social networking, agli <strong>Spettatori</strong>, che leggono i blog,
guardano video e ascoltano i podcast, per arrivare agli <strong>Inattivi</strong>.
</p>
        <p>
          <img src="http://www.biader.it/public/contenuti/binari/Partecipazione.gif" border="0" />
        </p>
        <p>
Luc.
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=e69c86d6-b8e3-4d45-83ba-766067a30cc4" />
      </body>
      <title>Forrester e la scala di partecipazione</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,e69c86d6-b8e3-4d45-83ba-766067a30cc4.aspx</guid>
      <link>http://www.biader.it/2008/07/01/ForresterELaScalaDiPartecipazione.aspx</link>
      <pubDate>Tue, 01 Jul 2008 09:10:44 GMT</pubDate>
      <description>&lt;p&gt;
E tu quanto partecipi? A questo&amp;nbsp;indirizzo: 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.forrester.com/charleneli/2007/04/forresters_new_.html"&gt;http://blogs.forrester.com/charleneli/2007/04/forresters_new_.html&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
si può trovare una classificazione dei diversi gradi di "operosità" sul web. Si va
dai &lt;strong&gt;Creatori&lt;/strong&gt;, che pubblicano pagine web o&amp;nbsp;video su siti come
Youtube e magari&amp;nbsp;mantengono un blog, ai &lt;strong&gt;Critici&lt;/strong&gt;, che commentano
i blog e postano sui forum, ai &lt;strong&gt;Collezionisti&lt;/strong&gt;, che si servono dei
feed RSS e taggano le pagine più interessanti, ai &lt;strong&gt;Partecipanti&lt;/strong&gt;, che
usano siti di social networking, agli &lt;strong&gt;Spettatori&lt;/strong&gt;, che leggono i blog,
guardano video e ascoltano i podcast, per arrivare agli &lt;strong&gt;Inattivi&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.biader.it/public/contenuti/binari/Partecipazione.gif" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
Luc.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=e69c86d6-b8e3-4d45-83ba-766067a30cc4" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,e69c86d6-b8e3-4d45-83ba-766067a30cc4.aspx</comments>
      <category>blogs</category>
      <category>OT</category>
      <category>web</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=5b2b510f-c8b8-4076-bb71-3481d3b64f58</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,5b2b510f-c8b8-4076-bb71-3481d3b64f58.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,5b2b510f-c8b8-4076-bb71-3481d3b64f58.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=5b2b510f-c8b8-4076-bb71-3481d3b64f58</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In alcuni casi può capitare che sia necessario trovare un'espressione regolare <strong>esclusiva</strong>,
che sia verificata cioè quando una stringa <strong>non corrisponde a</strong> oppure <strong>non
contiene</strong> un pattern specificato. Chiariamo con un esempio: supponiamo si
voglia controllare che una determinata stringa <strong>non contenga</strong> il nome <em>someName</em>;
in tal caso l'espressione regolare sarà:
</p>
        <p>
(?!someName).*
</p>
        <p>
se invece si vuol controllare che una determinata stringa non sia esattamente uguale
al nome <em>someName</em> si dovrà utilizzare:
</p>
        <p>
^(?!someName).*$
</p>
        <p>
Un programmino per effettuare dei test sulle espressioni regolari si può scaricare
da <a href="http://www.biader.it/public/contenuti/binari/RegexSample.zip">qui</a></p>
        <p>
Luc.
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=5b2b510f-c8b8-4076-bb71-3481d3b64f58" />
      </body>
      <title>Espressioni regolari</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,5b2b510f-c8b8-4076-bb71-3481d3b64f58.aspx</guid>
      <link>http://www.biader.it/2008/06/24/EspressioniRegolari.aspx</link>
      <pubDate>Tue, 24 Jun 2008 16:07:47 GMT</pubDate>
      <description>&lt;p&gt;
In alcuni casi può capitare che sia necessario trovare un'espressione regolare &lt;strong&gt;esclusiva&lt;/strong&gt;,
che sia verificata cioè quando una stringa &lt;strong&gt;non corrisponde a&lt;/strong&gt;&amp;nbsp;oppure &lt;strong&gt;non
contiene&lt;/strong&gt; un pattern specificato. Chiariamo con un esempio: supponiamo si
voglia controllare che una determinata stringa &lt;strong&gt;non contenga&lt;/strong&gt; il nome &lt;em&gt;someName&lt;/em&gt;;
in tal caso l'espressione regolare sarà:
&lt;/p&gt;
&lt;p&gt;
(?!someName).*
&lt;/p&gt;
&lt;p&gt;
se invece si vuol controllare che una determinata stringa non sia esattamente uguale
al nome&amp;nbsp;&lt;em&gt;someName&lt;/em&gt; si dovrà utilizzare:
&lt;/p&gt;
&lt;p&gt;
^(?!someName).*$
&lt;/p&gt;
&lt;p&gt;
Un programmino per effettuare dei test sulle espressioni regolari si può scaricare
da &lt;a href="http://www.biader.it/public/contenuti/binari/RegexSample.zip"&gt;qui&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Luc.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=5b2b510f-c8b8-4076-bb71-3481d3b64f58" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,5b2b510f-c8b8-4076-bb71-3481d3b64f58.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=9ae58b07-65ca-45a7-9a1f-c0072bdf2f83</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,9ae58b07-65ca-45a7-9a1f-c0072bdf2f83.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,9ae58b07-65ca-45a7-9a1f-c0072bdf2f83.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=9ae58b07-65ca-45a7-9a1f-c0072bdf2f83</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Prezioso trick su come trasformare un dc
windows in time server. Per prima cosa creare una nuova policy.<br />
Aprire poi il <b>Group Policy Editor</b> (gpedit.msc) e cercare il nodo:<br /><em>Computer Configuration -&gt; Administrative Templates -&gt; System -&gt; Windows
Time Service -&gt; Time Providers<br /></em>abilitare quindi le tre voci:<br /><ul><li>
Enable Windows NTP Client</li><li>
Configure Windows NTP Client</li><li>
Enable Windows NTP Server</li></ul>
per ottenere il risultato. Come Client configurare il time server di  riferimento.
Eventualmente creare una nuova policy per i client.<br />
Una spiegazione più dettagliata può essere trovata <a href="http://www.windowserver.it/Articoli/Soluzioni/SistemiOperativi/WindowsServer2003/ConfigurareilNTPviaGPO/tabid/106/Default.aspx">qui</a>.<br />
Altre informazioni sul servizio ntp su windows 2003 si possono trovare <a href="http://support.microsoft.com/kb/216734/en-us">qui</a>.<br /><br />
Luc.<br /><img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=9ae58b07-65ca-45a7-9a1f-c0072bdf2f83" /></body>
      <title>Impostare windows 2003 come ntp server</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,9ae58b07-65ca-45a7-9a1f-c0072bdf2f83.aspx</guid>
      <link>http://www.biader.it/2008/06/20/ImpostareWindows2003ComeNtpServer.aspx</link>
      <pubDate>Fri, 20 Jun 2008 13:50:19 GMT</pubDate>
      <description>Prezioso trick su come trasformare un dc windows in time server. Per prima cosa creare una nuova policy.&lt;br&gt;
Aprire poi il &lt;b&gt;Group Policy Editor&lt;/b&gt; (gpedit.msc) e cercare il nodo:&lt;br&gt;
&lt;em&gt;Computer Configuration -&amp;gt; Administrative Templates -&amp;gt; System -&amp;gt; Windows
Time Service -&amp;gt; Time Providers&lt;br&gt;
&lt;/em&gt;abilitare quindi le tre voci:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
Enable Windows NTP Client&lt;/li&gt;
&lt;li&gt;
Configure Windows NTP Client&lt;/li&gt;
&lt;li&gt;
Enable Windows NTP Server&lt;/li&gt;
&lt;/ul&gt;
per ottenere il risultato. Come Client configurare il time server di&amp;nbsp; riferimento.
Eventualmente creare una nuova policy per i client.&lt;br&gt;
Una spiegazione più dettagliata può essere trovata &lt;a href="http://www.windowserver.it/Articoli/Soluzioni/SistemiOperativi/WindowsServer2003/ConfigurareilNTPviaGPO/tabid/106/Default.aspx"&gt;qui&lt;/a&gt;.&lt;br&gt;
Altre informazioni sul servizio ntp su windows 2003 si possono trovare &lt;a href="http://support.microsoft.com/kb/216734/en-us"&gt;qui&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
Luc.&lt;br&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=9ae58b07-65ca-45a7-9a1f-c0072bdf2f83" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,9ae58b07-65ca-45a7-9a1f-c0072bdf2f83.aspx</comments>
      <category>Active Directory</category>
      <category>networks</category>
      <category>tools</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=717e9d57-91b7-4285-9797-85210f1a2e45</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,717e9d57-91b7-4285-9797-85210f1a2e45.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,717e9d57-91b7-4285-9797-85210f1a2e45.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=717e9d57-91b7-4285-9797-85210f1a2e45</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Un ottimo dizionario on-line si può trovare all'indirizzo:
</p>
        <p>
          <a href="http://www.dicts.info/">http://www.dicts.info/</a>
        </p>
        <p>
in alternativa al seppur buon <strong>google translate</strong>:
</p>
        <p>
          <a href="http://translate.google.it/translate_t">http://translate.google.it/translate_t</a>
        </p>
        <p>
che permette anche la traduzione di interi siti.
</p>
        <p>
Altro siti che forniscono il servizio sono:
</p>
        <p>
          <a href="http://babelfish.yahoo.com/">http://babelfish.yahoo.com/</a>
        </p>
        <p>
o:
</p>
        <p>
          <a href="http://www.windowslivetranslator.com/">http://www.windowslivetranslator.com/</a>
        </p>
        <p>
mentre a questo indirizzo:
</p>
        <p>
          <a href="http://www.babylon.com/">http://www.babylon.com/</a>
        </p>
        <p>
si può scaricare un dizionario client shareware.
</p>
        <p>
Luc.
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=717e9d57-91b7-4285-9797-85210f1a2e45" />
      </body>
      <title>Dizionari online</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,717e9d57-91b7-4285-9797-85210f1a2e45.aspx</guid>
      <link>http://www.biader.it/2008/05/28/DizionariOnline.aspx</link>
      <pubDate>Wed, 28 May 2008 14:41:15 GMT</pubDate>
      <description>&lt;p&gt;
Un ottimo dizionario on-line si può trovare all'indirizzo:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.dicts.info/"&gt;http://www.dicts.info/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
in alternativa al seppur buon &lt;strong&gt;google translate&lt;/strong&gt;:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://translate.google.it/translate_t"&gt;http://translate.google.it/translate_t&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
che permette anche la traduzione di interi siti.
&lt;/p&gt;
&lt;p&gt;
Altro siti che forniscono il servizio sono:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://babelfish.yahoo.com/"&gt;http://babelfish.yahoo.com/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
o:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.windowslivetranslator.com/"&gt;http://www.windowslivetranslator.com/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
mentre a questo indirizzo:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.babylon.com/"&gt;http://www.babylon.com/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
si può scaricare un dizionario client shareware.
&lt;/p&gt;
&lt;p&gt;
Luc.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=717e9d57-91b7-4285-9797-85210f1a2e45" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,717e9d57-91b7-4285-9797-85210f1a2e45.aspx</comments>
      <category>OT</category>
      <category>tools</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=d8287010-960c-4413-85ee-5f360da2b2e1</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,d8287010-960c-4413-85ee-5f360da2b2e1.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,d8287010-960c-4413-85ee-5f360da2b2e1.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=d8287010-960c-4413-85ee-5f360da2b2e1</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
A questo indirizzo:
</p>
        <p>
          <a href="http://www.codeproject.com/KB/cs/LogParser_DataProvider.aspx">http://www.codeproject.com/KB/cs/LogParser_DataProvider.aspx</a>
        </p>
        <p>
si può trovare un data provider custom per il logParser. Con esso si possono effettuare
le query con un formato simile a quello delle normali query SQL, sfruttando le
potenzialità di ADO.NET.
</p>
        <p>
Luc.
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=d8287010-960c-4413-85ee-5f360da2b2e1" />
      </body>
      <title>DataProvider per LogParser</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,d8287010-960c-4413-85ee-5f360da2b2e1.aspx</guid>
      <link>http://www.biader.it/2008/05/26/DataProviderPerLogParser.aspx</link>
      <pubDate>Mon, 26 May 2008 15:05:52 GMT</pubDate>
      <description>&lt;p&gt;
A questo indirizzo:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.codeproject.com/KB/cs/LogParser_DataProvider.aspx"&gt;http://www.codeproject.com/KB/cs/LogParser_DataProvider.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
si può trovare un data provider custom per il logParser. Con esso si possono effettuare
le query con un formato simile a quello delle normali query&amp;nbsp;SQL, sfruttando le
potenzialità di ADO.NET.
&lt;/p&gt;
&lt;p&gt;
Luc.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=d8287010-960c-4413-85ee-5f360da2b2e1" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,d8287010-960c-4413-85ee-5f360da2b2e1.aspx</comments>
      <category>.net</category>
      <category>C#</category>
      <category>scripts</category>
      <category>tools</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=2bde102f-9af1-43f2-aee4-47dcfe07e6b3</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,2bde102f-9af1-43f2-aee4-47dcfe07e6b3.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,2bde102f-9af1-43f2-aee4-47dcfe07e6b3.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=2bde102f-9af1-43f2-aee4-47dcfe07e6b3</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Al link di seguito:
</p>
        <p>
          <a href="http://blogs.dotnethell.it/odoardo/Cosa-sono-i-file-LMHOSTS-e-HOSTS__4087.aspx">lmhosts
e hosts</a>
        </p>
        <p>
un articolo che spiega, in poche righe, a cosa servono i due files e come debbono
esservi inserite delle voci per definire delle associazioni fra ip e nomi (lmhosts
per nomi netBios, hosts per nomi dns).
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=2bde102f-9af1-43f2-aee4-47dcfe07e6b3" />
      </body>
      <title>LMHosts e Hosts</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,2bde102f-9af1-43f2-aee4-47dcfe07e6b3.aspx</guid>
      <link>http://www.biader.it/2008/05/26/LMHostsEHosts.aspx</link>
      <pubDate>Mon, 26 May 2008 14:20:23 GMT</pubDate>
      <description>&lt;p&gt;
Al link di seguito:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.dotnethell.it/odoardo/Cosa-sono-i-file-LMHOSTS-e-HOSTS__4087.aspx"&gt;lmhosts
e hosts&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
un articolo che spiega, in poche righe, a cosa servono i due files e come debbono
esservi inserite delle voci per definire delle associazioni fra ip e nomi (lmhosts
per nomi netBios, hosts per nomi dns).
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=2bde102f-9af1-43f2-aee4-47dcfe07e6b3" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,2bde102f-9af1-43f2-aee4-47dcfe07e6b3.aspx</comments>
      <category>scripts</category>
      <category>tools</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=93dde43a-44a9-4ebc-bb7d-6160678e5541</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,93dde43a-44a9-4ebc-bb7d-6160678e5541.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,93dde43a-44a9-4ebc-bb7d-6160678e5541.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=93dde43a-44a9-4ebc-bb7d-6160678e5541</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
L'infrastruttura WMI (Windows Management Instrumentation) permette, tra le altre cose,
una volta definito lo schema di una classe, di instanziarne a runtime delle istanze.
Tale operazione può essere effettuata tramite script wsh oppure sfruttando le classi
presenti nei namespace <em>System.Management</em> e <em>System.Management.Instrumentation</em>.
</p>
        <p>
Anzitutto è necessario istanziare un oggetto della classe <em>ManagementPath</em>,
che identifica la classe da considerare:
</p>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">            ManagementPath
pathObj <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> ManagementPath();
                         pathObj.ClassName <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"Win32_IP4RouteTable"</span>;
            pathObj.NamespacePath <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"root\\CimV2"</span>;</span>
        </pre>
        <p>
In questo caso si tratta di una route ip.
</p>
        <p>
Deve essere poi creata l'istanza di classe:
</p>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">            ManagementScope
mgmtScope <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> ManagementScope(pathObj);
            ManagementClass
routeTableClass <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> ManagementClass(mgmtScope,
pathObj, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">null</span>);
            ManagementObject
routeTableObj <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> routeTableClass.CreateInstance();</span>
        </pre>
        <p>
Sulla quale viene effettuata l'impostazione delle proprietà:
</p>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">            routeTableObj.SetPropertyValue(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"&lt;prop_name&gt;"</span>,
&lt;prop_value&gt;);             ...</span>
        </pre>
        <p>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <font face="Verdana" color="#003300" size="2">Ed
infine l'istanza viene salvata:</font>
          </span>
        </p>
        <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
          <pre>
            <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">            PutOptions
po <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> PutOptions();
            po.Type <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> PutType.UpdateOrCreate;
            routeTableObj.Put(po); </span>
          </pre>
          <p>
            <font face="Verdana" size="2">Luc.</font>
          </p>
        </span>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=93dde43a-44a9-4ebc-bb7d-6160678e5541" />
      </body>
      <title>WMI e creazione di istanze di classe</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,93dde43a-44a9-4ebc-bb7d-6160678e5541.aspx</guid>
      <link>http://www.biader.it/2008/05/26/WMIECreazioneDiIstanzeDiClasse.aspx</link>
      <pubDate>Mon, 26 May 2008 13:49:42 GMT</pubDate>
      <description>&lt;p&gt;
L'infrastruttura WMI (Windows Management Instrumentation) permette, tra le altre cose,
una volta definito lo schema di una classe, di instanziarne a runtime delle istanze.
Tale operazione può essere effettuata tramite script wsh oppure sfruttando le classi
presenti nei namespace &lt;em&gt;System.Management&lt;/em&gt; e &lt;em&gt;System.Management.Instrumentation&lt;/em&gt;.
&lt;/p&gt;
&lt;p&gt;
Anzitutto è necessario istanziare un oggetto della classe &lt;em&gt;ManagementPath&lt;/em&gt;,
che identifica la classe da considerare:
&lt;/p&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ManagementPath
pathObj &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; ManagementPath();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pathObj.ClassName &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"Win32_IP4RouteTable"&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pathObj.NamespacePath &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"root\\CimV2"&lt;/span&gt;;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
In questo caso si tratta di una route ip.
&lt;/p&gt;
&lt;p&gt;
Deve essere poi creata l'istanza di classe:
&lt;/p&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ManagementScope
mgmtScope &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; ManagementScope(pathObj);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ManagementClass
routeTableClass &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; ManagementClass(mgmtScope,
pathObj, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;null&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ManagementObject
routeTableObj &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; routeTableClass.CreateInstance();&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
Sulla quale viene effettuata l'impostazione delle proprietà:
&lt;/p&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;routeTableObj.SetPropertyValue(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"&amp;lt;prop_name&amp;gt;"&lt;/span&gt;,
&amp;lt;prop_value&amp;gt;); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font face=Verdana color=#003300 size=2&gt;Ed
infine l'istanza viene salvata:&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PutOptions
po &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; PutOptions();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;po.Type &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; PutType.UpdateOrCreate;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;routeTableObj.Put(po); &lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
&lt;font face=Verdana size=2&gt;Luc.&lt;/font&gt;
&lt;/span&gt;&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=93dde43a-44a9-4ebc-bb7d-6160678e5541" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,93dde43a-44a9-4ebc-bb7d-6160678e5541.aspx</comments>
      <category>.net</category>
      <category>C#</category>
      <category>networks</category>
      <category>scripts</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=73d82a68-f36a-47a3-8065-aa06195204ac</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,73d82a68-f36a-47a3-8065-aa06195204ac.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,73d82a68-f36a-47a3-8065-aa06195204ac.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=73d82a68-f36a-47a3-8065-aa06195204ac</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Volete conoscere il nome ancestrale del vostro blog ? A questo indirizzo:
</p>
        <p>
          <a href="http://www.box404.net/nick/">http://www.box404.net/nick/</a>
        </p>
        <p>
trovate un programma che sfrutta l'algoritmo dell'emerito prof. Pinetti. Enjoy.
</p>
        <p>
Luc.
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=73d82a68-f36a-47a3-8065-aa06195204ac" />
      </body>
      <title>Nome ancestrale del blog</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,73d82a68-f36a-47a3-8065-aa06195204ac.aspx</guid>
      <link>http://www.biader.it/2008/05/26/NomeAncestraleDelBlog.aspx</link>
      <pubDate>Mon, 26 May 2008 08:17:37 GMT</pubDate>
      <description>&lt;p&gt;
Volete conoscere il nome ancestrale del vostro blog ? A questo indirizzo:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.box404.net/nick/"&gt;http://www.box404.net/nick/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
trovate un programma che sfrutta l'algoritmo dell'emerito prof. Pinetti. Enjoy.
&lt;/p&gt;
&lt;p&gt;
Luc.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=73d82a68-f36a-47a3-8065-aa06195204ac" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,73d82a68-f36a-47a3-8065-aa06195204ac.aspx</comments>
      <category>OT</category>
      <category>blogs</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=3970b641-4c12-4030-ba68-d9147d9f443a</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,3970b641-4c12-4030-ba68-d9147d9f443a.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,3970b641-4c12-4030-ba68-d9147d9f443a.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=3970b641-4c12-4030-ba68-d9147d9f443a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
A volte può essere utile cambiare l'account con cui si esegue una porzione di codice,
p.es. per ottenere dei livelli di trust più elevati. Si possono:
</p>
        <ul>
          <li>
Utilizzare <em>credenziali di rete </em>differenti; 
</li>
          <li>
Acquisire le credenziali di <em>account differenti.</em></li>
        </ul>
        <p>
Il primo caso è più comune in applicazioni che fanno uso di servizi sulla rete (accedono
a pagine web o servizi web) ma che eseguono la maggior parte delle operazioni in locale.
In tal caso una <em>impersonation</em> completa potrebbe essere inopportuna (l'utente
di rete potrebbe non possedere permessi importanti in locale, come p.es. l'accesso
al filesystem per salvare dei file). Si instanzia in questo caso la classe <em>NetworkCredentials</em>,
che viene utilizzata per la connessione.
</p>
        <p>
Il secondo caso si verifica quando un'applicazione ha necessità di acquisire dei permessi
specifici per breve tempo, come p.es. scrivere o leggere su una share di rete da un'applicazione
web che giri in un contesto utente non modificabile (p.es. un utenza NetworkService
di un'application pool, per ragioni di sicurezza). In tal caso è possibile acquisire
per breve tempo un contesto utente differente, eseguire delle operazioni ed infine
tornare al contesto di partenza utilizzando le API di sistema.
</p>
        <p>
Prima debbono essere dichiarati i metodi:
</p>
        <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
          <p>
            <br />
    [DllImport(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"advapi32.dll"</span>,
CharSet <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> CharSet.Auto,
SetLastError <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">true</span>,
ExactSpelling <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">true</span>)] 
<br />
    <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">static</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">extern</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">int</span> LogonUser(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span> lpszUsername, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span> lpszDomain, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span> lpszPassword, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">uint</span> dwLogonType, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">uint</span> dwLogonProvider, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ref</span> IntPtr
phToken); 
<br />
    [DllImport(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"kernel32.dll"</span>,
CharSet <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> CharSet.Ansi,
SetLastError <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">true</span>,
ExactSpelling <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">true</span>)] 
<br />
    <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">static</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">extern</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">bool</span> CloseHandle(IntPtr
handle); <br />
    <br /></p>
        </span>Che verranno utilizzati per effettuare il logon e l'impersonation:
<pre><span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">    <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">int</span> hresult <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> LogonUser(username,
domain, password, (<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">uint</span>)LogonSessionType.Interactive,
(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">uint</span>)LogonProvider.LogonDefault,
userToken);    WindowsIdentity identity <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> WindowsIdentity(userToken); </span></pre><pre><span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">   
WindowImpersonationContext context = identity.Impersonate;</span></pre><p>
Che può essere poi rilasciato:
</p><p>
     <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">context.Undo();</span></p><p>
Luc.
</p><a href="http://www.biader.it/public/contenuti/binari/Impersonator.zip">Impersonator.zip
(,83 KB)</a><img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=3970b641-4c12-4030-ba68-d9147d9f443a" /></body>
      <title>.NET e impersonation</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,3970b641-4c12-4030-ba68-d9147d9f443a.aspx</guid>
      <link>http://www.biader.it/2008/05/22/NETEImpersonation.aspx</link>
      <pubDate>Thu, 22 May 2008 16:15:40 GMT</pubDate>
      <description>&lt;p&gt;
A volte può essere utile cambiare l'account con cui si esegue una porzione di codice,
p.es. per ottenere dei livelli di trust più elevati.&amp;nbsp;Si possono:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Utilizzare &lt;em&gt;credenziali di rete &lt;/em&gt;differenti; 
&lt;li&gt;
Acquisire le credenziali di &lt;em&gt;account differenti.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Il primo caso è più comune in applicazioni che fanno uso di servizi sulla rete (accedono
a pagine web o servizi web) ma che eseguono la maggior parte delle operazioni in locale.
In tal caso una &lt;em&gt;impersonation&lt;/em&gt; completa potrebbe essere inopportuna (l'utente
di rete potrebbe non possedere permessi importanti in locale, come p.es. l'accesso
al filesystem per salvare dei file). Si instanzia in questo caso la classe &lt;em&gt;NetworkCredentials&lt;/em&gt;,
che viene utilizzata per la connessione.
&lt;/p&gt;
&lt;p&gt;
Il secondo caso si verifica quando un'applicazione ha necessità di acquisire dei permessi
specifici per breve tempo, come p.es. scrivere o leggere su una share di rete da un'applicazione
web che giri in un contesto utente non modificabile (p.es. un utenza NetworkService
di un'application pool, per ragioni di sicurezza). In tal caso è possibile acquisire
per breve tempo un contesto utente differente, eseguire delle operazioni ed infine
tornare al contesto di partenza utilizzando le API di sistema.
&lt;/p&gt;
&lt;p&gt;
Prima debbono essere dichiarati i metodi:
&lt;/p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt; 
&lt;p&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; [DllImport(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"advapi32.dll"&lt;/span&gt;,
CharSet &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; CharSet.Auto,
SetLastError &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;true&lt;/span&gt;,
ExactSpelling &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;true&lt;/span&gt;)] 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;static&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;extern&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;int&lt;/span&gt; LogonUser(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt; lpszUsername, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt; lpszDomain, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt; lpszPassword, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;uint&lt;/span&gt; dwLogonType, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;uint&lt;/span&gt; dwLogonProvider, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ref&lt;/span&gt; IntPtr
phToken); 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; [DllImport(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"kernel32.dll"&lt;/span&gt;,
CharSet &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; CharSet.Ansi,
SetLastError &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;true&lt;/span&gt;,
ExactSpelling &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;true&lt;/span&gt;)] 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;static&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;extern&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;bool&lt;/span&gt; CloseHandle(IntPtr
handle);&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;
&lt;/span&gt;Che verranno utilizzati per effettuare il logon e l'impersonation:&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;int&lt;/span&gt; hresult &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; LogonUser(username,
domain, password, (&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;uint&lt;/span&gt;)LogonSessionType.Interactive,
(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;uint&lt;/span&gt;)LogonProvider.LogonDefault,
userToken); &amp;nbsp;&amp;nbsp;&amp;nbsp;WindowsIdentity identity &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; WindowsIdentity(userToken); &lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
WindowImpersonationContext context = identity.Impersonate;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
Che può essere poi rilasciato:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;context.Undo();&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
Luc.
&lt;/p&gt;
&lt;a href="http://www.biader.it/public/contenuti/binari/Impersonator.zip"&gt;Impersonator.zip
(,83 KB)&lt;/a&gt;&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=3970b641-4c12-4030-ba68-d9147d9f443a" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,3970b641-4c12-4030-ba68-d9147d9f443a.aspx</comments>
      <category>.net</category>
      <category>C#</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=563e689f-230b-4006-a037-2434e3187cd9</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,563e689f-230b-4006-a037-2434e3187cd9.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,563e689f-230b-4006-a037-2434e3187cd9.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=563e689f-230b-4006-a037-2434e3187cd9</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Su Vista il comando non esiste più. Ora si chiama <strong>msg.exe</strong>. Ecco come
si usa:
</p>
        <p>
          <font color="#0000ff">
            <strong>msg /server:&lt;nome_server&gt; &lt;nome_utente&gt;
"Ciao!"</strong>
          </font>
        </p>
        <p>
:)
</p>
        <p>
Luc.
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=563e689f-230b-4006-a037-2434e3187cd9" />
      </body>
      <title>Che fine ha fatto net send ?</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,563e689f-230b-4006-a037-2434e3187cd9.aspx</guid>
      <link>http://www.biader.it/2008/05/22/CheFineHaFattoNetSend.aspx</link>
      <pubDate>Thu, 22 May 2008 15:51:35 GMT</pubDate>
      <description>&lt;p&gt;
Su Vista il comando non esiste più. Ora si chiama &lt;strong&gt;msg.exe&lt;/strong&gt;. Ecco come
si usa:
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#0000ff&gt;&lt;strong&gt;msg /server:&amp;lt;nome_server&amp;gt;&amp;nbsp;&amp;lt;nome_utente&amp;gt;
"Ciao!"&lt;/strong&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
:)
&lt;/p&gt;
&lt;p&gt;
Luc.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=563e689f-230b-4006-a037-2434e3187cd9" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,563e689f-230b-4006-a037-2434e3187cd9.aspx</comments>
      <category>scripts</category>
      <category>tools</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=04c12b63-1006-40c0-b234-bac9e0b5384c</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,04c12b63-1006-40c0-b234-bac9e0b5384c.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,04c12b63-1006-40c0-b234-bac9e0b5384c.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=04c12b63-1006-40c0-b234-bac9e0b5384c</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Splendido programma per il confronto di file. Uno strumento importante, sebbene
di non larghissimo uso. A volte toglie davvero le castagne dal fuoco. Fra tutti
un episodio: si stava effettuando una serie di chiamate ad un web service ed alcune andavano
inspiegabilmente in errore. Eravamo in fase di deploy e la cosa non era molto simpatica.
Con WinMerge mi accorsi che il problema era nella soapAction:
</p>
        <p>
          <a href="">http://tempuri.org</a> è infatti diverso da <a href="http://tempuri.org/">http://tempuri.org<font color="#ff0000"><strong>/</strong></font></a></p>
        <p>
Ad occhio, in tre, non ce ne eravamo accorti. Confrontando un messaggio valido ed
uno non valido trovammo il problema.
</p>
        <p>
Lo si può scaricare da:
</p>
        <p>
          <a href="http://winmerge.org/">http://winmerge.org/</a>
        </p>
        <p>
Luc.
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=04c12b63-1006-40c0-b234-bac9e0b5384c" />
      </body>
      <title>WinMerge</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,04c12b63-1006-40c0-b234-bac9e0b5384c.aspx</guid>
      <link>http://www.biader.it/2008/05/19/WinMerge.aspx</link>
      <pubDate>Mon, 19 May 2008 19:09:33 GMT</pubDate>
      <description>&lt;p&gt;
Splendido programma per il confronto di file. Uno strumento&amp;nbsp;importante, sebbene
di non larghissimo uso. A volte toglie davvero le castagne dal fuoco. Fra&amp;nbsp;tutti
un episodio: si stava effettuando una serie di chiamate ad un web service ed alcune&amp;nbsp;andavano
inspiegabilmente in errore. Eravamo in fase di deploy e la cosa non era molto simpatica.
Con WinMerge mi accorsi che il problema era nella soapAction:
&lt;/p&gt;
&lt;p&gt;
&lt;a href=""&gt;http://tempuri.org&lt;/a&gt; è infatti diverso da &lt;a href="http://tempuri.org/"&gt;http://tempuri.org&lt;font color=#ff0000&gt;&lt;strong&gt;/&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Ad occhio, in tre, non ce ne eravamo accorti. Confrontando un messaggio valido ed
uno non valido trovammo il problema.
&lt;/p&gt;
&lt;p&gt;
Lo si può scaricare da:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://winmerge.org/"&gt;http://winmerge.org/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Luc.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=04c12b63-1006-40c0-b234-bac9e0b5384c" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,04c12b63-1006-40c0-b234-bac9e0b5384c.aspx</comments>
      <category>tools</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=b45f88e2-7886-4d11-9a75-b90eb358f7f6</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,b45f88e2-7886-4d11-9a75-b90eb358f7f6.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,b45f88e2-7886-4d11-9a75-b90eb358f7f6.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=b45f88e2-7886-4d11-9a75-b90eb358f7f6</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Alcuni interessanti articoli trovati su un blog. Il primo spiega come creare uno snap-in
custom per mmc 3.0 con .net:
</p>
        <p>
          <a href="http://community.bartdesmet.net/blogs/bart/archive/2006/09/01/4384.aspx">A
managed code 'task manager' MMC 3.0 snap-in</a>
        </p>
        <p>
un altro, sullo stesso argomento ma in stile 'cook-book':
</p>
        <p>
          <a href="http://community.bartdesmet.net/blogs/bart/archive/2008/02/27/the-managed-mmc-3-0-snap-in-cookbook.aspx">The
managed MMC 3.0 snap-in cookbook</a>
        </p>
        <p>
ed infine un articolo su come creare un comando custom per la powershell:
</p>
        <p>
          <a href="http://community.bartdesmet.net/blogs/bart/archive/2008/02/03/easy-windows-powershell-cmdlet-development-and-debugging.aspx">Easy
Windows PowerShell cmdlet development and debugging</a>
        </p>
        <p>
il blog contiene parecchie informazioni. Da vedere.
</p>
        <p>
Luc.
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=b45f88e2-7886-4d11-9a75-b90eb358f7f6" />
      </body>
      <title>mmc e powershell</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,b45f88e2-7886-4d11-9a75-b90eb358f7f6.aspx</guid>
      <link>http://www.biader.it/2008/05/18/mmcEPowershell.aspx</link>
      <pubDate>Sun, 18 May 2008 09:53:03 GMT</pubDate>
      <description>&lt;p&gt;
Alcuni interessanti articoli trovati su un blog. Il primo spiega come creare uno snap-in
custom per mmc 3.0 con .net:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://community.bartdesmet.net/blogs/bart/archive/2006/09/01/4384.aspx"&gt;A
managed code 'task manager' MMC 3.0 snap-in&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
un altro, sullo stesso argomento ma in stile 'cook-book':
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://community.bartdesmet.net/blogs/bart/archive/2008/02/27/the-managed-mmc-3-0-snap-in-cookbook.aspx"&gt;The
managed MMC 3.0 snap-in cookbook&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
ed infine un articolo su come creare un comando custom per la powershell:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://community.bartdesmet.net/blogs/bart/archive/2008/02/03/easy-windows-powershell-cmdlet-development-and-debugging.aspx"&gt;Easy
Windows PowerShell cmdlet development and debugging&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
il&amp;nbsp;blog contiene parecchie informazioni. Da vedere.
&lt;/p&gt;
&lt;p&gt;
Luc.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=b45f88e2-7886-4d11-9a75-b90eb358f7f6" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,b45f88e2-7886-4d11-9a75-b90eb358f7f6.aspx</comments>
      <category>.net</category>
      <category>C#</category>
      <category>scripts</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=e0dff314-9eb4-4649-ac42-a4a28f8cf77e</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,e0dff314-9eb4-4649-ac42-a4a28f8cf77e.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,e0dff314-9eb4-4649-ac42-a4a28f8cf77e.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=e0dff314-9eb4-4649-ac42-a4a28f8cf77e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Ottimo sistema per la virtualizzazione dei servizi in ottica SOA. Lo si può trovare
all'indirizzo:
</p>
        <p>
          <a href="http://www.codeplex.com/servicesengine">http://www.codeplex.com/servicesengine</a>
        </p>
        <p>
Permette di importare servizi già esistenti e di ripubblicarne le operazioni,
opportunamente aggregate secondo l'opportunità, facilita il coordinamento delle risorse,
ne massimizza il riuso e consente di ridurre i tempi di messa in opera dei nuovi
servizi. 
</p>
        <p>
Di seguito alcune delle caratteristiche:
</p>
        <ol>
          <li>
Versioning Servizi; 
</li>
          <li>
Aggiornamento Servizi Legacy; 
</li>
          <li>
Service Policy Enforcement;</li>
        </ol>
        <p>
Veramente interessante.
</p>
        <p>
Luc.
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=e0dff314-9eb4-4649-ac42-a4a28f8cf77e" />
      </body>
      <title>MSE (Managed Service Engine)</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,e0dff314-9eb4-4649-ac42-a4a28f8cf77e.aspx</guid>
      <link>http://www.biader.it/2008/05/18/MSEManagedServiceEngine.aspx</link>
      <pubDate>Sun, 18 May 2008 08:54:52 GMT</pubDate>
      <description>&lt;p&gt;
Ottimo sistema per la virtualizzazione dei servizi in ottica SOA. Lo si può trovare
all'indirizzo:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.codeplex.com/servicesengine"&gt;http://www.codeplex.com/servicesengine&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Permette di&amp;nbsp;importare servizi già esistenti&amp;nbsp;e di ripubblicarne le operazioni,
opportunamente aggregate secondo l'opportunità, facilita il coordinamento delle risorse,
ne massimizza il riuso e consente&amp;nbsp;di ridurre i tempi di messa in opera dei nuovi
servizi. 
&lt;/p&gt;
&lt;p&gt;
Di seguito alcune delle caratteristiche:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Versioning Servizi; 
&lt;li&gt;
Aggiornamento Servizi Legacy; 
&lt;li&gt;
Service Policy Enforcement;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Veramente interessante.
&lt;/p&gt;
&lt;p&gt;
Luc.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=e0dff314-9eb4-4649-ac42-a4a28f8cf77e" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,e0dff314-9eb4-4649-ac42-a4a28f8cf77e.aspx</comments>
      <category>.net</category>
      <category>SOA</category>
      <category>tools</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=59b49d3d-97fe-4cd0-a652-cc81e27d8507</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,59b49d3d-97fe-4cd0-a652-cc81e27d8507.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,59b49d3d-97fe-4cd0-a652-cc81e27d8507.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=59b49d3d-97fe-4cd0-a652-cc81e27d8507</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Ieri sera siamo andati a vedere iron man. Il promotore, ovviamente, sono stato io.
Lei non ha fatto una piega e per tutto il tempo si è goduta me che guardavo iron man.
Come un bambino. Ed in effetti lo spettacolo era proprio per bambini, anche se l'unico
bambino in sala continuava a dire:
</p>
        <p>
-Ma, è finito ?
</p>
        <p>
Facendo sganasciare la signora ed imbarazzando il papà, che evidentemente aveva usato
la scusa del bimbo per farsi bimbo pure lui.
</p>
        <p>
Alla fine, a parte gli effetti in computer grafica, poco altro. Mentre tornavamo a
casa ci siamo ricordati di Juno, che avevamo visto l'altra volta, e abbiamo cominciato
a parlare di quello (e che potevi dire di iron man ?). Tutto da un cartellone per
strada, contro l'aborto (Ferrara?).
</p>
        <p>
Il fatto è che c'è stato un gran movimento, soprattutto dalla sinistra, per via del
'rigurgito reazionario' contro una legge che è stata 'una conquista di libertà', un
passo verso la 'emancipazione della donna', etc, etc ...
</p>
        <p>
La cosa che mi ha stupito di più, in tutto questo can-can, è proprio che, dei tanti
che ne parlavano, mai nessuno che potesse dire: si, io l'ho fatto e sono contento.<br />
Tutte queste donne che ne parlavano poi, quando qualcuno chiedeva loro: ma tu... No,
no, io no (punto esclamativo).<br />
Oltre tutto questo movimento si era in realtà proposto di dare, alle donne che si
trovano di fronte a questo problema, un'alternativa. Utile sia per quel poveraccio
che ha avuto la sfiga di essere concepito senza essere desiderato (poteva capitare
a tutti, no? Questione di culo), utile per la donna che avrebbe lasciato a posto la
sua coscienza. In un paese dove sappiamo che la normativa per le adozioni è una delle
più contorte di tutto il mondo.<br />
E invece tutti lì, anche gente intelligente, a protestare, a fare ironia, a riderci
su.<br />
Poi arriva il miracolo di Juno. Tutti a vedere e tutti in effetti a capire che forse
ci sono altri modi. Ci sono universi in cui rimanere incinte è una sfiga, universi
in cui si farebbe di tutto per rimanere incinte. Si tratta solo di tenerne conto.<br />
E allora mi viene in mente: ma quali sono i motivi che spingono una donna a desiderare
l'aborto? Direi:
</p>
        <p>
1. Sociale (il padre non va bene, rovinerei la mia immagine);<br />
2. Esistenziale (un bambino ridurrebbe le mie capacità e adesso non posso);<br />
3. Utilitaristico (non saprei come gestire, non ho soldi, sono troppo giovane);
</p>
        <p>
Cominciamo dal primo, quello sociale: quando, più di trent'anni fa, fecero il referendum,
la società era in una fase di trasformazione ed aveva ancora, per molti aspetti, tratti
della società contadina. Allora avere una gravidanza fuori dal matrimonio poteva costare
molto alla donna: avrebbe senz'altro avuto difficoltà a trovare marito ed anche la
carriera lavorativa (qualora lavoro ci fosse) ne avrebbe certamente risentito. Questi
pregiudizi oggi, anche grazie a leggi fatte nella giusta direzione, sono stati superati:
non è più una vergogna per nessuno avere figli fuori dal matrimonio e certo nessun
capufficio ci fa troppo caso.<br />
Secondo motivo: 
<br />
adesso devo migliorare la mia condizione lavorativa, perciò non posso avere un figlio.
In tal caso non possiamo fare nulla per voi, abortite pure se ci tenete, anche se
probabilmente siete degli stronzi.<br />
Terzo motivo:<br />
 non ho soldi o sono troppo giovane per gestire un bambino. Potrei abortire ma
questo mi potrebbe segnare per il resto della vita. E' in questo contesto che è giusto
si faccia qualcosa, che si dia assistenza a chi non vuole abortire ma magari non può
in questo momento o non vuole tenere il bambino una volta nato. E magari dall'altra
parte della città c'è qualcuno pronto ad accoglierlo.<br />
Il senso della proposta è: perché non aiutarci fra noi quando possiamo ? Quando andiamo
a vivere in un condominio, non intrecciamo forse in modo del tutto casuale delle relazioni
che poi portiamo avanti magari per tutta la vita ? Perché non inventare un mondo nel
quale chi ha un bambino possa scegliere di non crescerlo e poi magari abbia la facoltà
di vederlo ogni tanto. Che problemi darebbe una cosa del genere alla pattuglia dei
progressisti ? Il fatto è che questi sedicenti progressisti sono impauriti dal cambiamento:
quando qualcuno, di trent'anni più giovane di loro, parla di qualcosa che somiglia
a quello contro cui hanno combattuto, tutti a schierarsi compatti contro i reazionari.
Senza neanche capire che qualche cosa potrebbero averla sbagliata pure loro. Ma ne
sanno qualcosa questi, dei problemi che hai se provi ad adottare un bambino ? Si rendono
conto di che effetto fa una cosa tanto contro natura come abortire? Chi sono i reazionari
?<br />
Nessuno vuole cancellare le loro leggi. Ma possono essere rese migliori.
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=59b49d3d-97fe-4cd0-a652-cc81e27d8507" />
      </body>
      <title>iron man e juno</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,59b49d3d-97fe-4cd0-a652-cc81e27d8507.aspx</guid>
      <link>http://www.biader.it/2008/05/18/ironManEJuno.aspx</link>
      <pubDate>Sun, 18 May 2008 07:53:04 GMT</pubDate>
      <description>&lt;p&gt;
Ieri sera siamo andati a vedere iron man. Il promotore, ovviamente, sono stato io.
Lei non ha fatto una piega e per tutto il tempo si è goduta me che guardavo iron man.
Come un bambino. Ed in effetti lo spettacolo era proprio per bambini, anche se l'unico
bambino in sala continuava a dire:
&lt;/p&gt;
&lt;p&gt;
-Ma, è finito ?
&lt;/p&gt;
&lt;p&gt;
Facendo sganasciare la signora ed imbarazzando il papà, che evidentemente aveva usato
la scusa del bimbo per farsi bimbo pure lui.
&lt;/p&gt;
&lt;p&gt;
Alla fine, a parte gli effetti in computer grafica, poco altro. Mentre tornavamo a
casa ci siamo ricordati di Juno, che avevamo visto l'altra volta, e abbiamo cominciato
a parlare di quello (e che potevi dire di iron man ?). Tutto da un cartellone per
strada, contro l'aborto (Ferrara?).
&lt;/p&gt;
&lt;p&gt;
Il fatto è che c'è stato un gran movimento, soprattutto dalla sinistra, per via del
'rigurgito reazionario' contro una legge che è stata 'una conquista di libertà', un
passo verso la 'emancipazione della donna', etc, etc ...
&lt;/p&gt;
&lt;p&gt;
La cosa che mi ha stupito di più, in tutto questo can-can, è proprio che, dei tanti
che ne parlavano, mai nessuno che potesse dire: si, io l'ho fatto e sono contento.&lt;br&gt;
Tutte queste donne che ne parlavano poi, quando qualcuno chiedeva loro: ma tu... No,
no, io no (punto esclamativo).&lt;br&gt;
Oltre tutto questo movimento si era in realtà proposto di dare, alle donne che si
trovano di fronte a questo problema, un'alternativa. Utile sia per quel poveraccio
che ha avuto la sfiga di essere concepito senza essere desiderato (poteva capitare
a tutti, no? Questione di culo), utile per la donna che avrebbe lasciato a posto la
sua coscienza. In un paese dove sappiamo che la normativa per le adozioni è una delle
più contorte di tutto il mondo.&lt;br&gt;
E invece tutti lì, anche gente intelligente, a protestare, a fare ironia, a riderci
su.&lt;br&gt;
Poi arriva il miracolo di Juno. Tutti a vedere e tutti in effetti a capire che forse
ci sono altri modi. Ci sono universi in cui rimanere incinte è una sfiga, universi
in cui si farebbe di tutto per rimanere incinte. Si tratta solo di tenerne conto.&lt;br&gt;
E allora mi viene in mente: ma quali sono i motivi che spingono una donna a desiderare
l'aborto? Direi:
&lt;/p&gt;
&lt;p&gt;
1. Sociale (il padre non va bene, rovinerei la mia immagine);&lt;br&gt;
2. Esistenziale (un bambino ridurrebbe le mie capacità e adesso non posso);&lt;br&gt;
3. Utilitaristico (non saprei come gestire, non ho soldi, sono troppo giovane);
&lt;/p&gt;
&lt;p&gt;
Cominciamo dal primo, quello sociale: quando, più di trent'anni fa, fecero il referendum,
la società era in una fase di trasformazione ed aveva ancora, per molti aspetti, tratti
della società contadina. Allora avere una gravidanza fuori dal matrimonio poteva costare
molto alla donna: avrebbe senz'altro avuto difficoltà a trovare marito ed anche la
carriera lavorativa (qualora lavoro ci fosse) ne avrebbe certamente risentito. Questi
pregiudizi oggi, anche grazie a leggi fatte nella giusta direzione, sono stati superati:
non è più una vergogna per nessuno avere figli fuori dal matrimonio e certo nessun
capufficio ci fa troppo caso.&lt;br&gt;
Secondo motivo: 
&lt;br&gt;
adesso devo migliorare la mia condizione lavorativa, perciò non posso avere un figlio.
In tal caso non possiamo fare nulla per voi, abortite pure se ci tenete, anche se
probabilmente siete degli stronzi.&lt;br&gt;
Terzo motivo:&lt;br&gt;
&amp;nbsp;non ho soldi o sono troppo giovane per gestire un bambino. Potrei abortire ma
questo mi potrebbe segnare per il resto della vita. E' in questo contesto che è giusto
si faccia qualcosa, che si dia assistenza a chi non vuole abortire ma magari non può
in questo momento o non vuole tenere il bambino una volta nato. E magari dall'altra
parte della città c'è qualcuno pronto ad accoglierlo.&lt;br&gt;
Il senso della proposta è: perché non aiutarci fra noi quando possiamo ? Quando andiamo
a vivere in un condominio, non intrecciamo forse in modo del tutto casuale delle relazioni
che poi portiamo avanti magari per tutta la vita ? Perché non inventare un mondo nel
quale chi ha un bambino possa scegliere di non crescerlo e poi magari abbia la facoltà
di vederlo ogni tanto. Che problemi darebbe una cosa del genere alla pattuglia dei
progressisti ? Il fatto è che questi sedicenti progressisti sono impauriti dal cambiamento:
quando qualcuno, di trent'anni più giovane di loro, parla di qualcosa che somiglia
a quello contro cui hanno combattuto, tutti a schierarsi compatti contro i reazionari.
Senza neanche capire che qualche cosa potrebbero averla sbagliata pure loro. Ma ne
sanno qualcosa questi, dei problemi che hai se provi ad adottare un bambino ? Si rendono
conto di che effetto fa una cosa tanto contro natura come abortire? Chi sono i reazionari
?&lt;br&gt;
Nessuno vuole cancellare le loro leggi. Ma possono essere rese migliori.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=59b49d3d-97fe-4cd0-a652-cc81e27d8507" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,59b49d3d-97fe-4cd0-a652-cc81e27d8507.aspx</comments>
      <category>diario</category>
      <category>OT</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=7e93ba4d-47fc-4371-bc9f-34de4a55d715</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,7e93ba4d-47fc-4371-bc9f-34de4a55d715.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,7e93ba4d-47fc-4371-bc9f-34de4a55d715.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=7e93ba4d-47fc-4371-bc9f-34de4a55d715</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Programma molto utile per la scrittura di query WMI (Windows Management Instrumentation).
Si può scaricare da:
</p>
        <p>
          <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=2cc30a64-ea15-4661-8da4-55bbc145c30e&amp;displaylang=en">WMI
Code Creator</a>
        </p>
        <p>
Una volta selezionata una classe di interesse, è possibile generare codice per invocarne
i metodi, le proprietà o gestirne gli eventi.
</p>
        <p>
Molto utile per lo sviluppo o per la creazione di script di amministrazione, eventualmente
in accoppiata con:
</p>
        <p>
          <a href="http://www.microsoft.com/downloads/details.aspx?familyid=09DFC342-648B-4119-B7EB-783B0F7D1178&amp;displaylang=en">Scriptomatic
2.0</a>
        </p>
        <p>
e con gli strumenti nella suite:
</p>
        <p>
          <a href="http://www.microsoft.com/downloads/details.aspx?familyid=6430F853-1120-48DB-8CC5-F2ABDC3ED314&amp;displaylang=en">WMI
Administrative Tools</a>
        </p>
        <p>
tra cui CIM Studio e WMI Object Browser.
</p>
        <p>
Preinstallati nel sistema si trovano inoltre, normalmente, i tools <em>WBemTest.exe</em>,
per effettuare delle interrogazioni di prova e <em>Wmic.exe</em>, per eseguire delle
query da riga di comando.
</p>
        <p>
Luc.
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=7e93ba4d-47fc-4371-bc9f-34de4a55d715" />
      </body>
      <title>WMI Code Creator</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,7e93ba4d-47fc-4371-bc9f-34de4a55d715.aspx</guid>
      <link>http://www.biader.it/2008/05/16/WMICodeCreator.aspx</link>
      <pubDate>Fri, 16 May 2008 18:03:57 GMT</pubDate>
      <description>&lt;p&gt;
Programma molto utile per la scrittura di query WMI (Windows Management Instrumentation).
Si può scaricare da:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=2cc30a64-ea15-4661-8da4-55bbc145c30e&amp;amp;displaylang=en"&gt;WMI
Code Creator&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Una volta selezionata una classe di interesse, è possibile generare codice per&amp;nbsp;invocarne
i metodi, le proprietà o gestirne gli eventi.
&lt;/p&gt;
&lt;p&gt;
Molto utile per lo sviluppo o per la creazione di script di amministrazione, eventualmente
in accoppiata con:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=09DFC342-648B-4119-B7EB-783B0F7D1178&amp;amp;displaylang=en"&gt;Scriptomatic
2.0&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
e con gli strumenti nella suite:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=6430F853-1120-48DB-8CC5-F2ABDC3ED314&amp;amp;displaylang=en"&gt;WMI
Administrative Tools&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
tra cui CIM Studio e WMI Object Browser.
&lt;/p&gt;
&lt;p&gt;
Preinstallati nel sistema si trovano inoltre, normalmente, i tools &lt;em&gt;WBemTest.exe&lt;/em&gt;,
per effettuare delle interrogazioni di prova e &lt;em&gt;Wmic.exe&lt;/em&gt;, per eseguire delle
query da riga di comando.
&lt;/p&gt;
&lt;p&gt;
Luc.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=7e93ba4d-47fc-4371-bc9f-34de4a55d715" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,7e93ba4d-47fc-4371-bc9f-34de4a55d715.aspx</comments>
      <category>.net</category>
      <category>C#</category>
      <category>scripts</category>
      <category>tools</category>
      <category>VB</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=ea7f14a6-4a27-44f0-b413-a66036c2d671</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,ea7f14a6-4a27-44f0-b413-a66036c2d671.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,ea7f14a6-4a27-44f0-b413-a66036c2d671.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=ea7f14a6-4a27-44f0-b413-a66036c2d671</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Interessante tool grafico che permette di risalire alle query xpath necessarie per
ottenere determinati nodi. Si trova in:
</p>
        <p>
          <a href="http://weblogs.asp.net/nleghari/articles/visualxpath.aspx">http://weblogs.asp.net/nleghari/articles/visualxpath.aspx</a>
        </p>
        <p>
e genera anche uno snippet del codice necessario per effettuare una query.
</p>
        <p>
Per xml complicati semplifica davvero il lavoro.
</p>
        <p>
Luc.
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=ea7f14a6-4a27-44f0-b413-a66036c2d671" />
      </body>
      <title>Visual Xpath</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,ea7f14a6-4a27-44f0-b413-a66036c2d671.aspx</guid>
      <link>http://www.biader.it/2008/05/16/VisualXpath.aspx</link>
      <pubDate>Fri, 16 May 2008 17:44:33 GMT</pubDate>
      <description>&lt;p&gt;
Interessante tool grafico che permette di risalire alle query xpath necessarie per
ottenere determinati nodi. Si trova in:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://weblogs.asp.net/nleghari/articles/visualxpath.aspx"&gt;http://weblogs.asp.net/nleghari/articles/visualxpath.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
e genera anche uno snippet del codice necessario per effettuare una query.
&lt;/p&gt;
&lt;p&gt;
Per xml complicati semplifica davvero il lavoro.
&lt;/p&gt;
&lt;p&gt;
Luc.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=ea7f14a6-4a27-44f0-b413-a66036c2d671" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,ea7f14a6-4a27-44f0-b413-a66036c2d671.aspx</comments>
      <category>tools</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=6458bf00-9acc-4420-85b4-ab4a2b03ebf8</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,6458bf00-9acc-4420-85b4-ab4a2b03ebf8.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,6458bf00-9acc-4420-85b4-ab4a2b03ebf8.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=6458bf00-9acc-4420-85b4-ab4a2b03ebf8</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Ecco il sito da cui si può scaricare la versione definitiva:
</p>
        <p>
          <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=90de37e0-7b42-4044-99be-f8ecfbbc5b65&amp;DisplayLang=en">EntLib
4.0</a>
        </p>
        <p>
che include il supporto per Visual Studio 2008, l'integrazione con lo
Unity application Block, il supporto per WMI2, et cetera.
</p>
        <p>
Luc.<br /></p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=6458bf00-9acc-4420-85b4-ab4a2b03ebf8" />
      </body>
      <title>Enterprise Library 4.0</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,6458bf00-9acc-4420-85b4-ab4a2b03ebf8.aspx</guid>
      <link>http://www.biader.it/2008/05/16/EnterpriseLibrary40.aspx</link>
      <pubDate>Fri, 16 May 2008 17:38:46 GMT</pubDate>
      <description>&lt;p&gt;
Ecco il sito da cui si può scaricare la versione definitiva:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=90de37e0-7b42-4044-99be-f8ecfbbc5b65&amp;amp;DisplayLang=en"&gt;EntLib
4.0&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
che include il supporto&amp;nbsp;per Visual Studio 2008, l'integrazione&amp;nbsp;con&amp;nbsp;lo
Unity application Block, il supporto per WMI2, et cetera.
&lt;/p&gt;
&lt;p&gt;
Luc.&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=6458bf00-9acc-4420-85b4-ab4a2b03ebf8" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,6458bf00-9acc-4420-85b4-ab4a2b03ebf8.aspx</comments>
      <category>.net</category>
      <category>ASP.net</category>
      <category>C#</category>
      <category>VB</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=82f1b2d5-a787-4a61-a566-d6a5514e2663</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,82f1b2d5-a787-4a61-a566-d6a5514e2663.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,82f1b2d5-a787-4a61-a566-d6a5514e2663.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=82f1b2d5-a787-4a61-a566-d6a5514e2663</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Questo l'articolo conclusivo della ricerca cui ho partecipato per la tesi di laurea:
</p>
        <p>
          <a href="http://www.opticsinfobase.org/abstract.cfm?URI=JLT-26-3-373">Logic Functions,
Devices, and Circuits Based on Parametric Nonlinear Processes</a>
        </p>
        <p>
Si è trattato di uno studio sulle possibilità di sviluppo di una logica booleana <em>full-optical</em> sfruttando
i processi di generazione di
</p>
        <p>
seconda armonica in condizioni di elevata efficienza. La sorgente laser utilizzata
per gli esperimenti era un laser ad impulso (1 ps)
</p>
        <p>
su cristallo di BBO, con una generazione di seconda armonica di tipo 2 (polarizzazioni
ortogonali).
</p>
        <p>
Luc.
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=82f1b2d5-a787-4a61-a566-d6a5514e2663" />
      </body>
      <title>ottica non lineare</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,82f1b2d5-a787-4a61-a566-d6a5514e2663.aspx</guid>
      <link>http://www.biader.it/2008/05/16/otticaNonLineare.aspx</link>
      <pubDate>Fri, 16 May 2008 16:54:06 GMT</pubDate>
      <description>&lt;p&gt;
Questo l'articolo conclusivo della ricerca cui ho partecipato per la tesi di laurea:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.opticsinfobase.org/abstract.cfm?URI=JLT-26-3-373"&gt;Logic Functions,
Devices, and Circuits Based on Parametric Nonlinear Processes&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Si è trattato di uno studio sulle possibilità di sviluppo di una&amp;nbsp;logica booleana &lt;em&gt;full-optical&lt;/em&gt; sfruttando
i processi di generazione di
&lt;/p&gt;
&lt;p&gt;
seconda armonica in condizioni di elevata efficienza. La sorgente laser utilizzata
per gli esperimenti era un laser ad impulso (1 ps)
&lt;/p&gt;
&lt;p&gt;
su cristallo di BBO, con una generazione di seconda armonica di tipo 2 (polarizzazioni
ortogonali).
&lt;/p&gt;
&lt;p&gt;
Luc.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=82f1b2d5-a787-4a61-a566-d6a5514e2663" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,82f1b2d5-a787-4a61-a566-d6a5514e2663.aspx</comments>
      <category>optics</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=7b25b3b2-6414-4847-98b0-c831a7cfefa5</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,7b25b3b2-6414-4847-98b0-c831a7cfefa5.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,7b25b3b2-6414-4847-98b0-c831a7cfefa5.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=7b25b3b2-6414-4847-98b0-c831a7cfefa5</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
A volte si possono verificare dei problemi con alcuni plugin di IE7 (flash, per
esempio): nonostante siano installati, sembra che da alcuni siti non vengano rilevati.
</p>
        <p>
La ragione del problema risiede in uno scorretto uso della funzionalità di <strong>Configurazione
IE</strong> di IEPro.
</p>
        <p>
Andando a scegliere <strong>Preferences</strong> dal menu di IEPro, selezionando <strong>Configurazione
IE</strong>, è possibile impostare la proprietà <font color="#0000ff"><strong>UserAgent</strong></font><font color="#000000">,
che </font></p>
        <p>
          <font color="#000000">regola il modo in cui il browser si presenta lato server. La
funzionalità risulta utile in fase di sviluppo, permettendo il debugging di quelle
parti </font>
        </p>
        <p>
          <font color="#000000">di script che effettuano il riconoscimento del browser e regolano
la visualizzazione in base a tale informazione. Il valore di <em>Default</em> non
è </font>
        </p>
        <p>
          <font color="#000000">correttamente compreso da alcuni siti che effettuano il rendering
lato server di una pagina html vuota.</font>
        </p>
        <p>
          <font color="#000000">Quando ciò accade, la correzione è molto semplice: </font>
        </p>
        <ol>
          <li>
            <font color="#000000">Impostare come <strong>UserAgent </strong>il valore <strong>Internet
Explorer 7</strong>;</font>
          </li>
          <li>
            <font color="#000000">Riavviare Internet Explorer;</font>
          </li>
          <li>
            <font color="#000000">Ricaricare la pagina.</font>
          </li>
        </ol>
        <p>
          <font color="#000000">A volte tuttavia tale soluzione non è sufficiente. Ciò accade
perché IEPro modifica la stringa di userAgent che IE7 invia in:</font>
        </p>
        <p>
          <span style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: IT; mso-fareast-language: IT; mso-bidi-language: AR-SA">
            <font face="Verdana" color="#0000ff" size="2">Mozilla/4.0
(compatible; MSIE 7.0b; Windows NT 6.0)</font>
          </span>
          <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Fixedsys; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: IT; mso-bidi-language: AR-SA">
          </span>
        </p>
        <p>
          <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Fixedsys; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: IT; mso-bidi-language: AR-SA">
            <font face="Verdana" color="#000000">In
questo caso Stefano suggerisce di ripristinare l'<strong>UserAgent</strong> di IE7:</font>
          </span>
        </p>
        <p>
          <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Fixedsys; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: IT; mso-bidi-language: AR-SA">
            <font face="Verdana" color="#0000ff">Mozilla/4.0
(compatible; MSIE 7.0; Windows NT 6.0; User-agent: Mozilla/4.0 (compatible; MSIE 6.0;
Windows NT 5.1; SV1))</font>
          </span>
        </p>
        <p>
          <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Fixedsys; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: IT; mso-bidi-language: AR-SA">
            <font face="Verdana" color="#000000">scrivendolo
nella combo box UserAgent di IEPro.</font>
          </span>
        </p>
        <p>
          <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Fixedsys; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: IT; mso-bidi-language: AR-SA">
            <font face="Verdana" color="#000000">Luc.</font>
          </span>
        </p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=7b25b3b2-6414-4847-98b0-c831a7cfefa5" />
      </body>
      <title>Problemini di IE7 con IEPro installato</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,7b25b3b2-6414-4847-98b0-c831a7cfefa5.aspx</guid>
      <link>http://www.biader.it/2008/05/15/ProbleminiDiIE7ConIEProInstallato.aspx</link>
      <pubDate>Thu, 15 May 2008 09:26:35 GMT</pubDate>
      <description>&lt;p&gt;
A volte si possono verificare dei problemi con alcuni plugin di&amp;nbsp;IE7 (flash, per
esempio): nonostante siano installati, sembra che da alcuni siti non vengano rilevati.
&lt;/p&gt;
&lt;p&gt;
La ragione del problema risiede in uno scorretto uso della funzionalità di &lt;strong&gt;Configurazione
IE&lt;/strong&gt; di IEPro.
&lt;/p&gt;
&lt;p&gt;
Andando a scegliere &lt;strong&gt;Preferences&lt;/strong&gt; dal menu di IEPro, selezionando &lt;strong&gt;Configurazione
IE&lt;/strong&gt;, è possibile impostare la proprietà &lt;font color=#0000ff&gt;&lt;strong&gt;UserAgent&lt;/strong&gt;&lt;/font&gt;&lt;font color=#000000&gt;,
che &lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#000000&gt;regola il modo in cui il browser si presenta lato server. La funzionalità
risulta utile in fase di sviluppo, permettendo il debugging di quelle parti &lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#000000&gt;di script che effettuano il riconoscimento del browser e regolano
la visualizzazione in base a tale informazione. Il valore di &lt;em&gt;Default&lt;/em&gt; non
è &lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#000000&gt;correttamente compreso da alcuni siti che effettuano il rendering
lato server di una pagina html vuota.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#000000&gt;Quando ciò accade, la correzione è molto semplice: &lt;/font&gt;
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;font color=#000000&gt;Impostare come &lt;strong&gt;UserAgent &lt;/strong&gt;il valore &lt;strong&gt;Internet
Explorer 7&lt;/strong&gt;;&lt;/font&gt; 
&lt;li&gt;
&lt;font color=#000000&gt;Riavviare Internet Explorer;&lt;/font&gt; 
&lt;li&gt;
&lt;font color=#000000&gt;Ricaricare la pagina.&lt;/font&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;font color=#000000&gt;A volte tuttavia tale soluzione non è sufficiente. Ciò accade
perché IEPro modifica la stringa di userAgent che IE7 invia in:&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: IT; mso-fareast-language: IT; mso-bidi-language: AR-SA"&gt;&lt;font face=Verdana color=#0000ff size=2&gt;Mozilla/4.0
(compatible; MSIE 7.0b; Windows NT 6.0)&lt;/font&gt;&lt;/span&gt;&lt;span lang=EN-US style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Fixedsys; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: IT; mso-bidi-language: AR-SA"&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span lang=EN-US style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Fixedsys; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: IT; mso-bidi-language: AR-SA"&gt;&lt;font face=Verdana color=#000000&gt;In
questo caso Stefano suggerisce di ripristinare l'&lt;strong&gt;UserAgent&lt;/strong&gt; di IE7:&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span lang=EN-US style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Fixedsys; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: IT; mso-bidi-language: AR-SA"&gt;&lt;font face=Verdana color=#0000ff&gt;Mozilla/4.0
(compatible; MSIE 7.0; Windows NT 6.0; User-agent: Mozilla/4.0 (compatible; MSIE 6.0;
Windows NT 5.1; SV1))&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span lang=EN-US style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Fixedsys; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: IT; mso-bidi-language: AR-SA"&gt;&lt;font face=Verdana color=#000000&gt;scrivendolo
nella combo box UserAgent di IEPro.&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span lang=EN-US style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Fixedsys; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: IT; mso-bidi-language: AR-SA"&gt;&lt;font face=Verdana color=#000000&gt;Luc.&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=7b25b3b2-6414-4847-98b0-c831a7cfefa5" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,7b25b3b2-6414-4847-98b0-c831a7cfefa5.aspx</comments>
      <category>tools</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=26b077ab-ef50-40b9-8622-cbeff1f738fd</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,26b077ab-ef50-40b9-8622-cbeff1f738fd.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,26b077ab-ef50-40b9-8622-cbeff1f738fd.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=26b077ab-ef50-40b9-8622-cbeff1f738fd</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Il conosciuto ethereal con nuovi filtri ed opzioni. Si può scaricare all'indirizzo:
</p>
        <p>
          <a href="http://www.wireshark.org/">http://www.wireshark.org/</a>
        </p>
        <p>
Con una community piuttosto numerosa e molti interessanti sviluppi.
</p>
        <p>
Qui si possono trovare alcuni esempi di utilizzo dei filtri:
</p>
        <p>
          <a href="http://www.croccobiscotto.it/?p=902">http://www.croccobiscotto.it/?p=902</a>
        </p>
        <p>
Mentre qui si possono trovare un pò di captures di esempio:
</p>
        <p>
          <a href="http://wiki.wireshark.org/SampleCaptures">http://wiki.wireshark.org/SampleCaptures</a>
        </p>
        <p>
Per studiare off-line il comportamento di alcuni standard di messaggio.
</p>
        <p>
Luc.
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=26b077ab-ef50-40b9-8622-cbeff1f738fd" />
      </body>
      <title>wireshark</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,26b077ab-ef50-40b9-8622-cbeff1f738fd.aspx</guid>
      <link>http://www.biader.it/2008/05/14/wireshark.aspx</link>
      <pubDate>Wed, 14 May 2008 11:12:25 GMT</pubDate>
      <description>&lt;p&gt;
Il conosciuto ethereal con nuovi filtri ed opzioni. Si può scaricare all'indirizzo:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.wireshark.org/"&gt;http://www.wireshark.org/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Con una community piuttosto numerosa e molti interessanti sviluppi.
&lt;/p&gt;
&lt;p&gt;
Qui si&amp;nbsp;possono trovare alcuni esempi di utilizzo dei filtri:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.croccobiscotto.it/?p=902"&gt;http://www.croccobiscotto.it/?p=902&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Mentre qui si possono trovare un pò di captures di esempio:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://wiki.wireshark.org/SampleCaptures"&gt;http://wiki.wireshark.org/SampleCaptures&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Per studiare off-line il comportamento di alcuni standard di messaggio.
&lt;/p&gt;
&lt;p&gt;
Luc.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=26b077ab-ef50-40b9-8622-cbeff1f738fd" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,26b077ab-ef50-40b9-8622-cbeff1f738fd.aspx</comments>
      <category>networks</category>
      <category>tools</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=1bf76f62-39ab-4c10-a72a-1a35a11a990f</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,1bf76f62-39ab-4c10-a72a-1a35a11a990f.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,1bf76f62-39ab-4c10-a72a-1a35a11a990f.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=1bf76f62-39ab-4c10-a72a-1a35a11a990f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Come noto ai più è possibile utilizzare come <em>DataSource</em> di una <em>DataGrid </em>una
collezione qualsiasi, per esempio una <em>ArrayList:</em></p>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"> ArrayList
list <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> ArrayList();
list.Add(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> Customer(2, <span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"anome_0"</span>, <span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"bcognome_0"</span>, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> DateTime(1973,
11, 03))); list.Add(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> Customer(1, <span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"bnome_0"</span>, <span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"ccognome_0"</span>, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> DateTime(1974,
11, 03))); list.Add(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> Customer(3, <span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"cnome_0"</span>, <span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"acognome_0"</span>, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> DateTime(1975,
11, 03))); dg.DataSource <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> list;</span>
        </pre>
        <p>
In questo caso le colonne vengono riempite con le proprietà pubbliche degli oggetti
aggiunti alla collezione, nel caso dell'esempio:
</p>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span>
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">class</span> Customer
{ <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span> Customer(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">int</span> id, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span> nome, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span> cognome,
DateTime nascita) { <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">this</span>.id <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> id; <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">this</span>.nome <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> nome; <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">this</span>.cognome <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> cognome; <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">this</span>.nascita <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> nascita;
} <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">private</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">int</span> id; <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">private</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span> nome; <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">private</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span> cognome; <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">private</span> DateTime
nascita; <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">int</span> Id
{ get { <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">return</span> id;
} set { id <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> value;
} } <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span> Nome
{ get { <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">return</span> nome;
} set { nome <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> value;
} } <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span> Cognome
{ get { <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">return</span> cognome;
} set { cognome <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> value;
} } <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span> DateTime
Nascita { get { <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">return</span> nascita;
} set { nascita <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> value;
} } }</span>
        </pre>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
          </span> </pre>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <font color="#003300" size="2">Il
problema, in questo caso, è che non è possibile scegliere il criterio di ordinamento
degli oggetti direttamente dalla griglia, </font>
          </span>
        </pre>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <font color="#003300" size="2">come
invece avviene nel caso in cui la <em>DataSource</em> sia, per esempio, una <em>DataTable.</em></font>
          </span>
        </pre>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <font color="#003300" size="2">Una
soluzione possibile è quella di estendere la collezione, implementando l'interfaccia <em>IBindingList:</em></font>
          </span>
        </pre>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <em>
              <font color="#003300" size="2">
              </font>
            </em>
          </span> </pre>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <pre>
              <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">       <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">class</span> SortableList
: ArrayList, IBindingList, IComparer         {}</span>
            </pre>
            <pre>
              <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
              </span> </pre>
            <pre> </pre>
            <pre>
              <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
                <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
                  <font color="#003300" size="2">Il
metodo interessante per i nostri scopi è:</font>
                </span>
              </span>
            </pre>
            <pre>
              <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
                <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
                  <font color="#003300" size="2">
                  </font>
                </span>
              </span> </pre>
            <pre>
              <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
                <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
                  <font color="#003300" size="2">
                  </font>
                </span>
              </span> </pre>
            <pre>
              <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
                <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
                  <pre>
                    <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
                      <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span>
                      <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">void</span> ApplySort(PropertyDescriptor
property, ListSortDirection direction) { listSortDirection <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> direction;
sortProperty <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> property; <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">this</span>.Sort(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">this</span>);
}</span>
                  </pre>
                  <pre>
                    <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
                    </span> </pre>
                </span>
              </span>
            </pre>
          </span>
        </pre>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <font color="#003300" size="2">
            </font>
          </span>Che
alla fine chiama:</pre>
        <pre> </pre>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span>
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">int</span> Compare(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">object</span> x, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">object</span> y)
{ Type t <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> x.GetType(); <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">int</span> sign <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> 1; <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> (listSortDirection
== ListSortDirection.Descending) sign <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> -1;
PropertyInfo prp <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> t.GetProperty(sortProperty.Name); <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> (prp.PropertyType.GetInterface(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"IComparable"</span>, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">true</span>)
!<span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">null</span>)
{ IComparable valx <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> (IComparable)prp.GetValue(x, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">null</span>);
IComparable valy <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> (IComparable)prp.GetValue(y, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">null</span>); <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">return</span> valx.CompareTo(valy) <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">*</span> sign;
} <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">else</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">return</span> 0;
}</span>
        </pre>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
          </span> </pre>
        <p>
          <font face="Courier New">Che effettua l'ordinamento vero e proprio.</font>
        </p>
        <pre>Luc.</pre>
        <a href="http://www.biader.it/public/contenuti/binari/SortableList.zip">SortableList.zip
(,85 KB)</a>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=1bf76f62-39ab-4c10-a72a-1a35a11a990f" />
      </body>
      <title>DataGrid e SortableList</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,1bf76f62-39ab-4c10-a72a-1a35a11a990f.aspx</guid>
      <link>http://www.biader.it/2008/05/14/DataGridESortableList.aspx</link>
      <pubDate>Wed, 14 May 2008 07:58:10 GMT</pubDate>
      <description>&lt;p&gt;
Come noto ai più è possibile utilizzare come &lt;em&gt;DataSource&lt;/em&gt; di una &lt;em&gt;DataGrid &lt;/em&gt;una
collezione qualsiasi, per esempio una &lt;em&gt;ArrayList:&lt;/em&gt;
&lt;/p&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt; ArrayList
list &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; ArrayList();
list.Add(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; Customer(2, &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"anome_0"&lt;/span&gt;, &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"bcognome_0"&lt;/span&gt;, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; DateTime(1973,
11, 03))); list.Add(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; Customer(1, &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"bnome_0"&lt;/span&gt;, &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"ccognome_0"&lt;/span&gt;, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; DateTime(1974,
11, 03))); list.Add(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; Customer(3, &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"cnome_0"&lt;/span&gt;, &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"acognome_0"&lt;/span&gt;, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; DateTime(1975,
11, 03))); dg.DataSource &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; list;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
In questo caso le colonne vengono riempite con le proprietà pubbliche degli oggetti
aggiunti alla collezione, nel caso dell'esempio:
&lt;/p&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;class&lt;/span&gt; Customer
{ &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; Customer(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;int&lt;/span&gt; id, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt; nome, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt; cognome,
DateTime nascita) { &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;this&lt;/span&gt;.id &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; id; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;this&lt;/span&gt;.nome &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; nome; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;this&lt;/span&gt;.cognome &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; cognome; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;this&lt;/span&gt;.nascita &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; nascita;
} &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;private&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;int&lt;/span&gt; id; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;private&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt; nome; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;private&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt; cognome; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;private&lt;/span&gt; DateTime
nascita; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;int&lt;/span&gt; Id
{ get { &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;return&lt;/span&gt; id;
} set { id &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; value;
} } &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt; Nome
{ get { &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;return&lt;/span&gt; nome;
} set { nome &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; value;
} } &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt; Cognome
{ get { &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;return&lt;/span&gt; cognome;
} set { cognome &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; value;
} } &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; DateTime
Nascita { get { &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;return&lt;/span&gt; nascita;
} set { nascita &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; value;
} } }&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#003300 size=2&gt;Il
problema, in questo caso, è che non è possibile scegliere il criterio di ordinamento
degli oggetti direttamente dalla griglia, &lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#003300 size=2&gt;come
invece avviene nel caso in cui la &lt;em&gt;DataSource&lt;/em&gt; sia, per esempio, una &lt;em&gt;DataTable.&lt;/em&gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#003300 size=2&gt;Una
soluzione possibile è quella di estendere la collezione, implementando l'interfaccia &lt;em&gt;IBindingList:&lt;/em&gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;em&gt;&lt;font color=#003300 size=2&gt;&lt;/font&gt;&lt;/em&gt;&lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;class&lt;/span&gt; SortableList
: ArrayList, IBindingList, IComparer &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{}&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#003300 size=2&gt;Il
metodo interessante per i nostri scopi è:&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#003300 size=2&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#003300 size=2&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;void&lt;/span&gt; ApplySort(PropertyDescriptor
property, ListSortDirection direction) { listSortDirection &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; direction;
sortProperty &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; property; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;this&lt;/span&gt;.Sort(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;this&lt;/span&gt;);
}&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font color=#003300 size=2&gt;&lt;/font&gt;&lt;/span&gt;Che
alla fine chiama:&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;int&lt;/span&gt; Compare(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;object&lt;/span&gt; x, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;object&lt;/span&gt; y)
{ Type t &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; x.GetType(); &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;int&lt;/span&gt; sign &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; 1; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; (listSortDirection
== ListSortDirection.Descending) sign &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; -1;
PropertyInfo prp &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; t.GetProperty(sortProperty.Name); &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; (prp.PropertyType.GetInterface(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"IComparable"&lt;/span&gt;, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;true&lt;/span&gt;)
!&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;null&lt;/span&gt;)
{ IComparable valx &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; (IComparable)prp.GetValue(x, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;null&lt;/span&gt;);
IComparable valy &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; (IComparable)prp.GetValue(y, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;null&lt;/span&gt;); &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;return&lt;/span&gt; valx.CompareTo(valy) &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;*&lt;/span&gt; sign;
} &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;else&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;return&lt;/span&gt; 0;
}&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;Che effettua l'ordinamento vero e proprio.&lt;/font&gt;
&lt;/p&gt;
&lt;pre&gt;Luc.&lt;/pre&gt;
&lt;a href="http://www.biader.it/public/contenuti/binari/SortableList.zip"&gt;SortableList.zip
(,85 KB)&lt;/a&gt;&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=1bf76f62-39ab-4c10-a72a-1a35a11a990f" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,1bf76f62-39ab-4c10-a72a-1a35a11a990f.aspx</comments>
      <category>.net</category>
      <category>C#</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=7870051c-1ac8-48ec-a481-efa529929a77</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,7870051c-1ac8-48ec-a481-efa529929a77.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,7870051c-1ac8-48ec-a481-efa529929a77.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=7870051c-1ac8-48ec-a481-efa529929a77</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Con windows Vista, analizzando dei file di log di sistema (formato <strong><font color="#800080">*.evt</font></strong>)
con una query del tipo:
</p>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SELECT</span> SourceName,
EventID, MUL(PROPCOUNT(*) <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ON</span> (SourceName),
100.0) <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AS</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Percent</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">FROM</span> E:\remoteLogs\*.evt <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">GROUP</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">BY</span> SourceName,
EventID <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ORDER</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">BY</span> SourceName, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Percent</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">DESC</span></span>
        </pre>
        <p>
si ottiene il seguente fastidioso errore:
</p>
        <p>
          <em>
            <font color="#ff0000">Error executing query: Cannot open &lt;from-entity&gt;:
Error opening event log "</font>
          </em>
          <a href="file://\\?\E:\remoteLogs\application.evt">
            <em>
              <font color="#ff0000">\\?\E:\remoteLogs\application.evt</font>
            </em>
          </a>
          <em>
            <font color="#ff0000">":
The event log file is corrupted. [The event log file is corrupted.]</font>
          </em>
        </p>
        <p>
Si può comunque convertire il file nel formato nativo di Vista (<strong><font color="#800080">*.evtx</font></strong>):
</p>
        <p>
          <font color="#0000ff">wevtutil epl application.evt application.evtx /lf:true</font>
        </p>
        <p>
          <font color="#000000">Ed effettuare poi su quello le query desiderate.</font>
        </p>
        <p>
          <font color="#000000">cfr. <a href="http://blogs.technet.com/neilcar/archive/2007/08/15/plogparser-event-logs-and-vista.aspx">Neil
Carpenter</a></font>
        </p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=7870051c-1ac8-48ec-a481-efa529929a77" />
      </body>
      <title>LogParser e Vista</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,7870051c-1ac8-48ec-a481-efa529929a77.aspx</guid>
      <link>http://www.biader.it/2008/05/13/LogParserEVista.aspx</link>
      <pubDate>Tue, 13 May 2008 08:23:32 GMT</pubDate>
      <description>&lt;p&gt;
Con windows Vista, analizzando dei file di log di sistema (formato &lt;strong&gt;&lt;font color=#800080&gt;*.evt&lt;/font&gt;&lt;/strong&gt;)
con una query del tipo:
&lt;/p&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SELECT&lt;/span&gt; SourceName,
EventID, MUL(PROPCOUNT(*) &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ON&lt;/span&gt; (SourceName),
100.0) &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AS&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;Percent&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;FROM&lt;/span&gt; E:\remoteLogs\*.evt &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;GROUP&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;BY&lt;/span&gt; SourceName,
EventID &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ORDER&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;BY&lt;/span&gt; SourceName, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;Percent&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;DESC&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
si ottiene il seguente fastidioso errore:
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;&lt;font color=#ff0000&gt;Error executing query: Cannot open &amp;lt;from-entity&amp;gt;: Error
opening event log "&lt;/font&gt;&lt;/em&gt;&lt;a href="file://\\?\E:\remoteLogs\application.evt"&gt;&lt;em&gt;&lt;font color=#ff0000&gt;\\?\E:\remoteLogs\application.evt&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font color=#ff0000&gt;":
The event log file is corrupted. [The event log file is corrupted.]&lt;/font&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
Si può comunque convertire il file nel formato nativo di Vista (&lt;strong&gt;&lt;font color=#800080&gt;*.evtx&lt;/font&gt;&lt;/strong&gt;):
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#0000ff&gt;wevtutil epl application.evt application.evtx /lf:true&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#000000&gt;Ed effettuare poi su quello le query desiderate.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#000000&gt;cfr. &lt;a href="http://blogs.technet.com/neilcar/archive/2007/08/15/plogparser-event-logs-and-vista.aspx"&gt;Neil
Carpenter&lt;/a&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=7870051c-1ac8-48ec-a481-efa529929a77" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,7870051c-1ac8-48ec-a481-efa529929a77.aspx</comments>
      <category>tools</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=a75cd97b-3256-4c32-8ade-3f173a344d01</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,a75cd97b-3256-4c32-8ade-3f173a344d01.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,a75cd97b-3256-4c32-8ade-3f173a344d01.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=a75cd97b-3256-4c32-8ade-3f173a344d01</wfw:commentRss>
      <title>Concorrenza basi dati</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,a75cd97b-3256-4c32-8ade-3f173a344d01.aspx</guid>
      <link>http://www.biader.it/2008/05/12/ConcorrenzaBasiDati.aspx</link>
      <pubDate>Mon, 12 May 2008 14:38:31 GMT</pubDate>
      <description>&lt;h1 style="MARGIN: 24pt 0cm 0pt 21.6pt"&gt;&lt;font color=#365f91&gt;&lt;span style="mso-fareast-font-family: Cambria; mso-fareast-theme-font: major-latin; mso-bidi-font-family: Cambria; mso-bidi-theme-font: major-latin"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face=Cambria size=5&gt;1&lt;/font&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face=Cambria size=5&gt;Problemi
di concorrenza&lt;/font&gt;&lt;/font&gt;
&lt;/h1&gt;
&lt;p class=MsoNormal style="MARGIN: 10pt 0cm 0pt; TEXT-ALIGN: justify"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;In contesti nei quali sia possibile l’uso
contemporaneo, da parte di più utenti, della medesima base dati può accadere che si
debbano gestire i problemi correlati. Si possono verificare infatti:&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoListParagraphCxSpFirst style="MARGIN: 10pt 0cm 0pt 37.95pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo2; mso-add-space: auto"&gt;
&lt;font color=#000000&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size=3&gt;·&lt;/font&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face=Calibri size=3&gt;Perdite
di aggiornamento;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoListParagraphCxSpMiddle style="MARGIN: 0cm 0cm 0pt 37.95pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo2; mso-add-space: auto"&gt;
&lt;font color=#000000&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size=3&gt;·&lt;/font&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face=Calibri size=3&gt;Letture
irripetibili;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoListParagraphCxSpLast style="MARGIN: 0cm 0cm 0pt 37.95pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo2; mso-add-space: auto"&gt;
&lt;font color=#000000&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size=3&gt;·&lt;/font&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face=Calibri size=3&gt;Righe
fantasma.&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 10pt 0cm 0pt; TEXT-ALIGN: justify"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;Che, a seconda dell’applicazione, provocano
anomalie di entità abbastanza diversificata. I tre tipi di problemi verranno trattati
in dettaglio separatamente.&lt;/font&gt;
&lt;/p&gt;
&lt;h2 style="MARGIN: 10pt 0cm 0pt 28.8pt"&gt;&lt;font color=#4f81bd&gt;&lt;span style="mso-fareast-font-family: Cambria; mso-fareast-theme-font: major-latin; mso-bidi-font-family: Cambria; mso-bidi-theme-font: major-latin"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face=Cambria size=4&gt;1.1&lt;/font&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face=Cambria size=4&gt;Perdite
di aggiornamento&lt;/font&gt;&lt;/font&gt;
&lt;/h2&gt;
&lt;p class=MsoNormal style="MARGIN: 10pt 0cm 0pt; TEXT-ALIGN: justify"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;Si verificano quando due o più processi tentano
di aggiornare lo stasso dato in parallelo, per esempio incrementando un contatore.
Il valore dovrebbe essere letto e poi aggiornato. Supponiamo ora che i due processi
leggano entrambi lo stesso valore iniziale nello stesso momento: quando il primo processo
andrà ad aggiornare il dato questo verrà assegnato al valore letto più l’incremento
di pertinenza; quindi il secondo processo imposterà anch’esso il dato al valore letto
(non più valido come valore iniziale, considerata la modifica apportata dal primo
processo) più il suo incremento. Schematizzando il problema:&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 10pt 0cm 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;
&lt;o:p&gt;
&lt;font face=Calibri color=#000000 size=3&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;table class=MsoTableLightListAccent3 style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid #9BBB59 1.0pt; mso-border-themecolor: accent3; mso-yfti-tbllook: 1184; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt" cellspacing=0 cellpadding=0 border=1&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #9bbb59 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #9bbb59; PADDING-BOTTOM: 0cm; BORDER-LEFT: #9bbb59 1pt solid; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; mso-border-top-themecolor: accent3; mso-border-left-themecolor: accent3; mso-background-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-yfti-cnfc: 5"&gt;
&lt;b&gt;&lt;span style="COLOR: white; mso-themecolor: background1"&gt;&lt;font face=Calibri&gt;Azione&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #9bbb59 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #9bbb59 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #9bbb59; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; mso-border-top-themecolor: accent3; mso-background-themecolor: accent3; mso-border-right-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-yfti-cnfc: 1"&gt;
&lt;b&gt;&lt;span style="COLOR: white; mso-themecolor: background1"&gt;&lt;font face=Calibri&gt;Valore
dato&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 0"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #9bbb59 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #9bbb59 1pt solid; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid; BACKGROUND-COLOR: transparent; mso-border-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-yfti-cnfc: 68"&gt;
&lt;b&gt;&lt;font color=#000000&gt;&lt;font face=Calibri&gt;Start&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #9bbb59 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #9bbb59 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid; BACKGROUND-COLOR: transparent; mso-border-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-yfti-cnfc: 64"&gt;
&lt;font face=Calibri color=#000000&gt;V(t=0)&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 1"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #9bbb59 1pt solid; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent; mso-border-left-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-yfti-cnfc: 4"&gt;
&lt;font color=#000000&gt;&lt;b&gt;&lt;font face=Calibri&gt;Lettura Processo P1 &lt;/font&gt;&lt;/b&gt;&lt;span style="FONT-FAMILY: Wingdings; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;ß&lt;/span&gt;&lt;/span&gt;&lt;font face=Calibri&gt;&lt;b&gt; &lt;/b&gt;V(t=0)&lt;b&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/b&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #9bbb59 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent; mso-border-right-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;font face=Calibri color=#000000&gt;V(t=0)&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 2"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #9bbb59 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #9bbb59 1pt solid; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid; BACKGROUND-COLOR: transparent; mso-border-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-yfti-cnfc: 68"&gt;
&lt;font color=#000000&gt;&lt;b&gt;&lt;font face=Calibri&gt;Lettura Processo P2 &lt;/font&gt;&lt;/b&gt;&lt;span style="FONT-FAMILY: Wingdings; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;ß&lt;/span&gt;&lt;/span&gt;&lt;font face=Calibri&gt; V(t=0)&lt;b&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/b&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #9bbb59 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #9bbb59 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid; BACKGROUND-COLOR: transparent; mso-border-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-yfti-cnfc: 64"&gt;
&lt;font face=Calibri color=#000000&gt;V(t=0)&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 3"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #9bbb59 1pt solid; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent; mso-border-left-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-yfti-cnfc: 4"&gt;
&lt;font color=#000000&gt;&lt;b&gt;&lt;font face=Calibri&gt;Azione P1 &lt;/font&gt;&lt;/b&gt;&lt;span style="FONT-FAMILY: Wingdings; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;à&lt;/span&gt;&lt;/span&gt;&lt;font face=Calibri&gt;&lt;b&gt; &lt;/b&gt;V(t=1)
= V(t=0) + incr(P1)&lt;b&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/b&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #9bbb59 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent; mso-border-right-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;font face=Calibri color=#000000&gt;V(t=1) = V(t=0) + incr(P1)&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #9bbb59 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #9bbb59 1pt solid; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid; BACKGROUND-COLOR: transparent; mso-border-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-yfti-cnfc: 68"&gt;
&lt;font color=#000000&gt;&lt;b&gt;&lt;font face=Calibri&gt;Azione P2 &lt;/font&gt;&lt;/b&gt;&lt;span style="FONT-FAMILY: Wingdings; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;à&lt;/span&gt;&lt;/span&gt;&lt;font face=Calibri&gt; V(t=2)
= V(t=0) + incr(P2)&lt;b&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/b&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #9bbb59 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #9bbb59 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid; BACKGROUND-COLOR: transparent; mso-border-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-yfti-cnfc: 64"&gt;
&lt;font color=#000000&gt;&lt;font face=Calibri&gt;&lt;span style="mso-bidi-font-weight: bold"&gt;V(t=2&lt;/span&gt;)&lt;span style="mso-bidi-font-weight: bold"&gt; =
V(t=0) + incr(P2&lt;/span&gt;)&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 10pt 0cm 0pt; TEXT-ALIGN: justify"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;Mentre il valore corretto dovrebbe essere
V(t=2) = V(t=0) + incr(P1) + incr(P2), includendo gli incrementi determinati dal passaggio
di entrambi i processi. &lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 10pt 0cm 0pt; TEXT-ALIGN: justify"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;Per risolvere il problema sarebbe sufficiente
fare in modo che gli aggiornamenti vengano eseguiti l’uno dietro l’altro. In tal modo
un secondo processo potrebbe andare in lettura sul dato soltanto dopo che il primo
abbia terminato le sue operazioni. La limitazione sarebbe necessaria soltanto per
processi che lavorino sugli stessi dati, lasciando agli altri la possibilità di lavorare
efficacemente in parallelo.&lt;/font&gt;
&lt;/p&gt;
&lt;h2 style="MARGIN: 10pt 0cm 0pt 28.8pt"&gt;&lt;font color=#4f81bd&gt;&lt;span style="mso-fareast-font-family: Cambria; mso-fareast-theme-font: major-latin; mso-bidi-font-family: Cambria; mso-bidi-theme-font: major-latin"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face=Cambria size=4&gt;1.2&lt;/font&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face=Cambria size=4&gt;Letture
Irripetibili&lt;/font&gt;&lt;/font&gt;
&lt;/h2&gt;
&lt;p class=MsoNormal style="MARGIN: 10pt 0cm 0pt; TEXT-ALIGN: justify"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;Può accadere che, durante l’esecuzione di
un processo, un altro processo modifichi il set di dati di lavoro del primo. Supponiamo
che il processo abbia effettuato la lettura di un insieme di dati per poi, sulla base
di tale lettura, effettuare delle operazioni e dunque rileggere il dato per effettuare
degli aggiornamenti. Se fra la prima e la seconda lettura l’altro processo modifica
il set di dati di lavoro, è probabile che si possano verificare delle anomalie derivanti
dal fatto che il primo processo si aspetta dati diversi. &lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 10pt 0cm 0pt; TEXT-ALIGN: justify"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;Per semplificare torniamo all’esempio precedente
e modifichiamolo leggermente: in questa situazione il dato verrà letto e, se una determinata
condizione è verificata, aggiornato incrementandolo di un valore proveniente da un’altra
lettura:&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;table class=MsoTableLightListAccent3 style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid #9BBB59 1.0pt; mso-border-themecolor: accent3; mso-yfti-tbllook: 1184; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt" cellspacing=0 cellpadding=0 border=1&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #9bbb59 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #9bbb59; PADDING-BOTTOM: 0cm; BORDER-LEFT: #9bbb59 1pt solid; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; mso-border-top-themecolor: accent3; mso-border-left-themecolor: accent3; mso-background-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-yfti-cnfc: 5"&gt;
&lt;b&gt;&lt;span style="COLOR: white; mso-themecolor: background1"&gt;&lt;font face=Calibri&gt;Azione&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #9bbb59 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #9bbb59 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #9bbb59; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; mso-border-top-themecolor: accent3; mso-background-themecolor: accent3; mso-border-right-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-yfti-cnfc: 1"&gt;
&lt;b&gt;&lt;span style="COLOR: white; mso-themecolor: background1"&gt;&lt;font face=Calibri&gt;Valore
dato&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 0"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #9bbb59 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #9bbb59 1pt solid; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid; BACKGROUND-COLOR: transparent; mso-border-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-yfti-cnfc: 68"&gt;
&lt;b&gt;&lt;font color=#000000&gt;&lt;font face=Calibri&gt;Start&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #9bbb59 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #9bbb59 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid; BACKGROUND-COLOR: transparent; mso-border-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-yfti-cnfc: 64"&gt;
&lt;font face=Calibri color=#000000&gt;V(t=0)&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 1"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #9bbb59 1pt solid; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent; mso-border-left-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-yfti-cnfc: 4"&gt;
&lt;font color=#000000&gt;&lt;b&gt;&lt;font face=Calibri&gt;Lettura Processo P1 &lt;/font&gt;&lt;/b&gt;&lt;span style="FONT-FAMILY: Wingdings; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;ß&lt;/span&gt;&lt;/span&gt;&lt;font face=Calibri&gt;&lt;b&gt; &lt;/b&gt;&lt;span style="mso-bidi-font-weight: bold"&gt;V(t=0)&lt;b&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #9bbb59 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent; mso-border-right-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"&gt;
&lt;font face=Calibri color=#000000&gt;V(t=0)&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 2"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #9bbb59 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #9bbb59 1pt solid; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid; BACKGROUND-COLOR: transparent; mso-border-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-yfti-cnfc: 68"&gt;
&lt;font color=#000000&gt;&lt;b&gt;&lt;font face=Calibri&gt;Azione P2 &lt;/font&gt;&lt;/b&gt;&lt;span style="FONT-FAMILY: Wingdings; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;à&lt;/span&gt;&lt;/span&gt;&lt;font face=Calibri&gt;&lt;b&gt; &lt;/b&gt;&lt;span style="mso-bidi-font-weight: bold"&gt;V(t=1)&lt;b&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #9bbb59 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #9bbb59 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid; BACKGROUND-COLOR: transparent; mso-border-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-yfti-cnfc: 64"&gt;
&lt;font face=Calibri color=#000000&gt;V(t=1)&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 3"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #9bbb59 1pt solid; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent; mso-border-left-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-yfti-cnfc: 4"&gt;
&lt;font color=#000000&gt;&lt;font face=Calibri&gt;&lt;b&gt;Condizione&lt;/b&gt;&lt;b&gt;&lt;span lang=EN-US style="mso-ansi-language: EN-US"&gt; P1:
if cond(V(T=0)) then 
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #9bbb59 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent; mso-border-right-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"&gt;
&lt;font color=#000000&gt;&lt;font face=Calibri&gt;V(t=1)&lt;span lang=EN-US style="mso-ansi-language: EN-US"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 4"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #9bbb59 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #9bbb59 1pt solid; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid; BACKGROUND-COLOR: transparent; mso-border-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-yfti-cnfc: 68"&gt;
&lt;font color=#000000&gt;&lt;b&gt;&lt;font face=Calibri&gt;Lettura Processo P1 &lt;/font&gt;&lt;/b&gt;&lt;span style="FONT-FAMILY: Wingdings; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;ß&lt;/span&gt;&lt;/span&gt;&lt;font face=Calibri&gt;&lt;b&gt; &lt;/b&gt;&lt;span style="mso-bidi-font-weight: bold"&gt;W(t=0)&lt;b&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #9bbb59 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #9bbb59 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid; BACKGROUND-COLOR: transparent; mso-border-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-yfti-cnfc: 64"&gt;
&lt;font face=Calibri color=#000000&gt;V(t=1)&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 5; mso-yfti-lastrow: yes"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #9bbb59 1pt solid; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-themecolor: accent3; mso-border-bottom-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-yfti-cnfc: 4"&gt;
&lt;font color=#000000&gt;&lt;b&gt;&lt;font face=Calibri&gt;Azione P1 &lt;/font&gt;&lt;/b&gt;&lt;span style="FONT-FAMILY: Wingdings; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;à&lt;/span&gt;&lt;/span&gt;&lt;font face=Calibri&gt;&lt;b&gt; &lt;/b&gt;&lt;span style="mso-bidi-font-weight: bold"&gt;V(t=2)
= V(t=1) + W(t=0)&lt;b&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #9bbb59 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid; BACKGROUND-COLOR: transparent; mso-border-right-themecolor: accent3; mso-border-bottom-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"&gt;
&lt;font face=Calibri color=#000000&gt;V(t=2)&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 10pt 0cm 0pt; TEXT-ALIGN: justify"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;In questo caso l’aggiornamento è effettuato
se la condizione è verificata, condizione che però non ha valore perché valutata sullo
stato &lt;i style="mso-bidi-font-style: normal"&gt;precedente&lt;/i&gt; del dato, che ora ha un
valore diverso.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 10pt 0cm 0pt; TEXT-ALIGN: justify"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;La soluzione in questo caso consiste nell’impedire
ad un processo l’aggiornamento di un dato che sia stato già letto da un altro processo
non ancora terminato.&lt;/font&gt;
&lt;/p&gt;
&lt;h2 style="MARGIN: 10pt 0cm 0pt 28.8pt"&gt;&lt;font color=#4f81bd&gt;&lt;span style="mso-fareast-font-family: Cambria; mso-fareast-theme-font: major-latin; mso-bidi-font-family: Cambria; mso-bidi-theme-font: major-latin"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face=Cambria size=4&gt;1.3&lt;/font&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face=Cambria size=4&gt;Righe
fantasma&lt;/font&gt;&lt;/font&gt;
&lt;/h2&gt;
&lt;p class=MsoNormal style="MARGIN: 10pt 0cm 0pt; TEXT-ALIGN: justify"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;In alcuni casi due processi, pur non lavorando
sugli stessi dati ma sugli stessi insiemi, possono tuttavia interferire. Supponiamo
che si voglia aggiornare un campo dati che rappresenta la percentuale di vendite di
un singolo prodotto: si dovrà calcolare l’ammontare complessivo delle vendite e per
tale numero dividere le vendite di un singolo prodotto moltiplicate per 100. Se dopo
questa operazione vengono aggiunte le statistiche di vendita di un nuovo prodotto
nell’ultimo mese, è chiaro che l’ammontare sul quale verrà calcolata la percentuale
sarà scorretto, senza tuttavia che i due processi abbiano mai lavorato sul medesimo
dato. Schematicamente:&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 10pt 0cm 0pt; TEXT-ALIGN: justify"&gt;
&lt;o:p&gt;
&lt;font face=Calibri color=#000000 size=3&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;table class=MsoTableLightListAccent3 style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid #9BBB59 1.0pt; mso-border-themecolor: accent3; mso-yfti-tbllook: 1184; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt" cellspacing=0 cellpadding=0 border=1&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #9bbb59 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #9bbb59; PADDING-BOTTOM: 0cm; BORDER-LEFT: #9bbb59 1pt solid; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; mso-border-top-themecolor: accent3; mso-border-left-themecolor: accent3; mso-background-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-yfti-cnfc: 5"&gt;
&lt;b&gt;&lt;span style="COLOR: white; mso-themecolor: background1"&gt;&lt;font face=Calibri&gt;Azione&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #9bbb59 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #9bbb59 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #9bbb59; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; mso-border-top-themecolor: accent3; mso-background-themecolor: accent3; mso-border-right-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-yfti-cnfc: 1"&gt;
&lt;b&gt;&lt;span style="COLOR: white; mso-themecolor: background1"&gt;&lt;font face=Calibri&gt;Valore
dato&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 0"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #9bbb59 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #9bbb59 1pt solid; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid; BACKGROUND-COLOR: transparent; mso-border-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-yfti-cnfc: 68"&gt;
&lt;b&gt;&lt;font color=#000000&gt;&lt;font face=Calibri&gt;Start&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #9bbb59 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #9bbb59 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid; BACKGROUND-COLOR: transparent; mso-border-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-yfti-cnfc: 64"&gt;
&lt;font face=Calibri color=#000000&gt;Somma(t=0)&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 1"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #9bbb59 1pt solid; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent; mso-border-left-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-yfti-cnfc: 4"&gt;
&lt;font color=#000000&gt;&lt;b&gt;&lt;font face=Calibri&gt;Lettura Processo P1 &lt;/font&gt;&lt;/b&gt;&lt;span style="FONT-FAMILY: Wingdings; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;ß&lt;/span&gt;&lt;/span&gt;&lt;font face=Calibri&gt;&lt;b&gt; &lt;/b&gt;&lt;span style="mso-bidi-font-weight: bold"&gt;Somma(t=0)&lt;b&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #9bbb59 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent; mso-border-right-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"&gt;
&lt;font face=Calibri color=#000000&gt;Somma(t=0)&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 2"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #9bbb59 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #9bbb59 1pt solid; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid; BACKGROUND-COLOR: transparent; mso-border-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-yfti-cnfc: 68"&gt;
&lt;font color=#000000&gt;&lt;b&gt;&lt;font face=Calibri&gt;Azione P2 &lt;/font&gt;&lt;/b&gt;&lt;span style="FONT-FAMILY: Wingdings; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;à&lt;/span&gt;&lt;/span&gt;&lt;font face=Calibri&gt;&lt;b&gt; &lt;/b&gt;&lt;span style="mso-bidi-font-weight: bold"&gt;Inserimento
elemento N&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #9bbb59 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #9bbb59 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid; BACKGROUND-COLOR: transparent; mso-border-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-yfti-cnfc: 64"&gt;
&lt;font face=Calibri color=#000000&gt;Somma(t=1)&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 3; mso-yfti-lastrow: yes"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #9bbb59 1pt solid; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid; BACKGROUND-COLOR: transparent; mso-border-left-themecolor: accent3; mso-border-bottom-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-yfti-cnfc: 4"&gt;
&lt;font color=#000000&gt;&lt;b&gt;&lt;font face=Calibri&gt;Azione P1 &lt;/font&gt;&lt;/b&gt;&lt;span style="FONT-FAMILY: Wingdings; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;à&lt;/span&gt;&lt;/span&gt;&lt;font face=Calibri&gt; &lt;span style="mso-bidi-font-weight: bold"&gt;Aggiornamento
percentuali (anche N)&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #9bbb59 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid; BACKGROUND-COLOR: transparent; mso-border-right-themecolor: accent3; mso-border-bottom-themecolor: accent3" valign=top width=326&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"&gt;
&lt;font face=Calibri color=#000000&gt;Somma(t=1)&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 10pt 0cm 0pt; TEXT-ALIGN: justify"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;Per impedire questo tipo di problema non si
può far altro che far eseguire uno dietro l’altro (&lt;i style="mso-bidi-font-style: normal"&gt;serializzare&lt;/i&gt;)
i processi che debbano lavorare sugli stessi insiemi.&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=a75cd97b-3256-4c32-8ade-3f173a344d01" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,a75cd97b-3256-4c32-8ade-3f173a344d01.aspx</comments>
      <category>SQL</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=7113bc9c-b13a-4734-88b1-0d6d19b31e4f</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,7113bc9c-b13a-4734-88b1-0d6d19b31e4f.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,7113bc9c-b13a-4734-88b1-0d6d19b31e4f.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=7113bc9c-b13a-4734-88b1-0d6d19b31e4f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Per i fanatici di questo classico, una chicca:
</p>
        <p>
          <a href="http://www.intermed.it/shuttle/box1028/">http://www.intermed.it/shuttle/box1028/</a>
        </p>
        <p>
Da cui si possono scaricare degli mp3 dei suoni campionati dalla versione italiana
del film.
</p>
        <p>
Luc.
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=7113bc9c-b13a-4734-88b1-0d6d19b31e4f" />
      </body>
      <title>Frankenstein jr.</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,7113bc9c-b13a-4734-88b1-0d6d19b31e4f.aspx</guid>
      <link>http://www.biader.it/2008/05/12/FrankensteinJr.aspx</link>
      <pubDate>Mon, 12 May 2008 13:15:03 GMT</pubDate>
      <description>&lt;p&gt;
Per i fanatici di questo classico, una chicca:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.intermed.it/shuttle/box1028/"&gt;http://www.intermed.it/shuttle/box1028/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Da cui si possono scaricare degli mp3 dei suoni campionati dalla versione italiana
del film.
&lt;/p&gt;
&lt;p&gt;
Luc.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=7113bc9c-b13a-4734-88b1-0d6d19b31e4f" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,7113bc9c-b13a-4734-88b1-0d6d19b31e4f.aspx</comments>
      <category>diario</category>
      <category>OT</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=7904696f-1774-46a7-ba1f-6b52854d8089</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,7904696f-1774-46a7-ba1f-6b52854d8089.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,7904696f-1774-46a7-ba1f-6b52854d8089.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=7904696f-1774-46a7-ba1f-6b52854d8089</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
L'icona (da mettere nella root del sito) che viene visualizzata nella barra di explorer.
</p>
        <p>
Si può editare con l'interessante tool:
</p>
        <p>
          <a href="http://www.favicon.cc/">http://www.favicon.cc/</a>
        </p>
        <p>
Che permette di crearne anche di animate...
</p>
        <p>
;)
</p>
        <p>
Luc.
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=7904696f-1774-46a7-ba1f-6b52854d8089" />
      </body>
      <title>favicon.ico</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,7904696f-1774-46a7-ba1f-6b52854d8089.aspx</guid>
      <link>http://www.biader.it/2008/05/12/faviconico.aspx</link>
      <pubDate>Mon, 12 May 2008 10:30:52 GMT</pubDate>
      <description>&lt;p&gt;
L'icona (da mettere nella root del sito) che viene visualizzata nella barra di explorer.
&lt;/p&gt;
&lt;p&gt;
Si può editare con l'interessante tool:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.favicon.cc/"&gt;http://www.favicon.cc/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Che permette di crearne anche di animate...
&lt;/p&gt;
&lt;p&gt;
;)
&lt;/p&gt;
&lt;p&gt;
Luc.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=7904696f-1774-46a7-ba1f-6b52854d8089" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,7904696f-1774-46a7-ba1f-6b52854d8089.aspx</comments>
      <category>.net</category>
      <category>ASP.net</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=62359fc0-597e-47db-a86c-85a04412458e</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,62359fc0-597e-47db-a86c-85a04412458e.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,62359fc0-597e-47db-a86c-85a04412458e.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=62359fc0-597e-47db-a86c-85a04412458e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Applicazione web per convertire il codice VB in codice C#:
</p>
        <p>
          <a href="http://labs.developerfusion.co.uk/convert/vb-to-csharp.aspx">http://labs.developerfusion.co.uk/convert/vb-to-csharp.aspx</a>
        </p>
        <p>
per chi non fosse ancora convinto, fa anche la conversione da C# a VB.
</p>
        <p>
 ;)
</p>
        <p>
Luc.
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=62359fc0-597e-47db-a86c-85a04412458e" />
      </body>
      <title>Converti il VB in C#</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,62359fc0-597e-47db-a86c-85a04412458e.aspx</guid>
      <link>http://www.biader.it/2008/05/12/ConvertiIlVBInC.aspx</link>
      <pubDate>Mon, 12 May 2008 09:37:17 GMT</pubDate>
      <description>&lt;p&gt;
Applicazione web per convertire il codice VB in codice C#:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://labs.developerfusion.co.uk/convert/vb-to-csharp.aspx"&gt;http://labs.developerfusion.co.uk/convert/vb-to-csharp.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
per chi non fosse ancora convinto, fa anche&amp;nbsp;la conversione da C# a VB.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;;)
&lt;/p&gt;
&lt;p&gt;
Luc.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=62359fc0-597e-47db-a86c-85a04412458e" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,62359fc0-597e-47db-a86c-85a04412458e.aspx</comments>
      <category>.net</category>
      <category>C#</category>
      <category>VB</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=e4332691-7bc2-46cf-8035-0d2579d0dc12</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,e4332691-7bc2-46cf-8035-0d2579d0dc12.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,e4332691-7bc2-46cf-8035-0d2579d0dc12.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=e4332691-7bc2-46cf-8035-0d2579d0dc12</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Libreria C# per effettuare queries su LogParser.
</p>
        <p>
Come si usa:
</p>
        <p>
      <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">       
IComplexQueryGateway gateway <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> LogParserGatewayFactory.CreateGateway(LogType.IISLog);</span></p>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">            //
seleziono il o i files su cui effettuare la query</span>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"> SelectQuery
query <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> SelectQuery("&lt;percorso&gt;\ex*.log"); </span>
        </pre>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">            //
imposto colonne, condizioni di where, groupby, orderby query.AddFields(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"cs-uri-stem
as Url; sc-status as Status; COUNT(*) as Errors"</span>); query.AddWheres(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"sc-status
&gt;= 400; date &gt;= TIMESTAMP ( '2008-04-01', 'yyyy-MM-dd' )"</span>); query.AddGroupBys(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"Url;
Status"</span>); query.AddOrderBys(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"Errors
DESC"</span>); </span>
        </pre>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">            //
ritorno il dataset risultante <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">return</span> gateway.Data(query);</span> </pre>
        <p>
Le queries possono essere anche testuali, utilizzando l'interfaccia <em>ISimpleQueryGateway. </em>La
libreria si può utilizzare anche per effettuare queries sull'eventLog.
</p>
        <p>
Luc.
</p>
        <a href="http://www.biader.it/public/contenuti/binari/IISLogWrapper.zip">IISLogWrapper.zip
(8,31 KB)</a>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=e4332691-7bc2-46cf-8035-0d2579d0dc12" />
      </body>
      <title>Libreria LogParser</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,e4332691-7bc2-46cf-8035-0d2579d0dc12.aspx</guid>
      <link>http://www.biader.it/2008/05/12/LibreriaLogParser.aspx</link>
      <pubDate>Mon, 12 May 2008 09:28:10 GMT</pubDate>
      <description>&lt;p&gt;
Libreria C# per effettuare queries su LogParser.
&lt;/p&gt;
&lt;p&gt;
Come si usa:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
IComplexQueryGateway gateway &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; LogParserGatewayFactory.CreateGateway(LogType.IISLog);&lt;/span&gt;
&lt;/p&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//
seleziono il o i files su cui effettuare la query&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt; SelectQuery
query &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; SelectQuery("&amp;lt;percorso&amp;gt;\ex*.log"); &lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//
imposto colonne, condizioni di where, groupby, orderby query.AddFields(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"cs-uri-stem
as Url; sc-status as Status; COUNT(*) as Errors"&lt;/span&gt;); query.AddWheres(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"sc-status
&amp;gt;= 400; date &amp;gt;= TIMESTAMP ( '2008-04-01', 'yyyy-MM-dd' )"&lt;/span&gt;); query.AddGroupBys(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"Url;
Status"&lt;/span&gt;); query.AddOrderBys(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"Errors
DESC"&lt;/span&gt;); &lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//
ritorno il dataset risultante &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;return&lt;/span&gt; gateway.Data(query);&lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;p&gt;
Le queries possono essere anche testuali, utilizzando l'interfaccia &lt;em&gt;ISimpleQueryGateway.&amp;nbsp;&lt;/em&gt;La
libreria si può utilizzare anche&amp;nbsp;per effettuare queries sull'eventLog.
&lt;/p&gt;
&lt;p&gt;
Luc.
&lt;/p&gt;
&lt;a href="http://www.biader.it/public/contenuti/binari/IISLogWrapper.zip"&gt;IISLogWrapper.zip
(8,31 KB)&lt;/a&gt;&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=e4332691-7bc2-46cf-8035-0d2579d0dc12" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,e4332691-7bc2-46cf-8035-0d2579d0dc12.aspx</comments>
      <category>.net</category>
      <category>C#</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=4b9df3ee-efd1-461d-89df-cbb9f443c1b1</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,4b9df3ee-efd1-461d-89df-cbb9f443c1b1.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,4b9df3ee-efd1-461d-89df-cbb9f443c1b1.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=4b9df3ee-efd1-461d-89df-cbb9f443c1b1</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Un tool grafico che si appoggia sul più noto <a href="http://www.logparser.com">LogParser</a>.
Si trova all'url:
</p>
        <p>
          <a href="http://www.codeplex.com/visuallogparser">http://www.codeplex.com/visuallogparser</a>
        </p>
        <p>
Permette di effettuare query sql-like anche abbastanza complesse su svariati
tipi di file di log (Log di IIS, EventLog, ...).
</p>
        <p>
Luc.
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=4b9df3ee-efd1-461d-89df-cbb9f443c1b1" />
      </body>
      <title>Visual LogParser</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,4b9df3ee-efd1-461d-89df-cbb9f443c1b1.aspx</guid>
      <link>http://www.biader.it/2008/05/12/VisualLogParser.aspx</link>
      <pubDate>Mon, 12 May 2008 09:19:06 GMT</pubDate>
      <description>&lt;p&gt;
Un tool grafico che si appoggia sul più noto &lt;a href="http://www.logparser.com"&gt;LogParser&lt;/a&gt;.
Si trova all'url:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.codeplex.com/visuallogparser"&gt;http://www.codeplex.com/visuallogparser&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Permette di effettuare query sql-like&amp;nbsp;anche abbastanza complesse su svariati
tipi di file di log (Log di IIS, EventLog, ...).
&lt;/p&gt;
&lt;p&gt;
Luc.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=4b9df3ee-efd1-461d-89df-cbb9f443c1b1" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,4b9df3ee-efd1-461d-89df-cbb9f443c1b1.aspx</comments>
      <category>tools</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=a4d38819-9cb4-4188-9b47-fa5781532dad</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,a4d38819-9cb4-4188-9b47-fa5781532dad.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,a4d38819-9cb4-4188-9b47-fa5781532dad.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=a4d38819-9cb4-4188-9b47-fa5781532dad</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Un proxy per controllare i messaggi (TCP, HTTP, ...) inviati verso un sito:
</p>
        <p>
          <a href="http://www.pocketsoap.com/tcptrace/">http://www.pocketsoap.com/tcptrace/</a>
        </p>
        <p>
Semplice-semplice, non funziona per i messaggi soap.
</p>
        <p>
Luc.
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=a4d38819-9cb4-4188-9b47-fa5781532dad" />
      </body>
      <title>TcpTrace</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,a4d38819-9cb4-4188-9b47-fa5781532dad.aspx</guid>
      <link>http://www.biader.it/2008/05/11/TcpTrace.aspx</link>
      <pubDate>Sun, 11 May 2008 08:44:48 GMT</pubDate>
      <description>&lt;p&gt;
Un proxy per controllare i messaggi (TCP, HTTP, ...) inviati verso un sito:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.pocketsoap.com/tcptrace/"&gt;http://www.pocketsoap.com/tcptrace/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Semplice-semplice, non funziona per i messaggi soap.
&lt;/p&gt;
&lt;p&gt;
Luc.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=a4d38819-9cb4-4188-9b47-fa5781532dad" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,a4d38819-9cb4-4188-9b47-fa5781532dad.aspx</comments>
      <category>tools</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=a6fc9b17-5fa0-4431-ab8b-cbca12d68afe</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,a6fc9b17-5fa0-4431-ab8b-cbca12d68afe.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,a6fc9b17-5fa0-4431-ab8b-cbca12d68afe.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=a6fc9b17-5fa0-4431-ab8b-cbca12d68afe</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Simpatico client ftp (c'è anche un server) disponibile all'url:
</p>
        <p>
          <a href="http://filezilla-project.org/">http://filezilla-project.org/</a>.
</p>
        <p>
Che cosa fa:
</p>
        <ol>
          <li>
Rinomina e sposta file e cartelle remoti 
</li>
          <li>
Modifica i permessi su file e cartelle 
</li>
          <li>
Modifica al volo i file remoti 
</li>
          <li>
Salva le impostazioni (usr e pwd) dei propri siti per smart-connection</li>
        </ol>
        <p>
Luc.
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=a6fc9b17-5fa0-4431-ab8b-cbca12d68afe" />
      </body>
      <title>FileZilla</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,a6fc9b17-5fa0-4431-ab8b-cbca12d68afe.aspx</guid>
      <link>http://www.biader.it/2008/05/11/FileZilla.aspx</link>
      <pubDate>Sun, 11 May 2008 08:26:12 GMT</pubDate>
      <description>&lt;p&gt;
Simpatico client ftp (c'è anche un server) disponibile all'url:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://filezilla-project.org/"&gt;http://filezilla-project.org/&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Che cosa fa:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Rinomina e sposta file e cartelle remoti 
&lt;li&gt;
Modifica i permessi su file e cartelle 
&lt;li&gt;
Modifica al volo i file remoti 
&lt;li&gt;
Salva le impostazioni (usr e pwd) dei propri siti per smart-connection&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Luc.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=a6fc9b17-5fa0-4431-ab8b-cbca12d68afe" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,a6fc9b17-5fa0-4431-ab8b-cbca12d68afe.aspx</comments>
      <category>tools</category>
    </item>
    <item>
      <trackback:ping>http://www.biader.it/Trackback.aspx?guid=23b14c77-68d7-4701-a3da-c86be514c44b</trackback:ping>
      <pingback:server>http://www.biader.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.biader.it/PermaLink,guid,23b14c77-68d7-4701-a3da-c86be514c44b.aspx</pingback:target>
      <dc:creator>Luca</dc:creator>
      <wfw:comment>http://www.biader.it/CommentView,guid,23b14c77-68d7-4701-a3da-c86be514c44b.aspx</wfw:comment>
      <wfw:commentRss>http://www.biader.it/SyndicationService.asmx/GetEntryCommentsRss?guid=23b14c77-68d7-4701-a3da-c86be514c44b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Primo giorno di attività.
</p>
        <p>
DasBlog mi sembra carino. Ho dovuto fare qualche modifica per adattarlo al mio servizio
di hosting. 
</p>
        <p>
Mi piace: molto l'editor del codice 
</p>
        <p>
Non mi piace: i messaggi salvabili solo su file xml (esisterà un data provider per
db access ?)
</p>
        <p>
Boh, vedremo. Se ho un pò di tempo mi studio la cosa.
</p>
        <p>
ciaCiao,
</p>
        <p>
Luc.
</p>
        <p>
 
</p>
        <img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=23b14c77-68d7-4701-a3da-c86be514c44b" />
      </body>
      <title>Modifica completata</title>
      <guid isPermaLink="false">http://www.biader.it/PermaLink,guid,23b14c77-68d7-4701-a3da-c86be514c44b.aspx</guid>
      <link>http://www.biader.it/2008/05/11/ModificaCompletata.aspx</link>
      <pubDate>Sun, 11 May 2008 07:30:57 GMT</pubDate>
      <description>&lt;p&gt;
Primo giorno di attività.
&lt;/p&gt;
&lt;p&gt;
DasBlog mi sembra carino. Ho dovuto fare qualche modifica per adattarlo al mio servizio
di hosting. 
&lt;/p&gt;
&lt;p&gt;
Mi piace: molto l'editor del codice&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Non mi piace: i messaggi salvabili solo su file xml (esisterà un data provider per
db access ?)
&lt;/p&gt;
&lt;p&gt;
Boh, vedremo. Se ho un pò di tempo mi studio la cosa.
&lt;/p&gt;
&lt;p&gt;
ciaCiao,
&lt;/p&gt;
&lt;p&gt;
Luc.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.biader.it/aggbug.ashx?id=23b14c77-68d7-4701-a3da-c86be514c44b" /&gt;</description>
      <comments>http://www.biader.it/CommentView,guid,23b14c77-68d7-4701-a3da-c86be514c44b.aspx</comments>
      <category>diario</category>
    </item>
  </channel>
</rss>