<?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"
	>

<channel>
	<title>Paolo Donadeo -- LifeLOG</title>
	<atom:link href="http://www.donadeo.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.donadeo.net</link>
	<description>All about my life, job and thoughts</description>
	<pubDate>Thu, 07 Aug 2008 22:21:27 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>Ascoltare Radio Monte Carlo&#8230; con Linux</title>
		<link>http://www.donadeo.net/2008/08/08/ascoltare-rmc-con-linux/</link>
		<comments>http://www.donadeo.net/2008/08/08/ascoltare-rmc-con-linux/#comments</comments>
		<pubDate>Thu, 07 Aug 2008 22:21:27 +0000</pubDate>
		<dc:creator>Paolo</dc:creator>
		
		<category><![CDATA[Digital life]]></category>

		<category><![CDATA[Italian]]></category>

		<category><![CDATA[Music]]></category>

		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.donadeo.net/?p=89</guid>
		<description><![CDATA[Mi piace ascoltare la radio, specialmente quando programmo. Siccome siedo davanti ad un PC e siamo nel 2008, pretendo di ascoltare la mia stazione preferita, Radio Monte Carlo, usando il mio sistema operativo, cioè Linux (Debian "Sid", per la precisione).
Purtroppo navigando sul sito della radio faccio fatica ad interagire con il player integrato e poi, [...]]]></description>
			<content:encoded><![CDATA[<p>Mi piace ascoltare la radio, specialmente quando programmo. Siccome siedo davanti ad un PC e siamo nel 2008, pretendo di ascoltare la mia stazione preferita, <a title="Radiomontecarlo.net : RMC" href="http://www.radiomontecarlo.net/it/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.radiomontecarlo.net');">Radio Monte Carlo</a>, usando il mio sistema operativo, cioè Linux (<a title="Debian -- List of sections in " href="http://packages.debian.org/unstable/" onclick="javascript:pageTracker._trackPageview('/outbound/article/packages.debian.org');">Debian "Sid"</a>, per la precisione).</p>
<p>Purtroppo navigando sul sito della radio faccio fatica ad interagire con il player integrato e poi, visto che uso il browser per provare il software che scrivo, trovo scomodo avere una finestra impegnata ad ascoltare musica.</p>
<p>Così, smanettando un po', ho trovato la URL da cui proviene lo stream, ascoltabile con <a title="MPlayer - The Movie Player" href="http://www.mplayerhq.hu" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.mplayerhq.hu');">MPlayer</a> con il semplice comando:</p>
<pre>$ mplayer rtsp://151.1.245.2/broadcast/2</pre>
<p>con buona pace della terribile pagina web sul sito.</p>
<p>Buon ascolto...</p>
]]></content:encoded>
			<wfw:commentRss>http://www.donadeo.net/2008/08/08/ascoltare-rmc-con-linux/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Holiday!</title>
		<link>http://www.donadeo.net/2008/07/05/holiday/</link>
		<comments>http://www.donadeo.net/2008/07/05/holiday/#comments</comments>
		<pubDate>Sat, 05 Jul 2008 20:15:09 +0000</pubDate>
		<dc:creator>Paolo</dc:creator>
		
		<category><![CDATA[English]]></category>

		<category><![CDATA[Life]]></category>

		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.donadeo.net/?p=87</guid>
		<description><![CDATA[Next week I'll be away on holiday, finally! It's only one week, but better than nothing. I'll be back on line Monday the 14th of July.
Ciao!
]]></description>
			<content:encoded><![CDATA[<p>Next week I'll be away on holiday, finally! It's only one week, but better than nothing. I'll be back on line Monday the 14th of July.</p>
<p>Ciao!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.donadeo.net/2008/07/05/holiday/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Vacanze!</title>
		<link>http://www.donadeo.net/2008/07/05/vacanze/</link>
		<comments>http://www.donadeo.net/2008/07/05/vacanze/#comments</comments>
		<pubDate>Sat, 05 Jul 2008 20:08:29 +0000</pubDate>
		<dc:creator>Paolo</dc:creator>
		
		<category><![CDATA[Italian]]></category>

		<category><![CDATA[Life]]></category>

		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.donadeo.net/?p=86</guid>
		<description><![CDATA[Finalmente vado in vacanza, per una sola settimana, ma è meglio di niente. Tornerò on line Lunedì 14 Luglio.
Ciao!
]]></description>
			<content:encoded><![CDATA[<p>Finalmente vado in vacanza, per una sola settimana, ma è meglio di niente. Tornerò on line Lunedì 14 Luglio.</p>
<p>Ciao!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.donadeo.net/2008/07/05/vacanze/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ritardo Cronico</title>
		<link>http://www.donadeo.net/2008/06/15/ritardo-cronico/</link>
		<comments>http://www.donadeo.net/2008/06/15/ritardo-cronico/#comments</comments>
		<pubDate>Sun, 15 Jun 2008 21:56:28 +0000</pubDate>
		<dc:creator>Paolo</dc:creator>
		
		<category><![CDATA[Digital life]]></category>

		<category><![CDATA[Italian]]></category>

		<category><![CDATA[Photography]]></category>

		<category><![CDATA[Random thoughts]]></category>

		<guid isPermaLink="false">http://www.donadeo.net/?p=85</guid>
		<description><![CDATA[Sono sempre così preso dal lavoro che non ho mai il tempo di pubblicare su Flickr le (poche) foto che scatto. Con sei mesi di ritardo ho messo on line questa sera quelle di... capodanno!!! Da non crederci. Per la cronaca, si è trattata di una festicciola solo con gli amici più cari, ospitato a [...]]]></description>
			<content:encoded><![CDATA[<p>Sono sempre così preso dal lavoro che non ho mai il tempo di pubblicare su Flickr le (poche) foto che scatto. Con sei mesi di ritardo ho messo on line questa sera quelle di... capodanno!!! Da non crederci. Per la cronaca, si è trattata di una festicciola solo con gli amici più cari, ospitato a Varese da Valeria.</p>
<p>Ho quindi approfittato per fotografare qualche angolo di Varese.</p>
<p>Ad ogni modo per tutti gli interessati le potete trovare <a href="http://www.flickr.com/photos/donadeo/sets/72157605633354833/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.flickr.com');">qui</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.donadeo.net/2008/06/15/ritardo-cronico/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PyCon Due</title>
		<link>http://www.donadeo.net/2008/05/14/pycon-due/</link>
		<comments>http://www.donadeo.net/2008/05/14/pycon-due/#comments</comments>
		<pubDate>Wed, 14 May 2008 11:32:59 +0000</pubDate>
		<dc:creator>Paolo</dc:creator>
		
		<category><![CDATA[Article]]></category>

		<category><![CDATA[Computer programming]]></category>

		<category><![CDATA[Italian]]></category>

		<category><![CDATA[Python]]></category>

		<category><![CDATA[Spare time]]></category>

		<guid isPermaLink="false">http://www.donadeo.net/?p=83</guid>
		<description><![CDATA[
Si è appena conclusa la seconda convention italiana dedicata al linguaggio Python, il PyCon2, svoltosi a Firenze lo scorso fine settimana. Pur non essendo un vero pythonista sono comunque interessato a Python perché in questo momento gran parte della mia attività di consulenza richiede la conoscenza di questo linguaggio e, devo dire, perché molto attirato [...]]]></description>
			<content:encoded><![CDATA[<p style="float: left; margin-right: 1em; margin-bottom: 1em"><img title="PyCon2 Italia official logo" src="http://www.donadeo.net/wp-content/uploads/2008/05/pycon2_logo.png" border="2" alt="PyCon2 Italia official logo" width="256" height="158" /></p>
<p>Si è appena conclusa la seconda convention italiana dedicata al linguaggio Python, il <a href="http://www.pycon.it/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.pycon.it');">PyCon2</a>, svoltosi a Firenze lo scorso fine settimana. Pur non essendo un vero <em>pythonista</em> sono comunque interessato a Python perché in questo momento gran parte della mia attività di consulenza richiede la conoscenza di questo linguaggio e, devo dire, perché molto attirato da alcuni <em>key note</em>, tra i quali spicca certamente quello di <a href="http://www.aleax.it/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.aleax.it');">Alex Martelli</a> su <a href="http://code.google.com/appengine/" onclick="javascript:pageTracker._trackPageview('/outbound/article/code.google.com');">Google App Engine</a>.</p>
<p>Un altro aspetto interessante è stato per me il constatare come molti talk fossero incentrati sulle tecnologie legate al web e siccome sto scrivendo <a href="http://www.ex-nunc.org" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.ex-nunc.org');">Ex-nunc</a>, un web framework in Objective Caml, ho voluto informarmi su quale fosse lo stato dell'arte di progetti simili scritti in Python.</p>
<p>L'organizzazione della manifestazione è stata a dir poco eccellente. <a href="http://www.develer.com/website/en" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.develer.com');">Develer</a>, l'azienda che ha promosso ed organizzato il PyCon2, non ha tralasciato nessun dettaglio, a partire dal sito della manifestazione, dettagliatissimo e ricco di informazioni, dalla scelta dell'albergo centralissimo e raggiungibile a piedi dalla stazione ferroviaria, fino al ricco buffet.</p>
<p>Anche l'organizzazione logistica dei talk è stata di livello eccezionale: ottima acustica e disponibilità di traduzione simultanea per gli ospiti di lingua Inglese.</p>
<p>Infine, magari meno importante, la cornice della città di Firenze è splendida e, seppure immagino sia possibile organizzare un PyCon3 a <a href="http://www.panoramio.com/photo/1854977" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.panoramio.com');">Sesto San Giovanni</a>, spero davvero che scelgano ancora, l'anno prossimo, una città in cui ad ogni angolo si vedono panorami <a href="http://www.panoramio.com/photo/91590" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.panoramio.com');">come questo</a>.</p>
<p>Organizzazione perfetta, argomenti trattati interessanti ed ospiti internazionali hanno fatto del PyCon2 un appuntamento di assoluto rilievo, che non teme il confronto di nessuna manifestazione simile  nel mondo. Per il panorama italiano si tratta poi di un fatto del tutto eccezionale anche <strong>dal punto di vista culturale</strong>, in un paese che di tecnologia parla sempre meno e di software libero non parla affatto.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.donadeo.net/2008/05/14/pycon-due/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sending emails via Gmail with Objective Caml</title>
		<link>http://www.donadeo.net/2008/04/26/sending-emails-via-gmail-with-objective-caml/</link>
		<comments>http://www.donadeo.net/2008/04/26/sending-emails-via-gmail-with-objective-caml/#comments</comments>
		<pubDate>Sat, 26 Apr 2008 21:00:53 +0000</pubDate>
		<dc:creator>Paolo</dc:creator>
		
		<category><![CDATA[Article]]></category>

		<category><![CDATA[Computer programming]]></category>

		<category><![CDATA[English]]></category>

		<category><![CDATA[Objective Caml]]></category>

		<category><![CDATA[Python]]></category>

		<category><![CDATA[Spare time]]></category>

		<guid isPermaLink="false">http://www.donadeo.net/?p=78</guid>
		<description><![CDATA[
Motivation
Last week I was writing a Python script to make an automatic backup, and I decided to send me an email in case of scp failure. I decided to use Python to send the email, possibly via GMail and I found this interesting blog post: Sending emails via Gmail with Python. I like Python, it's [...]]]></description>
			<content:encoded><![CDATA[<p style="float: left; margin-right: 1em; margin-bottom: 1em"><img title="Gmail logo with the caml" src="http://www.donadeo.net/wp-content/uploads/2008/04/gmail_and_ocaml.png" border="2" alt="Gmail logo with the caml" width="256" height="158" /></p>
<h3>Motivation</h3>
<p>Last week I was writing a Python script to make an automatic backup, and I decided to send me an email in case of scp failure. I decided to use Python to send the email, possibly via GMail and I found this interesting blog post: <a title="Kutuma's Ramblings: Sending emails via Gmail with Python" href="http://kutuma.blogspot.com/2007/08/sending-emails-via-gmail-with-python.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/kutuma.blogspot.com');">Sending emails via Gmail with Python</a>. I like Python, it's a good programming language, but my heart (as a developer!) beats for the <a title="Objective Caml home page" href="http://caml.inria.fr/ocaml/index.en.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/caml.inria.fr');">Objective Caml</a> programming language.</p>
<p>So I decided to port the script presented in the post in OCaml. The result is this <a href="http://www.donadeo.net/wp-content/uploads/2008/04/sendmail.ml" >sendmail.ml</a>.</p>
<h3>Compiling the script</h3>
<p>To compile the script you need four software components:</p>
<ol>
<li>the Objective Caml environment. You can download it from the <a href="http://caml.inria.fr/ocaml/release.en.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/caml.inria.fr');">INRIA site</a>;</li>
<li><a href="http://projects.camlcity.org/projects/findlib.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/projects.camlcity.org');">Findlib</a>, to make compiling very simple;</li>
<li>Ocamlnet: here is the <a href="http://projects.camlcity.org/projects/ocamlnet.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/projects.camlcity.org');">home page of the project</a>;</li>
<li><a href="http://savonet.sourceforge.net/wiki/OCamlLibs" onclick="javascript:pageTracker._trackPageview('/outbound/article/savonet.sourceforge.net');">OCaml binding</a> to the SSL library.</li>
</ol>
<p>You can of course compile all this stuff, but every decent Linux distributions has all packaged. In Debian you have to run the following command:</p>
<pre># aptitude install ocaml libocamlnet-ocaml-dev \
  libssl-ocaml-dev ocaml-findlib</pre>
<p>Now, to compile the script, issue the command:</p>
<pre>$ ocamlfind ocamlopt -linkpkg -package \
  netstring,smtp,ssl,str sendmail.ml -o sendmail</pre>
<p>Before using it, remember to customize your name, email address, GMail user and password.</p>
<h3>Code comparison</h3>
<p>The first difference that jumps out at everyone confronting the two scripts is the number of lines: 41 lines for Python against 163 of my OCaml version. The difference is justified by the fact that the Python standard library comes with an almost full featured SMTP client, with ESMTP and TLS capability. On the other side Objective Caml has a very concise standard library, which includes essential modules and data structures, but no "batteries" are provided out of the box. This is a precise design decision by INRIA and, in some ways, I agree with them. Luckily the OCaml community is a source of excellent libraries and bindings, like <a href="http://projects.camlcity.org/projects/ocamlnet.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/projects.camlcity.org');">Ocamlnet</a> by Gerd Stolpmann and the <a href="http://savonet.sourceforge.net/wiki/OCamlLibs" onclick="javascript:pageTracker._trackPageview('/outbound/article/savonet.sourceforge.net');">SSL library binding</a>, written by Samuel Mimram. The first one is in particular the Swiss Army Knife for network oriented battles.</p>
<p>Since the SMTP client provided by Ocamlnet doesn't include TLS capability I decided to stole the source code and adapt it to my needs, to have a more comfortable and high level interface resembling the one offered by the Python standard library.</p>
<p>So the different length is easily explained: 109 lines of code are devoted to the smtp_client class, and the actual script is 54 lines long.</p>
<h3>The forward pipe operator</h3>
<p>All Turing complete computer languages are equivalent, but everyone knows this is only the theory and everyone have a programming language of choice. Here are two examples of what you can do in OCaml.</p>
<p>The first is the <em>pipe</em> operator:</p>
<pre class="ocaml"><span style="color: #06c; font-weight: bold;">let</span> <span style="color: #6c6;">&#40;</span>|&gt;<span style="color: #6c6;">&#41;</span> x f = f x</pre>
<p>Here we define a (very common in <a href="http://en.wikipedia.org/wiki/Functional_programming" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">FP</a>) infix operator which simply inverts the order of its operands. What the <a href="http://en.wiktionary.org/wiki/frack" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wiktionary.org');">frack</a> is this? Very simple, we use it to invert the order of a function with its last parameter so, if we want to compute the 3rd Fibonacci number we can write:</p>
<pre class="ocaml"><span style="color: #06c; font-weight: bold;">let</span> fib3 = fibonacci <span style="color: #c6c;">3</span></pre>
<p>but also:</p>
<pre class="ocaml"><span style="color: #06c; font-weight: bold;">let</span> fib3 = <span style="color: #c6c;">3</span> |&gt; fibonacci</pre>
<p>This is not a style issue, we can define a simple infix operator that feeds a function with a value; we can of course connect several functions together, like in a shell script with the Unix pipe operator, transforming an ugly and difficult to be read call:</p>
<pre class="ocaml"><span style="color: #06c; font-weight: bold;">let</span> result = func1<span style="color: #6c6;">&#40;</span>func2 <span style="color: #6c6;">&#40;</span>func3<span style="color: #6c6;">&#40;</span>x<span style="color: #6c6;">&#41;</span><span style="color: #6c6;">&#41;</span><span style="color: #6c6;">&#41;</span></pre>
<p>into:</p>
<pre class="ocaml"><span style="color: #06c; font-weight: bold;">let</span> result = x |&gt; func3 |&gt; func2 |&gt; func1</pre>
<p>In the sendmail.ml script, line 127, we read:</p>
<pre class="ocaml">email_string |&gt;
  <a href="http://caml.inria.fr/pub/docs/manual-ocaml/libref/Str.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/caml.inria.fr');"><span style="">Str</span></a>.<span style="color: #060;">global_replace</span> new_line_regexp <span style="color: #3cb371;">&quot;\r\n&quot;</span> |&gt;
    <a href="http://caml.inria.fr/pub/docs/manual-ocaml/libref/Str.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/caml.inria.fr');"><span style="">Str</span></a>.<span style="color: #060;">split</span> crlf_regexp |&gt;
      <a href="http://caml.inria.fr/pub/docs/manual-ocaml/libref/List.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/caml.inria.fr');"><span style="">List</span></a>.<span style="color: #060;">iter</span> <span style="color: #6c6;">&#40;</span><span style="color: #06c; font-weight: bold;">fun</span> s -&gt;
        self#output_string <span style="color: #6c6;">&#40;</span><span style="color: #06c; font-weight: bold;">if</span> <a href="http://caml.inria.fr/pub/docs/manual-ocaml/libref/String.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/caml.inria.fr');"><span style="">String</span></a>.<span style="color: #060;">length</span> s &gt; <span style="color: #c6c;">0</span> &amp;&amp; s.<span style="color: #6c6;">&#91;</span><span style="color: #c6c;">0</span><span style="color: #6c6;">&#93;</span> = '.' <span style="color: #06c; font-weight: bold;">then</span>
                              <span style="color: #6c6;">&#40;</span><span style="color: #3cb371;">&quot;.&quot;</span> ^ s ^ <span style="color: #3cb371;">&quot;\r\n&quot;</span><span style="color: #6c6;">&#41;</span>
                            <span style="color: #06c; font-weight: bold;">else</span> s^<span style="color: #3cb371;">&quot;\r\n&quot;</span><span style="color: #6c6;">&#41;</span><span style="color: #6c6;">&#41;</span>;</pre>
<p>Here we take the string containing the email, we replace all new lines with the sequence "\r\n", split the stream into lines and in the end send each line to the SMTP server, taking care of quoting each line starting with a period. In 6 lines of code.</p>
<h3>Algebraic data type</h3>
<p><a href="http://en.wikipedia.org/wiki/Algebraic_data_type" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">Algebraic data type</a> are a very interesting aspect of functional programming. We can <em>easily</em> wrap two heterogeneous data types into a single one with two line of code:</p>
<pre class="ocaml"><span style="color: #06c; font-weight: bold;">type</span> socket =
  | Unix_socket <span style="color: #06c; font-weight: bold;">of</span> Unix.<span style="color: #060;">file_descr</span>
  | SSL_socket <span style="color: #06c; font-weight: bold;">of</span> Ssl.<span style="color: #060;">socket</span></pre>
<p>The smtp_client class contains a reference to the connection handle used for communicating with the server which is a plain file descriptor or an SSL socket, which one depends on the state of the communication. I <strong>do not want</strong> to create a virtual class or an interface and two implementing class as I should do in horrible languages like Java, spending half an hour deciding which methods to put in the public interface, and so on; after all, it's only a file descriptor!</p>
<p>Now I have a new type which is a <a href="http://en.wikipedia.org/wiki/Disjoint_union" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">disjoint union</a> of the two original types and I can write code like this (line 54):</p>
<pre class="ocaml"><span style="color: #06c; font-weight: bold;">let</span> <a href="http://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html#VALinput" onclick="javascript:pageTracker._trackPageview('/outbound/article/caml.inria.fr');"><span style="">input</span></a> = <span style="color: #06c; font-weight: bold;">match</span> channel <span style="color: #06c; font-weight: bold;">with</span>
  | Unix_socket s -&gt; Unix.<span style="color: #060;">read</span> s
  | SSL_socket s -&gt; Ssl.<span style="color: #060;">read</span> s i</pre>
<p>Here we say: if channel is actually a Unix file descriptor, let's define a new function "input" which is the standard function "read", from Unix module, otherwise, if channel is an SSL socket, let's define "input" as the Ssl.read function, which works only in ciphered sockets. From now on I'll use input instead of one of the two original functions.</p>
<p>Ok, it's time to stop the waffle. Enjoy the script if you need, it's completely free, like in free beer, in free speech and even in free sex! <img src='http://www.donadeo.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.donadeo.net/2008/04/26/sending-emails-via-gmail-with-objective-caml/feed/</wfw:commentRss>
		</item>
		<item>
		<title>BBC article on Italy and mafia</title>
		<link>http://www.donadeo.net/2008/04/14/bbc-arcticle-on-italy-and-mafia/</link>
		<comments>http://www.donadeo.net/2008/04/14/bbc-arcticle-on-italy-and-mafia/#comments</comments>
		<pubDate>Mon, 14 Apr 2008 11:35:16 +0000</pubDate>
		<dc:creator>Paolo</dc:creator>
		
		<category><![CDATA[English]]></category>

		<category><![CDATA[Life]]></category>

		<category><![CDATA[Politics]]></category>

		<category><![CDATA[Review]]></category>

		<guid isPermaLink="false">http://www.donadeo.net/?p=76</guid>
		<description><![CDATA[
Today I read an article on BBS News about Sicily and mafia, signed by Stephanie Holmes. BBC reports a number of associations struggling against Cosa Nostra, and a increasing feeling of freedom among young people living in the South of Italy.
Yesterday and today we are voting for the general election and it's very remarkable that [...]]]></description>
			<content:encoded><![CDATA[<p style="float: left; margin-right: 1em; margin-bottom: 1em"><img title="BBC logo" src="http://www.donadeo.net/wp-content/uploads/2008/04/logo_bbc.png" border="2" alt="BBC logo" width="256" height="158" /></p>
<p>Today I read an article on BBS News about Sicily and mafia, signed by Stephanie Holmes. BBC reports a number of associations struggling against Cosa Nostra, and a increasing feeling of freedom among young people living in the South of Italy.</p>
<p>Yesterday and today we are voting for the general election and it's very remarkable that BBC decided to publish an article with a taste of hope, instead of the usual political analysis that would depress every Italian with an ounce of love for Italy.</p>
<p>Read <a title="BBC NEWS | Europe | Sicilians grow defiant of Mafia" href="http://news.bbc.co.uk/2/hi/europe/7342106.stm" onclick="javascript:pageTracker._trackPageview('/outbound/article/news.bbc.co.uk');">the article</a>, it’s worth the time it takes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.donadeo.net/2008/04/14/bbc-arcticle-on-italy-and-mafia/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Wordpress 2.5 e nuova grafica</title>
		<link>http://www.donadeo.net/2008/03/30/wordpress-25-e-nuova-grafica/</link>
		<comments>http://www.donadeo.net/2008/03/30/wordpress-25-e-nuova-grafica/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 21:42:30 +0000</pubDate>
		<dc:creator>Paolo</dc:creator>
		
		<category><![CDATA[Digital life]]></category>

		<category><![CDATA[Italian]]></category>

		<category><![CDATA[Random thoughts]]></category>

		<guid isPermaLink="false">http://www.donadeo.net/?p=73</guid>
		<description><![CDATA[Oggi ho deciso di fare l'upgrade del mio blog, essendo uscita la versione 2.5 di Wordpress. Già da un po' di tempo mi ero riproposto di cambiare l'impostazione grafica, i colori e l'immagine di header del sito, così ho approfittato dell'occasione per aggiornare anche il design, anche perché quello vecchio non era più supportato ed [...]]]></description>
			<content:encoded><![CDATA[<p>Oggi ho deciso di fare l'upgrade del mio blog, essendo uscita la <a title="WordPress › Blog »   WordPress 2.5" href="http://wordpress.org/development/2008/03/wordpress-25-brecker/" onclick="javascript:pageTracker._trackPageview('/outbound/article/wordpress.org');">versione 2.5 di Wordpress</a>. Già da un po' di tempo mi ero riproposto di cambiare l'impostazione grafica, i colori e l'immagine di header del sito, così ho approfittato dell'occasione per aggiornare anche il <a title="jide.fr  » Freshy 2 theme (Wordpress)" href="http://www.jide.fr/english/downloads/freshy2/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.jide.fr');">design</a>, anche perché quello vecchio non era più supportato ed è incompatibile con la nuova versione di Wordpress.</p>
<p>Ho fatto anche pulizia di tutti i vecchi plugin che avevo installato ma non usavo, o perché parzialmente incompatibili con gli ultimi rilasci di Wordpress, o perché semplicemente inutili <img src='http://www.donadeo.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Beh, vi piace la nuova grafica?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.donadeo.net/2008/03/30/wordpress-25-e-nuova-grafica/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Il destino nel nome</title>
		<link>http://www.donadeo.net/2008/01/28/il-destino-nel-nome/</link>
		<comments>http://www.donadeo.net/2008/01/28/il-destino-nel-nome/#comments</comments>
		<pubDate>Mon, 28 Jan 2008 21:50:24 +0000</pubDate>
		<dc:creator>Paolo</dc:creator>
		
		<category><![CDATA[Cinema]]></category>

		<category><![CDATA[Italian]]></category>

		<category><![CDATA[Life]]></category>

		<category><![CDATA[Review]]></category>

		<guid isPermaLink="false">http://www.donadeo.net/blog/2008/01/28/il-destino-nel-nome/</guid>
		<description><![CDATA[
Vivo a Vigevano, una città di quasi 60.000 abitanti in cui circolano più SUV che utilitarie, ed in cui non c'è una sala cinematografica degna di questo nome. Mi spiego meglio: a Vigevano non c'è un cinema, perché sono tutti chiusi. Su sessantamila abitanti sembra che a nessuno interessi il cinema, non solo quello impegnato, [...]]]></description>
			<content:encoded><![CDATA[<p style="float: left; margin-right: 1em; margin-bottom: 1em"><img src="http://www.donadeo.net/wp-content/uploads/2008/01/the_namesake.png" title="Locandina di “The namesake”" alt="Locandina di “The namesake”" align="left" border="2" /></p>
<p>Vivo a <a href="http://maps.google.com/maps?f=q&amp;hl=it&amp;geocode=&amp;q=vigevano&amp;sll=37.0625,-95.677068&amp;sspn=45.688268,72.246094&amp;ie=UTF8&amp;z=12&amp;om=0" onclick="javascript:pageTracker._trackPageview('/outbound/article/maps.google.com');" title="Vigevano su Google Maps">Vigevano</a>, una città di quasi 60.000 abitanti in cui circolano più SUV che utilitarie, ed in cui non c'è una sala cinematografica degna di questo nome. Mi spiego meglio: a Vigevano non c'è un cinema, perché sono tutti chiusi. Su sessantamila abitanti sembra che a nessuno interessi il cinema, non solo quello impegnato, ma neppure le commedie di pessimo gusto che ci propinano a Natale, immancabili come un terremoto in <a href="http://it.wikipedia.org/wiki/Bangladesh" onclick="javascript:pageTracker._trackPageview('/outbound/article/it.wikipedia.org');" title="Bangladesh su Wikipedia">Bangladesh</a>, che colpisce con una furia cieca i più poveri.</p>
<p>In questa desolazione, che ha visto tutte le sale cinematografiche chiudere i battenti negli ultimi quindici anni, brilla l'impegno dell'associazione "La Barriera", che a fatica propone ogni anno -- in una vecchia sala cinematografica parrocchiale -- un programma di spettacoli di tutto rispetto a prezzi estremamente convenienti. Certo, le poltrone non sono comode come quelle dei multisala cui siamo soliti, ma dove potrei vedere altrimenti un film come "Il destino nel nome"?</p>
<p>"Il destino nel nome" (originale: "<a href="http://italian.imdb.com/title/tt0433416/" onclick="javascript:pageTracker._trackPageview('/outbound/article/italian.imdb.com');" title="The namesake on IMDB">The namesake</a>") è un film semplice, che racconta la storia di due giovani sposi Indiani emigrati negli anni '70 negli Stati Uniti. La vita riserverà loro molte avversità, non ultime quelle relative all'adattamento ad un clima ed una società, quella di New York, completamente diversa da quella nella quale erano vissuti fino ad allora.</p>
<p>È anche la storia dei lori figli, nati e cresciuti nella Grade Mela, che hanno ereditato una parte dei valori culturali dei genitori, ma sono più integrati nella realtà statunitense, e si sentono spaesati quando, per un lutto, la famiglia è costretta a tornare in India.</p>
<p>Ed è in particolare la storia del figlio primogenito, "Gogol", un nome buffo datogli in onore dello scrittore russo Nikolai Gogol, di cui il padre è grande appassionato. Questo nome, portato da sempre con una certa insofferenza dal ragazzo, è la cifra del suo rapporto di giovane americano con la cultura da cui proviene ed in cui, si scoprirà alla fine, affonda le proprie radici, molto più profondamente di quanto egli stesso non creda.</p>
<p>Non voglio darvi altri particolari sulla trama, che è peraltro molto lineare: se siete curiosi potete trovare decine di recensioni in rete, in Italiano ed Inglese, non sarà certo io a rovinarvi la sorpresa.</p>
<p>Il film è davvero bello e merita di essere visto per due ordini di motivi. Tecnicamente è ben girato, la regista <a href="http://italian.imdb.com/name/nm0619762/" onclick="javascript:pageTracker._trackPageview('/outbound/article/italian.imdb.com');" title="Mira Nair su IMDB">Mira Nair</a> ha colto magistralmente con la macchina da presa le diverse emozioni dei protagonisti. La fotografia è splendida, e non solo negli esterni girati in India, ma anche e soprattutto nei ritratti, nei primi piani e nelle "istantanee" di vita metropolitana. Gli attori sono perfettamente calati nel proprio ruolo, specialmente <a href="http://en.wikipedia.org/wiki/Tabu_%28actress%29" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');" title="Tabu su Wikipedia">Tabu</a> (splendida!), che interpreta la protagonista Ashima Ganguli, <a href="http://www.imdb.com/name/nm0451234/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.imdb.com');" title="Irfan Khan su IMDB">Irfan Khan</a>, suo marito, e <a href="http://en.wikipedia.org/wiki/Kal_Penn" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');" title="Kal Penn su Wikipedia">Kal Penn</a> che interpreta Gogol. Meno convincente, ma davvero bellissima, <a href="http://www.zuleikharobinsononline.com" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.zuleikharobinsononline.com');" title="Home page di Zuleikha Robinson">Zuleikha Robinson</a>, che interpreta Moushumi Mazoomdar, moglie di Gogol.</p>
<p>Al di là degli aspetti tecnici quello che colpisce sono le emozioni che il film suscita. La famiglia attraversa momenti di gioia e di estrema amarezza, di malinconia, di rabbia, di passione e di intimità, nel corso di una storia che si dipana per quasi venticinque anni. Alla fine rimane la sensazione di aver assistito ad una storia che probabilmente è molto più comune di quanto non si possa credere.</p>
<p>La scena che più ricordo: quando i due sposi vengono presentati l'uno all'altra, i genitori di lui precisano che "fa il dottorato di ricerca a New York in fibre ottiche", mentre quelli di lei sottolineano che loro figlia conosce la poesia inglese e le fanno recitare "<a href="http://en.wikipedia.org/wiki/I_Wandered_Lonely_as_a_Cloud" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">I Wandered Lonely as a Cloud</a>" di William Wordsworth, che lei declama in uno stentato Inglese che fa sorridere. Quello che mi ha colpito è stata la semplicità con cui due famiglie povere mostrano con orgoglio ciò che hanno di più prezioso: la cultura dei propri figli.</p>
<p>Altro che SUV...</p>
]]></content:encoded>
			<wfw:commentRss>http://www.donadeo.net/2008/01/28/il-destino-nel-nome/feed/</wfw:commentRss>
		</item>
		<item>
		<title>La ballata del programmatore</title>
		<link>http://www.donadeo.net/2008/01/23/la-ballata-del-programmatore/</link>
		<comments>http://www.donadeo.net/2008/01/23/la-ballata-del-programmatore/#comments</comments>
		<pubDate>Tue, 22 Jan 2008 22:34:57 +0000</pubDate>
		<dc:creator>Paolo</dc:creator>
		
		<category><![CDATA[Computer programming]]></category>

		<category><![CDATA[Italian]]></category>

		<category><![CDATA[Job]]></category>

		<category><![CDATA[Random thoughts]]></category>

		<guid isPermaLink="false">http://www.donadeo.net/blog/2008/01/23/la-ballata-del-programmatore/</guid>
		<description><![CDATA[
Solo chi fa il programmatore riesce a capire che diavolo di lavoro sia. Io, dopo diversi anni, ancora mi stupisco della difficoltà assurda di certe situazioni, che mi rendono molto più simile ad un burocrate che ad un ingegnere.
Ad ogni modo Enrico Colombini (sulla rete Erix da sempre) ha scritto molti anni fa "La ballata [...]]]></description>
			<content:encoded><![CDATA[<p style="float: left; margin-right: 1em; margin-bottom: 1em"><img src="http://www.donadeo.net/wp-content/uploads/2008/01/mortificazione_del_programmatore.png" title="Mortificazione del programmatore" alt="Mortificazione del programmatore" align="left" border="2" /></p>
<p>Solo chi fa il programmatore riesce a capire che diavolo di lavoro sia. Io, dopo diversi anni, ancora mi stupisco della difficoltà assurda di certe situazioni, che mi rendono molto più simile ad un burocrate che ad un ingegnere.</p>
<p>Ad ogni modo Enrico Colombini (sulla rete <a href="http://www.erix.it" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.erix.it');" title="Home page di Erix">Erix</a> da sempre) ha scritto molti anni fa "La ballata del programmatore", canzone che riassume mirabilmente la disgrazia di questa professione, con la giusta dose di ironia e divertimento. Potete leggere il testo <a href="http://www.erix.it/humour/ballata.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.erix.it');" title="Testo della ballata">sulla pagina di Erix</a>, mentre la musica dovrebbe essere quella di "<a href="http://it.wikipedia.org/wiki/Il_pescatore" onclick="javascript:pageTracker._trackPageview('/outbound/article/it.wikipedia.org');" title="Il pescatore - Wikipedia">Il pescatore</a>" di <a href="http://it.wikipedia.org/wiki/De_andr%C3%A8" onclick="javascript:pageTracker._trackPageview('/outbound/article/it.wikipedia.org');" title="Fabrizio de André - Wikipedia">Fabrizio De André</a>. Per molto tempo ho canticchiato la ballata nella mente, ma da poco Marco di Francesco ha scritto un arrangiamento davvero ben fatto e Domenico Agostino ha prestato la voce, ed il risultato è brillante.</p>
<p>Potete ascoltare la ballata dal browser <a href="http://www.derelitti.com/ballata_del_programmatore/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.derelitti.com');" title="MP3 on line della ballata (occorre Flash)">qui</a>, oppure <a href="http://www.donadeo.net/wp-content/uploads/2008/01/ballata_del_programmatore.mp3"  title="MP3 della ballata">scaricare l'MP3</a> direttamente da questo blog (occhio che sono circa 5 Mb).</p>
<p>La pagina di MySpace di Marco di Francesco è questa: <a href="http://www.myspace.com/difra" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.myspace.com');" title="Pagina MySpace di Marco di Francesco">http://www.myspace.com/difra</a>.</p>
<p>Concludo ringraziando i due musicisti, che non conosco, ma soprattutto Erix, che conosco da diversi anni e cui devo sempre una cena per l'aiuto che mi ha dato in almeno due occasioni critiche della mia vita.</p>
<p>Per inciso, nella foto ci sono io, in un (non raro) momento di sconforto davanti ad un monitor ed una tastiera. La foto è di <a href="http://blog.duea.info/" onclick="javascript:pageTracker._trackPageview('/outbound/article/blog.duea.info');" title="Blog di Gigi">Gigi</a>, allora mio collega.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.donadeo.net/2008/01/23/la-ballata-del-programmatore/feed/</wfw:commentRss>
<enclosure url="http://www.donadeo.net/wp-content/uploads/2008/01/ballata_del_programmatore.mp3" length="5651493" type="audio/mpeg" />
		</item>
	</channel>
</rss>
