<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/1.5.1-alpha" -->
<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/"
>

<channel>
	<title>PDI^2</title>
	<link>http://riffraff.blogsome.com</link>
	<description>Propulsione d'Improbabilità Infinita</description>
	<pubDate>Sun, 11 May 2008 15:02:46 +0000</pubDate>
	<generator>http://wordpress.org/?v=1.5.1-alpha</generator>
	<language>en</language>

		<item>
		<title>Sneaking mono into the system?</title>
		<link>http://riffraff.blogsome.com/2006/02/07/sneaking-mono-into-the-system/</link>
		<comments>http://riffraff.blogsome.com/2006/02/07/sneaking-mono-into-the-system/#comments</comments>
		<pubDate>Tue, 07 Feb 2006 22:42:13 +0000</pubDate>
		<dc:creator>gabriele</dc:creator>
		
	<category>linux</category>
	<category>gnome</category>
		<guid>http://riffraff.blogsome.com/2006/02/07/sneaking-mono-into-the-system/</guid>
		<description><![CDATA[	Ovvvero, i video con così tanto eye candy da far cariare la retina che sono girati qualche giorno fa adesso sono ribrandizzati e messi in una pagina un po&#8217; più ufficiale, e Novell sta allegramente restituendo alla comunità XGL, il composite manager compiz e le loro modifiche a Gnome.

Il che è tutto bello e diciamoci [...]]]></description>
			<content:encoded><![CDATA[	<p>Ovvvero, i video con così tanto eye candy da far cariare la retina che sono girati qualche giorno fa adesso sono ribrandizzati e messi in una pagina un po&#8217; più ufficiale, e Novell <a href="http://www.novell.com/it-it/linux/xglrelease/">sta allegramente restituendo alla comunità XGL</a>, il composite manager compiz e le loro modifiche a Gnome.<br />
<a id="more-118"></a><br />
Il che è tutto bello e diciamoci la verità, <tt>alt-tab</tt> con le miniature è una figata.Se interessasse a qualcuno c&#8217;è pure per windows come powertool.</p>
	<p>Chissà come va XGL sulla mia nvidia vecchiotta.. cavolo quasi quasi chiedo una NLD10 per san valentino.<br />
(<em>no elena, se leggi questo sto scherzando, meglio una torta</em>).</p>
	<p>Ma la cosa interessante è il modo in cui il pannello di gnome made in Novell includa beagle. Il che indirettamente porta alla dipendenza gnome -> mono.<br />
<a href="http://mail.gnome.org/archives/desktop-devel-list/2006-February/msg00115.html">Fanno notare </a> che in realtà gnome può vivere felice andando avanti senza le modifiche di novell, e che la parola <em>fork</em> non deve essere pronunciata.<br />
Sarà ma non mi pare, direi anzi che è stato un colpo di mano abbastanza netto, adesso si mette la comunità di fronte ad un pacco dono che è difficile rifiutare, specie pensando che l&#8217;altenativa sia lavorare su qualcosa dove una parte importante degli sviluppatori (ovvero quelli di novell/ximian)  non metterebbe mano.<br />
Per carità per molti versi ragionevolissimo. </p>
	<p>Ma probabilmente non ci capisco un cavolo, e devo dormire di più, oppure sono i fumi della macchinetta del caffé.<br />
Cercate di non dimenticare un piccolo aggeggio con parti in plastica sul fuoco per più di due ore, i risultati possono essere decisamente brutti.
</p>
]]></content:encoded>
			<wfw:commentRss>http://riffraff.blogsome.com/2006/02/07/sneaking-mono-into-the-system/feed/</wfw:commentRss>
	</item>
		<item>
		<title>Ruby-GNOME2, i binding dimenticati</title>
		<link>http://riffraff.blogsome.com/2006/01/12/ruby-gnome2-i-binding-dimenticati/</link>
		<comments>http://riffraff.blogsome.com/2006/01/12/ruby-gnome2-i-binding-dimenticati/#comments</comments>
		<pubDate>Thu, 12 Jan 2006 15:07:56 +0000</pubDate>
		<dc:creator>gabriele</dc:creator>
		
	<category>ruby</category>
	<category>gnome</category>
	<category>gtk</category>
		<guid>http://riffraff.blogsome.com/2006/01/12/ruby-gnome2-i-binding-dimenticati/</guid>
		<description><![CDATA[	Uno dei punti forti di gnome/gtk sono i binding delle librerie per altri linguaggi.
Non che KDE/QT non ne abbiano, ma la mia impressione è che non siano apprezzati quanto quelli in gnome-landia, forse perché QT/C++ forniscono già un&#8217;ambiente di  lavoro di livello più alto rispetto al C liscio. 
	Colgo l&#8217;occasione dell&#8217;uscita di questo articolo [...]]]></description>
			<content:encoded><![CDATA[	<p>Uno dei punti forti di gnome/gtk sono i binding delle librerie per altri linguaggi.<br />
Non che KDE/QT non ne abbiano, ma la mia impressione è che non siano apprezzati quanto quelli in gnome-landia, forse perché QT/C++ forniscono già un&#8217;ambiente di  lavoro di livello più alto rispetto al C liscio. <a id="more-92"></a></p>
	<p>Colgo l&#8217;occasione dell&#8217;uscita di <a href="http://www-128.ibm.com/developerworks/views/opensource/libraryview.jsp?search_by=gtk+fundamentals">questo articolo</a> per parlare un po&#8217; del mio binding preferito, ruby-gtk2 (e ruby-atk e ruby-glib e ruby-pango etc)..</p>
	<p>Si tratta di un toolkit poco conosciuto rispetto ai vari Gtk# o pygtk ma secondo me è quello con l&#8217;api migliore, per due motivi:</p>
	<ul>
	<li> si accede alle proprietà in modo semplice come <tt> obj.foo=bar</tt></li>
	<li> si usano i blocchi per i callback</li>
	</ul>
	<p>Prendendo spunto dal codice del secondo articolo su developerworks, un porting dell&#8217;esempio in ruby sarebbe sostanzialmente identico alla versione python, solo che i callback usano i blocchi direttamente in linea, una cosa del tipo</p>
	<pre>
foo.signal_connect \"clicked\" do
 print \"clicccato!\"
end
</pre>
	<p>Io personalmente ho un alias &#8220;<tt>on</tt>&#8221; per <tt>signal_connect</tt> perché ritengo che </p>
	<pre>
window.on \"signal\" do ...
</pre>
	<p>sia molto meglio.. </p>
	<p>Colgo l&#8217;occasione invece per fare un port dell&#8217;applicazione che aveva <a href="http://www.oluyede.org/blog/2005/12/03/writing-a-widget-using-cairo-and-pygtk-28/">tradotto lawrence</a> da C a python, per mostrare come usare insieme Cairo e Gtk. Io ho fatto le prove su ubuntu breezy badger e su win32 e funzionano, per altre distro non garantisco</p>
	<pre>
	
<font color=\"#ff80ff\">require</font> <font color=\"#ffa500\">&#8216;</font><font color=\"#ffa0a0\">cairo</font><font color=\"#ffa500\">&#8216;</font>
<font color=\"#ff80ff\">require</font> <font color=\"#ffa500\">&#8216;</font><font color=\"#ffa0a0\">gtk2</font><font color=\"#ffa500\">&#8216;</font>
<font color=\"#ff80ff\">include</font> <font color=\"#40ffff\">Math</font>
<font color=\"#ff80ff\">class </font><font color=\"#60ff60\"><b>EggClockFace</b></font> &lt;<font color=\"#40ffff\">Gtk</font>::<font color=\"#40ffff\">DrawingArea</font>
<font color=\"#ff80ff\">  def </font><font color=\"#40ffff\">initialize</font>
    <font color=\"#ffff60\"><b>super</b></font>
    signal_connect <font color=\"#ffa500\">&quot;</font><font color=\"#ffa0a0\">expose_event</font><font color=\"#ffa500\">&quot;</font> <font color=\"#ffff60\"><b>do</b></font> <font color=\"#40ffff\">|widget,event|</font>
      ctx= widget.window.create_cairo_context
      ctx.rectangle event.area.x, event.area.y,
                    event.area.width, event.area.height
      ctx.clip
      draw(ctx)
      <font color=\"#ffa0a0\">false</font>
    <font color=\"#ffff60\"><b>end</b></font>
  <font color=\"#ff80ff\">end</font>
<font color=\"#ff80ff\">  def </font><font color=\"#40ffff\">draw</font>(ctx)
        rect = allocation()
        x = rect.x + rect.width / <font color=\"#ffa0a0\">2.0</font>
        y = rect.y + rect.height / <font color=\"#ffa0a0\">2.0</font>
	
        radius = [rect.width / <font color=\"#ffa0a0\">2.0</font>, rect.height / <font color=\"#ffa0a0\">2.0</font>].min - <font color=\"#ffa0a0\">5</font>
	
        <font color=\"#80a0ff\"># clock back</font>
        ctx.arc(x, y, radius, <font color=\"#ffa0a0\">0</font>, <font color=\"#ffa0a0\">2.0</font> * <font color=\"#40ffff\">PI</font>)
        ctx.set_source_rgb(<font color=\"#ffa0a0\">1</font>, <font color=\"#ffa0a0\">1</font>, <font color=\"#ffa0a0\">1</font>)
        ctx.fill_preserve
        ctx.set_source_rgb(<font color=\"#ffa0a0\">0</font>, <font color=\"#ffa0a0\">0</font>, <font color=\"#ffa0a0\">0</font>)
        ctx.stroke
	
        <font color=\"#ffff60\"><b>for</b></font> i <font color=\"#ffff60\"><b>in</b></font> <font color=\"#ffa0a0\">0</font>..<font color=\"#ffa0a0\">11</font>
            outset = <font color=\"#ffa0a0\">0.9</font> * radius
            ctx.move_to x + outset * cos(i * <font color=\"#40ffff\">PI</font> / <font color=\"#ffa0a0\">6.0</font>),
                        y + outset * sin(i * <font color=\"#40ffff\">PI</font> / <font color=\"#ffa0a0\">6.0</font>)
            ctx.line_to x + radius * cos(i * <font color=\"#40ffff\">PI</font> / <font color=\"#ffa0a0\">6.0</font>),
                        y + radius * sin(i * <font color=\"#40ffff\">PI</font> / <font color=\"#ffa0a0\">6.0</font>)
            ctx.stroke
        <font color=\"#ffff60\"><b>end</b></font>
        ctx.stroke
  <font color=\"#ff80ff\">end</font>
<font color=\"#ff80ff\">end</font>
	
<font color=\"#40ffff\">Gtk</font>.init
window = <font color=\"#40ffff\">Gtk</font>::<font color=\"#40ffff\">Window</font>.new
clock = <font color=\"#40ffff\">EggClockFace</font>.new
	
window.add clock
window.signal_connect <font color=\"#ffa500\">&quot;</font><font color=\"#ffa0a0\">destroy</font><font color=\"#ffa500\">&quot;</font> <font color=\"#ffff60\"><b>do</b></font>
 <font color=\"#40ffff\">Gtk</font>.main_quit
<font color=\"#ffff60\"><b>end</b></font>
window.show_all
	
<font color=\"#40ffff\">Gtk</font>.main
	</pre>
	<p><a href="http://img296.imageshack.us/my.php?image=schermata9tx.png" target="_blank"><img src="http://img296.imageshack.us/img296/1065/schermata9tx.th.png" border="0" alt="Free Image Hosting at www.ImageShack.us" />Screensoht</a>
</p>
]]></content:encoded>
			<wfw:commentRss>http://riffraff.blogsome.com/2006/01/12/ruby-gnome2-i-binding-dimenticati/feed/</wfw:commentRss>
	</item>
		<item>
		<title>Mockup Kde4</title>
		<link>http://riffraff.blogsome.com/2005/10/20/mockup-kde4/</link>
		<comments>http://riffraff.blogsome.com/2005/10/20/mockup-kde4/#comments</comments>
		<pubDate>Thu, 20 Oct 2005 21:08:38 +0000</pubDate>
		<dc:creator>gabriele</dc:creator>
		
	<category>gnome</category>
	<category>kde</category>
		<guid>http://riffraff.blogsome.com/2005/10/20/mockup-kde4/</guid>
		<description><![CDATA[	Interessanti mockup di possibili modifiche all&#8217;aspetto ed alle funzionalità di KDE4
(via afasi-kOol-blog)
	Oddio, in realtà ce n&#8217;è uno che sembra un po&#8217; troppo Vista-like, ma in generale sembra che ci sarà un bel po di eye candy in KDE4.
Sulla maggiore funzionalità non mi sbilancio, essendo ormai convinto sostenitore dell&#8217;approccio Gnomesco, però confrontare i mockup con la [...]]]></description>
			<content:encoded><![CDATA[	<p>Interessanti <a href="http://liquidat.blogspot.com/2005/09/kde-40-mockup-review-part-ii.html">mockup </a>di possibili modifiche all&#8217;aspetto ed alle funzionalità di KDE4<br />
(via <a href="http://www.koolinus.net/blog/">afasi-kOol-blog</a>)</p>
	<p>Oddio, in realtà ce n&#8217;è uno che sembra un po&#8217; troppo Vista-like, ma in generale sembra che ci sarà un bel po di eye candy in KDE4.<br />
Sulla maggiore funzionalità non mi sbilancio, essendo ormai convinto sostenitore dell&#8217;approccio Gnomesco, però confrontare i mockup con la <a href="http://live.gnome.org/ThreePointZero">triste pagina </a>dedicata a Gnome3 fa un certo effetto (anche se le idee in quella pagina sono molto interessanti)
</p>
]]></content:encoded>
			<wfw:commentRss>http://riffraff.blogsome.com/2005/10/20/mockup-kde4/feed/</wfw:commentRss>
	</item>
	</channel>
</rss>
