<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2italianfull.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss 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:media="http://search.yahoo.com/mrss/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>frammenti di razionalità</title>
	
	<link>http://fripp.wordpress.com</link>
	<description>il weblog di Calogero Sanfilippo</description>
	<pubDate>Mon, 14 Jul 2008 13:51:36 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
	<language>it</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/frammentiDiRazionalita" type="application/rss+xml" /><feedburner:emailServiceId>1512168</feedburner:emailServiceId><feedburner:feedburnerHostname>http://www.feedburner.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FframmentiDiRazionalita" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/frammentiDiRazionalita" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FframmentiDiRazionalita" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FframmentiDiRazionalita" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FframmentiDiRazionalita" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://add.my.yahoo.com/content?lg=it&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2FframmentiDiRazionalita" src="http://eur.i1.yimg.com/eur.yimg.com/i/it/my/mioya1.gif">Subscribe with Mio Yahoo!</feedburner:feedFlare><item>
		<title>Performance di alcuni linguaggi di programmazione</title>
		<link>http://feeds.feedburner.com/~r/frammentiDiRazionalita/~3/335192724/</link>
		<comments>http://fripp.wordpress.com/2008/07/14/performance-di-alcuni-linguaggi-di-programmazione/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 13:42:30 +0000</pubDate>
		<dc:creator>fripp</dc:creator>
		
		<category><![CDATA[About me]]></category>

		<category><![CDATA[Algoritmi]]></category>

		<category><![CDATA[C]]></category>

		<category><![CDATA[GNU/Linux]]></category>

		<category><![CDATA[Informatica]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[Mac OS X]]></category>

		<category><![CDATA[Matematica]]></category>

		<category><![CDATA[Programmazione]]></category>

		<category><![CDATA[Python]]></category>

		<category><![CDATA[Ruby]]></category>

		<category><![CDATA[Sistemi Operativi]]></category>

		<category><![CDATA[Unix]]></category>

		<category><![CDATA[Flavio Giuseppe]]></category>

		<category><![CDATA[java6]]></category>

		<category><![CDATA[JIT]]></category>

		<category><![CDATA[Josephus]]></category>

		<category><![CDATA[Josephus problem]]></category>

		<category><![CDATA[mono]]></category>

		<category><![CDATA[monodevelop]]></category>

		<category><![CDATA[psyco]]></category>

		<guid isPermaLink="false">http://fripp.wordpress.com/?p=178</guid>
		<description><![CDATA[Non avendo nulla di meglio da fare, mi son messo a valutare le performance di esecuzione dei linguaggi che conosco nella risoluzione del &#8220;Problema di Flavio Giuseppe&#8221;, la cui soluzione vi permetterà di salvarvi nel caso abbiate deciso all&#8217;ultimo minuto di salvarvi da un suicidio di massa (leggete prima in cosa consiste il problema per [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Non avendo nulla di meglio da fare, mi son messo a valutare le performance di esecuzione dei linguaggi che conosco nella risoluzione del <a href="http://mathworld.wolfram.com/JosephusProblem.html" target="_blank">&#8220;Problema di Flavio Giuseppe&#8221;</a>, la cui soluzione vi permetterà di salvarvi nel caso abbiate deciso all&#8217;ultimo minuto di salvarvi da un suicidio di massa (leggete prima in cosa consiste il problema per capire la battutaccia <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ).</p>
<p>Ho testato le prestazioni di C, Java, Python, Ruby, C# usando per tutti le stesse condizioni:</p>
<ul>
<li>100000 iterazioni</li>
<li>risoluzione, ad ogni iterazione, del problema che dovette affrontare Flavio Giuseppe in persona: 40 partecipanti al suicidio e determinazione del prossimo suicida contando a 3 a 3 a giro</li>
</ul>
<p>I test sono stati fatti con questa configurazione:</p>
<p>OS: Mac OS 10.5.4</p>
<p>CPU: Intel(R) Core(TM)2 CPU T7600 @ 2.33GHz</p>
<p>RAM :2 GB</p>
<p>Il risultato del test è dato dal tempo medio (su 10 test )per ogni iterazione espresso in microsecondi.</p>
<p>Ecco la tabella dei risultati.</p>
<table border="0">
<tbody>
<tr>
<td>Linguaggio</td>
<td>Versione</td>
<td>Note</td>
<td>Tempo medio per iterazione (microsecondi)</td>
</tr>
<tr>
<td>Ansi C</td>
<td>Compilatore: i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5465)</td>
<td>Compilazione con flag -O3</td>
<td>0.235951</td>
</tr>
<tr>
<td>Ansi C++</td>
<td>Compilatore: i686-apple-darwin9-g++-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5465)</td>
<td>Compilazione con flag -O3<br />
Uso di funzioni inline</td>
<td>0.205846</td>
</tr>
<tr>
<td>C#</td>
<td>Mono Framework - 1.9.1_3</td>
<td></td>
<td>0.846871</td>
</tr>
<tr>
<td rowspan="2">Java</td>
<td>java version &#8220;1.5.0_13&#8243;</td>
<td></td>
<td>1.898368</td>
</tr>
<tr>
<td>java version &#8220;1.6.0_5&#8243;</td>
<td></td>
<td>0.665434</td>
</tr>
<tr>
<td rowspan="2">Python</td>
<td rowspan="2">Python 2.5.1 (r251:54863, Jan 17 2008, 19:35:17)</td>
<td></td>
<td>24.0439097881</td>
</tr>
<tr>
<td>Uso del compilatore JIT Psyco 1.6</td>
<td>5.55800628662</td>
</tr>
<tr>
<td>Ruby</td>
<td>ruby 1.8.6 (2008-03-03 patchlevel 114)</td>
<td></td>
<td>55.700048</td>
</tr>
</tbody>
</table>
<p>Per analizzare i risultati occorre precisare che mi sono rifatto allo standard C89 per il C (che non prevede le funzioni inline); ecco perchè il C++ con le funzioni inline risulta più performante.</p>
<p>Se provate a compilare i sorgenti C che seguono mettendo la parola chiave <em>inline </em>nell&#8217;implementazione della funzione e compilando usando il flag -std=c99 vedrete che le prestazioni di C e C++ saranno uguali. Nel C++ ciò che fa perder prestazioni è il <em>binding tardivo</em>: polimorfismo, template ecc.</p>
<p>Con notevole sorpresa, ho constatato come la JVM non sfigura affato; addirittura con Java 6 i tempi medi sono più che dimezzati.</p>
<p>I fanalini di coda (c&#8217;era da aspettarselo) sono Python e Ruby, col primo in vantaggio sul secondo; per l&#8217;occasione ho sperimentato in Python l&#8217;uso di <a href="http://psyco.sourceforge.net/index.html" target="_blank">Psyco</a>, un compilatore JIT, e devo dire che i risultati si vedono: l&#8217;esecuzione del codice col modulo Psyco attivo è più veloce di circa l&#8217;80% rispetto a quella senza Psyco.</p>
<p>L&#8217;algoritmo che ho usato per risolvere il problema è trattato in <a href="http://citeseer.ist.psu.edu/rd/48300427%2C676014%2C1%2C0.25%2CDownload/http://citeseer.ist.psu.edu/cache/papers/cs/31150/http:zSzzSzwww.cclub.metu.edu.trzSz%7EfagelgizSzstudieszSztheoryzSzjosephuszSzpaperzSzjosephus.pdf/gelgi02time.pdf" target="_blank">questa</a> pubblicazione; tale algoritmo ha una complessità pari a <img src='http://l.wordpress.com/latex.php?latex=O%28m+%2B+%5Clog_%7B%5Cfrac%7Bm%7D%7Bm-1%7D%7D+%5Cleft+%28+%5Cfrac%7Bn%7D%7Bm%7D+%5Cright+%29+%29&amp;bg=ffffff&amp;fg=000000&amp;s=0' alt='O(m + \log_{\frac{m}{m-1}} \left ( \frac{n}{m} \right ) )' title='O(m + \log_{\frac{m}{m-1}} \left ( \frac{n}{m} \right ) )' class='latex' />, dove <img src='http://l.wordpress.com/latex.php?latex=n&amp;bg=ffffff&amp;fg=000000&amp;s=0' alt='n' title='n' class='latex' /> è il numero di persone nel gruppo e <img src='http://l.wordpress.com/latex.php?latex=m&amp;bg=ffffff&amp;fg=000000&amp;s=0' alt='m' title='m' class='latex' /> è il numero usato per la conta.</p>
<p>Di seguito troverete il codice usato per fare il test nei vari linguaggi.</p>
<p>Codice C:<br />
<span id="more-178"></span></p>
<pre name="code" class="c">

#include &lt;stdio .h&gt;
#include &lt;stdlib .h&gt;
#include &lt;sys /time.h&gt;
#include &lt;math .h&gt;

int solve(int,int);
int josephus(int,int);

int main(int argc, char **argv){
    int ITER;
    double DITER;
    int sec, msec, time;
    double mtime,tottime;
    struct timeval start, end;
    register int i,j; 

    ITER = 100000;
    DITER = 100000.0;

    tottime = 0.0;

    for(j=0;j&amp;lt;10;j++){
        gettimeofday(&amp;start,NULL);
        for(i = 0 ; i &lt; ITER ; i++)
            josephus(40,3);

        gettimeofday(&amp;end,NULL);

        msec = end.tv_usec - start.tv_usec;
        sec = end.tv_sec - start.tv_sec;
        time = sec * 1000000 + msec;

        mtime = time/DITER;
        tottime += mtime;

    }

    fprintf(stdout,&quot;Mean time per iteration= %f microseconds\n\r&quot;, tottime/10);
    return 0;
}

int solve(int n, int q){
    int jn = 0;

    register int i;

    for(i=1; i&lt;=n; i++)
        jn = (jn + q - 1) % i + 1;

    return jn;
}

int josephus(int n, int q){
    int t;
    if(n &lt;= q) return solve(q,q);
    else{
        int jn = josephus(((int) (n - floor(n/q))),q);

        if(jn &lt;= (n%q))
            return jn + ((int) (floor(n/q)) * q);
        else{
            jn -= n % q;

            t = ((int) (floor(jn/(q-1))) * q);

            return !(jn%(q-1)) ? t-1 : t+jn%(q-1);
        }
    }
}
</pre>
<p>Codice C++:</p>
<pre name="code" class="c++">

#include &lt;iostream&gt;
#include &lt;cmath&gt;
#include &lt;sys /time.h&gt;

using std::cout;
using std::endl;

int solve(int,int);
int josephus(int,int);

int main(int argc, char **argv){
    int ITER;
    double DITER;
    int sec, msec, time;
    double mtime,tottime;
    struct timeval start, end;

    ITER = 100000;
    DITER = 100000.0;

    tottime = 0.0;

    for(int j=0;j&amp;lt;10;j++){
        gettimeofday(&amp;start,NULL);
        for(int i = 0 ; i &lt; ITER ; i++)
            josephus(40,3);

        gettimeofday(&amp;end,NULL);

        msec = end.tv_usec - start.tv_usec;
        sec = end.tv_sec - start.tv_sec;
        time = sec * 1000000 + msec;

        mtime = time/DITER;
        tottime += mtime;

    }

    cout &lt;&lt; &quot;Mean time per iteration = &quot; &lt;&lt; tottime/10 &lt;&lt;&quot; microseconds&quot; &lt;&lt; endl;
    return 0;
}

inline int solve(int n, int q){
    int jn = 0;

    register int i;

    for(i=1; i&lt;=n; i++)
        jn = (jn + q - 1) % i + 1;

    return jn;
}

inline int josephus(int n, int q){
    int t;
    if(n &lt;= q) return solve(q,q);
    else{
        int jn = josephus(((int) (n - floor(n/q))),q);

        if(jn &lt;= (n%q))
            return jn + ((int) (floor(n/q)) * q);
        else{
            jn -= n % q;

            t = ((int) (floor(jn/(q-1))) * q);

            return !(jn%(q-1)) ? t-1 : t+jn%(q-1);
        }
    }
}
</pre>
<p>Codice  C#:</p>
<pre name="code" class="java">

using System;

class MainClass{
    public static void Main(string[] args){
        double tottime=0.0;

        for(int j=0;j&amp;lt;10;j++){
            DateTime start = DateTime.Now;
            for(int i=0;i&amp;lt;100000;i++)
                josephus(40,3);

            TimeSpan elapsed = DateTime.Now - start;

            double time = (elapsed.TotalMilliseconds * 1000.0)/100000.0;
            tottime+=time;
        }

        Console.WriteLine(&quot;Time per iteration: {0} microseconds&quot; ,tottime/10.0);

    }

    public static int solve(int n, int q){
        int jn = 0;

        for(int i=1;i&lt;=n;i++)
            jn = (jn + q -1) % i +1;

        return jn;
    }

    public static int josephus(int n, int q){
        if(n&lt;=q)
            return solve(q,q);
        else{
            int jn = josephus(n - ((int) Math.Floor(((double) n)/q)) ,q);

            if(jn &lt;= (n%q))
                return jn + (int) (Math.Floor(((double) n)/q) * q);
            else{
                jn -= n%q;

                int t = (int) (Math.Floor(((double) jn)/(q-1)) * q);

                if(jn % (q-1) == 0)
                    return t-1;
                else
                    return t + jn % (q-1);
            }

        }
    }
}
</pre>
<p>Codice Java:</p>
<pre name="code" class="java">

public class jjos {
    public static void main(String[] args) throws Exception {
        int iter = 100000;
        double tottime=0.0;

        for(int j=0;j&amp;lt;10;j++){
            long start = System.nanoTime();
            for (int i = 0; i &lt; iter; i++)
                josephus(40, 3);

            long end = System.nanoTime();

            double time = (end - start)/1000.0;
            double mtime = time/100000.0;

            tottime+=mtime;
        }

        System.out.println(&quot;Mean time per iteration = &quot; + tottime/10.0
                + &quot; microseconds.&quot;);
    }

    public static int josephus(int n, int q) {
        int jn;
        if (n &lt;= q)
            return solve(q, q);
        else {
            jn = josephus(n - (int) Math.round(Math.floor(n / q)), q);

            if (jn &lt;= (n % q)) {

                return jn + (int) (Math.round(Math.floor(n / q)) * q);
            } else {

                jn = jn - (n % q);

                int t = (int) (Math.round(Math.floor(jn / (q - 1))) * q);

                if (jn % (q - 1) == 0)
                    return t - 1;
                else
                    return t + jn % (q - 1);
            }
        }

    }

    public static int solve(int n, int q) {
        int jn = 0;

        for (int i = 1; i &lt;= n; i++)
            jn = (jn + q - 1) % i + 1;

        return jn;
    }
}
</pre>
<p>Codice Python (con Psyco):</p>
<pre name="code" class="python">

#!/usr/bin/python

import time
import sys
import math
import psyco

def solve(n,q):
    jn = 0
    for i in xrange(1,n+1):
        jn = (jn +q -1) % i +1

    return jn

def josephus(n,q):
    if n &lt;= q: return solve(q,q)
    else:
        jn = josephus(n-int(math.floor(n/q)),q)

        if jn &lt;= (n % q):
            return jn + int(math.floor(n/q) * q)
        else:
            jn -= n % q

            t = int(math.floor(jn/(q - 1)) * q)

            if not jn % (q - 1):
                return t-1
            else:
                return t + jn % (q - 1)

if __name__ == &quot;__main__&quot;:

    psyco.full()

    k = 100000

    tottime = 0.0

    for i in xrange(10):
        start = time.time()

        for i in xrange(k):
            josephus(40,3)

        end = time.time()

        tottime += ((end - start) * 1000000 )/ k

    print &#039;Mean time per iteration = %s microseconds &#039; % (tottime / 10.0)
</pre>
<p>Codice Ruby:</p>
<pre name="code" class="ruby">

#!/usr/bin/ruby -w

def solve(n,q)
    jn = 0

    for i in 1..n
        jn = (jn + q - 1) % i + 1
    end

    jn

end

def josephus(n,q)
    if n &lt;= q
        solve(q,q)
    else
        jn = josephus(n-(n/q).floor,q)

        if jn &lt;= (n % q)
            jn + (n/q).floor * q
        else
            jn -= n % q

            t = (jn/(q-1)).floor * q

            if jn % (q-1) == 0
                t-1
            else
                t + jn % (q-1)
            end
        end

    end

end

ITER = 100000

tottime = 0.0

10.times{
    start = Time.now
    ITER.times{
        josephus(40,3)
    }
    ends=Time.now

    tottime += ((ends - start) * 1000000) / ITER
}

puts &#039;Mean time per iteration = &#039; + (tottime / 10).to_s() + &#039; microseconds&#039;
</pre>
<p></sys></cmath></math>
<p></sys></stdlib></stdio></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/fripp.wordpress.com/178/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/fripp.wordpress.com/178/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fripp.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fripp.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fripp.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fripp.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fripp.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fripp.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fripp.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fripp.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fripp.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fripp.wordpress.com/178/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fripp.wordpress.com&blog=2023394&post=178&subd=fripp&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/frammentiDiRazionalita/~4/335192724" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://fripp.wordpress.com/2008/07/14/performance-di-alcuni-linguaggi-di-programmazione/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/fripp85-128.jpg" medium="image">
			<media:title type="html">fripp</media:title>
		</media:content>
	<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=frammentiDiRazionalita&amp;itemurl=http%3A%2F%2Ffripp.wordpress.com%2F2008%2F07%2F14%2Fperformance-di-alcuni-linguaggi-di-programmazione%2F</feedburner:awareness><feedburner:origLink>http://fripp.wordpress.com/2008/07/14/performance-di-alcuni-linguaggi-di-programmazione/</feedburner:origLink></item>
		<item>
		<title>registerimage 1.0.3</title>
		<link>http://feeds.feedburner.com/~r/frammentiDiRazionalita/~3/331695273/</link>
		<comments>http://fripp.wordpress.com/2008/07/10/registerimage-103/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 10:07:03 +0000</pubDate>
		<dc:creator>fripp</dc:creator>
		
		<category><![CDATA[About me]]></category>

		<category><![CDATA[Debian]]></category>

		<category><![CDATA[GNU/Linux]]></category>

		<category><![CDATA[Informatica]]></category>

		<category><![CDATA[Mac OS X]]></category>

		<category><![CDATA[Programmazione]]></category>

		<category><![CDATA[Python]]></category>

		<category><![CDATA[Sistemi Operativi]]></category>

		<category><![CDATA[Ubuntu]]></category>

		<category><![CDATA[Unix]]></category>

		<category><![CDATA[VirtualBox Images]]></category>

		<category><![CDATA[Windows]]></category>

		<category><![CDATA[xml]]></category>

		<category><![CDATA[virtualbox images]]></category>

		<category><![CDATA[registerimage]]></category>

		<category><![CDATA[innotek virtualbox]]></category>

		<category><![CDATA[sun virtuabox]]></category>

		<category><![CDATA[sun microsystem]]></category>

		<category><![CDATA[xVM]]></category>

		<category><![CDATA[path]]></category>

		<category><![CDATA[environment variable]]></category>

		<category><![CDATA[window path]]></category>

		<guid isPermaLink="false">http://fripp.wordpress.com/?p=175</guid>
		<description><![CDATA[Ho completamente riscritto in Python registerimage, la mia applicazioncina per registrare le immagini virtuali preconfezionate del progetto VirtualBox Images.
Ho deciso di usare Python per vari motivi:

per imparare un nuovo linguaggio;
per aumentare la portabilità;
per realizzare un&#8217;applicazione self-contained;

Questa nuova versione di registerimage non usa alcuna libreria esterna, ma solo moduli nativi della Python Standard Library; non uso [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Ho completamente riscritto in Python<em> registerimage,</em> la mia applicazioncina per registrare le immagini virtuali preconfezionate del progetto <a href="http://virtualbox.wordpress.com" target="_blank">VirtualBox Images</a>.</p>
<p>Ho deciso di usare Python per vari motivi:</p>
<ul>
<li>per imparare un nuovo linguaggio;</li>
<li>per aumentare la portabilità;</li>
<li>per realizzare un&#8217;applicazione <em>self-contained;</em></li>
</ul>
<p>Questa nuova versione di <em>registerimage </em>non usa alcuna libreria esterna, ma solo moduli nativi della Python Standard Library; non uso più la libxml2 per fare il parsing dei file .xml, ma uso il modulo built-in <em>xml.dom.minidom.</em></p>
<p>Ho semplificato pure l&#8217;interfaccia del programma; questa nuova versione prende sempre due argomenti in input dalla riga di comando:</p>
<ol>
<li>il path del file .xml di configurazione della macchina virtuale scaricata dal nostro progetto;</li>
<li>il path del file .vdi della macchina virtuale;</li>
</ol>
<p>L&#8217;utente non avrà più la necessità di spostare a mano i file .xml e .vid: ci pensa il mio programma a farlo.</p>
<p>Per usare la nuova versione di <em>registerimage </em>avrete bisongno di un interprete Python (versione &gt;= 2.5); potete scaricare quello per Windows cliccando <a href="http://www.python.org/ftp/python/2.5.2/python-2.5.2.msi" target="_blank">qui</a>. Nei sistemi GNU/Linux e Mac OS X spesso Python è già preinstallato.</p>
<p>Prima di lasciarvi, devo fare un altro piccolo appunto per gli utenti Window: per usare l&#8217;interprete Python dalla riga di comando occorre che modifichiate la variabile d&#8217;ambiente PATH in modo che contenga il path dove avete installato l&#8217;interprete. A chi non sapesse come modificare tale variabile, consiglio di leggere <a href="http://vlaurie.com/computers2/Articles/environment.htm" target="_blank">questa</a> guida.<br />
Nell&#8217;immagine seguente trovate uno screenshot di come dovreste settare la variabile PATH</p>
<p><a href="http://virtualbox.files.wordpress.com/2008/07/set-path.png"><img class="aligncenter size-thumbnail wp-image-152" src="http://virtualbox.files.wordpress.com/2008/07/set-path.png?w=128&h=64" alt="" width="128" height="64" /></a></p>
<p>Ecco uno screenshot che mostra come ho usato registerimage per registrare l&#8217;immagine del sistema MINIX 3.1.2</p>
<p><a href="http://fripp.files.wordpress.com/2008/07/registerimage_run.png"><img class="aligncenter size-thumbnail wp-image-176" src="http://fripp.files.wordpress.com/2008/07/registerimage_run.png?w=128&h=93" alt="" width="128" height="93" /></a></p>
<p>Potete scaricare lo script cliccando <a href="http://www.mediafire.com/?20gtyx9v3sl" target="_blank">qui</a>.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/fripp.wordpress.com/175/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/fripp.wordpress.com/175/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fripp.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fripp.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fripp.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fripp.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fripp.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fripp.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fripp.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fripp.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fripp.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fripp.wordpress.com/175/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fripp.wordpress.com&blog=2023394&post=175&subd=fripp&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/frammentiDiRazionalita/~4/331695273" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://fripp.wordpress.com/2008/07/10/registerimage-103/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/fripp85-128.jpg" medium="image">
			<media:title type="html">fripp</media:title>
		</media:content>

		<media:content url="http://virtualbox.files.wordpress.com/2008/07/set-path.png?w=128" medium="image" />

		<media:content url="http://fripp.files.wordpress.com/2008/07/registerimage_run.png?w=128" medium="image" />
	<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=frammentiDiRazionalita&amp;itemurl=http%3A%2F%2Ffripp.wordpress.com%2F2008%2F07%2F10%2Fregisterimage-103%2F</feedburner:awareness><feedburner:origLink>http://fripp.wordpress.com/2008/07/10/registerimage-103/</feedburner:origLink></item>
		<item>
		<title>The cure -  One Hundred Years</title>
		<link>http://feeds.feedburner.com/~r/frammentiDiRazionalita/~3/331253861/</link>
		<comments>http://fripp.wordpress.com/2008/07/10/the-cure-one-hundred-years/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 23:41:00 +0000</pubDate>
		<dc:creator>fripp</dc:creator>
		
		<category><![CDATA[About me]]></category>

		<category><![CDATA[Musica]]></category>

		<category><![CDATA[The cure]]></category>

		<category><![CDATA[youtube video]]></category>

		<category><![CDATA[80s]]></category>

		<category><![CDATA[dark]]></category>

		<category><![CDATA[gothic]]></category>

		<category><![CDATA[Pop]]></category>

		<category><![CDATA[pornography]]></category>

		<category><![CDATA[smith]]></category>

		<category><![CDATA[the cure]]></category>

		<guid isPermaLink="false">http://fripp.wordpress.com/?p=174</guid>
		<description><![CDATA[Una delle canzoni più apocalittiche dei &#8220;The cure&#8221; e una delle mie preferite:

       ]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Una delle canzoni più apocalittiche dei &#8220;The cure&#8221; e una delle mie preferite:</p>
<p style="text-align:center;"><span style="text-align:center; display: block;"><a href="http://fripp.wordpress.com/2008/07/10/the-cure-one-hundred-years/"><img src="http://img.youtube.com/vi/Idf-KBT-Wxs/2.jpg" alt="" /></a></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/fripp.wordpress.com/174/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/fripp.wordpress.com/174/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fripp.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fripp.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fripp.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fripp.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fripp.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fripp.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fripp.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fripp.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fripp.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fripp.wordpress.com/174/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fripp.wordpress.com&blog=2023394&post=174&subd=fripp&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/frammentiDiRazionalita/~4/331253861" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://fripp.wordpress.com/2008/07/10/the-cure-one-hundred-years/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/fripp85-128.jpg" medium="image">
			<media:title type="html">fripp</media:title>
		</media:content>

		<media:content url="http://img.youtube.com/vi/Idf-KBT-Wxs/2.jpg" medium="image" />
	<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=frammentiDiRazionalita&amp;itemurl=http%3A%2F%2Ffripp.wordpress.com%2F2008%2F07%2F10%2Fthe-cure-one-hundred-years%2F</feedburner:awareness><feedburner:origLink>http://fripp.wordpress.com/2008/07/10/the-cure-one-hundred-years/</feedburner:origLink></item>
		<item>
		<title>Come ordinare e “ripulire” una wordlist gigante</title>
		<link>http://feeds.feedburner.com/~r/frammentiDiRazionalita/~3/317469680/</link>
		<comments>http://fripp.wordpress.com/2008/06/22/come-ordinare-e-ripulire-una-wordlist-gigante/#comments</comments>
		<pubDate>Sun, 22 Jun 2008 13:12:31 +0000</pubDate>
		<dc:creator>fripp</dc:creator>
		
		<category><![CDATA[GNU/Linux]]></category>

		<category><![CDATA[Informatica]]></category>

		<category><![CDATA[Mac OS X]]></category>

		<category><![CDATA[Ordinamento]]></category>

		<category><![CDATA[Programmazione]]></category>

		<category><![CDATA[Python]]></category>

		<category><![CDATA[Scripting]]></category>

		<category><![CDATA[Sistemi Operativi]]></category>

		<category><![CDATA[Unix]]></category>

		<category><![CDATA[hash crack]]></category>

		<category><![CDATA[jumbowordlist]]></category>

		<category><![CDATA[LC_ALL]]></category>

		<category><![CDATA[LC_ALL=C]]></category>

		<category><![CDATA[POSIX]]></category>

		<category><![CDATA[python script]]></category>

		<category><![CDATA[sort]]></category>

		<category><![CDATA[unicode]]></category>

		<category><![CDATA[wordlist]]></category>

		<guid isPermaLink="false">http://fripp.wordpress.com/?p=172</guid>
		<description><![CDATA[In questi giorni ho contribuito ad aumentare la temperatura della mia stanza facendo lavorare come un matto il mio povero computer.
Mi sono ritrovato con una wordlist da 700MB con più di 75 milioni di parole; mi sono accorto che era piena di ripetizioni: la sola lettera &#8220;a&#8221; compariva 59 volte!
Mi sono ingegnato per risolvere il [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In questi giorni ho contribuito ad aumentare la temperatura della mia stanza facendo lavorare come un matto il mio povero computer.</p>
<p>Mi sono ritrovato con una wordlist da 700MB con più di 75 milioni di parole; mi sono accorto che era piena di ripetizioni: la sola lettera &#8220;a&#8221; compariva 59 volte!</p>
<p>Mi sono ingegnato per risolvere il problema.</p>
<p>Occorreva innanzitutto ordinare la wordlist.</p>
<p>Per fare questo ho pensato di usare il comando <em>sort</em> dei sistemi Unix. Purtroppo il file gigante è codificato in unicode e sort si incazza un poco.</p>
<p>Per risolvere il problema ho reimpostato la variabile <em>LC_ALL </em>in questo modo:<br />
<code><br />
export LC_ALL=C; sort wordlist.txt &gt; sortedwordlist.txt<br />
</code></p>
<p>Dopo un poco di elaborazione, mi sono ritrovato con un bel file ordinato.</p>
<p>Occorreva eliminare le ripetizioni. Per fare questo ho implementato un piccolo script Python.<br />
Ecco il codice:</p>
<pre name="code" class="python">

#!/usr/bin/python

from __future__ import with_statement
import sys

with open(sys.argv[1],&#039;w&#039; ) as fileoutput:
	with open(sys.argv[2],&#039;r&#039; ) as fileinput:

		oldline=&#039;&#039;

		for line in fileinput:

			if line!=oldline:
				fileoutput.write(line)

			oldline=line
</pre>
<p>Il primo argomento dello script è il file di output, il secondo è il file di input.</p>
<p>Dopo un poco di elaborazione, mi sono ritrovato una bella wordlist di 441 MB, 260MB in meno di quella di partenza; nella wordlist iniziale c&#8217;erano circa 35 milioni di ripetizioni!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/fripp.wordpress.com/172/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/fripp.wordpress.com/172/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fripp.wordpress.com/172/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fripp.wordpress.com/172/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fripp.wordpress.com/172/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fripp.wordpress.com/172/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fripp.wordpress.com/172/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fripp.wordpress.com/172/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fripp.wordpress.com/172/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fripp.wordpress.com/172/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fripp.wordpress.com/172/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fripp.wordpress.com/172/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fripp.wordpress.com&blog=2023394&post=172&subd=fripp&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/frammentiDiRazionalita/~4/317469680" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://fripp.wordpress.com/2008/06/22/come-ordinare-e-ripulire-una-wordlist-gigante/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/fripp85-128.jpg" medium="image">
			<media:title type="html">fripp</media:title>
		</media:content>
	<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=frammentiDiRazionalita&amp;itemurl=http%3A%2F%2Ffripp.wordpress.com%2F2008%2F06%2F22%2Fcome-ordinare-e-ripulire-una-wordlist-gigante%2F</feedburner:awareness><feedburner:origLink>http://fripp.wordpress.com/2008/06/22/come-ordinare-e-ripulire-una-wordlist-gigante/</feedburner:origLink></item>
		<item>
		<title>Scrivere un curriculum in formato europeo con LaTeX</title>
		<link>http://feeds.feedburner.com/~r/frammentiDiRazionalita/~3/316953682/</link>
		<comments>http://fripp.wordpress.com/2008/06/21/scrivere-un-curriculum-in-formato-europeo-con-latex/#comments</comments>
		<pubDate>Sat, 21 Jun 2008 13:56:54 +0000</pubDate>
		<dc:creator>fripp</dc:creator>
		
		<category><![CDATA[About me]]></category>

		<category><![CDATA[Informatica]]></category>

		<category><![CDATA[LaTeX]]></category>

		<category><![CDATA[TeX]]></category>

		<category><![CDATA[curriculum vitae]]></category>

		<category><![CDATA[CV europeo]]></category>

		<category><![CDATA[europass]]></category>

		<category><![CDATA[european curriculum vitae]]></category>

		<category><![CDATA[european CV]]></category>

		<category><![CDATA[europecv]]></category>

		<category><![CDATA[curriculum LaTeX]]></category>

		<guid isPermaLink="false">http://fripp.wordpress.com/?p=169</guid>
		<description><![CDATA[In questi giorni ho avuro l&#8217;esigenza di redigere il mio CV per mandarlo ad alcune aziende che me ne hanno fatto richiesta. L&#8217;idea di usare i modelli di MS Word non mi andava affatto e pertanto mi sono affiadato al mio &#8220;amico&#8221;  (adoro scrivere  e non LaTeX!!!!!!).
Mi sono messo a spulciare su ctan.org [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In questi giorni ho avuro l&#8217;esigenza di redigere il mio CV per mandarlo ad alcune aziende che me ne hanno fatto richiesta. L&#8217;idea di usare i modelli di MS Word non mi andava affatto e pertanto mi sono affiadato al mio &#8220;amico&#8221; <img src='http://l.wordpress.com/latex.php?latex=%5CLaTeX&amp;bg=ffffff&amp;fg=000000&amp;s=0' alt='\LaTeX' title='\LaTeX' class='latex' /> (adoro scrivere <img src='http://l.wordpress.com/latex.php?latex=%5CLaTeX&amp;bg=ffffff&amp;fg=000000&amp;s=0' alt='\LaTeX' title='\LaTeX' class='latex' /> e non LaTeX!!!!!!).</p>
<p>Mi sono messo a spulciare su <a href="http://www.ctan.org" target="_blank">ctan.org</a> e ho trovato quello che cercavo: la classe <strong>europecv</strong>, un&#8217;implementazione <img src='http://l.wordpress.com/latex.php?latex=%5CLaTeX&amp;bg=ffffff&amp;fg=000000&amp;s=0' alt='\LaTeX' title='\LaTeX' class='latex' /> non ufficiale del formato europeo del CV.</p>
<p>Potete scarica il pacchetto <a href="http://www.ctan.org/tex-archive/help/Catalogue/entries/europecv.html" target="_blank">qui</a>.</p>
<p>Come al solito, ogni pacchetto contiene una buona dose di esempi e documentazione; se si ha una buona dimenstichezza con <img src='http://l.wordpress.com/latex.php?latex=%5CLaTeX&amp;bg=ffffff&amp;fg=000000&amp;s=0' alt='\LaTeX' title='\LaTeX' class='latex' />, è molto semplice scrivere immediatamente un documento completo.</p>
<p>Questa è l&#8217;intestazione del mio sorgente:<br />
<code><br />
\documentclass[totpages,helvetica,nologo,flagCMYK,italian]<br />
{europecv}<br />
\usepackage[T1]{fontenc}<br />
\usepackage{graphicx}<br />
\usepackage[a4paper,top=1.27cm,left=1cm,right=1cm,bottom=2cm]<br />
{geometry}<br />
\usepackage[italian]{babel}<br />
\usepackage{url}<br />
</code></p>
<p>Per maggiori informazioni sulle varie opzioni, leggete la documentazione.</p>
<p>Vediamo alcuni comandi importanti.<br />
<code><br />
\ecvname{Sanfilippo Calogero}<br />
\ecvaddress{Via Pippo Pappo 26}<br />
\ecvtelephone[555-555]{555-555}<br />
\ecvemail{\url{a@b.c}}<br />
\ecvnationality{Italiana}<br />
\ecvdateofbirth{17/6/1985}<br />
\ecvgender{Maschile}<br />
</code><br />
I nomi sono molto autoesplicativi: <em>\ecvname{}</em> serve per impostare il nome, <em>\ecvaddress{}</em> per impostare l&#8217;indirizzo, <em>\ecvtelephone[555-555]{555-555}</em> per impostare il numero di telefono (tra parentesi quadre va il cellulare), <em>\ecvemail{\url{a@b.c}}</em> imposta l&#8217;email, ecc&#8230;</p>
<p>Per fare comparire nel CV tutte queste info, basta inserire il codice:<br />
<code><br />
\ecvpersonalinfo<br />
</code></p>
<p>all&#8217;interno del corpo del documento, in questo modo:<br />
<code><br />
\begin{document}<br />
\begin{europecv}<br />
\ecvpersonalinfo<br />
\end{europecv}<br />
\end{document}<br />
</code></p>
<p>Il pacchetto prevede dei tag per impostare le varie sezioni in cui suddividere il curriculum; questo è il codice relativo alla sezione <em>Istruzione e formazione</em>:<br />
<code><br />
\ecvsection{Istruzione e formazione}<br />
\ecvitem{Date}{Iniziare con le informazioni pi\&#8217;u recenti ed elencare separatamente ciascun corso frequentato con successo. Facoltativo.}<br />
\ecvitem{Certificato o diploma ottenuto}{\ldots}<br />
\ecvitem{Principali materie/Competenze professionali apprese}{\ldots}<br />
\ecvitem{Nome e tipo d&#8217;istituto di istruzione o formazione}{\ldots}<br />
\ecvitem{Livello nella classificazione nazionale o internazionale\footnote{Se pertinente.}}{\ldots}<br />
</code></p>
<p>Da <a title="Esempio CV Europeo" href="http://fripp.files.wordpress.com/2008/06/cv_template_it.pdf" target="_blank">questo</a> link potete scaricare un esempio di curriculum generico prodotto col pacchetto <strong>europecv. </strong>Cliccando <a title="Sorgente CV europeo" href="http://www.ctan.org/get/macros/latex/contrib/europecv/templates/cv_template_it.tex" target="_blank">qui</a> potrete scarica il sorgente relativo al precedente esempio.</p>
<p>Buon divertimento!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/fripp.wordpress.com/169/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/fripp.wordpress.com/169/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fripp.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fripp.wordpress.com/169/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fripp.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fripp.wordpress.com/169/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fripp.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fripp.wordpress.com/169/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fripp.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fripp.wordpress.com/169/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fripp.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fripp.wordpress.com/169/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fripp.wordpress.com&blog=2023394&post=169&subd=fripp&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/frammentiDiRazionalita/~4/316953682" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://fripp.wordpress.com/2008/06/21/scrivere-un-curriculum-in-formato-europeo-con-latex/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/fripp85-128.jpg" medium="image">
			<media:title type="html">fripp</media:title>
		</media:content>
	<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=frammentiDiRazionalita&amp;itemurl=http%3A%2F%2Ffripp.wordpress.com%2F2008%2F06%2F21%2Fscrivere-un-curriculum-in-formato-europeo-con-latex%2F</feedburner:awareness><feedburner:origLink>http://fripp.wordpress.com/2008/06/21/scrivere-un-curriculum-in-formato-europeo-con-latex/</feedburner:origLink></item>
		<item>
		<title>This is the end</title>
		<link>http://feeds.feedburner.com/~r/frammentiDiRazionalita/~3/315210738/</link>
		<comments>http://fripp.wordpress.com/2008/06/19/this-is-the-end/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 03:44:00 +0000</pubDate>
		<dc:creator>fripp</dc:creator>
		
		<category><![CDATA[About me]]></category>

		<guid isPermaLink="false">http://fripp.wordpress.com/?p=168</guid>
		<description><![CDATA[The end
       ]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The end</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/fripp.wordpress.com/168/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/fripp.wordpress.com/168/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fripp.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fripp.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fripp.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fripp.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fripp.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fripp.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fripp.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fripp.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fripp.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fripp.wordpress.com/168/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fripp.wordpress.com&blog=2023394&post=168&subd=fripp&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/frammentiDiRazionalita/~4/315210738" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://fripp.wordpress.com/2008/06/19/this-is-the-end/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/fripp85-128.jpg" medium="image">
			<media:title type="html">fripp</media:title>
		</media:content>
	<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=frammentiDiRazionalita&amp;itemurl=http%3A%2F%2Ffripp.wordpress.com%2F2008%2F06%2F19%2Fthis-is-the-end%2F</feedburner:awareness><feedburner:origLink>http://fripp.wordpress.com/2008/06/19/this-is-the-end/</feedburner:origLink></item>
		<item>
		<title>Programmi elettorali dei candidati a sindaco di Partanna</title>
		<link>http://feeds.feedburner.com/~r/frammentiDiRazionalita/~3/308208905/</link>
		<comments>http://fripp.wordpress.com/2008/06/09/programmi-elettorali-dei-candidati-a-sindaco-di-partannesi/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 17:19:50 +0000</pubDate>
		<dc:creator>fripp</dc:creator>
		
		<category><![CDATA[About me]]></category>

		<category><![CDATA[Partanna]]></category>

		<category><![CDATA[Politica]]></category>

		<category><![CDATA[Accardo]]></category>

		<category><![CDATA[angelo mistretta]]></category>

		<category><![CDATA[cuttone]]></category>

		<category><![CDATA[democrazia partecipativa]]></category>

		<category><![CDATA[elezioni comunali partanna]]></category>

		<category><![CDATA[gero accardo]]></category>

		<category><![CDATA[giovanni cuttone]]></category>

		<category><![CDATA[gruppo liberamente]]></category>

		<category><![CDATA[liberamente]]></category>

		<category><![CDATA[mistretta]]></category>

		<category><![CDATA[partecipazione attiva]]></category>

		<category><![CDATA[patto etico]]></category>

		<guid isPermaLink="false">http://fripp.wordpress.com/?p=166</guid>
		<description><![CDATA[Questa è la settimana &#8220;calda&#8221;, l&#8217;ultima prima delle elezioni di giorno 15 e 16 giugno.
Sul blog del gruppo LiberaMente trovate i programmi dei 3 candidati a sindaco.
Scaricateli, leggeteli e &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230; meditate!
La scelta del sindaco deve esser attenta e ponderata; è un momento di altissima democrazia da non sottovalutare e nemmeno da banalizzare.
Noi siamo cittadini in [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Questa è la settimana &#8220;calda&#8221;, l&#8217;ultima prima delle elezioni di giorno 15 e 16 giugno.</p>
<p>Sul blog del gruppo LiberaMente trovate i programmi dei 3 candidati a sindaco.</p>
<p>Scaricateli, leggeteli e &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230; meditate!</p>
<p>La scelta del sindaco deve esser attenta e ponderata; è un momento di altissima democrazia da non sottovalutare e nemmeno da banalizzare.</p>
<p>Noi siamo cittadini in quanto detentori del diritto al voto!</p>
<p>Potete trovare i file <a href="http://partannaliberamente.wordpress.com/2008/06/09/i-programmi-elettorali/" target="_blank">qui.</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/fripp.wordpress.com/166/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/fripp.wordpress.com/166/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fripp.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fripp.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fripp.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fripp.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fripp.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fripp.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fripp.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fripp.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fripp.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fripp.wordpress.com/166/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fripp.wordpress.com&blog=2023394&post=166&subd=fripp&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/frammentiDiRazionalita/~4/308208905" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://fripp.wordpress.com/2008/06/09/programmi-elettorali-dei-candidati-a-sindaco-di-partannesi/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/fripp85-128.jpg" medium="image">
			<media:title type="html">fripp</media:title>
		</media:content>
	<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=frammentiDiRazionalita&amp;itemurl=http%3A%2F%2Ffripp.wordpress.com%2F2008%2F06%2F09%2Fprogrammi-elettorali-dei-candidati-a-sindaco-di-partannesi%2F</feedburner:awareness><feedburner:origLink>http://fripp.wordpress.com/2008/06/09/programmi-elettorali-dei-candidati-a-sindaco-di-partannesi/</feedburner:origLink></item>
		<item>
		<title>Mandare email a più persone usando AppleScript</title>
		<link>http://feeds.feedburner.com/~r/frammentiDiRazionalita/~3/308054561/</link>
		<comments>http://fripp.wordpress.com/2008/06/09/mandare-email-a-piu-persone-usando-applescript/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 11:14:38 +0000</pubDate>
		<dc:creator>fripp</dc:creator>
		
		<category><![CDATA[AppleScript]]></category>

		<category><![CDATA[Informatica]]></category>

		<category><![CDATA[Mac OS X]]></category>

		<category><![CDATA[Programmazione]]></category>

		<category><![CDATA[Sistemi Operativi]]></category>

		<category><![CDATA[Mail.app]]></category>

		<category><![CDATA[Address Book.app]]></category>

		<category><![CDATA[Rubrica Indirizzi]]></category>

		<guid isPermaLink="false">http://fripp.wordpress.com/?p=165</guid>
		<description><![CDATA[Mi capita spesso di dover mandare la stessa email a tutte le persone del gruppo LiberaMente, di cui faccio parte.
Per automatizzare la cosa, ho creato un piccolo script AppleScript.
Ecco il sorgente:


set date_dialog to display dialog &#34;Inserisci l&#039;oggetto&#34; default answer &#34;&#34;
set the_subject to text returned of date_dialog

tell application &#34;Address Book&#34;
    set name_list to [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Mi capita spesso di dover mandare la stessa email a tutte le persone del gruppo <a href="http://partannaliberamente.wordpress.com" target="_blank">LiberaMente</a>, di cui faccio parte.</p>
<p>Per automatizzare la cosa, ho creato un piccolo script AppleScript.</p>
<p>Ecco il sorgente:</p>
<pre name="code" class="php">

set date_dialog to display dialog &quot;Inserisci l&#039;oggetto&quot; default answer &quot;&quot;
set the_subject to text returned of date_dialog

tell application &quot;Address Book&quot;
    set name_list to every person of group &quot;Liberamente&quot;

    set email_value_list to {}

    repeat with p in name_list

        set end of email_value_list to value of every email of p

    end repeat

end tell

tell application &quot;Mail&quot;
    activate

    set new_message to make new outgoing message with properties {subject:the_subject, visible:true}

    tell new_message
        repeat with i from 1 to (count email_value_list)

            repeat with j from 1 to (count item i of email_value_list)
                make new to recipient with properties {address:item j of item i of email_value_list}
            end repeat

        end repeat

    end tell

end tell
</pre>
<p>Vediamo in breve come funziona.</p>
<p>Il primi due righi di codice<br />
<code>set date_dialog to display dialog "Inserisci l'oggetto" default answer ""<br />
set the_subject to text returned of date_dialog</code><br />
fanno comparire una finestra di dialogo che permette all&#8217;utente di inserire l&#8217;oggetto della mail.</p>
<p>Il blocco di codice</p>
<pre name="code" class="php">

tell application &quot;Address Book&quot;
	set name_list to every person of group &quot;Liberamente&quot;

	set email_value_list to {}

	repeat with p in name_list

		set end of email_value_list to value of every email of p

	end repeat

end tell
</pre>
<p>estrae dalla Rubrica Indirizzi tutti i membri del gruppo &#8220;Liberamente&#8221; e li memorizza nella variabile <em>name_list</em>.<br />
Il successivo ciclo <em>repeat</em> estrae le email di tutti i membri del gruppo e li aggiunge alla lista <em>email_value_list</em>.</p>
<p>Il successivo blocco <em>tell</em> dice a Mail di creare un nuovo messaggio di posta avente come oggetto quello inserito dall&#8217;utente:<br />
<code>set new_message to make new outgoing message with properties {subject:the_subject, visible:true}</code>.</p>
<p>Il successivo blocco <em>tell</em> serve per inizializzare la lista dei destinatari con tutte le email contenute in <em>email_value_list</em>.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/fripp.wordpress.com/165/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/fripp.wordpress.com/165/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fripp.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fripp.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fripp.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fripp.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fripp.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fripp.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fripp.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fripp.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fripp.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fripp.wordpress.com/165/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fripp.wordpress.com&blog=2023394&post=165&subd=fripp&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/frammentiDiRazionalita/~4/308054561" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://fripp.wordpress.com/2008/06/09/mandare-email-a-piu-persone-usando-applescript/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/fripp85-128.jpg" medium="image">
			<media:title type="html">fripp</media:title>
		</media:content>
	<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=frammentiDiRazionalita&amp;itemurl=http%3A%2F%2Ffripp.wordpress.com%2F2008%2F06%2F09%2Fmandare-email-a-piu-persone-usando-applescript%2F</feedburner:awareness><feedburner:origLink>http://fripp.wordpress.com/2008/06/09/mandare-email-a-piu-persone-usando-applescript/</feedburner:origLink></item>
		<item>
		<title>Dive Into Python</title>
		<link>http://feeds.feedburner.com/~r/frammentiDiRazionalita/~3/306399043/</link>
		<comments>http://fripp.wordpress.com/2008/06/04/dive-into-python/#comments</comments>
		<pubDate>Wed, 04 Jun 2008 13:28:01 +0000</pubDate>
		<dc:creator>fripp</dc:creator>
		
		<category><![CDATA[GNU/Linux]]></category>

		<category><![CDATA[Informatica]]></category>

		<category><![CDATA[Mac OS X]]></category>

		<category><![CDATA[Programmazione]]></category>

		<category><![CDATA[Python]]></category>

		<category><![CDATA[Scripting]]></category>

		<category><![CDATA[Sistemi Operativi]]></category>

		<category><![CDATA[Unix]]></category>

		<category><![CDATA[VirtualBox Images]]></category>

		<category><![CDATA[C]]></category>

		<category><![CDATA[innotek]]></category>

		<category><![CDATA[libxml2]]></category>

		<category><![CDATA[registerimage]]></category>

		<category><![CDATA[virtualbox images]]></category>

		<category><![CDATA[xml.dom.minidom]]></category>

		<guid isPermaLink="false">http://fripp.wordpress.com/?p=164</guid>
		<description><![CDATA[In questi giorni mi sono &#8220;immerso&#8221; nello studio del Python, un interessante linguaggio di scripting che mi ero promesso di imparare data la sua crescente diffusione nel mondo del software open (e non).
La rete mi ha aiutato tantissimo: su Internet trovate tonnellate di documentazione, a partire dal sito ufficiale del linguaggio.
Come prima prova con Python, [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In questi giorni mi sono &#8220;immerso&#8221; nello studio del <a href="http://en.wikipedia.org/wiki/Python_%28programming_language%29" target="_blank">Python</a>, un interessante linguaggio di scripting che mi ero promesso di imparare data la sua crescente diffusione nel mondo del software open (e non).</p>
<p>La rete mi ha aiutato tantissimo: su Internet trovate tonnellate di documentazione, a partire dal <a href="http://www.python.org/doc" target="_blank">sito ufficiale del linguaggio.</a></p>
<p>Come prima prova con Python, ho provato ad implementare <em><a href="http://fripp.wordpress.com/2008/05/12/registerimage-102/" target="_self">registerimage-1.0.2</a>, </em>il software che ho scritto per automatizzare la registrazione delle immagini virtuali del progetto <a href="http://virtualbox.wordpress.com" target="_blank">VirtualBox Images</a> con il software VirtualBox della SUN.</p>
<p>La cosa che colpisce del Python è la semplicità enorme di codificazione; abituato a certe &#8220;astrusità&#8221; del C, programmare in Python è molto semplice e scorrevole.</p>
<p>Ecco un piccolo confronto tra l&#8217;implementazione in C di una funzione di registerimage-1.0.2 e quella in Python.</p>
<p>La funzione in questione effettua un parsing del file di configurazione della macchina virtuale che si vuole registrare per ottenere i parametri salienti della macchina virtuale stessa.</p>
<p>Versione C:<br />
<span id="more-164"></span></p>
<pre name="code" class="c">

vm_parameters* get_machine_parameters(char *docname) {
    printf(&quot;%s\ndocname: %s\n&quot;,__FUNCTION__,docname);
    vm_parameters *param;

    xmlDocPtr doc;
    xmlNodePtr cur, cur2,cur3;

    param=new_vm_parameters();

    doc = xmlParseFile(docname);

    if (!doc) {
        fprintf(stderr,&quot;Document not parsed successfully. \n&quot;);
        return NULL;
    }

    cur = xmlDocGetRootElement(doc);

    if (!cur) {
        fprintf(stderr,&quot;empty document\n&quot;);
        xmlFreeDoc(doc);
        return NULL;
    }

    if (xmlStrcmp(cur-&gt;name, BAD_CAST &quot;VirtualBox&quot;)) {
        fprintf(stderr,&quot;document of the wrong type&quot;);
        xmlFreeDoc(doc);
        return NULL;
    }

    cur = cur-&gt;xmlChildrenNode;

    while (cur) {

        if (!xmlStrcmp(cur-&gt;name, BAD_CAST &quot;Machine&quot;)){
            param-&gt;machine_uuid=xmlStrdup(xmlGetProp(cur, BAD_CAST &quot;uuid&quot;));
            param-&gt;machine_name=xmlStrdup(xmlGetProp(cur, BAD_CAST &quot;name&quot;));

            //printf(&quot;uuid=%s\n&quot;,param-&gt;machine_uuid);
            //printf(&quot;machine name=%s\n&quot;,param-&gt;machine_name);

            cur2=cur-&gt;xmlChildrenNode;

            while(cur2){
                if (!xmlStrcmp(cur2-&gt;name, BAD_CAST &quot;HardDiskAttachments&quot;)){

                    cur3=cur2-&gt;xmlChildrenNode;

                    while(cur3){
                        if (!xmlStrcmp(cur3-&gt;name, BAD_CAST &quot;HardDiskAttachment&quot;))
                            param-&gt;hd_id=xmlStrdup(xmlGetProp(cur3,BAD_CAST &quot;hardDisk&quot;));

                            //printf(&quot;hardDisk=%s\n&quot;,param-&gt;hd_id);

                        cur3 = cur3-&gt;next;
                    }

                }
                cur2 = cur2-&gt;next;
            }

        }

        cur = cur-&gt;next;
    }

    xmlFreeDoc(doc);

    return param;
}
</pre>
<p>Versione Python:</p>
<pre name="code" class="python">

def getMachineParameters(docname):
    try:
        param = MachineParameters()
        xmldoc = minidom.parse(docname)

        root = xmldoc.documentElement

        if root.nodeName == &quot;VirtualBox&quot;:
            machineNode = root.childNodes[1]

            param[&quot;uuid&quot;] = machineNode.getAttribute(&quot;uuid&quot; )
            param[&quot;name&quot;] = machineNode.getAttribute(&quot;name&quot; )

            machineNodeChildrens = machineNode.childNodes

            for i in machineNodeChildrens:
                if i.nodeName == &quot;HardDiskAttachments&quot;:
                    for j in i.childNodes:
                        if j.nodeName == &quot;HardDiskAttachment&quot;:
                            param[&quot;hdid&quot;] = j.getAttribute(&quot;hardDisk&quot; )

                            return param

        else:
            print &quot;Document of the wrong type&quot;
            return None

    except IOError:
        print &quot;Error parsing &quot;, docname
        return None
</pre>
<p>La versione C della funzione usa la libxml2, mentre quella Python usa il modulo xml.dom.minidom.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/fripp.wordpress.com/164/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/fripp.wordpress.com/164/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fripp.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fripp.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fripp.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fripp.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fripp.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fripp.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fripp.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fripp.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fripp.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fripp.wordpress.com/164/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fripp.wordpress.com&blog=2023394&post=164&subd=fripp&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/frammentiDiRazionalita/~4/306399043" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://fripp.wordpress.com/2008/06/04/dive-into-python/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/fripp85-128.jpg" medium="image">
			<media:title type="html">fripp</media:title>
		</media:content>
	<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=frammentiDiRazionalita&amp;itemurl=http%3A%2F%2Ffripp.wordpress.com%2F2008%2F06%2F04%2Fdive-into-python%2F</feedburner:awareness><feedburner:origLink>http://fripp.wordpress.com/2008/06/04/dive-into-python/</feedburner:origLink></item>
		<item>
		<title>Passaparola - Marco Travaglio in diretta ogni lunedì alle 14</title>
		<link>http://feeds.feedburner.com/~r/frammentiDiRazionalita/~3/303030646/</link>
		<comments>http://fripp.wordpress.com/2008/06/01/passaparola-marco-travaglio-in-diretta-ogni-lunedi-alle-14/#comments</comments>
		<pubDate>Sun, 01 Jun 2008 12:01:58 +0000</pubDate>
		<dc:creator>fripp</dc:creator>
		
		<category><![CDATA[Beppe Grillo]]></category>

		<category><![CDATA[Berlusconi]]></category>

		<category><![CDATA[Politica]]></category>

		<category><![CDATA[Marco Travaglio]]></category>

		<category><![CDATA[Passaparola diretta]]></category>

		<category><![CDATA[Se li conosci li eviti]]></category>

		<category><![CDATA[vera informazione]]></category>

		<category><![CDATA[vodpod]]></category>

		<guid isPermaLink="false">http://fripp.wordpress.com/2008/05/26/passaparola-marco-travaglio-in-diretta-ogni-lunedi-alle-14/</guid>
		<description><![CDATA[ 

       ]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><span style="display:block;width:425px;margin:0 auto;"> <embed src='http://widgets.vodpod.com/w/video_embed/ExternalVideo.570060' type='application/x-shockwave-flash' AllowScriptAccess='never' pluginspage='http://www.macromedia.com/go/getflashplayer' wmode='transparent' flashvars='' width='425' height='350' /><br />
</span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/fripp.wordpress.com/159/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/fripp.wordpress.com/159/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fripp.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fripp.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fripp.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fripp.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fripp.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fripp.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fripp.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fripp.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fripp.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fripp.wordpress.com/159/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fripp.wordpress.com&blog=2023394&post=159&subd=fripp&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/frammentiDiRazionalita/~4/303030646" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://fripp.wordpress.com/2008/06/01/passaparola-marco-travaglio-in-diretta-ogni-lunedi-alle-14/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/fripp85-128.jpg" medium="image">
			<media:title type="html">fripp</media:title>
		</media:content>
	<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=frammentiDiRazionalita&amp;itemurl=http%3A%2F%2Ffripp.wordpress.com%2F2008%2F06%2F01%2Fpassaparola-marco-travaglio-in-diretta-ogni-lunedi-alle-14%2F</feedburner:awareness><feedburner:origLink>http://fripp.wordpress.com/2008/06/01/passaparola-marco-travaglio-in-diretta-ogni-lunedi-alle-14/</feedburner:origLink></item>
	<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetFeedData?uri=frammentiDiRazionalita</feedburner:awareness></channel>
</rss>
