<?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>Random Bullshit &#187; nerdate</title>
	<atom:link href="http://morpheus.level28.org/category/nerdate/feed/" rel="self" type="application/rss+xml" />
	<link>http://morpheus.level28.org</link>
	<description>Progetto B.L.O.G.</description>
	<lastBuildDate>Sun, 05 Sep 2010 22:34:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>A volte ritornano</title>
		<link>http://morpheus.level28.org/2010/09/a-volte-ritornano/</link>
		<comments>http://morpheus.level28.org/2010/09/a-volte-ritornano/#comments</comments>
		<pubDate>Sun, 05 Sep 2010 22:34:16 +0000</pubDate>
		<dc:creator>morpheus</dc:creator>
				<category><![CDATA[azzurra]]></category>
		<category><![CDATA[nerdate]]></category>

		<guid isPermaLink="false">http://morpheus.level28.org/?p=336</guid>
		<description><![CDATA[Avevo solennemente annunciato la morte per vecchiaia del fork di Bahamut di Azzurra IRC Network e dei relativi Services, ma a quanto pare non avevo tenuto conto di due noiosissimi metodi per rompere i coglioni via IPv6. E così, mi tocca fare gli straordinari (a onor del vero, la parte più rognosa se l&#039;è sbrogliata [...]]]></description>
			<content:encoded><![CDATA[<p>Avevo solennemente annunciato la morte per vecchiaia del fork di Bahamut di Azzurra IRC Network e dei relativi Services, ma a quanto pare non avevo tenuto conto di due noiosissimi metodi per rompere i coglioni via IPv6.</p>
<p>E così, <a href="http://devel.azzurra.org/hg/bahamut/rev/a2a498eb416b" target="_self">mi tocca fare gli straordinari</a> (a onor del vero, <a href="http://devel.azzurra.org/hg/services/rev/fbdca3f8c6cd" target="_self">la parte più rognosa</a> se l&#039;è sbrogliata Sonic :P).</p>
]]></content:encoded>
			<wfw:commentRss>http://morpheus.level28.org/2010/09/a-volte-ritornano/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sadismo</title>
		<link>http://morpheus.level28.org/2010/08/sadismo/</link>
		<comments>http://morpheus.level28.org/2010/08/sadismo/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 19:29:27 +0000</pubDate>
		<dc:creator>morpheus</dc:creator>
				<category><![CDATA[gente di un certo livello]]></category>
		<category><![CDATA[nerdate]]></category>
		<category><![CDATA[stronzate abissali]]></category>

		<guid isPermaLink="false">http://morpheus.level28.org/?p=323</guid>
		<description><![CDATA[Sto leggendo con un certo piacere sadico i post delle persone che s&#039;incazzano per il recente botto di uno degli storage di Tophost. Perché piacere sadico? Perché il 99.9999% delle lamentele proviene da persone che non hanno MAI effettuato un backup del proprio sito e il restante 0.0001% da persone che pretendono di ottenere con [...]]]></description>
			<content:encoded><![CDATA[<p>Sto leggendo con un certo piacere sadico i post delle persone che s&#039;incazzano per <a href="http://www.hostingtalk.it/news/hosting-italiano/7190/tophost-problemi-di-storage-e-perdita-di-alcuni-database-per-gli-account-" target="_blank">il recente botto di uno degli storage di Tophost</a>.</p>
<p>Perché piacere sadico? Perché il <a href="http://twitter.com/search?q=tophost" target="_blank">99.9999%</a> delle lamentele proviene da persone che non hanno MAI effettuato un backup del proprio sito e il restante <a rel="nofollow" href="http://www.newslab.it/mondo/1818-tophost-hosting-revolution-no-servizio-di-hosting-pessimo-inaffidabile-e-rischioso.html" target="_blank">0.0001%</a> da persone che pretendono di ottenere con €8.99+IVA all&#039;anno anche un backup giornaliero. Magari su <a href="http://www-01.ibm.com/software/tivoli/products/storage-mgr/" target="_blank">Tivoli Storage Manager</a>¹, già che ci siamo.</p>
<p>¹ Seeweb fa pagare un backup bisettimanale su TSM €475+IVA all&#039;anno per una singola macchina. Non so quante macchine abbia Tophost per i clienti, ma ho come la sensazione che i costi complessivi siano proibitivi rispetto ai loro prezzi (senza contare che il ripristino di un singolo sito da un backup su TSM è un po&#039;, come dire&#8230; complesso).</p>
]]></content:encoded>
			<wfw:commentRss>http://morpheus.level28.org/2010/08/sadismo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Fuckup of the day</title>
		<link>http://morpheus.level28.org/2010/05/fuckup-of-the-day/</link>
		<comments>http://morpheus.level28.org/2010/05/fuckup-of-the-day/#comments</comments>
		<pubDate>Sat, 22 May 2010 22:43:00 +0000</pubDate>
		<dc:creator>morpheus</dc:creator>
				<category><![CDATA[nerdate]]></category>

		<guid isPermaLink="false">http://morpheus.level28.org/?p=275</guid>
		<description><![CDATA[La nuova versione di BootCamp include un driver HFS+ per Windows. Siccome ho moderatamente paura di lasciar accedere tale accozzaglia di bug (Windows, ovviamente) al mirror della partizione OSX principale ho pensato &#034;bene&#034; di rimuovere la lettera di unità alla partizione. Ecco, non fatelo, perché quella fetenzia per andare sul sicuro cambierà il tipo della [...]]]></description>
			<content:encoded><![CDATA[<p>La nuova versione di BootCamp include un driver HFS+ per Windows. Siccome ho moderatamente paura di lasciar accedere tale accozzaglia di bug (Windows, ovviamente) al mirror della partizione OSX principale ho pensato &#034;bene&#034; di rimuovere la lettera di unità alla partizione.</p>
<p>Ecco, <strong><span style="text-decoration: underline;">non fatelo</span></strong>, perché quella fetenzia per andare sul sicuro cambierà il tipo della partizione da <code>Apple HFS/HFS+</code> a <code>Microsoft Basic Data</code> e ripristinare il tipo corretto è molto, molto, molto complicato (a meno di non usare cose come <a href="http://sourceforge.net/projects/gptfdisk/" target="_self">gptfdisk</a>, ma non lo consiglio ai deboli di cuore).</p>
]]></content:encoded>
			<wfw:commentRss>http://morpheus.level28.org/2010/05/fuckup-of-the-day/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sopravvivere a FreeBSD</title>
		<link>http://morpheus.level28.org/2010/03/sopravvivere-a-freebsd/</link>
		<comments>http://morpheus.level28.org/2010/03/sopravvivere-a-freebsd/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 23:59:18 +0000</pubDate>
		<dc:creator>morpheus</dc:creator>
				<category><![CDATA[nerdate]]></category>

		<guid isPermaLink="false">http://morpheus.level28.org/?p=205</guid>
		<description><![CDATA[10 consigli sparsi per il sysadmin che dopo svariati anni alle prese con Debian (qualcuno usa gentoo in produzione? &#60;g&#62;) si trova a combattere con FreeBSD: ZFS è buono, ZFS è bello, ZFS è tuo amico; &#8230;purchè la macchina abbia almeno 2 GB di memoria fisica (1 GB se sai mettere mano a vm.kmem_size e [...]]]></description>
			<content:encoded><![CDATA[<p>10 consigli sparsi per il sysadmin che dopo svariati anni alle prese con Debian (qualcuno usa gentoo in produzione? &lt;g&gt;) si trova a combattere con <a href="http://www.freebsd.org/" target="_blank">FreeBSD</a>:</p>
<ol>
<li>ZFS è buono, ZFS è bello, ZFS è tuo amico;</li>
<li>&#8230;purchè la macchina abbia almeno 2 GB di memoria <em>fisica</em> (1 GB se sai mettere mano a <code>vm.kmem_size</code> e compari e l&#039;I/O load non è particolarmente elevato);</li>
<li>se hai un po&#039; di fegato e tempo da perdere puoi <a href="http://wiki.freebsd.org/RootOnZFS/" target="_blank">installare l&#039;OS su ZFS</a>, altrimenti non pensarci e continua ad usare UFS;</li>
<li><a href="http://www.freebsd.org/cgi/man.cgi?query=portsnap&amp;apropos=0&amp;sektion=0&amp;manpath=FreeBSD+8.0-RELEASE&amp;format=html" target="_blank">portsnap</a> evita ulcere, cvsup le causa;</li>
<li><code>make config-recursive</code> è cosa buona e giusta;</li>
<li><a href="http://www.freebsd.org/cgi/url.cgi?ports/ports-mgmt/portupgrade/pkg-descr" target="_blank">portupgrade</a> ha delle dipendenze ignobili, ma è una mano santa;</li>
<li><a href="http://www.freebsd.org/cgi/url.cgi?ports/sysutils/ezjail/pkg-descr" target="_blank">ezjail</a> usato con ZFS è una goduria;</li>
<li>xntpd e le jail non vanno proprio d&#039;accordo, meglio OpenNTPD;</li>
<li><a href="http://www.freebsd.org/cgi/man.cgi?query=freebsd-update&amp;apropos=0&amp;sektion=0&amp;manpath=FreeBSD+8.0-RELEASE&amp;format=html" target="_blank">freebsd-update</a> ti toglie la scusa del tempo <strike>da perdere</strike> libero per via di <code>make buildworld</code> ma evita parecchie rotture di palle;</li>
<li>last but not least, <acronym title="Read The Fucking Manual">RTFM</acronym>. Sempre e comunque.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://morpheus.level28.org/2010/03/sopravvivere-a-freebsd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Murky</title>
		<link>http://morpheus.level28.org/2010/02/murky/</link>
		<comments>http://morpheus.level28.org/2010/02/murky/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 09:40:58 +0000</pubDate>
		<dc:creator>morpheus</dc:creator>
				<category><![CDATA[nerdate]]></category>
		<category><![CDATA[mercurial]]></category>
		<category><![CDATA[murky]]></category>

		<guid isPermaLink="false">http://morpheus.level28.org/?p=115</guid>
		<description><![CDATA[Mercurial è indubbiamente uno dei migliori DVCS attualmente in circolazione, è semplice da usare, si integra bene con i miei tool preferiti (fondamentalmente TextMate) ed è scritto in Python. Ha un&#039;unica pecca: la gui integrata (hgk) è una versione ridotta all&#039;osso di gitk. E qui entra in scena Murky. Murky è un piccolo gioiello scritto [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-114 alignleft" title="murky icon" src="http://morpheus.level28.org/wp-content/uploads/2010/02/murky_icn.png" alt="Murky icon" width="110" height="110" /><a href="http://mercurial.selenic.com/" target="_blank">Mercurial</a> è indubbiamente uno dei migliori <acronym title="Distributed Version Control System">DVCS</acronym> attualmente in circolazione, è semplice da usare, si integra bene con i miei tool preferiti (fondamentalmente <a href="http://macromates.com/" target="_blank">TextMate</a>) ed è scritto in Python.</p>
<p>Ha un&#039;unica pecca: la gui integrata (<a href="http://mercurial.selenic.com/wiki/HgkExtension" target="_blank">hgk</a>) è una versione ridotta all&#039;osso di gitk.<br />
E qui entra in scena <a href="http://bitbucket.org/snej/murky/wiki/Home" target="_blank">Murky</a>.</p>
<p>Murky è un piccolo gioiello scritto in Objective-C che permette non solo di navigare comodamente il revision tree di un repository, ma anche gestirlo con pochi click (ad esempio eseguire push &amp; pull, aggiornare la working directory, clonare repository, crearne nuovi, ecc. ecc.). L&#039;interfaccia è molto pulita: da una semplice occhiata è possibile vedere qual è il branch attivo, come sono distribuiti i vari fork e selezionando una revisione è possibile vedere quali file sono stati modificati all&#039;interno di quella revisione (oltre al revision log).</p>
<div id="attachment_113" class="wp-caption aligncenter" style="width: 310px"><a href="http://morpheus.level28.org/wp-content/uploads/2010/02/murky.jpg"><img class="size-medium wp-image-113" title="murky" src="http://morpheus.level28.org/wp-content/uploads/2010/02/murky-300x179.jpg" alt="Murky" width="300" height="179" /></a><p class="wp-caption-text">Murky in azione</p></div>
<p>Se proprio vogliamo essere pignoli, l&#039;unica pecca è l&#039;assenza di feature avanzate come bundle/unbundle, import/export e outgoing/incoming, ma dato che il progetto è opensource (BSD license!) ed è solo alla versione 0.7.1 con molta probabilità verranno aggiunte nelle prossime release (oppure potete metterci mano da soli :P).</p>
<p>PS: astenersi da flame &#034;git VS mercurial&#034;, &#034;python VS ruby&#034;, &#034;$editor VS TextMate&#034;, &#034;osx VS $os&#034;, &#034;xin VS tutti&#034;.</p>
]]></content:encoded>
			<wfw:commentRss>http://morpheus.level28.org/2010/02/murky/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Migrazione (e due)</title>
		<link>http://morpheus.level28.org/2010/02/migrazione-e-due/</link>
		<comments>http://morpheus.level28.org/2010/02/migrazione-e-due/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 00:24:44 +0000</pubDate>
		<dc:creator>morpheus</dc:creator>
				<category><![CDATA[nerdate]]></category>

		<guid isPermaLink="false">http://morpheus.level28.org/?p=83</guid>
		<description><![CDATA[Mi ero un po&#039; rotto le scatole di Serendipity, quindi ho deciso all&#039;unanimità di sostituirlo con wordpress. C&#039;è da aspettarsi un po&#039; di casino (vecchi link sputtanati, commenti totalmente persi &#8211; complimenti all&#039;autore di serendipity&#8230; &#8211; Facebook che reimporta i vecchi post, ecc. ecc.), ma prima o poi tutto si stabilizzerà. Forse&#8230;]]></description>
			<content:encoded><![CDATA[<p>Mi ero un po&#039; rotto le scatole di Serendipity, quindi ho deciso all&#039;unanimità di sostituirlo con <a href="http://wordpress.org/" target="_blank">wordpress</a>.<br />
C&#039;è da aspettarsi un po&#039; di casino (vecchi link sputtanati, commenti totalmente persi &#8211; complimenti all&#039;autore di serendipity&#8230; &#8211; Facebook che reimporta i vecchi post, ecc. ecc.), ma prima o poi tutto si stabilizzerà.</p>
<p>Forse&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://morpheus.level28.org/2010/02/migrazione-e-due/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>All&#039;Aquila, poi&#8230; e poi?</title>
		<link>http://morpheus.level28.org/2009/09/allaquila-poi-e-poi/</link>
		<comments>http://morpheus.level28.org/2009/09/allaquila-poi-e-poi/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 12:38:37 +0000</pubDate>
		<dc:creator>morpheus</dc:creator>
				<category><![CDATA[gente di un certo livello]]></category>
		<category><![CDATA[nerdate]]></category>
		<category><![CDATA[stronzate abissali]]></category>

		<guid isPermaLink="false">http://morpheus.level28.org/archives/73-guid.html</guid>
		<description><![CDATA[Tratto dalle frasi di Bertolaso riportate da ilCapoluogo.it, la dimensione &#232; direttamente proporzionale alla frequenza di una parola (al solito, cliccate per ingrandire): Image made with Wordle.]]></description>
			<content:encoded><![CDATA[<p>Tratto dalle frasi di Bertolaso riportate da <a href="http://www.ilcapoluogo.com/e107_plugins/content/content.php?content.20002" target="_blank">ilCapoluogo.it</a>, la dimensione &egrave; direttamente proporzionale alla frequenza di una parola (al solito, cliccate per ingrandire):</p>
<div style="text-align: center"><a href="http://morpheus.level28.org/uploads/bertowordle.png"><!-- s9ymdb:28 --><img width="300" height="176" style="border: 0px; padding-left: 5px; padding-right: 5px;" src="http://morpheus.level28.org/uploads/bertowordle.serendipityThumb.png" alt="" /></a></div>
<p>Image made with <a href="http://www.wordle.net/" target="_blank">Wordle</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://morpheus.level28.org/2009/09/allaquila-poi-e-poi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dupefind</title>
		<link>http://morpheus.level28.org/2009/09/dupefind/</link>
		<comments>http://morpheus.level28.org/2009/09/dupefind/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 02:12:25 +0000</pubDate>
		<dc:creator>morpheus</dc:creator>
				<category><![CDATA[nerdate]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://morpheus.level28.org/archives/72-guid.html</guid>
		<description><![CDATA[Come promesso, ecco gli orrendi sorgenti dell&#039;applicazione che ho usato per generare l&#039;elenco dei codici fiscali duplicati (che non ho pubblicato &#8211; rompipalle s&#236;, aspirante suicida ancora no) e il grafico &#034;semianonimo&#034; delle relazioni tra duplicati. Riporto il contenuto del README per maggiore chiarezza: ******************************************* * Graduatorie alloggi - Ricerca duplicati * ******************************************* ======= NOTA [...]]]></description>
			<content:encoded><![CDATA[<p>Come promesso, ecco gli <a href="dupefind.tar.gz">orrendi sorgenti</a> dell&#039;applicazione che ho usato per generare l&#039;elenco dei codici fiscali duplicati (che non ho pubblicato &#8211; rompipalle s&igrave;, aspirante suicida ancora no) e il grafico &#034;semianonimo&#034; delle relazioni tra duplicati.</p>
<p>Riporto il contenuto del README per maggiore chiarezza:</p>
<pre class="code">*******************************************
* Graduatorie alloggi - Ricerca duplicati *
*******************************************

======= NOTA =======
I PDF contenenti gli elenchi sono stati scaricati da ilCapoluogo.it il
20-09-2009 tra le 15:40 e le 15:49, siete liberi di sostituirli con eventuali
elenchi aggiornati ma NON vi garantisco che questo coso continui a funzionare.
Se li sostituite, aggiornate il Makefile.

======= DISCLAIMER =======
I DATI PRODOTTI DA QUESTO SOFTWARE NON HANNO IL MINIMO VALORE LEGALE.
ZERO. NADA. NISBA.
Toglietevi subito dalla testa di usarlo per fare esposti, denunce o simili.
Ricontrollate SEMPRE *SEMPRE* _*SEMPRE*_ i dati prodotti dal software
confrontandoli manualmente con gli elenchi in PDF.
NON MI ASSUMO NESSUNA RESPONSABILITA` IN CASO DI DANNI A
PERSONE/COSE/ANIMALI/AMMINISTRATORI/COMMISSARI STRAORDINARI DERIVANTI DALL&#039;USO
PROPRIO O IMPROPRIO DI QUESTO SOFTWARE.
Se il software tira fuori il vostro nome/codice fiscale: CAZZI VOSTRI!
Gli elenchi sono pubblici (Albo Pretorio del Comune) e nessuno vi ha accusato di
alcunche&#039;, risultate solo come duplicati nelle domande.
Se questo vi comporta noia - ripeto - CAZZI VOSTRI!

======= REQUISITI DI SISTEMA =======
  * Bash (cio` implica un sistema *NIX, non garantisco nulla per cygwin)
  * GNU Make
  * GNU Grep
  * Python >=2.5 ma NON 3.x
  * python-lxml
  * python-yapgvb
  * poppler (poppler-utils su debian/ubuntu)

======= UTILIZZO =======
Digitate &#039;make&#039;. Tutto qui.
Otterrete due file interessanti:
  * duplicati.txt: l&#039;elenco dei codici fiscali duplicati e relativi
    intestatari delle domande a cui appartengono;
  * duplicati.svg: il diagramma "semianonimo" con i grafi delle relazioni tra
    duplicati.

Se volete deanonimizzare il grafo, modificate duplicati.py.
Se non sapete come farlo, attaccatevi.

 -- 21 Sett. 2009, Matteo Panella</pre>
]]></content:encoded>
			<wfw:commentRss>http://morpheus.level28.org/2009/09/dupefind/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Graduatorie alloggi: un&#039;analisi (molto) artigianale</title>
		<link>http://morpheus.level28.org/2009/09/graduatorie-alloggi-unanalisi-molto-artigianale/</link>
		<comments>http://morpheus.level28.org/2009/09/graduatorie-alloggi-unanalisi-molto-artigianale/#comments</comments>
		<pubDate>Sun, 20 Sep 2009 23:15:24 +0000</pubDate>
		<dc:creator>morpheus</dc:creator>
				<category><![CDATA[gente di un certo livello]]></category>
		<category><![CDATA[nerdate]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[real life]]></category>

		<guid isPermaLink="false">http://morpheus.level28.org/archives/71-guid.html</guid>
		<description><![CDATA[Di come vanno le cose per le C.A.S.E. e per i MAP &#8211; onestamente &#8211; non me ne dovrebbe fregare più di tanto, ho il garage agibile e vivrò lì finchè non avrò finito i lavori a casa. Però dopo aver letto le dichiarazioni di Fabio Pelini (PRC-SE), mi sono preso la briga di post-elaborare [...]]]></description>
			<content:encoded><![CDATA[<p>Di come vanno le cose per le C.A.S.E. e per i MAP &#8211; onestamente &#8211; non me ne dovrebbe fregare più di tanto, ho il garage agibile e vivrò lì finchè non avrò finito i lavori a casa.<br />
Però dopo aver letto le <a href="http://www.ilcapoluogo.com/e107_plugins/content/content.php?content.19807" target="_blank">dichiarazioni di Fabio Pelini (PRC-SE)</a>, mi sono preso la briga di post-elaborare anche io le graduatorie (con un metodo complicato &#8211; prima o poi posterò il software che ho scritto e usato) &#034;per vedere l&#039;effetto che fa&#034;.</p>
<p>Intanto cominciamo subito con un paio di perle d&#039;annata: il signor <strong>D&#039;AL√≤</strong> (sì, avete letto bene: &#034;D&#039;AL-RADICEQUADRATA-MINOREUGUALE&#034;) e un certo signor &#034;MARTINELLI&#034; privo di nome e con un codice fiscale che non ha nulla a che vedere con quel cognome.<br />
Ma questo non è niente: il risultato di questa analisi artigianale è che su <strong>23073</strong> codici fiscali <strong><span style="text-decoration: underline;">OTTANTASEI</span></strong> sono duplicati!</p>
<p>Ebbene sì, c&#039;è gente che compare in più nuclei familiari, oppure ha presentato una domanda ma si trova nel nucleo familiare di un&#039;altra domanda o addirittura ha presentato due domande. Il caso più eclatante è di due intestatari di una domanda, entrambi beneficiari di un alloggio presso le C.A.S.E.: uno figura nel nucleo familiare dell&#039;altro e viceversa!</p>
<p>Non ci credete? Ho preparato un <a href="http://morpheus.level28.org/duplicati.svg" target="_blank">diagramma in SVG</a> che illustra in forma di grafi i &#034;duplicati&#034; e le relazioni che intercorrono tra loro.<br />
I rettangoli rappresentano gli intestatari delle domande, le ellissi le persone che figurano solo come componenti di nuclei, gli archi uscenti da un nodo indicano l&#039;appartenenza al nucleo familiare di una domanda ed i colori indicano la graduatoria in cui è presente l&#039;intestatario:</p>
<ol>
<li>Rosso → beneficiario C.A.S.E.</li>
<li>Blu → beneficiario MAP</li>
<li>Ciano → in attesa di collocazione</li>
<li>Verde → non beneficiario</li>
</ol>
<p>Nel caso di domande multiple, il colore indica la domanda con assegnazione &#034;maggiore&#034; (secondo l&#039;ordine dell&#039;elenco precedente).<br />
I rettangoli isolati non sono errori (domanda doppia), né i doppi archi tra due nodi (vuol dire essenzialmente che l&#039;intestatario ha presentato due domande).<br />
Per scrupolo (leggasi: per evitare legnate), ho ritenuto opportuno sostituire i codici fiscali con una stringa semicasuale univoca.</p>
<p>Nel caso non abbiate un browser in grado di visualizzare SVG eccovi una versione ridottissima dell&#039;immagine (cliccate per ingrandire):<br />
<a href="'http://morpheus.level28.org/uploads/duplicati.png'"><!-- s9ymdb:27 --><img style="border: 1px solid; padding-left: 5px; padding-right: 5px;" src="http://morpheus.level28.org/uploads/duplicati.serendipityThumb.png" alt="Diagramma dei duplicati" width="300" height="281" /></a></p>
<p>&#034;Buona&#034; visione!</p>
]]></content:encoded>
			<wfw:commentRss>http://morpheus.level28.org/2009/09/graduatorie-alloggi-unanalisi-molto-artigianale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beyond TN1150: hard link chains and directory hard links</title>
		<link>http://morpheus.level28.org/2009/08/beyond-tn1150-hard-link-chains-and-directory-hard-links/</link>
		<comments>http://morpheus.level28.org/2009/08/beyond-tn1150-hard-link-chains-and-directory-hard-links/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 18:08:41 +0000</pubDate>
		<dc:creator>morpheus</dc:creator>
				<category><![CDATA[nerdate]]></category>

		<guid isPermaLink="false">http://morpheus.level28.org/archives/69-guid.html</guid>
		<description><![CDATA[This fairly long post requires a detailed knowledge of HFS+ internals. If you don&#039;t know what I am talking about, just skip it. Apple&#039;s HFS+ has mostly been stable throughout its life, with few major changes (journaling, HFSX, extended metadata, named forks). It is also very well documented, unlike some other proprietary filesystems I won&#039;t [...]]]></description>
			<content:encoded><![CDATA[<p><strong>This fairly long post requires a detailed knowledge of HFS+ internals.<br />
If you don&#039;t know what I am talking about, just skip it.</strong></p>
<p>Apple&#039;s HFS+ has mostly been stable throughout its life, with few major changes (journaling, HFSX, extended metadata, named forks). It is also <a href="http://developer.apple.com/technotes/tn/tn1150.html" target="_blank">very well documented</a>, unlike some other proprietary filesystems I won&#039;t name.<br />
With OSX 10.5, Apple introduced Time Machine and threw in the mix two new undocumented HFS+ objects: <em>hard link chains</em> and <em>directory hard links</em>.</p>
<p>The first are a natural extension of the so-called <a href="http://developer.apple.com/technotes/tn/tn1150.html#HardLinks" target="_blank">hard link indirect inodes</a>, they just have a new bit (0&#215;020) set in the catalog entry flags to signal that the indirect inode is part of a double-linked list whose elements are <strong>all</strong> indirect inodes pointing to the same file. This has other ramification into link management and namei resolution which I won&#039;t discuss here &#8211; if you&#039;re curious I suggest you read the source code of XNU&#039;s hfs driver <a href="http://opensource.apple.com/source/xnu/xnu-1228.15.4/bsd/hfs/" target="_blank">here</a> (unless you want to port this feature to other OSes without incurring in Apple&#039;s wrath).<br />
The file hard linking mechanism is exactly like the one from 10.3 (eg. old inode is moved into the filesystem&#039;s private metadata directory and named iNode%u, etc.). Owner ID and group ID fields are used as list pointers (previous and next element, respectively).</p>
<p>Directory hard linking, instead, is a whole new and inherently dangerous beast: they can be created only under specific circumstances and <em>should not be created or modified by anything other than Time Machine and fsck.hfs</em>.<br />
The VFS on 10.5 sees these links as plain directories, and pre-10.5 systems see them as directory aliases. No other OS with HFS+ support is able to resolve them.</p>
<p>Let&#039;s take a closer look.<br />
Directory hard links are in fact indirect hard link inodes: unlike file hard links, they <strong>must</strong> be part of an hard link chain, have different finder type and creator codes (&#039;fdrp&#039; and &#039;MACS&#039; respectively), and have a resource fork which allows pre-10.5 systems to access the real directory.<br />
The real directory itself is moved into a special top-level directory called &#034;.HFS+ Private Directory Data\xd&#034; and renamed dir_%u (where %u is its catalog id &#8211; inode number in UNIX parlance). It also gets a special extended attribute (com.apple.system.hfs.firstlink) pointing to the head of the link chain.<br />
Like file hard links, the target inode number is stored in place of the link count field and the creation date is set to the filesystem creation date.</p>
<p>The resolution process is fairly straightforward, but that will be fodder for another entry :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://morpheus.level28.org/2009/08/beyond-tn1150-hard-link-chains-and-directory-hard-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>All your deadlocks are belong to us</title>
		<link>http://morpheus.level28.org/2009/02/all-your-deadlocks-are-belong-to-us/</link>
		<comments>http://morpheus.level28.org/2009/02/all-your-deadlocks-are-belong-to-us/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 23:20:39 +0000</pubDate>
		<dc:creator>morpheus</dc:creator>
				<category><![CDATA[gente di un certo livello]]></category>
		<category><![CDATA[nerdate]]></category>
		<category><![CDATA[post a caso]]></category>

		<guid isPermaLink="false">http://morpheus.level28.org/archives/61-guid.html</guid>
		<description><![CDATA[http://www.patentstorm.us/patents/5764976/fulltext.html]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.patentstorm.us/patents/5764976/fulltext.html" target="_blank">http://www.patentstorm.us/patents/5764976/fulltext.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://morpheus.level28.org/2009/02/all-your-deadlocks-are-belong-to-us/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VirtualBox 2.1</title>
		<link>http://morpheus.level28.org/2008/12/virtualbox-2-1/</link>
		<comments>http://morpheus.level28.org/2008/12/virtualbox-2-1/#comments</comments>
		<pubDate>Fri, 19 Dec 2008 11:09:46 +0000</pubDate>
		<dc:creator>morpheus</dc:creator>
				<category><![CDATA[nerdate]]></category>

		<guid isPermaLink="false">http://morpheus.level28.org/archives/54-guid.html</guid>
		<description><![CDATA[Here&#039;s a small excerpt from the ChangeLog: Support for hardware virtualization (VT-x and AMD-V) on Mac OS X hosts Support for 64-bit guests on 32-bit host operating systems (experimental) Experimental 3D acceleration via OpenGL Full VMDK/VHD support including snapshots New Host Interface Networking implementations for Windows and Linux hosts with easier setup (replaces TUN/TAP on [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#039;s a small excerpt from the ChangeLog:
<ul>
<li>Support for hardware virtualization (VT-x and AMD-V) on Mac OS X hosts</li>
<li>Support for 64-bit guests on 32-bit host operating systems (experimental)</li>
<li>Experimental 3D acceleration via OpenGL</li>
<li>Full VMDK/VHD support including snapshots</li>
<li>New Host Interface Networking implementations for Windows and Linux hosts with easier setup (replaces TUN/TAP on Linux and manual bridging on Windows)</li>
</ul>
<p><a href="http://www.sun.com/software/products/virtualbox/get.jsp" target="_blank">Get it</a>. Now.</p>
]]></content:encoded>
			<wfw:commentRss>http://morpheus.level28.org/2008/12/virtualbox-2-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thread, semafori e DTrace</title>
		<link>http://morpheus.level28.org/2008/11/thread-semafori-e-dtrace/</link>
		<comments>http://morpheus.level28.org/2008/11/thread-semafori-e-dtrace/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 11:04:16 +0000</pubDate>
		<dc:creator>morpheus</dc:creator>
				<category><![CDATA[nerdate]]></category>
		<category><![CDATA[univaq]]></category>

		<guid isPermaLink="false">http://morpheus.level28.org/archives/50-guid.html</guid>
		<description><![CDATA[Ovvero come perdere mezz&#039;ora abbondante per vedere come interagiscono dei thread/processi (entità schedulabili, va) di un esercizio di Sistemi Operativi. Molti probe (praticamente tutti tranne i primi due) sono definiti nel programma per evitare di dover usare fbt e/o pid e di dover tirar dentro i dati tramite copyin(). Se non capisci un cazzo di [...]]]></description>
			<content:encoded><![CDATA[<p>Ovvero come perdere mezz&#039;ora abbondante per vedere come interagiscono dei thread/processi (entità schedulabili, va) di un esercizio di Sistemi Operativi.<br />
Molti probe (praticamente tutti tranne i primi due) sono definiti nel programma per evitare di dover usare fbt e/o pid e di dover tirar dentro i dati tramite copyin().</p>
<p>Se non capisci un cazzo di DTrace ti consiglio di leggere <a href="http://www.sun.com/software/solaris/howtoguides/dtracehowto.jsp">qui</a>.</p>
<pre class="code">#!/usr/bin/dtrace -s

/* Problema dei baristi - semaphore monitor
 * vim:ts=4:et:
 */

#pragma D option quiet

uint64_t main_ts;

/* Establish time baseline */
pid$target:a.out:main:entry
{
    self->pr_id = pid;
    main_ts = timestamp;
    printf("0 -3 start\n");
}

proc:::exit
/self->pr_id &&amp; pid == self->pr_id/
{
    ts = timestamp - main_ts;
    printf("%u -3 end\n", ts);
}

/* Probes for consumer threads */
cliente$target:::start
{
    ts = timestamp - main_ts;
    self->traceme = 1;
    self->cid = arg0;
    printf("%u %d start\n", ts, self->cid);
}

cliente$target:::leave
{
    ts = timestamp - main_ts;
    printf("%u %d leave\n", ts, self->cid);
    self->traceme = 0;
}

/* Probe for producer threads */
barista$target:::start
{
    ts = timestamp - main_ts;
    self->traceme = 1;
    self->cid = (int) arg0;
    printf("%u %d start\n", ts, self->cid);
}

/* Probes for semaphore wait - before semop() call */
sem$target:::wait_enter
/self->traceme/
{
    ts = timestamp - main_ts;
    printf("%u %d wait %d\n", ts, self->cid, arg0);
}

/* after semop() call (non-blocking call or wakeup) */
sem$target:::wait_leave
/self->traceme/
{
    ts = timestamp - main_ts;
    printf("%u %d eow %d\n", ts, self->cid, arg0);
}

/* Record sem_signal calls as well */
sem$target:::signal
/self->traceme/
{
    ts = timestamp - main_ts;
    printf("%u %d signal %d\n", ts, self->cid, arg0);
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://morpheus.level28.org/2008/11/thread-semafori-e-dtrace/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Whoa&#8230;</title>
		<link>http://morpheus.level28.org/2008/09/whoa/</link>
		<comments>http://morpheus.level28.org/2008/09/whoa/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 22:07:35 +0000</pubDate>
		<dc:creator>morpheus</dc:creator>
				<category><![CDATA[nerdate]]></category>

		<guid isPermaLink="false">http://morpheus.level28.org/archives/46-guid.html</guid>
		<description><![CDATA[Se qualcuno vi dice di avere le prove che gli ufo esistono, forse dovrebbe vedere questo video&#8230;]]></description>
			<content:encoded><![CDATA[<p>Se qualcuno vi dice di avere le prove che gli ufo esistono, <a href="http://current.com/items/89204971_death_star_over_san_francisco" target="_blank">forse dovrebbe vedere questo video</a>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://morpheus.level28.org/2008/09/whoa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IPv6</title>
		<link>http://morpheus.level28.org/2008/09/ipv6/</link>
		<comments>http://morpheus.level28.org/2008/09/ipv6/#comments</comments>
		<pubDate>Tue, 02 Sep 2008 09:10:50 +0000</pubDate>
		<dc:creator>morpheus</dc:creator>
				<category><![CDATA[nerdate]]></category>

		<guid isPermaLink="false">http://morpheus.level28.org/archives/40-guid.html</guid>
		<description><![CDATA[Da oggi il blog è visibile anche per gli utonti utenti con IPv6. L&#039;hostname resta lo stesso, magari se non risolvete l&#039;indirizzo IPv6 aspettate 48 ore o flushate la vostra cache DNS :)]]></description>
			<content:encoded><![CDATA[<p>Da oggi il blog è visibile anche per gli <strike>utonti</strike> utenti con IPv6.<br />
L&#039;hostname resta lo stesso, magari se non risolvete l&#039;indirizzo IPv6 aspettate 48 ore o flushate la vostra cache DNS :)</p>
]]></content:encoded>
			<wfw:commentRss>http://morpheus.level28.org/2008/09/ipv6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
