<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>conundrum &#187; gtk+</title>
	<atom:link href="http://www.emmanuelebassi.name/archives/category/gtk/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.emmanuelebassi.name</link>
	<description>a revolution is an insurrection</description>
	<lastBuildDate>Fri, 15 Jul 2011 06:46:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Liberty Bell</title>
		<link>http://www.emmanuelebassi.name/archives/2008/10/04/liberty-bell/</link>
		<comments>http://www.emmanuelebassi.name/archives/2008/10/04/liberty-bell/#comments</comments>
		<pubDate>Sat, 04 Oct 2008 16:02:45 +0000</pubDate>
		<dc:creator>Emmanuele Bassi</dc:creator>
				<category><![CDATA[clutter]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[Diary]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gtk+]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[travel]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://www.emmanuelebassi.net/archives/2008/10/liberty-bell/</guid>
		<description><![CDATA[il sottoscritto se ne va per una settimana circa in quel di Boston, prima per una hackfest poi per il Boston Summit. poiché mi porterò dietro l&#8217;altro laptop1 sarà problematico rispondere a email e menate varie, ma tenterò di usare tumblr e twitter per dimostrare la mia esistenza. un T61 con su windows xp, che [...]]]></description>
			<content:encoded><![CDATA[<p>il sottoscritto se ne va per una settimana circa in quel di Boston, prima per una <em>hackfest</em> poi per il Boston Summit. poiché mi porterò dietro l&#8217;<em>altro</em> laptop<sup><a href="http://www.emmanuelebassi.name/archives/2008/10/04/liberty-bell/#footnote_0_1125" id="identifier_0_1125" class="footnote-link footnote-identifier-link" title="un T61 con su windows xp, che serve solo come client di posta hardware e per completare burocrazia varia che richiede IE, e che in questo momento sta subendo un&amp;#8217;installazione di Debian per un improbabile dual booting che non faccio dal novembre 1998">1</a></sup> sarà problematico rispondere a email e menate varie, ma tenterò di usare tumblr e twitter per dimostrare la mia esistenza.</p>
<ol class="footnotes"><li id="footnote_0_1125" class="footnote">un T61 con su windows xp, che serve solo come client di posta hardware e per completare burocrazia varia che richiede IE, e che in questo momento sta subendo un&#8217;installazione di Debian per un improbabile <em>dual booting</em> che non faccio dal novembre 1998</li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.emmanuelebassi.name/archives/2008/10/04/liberty-bell/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Time to be so Small</title>
		<link>http://www.emmanuelebassi.name/archives/2008/10/03/a-time-to-be-so-small/</link>
		<comments>http://www.emmanuelebassi.name/archives/2008/10/03/a-time-to-be-so-small/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 16:10:46 +0000</pubDate>
		<dc:creator>Emmanuele Bassi</dc:creator>
				<category><![CDATA[gtk+]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[shit happens]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://www.emmanuelebassi.net/archives/2008/10/a-time-to-be-so-small/</guid>
		<description><![CDATA[dato che non sono contento se non entro nelle solite diatribe sul selettore di file delle GTK+, sono finito ovviamente sul bug 325095, ovvero mostra una colonna con la dimensione del file. premessa: se devi usare la dimensione di un file come discriminante per decidere cosa farne, sei fottuto comunque; la prossima volta usa un [...]]]></description>
			<content:encoded><![CDATA[<p>dato che non sono contento se non entro nelle solite diatribe sul <a href="http://library.gnome.org/devel/gtk/stable/GtkFileChooser.html">selettore di file delle GTK+</a>, sono finito ovviamente sul <a href="http://bugzilla.gnome.org/show_bug.cgi?id=325095">bug 325095</a>, ovvero <em>mostra una colonna con la dimensione del file</em>.</p>
<p><strong>premessa</strong>: se devi usare la dimensione di un file come discriminante per decidere cosa farne, sei fottuto comunque; la prossima volta usa un nome decente. qualunque altra considerazione ricade sotto <em>file management</em>, e quello non lo fate da una finestra di dialogo che serve per aprire o salvare file, bensì da un <em>file manager</em>. ergo, non venitemi a menare il torrone con stronzate tipo &#8220;devo decidere cosa cancellare&#8221; oppure &#8220;devo vedere cosa spostare&#8221;: Nautilus <strong>ha già una colonna per le dimensioni</strong> quindi usate quello e non venite a rompere i coglioni a me.</p>
<p>nonostante la doverosa premessa, esiste un caso in cui effettivamente serve la dimensione dei file &mdash; ovvero quando devi aprire un file che non hai creato tu. dato che questo caso non dovrebbe essere l&#8217;unico modo in cui i file appaiono sul vostro computer<sup><a href="http://www.emmanuelebassi.name/archives/2008/10/03/a-time-to-be-so-small/#footnote_0_1123" id="identifier_0_1123" class="footnote-link footnote-identifier-link" title="nel qual caso, lo porterei dal pi&ugrave; vicino esorcista se fossi in voi">1</a></sup>, il <em>default</em> è &#8220;non visibile&#8221;.</p>
<p>dato che una sera mi annoiavo, e dato che la lettura dei commenti aveva provocato in me <a href="http://www.emmanuelebassi.net/archives/2007/05/overdrive2/">gli effetti noti</a>, ho deciso di dedicare quei venti minuti necessari all&#8217;implementazione e il test<sup><a href="http://www.emmanuelebassi.name/archives/2008/10/03/a-time-to-be-so-small/#footnote_1_1123" id="identifier_1_1123" class="footnote-link footnote-identifier-link" title="e non fosse che compilare le gtk+ su questo laptop porta via 10 minuti anche con due core, ci avrei messo meno">2</a></sup>.</p>
<p>quindi, ecco qui uno screenshot del selettore file con la colonna visibile:</p>
<p><a href="http://www.emmanuelebassi.net/wp-content/uploads/2008/10/filechooser-show-size-column.png"><img src="http://www.emmanuelebassi.net/wp-content/uploads/2008/10/filechooser-show-size-column-300x261.png" alt="show size column" title="show size column" width="300" height="261" class="aligncenter size-medium wp-image-1152" /></a></p>
<p>la <em>patch</em> è già atterrata in <code>trunk</code>, quindi sarà nella prossima <em>release</em>, di qui a nove mesi circa.</p>
<p>quello che mi domando è: nei tre anni di vita di quel bug, e dopo venti commenti, è possibile che io sia stato il primo pirla ad avere venti minuti da spendere per:</p>
<ul>
<li>aprire un editor di testo</li>
<li>trovare la parte che si occupa di leggere le informazioni sui file</li>
<li>aggiungere numero una (1) colonna a un TreeView, numero uno (1) MenuItem, numero una (1) funzione di sorting</li>
</ul>
<p>ora, vabbé che avevo venti minuti di totale odio per la razza umana, ma non è pensabile che io li abbia sempre e davanti a un computer con un <em>check out</em> delle GTK+<sup><a href="http://www.emmanuelebassi.name/archives/2008/10/03/a-time-to-be-so-small/#footnote_2_1123" id="identifier_2_1123" class="footnote-link footnote-identifier-link" title="ah, ma chi prendo in giro: io ho sempre un check out delle GTK+">3</a></sup>.</p>
<ol class="footnotes"><li id="footnote_0_1123" class="footnote">nel qual caso, lo porterei dal più vicino esorcista se fossi in voi</li><li id="footnote_1_1123" class="footnote">e non fosse che compilare le gtk+ su questo laptop porta via 10 minuti anche con due <em>core</em>, ci avrei messo meno</li><li id="footnote_2_1123" class="footnote">ah, ma chi prendo in giro: io ho <strong>sempre</strong> un <em>check out</em> delle GTK+</li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.emmanuelebassi.name/archives/2008/10/03/a-time-to-be-so-small/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>GUADEC/0</title>
		<link>http://www.emmanuelebassi.name/archives/2008/07/11/guadec0-3/</link>
		<comments>http://www.emmanuelebassi.name/archives/2008/07/11/guadec0-3/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 20:35:41 +0000</pubDate>
		<dc:creator>Emmanuele Bassi</dc:creator>
				<category><![CDATA[conference]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gtk+]]></category>
		<category><![CDATA[guadec]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.emmanuelebassi.net/archives/2008/07/guadec0-3/</guid>
		<description><![CDATA[dalla caffetteria dell&#8217;università, a cinquanta metri dal Bosforo anche quest&#8217;anno, il GUADEC è stata una grande esperienza. ritrovare varia umanità con cui chiaccheri solo su IRC o su mailing list mette più o meno di buon umore &#8212; e se a questo si aggiunge passare la serata fino alle tre del mattino sdraiato su cuscini [...]]]></description>
			<content:encoded><![CDATA[<p><em>dalla caffetteria dell&#8217;università, a cinquanta metri dal Bosforo</em></p>
<p>anche quest&#8217;anno, il GUADEC è stata una grande esperienza. ritrovare varia umanità con cui chiaccheri solo su IRC o su mailing list mette più o meno di buon umore &mdash; e se a questo si aggiunge passare la serata fino alle tre del mattino sdraiato su cuscini bevendo te e in compagnia di un nargilé al mango il quadro è completo.</p>
<p>al GUADEC, però, si va anche per parlare con persone che lavorano con e su GNOME &mdash; invariabilmente questo porta a interessanti sviluppi.</p>
<p>leggendo un po&#8217; in giro, vedo che alcuni si sono scandalizzati o sorpresi del <em>new deal</em> nelle GTK+ e in GNOME; se però avessero seguito quello che avviene ogni giorno da un anno a questa parte si sarebbero velocemente resi conto di come tutto questo sia partito dallo scorso GUADEC &mdash; e possibilmente anche da quello prima. sigillare le GTK+ per poter cambiare gli <em>internals</em> senza rompere le applicazioni, ridurre il lasso di tempo da <em>major release</em>, non sono grandi e rivoluzionari piani: sono l&#8217;unico modo di portare avanti una piattaforma in maniera organica e continua. non vi siete svegliati una mattina trovandovi venti centimetri più alti, con una voce di due ottave più bassa e i caratteri sessuali secondari completamente sviluppati &mdash; vi ci saranno voluti anni. E se gestire la pubertà è un&#8217;impresa ardua, immaginatevi un <em>desktop</em> con milioni di utenti su varie piattaforme su cui non esercitate alcun controllo.</p>
<p>GNOME ha già provato a rompere con il passato in maniera netta, con un <em>quantum leap</em> invece che vari passi incrementali; è stato un diastro ferroviario, e sicuramente tutti quelli coinvolti nel progetto pensano &quot;mai più&quot;. la somma di questi piani &mdash; GTK+ 3.0 e GNOME 3.0 &mdash; sono l&#8217;unica alternativa realistica.</p>
<p>se poi vogliamo andare sul non-realistico, possiamo sempre contare sull&#8217;aiuto di Babbo Natale e della Fatina dei Denti &mdash; ma ho i miei dubbi sull&#8217;implementabilità.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.emmanuelebassi.name/archives/2008/07/11/guadec0-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Travelling without moving/End</title>
		<link>http://www.emmanuelebassi.name/archives/2008/03/17/travelling-without-movingend/</link>
		<comments>http://www.emmanuelebassi.name/archives/2008/03/17/travelling-without-movingend/#comments</comments>
		<pubDate>Mon, 17 Mar 2008 00:14:05 +0000</pubDate>
		<dc:creator>Emmanuele Bassi</dc:creator>
				<category><![CDATA[conference]]></category>
		<category><![CDATA[Diary]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[gtk+]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[travels]]></category>

		<guid isPermaLink="false">http://www.emmanuelebassi.net/archives/2008/03/travelling-without-movingend/</guid>
		<description><![CDATA[l&#8217;&#60;a href=&#34;http://www.emmanuelebassi.net/archives/2008/01/travelling-without-moving/&#34;&#62;ultima tappa&#60;/a&#62; si Ã¨ conclusa ieri. la settimana berlinese Ã¨ stata decisamente interessante. tra le cose importanti: &#60;ul&#62; &#60;li&#62;&#60;a href=&#34;http://www.clutter-project.org&#34;&#62;Clutter&#60;/a&#62; viene ormai visto1 come il candidato per il posto di &#60;em&#62;GtkCanvas&#60;/em&#62;&#60;/li&#62; &#60;li&#62;aggiungere il supporto per GL in GDK, e altre &#60;em&#62;feature&#60;/em&#62; a Cairo per permettere di usare le schede grafiche in maniera migliore, sono [...]]]></description>
			<content:encoded><![CDATA[<p>l&#8217;&lt;a href=&quot;http://www.emmanuelebassi.net/archives/2008/01/travelling-without-moving/&quot;&gt;ultima tappa&lt;/a&gt; si Ã¨ conclusa ieri.</p>
<p>la settimana berlinese Ã¨ stata decisamente interessante. tra le cose importanti:</p>
<p>&lt;ul&gt;<br />
  &lt;li&gt;&lt;a href=&quot;http://www.clutter-project.org&quot;&gt;Clutter&lt;/a&gt; viene ormai visto<sup><a href="http://www.emmanuelebassi.name/archives/2008/03/17/travelling-without-movingend/#footnote_0_1097" id="identifier_0_1097" class="footnote-link footnote-identifier-link" title="con ragione, ma lo dico come sviluppatore, non come maintainer">1</a></sup> come il candidato per il posto di &lt;em&gt;GtkCanvas&lt;/em&gt;&lt;/li&gt;<br />
  &lt;li&gt;aggiungere il supporto per GL in GDK, e altre &lt;em&gt;feature&lt;/em&gt; a Cairo per permettere di usare le schede grafiche in maniera migliore, sono sicuramente nei piani &amp;mdash; speriamo di avere qualcosa di pronto per il GUADEC&lt;/li&gt;<br />
  &lt;li&gt;Berlino Ã¨ sempre una cittÃ  straordinaria&lt;/li&gt;<br />
&lt;/ul&gt;</p>
<p>per inciso, sono riuscito a tornare nella stessa zona visitata due anni fa, e sebbene Berlino cambi cosÃ¬ velocemente, e cosÃ¬ tanto, e cosÃ¬ in meglio in poco tempo, mi ha fatto piacere ritrovare alcuni luoghi esattamente come li avevo lasciati.</p>
<p>infine, ho scoperto il segreto della produttivitÃ : tre ore in un coffee shop &lt;strong&gt;senza&lt;/strong&gt; connettivitÃ ; mai scritto codice tanto velocemente.</p>
<ol class="footnotes"><li id="footnote_0_1097" class="footnote">con ragione, ma lo dico come sviluppatore, non come maintainer</li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.emmanuelebassi.name/archives/2008/03/17/travelling-without-movingend/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Travelling without moving</title>
		<link>http://www.emmanuelebassi.name/archives/2008/01/26/travelling-without-moving/</link>
		<comments>http://www.emmanuelebassi.name/archives/2008/01/26/travelling-without-moving/#comments</comments>
		<pubDate>Sat, 26 Jan 2008 21:26:48 +0000</pubDate>
		<dc:creator>Emmanuele Bassi</dc:creator>
				<category><![CDATA[clutter]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[fosdem]]></category>
		<category><![CDATA[gtk+]]></category>
		<category><![CDATA[travel]]></category>

		<guid isPermaLink="false">http://www.emmanuelebassi.net/archives/2008/01/travelling-without-moving/</guid>
		<description><![CDATA[&#60;em&#62;Beh, approssimativamente&#8230;&#60;/em&#62; &#60;ul&#62; &#60;li&#62;&#60;del datetime=&#34;2008-02-28T14:50:33+00:00&#34;&#62;27-29 gennaio: Helsinki, FI&#60;/del&#62;1&#60;/li&#62; &#60;li&#62;&#60;del datetime=&#34;2008-02-28T14:50:33+00:00&#34;&#62;22-24 febbraio: Bruxelles, BE&#60;/del&#62; &#8211; &#60;a href=&#34;http://www.fosdem.org&#34;&#62;FOSDEM 2008&#60;/a&#62;, con un breve &#60;em&#62;talk&#60;/em&#62; alla GNOME Devroom; fateci un salto, vale la pena anche solo per i litri di birra belga&#60;/li&#62; &#60;li&#62;&#60;del datetime=&#34;2008-03-17T00:05:01+00:00&#34;&#62;9-16 marzo: Berlino, DE&#60;/del&#62; &#8211; &#60;a href=&#34;http://live.gnome.org/GTK+/Hackfest2008&#34;&#62;GTK+ Hackfest 2008&#60;/a&#62;&#60;/li&#62; &#60;/ul&#62; Non faccio piani per i mesi [...]]]></description>
			<content:encoded><![CDATA[<p>&lt;em&gt;Beh, approssimativamente&#8230;&lt;/em&gt;</p>
<p>&lt;ul&gt;<br />
  &lt;li&gt;&lt;del datetime=&quot;2008-02-28T14:50:33+00:00&quot;&gt;27-29 gennaio: Helsinki, FI&lt;/del&gt;<sup><a href="http://www.emmanuelebassi.name/archives/2008/01/26/travelling-without-moving/#footnote_0_1090" id="identifier_0_1090" class="footnote-link footnote-identifier-link" title="devo, devo, devo farmi una maglietta &amp;#8211; nera, &amp;lt;em&amp;gt;&Atilde;&sect;a va sans dire&amp;lt;/em&amp;gt; &amp;#8211; con su scritto &amp;quot;I&amp;#8217;ve been to HEL&amp;quot;">1</a></sup>&lt;/li&gt;<br />
  &lt;li&gt;&lt;del datetime=&quot;2008-02-28T14:50:33+00:00&quot;&gt;22-24 febbraio: Bruxelles, BE&lt;/del&gt; &#8211; &lt;a href=&quot;http://www.fosdem.org&quot;&gt;FOSDEM 2008&lt;/a&gt;, con un breve &lt;em&gt;talk&lt;/em&gt; alla GNOME Devroom; fateci un salto, vale la pena anche solo per i litri di birra belga&lt;/li&gt;<br />
  &lt;li&gt;&lt;del datetime=&quot;2008-03-17T00:05:01+00:00&quot;&gt;9-16 marzo: Berlino, DE&lt;/del&gt; &#8211; &lt;a href=&quot;http://live.gnome.org/GTK+/Hackfest2008&quot;&gt;GTK+ Hackfest 2008&lt;/a&gt;&lt;/li&gt;<br />
&lt;/ul&gt;</p>
<p>Non faccio piani per i mesi successivi.</p>
<ol class="footnotes"><li id="footnote_0_1090" class="footnote">devo, devo, devo farmi una maglietta &#8211; nera, &lt;em&gt;Ã§a va sans dire&lt;/em&gt; &#8211; con su scritto &quot;I&#8217;ve been to HEL&quot;</li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.emmanuelebassi.name/archives/2008/01/26/travelling-without-moving/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Just a Ride</title>
		<link>http://www.emmanuelebassi.name/archives/2007/09/03/just-a-ride/</link>
		<comments>http://www.emmanuelebassi.name/archives/2007/09/03/just-a-ride/#comments</comments>
		<pubDate>Mon, 03 Sep 2007 22:24:18 +0000</pubDate>
		<dc:creator>Emmanuele Bassi</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gtk+]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://www.emmanuelebassi.net/archives/2007/09/just-a-ride/</guid>
		<description><![CDATA[Dicevo &#60;a href=&#34;http://log.emmanuelebassi.net/archives/2007/09/my-wandering-days-are-over/&#34;&#62;altrove&#60;/a&#62; di aver provato &#60;a href=&#34;http://live.gnome.org/Vala&#34;&#62;Vala&#60;/a&#62;, il linguaggio C#-like scritto usando GLib e GObject come base, e che viene &#34;compilato&#34; in C invece di usare una &#60;acronym title=&#34;Virtual Machine&#34;&#62;VM&#60;/acronym&#62; e un linguaggio intermedio1. Ho trovato dei difetti nel layer di traduzione, ma sono dovuti essenzialmente alla giovane etÃ  del progetto, e il team [...]]]></description>
			<content:encoded><![CDATA[<p>Dicevo &lt;a href=&quot;http://log.emmanuelebassi.net/archives/2007/09/my-wandering-days-are-over/&quot;&gt;altrove&lt;/a&gt; di aver provato &lt;a href=&quot;http://live.gnome.org/Vala&quot;&gt;Vala&lt;/a&gt;, il linguaggio C#-like scritto usando GLib e GObject come base, e che viene &quot;compilato&quot; in C invece di usare una &lt;acronym title=&quot;Virtual Machine&quot;&gt;VM&lt;/acronym&gt; e un linguaggio intermedio<sup><a href="http://www.emmanuelebassi.name/archives/2007/09/03/just-a-ride/#footnote_0_1074" id="identifier_0_1074" class="footnote-link footnote-identifier-link" title="si potrebbe arguire come, in realt&Atilde;&nbsp;, la VM usata sia il sistema operativo ospite, e che sicuramente esistono pi&Atilde;&sup1; piattaforme con un compilatore C che piattaforme che supportano Java o C#">1</a></sup>.</p>
<p>Ho trovato dei difetti nel layer di traduzione, ma sono dovuti essenzialmente alla giovane etÃ  del progetto, e il team di sviluppo sta raccogliendo intorno a sÃ© una quantitÃ  di collaboratori piÃ¹ o meno saltuari che fa ben sperare. In piÃ¹, la mera esistenza di Vala sta spingendo a completare il supporto per l&#8217;introspezione in GObject<sup><a href="http://www.emmanuelebassi.name/archives/2007/09/03/just-a-ride/#footnote_1_1074" id="identifier_1_1074" class="footnote-link footnote-identifier-link" title="ovvero la possibilit&Atilde;&nbsp; di avere meta-informazioni a &amp;lt;em&amp;gt;runtime&amp;lt;/em&amp;gt; su una libreria, sulle API e sui tipi di dati esportati">2</a></sup>.</p>
<p>Quello che piÃ¹ mi interessa, perÃ², Ã¨ la possibilitÃ  di avere un linguaggio a medio/alto ufficialmente sanzionato da GNOME &#8211; come Objective-C da Apple. Intendiamoci: la quantitÃ  di &lt;em&gt;binding&lt;/em&gt; giÃ  presenti Ã¨ enorme, e giÃ  oggi se volessi scrivere un&#8217;applicazione per GNOME potrei farlo in Perl, come in Java, come in C# e perfino con quel &lt;em&gt;train wreck&lt;/em&gt; di Python<sup><a href="http://www.emmanuelebassi.name/archives/2007/09/03/just-a-ride/#footnote_2_1074" id="identifier_2_1074" class="footnote-link footnote-identifier-link" title="che, spero, Python 3.0 affosser&Atilde;&nbsp; definitivamente con tutte le modifiche arbitrarie alle API senza vere nuove &amp;lt;em&amp;gt;feature&amp;lt;/em&amp;gt;; non ci resta, quindi, che sperare in IronPython per una implementazione sana di mente? non voglio pensarci">3</a></sup>. Tuttavia, i bindings sono quello che sono: si portano dietro &lt;em&gt;virtual machine&lt;/em&gt;, ambienti di &lt;em&gt;runtime&lt;/em&gt;, licenze, implementazioni &lt;em&gt;patent encumbered&lt;/em&gt; e altre amenitÃ .</p>
<p>Intendiamoci: non ho nulla contro le &lt;acronym title=&quot;Virtual Machine&quot;&gt;VM&lt;/acronym&gt; &#8211; a parte l&#8217;obiezione classica: &quot;sto giÃ  usando una macchina virtuale su una macchina reale, perchÃ© devo usarne un&#8217;altra ancora per ogni linguaggio?&quot;; tuttavia, e specie sulle macchine su cui lavoro, &lt;strong&gt;una&lt;/strong&gt; &lt;em&gt;virtual machine&lt;/em&gt; Ã¨ giÃ  sufficiente &#8211; figuriamoci quattro o cinque. Mi piacerebbe che qualcuno prendesse Mono e ci portasse piÃ¹ di tre o quattro linguaggi; mi piacerebbe ancora di piÃ¹ che qualcuno prendesse &lt;a href=&quot;http://en.wikipedia.org/wiki/Parrot_virtual_machine&quot;&gt;Parrot&lt;/a&gt; e lo completasse. Mi piacerebbe, insomma, avere &lt;strong&gt;una&lt;/strong&gt; macchina virtuale per tutti i linguaggi ad alto livello. Se non posso averla, allora tanto vale usare Vala.</p>
<ol class="footnotes"><li id="footnote_0_1074" class="footnote">si potrebbe arguire come, in realtÃ , la VM usata sia il sistema operativo ospite, e che sicuramente esistono piÃ¹ piattaforme con un compilatore C che piattaforme che supportano Java o C#</li><li id="footnote_1_1074" class="footnote">ovvero la possibilitÃ  di avere meta-informazioni a &lt;em&gt;runtime&lt;/em&gt; su una libreria, sulle API e sui tipi di dati esportati</li><li id="footnote_2_1074" class="footnote">che, spero, Python 3.0 affosserÃ  definitivamente con tutte le modifiche arbitrarie alle API senza vere nuove &lt;em&gt;feature&lt;/em&gt;; non ci resta, quindi, che sperare in IronPython per una implementazione sana di mente? non voglio pensarci</li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.emmanuelebassi.name/archives/2007/09/03/just-a-ride/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>The Worst Joke Ever</title>
		<link>http://www.emmanuelebassi.name/archives/2007/05/14/the-worst-joke-ever/</link>
		<comments>http://www.emmanuelebassi.name/archives/2007/05/14/the-worst-joke-ever/#comments</comments>
		<pubDate>Mon, 14 May 2007 22:13:51 +0000</pubDate>
		<dc:creator>Emmanuele Bassi</dc:creator>
				<category><![CDATA[Diary]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gtk+]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.emmanuelebassi.net/archives/2007/05/the-worst-joke-ever/</guid>
		<description><![CDATA[Ho passato gli ultimi tre giorni a tentare di capire perché un pezzo di codice producesse un SIGSEGV. Ho cambiato linee, logica, tipi di dato. Niente: qualunque cosa facessi, solo crash. Come al solito, gdb si rivelava poco utile, mentendo spudoratamente sul luogo della violazione di memoria. Oggi pomeriggio ho deciso di arrendermi e ho [...]]]></description>
			<content:encoded><![CDATA[<p>Ho passato gli ultimi tre giorni a tentare di capire perché un pezzo di codice producesse un <code>SIGSEGV</code>. Ho cambiato linee, logica, tipi di dato. Niente: qualunque cosa facessi, solo crash. Come al solito, <code>gdb</code> si rivelava poco utile, mentendo spudoratamente sul luogo della violazione di memoria.</p>
<p>Oggi pomeriggio ho deciso di arrendermi e ho chiesto a Kris se poteva darmi una mano (dato che il <em>segfault</em> si verificava nel codice del <code>GtkTreeModelSort</code> che lui mantiene). Stasera mi dice di aver trovato la patch:</p>
<pre>
Index: gtk/gtkfilechooserdefault.c
==============================================================
--- gtk/gtkfilechooserdefault.c (revision 17846)
+++ gtk/gtkfilechooserdefault.c (revision 17848)
@@ -9508,7 +9508,7 @@ recent_column_path_sort_func (GtkTreeMod
   if (!name_a)
     return 1;

-  if (!name_b);
+  if (!name_b)
     return -1;

   if (is_folder_a != is_folder_b)
</pre>
<p>Penso che i miei moccoli siano arrivati vicinissimi al Moccolo a Delta di Dirac<sup><a href="http://www.emmanuelebassi.name/archives/2007/05/14/the-worst-joke-ever/#footnote_0_1063" id="identifier_0_1063" class="footnote-link footnote-identifier-link" title="dieci alla ventottesima madonne in un microsecondo">1</a></sup>.</p>
<p><em>Va da sé che Kris si vedrà offrire una birra al GUADEC</em>.</p>
<ol class="footnotes"><li id="footnote_0_1063" class="footnote">dieci alla ventottesima madonne in un microsecondo</li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.emmanuelebassi.name/archives/2007/05/14/the-worst-joke-ever/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Overdrive/2</title>
		<link>http://www.emmanuelebassi.name/archives/2007/05/12/overdrive2/</link>
		<comments>http://www.emmanuelebassi.name/archives/2007/05/12/overdrive2/#comments</comments>
		<pubDate>Sat, 12 May 2007 15:51:51 +0000</pubDate>
		<dc:creator>Emmanuele Bassi</dc:creator>
				<category><![CDATA[Diary]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gtk+]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenSource]]></category>

		<guid isPermaLink="false">http://www.emmanuelebassi.net/archives/2007/05/overdrive2/</guid>
		<description><![CDATA[&#60;em style=&#34;font-size:80%&#34;&#62;&#60;a href=&#34;http://www.emmanuelebassi.net/archives/2007/01/overdrive1/&#34;&#62;segue&#60;/a&#62;&#60;/em&#62; &#60;h4&#62;GTK+&#60;/h4&#62; Per mancanza di tempo, negli ultimi mesi ho dovuto lasciare a metÃ  alcuni miei lavori sulle &#60;a href=&#34;http://www.gtk.org&#34;&#62;GTK+&#60;/a&#62;. Fortunatamente ogni tanto si Ã¨ aperto qualche spiraglio di tempo libero, e quando ho potuto ritornare alla libreria che (ricordiamolo) ha consentito all&#8217;avere di che mangiare non mi sono certo fatto scrupoli. Le [...]]]></description>
			<content:encoded><![CDATA[<p>&lt;em style=&quot;font-size:80%&quot;&gt;&lt;a href=&quot;http://www.emmanuelebassi.net/archives/2007/01/overdrive1/&quot;&gt;segue&lt;/a&gt;&lt;/em&gt;</p>
<p>&lt;h4&gt;GTK+&lt;/h4&gt;</p>
<p>Per mancanza di tempo, negli ultimi mesi ho dovuto lasciare a metÃ  alcuni miei lavori sulle &lt;a href=&quot;http://www.gtk.org&quot;&gt;GTK+&lt;/a&gt;. Fortunatamente ogni tanto si Ã¨ aperto qualche spiraglio di tempo libero, e quando ho potuto ritornare alla libreria che (ricordiamolo) ha consentito all&#8217;avere di che mangiare non mi sono certo fatto scrupoli.</p>
<p>Le GTK+ sono piagate, da tempo ormai, da una cronica mancanza di sviluppatori nel &lt;em&gt;core team&lt;/em&gt;; il flusso di patch in &lt;a href=&quot;http://bugzilla.gnome.org&quot;&gt;Bugzilla&lt;/a&gt; Ã¨ piÃ¹ o meno costante (anche se non altissimo), ma le persone in grado di fare una revisione delle patch e in generale dei bug segnalati sono poche, e nessuno lavora a tempo pieno sulle GTK+. A questo si aggiunge un&#8217;inerzia proveniente dalle compagnie che lavorano con le GTK+ nei confronti di una (ormai inevitabile) rottura della compatibilitÃ  binaria e, possibilmente, delle &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt;. Il quadro Ã¨ complesso, e meriterebbe un post di analisi dei fattori pro e contro una tale rottura di compatibilitÃ  all&#8217;indietro; sfortunatamente Ã¨ sabato mattina e non ho molta voglia di farlo &#8211; considerate la questione solo rimandata.</p>
<p>Cosa si muove, quindi, nelle GTK+? Cosa ci sarÃ  nella prossima &lt;em&gt;minor release&lt;/em&gt;, la 2.12.0? E cosa ci aspetta nel futuro?</p>
<p>Cominciamo con le cose giÃ  in &lt;code&gt;trunk&lt;/code&gt;:</p>
<p>&lt;dl&gt;<br />
  &lt;dt&gt;&lt;strong&gt;Supporto Quartz e DirectFB&lt;/strong&gt;&lt;/dt&gt;<br />
  &lt;dd&gt;Il lavoro sui backend per GDK continua; il backend per Quartz Ã¨ mantenuto dagli sviluppatori della Imendio ed Ã¨ quasi stabile; mancano ancora feature, e molto dipende dalla stabilitÃ  del backend Quartz di Cairo, ma comincia ad essere usabile. Il backend DirectFB Ã¨ invece portato avanti dal team per l&#8217;installer grafico della Debian, e ha ricevuto molte attenzioni in occasione del rilascio di Etch. Alcune delle funzionalitÃ  sono state aggiunte alla branch stabile, ma &lt;code&gt;trunk&lt;/code&gt; Ã¨ il posto dove la magia avviene.&lt;/dd&gt;</p>
<p>  &lt;dt&gt;&lt;strong&gt;Rimosso il supporto a Windows 9x/ME&lt;/strong&gt;&lt;/dt&gt;<br />
  &lt;dd&gt;Il supporto per i sistemi operativi giocattolo della casa di Redmond era giÃ  cessato con la release 2.10; adesso Ã¨ stato completamente rimosso dalla &lt;em&gt;code base&lt;/em&gt;. Chi vuole, puÃ² fare un &lt;code&gt;diff&lt;/code&gt; tra 2.10 e &lt;code&gt;trunk&lt;/code&gt;, procurarsi un incudine e un martello e prepararsi per un&#8217;intensa sessione di martellate sui gioielli di famiglia.&lt;/dd&gt;</p>
<p>  &lt;dt&gt;&lt;strong&gt;Nuova API per le tooltip&lt;/strong&gt;&lt;/dt&gt;<br />
  &lt;dd&gt;Kristian Reitveld ha creato una nuova API per gestire le tooltip sui vari widget. D&#8217;ora in poi, niente piÃ¹ &lt;code&gt;GtkTooltips&lt;/code&gt; da tenere in giro per tutta la durata dell&#8217;applicazione, ma una semplice proprietÃ  che contiene il testo della tooltip (con supporto per il markup). Se si vuole modificare la finestra stessa usata per la tooltip, basta fare l&#8217;&lt;em&gt;override&lt;/em&gt; di una funzione virtuale della class &lt;code&gt;GtkWidget&lt;/code&gt; e si puÃ² usare la finestra che si preferisce. Questo, tra l&#8217;altro, permette finalmente di poter usare tooltip con &lt;code&gt;GtkTreeView&lt;/code&gt; e &lt;code&gt;GtkComboBox&lt;/code&gt;.&lt;/dd&gt;</p>
<p>  &lt;dt&gt;&lt;strong&gt;File recenti&lt;/strong&gt;&lt;/dt&gt;<br />
  &lt;dd&gt;Una delle cose che ho scritto io. Finalmente Ã¨ possibile infilare la lista dei file recenti in un menu costruito usando &lt;code&gt;GtkUIManager&lt;/code&gt;. Per la disperazione (di uno) degli autori di &lt;a href=&quot;http://www.gnome.org/projects/gedit&quot;&gt;gedit&lt;/a&gt;, niente menu &quot;in linea&quot; (come Windows, per intenderci) ma solo come sotto-menu (come OS X). Scrievere una version in linea non Ã¨ complicato (se volete, trovate una implementazione &lt;a href=&quot;http://www.gnome.org/~ebassi/recent-uimanager-inline.c&quot;&gt;qui&lt;/a&gt;). Ho anche aggiunto la possibilitÃ  di inserire elementi del menu prima e dopo la lista dei file recenti nel &lt;code&gt;GtkRecentChooserMenu&lt;/code&gt;, cosÃ¬ da renderlo piÃ¹ simile a un &lt;code&gt;GtkMenu&lt;/code&gt; (quale Ã¨).&lt;/dd&gt;</p>
<p>  &lt;dt&gt;&lt;strong&gt;FileChooser migliorato&lt;/strong&gt;&lt;/dt&gt;<br />
  &lt;dd&gt;Una delle cose che mi fanno aumentare la misantropia e, in generale, il desiderio di vedere la razza umana estinguersi sono le &lt;em&gt;flame&lt;/em&gt; sul selettore di file delle GTK+. Seriamente: ogniqualvolta arriva qualche sedicente esperto di usabilitÃ  che urla ai quattro venti come il &lt;code&gt;GtkFileChooserDialog&lt;/code&gt; sia &quot;inusabile&quot; io spero solo che si tratti di qualcuno che vive vicino ad una costa marittima, e aspetto che il riscaldamento globale faccia il resto. Due settimane fa ho fatto il &lt;em&gt;commit&lt;/em&gt; della patch (non scritta da me) che aggiungeva il supporto per la ricerca di file usando (indirettamente) Beagle, Tracker o una semplice ricerca per nome. La patch aveva ancora dei problemi, con funzionalitÃ  non implementate o comportamenti non consistenti, quindi ho passato questa settimana a scrivere &lt;a href=&quot;http://www.gnome.org/~ebassi/filechooser-merge/&quot;&gt;patch&lt;/a&gt; per chiudere il bug &lt;a href=&quot;http://bugzilla.gnome.org/show_bug.cgi?id=435343&quot;&gt;#435343&lt;/a&gt; e intanto che c&#8217;ero anche il bug &lt;a href=&quot;http://bugzilla.gnome.org/show_bug.cgi?id=435342&quot;&gt;#435342&lt;/a&gt; (se volete vedere come appare il selettore file adesso, ci sono degli screenshot &lt;a href=&quot;http://www.gnome.org/~ebassi/filechooser-recent.png&quot;&gt;qui&lt;/a&gt; e &lt;a href=&quot;http://www.gnome.org/~ebassi/filechooser-search.png&quot;&gt;qui&lt;/a&gt;) per aggiungere la lista dei file recenti direttamente nel selettore di file e chiudere cosÃ¬ integrazione iniziata con la scorsa versione delle GTK+ &#8211; quasi due anni dopo il &lt;a href=&quot;http://www.emmanuelebassi.net/archives/2005/05/guadec-live/&quot;&gt;GUADEC che ha iniziato tutto quanto&lt;/a&gt;.&lt;/dd&gt;</p>
<p>&lt;/dl&gt;</p>
<p>Ovviamente, le novitÃ  non sono solo queste. C&#8217;Ã¨ stato un gran lavoro nel portare alcune &lt;em&gt;feature&lt;/em&gt; sviluppate per piattaforme &lt;em&gt;embedded&lt;/em&gt;, come la navigazione via tasti oppure il metodo di inserimento per tastiere solo numeriche. In piÃ¹, ci sono nuove &lt;em&gt;feature&lt;/em&gt; in fase di valutazione e di revisione che non sono ancora &quot;atterrate&quot; in &lt;code&gt;trunk&lt;/code&gt;, come il supporto per il &lt;em&gt;tap-and-hold&lt;/em&gt; per i menu contestuali (usato dai &lt;em&gt;touchscreen&lt;/em&gt; o piÃ¹ in generale da chi ha puntatori con un tasto solo, come Mac o &lt;em&gt;tablet&lt;/em&gt;). Infine, c&#8217;Ã¨ la grossa &lt;em&gt;feature&lt;/em&gt; rappresentata dal &lt;code&gt;GtkBuilder&lt;/code&gt;, ovvero la possibilitÃ  di creare interfacce utente usando XML &#8211; come libglade ma integrato ed esteso.</p>
<p>Cosa ci attende nel post-2.12 non si sa. Le GTK+ avranno finalmente un canvas? E come impatterÃ  questo oggetto con la struttura dei widget? In piÃ¹, avremo finalmente una class &lt;code&gt;GtkApplication&lt;/code&gt; per scrivere applicazioni in maniera piÃ¹ semplice, lasciando che siano le GTK+ a gestire le sessioni e lo stato (liberandoci di un bel pezzo di &lt;code&gt;libgnome&lt;/code&gt; e &lt;code&gt;libgnomeui&lt;/code&gt;)? Avremo un &lt;em&gt;layer&lt;/em&gt; per &lt;acronym title=&quot;Virtual File System&quot;&gt;VFS&lt;/acronym&gt; finalmente usabile senza una lobotomia parziale? E una piattaforma per la configurazione che non sia ferma al 2001?</p>
<p>Infine, quando avremo le GTK+ 3.0, con una ripulitura generale del codice?</p>
<p>Non so dare risposte; so solo che chi vivrÃ , vedrÃ .</p>
<p>&lt;em style=&quot;font-size:80%&quot;&gt;continua&#8230;&lt;/em&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.emmanuelebassi.name/archives/2007/05/12/overdrive2/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

