<?xml version="1.0" encoding="utf-8" ?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns="http://purl.org/rss/1.0/">




    



<channel rdf:about="http://www.artifex.it/blog/RSS">
  <title>Informatica, gestione energetica ... e altro</title>
  <link>http://www.artifex.it</link>

  <description>
    
      Idee e pensieri in libertà su informatica, internet, gestione energetica, fonti energetiche alternative ... e altro
    
  </description>

  

  
            <syn:updatePeriod>daily</syn:updatePeriod>
            <syn:updateFrequency>1</syn:updateFrequency>
            <syn:updateBase>2011-07-27T16:41:18Z</syn:updateBase>
        

  <image rdf:resource="http://www.artifex.it/logo.png"/>

  <items>
    <rdf:Seq>
      
        <rdf:li rdf:resource="http://www.artifex.it/energia/pubblicata-la-parte-4-delle-norme-uni-ts-11300"/>
      
      
        <rdf:li rdf:resource="http://www.artifex.it/informatica/rubate-le-password-di-60.000-account-twitter"/>
      
      
        <rdf:li rdf:resource="http://www.artifex.it/informatica/social-button-un-po-piu-accessibili-e-con-sintassi-xhtml-valida"/>
      
      
        <rdf:li rdf:resource="http://www.artifex.it/informatica/un-paio-di-riflessioni-sulla-compromissione-delle-passoword-di-dreamhost"/>
      
      
        <rdf:li rdf:resource="http://www.artifex.it/energia/pronta-la-norma-uni-tr-11428-gestione-dellenergia-diagnosi-energetiche-requisiti-generali-del-servizio-di-diagnosi-energetica"/>
      
      
        <rdf:li rdf:resource="http://www.artifex.it/informatica/web2py-premiato-da-infoworld-come-una-delle-migliori-tecnologie-del-2012"/>
      
      
        <rdf:li rdf:resource="http://www.artifex.it/informatica/gomo-il-web-per-i-dispositivi-mobili"/>
      
      
        <rdf:li rdf:resource="http://www.artifex.it/informatica/ericsson-labs-mappe-e-posizionamento-allinterno-degli-edifici"/>
      
      
        <rdf:li rdf:resource="http://www.artifex.it/energia/nuovi-requisti-di-efficienza-energetica-per-gli-edifici-in-emilia-romagna"/>
      
      
        <rdf:li rdf:resource="http://www.artifex.it/informatica/google-traduttore-vocale-per-android"/>
      
    </rdf:Seq>
  </items>

</channel>


  <item rdf:about="http://www.artifex.it/energia/pubblicata-la-parte-4-delle-norme-uni-ts-11300">
    <title>Pubblicata la parte 4 delle norme UNI TS 11300</title>
    <link>http://www.artifex.it/energia/pubblicata-la-parte-4-delle-norme-uni-ts-11300</link>
    <description>10 maggio 2012 - Completata la pubblicazione delle norme per la certificazione energetica degli edifici</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Oggi è stata pubblicata la parte conclusiva delle norme<span> che riguardano il risparmio energetico e la certificazione energetica degli edifici, la UNI TS 11300 - parte 4.</span></p>
<p><span></span>Tutte le informazioni nella <a class="external-link" href="http://11300.cti2000.it/">sezione dedicata del sito del CTI</a>.</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>admin</dc:creator>
    <dc:rights></dc:rights>
    <dc:date>2012-05-10T13:47:29Z</dc:date>
    <dc:type>Pagina</dc:type>
  </item>


  <item rdf:about="http://www.artifex.it/informatica/rubate-le-password-di-60.000-account-twitter">
    <title>Rubate le password di 60.000 account Twitter</title>
    <link>http://www.artifex.it/informatica/rubate-le-password-di-60.000-account-twitter</link>
    <description>9 maggio 2012 - Ancora una compromissione degli account dovuta probabilmente ad una  progettazione della sicurezza dei dati dell'applicazione non molto attenta.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Ci risiamo, ecco un altro sito in cui vengono rubate le password degli utenti!</p>
<p>La notizia è segnalata da <a class="external-link" href="http://www.repubblica.it/tecnologia/2012/05/09/news/twitter_password_rubate-34744206/">repubblica.it</a>.</p>
<p>Era già accaduto a DreamHost tempo fa, ne avevo parlato in <span><a href="http://www.artifex.it/informatica/un-paio-di-riflessioni-sulla-compromissione-delle-passoword-di-dreamhost" class="internal-link">Un paio di riflessioni sulla compromissione delle password di DreamHost</a>.</span></p>
<p><span>Il tempo è passato ma evidentemente gli errori commessi in precedenza - anche da altri è addirittura meglio - non sono serviti ad evitare il ripetersi dei guai.</span></p>
<p>Le considerazioni fatte nel mio precedente post restano attuali, purtroppo.</p>
<p>Se usate Twitter, per sicurezza, cambiate la password ma soprattutto, vista la leggerezza con cui vengono gestite le credenziali degli utenti, non utilizzate mai la stessa password per siti diversi, usate un password manager!</p>
<p>[UPDATE]</p>
<p>Secondo quando riportato da <a class="external-link" href="http://gizmodo.com/5908700/its-okay-to-look-through-these-hacked-passwords">Gizmodo</a> l'allarme infondato in quando molti degli account coinvolti erano spambot.</p>
<p>A me, però, resta un dubbio in quando la frase "<i><span>It's easy to tell that these are spambots, because almost all of the accounts have </span><span>the type of passwords that are easy for a robot to remember but easier for an actual person to forget</span></i>" continua a farmi pensare che memorizzino le password in chiaro.</p>
<p>Inoltre anche il tipo di password che usoio, cioè generata in maniera causale, potrebbe essere confuso con quella di uno spambot per cui il messaggio non mi sembra comunque molto tranquillizzante.</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>admin</dc:creator>
    <dc:rights></dc:rights>
    <dc:date>2012-05-09T16:20:00Z</dc:date>
    <dc:type>Pagina</dc:type>
  </item>


  <item rdf:about="http://www.artifex.it/informatica/social-button-un-po-piu-accessibili-e-con-sintassi-xhtml-valida">
    <title>Social button un po' più accessibili e con sintassi XHTML valida.</title>
    <link>http://www.artifex.it/informatica/social-button-un-po-piu-accessibili-e-con-sintassi-xhtml-valida</link>
    <description>18 aprile 2012 - Cerchiamo di migliorare i widget che forniscono Facebook, Twitter e Google.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Da diverso tempo collaboro con <a class="external-link" href="http://www.aptservizi.com">APT Servizi</a> allo sviluppo del portale turistico dell'Emilia-Romagna e a volte mi capita di dover far andar d'accordo i requisiti di accessibilità con aspetti che hanno esigenze del tutto diverse.</p>
<p>Un caso che mi è successo di recente è la richiesta dell'inserimento dei pulsanti con i contatori per la condivisione delle informazioni sui principali social network.</p>
<p>I widget che vengono forniti già pronti spesso sono poco accessibili e realizzati con tag o attributi proprietari che rendono il codice sintatticamente non valido.</p>
<p>Come possiamo cercare di migliorare la situazione?</p>
<p> </p>
<h2>Facebook</h2>
<p>Il codice che viene fornito per il pulsante con "like" non è un granché.</p>
<p>Innanzi tutto seguiamo le indicazioni che suggeriscono di mettere nel tag HTML il riferimento al namespace proprietario per far apparire il pulsante anche nelle vecchie versioni di Internet Explorer:</p>
<pre>&lt;html xmlns:fb="http://ogp.me/ns/fb"&gt;</pre>
<p>Poi lavoriamo un po' sul codice per cercare di risolvere i problemi principali di questo widget: il tag e/o gli attributi proprietari che quindi non sono riconosciuti dal validatore sintattico e il fatto che senza JavaScript il pulsante non compare.</p>
<p>Ecco, dunque, il frammento di codice da inserire dove di vuole fare apparire il pulsante:</p>
<pre>&lt;div id="bfacebook" class="fb-like"&gt;&lt;a class="external-link" href="http://www.facebook.com/share.php?u=<strong><i>http://www.dominio.it/pagina</i></strong>"&gt;&lt;img id="facebook-link" width="16" height="16" alt="Condividi su Facebook" title="Condividi su Facebook" src="<strong><i>facebook-ico.gif</i></strong>" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
(function(d, s, id) {

    var t = d.getElementById('bfacebook');
    t.innerHTML = '';
    // t.setAttribute('data-send', 'true');
    t.setAttribute('data-layout', 'button_count');

    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return;
    js = d.createElement(s); js.id = id;
    js.src = "//connect.facebook.net/it_IT/all.js#xfbml=1";
    fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
--&gt;
&lt;/script&gt;
</pre>
<div></div>
<p>In questo modo il codice della pagina diventa sintatticamente corretto e senza di JavaScript il pulsante con il contatore viene sostituito da una immagine e un link che consentono comunque di assegnare il "mi piace" e di segnalare la pagina.</p>
<p>{ho evidenziato "<i>http://www.dominio.it/pagina</i>" e "<i>facebook-ico.gif</i>" perché dovrete sostituirli con quelli adatti al vostro caso: il primo è l'URL della pagina e il secondo è l'URL dell'immagine sostitutiva nel caso il JavaScript non sia operativo}</p>
<p>Il risultato ottenuto, però, non è ancora molto accessibile perché non permette la navigazione tramite tastiera. Purtroppo non è neanche possibile cercare di correggerlo seguendo i preziosi consigli di <a class="external-link" href="http://www.deyla.com/jacopo/">Jacopo Deyla</a> perché bisognerebbe intervenire con codice JavaScript su di un iframe caricato da un altro dominio, cosa non permessa dai browser per motivi di sicurezza.</p>
<p>Perché, allora, non provare ad usare il vecchio pulsante, quello con "share"?</p>
<p>Quest'ultimo, effettivamente, si presta molto meglio ai nostri scopi perché non usa iframe e l'unico aspetto negativo è che essendo deprecato forse un giorno non funzionerà più.</p>
<p>Ecco il frammento:</p>
<pre>&lt;div id="bfacebook"&gt;
&lt;a type='button_count' id="fb_share" href="http://www.facebook.com/share.php?u=<strong><i>http://www.dominio.it/pagina</i></strong>"  class="external-link"&gt;&lt;img id="facebook-link" src="<i><strong>facebook-ico.gif</strong></i>" width="16" height="16" alt="Condividi su Facebook" title="Condividi su Facebook" /&gt;&lt;/a&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
(function(d, s, id){
    var div = jq('#bfacebook');
    var a = jq('#fb_share');
    div.css('width', '107px');
    a.attr('name', 'fb_share');
    a.html('');

    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return;
    js = d.createElement(s); js.id = id;
    js.src = "//static.ak.fbcdn.net/connect.php/js/FB.Share";
    fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jsshare'));

function setupFB() {
    no_count = $('.fb_share_no_count');
    if (no_count.length) {
        no_count.removeClass('fb_share_no_count');
        var button = $('.FBConnectButton');
        var inner = $('.fb_share_count_inner');
        var count = $('.fb_share_count');
        button.css('webkit-border-radius', '3px');
        button.css('moz-border-radius', '3px');
        button.css('border-radius', '3px');
        count.css('webkit-border-radius', '3px');
        count.css('moz-border-radius', '3px');
        count.css('border-radius', '3px');
        inner.css('background-color', '#ffffff')
        inner.css('webkit-border-radius', '3px');
        inner.css('moz-border-radius', '3px');
        inner.css('border-radius', '3px');
        inner.css('font-weight', 'normal');
        inner.text('0');
    } else
        setTimeout('setupFB()', 250);
}
$(setupFB());
--&gt;
&lt;/script&gt;
&lt;/div&gt;
</pre>
<div></div>
<div></div>
<p>{analogo discorso a quello fatto precedentemente per "<i>http://www.dominio.it/pagina</i>" e "<i>facebook-ico.gif</i>"}</p>
<p>In questa versione ho anche fatto un po' di restyling grafico per uniformare l'aspetto del pulsante a quello degli altri due, per semplicità ho usato istruzioni jQuery (sono quelle che iniziano con <i>"$"</i>).</p>
<h2>Twitter</h2>
<p>Il codice che ci viene suggerito, per accessibilità e validità sintattica, è già molto buono, ho solo sostituito il testo "Tweet" con un'icona per uniformare il risultato in caso di JavaScript disabilitato:</p>
<pre>&lt;div&gt;&lt;a class="twitter-share-button external-link" href="https://twitter.com/share?url=<i><strong>http://www.dominio.it/pagina</strong></i>&amp;amp;lang=it&amp;amp;via=<i><strong>artifex_it</strong></i>"&gt;&lt;img width="16" height="16" alt="Condividi su Twitter" title="Condividi su Twitter" src="<i><strong>twitter-ico.gif</strong></i>" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
--&gt;
&lt;/script&gt;</pre>
<p>{anche qui ho evidenziato "<i>http://www.dominio.it/pagina</i>", "<i>artifex_it</i>" e "<i>twitter-ico.gif</i>" perché dovrete sostituirli con quelli adatti al vostro caso, "<i>artifex_it</i>" è un account twitter. Se non volete indicare un account twitter basta eliminare "<span><i>&amp;amp;via=</i></span><i>artifex_it</i>"}</p>
<p> </p>
<h2>Google +</h2>
<div></div>
<div></div>
<p>Infine ecco il widget per Google +, che non funziona con browser un po' datati (esempio IE7):</p>
<pre>&lt;div id="bplusone"&gt;&lt;a href="https://plusone.google.com/_/+1/confirm?hl=it&amp;amp;url='<strong><i>http://www.dominio.it/pagina</i></strong>" class="external-link"&gt;&lt;img src="<strong><i>plusone-ico.gif</i></strong>" width="16" height="16" alt="Condividi su Google Plus" title="Condividi su Google Plus" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
  window.___gcfg = {lang: 'it'};

  (function() {

    var t = document.getElementById('bplusone');
    var bt = document.createElement('g:plusone');
    bt.setAttribute('size', 'medium');
    // t.parentNode.insertBefore(bt, t);
    t.parentNode.replaceChild(bt, t);

    // alert(document.getElementsByTagName('g:plusone'));

    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
--&gt;
&lt;/script&gt;
</pre>
<div></div>
<p>{come nei casi precedenti "<i>http://www.dominio.it/pagina</i>" e "<i>plusone-ico.gif</i>" andranno personalizzati secondo il caso.}</p>
<p> </p>
<h2>Una viewlet per Plone</h2>
<p>Se usate <strong>Plone</strong> potete creare una viewlet con il seguente template ed inserirla nel punto della pagina che preferite</p>
<pre><div id="_mcePaste">&lt;div id="share-links" tal:define="actual_url context/REQUEST/ACTUAL_URL;
                                  query_string python:context.REQUEST['QUERY_STRING'] != '' and '?' + context.REQUEST['QUERY_STRING'] or '';
                                  full_url string:${actual_url}${query_string}"&gt;
    &lt;ul&gt;
        &lt;li tal:condition="nothing"&gt;
            &lt;!-- FACEBOOK LIKE --&gt;
            &lt;div id="bfacebook" class="fb-like"&gt;&lt;a tal:attributes="href python:'http://www.facebook.com/share.php?u=' + full_url" class="external-link"&gt;&lt;img id="facebook-link" tal:attributes="src string:${context/portal_url}/portal_skins/custom/facebook-ico.gif" width="16" height="16" alt="Condividi su Facebook" title="Condividi su Facebook" i18n:attributes="alt facebook-share-alt; title facebook-share-title" /&gt;&lt;/a&gt;&lt;/div&gt;
            &lt;script type="text/javascript"&gt;
            &lt;!--
            (function(d, s, id) {

                var t = d.getElementById('bfacebook');
                t.innerHTML = '';
                // t.setAttribute('data-send', 'true');
                t.setAttribute('data-layout', 'button_count');

                var js, fjs = d.getElementsByTagName(s)[0];
                if (d.getElementById(id)) return;
                js = d.createElement(s); js.id = id;
                js.src = "//connect.facebook.net/it_IT/all.js#xfbml=1";
                fjs.parentNode.insertBefore(js, fjs);
            }(document, 'script', 'facebook-jssdk'));
            --&gt;
            &lt;/script&gt;
        &lt;/li&gt;
        &lt;li&gt;
            &lt;!-- FACEBOOK SHARE--&gt;
            &lt;div id="bfacebook"&gt;
            &lt;a type='button_count' id="fb_share" tal:attributes="href python:'http://www.facebook.com/share.php?u=' + full_url"  class="external-link"&gt;&lt;img id="facebook-link" tal:attributes="src string:${context/portal_url}/portal_skins/custom/facebook-ico.gif" width="16" height="16" alt="Condividi su Facebook" title="Condividi su Facebook" i18n:attributes="alt facebook-share-alt; title facebook-share-title" /&gt;&lt;/a&gt;
            &lt;script type="text/javascript"&gt;
            &lt;!--
            (function(d, s, id){
                var div = jq('#bfacebook');
                var a = jq('#fb_share');
                div.css('width', '107px');
                a.attr('name', 'fb_share');
                a.html('');

                var js, fjs = d.getElementsByTagName(s)[0];
                if (d.getElementById(id)) return;
                js = d.createElement(s); js.id = id;
                js.src = "//static.ak.fbcdn.net/connect.php/js/FB.Share";
                fjs.parentNode.insertBefore(js, fjs);
            }(document, 'script', 'facebook-jsshare'));

            function setupFB() {
                no_count = jq('.fb_share_no_count');
                if (no_count.length) {
                    no_count.removeClass('fb_share_no_count');
                    var button = jq('.FBConnectButton');
                    var inner = jq('.fb_share_count_inner');
                    var count = jq('.fb_share_count');
                    button.css('webkit-border-radius', '3px');
                    button.css('moz-border-radius', '3px');
                    button.css('border-radius', '3px');
                    count.css('webkit-border-radius', '3px');
                    count.css('moz-border-radius', '3px');
                    count.css('border-radius', '3px');
                    inner.css('background-color', '#ffffff')
                    inner.css('webkit-border-radius', '3px');
                    inner.css('moz-border-radius', '3px');
                    inner.css('border-radius', '3px');
                    inner.css('font-weight', 'normal');
                    inner.text('0');
                } else
                    setTimeout('setupFB()', 250);
            }
            jq(setupFB());
            --&gt;
            &lt;/script&gt;
            &lt;/div&gt;
        &lt;/li&gt;
        &lt;li&gt;
            &lt;!-- TWITTER --&gt;
            &lt;div&gt;&lt;a tal:attributes="href python: 'https://twitter.com/share?url=' + full_url + '&amp;amp;lang=' + context.REQUEST['LANGUAGE'] + '&amp;amp;via=artifexit'" class="twitter-share-button external-link"&gt;&lt;img tal:attributes="src string:${context/portal_url}/portal_skins/custom/twitter-ico.gif" width="16" height="16" alt="Condividi su Twitter" title="Condividi su Twitter" i18n:attributes="alt twitter-share-alt; title twitter-share-title" /&gt;&lt;/a&gt;&lt;/div&gt;
            &lt;script type="text/javascript"&gt;
            &lt;!--
            !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
            --&gt;
            &lt;/script&gt;
        &lt;/li&gt;
        &lt;li&gt;
            &lt;!-- GOOGLE + --&gt;
            &lt;div id="bplusone"&gt;&lt;a tal:attributes="href python: 'https://plusone.google.com/_/+1/confirm?hl=' + context.REQUEST['LANGUAGE'] + '&amp;amp;url=' + full_url" class="external-link"&gt;&lt;img tal:attributes="src string:${context/portal_url}/portal_skins/custom/plusone-ico.gif" width="16" height="16" alt="Condividi su Google Plus" title="Condividi su Google Plus" i18n:attributes="alt plusone-share-alt; title plusone-share-title" /&gt;&lt;/a&gt;&lt;/div&gt;
            &lt;script type="text/javascript"&gt;
            &lt;!--
              window.___gcfg = {lang: 'it'};

              (function() {

                var t = document.getElementById('bplusone');
                var bt = document.createElement('g:plusone');
                bt.setAttribute('size', 'medium');
                // t.parentNode.insertBefore(bt, t);
                t.parentNode.replaceChild(bt, t);

                // alert(document.getElementsByTagName('g:plusone'));

                var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
                po.src = 'https://apis.google.com/js/plusone.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
              })();
            --&gt;
            &lt;/script&gt;
        &lt;/li&gt;
    &lt;/ul&gt;
&lt;/div&gt;
</div><div></div></pre>
<div></div>
<div>Oppure, se siete pigri come me, potete personalizzare direttamente via web (con la ZMI) i template di visualizzazione dei tipi di contenuti che usate nel sito.</div>
<div>{anche in questo caso, come nei precedenti, per le immagini bisogna indicare i riferimenti che sono adatti alla propria installazione, ad esempio <i>"${context/portal_url}/portal_skins/custom/plusone-ico.gif</i>" per Google +, e occorre sostituire "<i>artifex_it</i>" con il proprio account twitter oppure eliminare "<i>&amp;amp;via=artifex_it</i>" se non lo si vuole indicare}</div>
<p> </p>
<h2>Conclusioni</h2>
<p>Siamo riusciti a rendere sintatticamente valido il codice XHTML 1.1 che fa apparire i pulsanti per la condivisione sui social network nella versione con i contatori delle attività.</p>
<p>Abbiamo cercato di rendere il tutto un po' più accessibile e fare in modo che tutto funzionasse anche senza JavaScript.</p>
<p>Le pagine di questo sito sono fatte utilizzando il codice descritto in questo articolo e potete provare a verificarne la correttezza sintattica o il funzionamento senza JavaScript.</p>
<p> </p>
<p>Il rispetto dei requisiti di accessibilità può anche essere divertente se non visto come sterile imposizione ma come sfida intellettuale! :-)</p>
<div>{Una precisazione: le pagine di questo sito sono in XHTML 1.0 transitional per via di alcuni tag nel prodotto Plone che permette di fare commenti anonimi, ma le soluzioni adottate sono sintatticamente valide anche per XHTML 1.1 strict}</div>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>admin</dc:creator>
    <dc:rights></dc:rights>
    <dc:date>2012-04-19T07:35:00Z</dc:date>
    <dc:type>Pagina</dc:type>
  </item>


  <item rdf:about="http://www.artifex.it/informatica/un-paio-di-riflessioni-sulla-compromissione-delle-passoword-di-dreamhost">
    <title>Un paio di riflessioni sulla compromissione delle password di DreamHost</title>
    <link>http://www.artifex.it/informatica/un-paio-di-riflessioni-sulla-compromissione-delle-passoword-di-dreamhost</link>
    <description>22 gennaio 2011 - Corretta progettazione di tutte le parti di un'applicazione web e prudente gestione delle password, sempre.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Oggi leggo su <a class="external-link" href="http://techcrunch.com/2012/01/20/dreamhost-hacked-password-changes-made-mandatory/">TechCrunch</a> che è stata rilevata un'intrusione non autorizzata ai database di DreamHost, un hosting provider statunitense abbastanza utilizzato anche qui in Italia.</p>
<p>Dopo la scoperta dell'intrusione sono stati disabilitati tutti gli account perché è possibile che siano state compromesse le password.</p>
<p>Sono cose che possono capitare, ma questa vicenda mi fa venire in mente un paio di considerazioni.</p>
<p><strong>Ma memorizzavano le password in chiaro senza cifrarle?!</strong><br />Se così fosse si tratterebbe di un gravissimo errore di progettazione di quel sistema ed è auspicabile che ora abbiano risolto il problema, ma  se avete un account su DreamHost ed utilizzate in altri siti password simili cambiatele subito tutte.</p>
<p>Una pratica come quella ipoteticamente tenuta da DreamHost, tra l'altro, in Italia sarebbe vietata dal Codice in materia di protezione dei dati personali (il D.Lgs. 30 giugno 2003, n. 196).</p>
<p><strong>Impostare password sempre diverse.</strong><br />È molto importante usare una password diversa per ogni sito in cui ci si registra, se queste diventano troppe da memorizzare usate un gestore di password, online od offline come preferite, ne esistono anche per gli smartphone.</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>admin</dc:creator>
    <dc:rights></dc:rights>
    <dc:date>2012-01-22T01:55:00Z</dc:date>
    <dc:type>Pagina</dc:type>
  </item>


  <item rdf:about="http://www.artifex.it/energia/pronta-la-norma-uni-tr-11428-gestione-dellenergia-diagnosi-energetiche-requisiti-generali-del-servizio-di-diagnosi-energetica">
    <title>Pronta la norma UNI/TR  11428 "Gestione dell'energia - Diagnosi energetiche - Requisiti generali del servizio di diagnosi energetica"</title>
    <link>http://www.artifex.it/energia/pronta-la-norma-uni-tr-11428-gestione-dellenergia-diagnosi-energetiche-requisiti-generali-del-servizio-di-diagnosi-energetica</link>
    <description>11 gennaio 2012 - In attesa di pubblicazione nel catalogo UNI.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Questa norma, insieme alle precedentemente pubblicate</p>
<ul>
<li>UNI CEI EN ISO 50001 "Sistemi di gestione dell'energia",</li>
<li>UNI CEI 11532 "Requisiti di qualificazione delle ESCO" e</li>
<li>UNI CEI 11339 "Requisiti degli esperti in gestione dell'energia"</li>
</ul>
<p>esaudisce le richieste contenute nel D.L.gs 115/2008 (art. 16).</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>admin</dc:creator>
    <dc:rights></dc:rights>
    <dc:date>2012-01-11T15:55:00Z</dc:date>
    <dc:type>Pagina</dc:type>
  </item>


  <item rdf:about="http://www.artifex.it/informatica/web2py-premiato-da-infoworld-come-una-delle-migliori-tecnologie-del-2012">
    <title>Web2py premiato da InfoWorld come una delle migliori tecnologie del 2012</title>
    <link>http://www.artifex.it/informatica/web2py-premiato-da-infoworld-come-una-delle-migliori-tecnologie-del-2012</link>
    <description>11 gennaio 2012 - Il framework web2py è stato riconosciuto da InfoWorld come una delle migliori tecnologie del 2012.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><img src="http://www.artifex.it/informatica/img/web2pyinfoworld.jpg/image_mini" alt="web2py-infoworlds" class="image-left" /></p>
<p>Il link alla <a class="external-link" href="http://www.infoworld.com/slideshow/24605/infoworlds-2012-technology-the-year-award-winners-183313#slide23">pagina del premio</a> e quello al <a class="external-link" href="http://www.infoworld.com/d/application-development/pillars-python-six-python-web-frameworks-compared-169442">confronto di 9 framework in python</a>.</p>
<p>Io l'ho usato per integrare dati di tipo relazionale in un progetto realizzato in Plone che invece utilizza un paradigma ad oggetti: web2py gestisce i dati relazionali archiviati in un db MySQL e restituisce il risultato delle interrogazioni in formato XML; Plone mostra questi risultati tramite una vista ed un archetype sviluppati appositamente.</p>
<p>Devo dire che mi sono trovato benissimo: è leggero, semplice ed intuitivo da usare, ha un'architettura molto sobria, completa ma nello stesso tempo facile da estendere, condivido le conclusioni di InfoWorld.</p>
<div class="extra" style="float: none; "></div>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>admin</dc:creator>
    <dc:rights></dc:rights>
    <dc:date>2012-01-11T15:40:00Z</dc:date>
    <dc:type>Pagina</dc:type>
  </item>


  <item rdf:about="http://www.artifex.it/informatica/gomo-il-web-per-i-dispositivi-mobili">
    <title>Gomo, il web per i dispositivi mobili secondo Google</title>
    <link>http://www.artifex.it/informatica/gomo-il-web-per-i-dispositivi-mobili</link>
    <description>14 novembre 2011 - L'iniziativa di Google per rendere più facile l'uso dei siti web dagli smartphone.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><img src="http://www.artifex.it/informatica/img/mainlogo.png" alt="GoMo" class="image-left" /><a class="external-link" href="http://www.howtogomo.com/">Gomo</a> è il sito che Google ha creato per spiegare come viene viene visto un sito web da un dispositivo mobile e per suggerire buone pratiche nella realizzazione dei siti stessi.</p>
<p>Insomma, Google ci sta caldamente suggerendo (e aiutando) ad esplorare queste tecnologie.</p>
<p>C'è anche <a class="external-link" href="http://www.howtogomo.com/en/media/downloads/GoMo_Playbook.pdf">un'interessantissima guida per le agenzie web</a> - ma è molto utile anche a chi possiede un sito web - in cui è presentato uno studio sul tipo di utilizzo che viene fatto della navigazione internet tramite smartphone nel mercato americano: ad esempio alla fine del 2011 il 50% degli utenti adulti utilizzerà uno smartphone, il 95% del totale degli utilizzatori lo utilizzerà per ricerche a carattere locale e il 79% utilizzerà lo smartphone per aiutarsi nella scelta di cosa acquistare.</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>admin</dc:creator>
    <dc:rights></dc:rights>
    <dc:date>2011-11-14T16:25:00Z</dc:date>
    <dc:type>Pagina</dc:type>
  </item>


  <item rdf:about="http://www.artifex.it/informatica/ericsson-labs-mappe-e-posizionamento-allinterno-degli-edifici">
    <title>Ericsson Labs: mappe e posizionamento all'interno degli edifici</title>
    <link>http://www.artifex.it/informatica/ericsson-labs-mappe-e-posizionamento-allinterno-degli-edifici</link>
    <description>14 novembre 2011 - Vengono messi a disposizione gli strumenti per disegnare le mappe degli edifici e fornire le informazioni sul posizionamento al loro interno.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><img src="http://www.artifex.it/informatica/img/indooriconlarge.png" alt="indooriconlarge.png" class="image-left" />Gli Ericsson Labs hanno pubblicato un tool grafico con cui è possibile disegnare la mappa di un edificio e una API per Google Android che permette di visualizzare il posizionamento di un terminale mobile all'interno dell'edificio stesso.</p>
<p>Ecco il link alla sezione del sito dove trovare tutte le informazioni: <a class="external-link" href="https://labs.ericsson.com/apis/indoor-maps-and-positioning/">Indoor Maps e Positioning</a></p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>admin</dc:creator>
    <dc:rights></dc:rights>
    <dc:date>2011-11-14T11:55:00Z</dc:date>
    <dc:type>Pagina</dc:type>
  </item>


  <item rdf:about="http://www.artifex.it/energia/nuovi-requisti-di-efficienza-energetica-per-gli-edifici-in-emilia-romagna">
    <title>Nuovi requisti di efficienza energetica per gli edifici in Emilia-Romagna</title>
    <link>http://www.artifex.it/energia/nuovi-requisti-di-efficienza-energetica-per-gli-edifici-in-emilia-romagna</link>
    <description>15 ottobre 2011 - La Regione Emilia-Romagna ha pubblicato la modifica alla Delibera 156/2008 che recepisce il  D.Lgs. 28/2011</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Pubblicata sul Bollettino Regionale la delibera con cui si approvano le modifiche alle norme vigenti.</p>
<p>Link ai documenti:</p>
<ul>
<li><a class="external-link" href="http://bur.regione.emilia-romagna.it/dettaglio-bollettino?b=5be17a3dd402e447760a8f40e687b754">Bollettino regionale n. 151 del 6 ottobre 2011 (parte seconda)</a></li>
<li><a class="external-link" href="http://bur.regione.emilia-romagna.it/dettaglio-inserzione?i=073128c6eafcf7b764f09389a16d8b10http://bur.regione.emilia-romagna.it/dettaglio-inserzione?i=073128c6eafcf7b764f09389a16d8b10">Testo coordinato del secondo allegato alla Delibera 156/2008</a></li>
</ul>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>admin</dc:creator>
    <dc:rights></dc:rights>
    <dc:date>2011-10-15T15:25:00Z</dc:date>
    <dc:type>Pagina</dc:type>
  </item>


  <item rdf:about="http://www.artifex.it/informatica/google-traduttore-vocale-per-android">
    <title>Google: traduttore vocale per Android</title>
    <link>http://www.artifex.it/informatica/google-traduttore-vocale-per-android</link>
    <description>15 ottobre 2011 - Aggiornata l'applicazione che ora traduce anche l'Italiano!</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Il nuovo aggiornamento per l'applicazione che esegue le traduzioni vocali ora è in grado di tradurre da e verso brasiliano, portoghese, ceco, olandese, francese, tedesco, italiano, giapponese, coreano, cinese mandarino, polacco, russo e turco oltre ad inglese e spagnolo che erano presenti fin dall'inizio.</p>
<p><a class="external-link" href="http://googleblog.blogspot.com/2011/10/start-conversation-with-google.html">Ecco il link alla notizia: http://googleblog.blogspot.com/2011/10/start-conversation-with-google.html</a></p>
<p>Insomma, siamo vicini al traduttore universale dell'Enterprise! :-)</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>admin</dc:creator>
    <dc:rights></dc:rights>
    <dc:date>2011-10-15T10:30:00Z</dc:date>
    <dc:type>Pagina</dc:type>
  </item>





</rdf:RDF>

