<?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>Fabio Falcinelli &#187; Stuff</title>
	<atom:link href="http://www.fabiofalcinelli.it/category/photography/stuff/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fabiofalcinelli.it</link>
	<description>A mix of code and photos...</description>
	<lastBuildDate>Sat, 29 May 2010 12:16:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>JNI su HP-UX, le dimensioni dello stack contano</title>
		<link>http://www.fabiofalcinelli.it/2010/03/jni-su-hp-ux-le-dimensioni-dello-stack-contano/</link>
		<comments>http://www.fabiofalcinelli.it/2010/03/jni-su-hp-ux-le-dimensioni-dello-stack-contano/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 18:39:00 +0000</pubDate>
		<dc:creator>Fabio</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Information Technology]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Stuff]]></category>
		<category><![CDATA[BoKS]]></category>
		<category><![CDATA[HP-UX]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JNI]]></category>
		<category><![CDATA[pthread]]></category>
		<category><![CDATA[Stacksize]]></category>
		<category><![CDATA[tusc]]></category>

		<guid isPermaLink="false">http://www.fabiofalcinelli.it/?p=355</guid>
		<description><![CDATA[Arrugginito forse un po&#8217;, quando si passa tanto tempo a fare altro ci si dimentica di avere anche uno spazio web dove annotare quei piccoli successi che potrebbero tornare utili ad altri, ma anche a te semmai te ne dovessi dimenticare :) Il problema di fondo era che la chiamata JNI_CreateJavaVM produceva il segnale SIGABRT [...]]]></description>
			<content:encoded><![CDATA[<p>Arrugginito forse un po&#8217;, quando si passa tanto tempo a fare altro ci si dimentica di avere anche uno spazio web dove annotare quei piccoli successi che potrebbero tornare utili ad altri, ma anche a te semmai te ne dovessi dimenticare :)</p>
<p>Il problema di fondo era che la chiamata JNI_CreateJavaVM produceva il segnale SIGABRT quando invocato all&#8217;interno di un altro framework, nello specifico stavo utilizzando l&#8217;SDK BoKS.</p>
<p>La porzione di codice interessata, a parte dovuti accorgimenti, era del tutto coerente con quanto riportato da HP al link</p>
<p><a href="http://www.docs.hp.com/en/JAVAPROGUIDE/JNI_java2.html" target="_blank">http://www.docs.hp.com/en/JAVAPROGUIDE/JNI_java2.html</a></p>
<p>Provando ad utilizzare i parametri di inizializzazione della VM più svariati non si è cavato un ragno dal buco, seguendo comunque le linee guida riportate qui <a href="http://www.docs.hp.com/en/JAVAPROGUIDE/JNI_java2.html#primordial ">http://www.docs.hp.com/en/JAVAPROGUIDE/JNI_java2.html#primordial</a>, si è ipotizzato da subito un problema con lo stacksize su HP-UX, su Solaris, infatti, non erano stati riscontrati problemi di sorta.</p>
<p>Una sessione con <strong>tusc</strong> ha confermato quanto supposto:</p>
<div class="codecolorer-container bash twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">19196</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #666666; font-style: italic;">#6 kwakeup(PTH_CONDVAR_OBJECT, 0x60000000000ea400, WAKEUP_ONE, 0x9fffffff7f63cb50) = 0</span><br />
<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">19196</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #666666; font-style: italic;">#2 ksleep(PTH_CONDVAR_OBJECT, 0x60000000000ea400, 0x60000000000d75b8, NULL) = 0</span><br />
<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">19196</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #666666; font-style: italic;">#6 gettimeofday(0x9fffffff7f63cb30, NULL) ........ = 0</span><br />
<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">19196</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #666666; font-style: italic;">#2 write(1, 0x9fffffffef4c0400, 43) .............. = 43</span><br />
E r r o r &nbsp; o c c u r r e d &nbsp; d u r i n g &nbsp; i n i t i a l i z a<br />
t i o n &nbsp; o f &nbsp; V M \n<br />
<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">19196</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #666666; font-style: italic;">#2 write(1, 0x60000000001683a0, 28) .............. = 28</span><br />
j a v a . l a n g . S t a c k O v e r f l o <span style="color: #c20cb9; font-weight: bold;">w</span> E r r o r<br />
<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">19196</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #666666; font-style: italic;">#2 write(1, 0xc000000015cf08b8, 1) ............... = 1</span><br />
\n<br />
<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">19196</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #666666; font-style: italic;">#2 unlink(&quot;/var/tmp/hsperfdata_boksa/19196&quot;) ..... = 0</span><br />
<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">19196</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #666666; font-style: italic;">#2 sigaction(SIGILL, 0x9fffffffef7c6740, NULL) ... = 0</span><br />
<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">19196</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #666666; font-style: italic;">#2 sigprocmask(SIG_UNBLOCK, NULL, 0x9fffffffef4c0b80) = 0</span><br />
<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">19196</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #666666; font-style: italic;">#2 sigaction(SIGABRT, NULL, 0x9fffffffef4c0ba0) .. = 0</span><br />
<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">19196</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #666666; font-style: italic;">#2 getpid() ...................................... = 19196 (19194)</span><br />
<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">19196</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #666666; font-style: italic;">#2 &nbsp; Received signal 6, SIGABRT, in kill(), [0x9fffffffef76bfd0]</span><br />
<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">19196</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #666666; font-style: italic;">#2 &nbsp; &nbsp; Siginfo: sent by pid 19196 (uid 600), si_errno: 0</span></div></div>
<p>La soluzione?</p>
<p>Un semplice export della variabile <strong>PTHREAD_DEFAULT_STACK_SIZE</strong> a <strong>524288</strong>.</p>
<div class="codecolorer-container bash twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">PTHREAD_DEFAULT_STACK_SIZE</span>=<span style="color: #000000;">524288</span></div></div>
<p>Si sarebbe anche potuta usare la chiamata pthread_default_stacksize_np(), ma poiché la parte di codice che crea i thread non è personalizzabile in quel dato SDK, l&#8217;export della variabile d&#8217;ambiente è stata l&#8217;unica soluzione attuabile.</p>
<p>Alla prossima!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fabiofalcinelli.it/2010/03/jni-su-hp-ux-le-dimensioni-dello-stack-contano/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xorg 1.6 &#8211; Ctrl + alt + backspace</title>
		<link>http://www.fabiofalcinelli.it/2009/06/xorg-16-ctrl-alt-backspace/</link>
		<comments>http://www.fabiofalcinelli.it/2009/06/xorg-16-ctrl-alt-backspace/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 10:23:07 +0000</pubDate>
		<dc:creator>Fabio</dc:creator>
				<category><![CDATA[Information Technology]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Stuff]]></category>
		<category><![CDATA[Archlinux]]></category>
		<category><![CDATA[HAL]]></category>
		<category><![CDATA[Xorg]]></category>

		<guid isPermaLink="false">http://www.fabiofalcinelli.it/?p=234</guid>
		<description><![CDATA[Una delle feature introdotte nella versione 1.6 di Xorg è la disabilitazione di default della combinazione ctrl+alt+backspace. Sulle mailing list è possibile leggere molto a riguardo, sul fatto che &#8220;normalmente&#8221; un riavvio del server X non dovrebbe essere necessario e su quanto, per un nuovo utente, possa essere semplice digitare accidentalmente la combinazione e ritrovarsi [...]]]></description>
			<content:encoded><![CDATA[<p>Una delle<em> feature </em>introdotte nella versione 1.6 di Xorg è la disabilitazione di default della combinazione <em>ctrl+alt+backspace</em>.</p>
<p>Sulle mailing list è possibile leggere molto a riguardo, sul fatto che &#8220;normalmente&#8221; un riavvio del server X non dovrebbe essere necessario e su quanto, per un nuovo utente, possa essere semplice digitare accidentalmente la combinazione e ritrovarsi con il lavoro perso e una bella schermata di login senza sapere perché.</p>
<p>In effetti le ragioni sono plausibili, ma per alcuni il &#8220;normalmente&#8221;, significa aver necessità di riavviare X senza dover eseguire il kill del processo da un terminale: in passato mi sono capitate delle situazioni in cui X si è  completamente congelato e con un <em>ctrl+alt+backspace</em> si è ripristinato il tutto senza dover riavviare l&#8217;intero sistema. Avendo l&#8217;opzione disabilitata, se il terminale (<em>ctrl+alt+f1&#8230;f6</em>)<em> </em>non risponde ai comandi allora non resta che il reset. Nel mio caso, ho preferito riabilitare l&#8217;opzione, aggiungendo al file <em>xorg.conf </em>(solitamente in <em>/etc/X11</em>) l&#8217;opzione &#8220;<em>DontZap</em>&#8221; ed impostandola a &#8220;<em>false</em>&#8220;. In proposito, riporto la sezione del mio file di configurazione:</p>
<div class="codecolorer-container xorg_conf twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="xorg_conf codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #b1b100;">Section</span> <span style="color: #0000ff;">&quot;ServerFlags&quot;</span><br />
<span style="color: #adadad; font-style: italic;"># &nbsp; Option &quot;AllowMouseOpenFail&quot; &nbsp;&quot;true&quot;</span><br />
<span style="color: #adadad; font-style: italic;"># &nbsp; &nbsp; &nbsp;Option &quot;AutoAddDevices&quot; &quot;False&quot;</span><br />
&nbsp;<span style="color: #990000;">Option</span> &nbsp;<span style="color: #0000ff;">&quot;DontZap&quot;</span> <span style="color: #0000ff;">&quot;False&quot;</span><br />
<span style="color: #b1b100;">EndSection</span></div></div>
<p>In successivi aggiornamenti, è stata introdotta anche su HAL una disabilitazione della combinazione. Per riattivarla è sufficiente aggiungere questa entry</p>
<div class="codecolorer-container xml twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.xkb.options&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
terminate:ctrl_alt_bksp<br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/merge<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></div></div>
<p>all&#8217;interno del file <em>/etc/hal/fdi/policy/10-keymap.fdi</em></p>
<p>In caso il file non fosse presente, copiarlo da <em>/usr/share/hal/fdi/policy/10osvendor</em></p>
<div class="codecolorer-container bash twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>share<span style="color: #000000; font-weight: bold;">/</span>hal<span style="color: #000000; font-weight: bold;">/</span>fdi<span style="color: #000000; font-weight: bold;">/</span>policy<span style="color: #000000; font-weight: bold;">/</span>10osvendor<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">10</span>-keymap.fdi \<br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>hal<span style="color: #000000; font-weight: bold;">/</span>fdi<span style="color: #000000; font-weight: bold;">/</span>policy<span style="color: #000000; font-weight: bold;">/</span></div></div>
<p>E modificarlo aggiungendo la entry di cui sopra.</p>
<p>Riporto di seguito il mio file keymap che funziona correttamente utilizzando <em>entrance</em> come login manager:</p>
<div class="codecolorer-container xml twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;deviceinfo</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;0.2&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;device<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;match</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;info.capabilities&quot;</span> <span style="color: #000066;">contains</span>=<span style="color: #ff0000;">&quot;input.keymap&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;append</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;info.callouts.add&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;strlist&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>hal-setup-keymap<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/append<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/match<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
<br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;match</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;info.capabilities&quot;</span> <span style="color: #000066;">contains</span>=<span style="color: #ff0000;">&quot;input.keys&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.xkb.rules&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>base<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/merge<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
<br />
&nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">&lt;!-- If we're using Linux, we use evdev by default (falling back to</span><br />
<span style="color: #808080; font-style: italic;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; keyboard otherwise). --&gt;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.xkb.model&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>keyboard<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/merge<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/match<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;match</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;/org/freedesktop/Hal/devices/computer:system.kernel.name&quot;</span></span><br />
<span style="color: #009900;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066;">string</span>=<span style="color: #ff0000;">&quot;Linux&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.xkb.model&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>evdev<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/merge<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/match<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
<br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.xkb.layout&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>it<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/merge<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.xkb.variant&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.xkb.options&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>terminate:ctrl_alt_bksp<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/merge<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/device<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/deviceinfo<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></div></div>
<p>Infine, se non si sta usando l&#8217;integrazione Xorg/HAL occorrerà aggiungere una opzione nel file <em>/etc/X11/xorg.conf</em> all&#8217;interno della sezione keyboard</p>
<div class="codecolorer-container xorg_conf twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="xorg_conf codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #990000;">Option</span> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">&quot;XkbOptions&quot;</span> <span style="color: #0000ff;">&quot;terminate:ctrl_alt_bksp&quot;</span></div></div>
<p>Al solito, spero che a qualcuno sia utile ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fabiofalcinelli.it/2009/06/xorg-16-ctrl-alt-backspace/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Last.fm will last&#8230;</title>
		<link>http://www.fabiofalcinelli.it/2009/04/lastfm-will-last/</link>
		<comments>http://www.fabiofalcinelli.it/2009/04/lastfm-will-last/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 20:58:04 +0000</pubDate>
		<dc:creator>Fabio</dc:creator>
				<category><![CDATA[Information Technology]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Stuff]]></category>
		<category><![CDATA[Last.fm]]></category>
		<category><![CDATA[Radio Rock]]></category>
		<category><![CDATA[Streaming]]></category>

		<guid isPermaLink="false">http://www.fabiofalcinelli.it/?p=193</guid>
		<description><![CDATA[Last.fm è un social network musicale che offre anche musica in streaming gratuitamente, o meglio offriva gratuitamente. Il titolo vuole essere più un gioco di parole dal mio punto di vista che altro. Infatti, ho appena ricevuto da last.fm una mail che riporta: &#8220;Your free trial to Last.fm Radio is about to end. If you&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<p>Last.fm è un social network musicale che offre anche musica in streaming gratuitamente, o meglio offriva gratuitamente.</p>
<p>Il titolo vuole essere più un gioco di parole dal mio punto di vista che altro. Infatti, ho appena ricevuto da last.fm una mail che riporta:</p>
<blockquote><p><em>&#8220;Your free trial to Last.fm Radio is about to end. If you&#8217;re enjoying it, why not<br />
subscribe for only 3.00/month and continue listening to non-stop personalised<br />
radio.</em></p>
<p><em><a href="http://www.last.fm/subscribe" target="_blank">http://www.last.fm/subscribe</a></em></p>
<p><em>Best Regards,<br />
The Last.fm Team&#8221;</em></p></blockquote>
<p>Ovvero, non avrò più la possibilità di ascoltare la radio organizzata per genere gratuitamente. Ora se è vero che 3 euro al mese non sono una cifra esorbitante (neanche trascurabile visto che un server semidedicato ne costa 5) è anche vero che questa presa di posizione non vale per tutti i paesi del mondo: germania, regno unito e stati uniti continueranno a usufruire del servizio gratuitamente, poiché il bacino di utenza di questi stati garantisce proventi sufficienti dalla pubblicità. Ragionevole, ma un po&#8217; ingiusto.</p>
<p>Al momento sto considerando se sottoscrivere questo abbonamento per continuare ad ascoltare la buona musica casuale che passa o se accantonarla del tutto. L&#8217;aspetto di &#8220;social network&#8221; del servizio non mi interessa più di tanto.</p>
<p>Vuoi vedere che non torno ad ascoltare la radio fm in casa come faccio in macchina?</p>
<p>La stazione sarebbe sicuramente <a title="Radio Rock 106.6" href="http://www.radiorockroma.it" target="_blank">Radio Rock</a> ;) Tanto più che trasmettono anche in streaming :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fabiofalcinelli.it/2009/04/lastfm-will-last/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
