<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
> <channel><title>Just another blog &#187; opensource</title> <atom:link href="http://www.mcalamelli.net/category/opensource/feed/" rel="self" type="application/rss+xml" /><link>http://www.mcalamelli.net</link> <description>Just another blog... si, lo tengo così</description> <lastBuildDate>Sat, 04 Feb 2012 17:32:20 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <atom:link rel='hub' href='http://www.mcalamelli.net/?pushpress=hub'/> <item><title>K&amp;R[IP]</title><link>http://www.mcalamelli.net/2011/10/13/krip/</link> <comments>http://www.mcalamelli.net/2011/10/13/krip/#comments</comments> <pubDate>Thu, 13 Oct 2011 07:04:35 +0000</pubDate> <dc:creator>mcalamelli</dc:creator> <category><![CDATA[life]]></category> <category><![CDATA[linux]]></category> <category><![CDATA[opensource]]></category> <category><![CDATA[rip]]></category> <guid
isPermaLink="false">http://www.mcalamelli.net/?p=38530</guid> <description><![CDATA[Se n&#8217;è andato pure lui. RIP.<p
class="extra"><a
href="http://jarederickson.com/freebies/" title="Jared Erickson" >A minimal wordpress theme by Jared Erickson</a></p>]]></description> <content:encoded><![CDATA[<p><img
src="http://www.mcalamelli.net/wp-content/uploads/2011/10/Ken_n_dennis.jpg" alt="Dennis Ritchie (a destra) con Ken Thompson" title="Dennis Ritchie (a destra) con Ken Thompson" width="310" height="201" class="alignnone size-full wp-image-38531" /></p><p>Se n&#8217;è andato pure <a
href="http://it.wikipedia.org/wiki/Dennis_Ritchie" target="_blank">lui</a>. RIP.</p> ]]></content:encoded> <wfw:commentRss>http://www.mcalamelli.net/2011/10/13/krip/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Tre progetti tre</title><link>http://www.mcalamelli.net/2011/01/19/tre-progetti-tre/</link> <comments>http://www.mcalamelli.net/2011/01/19/tre-progetti-tre/#comments</comments> <pubDate>Wed, 19 Jan 2011 09:15:16 +0000</pubDate> <dc:creator>mcalamelli</dc:creator> <category><![CDATA[life]]></category> <category><![CDATA[opensource]]></category> <category><![CDATA[progetti]]></category> <guid
isPermaLink="false">http://www.mcalamelli.net/?p=37719</guid> <description><![CDATA[E&#8217; maledettamente frustrante. Sei in qualche modo interessato a tre progetti, e su due di questi hai basato altrettanti tuoi lavori; poi in poco tempo scopri che: * il team che sviluppa la ROM per il tuo vecchio smartphone Android ha smesso di supportarlo; * l&#8217;estensione che usi per lo script che tanto ti ha [...]<p
class="extra"><a
href="http://jarederickson.com/freebies/" title="Jared Erickson" >A minimal wordpress theme by Jared Erickson</a></p>]]></description> <content:encoded><![CDATA[<p>E&#8217; maledettamente frustrante. Sei in qualche modo interessato a tre progetti, e su due di questi hai basato altrettanti tuoi lavori; poi in poco tempo scopri che:</p><p>* il <a
href="http://www.cyanogenmod.com/home/cm7-nightly-builds" target="_blank">team</a> che sviluppa la ROM per il tuo vecchio smartphone Android ha smesso di supportarlo;<br
/> * l&#8217;estensione che usi per lo script che tanto ti ha reso famoso in FF ha un <a
href="http://groups.google.com/group/greasemonkey-users/msg/da7b023a918cf332" target="_blank">bug</a> noto che nessuno sembra intenzionato a risolvere;<br
/> * il servizio al quale si appoggia il plugin WordPress che hai rimesso in sesto o funziona male o ha cambiato la modalità di funzionamento, e ti arrivano <a
href="http://twitter.com/howlingmad/status/27395180378202114#" target="_blank">segnalazioni</a> di bug che non puoi risolvere;</p><p>Valuto seriamente l&#8217;idea di mollare tutto, sistemare il giardino della padrona di casa e farci un orto.</p> ]]></content:encoded> <wfw:commentRss>http://www.mcalamelli.net/2011/01/19/tre-progetti-tre/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Greasemonkey e localStorage</title><link>http://www.mcalamelli.net/2011/01/12/greasemonkey-e-localstorage/</link> <comments>http://www.mcalamelli.net/2011/01/12/greasemonkey-e-localstorage/#comments</comments> <pubDate>Wed, 12 Jan 2011 14:58:19 +0000</pubDate> <dc:creator>mcalamelli</dc:creator> <category><![CDATA[javascript]]></category> <category><![CDATA[opensource]]></category> <category><![CDATA[friendfeed]]></category> <category><![CDATA[hidebykeyword]]></category> <guid
isPermaLink="false">http://www.mcalamelli.net/?p=37688</guid> <description><![CDATA[Tentando di scrivere una nuova e più completa versione dello script FFHideByKeyword mi sono scontrato con un subdolo e fastidioso bug di Greasemokey, il famoso script engine per Firefox che permette di modificare il comportamento ed il layout di una pagina HTML. Il bug in questione è legato all&#8217;utilizzo del localStorage, una tecnologia introdotta con [...]<p
class="extra"><a
href="http://jarederickson.com/freebies/" title="Jared Erickson" >A minimal wordpress theme by Jared Erickson</a></p>]]></description> <content:encoded><![CDATA[<p>Tentando di scrivere una nuova e più completa versione dello script <a
href="http://userscripts.org/scripts/show/68487" target="_blank">FFHideByKeyword</a> mi sono scontrato con un subdolo e fastidioso bug di <a
href="https://addons.mozilla.org/it/firefox/addon/748/" target="_blank">Greasemokey</a>, il famoso script engine per Firefox che permette di modificare il comportamento ed il layout di una pagina HTML. Il bug in questione è legato all&#8217;utilizzo del <a
href="http://www.w3.org/TR/webstorage/#the-localstorage-attribute" target="_blank">localStorage</a>, una tecnologia introdotta con HTML5 alternativa ai vecchi cookie, tecnologia che uso per archiviare le parole chiave indesiderate scelte dall&#8217;utente. La tecnologia è supportata dai maggiori browser [è possibile fare un test a questo indirizzo: <a
href="http://html5test.com/" target="_blank">HTML5 test</a>], fornisce delle API chiare e facili da usare, e mi è quindi sembrato un peccato non sfruttarla.<br
/> Ma veniamo al bug. La parte subdola sta nel fatto che non tutte le API sono disponibili, e quella che manca è la proprietà <strong>window.localStorage.length</strong>, che riporta il numero di coppie chiave/valore presenti nello storage. La proprietà è molto importante, perché in assenza di <a
href="http://it.wikipedia.org/wiki/Iteratore" target="_blank">iteratori</a> conoscere questo valore è l&#8217;unico modo pulito per accedere agli elementi, con un classico ciclo <strong>for</strong>:</p><div
class="codecolorer-container javascript blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/>2<br
/>3<br
/>4<br
/></div></td><td><div
class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span
style="color: #000066; font-weight: bold;">for</span> <span
style="color: #009900;">&#40;</span><span
style="color: #003366; font-weight: bold;">var</span> i <span
style="color: #339933;">=</span> <span
style="color: #CC0000;">0</span><span
style="color: #339933;">;</span> i <span
style="color: #339933;">&lt;</span> window.<span
style="color: #660066;">localStorage</span>.<span
style="color: #660066;">length</span><span
style="color: #339933;">;</span> i<span
style="color: #339933;">++</span><span
style="color: #009900;">&#41;</span> <span
style="color: #009900;">&#123;</span><br
/> &nbsp; &nbsp;k <span
style="color: #339933;">=</span> window.<span
style="color: #660066;">localStorage</span>.<span
style="color: #660066;">key</span><span
style="color: #009900;">&#40;</span>i<span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> &nbsp; &nbsp;myFunction<span
style="color: #009900;">&#40;</span>window.<span
style="color: #660066;">localStorage</span>.<span
style="color: #660066;">getItem</span><span
style="color: #009900;">&#40;</span>k<span
style="color: #009900;">&#41;</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> <span
style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div><p>Ho usato il termine pulito perché in effetti è si possibile usare un metodo alternativo, ma sinceramente lo trovo brutto e per nulla ottimizzato. Il seguente ciclo potrebbe funzionare, ma non l&#8217;ho testato:</p><div
class="codecolorer-container javascript blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/>2<br
/>3<br
/>4<br
/>5<br
/>6<br
/>7<br
/>8<br
/></div></td><td><div
class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span
style="color: #003366; font-weight: bold;">var</span> i <span
style="color: #339933;">=</span> <span
style="color: #CC0000;">0</span><span
style="color: #339933;">;</span><br
/> <span
style="color: #000066; font-weight: bold;">if</span> <span
style="color: #009900;">&#40;</span>window.<span
style="color: #660066;">localStorage</span>.<span
style="color: #660066;">key</span><span
style="color: #009900;">&#40;</span>i<span
style="color: #009900;">&#41;</span> <span
style="color: #339933;">!=</span> <span
style="color: #003366; font-weight: bold;">null</span><span
style="color: #009900;">&#41;</span> <span
style="color: #009900;">&#123;</span><br
/> &nbsp; &nbsp;<span
style="color: #000066; font-weight: bold;">do</span> <span
style="color: #009900;">&#123;</span><br
/> &nbsp; &nbsp; &nbsp; k <span
style="color: #339933;">=</span> window.<span
style="color: #660066;">localStorage</span>.<span
style="color: #660066;">key</span><span
style="color: #009900;">&#40;</span>i<span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> &nbsp; &nbsp; &nbsp; myFunction<span
style="color: #009900;">&#40;</span>window.<span
style="color: #660066;">localStorage</span>.<span
style="color: #660066;">getItem</span><span
style="color: #009900;">&#40;</span>k<span
style="color: #009900;">&#41;</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> &nbsp; &nbsp; &nbsp; i<span
style="color: #339933;">++;</span><br
/> &nbsp; &nbsp;<span
style="color: #009900;">&#125;</span> <span
style="color: #000066; font-weight: bold;">while</span> <span
style="color: #009900;">&#40;</span>window.<span
style="color: #660066;">localStorage</span>.<span
style="color: #660066;">key</span><span
style="color: #009900;">&#40;</span>i<span
style="color: #009900;">&#41;</span> <span
style="color: #339933;">!=</span> <span
style="color: #003366; font-weight: bold;">null</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> <span
style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div><p>Il bug è facilmente verificabile.<br
/> Il seguente codice HTML è funzionante:</p><div
class="codecolorer-container html4strict blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/>2<br
/>3<br
/>4<br
/>5<br
/>6<br
/>7<br
/>8<br
/>9<br
/>10<br
/>11<br
/>12<br
/>13<br
/>14<br
/></div></td><td><div
class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span
style="color: #009900;">&lt;<a
href="http://december.com/html/4/element/html.html"><span
style="color: #000000; font-weight: bold;">html</span></a>&gt;</span><br
/> <span
style="color: #009900;">&lt;<a
href="http://december.com/html/4/element/head.html"><span
style="color: #000000; font-weight: bold;">head</span></a>&gt;</span><br
/> <span
style="color: #009900;">&lt;<span
style="color: #66cc66;">/</span><a
href="http://december.com/html/4/element/head.html"><span
style="color: #000000; font-weight: bold;">head</span></a>&gt;</span><br
/> <span
style="color: #009900;">&lt;<a
href="http://december.com/html/4/element/body.html"><span
style="color: #000000; font-weight: bold;">body</span></a>&gt;</span><br
/> <span
style="color: #009900;">&lt;<a
href="http://december.com/html/4/element/div.html"><span
style="color: #000000; font-weight: bold;">div</span></a> <span
style="color: #000066;">id</span><span
style="color: #66cc66;">=</span><span
style="color: #ff0000;">&quot;out&quot;</span>&gt;&lt;<span
style="color: #66cc66;">/</span><a
href="http://december.com/html/4/element/div.html"><span
style="color: #000000; font-weight: bold;">div</span></a>&gt;</span><br
/> <span
style="color: #009900;">&lt;<a
href="http://december.com/html/4/element/script.html"><span
style="color: #000000; font-weight: bold;">script</span></a> <span
style="color: #000066;">language</span><span
style="color: #66cc66;">=</span><span
style="color: #ff0000;">&quot;Javascript&quot;</span>&gt;</span><br
/> &nbsp; &nbsp;var out = document.getElementById(&quot;out&quot;);<br
/> &nbsp; &nbsp;window.localStorage.setItem(&quot;test&quot;, &quot;test&quot;);<br
/> &nbsp; &nbsp;out.innerHTML += &quot;Getting data: &quot; + window.localStorage.getItem(&quot;test&quot;) + &quot;<span
style="color: #009900;">&lt;<a
href="http://december.com/html/4/element/br.html"><span
style="color: #000000; font-weight: bold;">br</span></a> <span
style="color: #66cc66;">/</span>&gt;</span>&quot;;<br
/> &nbsp; &nbsp;window.localStorage.setItem(&quot;test1&quot;, &quot;test1&quot;);<br
/> &nbsp; &nbsp;out.innerHTML += &quot;Total count: &quot; + window.localStorage.length;<br
/> <span
style="color: #009900;">&lt;<span
style="color: #66cc66;">/</span><a
href="http://december.com/html/4/element/script.html"><span
style="color: #000000; font-weight: bold;">script</span></a>&gt;</span><br
/> <span
style="color: #009900;">&lt;<span
style="color: #66cc66;">/</span><a
href="http://december.com/html/4/element/body.html"><span
style="color: #000000; font-weight: bold;">body</span></a>&gt;</span><br
/> <span
style="color: #009900;">&lt;<span
style="color: #66cc66;">/</span><a
href="http://december.com/html/4/element/html.html"><span
style="color: #000000; font-weight: bold;">html</span></a>&gt;</span></div></td></tr></tbody></table></div><p>mentre il seguente userscript no:</p><div
class="codecolorer-container javascript blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/>2<br
/>3<br
/>4<br
/>5<br
/>6<br
/>7<br
/>8<br
/>9<br
/>10<br
/>11<br
/>12<br
/>13<br
/></div></td><td><div
class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span
style="color: #006600; font-style: italic;">// ==UserScript==</span><br
/> <span
style="color: #006600; font-style: italic;">// @name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Length Test</span><br
/> <span
style="color: #006600; font-style: italic;">// @namespace &nbsp; &nbsp; &nbsp;me</span><br
/> <span
style="color: #006600; font-style: italic;">// @description &nbsp; &nbsp;A test for localStorage.length</span><br
/> <span
style="color: #006600; font-style: italic;">// @include &nbsp; &nbsp; &nbsp; &nbsp;http://www.google.it/</span><br
/> <span
style="color: #006600; font-style: italic;">// ==/UserScript==</span><br
/> <br
/> <br
/> <span
style="color: #003366; font-weight: bold;">var</span> out <span
style="color: #339933;">=</span> document.<span
style="color: #660066;">getElementById</span><span
style="color: #009900;">&#40;</span><span
style="color: #3366CC;">&quot;ghead&quot;</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> window.<span
style="color: #660066;">localStorage</span>.<span
style="color: #660066;">setItem</span><span
style="color: #009900;">&#40;</span><span
style="color: #3366CC;">&quot;test&quot;</span><span
style="color: #339933;">,</span> <span
style="color: #3366CC;">&quot;test&quot;</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> out.<span
style="color: #660066;">innerHTML</span> <span
style="color: #339933;">+=</span> <span
style="color: #3366CC;">&quot;Getting data: &quot;</span> <span
style="color: #339933;">+</span> window.<span
style="color: #660066;">localStorage</span>.<span
style="color: #660066;">getItem</span><span
style="color: #009900;">&#40;</span><span
style="color: #3366CC;">&quot;test&quot;</span><span
style="color: #009900;">&#41;</span> <span
style="color: #339933;">+</span> <span
style="color: #3366CC;">&quot;&lt;br /&gt;&quot;</span><span
style="color: #339933;">;</span><br
/> window.<span
style="color: #660066;">localStorage</span>.<span
style="color: #660066;">setItem</span><span
style="color: #009900;">&#40;</span><span
style="color: #3366CC;">&quot;test1&quot;</span><span
style="color: #339933;">,</span> <span
style="color: #3366CC;">&quot;test1&quot;</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> out.<span
style="color: #660066;">innerHTML</span> <span
style="color: #339933;">+=</span> <span
style="color: #3366CC;">&quot;Total count: &quot;</span> <span
style="color: #339933;">+</span> window.<span
style="color: #660066;">localStorage</span>.<span
style="color: #660066;">length</span><span
style="color: #339933;">;</span></div></td></tr></tbody></table></div><p><a
href="https://github.com/greasemonkey/greasemonkey/issues/issue/1243" target="_blank">Qui</a> c&#8217;è la segnalazione, direi scarsamente considerata, e <a
href="http://groups.google.com/group/greasemonkey-users/browse_thread/thread/743d8e0d11ff962b" target="_blank">qui</a> il thread nel Google Group relativo. In attesa di un bugfix, lo sviluppo dello script è interrotto.</p><p>Technorati Tags: <a
href="http://technorati.com/tag/greasemonkey" rel="tag">greasemonkey</a>, <a
href="http://technorati.com/tag/ffhidebykeyword" rel="tag"> ffhidebykeyword</a></p> ]]></content:encoded> <wfw:commentRss>http://www.mcalamelli.net/2011/01/12/greasemonkey-e-localstorage/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>#BTCNew e i problemi lato Backtype</title><link>http://www.mcalamelli.net/2010/11/25/btcnew-e-i-problemi-lato-backtype/</link> <comments>http://www.mcalamelli.net/2010/11/25/btcnew-e-i-problemi-lato-backtype/#comments</comments> <pubDate>Thu, 25 Nov 2010 08:30:24 +0000</pubDate> <dc:creator>mcalamelli</dc:creator> <category><![CDATA[blog]]></category> <category><![CDATA[opensource]]></category> <category><![CDATA[php]]></category> <category><![CDATA[backtype]]></category> <category><![CDATA[btcnew]]></category> <category><![CDATA[wordpress]]></category> <guid
isPermaLink="false">http://www.mcalamelli.net/?p=37303</guid> <description><![CDATA[In seguito alle ultime installazioni, qualche amico ha riportato segnali di mancato funzionamento del plugin nell&#8217;importare nel blog i commenti relativi ad un post fatti su Friendfeed. Dopo diversi controlli [ed una nuova versione in arrivo a breve, code cleanup e una opzione per facilitare il debug] sono quasi convinto che il problema in effetti [...]<p
class="extra"><a
href="http://jarederickson.com/freebies/" title="Jared Erickson" >A minimal wordpress theme by Jared Erickson</a></p>]]></description> <content:encoded><![CDATA[<p>In seguito alle ultime installazioni, qualche amico ha riportato segnali di mancato funzionamento del plugin nell&#8217;importare nel blog i commenti relativi ad un post fatti su Friendfeed. Dopo diversi controlli [ed una nuova versione in arrivo a breve, code cleanup e una opzione per facilitare il debug] sono quasi convinto che il problema in effetti ci sia, ma che si trovi lato Backtype. Verificando il <a
href="http://www.backtype.com/domain/www.mcalamelli.net" target="_blank">mio blog su BT</a> noto che le reactions da Friendfeed si interrompono verso il 15 novembre; la medesima cosa accade con i blog degli amici che hanno riportato i problemi di cui sopra. Ho anche <a
href="http://getsatisfaction.com/backtype/topics/no_reactions_from_friendfeed" target="_blank">aperto un ticket</a> nell&#8217;help system di Backtype, vediamo cosa rispondono. Mi dispiace amici, ma più di così per ora non posso fare.</p><p>Technorati Tags: <a
href="http://technorati.com/tag/backtype" rel="tag">backtype</a>, <a
href="http://technorati.com/tag/btcnew" rel="tag"> btcnew</a></p> ]]></content:encoded> <wfw:commentRss>http://www.mcalamelli.net/2010/11/25/btcnew-e-i-problemi-lato-backtype/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>BTCNew, un fork di Backtype Connect</title><link>http://www.mcalamelli.net/2010/10/18/btcnew-un-fork-di-backtype-connect/</link> <comments>http://www.mcalamelli.net/2010/10/18/btcnew-un-fork-di-backtype-connect/#comments</comments> <pubDate>Mon, 18 Oct 2010 07:30:57 +0000</pubDate> <dc:creator>mcalamelli</dc:creator> <category><![CDATA[blog]]></category> <category><![CDATA[opensource]]></category> <category><![CDATA[php]]></category> <category><![CDATA[backtype]]></category> <category><![CDATA[plugin]]></category> <category><![CDATA[wordpress]]></category> <guid
isPermaLink="false">http://www.mcalamelli.net/?p=34476</guid> <description><![CDATA[Sembra che il primo tentativo di forkare il plugin Backtype Connect non più funzionante sia andato a buon fine. Il vecchio plugin è stato scritto in modo abbastanza chiaro, quindi non è stato troppo complicato il riadattamento alle nuove API di Backtype; se dovessi fare una stima del tempo richiesto per mettere in piedi questa [...]<p
class="extra"><a
href="http://jarederickson.com/freebies/" title="Jared Erickson" >A minimal wordpress theme by Jared Erickson</a></p>]]></description> <content:encoded><![CDATA[<p>Sembra che il primo tentativo di forkare il plugin Backtype Connect non più funzionante sia andato a buon fine. Il vecchio plugin è stato scritto in modo abbastanza chiaro, quindi non è stato troppo complicato il riadattamento alle nuove API di Backtype; se dovessi fare una stima del tempo richiesto per mettere in piedi questa prima versione direi che ho impiegato una decina di ore. Il nuovo plugin, chiamato con molta fantasia BTCNew, fa quello che deve fare e lo ha fatto con successo nel mio blog, quindi oserei dire che funziona. Si tratta comunque di codice sporco, quindi se volete provarlo: 0] non siate troppo severi riportando eventuali bug 1] fate as.so.lu.ta.men.te un backup del database, ché non si sa mai 2] potrebbe essere utile impostare la moderazione dei commenti importati, almeno per la prima volta, in modo da verificare il corretto funzionamento. Ah, dimenticavo, il plugin si trova <a
href="http://www.mcalamelli.net/files/btcnew.zip" target="_blank">qui</a>, e <a
href="http://www.mcalamelli.net/btcnew" target="_blank">qui</a> c&#8217;è la pagina dedicata.</p><p>Technorati Tags: <a
href="http://technorati.com/tag/backtype+connect" rel="tag">backtype connect</a>, <a
href="http://technorati.com/tag/wordpress+plugin" rel="tag"> wordpress plugin</a></p> ]]></content:encoded> <wfw:commentRss>http://www.mcalamelli.net/2010/10/18/btcnew-un-fork-di-backtype-connect/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Coapp, Microsoft e l&#8217;opensource</title><link>http://www.mcalamelli.net/2010/10/01/coapp-microsoft-e-lopensource/</link> <comments>http://www.mcalamelli.net/2010/10/01/coapp-microsoft-e-lopensource/#comments</comments> <pubDate>Fri, 01 Oct 2010 16:06:34 +0000</pubDate> <dc:creator>mcalamelli</dc:creator> <category><![CDATA[opensource]]></category> <category><![CDATA[windows]]></category> <guid
isPermaLink="false">http://www.mcalamelli.net/?p=32945</guid> <description><![CDATA[Notizia interessante da OssBlog riguardante l&#8217;approccio di Microsoft verso il mondo opensource. L&#8217;articolo propone una intervista a Garrett Serack, il leader del progetto Coapp, progetti il cui scopo è quello di integrare al meglio i software opensource all&#8217;interno dei sistemi Windows per garantirne una corretta usabilità. Dall&#8217;intervista: “Faccio il lavoro più bello del mondo”. In [...]<p
class="extra"><a
href="http://jarederickson.com/freebies/" title="Jared Erickson" >A minimal wordpress theme by Jared Erickson</a></p>]]></description> <content:encoded><![CDATA[<p>Notizia interessante da <a
href="http://www.ossblog.it/post/6803/microsoft-e-lopensource-collaborazione-obbligata-intervista-a-garret-serack" target="_blank">OssBlog</a> riguardante l&#8217;approccio di Microsoft verso il mondo opensource. L&#8217;articolo propone una intervista a <a
href="http://www.fearthecowboy.com/" target="_blank">Garrett Serack</a>, il leader del progetto <a
href="http://coapp.org/" target="_blank">Coapp</a>, progetti il cui scopo è quello di integrare al meglio i software opensource all&#8217;interno dei sistemi Windows per garantirne una corretta usabilità.</p><p>Dall&#8217;intervista:</p><blockquote><p>“Faccio il lavoro più bello del mondo”. In sostanza, lo zio Bill lo paga per fare in modo che i validissimi software open source richiesti dalle aziende non sia appannaggio solo dei sistemi Linux. Detto che non lo sono, è sicuramente più semplice installarli dall’Ubuntu Software Center (tanto per dirne uno) direttamente dentro la nostra linux box che non farli funzionare su Windows</p></blockquote><p>E ancora:</p><blockquote><p>Coapp nasce così, per portare tutto l’open source possibile alla gente che vuole usarlo su Windows. Microsoft non vuole ignorare gli sviluppatori opensource, cosa che ha fatto in passato, ora vogliamo che si sentano a casa quando lavorano su un pc con Windows. Possiamo collaborare, non c’è alcun motivo per non lavorare insieme. L’obiettivo è fare prodotti migliori. Microsoft si è svegliata da sei anni a questa parte, imparando molto dalla comunità open source.</p></blockquote><p>L&#8217;intervista è interessante, così come questo nuovo accostarsi di Microsoft al mondo opensource. Non solo entrambe le parti ne hanno da guadagnare, ma anche gli utenti finali.</p><p>[Fonte <a
href="http://www.ossblog.it/post/6803/microsoft-e-lopensource-collaborazione-obbligata-intervista-a-garret-serack" target="_blank">OssBlog</a>]</p> ]]></content:encoded> <wfw:commentRss>http://www.mcalamelli.net/2010/10/01/coapp-microsoft-e-lopensource/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Linux e opensource a Cesenatico</title><link>http://www.mcalamelli.net/2010/09/24/linux-e-opensource-a-cesenatico/</link> <comments>http://www.mcalamelli.net/2010/09/24/linux-e-opensource-a-cesenatico/#comments</comments> <pubDate>Fri, 24 Sep 2010 08:00:53 +0000</pubDate> <dc:creator>mcalamelli</dc:creator> <category><![CDATA[eventi]]></category> <category><![CDATA[linux]]></category> <category><![CDATA[opensource]]></category> <category><![CDATA[cesenatico]]></category> <guid
isPermaLink="false">http://www.mcalamelli.net/?p=32231</guid> <description><![CDATA[So già di non poterci andare, ma lo pubblicizzo ugualmente. Sabato 25 settembre, ore 9, presso il Museo della Marineria di Cesenatico si terrà &#8220;La libertà non ha prezzo&#8221;, una conferenza sul software libero organizzata da UIELinux, uno dei LUG attivi e presenti in zona, e patrocinata dal Comune di Cesenatico. Mi sembra una iniziativa [...]<p
class="extra"><a
href="http://jarederickson.com/freebies/" title="Jared Erickson" >A minimal wordpress theme by Jared Erickson</a></p>]]></description> <content:encoded><![CDATA[<p><a
href="http://fabiocolinelli.wordpress.com/2010/09/21/la-liberta-non-ha-prezzo/" target="_blank"><img
src="http://www.mcalamelli.net/wp-content/uploads/2010/09/Immagine.jpg" alt="La libertà non ha prezzo" title="La libertà non ha prezzo" width="530" height="734" class="aligncenter size-full wp-image-32236" /></a></p><p>So già di non poterci andare, ma lo pubblicizzo ugualmente.<br
/> Sabato 25 settembre, ore 9, presso il Museo della Marineria di Cesenatico si terrà <strong>&#8220;La libertà non ha prezzo&#8221;</strong>, una conferenza sul software libero organizzata da <a
href="http://www.uielinux.org/" target="_blank">UIELinux</a>, uno dei LUG attivi e presenti in zona, e patrocinata dal Comune di Cesenatico. Mi sembra una iniziativa importante per questo piccolo pezzetto di Romagna.</p><p>Technorati Tags: <a
href="http://technorati.com/tag/uielinux" rel="tag">uielinux</a>, <a
href="http://technorati.com/tag/opensource" rel="tag">opensource</a></p> ]]></content:encoded> <wfw:commentRss>http://www.mcalamelli.net/2010/09/24/linux-e-opensource-a-cesenatico/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>[Tip] Esportare la wishlist di IBS</title><link>http://www.mcalamelli.net/2010/08/24/tip-esportare-la-wishlist-di-ibs/</link> <comments>http://www.mcalamelli.net/2010/08/24/tip-esportare-la-wishlist-di-ibs/#comments</comments> <pubDate>Tue, 24 Aug 2010 07:00:35 +0000</pubDate> <dc:creator>mcalamelli</dc:creator> <category><![CDATA[linux]]></category> <category><![CDATA[opensource]]></category> <category><![CDATA[shell]]></category> <guid
isPermaLink="false">http://www.mcalamelli.net/?p=27418</guid> <description><![CDATA[Ecco il risultato di un piccolo esercizio di stile di shell programming messo a punto per risolvere un problema a Lawrence, un mio contatto su Friendfeed. C&#8217;è modo di esportare la wishlist di IBS verso Amazon oppure Anobii? In effetti IBS non consente alcun tipo di esportazione dei libri messi nella lista dei desideri, e [...]<p
class="extra"><a
href="http://jarederickson.com/freebies/" title="Jared Erickson" >A minimal wordpress theme by Jared Erickson</a></p>]]></description> <content:encoded><![CDATA[<p>Ecco il risultato di un piccolo esercizio di stile di shell programming messo a punto per risolvere un problema a <a
href="http://neropercaso.it/" target="_blank">Lawrence</a>, un mio contatto su Friendfeed.</p><blockquote><p>C&#8217;è modo di esportare la wishlist di IBS verso Amazon oppure Anobii?</p></blockquote><p>In effetti <a
href="http://www.ibs.it/" target="_blank">IBS</a> non consente alcun tipo di esportazione dei libri messi nella lista dei desideri, e si potrebbe essere portati ad rispondere &#8220;No&#8221; alla domanda, ma una breve analisi visiva/CTRL-F ai sorgenti della pagina mi hanno dato qualche speranza, ed ho intensificato le ricerche salvandola in locale ed sottoponendola a qualche tool da riga di comando. La prima cosa che mi è saltata all&#8217;occhio è stata la scarsa eleganza del codice generato, ed ho passato il file .html a <a
href="http://tidy.sourceforge.net/" target="_blank">tidy</a>, un potente strumento per la validazione e la correzione del codice [X]HTML, in modo da renderlo più leggibile; poi ho individuato le parti più &#8220;interessanti&#8221; relativamente alla soluzione del problema, e cioè questo testo:</p><div
class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">http://www.ibs.it/ser/serdsp.asp?isbn=9788874241590</div></div><p>che contiene appunto il codice ISBN di uno dei libri presenti nella wishlist.<br
/> Sono quindi passato a <a
href="http://it.wikipedia.org/wiki/Grep" target="_blank">grep</a>, costruendo man mano la stringa di ricerca fino ad ottenere un risultato più o meno pulito, tipo questo:</p><div
class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; http://www.ibs.it/ser/serdsp.asp?isbn=9788874241590&quot;<br
/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; http://www.ibs.it/ser/serdsp.asp?isbn=9788874241590&quot;</div></div><p>La presenza della doppia linea non è un errore di scrittura nel post, ci sono realmente due linee del genere per ogni libro nella wishlist. Dopo grep ho chiamato in causa <a
href="http://en.wikipedia.org/wiki/Sed" target="_blank">sed</a> per ripulire l&#8217;output ed ottenere solo l&#8217;elenco dei codici ISBN, la soluzione al problema, facendogli eseguire due cose in successione:</p><div
class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sed -e 's/[^0-9]*//g'</div></div><p>con questa chiamata cancello tutto ciò che non è numerico, mentre con</p><div
class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sed -n 'p;n'</div></div><p>stampo in output solamente le linee dispari.<br
/> Et voilà, ecco la riga di comando completa:</p><div
class="codecolorer-container text blackboard" style="border:1px solid #9F9F9F;width:435px;"><div
class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">tidy -f errs.txt -imu lista.html; grep '.&quot;http://www.ibs.it/ser/serdsp.asp?isbn=[0-9]\{13\}' lista.html | sed -e 's/[^0-9]*//g' | sed -n 'p;n'</div></div><p>Leggendo il codice si nota la presenza del file <strong>lista.html</strong>, che corrisponde alla pagina della wishlist salvata in locale: utilizzando questa accortezza ed eseguendo la riga di comando nella medesima directory contenente il file si ottiene in output l&#8217;agognato elenco di codici ISBN pronto per essere copiaincollato in Anobii. Sono convinto che il codice possa essere ottimizzato ma, come confermatomi da Lawrence, già in questo modo è pienamente funzionante.</p><p>Happy coding</p><p>Technorati Tags: <a
href="http://technorati.com/tag/shell" rel="tag">shell</a>, <a
href="http://technorati.com/tag/linux" rel="tag"> linux</a>, <a
href="http://technorati.com/tag/internetbookshop" rel="tag"> internetbookshop</a>, <a
href="http://technorati.com/tag/ibs" rel="tag"> ibs</a></p> ]]></content:encoded> <wfw:commentRss>http://www.mcalamelli.net/2010/08/24/tip-esportare-la-wishlist-di-ibs/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>[Tip] Ricodificare l&#8217;audio di un video</title><link>http://www.mcalamelli.net/2010/07/26/tip-ricodificare-laudio-di-un-video/</link> <comments>http://www.mcalamelli.net/2010/07/26/tip-ricodificare-laudio-di-un-video/#comments</comments> <pubDate>Mon, 26 Jul 2010 18:17:20 +0000</pubDate> <dc:creator>mcalamelli</dc:creator> <category><![CDATA[linux]]></category> <category><![CDATA[opensource]]></category> <guid
isPermaLink="false">http://www.mcalamelli.net/?p=21901</guid> <description><![CDATA[Un instant post per ricordarmi in futuro di come ho fatto una cosa con il mio nuovo acquisto: una tv per poter gustare al meglio i film e i video del computer. Questa volta il problema è un video AVI che nella nuova TV si vede, ma del quale non viene riprodotto alcun suono. Un [...]<p
class="extra"><a
href="http://jarederickson.com/freebies/" title="Jared Erickson" >A minimal wordpress theme by Jared Erickson</a></p>]]></description> <content:encoded><![CDATA[<p>Un instant post per ricordarmi in futuro di come ho fatto una cosa con il mio nuovo acquisto: una tv per poter gustare al meglio i film e i video del computer.<br
/> Questa volta il problema è un video AVI che nella nuova TV si vede, ma del quale non viene riprodotto alcun suono. Un veloce controllo indica che usa un codec audio AC3, che evidentemente non è supportato dalla TV, mentre il controllo su uno che si sente riporta MPEG-1 Layer 3 come codec. Come fare quindi a ricodificare il filmato? Mi aiuta <strong>mencoder</strong>:</p><div
class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table
cellspacing="0" cellpadding="0"><tbody><tr><td
style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br
/></div></td><td><div
class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mencoder file_ac3.avi <span
style="color: #660033;">-o</span> file_mp3.avi <span
style="color: #660033;">-of</span> avi <span
style="color: #660033;">-oac</span> mp3lame <span
style="color: #660033;">-ovc</span> copy</div></td></tr></tbody></table></div><p>Giusto il tempo della ricodifica et voilà, il filmato è pronto per la visione sul TV.</p><p>Technorati Tags: <a
href="http://technorati.com/tag/mencoder" rel="tag">mencoder</a></p> ]]></content:encoded> <wfw:commentRss>http://www.mcalamelli.net/2010/07/26/tip-ricodificare-laudio-di-un-video/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Aggiornamento a WP3.0</title><link>http://www.mcalamelli.net/2010/06/18/aggiornamento-a-wp3-0/</link> <comments>http://www.mcalamelli.net/2010/06/18/aggiornamento-a-wp3-0/#comments</comments> <pubDate>Fri, 18 Jun 2010 14:22:45 +0000</pubDate> <dc:creator>mcalamelli</dc:creator> <category><![CDATA[blog]]></category> <category><![CDATA[opensource]]></category> <category><![CDATA[php]]></category> <category><![CDATA[wordpress]]></category> <guid
isPermaLink="false">http://www.mcalamelli.net/?p=2270</guid> <description><![CDATA[Ieri sera ho aggiornato il blog alla versione 3.0 di WordPress, ed è andata quasi liscia. Quasi perché inizialmente, dopo gli opportuni backup di files e DB, l&#8217;aggiornamento automatico che di solito utilizzo non andava a buon fine, presentandomi ad un certo punto una pagina bianca all&#8217;interno della struttura classica della dashboard. Sono così passato [...]<p
class="extra"><a
href="http://jarederickson.com/freebies/" title="Jared Erickson" >A minimal wordpress theme by Jared Erickson</a></p>]]></description> <content:encoded><![CDATA[<p>Ieri sera ho aggiornato il blog alla versione 3.0 di <a
href="http://www.wordpress.org" target="_blank">WordPress</a>, ed è andata quasi liscia. Quasi perché inizialmente, dopo gli opportuni backup di files e DB, l&#8217;aggiornamento automatico che di solito utilizzo non andava a buon fine, presentandomi ad un certo punto una <a
href="http://yfrog.com/83schermatamgp" target="_blank">pagina bianca</a> all&#8217;interno della struttura classica della dashboard. Sono così passato a ripulire i plugins, disattivando [ed eventualmente eliminando] quelli non usati; come suggerito su <a
href="http://friendfeed.com/mcalamelli/8461e428/urca-wordpress-mi-chiede-se-voglio-fare-l-update" target="_blank">Friendfeed</a>, l&#8217;azione ha portato i risultati sperati, e l&#8217;aggiornamento automatico è così andato a buon fine. La prima cosa che mi è saltata all&#8217;occhio è la cura del tema della dashboard, chiaro ed elegante; circa le <a
href="http://codex.wordpress.org/Version_3.0" target="_blank">nuove</a> features, me le devo ancora studiare.</p><p>Buon upgrade!</p><p>Alla prox</p><p>Technorati Tags: <a
href="http://technorati.com/tag/wordpress" rel="tag">wordpress</a>, <a
href="http://technorati.com/tag/wordpress+3.0" rel="tag"> wordpress 3.0</a></p> ]]></content:encoded> <wfw:commentRss>http://www.mcalamelli.net/2010/06/18/aggiornamento-a-wp3-0/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic (Feed is rejected)
Page Caching using disk: basic

Served from: www.mcalamelli.net @ 2012-02-05 08:42:13 -->
