<?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, 08 Jun 2008 23:00:17 +0000</pubDate>
	<generator>http://wordpress.org/?v=1.5.1-alpha</generator>
	<language>en</language>

		<item>
		<title>Dual boot OSX/ Xubuntu su macbook senza Bootcamp</title>
		<link>http://riffraff.blogsome.com/2008/02/16/dual-boot-osx-xubuntu-su-macbook-senza-bootcamp/</link>
		<comments>http://riffraff.blogsome.com/2008/02/16/dual-boot-osx-xubuntu-su-macbook-senza-bootcamp/#comments</comments>
		<pubDate>Sat, 16 Feb 2008 11:21:35 +0000</pubDate>
		<dc:creator>gabriele</dc:creator>
		
	<category>linux</category>
		<guid>http://riffraff.blogsome.com/2008/02/16/dual-boot-osx-xubuntu-su-macbook-senza-bootcamp/</guid>
		<description><![CDATA[	Bootcamp è in leopard, e basta. Io non ho leopard e non ho intenzione di installarlo a breve.
Oh mio dio come faccio a fare il dual boot?!
	
	libera spazio
	ridimensiona da riga di comando: diskutil resizeVolume disk0s2 60G 
	 installa refit e attivalo
	infila il cd di xubuntu, riavvia e installa come al solito
	
	In breve, è quel che [...]]]></description>
			<content:encoded><![CDATA[	<p>Bootcamp è in leopard, e basta. Io non ho leopard e non ho intenzione di installarlo a breve.<br />
Oh mio dio come faccio a fare il dual boot?!</p>
	<ol>
	<li>libera spazio</li>
	<li>ridimensiona da riga di comando: <tt>diskutil resizeVolume disk0s2 60G </tt></li>
	<li> installa <a href="http://refit.sourceforge.net">refit</a> e attivalo</li>
	<li>infila il cd di xubuntu, riavvia e installa come al solito</li>
	</ol>
	<p>In breve, è quel che sta scritto <a href="http://ubuntuforums.org/archive/index.php/t-560644.html">qui</a>, solo che l&#8217;autore del topic pensa sia necessario liberare una marea di spazio per poter fare un piccolo ridimensionamento (45 giga liberi per ridimensionare la partizione OSX da 80 a 70). </p>
	<p>La mia impressione è che in realtà OSX sia un po&#8217; idiota, e non sia in grado di riorganizzare i file &#8220;al volo&#8221;.<br />
Se effettuate un reboot probabilmente il ridimensionamento vi funzionerà, io ho ridimensionato da 80G a 65G avendone liberi solo 30, ma solo dopo un paio di reboot, il comando falliva miseramente altrimenti. </p>
	<p>A questo punto: la tastiera italiana va, avendo cura di cambiare i setting per trasformare il tasto mela destra in alt-gr (lv3:rwin_switch), il touchpad funziona (anche se non ho ancora sistemato lo sliding con due dita, e il tasto destro lo faccio con tre dita), lo schermo ha una risoluzione decente e la scheda ethernet funziona senza problemi.<br />
Devo ancora verificare l&#8217;audio e la scheda wi-fi però. </p>
	<p>Purtroppo pare che non possa fare l&#8217;upgrade a un kernel recente perché ci sono dei binary blob/moduli proprietari che non funzionano correttamente con kernel moderni, per cui ho un sacco di exploit locali, urrah!
</p>
]]></content:encoded>
			<wfw:commentRss>http://riffraff.blogsome.com/2008/02/16/dual-boot-osx-xubuntu-su-macbook-senza-bootcamp/feed/</wfw:commentRss>
	</item>
		<item>
		<title>UidBind e il self-marketing</title>
		<link>http://riffraff.blogsome.com/2007/06/24/uidbind-e-il-self-marketing/</link>
		<comments>http://riffraff.blogsome.com/2007/06/24/uidbind-e-il-self-marketing/#comments</comments>
		<pubDate>Sun, 24 Jun 2007 14:37:41 +0000</pubDate>
		<dc:creator>gabriele</dc:creator>
		
	<category>programmazione</category>
	<category>linux</category>
	<category>web</category>
		<guid>http://riffraff.blogsome.com/2007/06/24/uidbind-e-il-self-marketing/</guid>
		<description><![CDATA[	Da anni sono un utente felice di un certo servizio di hosting,  per vari motivi.
	Primo, sono open-source friendly. Nel senso che usano software libero, contribuiscono allo sviluppo di quel che usano e supportano la gente che supporta l&#8217;open source, come ruby-it o ziobudda .
	Secondo, ho il supporto via jabber di una persona (roberto) che [...]]]></description>
			<content:encoded><![CDATA[	<p>Da anni sono un utente felice di un certo <a href="http://www.unbit.it">servizio di hosting</a>,  per vari motivi.</p>
	<p>Primo, sono open-source friendly. Nel senso che usano software libero, contribuiscono allo sviluppo di quel che usano e <em>supportano la gente che supporta</em> l&#8217;open source, come <a href="http://ruby-it.org">ruby-it</a> o <a href="http://www.ziobudda.net">ziobudda </a>.</p>
	<p>Secondo, ho il supporto via jabber di una persona (roberto) che conosco di persona <img src='http://riffraff.blogsome.com/wp-images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
	<p>Terzo, sono una manica di hacker, nel senso positivo del termine. Il vero motivo per cui su unbit è possibile usare <a href="http://wiki.unbit.it/HowtoCamping">Camping</a> o <a href="http://wiki.unbit.it/HowtoDjango">Django</a>,  si ha disposizione <a href="http://wiki.unbit.it/HowtoMercurial">mercurial</a>, e si può accedere al pannello di controllo tramite XMP-RPC è perché è fico, non perché ci sia un grosso mercato. </p>
	<p>Ma essendo una manica di hacker hanno anche i tipici difetti di relazione col mondo, ad esempio una homepage inaccessibile.</p>
	<p>Tutto questo per parlarvi di <a href="http://projects.unbit.it/uidbind">uidbind</a>,  che è un modulo kernel per linux che permette di impostare permessi di accesso granulari a specifiche porte TCP/UDP. </p>
	<p>L&#8217;amministratore può, tramite un albero di directory configfs, selezionare alcune porte e rendere possibile solo all&#8217;utente X di effettuare una <tt>bind()</tt> su di esse, il che ha un grosso potenziale per evitare che si crei casino. </p>
	<p>Mettiamo che si permetta agli utenti di lanciare dei server (esempio: mongrel, o tomcat). Il default è che gli utenti comincino a pestarsi i piedi a vicenda, andando ogni volta a occupare le porte altrui e forzando un algoritmo distribuito di &#8220;<em>ti frego la porta o devo modificare le configurazioni</em>&#8221; che è decisamente sgradevole. </p>
	<p>Con uidbind è possibile assegnare ad ogni utente una porta e far si che usi sempre e solo quella e che nessun altro abbia la possibilità di usarla, in nessun modo.</p>
	<p>Il modulo ha anche il potenziale di eliminare quella vecchissima eredità di UNIX per cui le prime 1024 porte sono riservate a root. La ragione, all&#8217;epoca, era che si voleva evitare che un utente potesse effettuare l&#8217;hijack di servizi trusted (esempio: telnet o http), ma l&#8217;effetto collaterale è che ancora oggi tutti i servizi classici devono partire inizialmente come root.<br />
Facendo si che l&#8217;accesso alle porte sia gestito in modo granulare sarebbe possibile riservare le prime porte a root e poi, caso per caso, riassegnarle ad utenti specifici come httpd o smtpd, superando finalmente limitazioni vecchie di decenni.</p>
	<p>Ora vabè che il modulo è ancora in betamm ma guardate la pagina di uidbind. Neanche un po&#8217; di auto-esaltazione porca miseria!
</p>
]]></content:encoded>
			<wfw:commentRss>http://riffraff.blogsome.com/2007/06/24/uidbind-e-il-self-marketing/feed/</wfw:commentRss>
	</item>
		<item>
		<title>Cronache dal centro nord</title>
		<link>http://riffraff.blogsome.com/2007/06/22/cronache-dal-centro-nord/</link>
		<comments>http://riffraff.blogsome.com/2007/06/22/cronache-dal-centro-nord/#comments</comments>
		<pubDate>Fri, 22 Jun 2007 16:58:33 +0000</pubDate>
		<dc:creator>gabriele</dc:creator>
		
	<category>linux</category>
	<category>personale</category>
		<guid>http://riffraff.blogsome.com/2007/06/22/cronache-dal-centro-nord/</guid>
		<description><![CDATA[	Vi lasciai dicendo che andavo all&#8217;heineken jammin festival. Questi sono i fatti accaduti da allora. 
	L&#8217;autore si mette in cammino giovedì insieme al compagno di viaggio A., coppia già consolidata negli anni nel corso di altre zingarate in giro per il Bel Paese.
	Partenza intelligente alle quattro del pomeriggio, sole che spacca le pietre. Preveggenza dell&#8217;Autore: [...]]]></description>
			<content:encoded><![CDATA[	<p><a href="http://riffraff.blogsome.com/2007/06/13/ruby-rails-vs-j2ee-di-nuovo/">Vi lasciai</a> dicendo che andavo all&#8217;heineken jammin festival. Questi sono i fatti accaduti da allora. </p>
	<p>L&#8217;autore si mette in cammino giovedì insieme al compagno di viaggio A., coppia già consolidata negli anni nel corso di altre zingarate in giro per il Bel Paese.</p>
	<p>Partenza intelligente alle quattro del pomeriggio, sole che spacca le pietre. Preveggenza dell&#8217;Autore: &#8220;<em>guarda che cavolo di sole che c&#8217;è oggi, domani minimo gràndina</em>&#8220;.</p>
	<p>Il viaggio scorre felice, allegria e birrette in serata nella citta di tette&#038;torri&#038;tortellini, ospitalità fantastica e la mattina dopo si parte per mestre, si schiva la maggior parte del traffico, si azzecca la strada al 99% (pur senza navigatore e con una cartina in cui il veneto ha le dimensioni di una moneta da un euro) e si parcheggia velocemente.</p>
	<p>Entriamo. Il parco san giuliano è enorme, e i nostri decidono di rilassarsi con la prima bottiglia di vodka lemon e i panini comprati all&#8217;esselunga, nell&#8217;attesa di altri due compari in arrivo da pavia. Il sole splende, gli uccellini cantano, niente lascia presagire la catastrofe. </p>
	<p>Arrivano gli altri due ragazzi. Come stai, anche io, non tanto, si certo che la voglio, facciamo un giro. Iniziamo il saccheggio degli stand promozionali, procurandoci numerosi pacchetti di cartine, palline di burrocacao della 3 (?), preservativi, anelli fallici stimolanti per lei (??), mousepad, cappellini, portachiavi, accendini, bandana PosteItaliane giallo fluo (???). </p>
	<p>Poi ci prendiamo qualche birra perché, voglio dire, è pur sempre un concerto, e molestiamo le fanciulle degli stand perché, voglio dire, siamo pur sempre brilli.</p>
	<p>E comunque vorrei sapere chi è il criminale che ha mandato due belle figliole vestite da dottoressa sexy nel mezzo di una torma di ragazzi in overdose da luppolo. Credo sia punibile per incitamento alla violenza carnale. </p>
	<p>Comunque è a quel punto che accade il casino. Ora: potreste aver visto notizie inquietanti alla TV o nei giornali ma la realtà è che noi, dominati dall&#8217;amore per il fango post-woodstock, non è che ci preoccupassimo molto. </p>
	<p>Improvvisiamo un rifugio assemblando panche e tavoli.  Immagino sia significativo che abbia resistito più o meno quanto le impalcature del concerto. </p>
	<p>Poi pioggia e vento diventano eccessive e ci rifugiamo dentro uno stand dell&#8217;heineken. In cambio dell&#8217;ospitalità cerchiamo di renderci utili portando via qualche sacco di merchandising che si rivelerà, ad un più attento esame, un bottino composto interamente di portachiavi e portacellulari. Neanche una maglietta, porca zozza.</p>
	<p>Smette di piovere, velocemente. Usciamo dal riparo e c&#8217;è devastazione, passa qualche ambulanza e cominciano a sgomberarci. A quel punto sorge qualche sospetto che forse il concerto non si farà. E vabbè sarà per la prossima volta. </p>
	<p>Alcune ore più tardi siamo in autostrada, seguendo una strada che ci ha indicato un vigile e che congiunge mestre-bologna via <a href="http://it.wikipedia.org/wiki/Reykjavík">rejkyavìk</a>, e realizziamo: <em>prossima volta un paio di palle</em>.<br />
I protagonisti sembrano condannati a non vedere i pearl jam. L&#8217;anno scorso quando son venuti in italia era <em>esattamente una settimana dopo</em> la data in cui loro dovevano trovarsi a budapest per motivi di studio.<br />
Una data a lisbona, dove avrebero potuto vederli, è stata anch&#8217;essa annullata.<br />
Le date precedenti in italia si perdono nella notte dei tempi.</p>
	<p>Evidentemente sono in azione forze più grandi di noi e che non comprendiamo. Forse in una vita precedente abbiamo fatto uno sfregio a qualche road manager e questa è solo una prolungata espiazione di tale crudeltà. </p>
	<p>Ad ogni modo arriviamo di nuovo a bologna, che sabato è il compleanno del nostro ospite. </p>
	<p>Bella festa, della quale purtroppo non posso dirvi tanto perché le mie facoltà menemoniche sono ridotte. Ricordo di aver visto e rivisto un sacco di gente, di aver cantato come un demente, smarrito il compagno di viaggio, invaso un locale, importunato un po&#8217; di gente. Sono piuttosto sicuro di aver bevuto sangria, confermando ancora una volta che se qualcosa è rosso e ha la frutta è sangria, perché in questa variante (ottima) c&#8217;erano anche i chiodi di garofano. </p>
	<p>Almeno mi sembra. Poi ci siamo ritrovati a mangiare pizza da (anto&#8217;, commenta ti prego che non mi ricordo il nome).  Dove c&#8217;era alessandrodelgrandefratello. Chi cavolo sia alessandrodelgrandefratello non lo so.<br />
In seguito abbiamo dibattuto i meriti della sorella del festeggiato e sono arrivato abbastanza vicino a un destro alla mascella, ma il nostro ospite è una brava persona e ha rispettato <a href="http://it.wikipedia.org/wiki/Xenia_(greco)">i sacri principi dell&#8217;ospitalità</a>. Kudos. </p>
	<p>Domenica si riparte, era prevista una tappa a perugia ma abbiamo fatto tardi e ci siamo fermati solo un po&#8217; a firenze che era di strada, dove abbiamo visitato un&#8217;amica e, per ragioni complesse, un ragazzo francese che è venuto a vivere a firenze qualche mese.<br />
Ovviamente la parte banale del viaggio, arrivare dall&#8217;uscita dell&#8217;autostrada all&#8217;appuntamento con i due, si è dimostrata estremamente articolata, motivo per cui adesso abbiamo una conoscenza dettagliata del lato sbagliato dell&#8217;arno e della periferia estrema della città. Alla fine tutto bene, baci, abbracci, coccole.<br />
Prendiamo un caffè in un posto che è dello zio della ragazza ed in cui A. aveva già mangiato in viaggio a firenze, quando ci lavoravano le sorelle della stessa.<br />
Il mondo ha le dimensioni di un guscio di noce, bisogna rassegnarsi. </p>
	<p>Alla fine arriviamo a roma a mezzanotte, con milleduecento chilometri alle spalle, senza aver visto un concerto, avendo speso duecento euri tra una cazzata e l&#8217;altra, avendo mangiato il sacro Grisbì da viaggio, conosciuto e riconosciuto una mare di gente, ingollato dosi semiletali di alcolici ed avendo ascoltato 12 ore di vecchi cd. E contenti, pensando al prossimo viaggio.
</p>
]]></content:encoded>
			<wfw:commentRss>http://riffraff.blogsome.com/2007/06/22/cronache-dal-centro-nord/feed/</wfw:commentRss>
	</item>
		<item>
		<title>che fine ha fatto grepmap?</title>
		<link>http://riffraff.blogsome.com/2007/04/14/che-fine-ha-fatto-grepmap/</link>
		<comments>http://riffraff.blogsome.com/2007/04/14/che-fine-ha-fatto-grepmap/#comments</comments>
		<pubDate>Sat, 14 Apr 2007 11:07:18 +0000</pubDate>
		<dc:creator>gabriele</dc:creator>
		
	<category>linux</category>
	<category>personale</category>
		<guid>http://riffraff.blogsome.com/2007/04/14/che-fine-ha-fatto-grepmap/</guid>
		<description><![CDATA[	Aggiornando Feisty mi sono accordo che grepmap era considerato obsoleto e dunque rimosso. Effettivamente non c&#8217;è più neanche da nessuna parte in /etc o /boot, quindi non sto delirando. 
	Ma con che cosa l&#8217;hanno sostituito?

]]></description>
			<content:encoded><![CDATA[	<p>Aggiornando Feisty mi sono accordo che grepmap era considerato obsoleto e dunque rimosso. Effettivamente non c&#8217;è più neanche da nessuna parte in /etc o /boot, quindi non sto delirando. </p>
	<p>Ma con che cosa l&#8217;hanno sostituito?
</p>
]]></content:encoded>
			<wfw:commentRss>http://riffraff.blogsome.com/2007/04/14/che-fine-ha-fatto-grepmap/feed/</wfw:commentRss>
	</item>
		<item>
		<title>Varnish: programmare nel terzo millennio</title>
		<link>http://riffraff.blogsome.com/2007/04/02/varnish-programmare-nel-terzo-millennio/</link>
		<comments>http://riffraff.blogsome.com/2007/04/02/varnish-programmare-nel-terzo-millennio/#comments</comments>
		<pubDate>Mon, 02 Apr 2007 22:02:50 +0000</pubDate>
		<dc:creator>gabriele</dc:creator>
		
	<category>linux</category>
	<category>software</category>
	<category>C</category>
		<guid>http://riffraff.blogsome.com/2007/04/02/varnish-programmare-nel-terzo-millennio/</guid>
		<description><![CDATA[	Mi è capitato l&#8217;altro giorno di inciampare su varnish , un acceleratore HTTP per freebsd e linux dal design innovativo, che presenta alcuni punti interessanti. 
	Anzitutto, fa un sacco di cose: gestione del caching, compressione, load balancing etc. Ma vabè, sono cose abbastanza standard.
	Una cosa più carina è l&#8217;utilizzo di un linguaggio per la configurazione [...]]]></description>
			<content:encoded><![CDATA[	<p>Mi è capitato l&#8217;altro giorno di inciampare su <a href="http://varnish.projects.linpro.no/wiki/ArchitectNotes">varnish </a>, un acceleratore HTTP per freebsd e linux dal design innovativo, che presenta alcuni punti interessanti. </p>
	<p>Anzitutto, fa un sacco di cose: gestione del caching, compressione, load balancing etc. Ma vabè, sono cose abbastanza standard.</p>
	<p>Una cosa più carina è l&#8217;utilizzo di un linguaggio per la configurazione che viene effettivamente compilato e linkato con il programma, in modo da massimizzare le prestazioni, e da queste parti certe cose le apprezziamo. </p>
	<p>Ma il vero motivo per cui il progetto si merita un link è per le <a href="http://varnish.projects.linpro.no/wiki/ArchitectNotes">Notes from the Architect</a>, ovvero un testo che spiega quali siano le differenze di progettazione tra Varnish e altri software analoghi (in particolare l&#8217;autore usa Squid come esempio).</p>
	<p>Il tipo, oltre ad essere l&#8217;autore della <a href="http://en.wikipedia.org/wiki/Beerware">beerware license</a> comunemente usata, è un programmatore di lunga data, si è scritto una sua <tt>malloc()</tt>, e ha trafficato a lungo nel kernel di freebsd, quindi assumiamo sia una persona vagamente competente. </p>
	<p>Cosa si dice nelle note architetturali?<br />
Il testo è interessante, perché sostiene che molti dei programmi attuali sono scritti in uno stile obsoleto che aveva senso 30 anni fa ma che ora fa più danni che bene<br />
Ad esempio, i software non fanno affidamento sulle <acronym title="Virtual Memory">VM</acronym> dei sistemi operativi moderni, e cercano di gestire da se la paginazione su disco della cache, creando un overhead notevole senza alcun guadagno, dato che i kernel sono perfettamente in grado di capire cosa swappare e cosa no (e le cpu supportano in hardware certe cose da una vita).<br />
Inoltre, i sistemi SMP/SMT moderni e le ampie cache on die impongono uno stile di programmazione differente dai vecchi 386, che non viene sfruttato, e spesso neanche gestito, da certi software.</p>
	<p>Insomma, dateci una letta. Certo, non c&#8217;è neanche un benchmark quindi potrebbe essere tutta fuffa, ma d&#8217;altronde, anche i benchmark sono fuffa, no? <img src='http://riffraff.blogsome.com/wp-images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />
</p>
]]></content:encoded>
			<wfw:commentRss>http://riffraff.blogsome.com/2007/04/02/varnish-programmare-nel-terzo-millennio/feed/</wfw:commentRss>
	</item>
		<item>
		<title>Pagety, CMS hosted</title>
		<link>http://riffraff.blogsome.com/2007/03/24/pagety-cms-hosted/</link>
		<comments>http://riffraff.blogsome.com/2007/03/24/pagety-cms-hosted/#comments</comments>
		<pubDate>Sat, 24 Mar 2007 16:48:00 +0000</pubDate>
		<dc:creator>gabriele</dc:creator>
		
	<category>linux</category>
	<category>web</category>
		<guid>http://riffraff.blogsome.com/2007/03/24/pagety-cms-hosted/</guid>
		<description><![CDATA[	Altro lancio di web app italica sul mercato globale, pagety.
	On rails, se l&#8217;autore è rimasto in linea con 16 bugs e non è andato a esplorare strani nuovi lidi.
	Non gli ho ancora dato un&#8217;occhiata, ma da luca c&#8217;è uno screencast. Notare che 
	
	 la società è italiana
	 il prodotto è in inglese, ci sono miliardi [...]]]></description>
			<content:encoded><![CDATA[	<p>Altro lancio di web app italica sul mercato globale, <a href="http://pagety.com/">pagety</a>.</p>
	<p>On rails, se <a href="http://finotto.org/">l&#8217;autore </a>è rimasto in linea con <a href="http://16bugs.com/">16 bugs</a> e non è andato a esplorare strani nuovi lidi.</p>
	<p>Non gli ho ancora dato un&#8217;occhiata, ma da <a href="http://ita.spazidigitali.com/2007/03/24/pagety/">luca</a> c&#8217;è uno screencast. Notare che </p>
	<ul>
	<li> la società è italiana</li>
	<li> il prodotto è in inglese, ci sono miliardi di utenti potenziali (ma ha sempre senso un po&#8217; di i18n, imo)</li>
	<li> non è una copia di un servizio che già esiste</li>
	</ul>
	<p>Questo, solo per riflettere sull&#8217;idea di <a href="http://it.blogbabel.com/search/entries/naviga%20italiano/">navigare italiano</a>, sul fatto che i programmatori bravi non ci sono in italia e costano tanto e non conoscono le tecnologie moderne e <a href="http://blog.camisani.com/2007/03/fare-limprenditore-nel-web-20.html">quanto è difficile fare l&#8217;imprenditore in italia</a>.
</p>
]]></content:encoded>
			<wfw:commentRss>http://riffraff.blogsome.com/2007/03/24/pagety-cms-hosted/feed/</wfw:commentRss>
	</item>
		<item>
		<title>command not found in Ubuntu Feisty</title>
		<link>http://riffraff.blogsome.com/2007/03/21/commond-not-found-in-ubuntu-feisty/</link>
		<comments>http://riffraff.blogsome.com/2007/03/21/commond-not-found-in-ubuntu-feisty/#comments</comments>
		<pubDate>Wed, 21 Mar 2007 23:22:22 +0000</pubDate>
		<dc:creator>gabriele</dc:creator>
		
	<category>linux</category>
	<category>software</category>
		<guid>http://riffraff.blogsome.com/2007/03/21/commond-not-found-in-ubuntu-feisty/</guid>
		<description><![CDATA[	Queste sono le piccole cose che avrebbero dovuto essere in uso da un decennio.
Installando il pacchetto command-not-found, apt verrà in aiuto dell&#8217;utente ogni volta che viene lanciato un comando che non c&#8217;è nel sistema, dicendogli cosa deve installare per usarlo. 
	Semplice e geniale, installato di default nella prossima ubuntu.

]]></description>
			<content:encoded><![CDATA[	<p><a href="https://wiki.ubuntu.com/CommandNotFoundMagic">Queste</a> sono le piccole cose che avrebbero dovuto essere in uso da un decennio.<br />
Installando il pacchetto command-not-found, apt verrà in aiuto dell&#8217;utente ogni volta che viene lanciato un comando che non c&#8217;è nel sistema, dicendogli cosa deve installare per usarlo. </p>
	<p>Semplice e geniale, installato di default nella prossima ubuntu.
</p>
]]></content:encoded>
			<wfw:commentRss>http://riffraff.blogsome.com/2007/03/21/commond-not-found-in-ubuntu-feisty/feed/</wfw:commentRss>
	</item>
		<item>
		<title>Geany, editor/ide leggero per gnome</title>
		<link>http://riffraff.blogsome.com/2007/03/19/geany-editoride-leggero-per-gnome/</link>
		<comments>http://riffraff.blogsome.com/2007/03/19/geany-editoride-leggero-per-gnome/#comments</comments>
		<pubDate>Mon, 19 Mar 2007 00:13:47 +0000</pubDate>
		<dc:creator>gabriele</dc:creator>
		
	<category>gtk</category>
	<category>software</category>
		<guid>http://riffraff.blogsome.com/2007/03/19/geany-editoride-leggero-per-gnome/</guid>
		<description><![CDATA[	Mio fratello deve fare un progettino lavorando con i pthread (brr..) e purtroppo non è ancora in grado di lavorare con VIm, per cui mi sono messo a cercare un qualcosa che fosse un po&#8217; più user friendly, e che avesse un filino di funzionalità in più di gedit (leggasi: i bottoni &#8220;compile&#8221; e &#8220;execute&#8221;).
	Frugando [...]]]></description>
			<content:encoded><![CDATA[	<p>Mio fratello deve fare un progettino lavorando con i pthread (brr..) e purtroppo non è ancora in grado di lavorare con VIm, per cui mi sono messo a cercare un qualcosa che fosse un po&#8217; più user friendly, e che avesse un filino di funzionalità in più di gedit (leggasi: i bottoni &#8220;compile&#8221; e &#8220;execute&#8221;).</p>
	<p>Frugando in apt mi è venuto fuori questo <a href="http://geany.uvena.de/">geany</a>, che è un mini-ide basato su gtk2, molto leggero ma abbastanza ben fatto, per quel che ho visto, con code folding, un minimo di autocompletion, syntax highlight, console degli errori di compilazione.. Bravi, 7++ <img src='http://riffraff.blogsome.com/wp-images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />
</p>
]]></content:encoded>
			<wfw:commentRss>http://riffraff.blogsome.com/2007/03/19/geany-editoride-leggero-per-gnome/feed/</wfw:commentRss>
	</item>
		<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>
	</channel>
</rss>
