<?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/"
	 xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" >

<channel>
	<title>El Racó de Xavi &#187; Programació</title>
	<atom:link href="http://xavi.ivars.me/categoria/informatica/programacio/feed/" rel="self" type="application/rss+xml" />
	<link>http://xavi.ivars.me</link>
	<description>reflexions i altres coses</description>
	<lastBuildDate>Fri, 23 Dec 2011 18:46:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
<image><title>El racó de Xavi</title><url>http://xavi.ivars.me/wp-content/themes/racov4/images/logo.png</url><link>http://xavi.ivars.me</link><width>64</width><height>64</height><description>El racó de Xavi</description></image>		<item>
		<title>El Racó de Xavi → Llançament d&#8217;Infobenissa per a Android</title>
		<link>http://xavi.ivars.me/bloc/2011/llancament-dinfobenissa-per-a-android/</link>
		<comments>http://xavi.ivars.me/bloc/2011/llancament-dinfobenissa-per-a-android/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 13:00:59 +0000</pubDate>
		<dc:creator>xavi</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programació]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[desenvolupament]]></category>
		<category><![CDATA[infobenissa]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://xavi.ivars.me/?p=4639</guid>
		<description><![CDATA[<p><a href="http://creativecommons.org/licenses/by-nc-sa/3.0/es/deed.ca" rel="license" title="Aquesta obra està llicenciada sota una llicència Creative Commons Reconeixement-No comercial-Compartir Igual 3.0"><img src="http://xavi.ivars.me/wp-content/themes/racov3/images/cc.png" alt="CC" /></a> El racó de Xavi (<a href="http://xavi.ivars.me/bloc/2011/llancament-dinfobenissa-per-a-android/">enllaç a la entrada</a>)</p><br /><br /><p>&nbsp;</p>
<div id="attachment_4767" class="wp-caption alignleft" style="width: 310px"><img class="size-full wp-image-4767 " title="Infobenissa per a Android" src="http://xavi.ivars.me/wp-content/uploads/2011/08/infobenissa-android-horitzontal.png" alt="Infobenissa per a Android" width="300" height="108" /><p class="wp-caption-text">Infobenissa per a Android</p></div>
<p><a href="http://www.infobenissa.cat/noticies/editorial/infobenissa-per-a-android-infobenissa-arriba-als-mobils/">La setmana passada</a> vaig publicar la meva primera aplicació per a Android. Es tracta d&#8217;una aplicació per a <a href="http://www.infobenissa.cat">Infobenissa</a> des de la que accedir d&#8217;una manera més còmoda des del mòbil a la informació de Benissa.</p>
<p>Es tracta d&#8217;una aplicació, de moment, molt senzilla, ja que només permet accedir als titulars de les últimes notícies publicades, amb enllaços directes a cadascuna d&#8217;elles.</p>
<p>No obstant, la meva intenció és anar poc a poc afegint funcionalitats a l&#8217;aplicació, així com alliberar el codi font sota una llicència lliure. També he creat una pàgina que servirà per recollir tots els avanços en l&#8217;aplicació: <a title="Infobenissa per a Android" href="http://xavi.ivars.me/utilitats/infobenissa-per-a-android/">Infobenissa per a Android</a>.</p>
<div class="plusone"><g:plusone size="medium" href="http://xavi.ivars.me/bloc/2011/llancament-dinfobenissa-per-a-android/"></g:plusone></div><a href='http://twitter.com/share?url=http%3A%2F%2Fxavi.ivars.me%2F%3Fp%3D4639&count=horizontal&related=xavivars&text=Llan%C3%A7ament%20d%26%23039%3BInfobenissa%20per%20a%20Android' class='twitter-share-button' data-text='Llançament d&#039;Infobenissa per a Android' data-url='http://xavi.ivars.me/?p=4639' data-counturl='http://xavi.ivars.me/bloc/2011/llancament-dinfobenissa-per-a-android/' data-count='horizontal' data-via='xavivars' data-related='xavivars'></a><span class="fb_share"><fb:like href="http://xavi.ivars.me/bloc/2011/llancament-dinfobenissa-per-a-android/" layout="button_count"></fb:like></span>]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<div id="attachment_4767" class="wp-caption alignleft" style="width: 310px"><img class="size-full wp-image-4767 " title="Infobenissa per a Android" src="http://xavi.ivars.me/wp-content/uploads/2011/08/infobenissa-android-horitzontal.png" alt="Infobenissa per a Android" width="300" height="108" /><p class="wp-caption-text">Infobenissa per a Android</p></div>
<p><a href="http://www.infobenissa.cat/noticies/editorial/infobenissa-per-a-android-infobenissa-arriba-als-mobils/">La setmana passada</a> vaig publicar la meva primera aplicació per a Android. Es tracta d&#8217;una aplicació per a <a href="http://www.infobenissa.cat">Infobenissa</a> des de la que accedir d&#8217;una manera més còmoda des del mòbil a la informació de Benissa.</p>
<p>Es tracta d&#8217;una aplicació, de moment, molt senzilla, ja que només permet accedir als titulars de les últimes notícies publicades, amb enllaços directes a cadascuna d&#8217;elles.</p>
<p>No obstant, la meva intenció és anar poc a poc afegint funcionalitats a l&#8217;aplicació, així com alliberar el codi font sota una llicència lliure. També he creat una pàgina que servirà per recollir tots els avanços en l&#8217;aplicació: <a title="Infobenissa per a Android" href="http://xavi.ivars.me/utilitats/infobenissa-per-a-android/">Infobenissa per a Android</a>.</p>
<div class="plusone"><g:plusone size="medium" href="http://xavi.ivars.me/bloc/2011/llancament-dinfobenissa-per-a-android/"></g:plusone></div><a href='http://twitter.com/share?url=http%3A%2F%2Fxavi.ivars.me%2F%3Fp%3D4639&count=horizontal&related=xavivars&text=Llan%C3%A7ament%20d%26%23039%3BInfobenissa%20per%20a%20Android' class='twitter-share-button' data-text='Llançament d&#039;Infobenissa per a Android' data-url='http://xavi.ivars.me/?p=4639' data-counturl='http://xavi.ivars.me/bloc/2011/llancament-dinfobenissa-per-a-android/' data-count='horizontal' data-via='xavivars' data-related='xavivars'></a><span class="fb_share"><fb:like href="http://xavi.ivars.me/bloc/2011/llancament-dinfobenissa-per-a-android/" layout="button_count"></fb:like></span>]]></content:encoded>
			<wfw:commentRss>http://xavi.ivars.me/bloc/2011/llancament-dinfobenissa-per-a-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/es/deed.ca</creativeCommons:license>	</item>
		<item>
		<title>El Racó de Xavi → Els booleans&#8230;</title>
		<link>http://xavi.ivars.me/bloc/2010/els-booleans/</link>
		<comments>http://xavi.ivars.me/bloc/2010/els-booleans/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 17:13:44 +0000</pubDate>
		<dc:creator>xavi</dc:creator>
				<category><![CDATA[Cites]]></category>
		<category><![CDATA[Miniposts]]></category>
		<category><![CDATA[Programació]]></category>
		<category><![CDATA[booleans]]></category>

		<guid isPermaLink="false">http://xavi.ivars.me/?p=958</guid>
		<description><![CDATA[<p><a href="http://creativecommons.org/licenses/by-nc-sa/3.0/es/deed.ca" rel="license" title="Aquesta obra està llicenciada sota una llicència Creative Commons Reconeixement-No comercial-Compartir Igual 3.0"><img src="http://xavi.ivars.me/wp-content/themes/racov3/images/cc.png" alt="CC" /></a> El racó de Xavi (<a href="http://xavi.ivars.me/bloc/2010/els-booleans/">enllaç a la entrada</a>)</p><br /><br /><blockquote><p>El que tenen bo els booleans és que, encara que t&#8217;equivoques, estàs a només un bit de la solució correcta.</p>
<p style="text-align: right;">Anònim</p>
</blockquote>
<div class="plusone"><g:plusone size="medium" href="http://xavi.ivars.me/bloc/2010/els-booleans/"></g:plusone></div><a href='http://twitter.com/share?url=http%3A%2F%2Fxavi.ivars.me%2F%3Fp%3D958&count=horizontal&related=xavivars&text=Els%20booleans...' class='twitter-share-button' data-text='Els booleans...' data-url='http://xavi.ivars.me/?p=958' data-counturl='http://xavi.ivars.me/bloc/2010/els-booleans/' data-count='horizontal' data-via='xavivars' data-related='xavivars'></a><span class="fb_share"><fb:like href="http://xavi.ivars.me/bloc/2010/els-booleans/" layout="button_count"></fb:like></span>]]></description>
			<content:encoded><![CDATA[<blockquote><p>El que tenen bo els booleans és que, encara que t&#8217;equivoques, estàs a només un bit de la solució correcta.</p>
<p style="text-align: right;">Anònim</p>
</blockquote>
<div class="plusone"><g:plusone size="medium" href="http://xavi.ivars.me/bloc/2010/els-booleans/"></g:plusone></div><a href='http://twitter.com/share?url=http%3A%2F%2Fxavi.ivars.me%2F%3Fp%3D958&count=horizontal&related=xavivars&text=Els%20booleans...' class='twitter-share-button' data-text='Els booleans...' data-url='http://xavi.ivars.me/?p=958' data-counturl='http://xavi.ivars.me/bloc/2010/els-booleans/' data-count='horizontal' data-via='xavivars' data-related='xavivars'></a><span class="fb_share"><fb:like href="http://xavi.ivars.me/bloc/2010/els-booleans/" layout="button_count"></fb:like></span>]]></content:encoded>
			<wfw:commentRss>http://xavi.ivars.me/bloc/2010/els-booleans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/es/deed.ca</creativeCommons:license>	</item>
		<item>
		<title>El Racó de Xavi → &#8220;Parameter substitution&#8221; en BASH&#8230;</title>
		<link>http://xavi.ivars.me/bloc/2009/parameter-substitution-en-bash/</link>
		<comments>http://xavi.ivars.me/bloc/2009/parameter-substitution-en-bash/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 18:31:42 +0000</pubDate>
		<dc:creator>xavi</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programació]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[paràmetres]]></category>
		<category><![CDATA[pattern substitution]]></category>

		<guid isPermaLink="false">http://xavi.ivars.me/?p=909</guid>
		<description><![CDATA[<p><a href="http://creativecommons.org/licenses/by-nc-sa/3.0/es/deed.ca" rel="license" title="Aquesta obra està llicenciada sota una llicència Creative Commons Reconeixement-No comercial-Compartir Igual 3.0"><img src="http://xavi.ivars.me/wp-content/themes/racov3/images/cc.png" alt="CC" /></a> El racó de Xavi (<a href="http://xavi.ivars.me/bloc/2009/parameter-substitution-en-bash/">enllaç a la entrada</a>)</p><br /><br /><div class="informacio"><div class="woo-sc-box note   ">Aquesta és una entrada molt específica de programació</div></div>
<p>No fa molt vaig descobrir la substitució de paràmetres en <em>bash</em>, i la veritat és que és una eina increïble que evita usos de <em>sed</em>, <em>awk</em>, o <em>cut</em> quan realment no fa falta.</p>
<p>A continuació reproduïsc <a href="http://bashcurescancer.com/10-steps-to-beautiful-shell-scripts.html" target="_blank">una llista</a> que he trobat a &#8220;<a href="http://bashcurescancer.com/" target="_blank">BASH Cures Cancer</a>&#8220;, un blog que pretén explicar les <em>bondats</em> del BASH per als Linuxers.</p>
<ol>
<li>Les variables es poden especificar de dues formes: $var o ${var}.<br />
<code class="linux">$ var='a.ads,fssd2342%asd234#@.,&amp;%,sdfgsdfgas4352'<br />
$ echo ${var}<br />
a.ads,fssd2342%asd234#@.,&amp;%,sdfgsdfgas4352<br />
</code></li>
<li>${#var} és la llargària de la variable.<br />
<code class="linux">$ echo ${#var}<br />
42</code></li>
<li>${var:pos} genera una subcadena començant en la posició <em>pos</em>.<br />
<code class="linux">$ echo ${var:10}<br />
2342%asd234#@.,&amp;%,sdfgsdfgas4352</code></li>
<li>${var:pos:len} genera una subcadena començant a en la posició <em>pos</em> d&#8217;una llargària <em>len</em>.<br />
<code class="linux">$ echo ${var:10:5}<br />
2342%</code></li>
<li>${var#pattern} esborra el patró <em>pattern</em> començant pel principi de la variable. Aquesta versió para només troba l&#8217;expressió regular.  ${var##pattern} és la versió extesa.<br />
<code class="linux">$ echo ${var#*,}<br />
fssd2342%asd234#@.,&amp;%,sdfgsdfgas4352<br />
$ echo ${var##*,}<br />
sdfgsdfgas4352</code></li>
<li>${var%pattern} elimina el patró <em>pattern</em> començant pel final de la variable. Aquesta versió para només troba l&#8217;expressió regular. ${var%%pattern} és la versió extesa.<br />
<code class="linux">$ echo ${var%,*}<br />
a.ads,fssd2342%asd234#@.,&amp;%<br />
$ echo ${var%%,*}<br />
a.ads</code></li>
<li>${var/pattern/replacement} substitueix l&#8217;expressió regular <em>pattern</em> amb <em>replacement </em>una vegada.<br />
<code class="linux">$ echo ${var/a/A}<br />
A.ads,fssd2342%asd234#@.,&amp;%,sdfgsdfgas4352</code></li>
<li>${var//pattern/replacement} substitueix l&#8217;expressió regular <em>pattern</em> amb <em>replacement</em> de manera global.<br />
<code class="linux">$ echo ${var//a/A}<br />
A.Ads,fssd2342%Asd234#@.,&amp;%,sdfgsdfgAs4352</code></li>
<li>${var/#pattern/replacement} si l&#8217;inici de la variable és com el patró <em>pattern</em>, es substitueix per <em>replacement</em>.<br />
<code class="linux">$ echo ${var/#a./llll}<br />
llllads,fssd2342%asd234#@.,&amp;%,sdfgsdfgas4352</code></li>
<li>${var/%pattern/replacement} si el final de la variable és com el patró <em>pattern</em>, es substitueix per <em>replacement</em>.<br />
<code class="linux">$ echo ${var/%352/llll}<br />
a.ads,fssd2342%asd234#@.,&amp;%,sdfgsdfgas4llll</code></li>
</ol>
<p>Segur que aquells que utilitzeu el <em>shell</em> habitualment i no coneixieu açò, li podeu traure molt de profit.</p>
<div class="plusone"><g:plusone size="medium" href="http://xavi.ivars.me/bloc/2009/parameter-substitution-en-bash/"></g:plusone></div><a href='http://twitter.com/share?url=http%3A%2F%2Fxavi.ivars.me%2F%3Fp%3D909&count=horizontal&related=xavivars&text=%26quot%3BParameter%20substitution%26quot%3B%20en%20BASH...' class='twitter-share-button' data-text='&quot;Parameter substitution&quot; en BASH...' data-url='http://xavi.ivars.me/?p=909' data-counturl='http://xavi.ivars.me/bloc/2009/parameter-substitution-en-bash/' data-count='horizontal' data-via='xavivars' data-related='xavivars'></a><span class="fb_share"><fb:like href="http://xavi.ivars.me/bloc/2009/parameter-substitution-en-bash/" layout="button_count"></fb:like></span>]]></description>
			<content:encoded><![CDATA[<div class="informacio"><div class="woo-sc-box note   ">Aquesta és una entrada molt específica de programació</div></div>
<p>No fa molt vaig descobrir la substitució de paràmetres en <em>bash</em>, i la veritat és que és una eina increïble que evita usos de <em>sed</em>, <em>awk</em>, o <em>cut</em> quan realment no fa falta.</p>
<p>A continuació reproduïsc <a href="http://bashcurescancer.com/10-steps-to-beautiful-shell-scripts.html" target="_blank">una llista</a> que he trobat a &#8220;<a href="http://bashcurescancer.com/" target="_blank">BASH Cures Cancer</a>&#8220;, un blog que pretén explicar les <em>bondats</em> del BASH per als Linuxers.</p>
<ol>
<li>Les variables es poden especificar de dues formes: $var o ${var}.<br />
<code class="linux">$ var='a.ads,fssd2342%asd234#@.,&amp;%,sdfgsdfgas4352'<br />
$ echo ${var}<br />
a.ads,fssd2342%asd234#@.,&amp;%,sdfgsdfgas4352<br />
</code></li>
<li>${#var} és la llargària de la variable.<br />
<code class="linux">$ echo ${#var}<br />
42</code></li>
<li>${var:pos} genera una subcadena començant en la posició <em>pos</em>.<br />
<code class="linux">$ echo ${var:10}<br />
2342%asd234#@.,&amp;%,sdfgsdfgas4352</code></li>
<li>${var:pos:len} genera una subcadena començant a en la posició <em>pos</em> d&#8217;una llargària <em>len</em>.<br />
<code class="linux">$ echo ${var:10:5}<br />
2342%</code></li>
<li>${var#pattern} esborra el patró <em>pattern</em> començant pel principi de la variable. Aquesta versió para només troba l&#8217;expressió regular.  ${var##pattern} és la versió extesa.<br />
<code class="linux">$ echo ${var#*,}<br />
fssd2342%asd234#@.,&amp;%,sdfgsdfgas4352<br />
$ echo ${var##*,}<br />
sdfgsdfgas4352</code></li>
<li>${var%pattern} elimina el patró <em>pattern</em> començant pel final de la variable. Aquesta versió para només troba l&#8217;expressió regular. ${var%%pattern} és la versió extesa.<br />
<code class="linux">$ echo ${var%,*}<br />
a.ads,fssd2342%asd234#@.,&amp;%<br />
$ echo ${var%%,*}<br />
a.ads</code></li>
<li>${var/pattern/replacement} substitueix l&#8217;expressió regular <em>pattern</em> amb <em>replacement </em>una vegada.<br />
<code class="linux">$ echo ${var/a/A}<br />
A.ads,fssd2342%asd234#@.,&amp;%,sdfgsdfgas4352</code></li>
<li>${var//pattern/replacement} substitueix l&#8217;expressió regular <em>pattern</em> amb <em>replacement</em> de manera global.<br />
<code class="linux">$ echo ${var//a/A}<br />
A.Ads,fssd2342%Asd234#@.,&amp;%,sdfgsdfgAs4352</code></li>
<li>${var/#pattern/replacement} si l&#8217;inici de la variable és com el patró <em>pattern</em>, es substitueix per <em>replacement</em>.<br />
<code class="linux">$ echo ${var/#a./llll}<br />
llllads,fssd2342%asd234#@.,&amp;%,sdfgsdfgas4352</code></li>
<li>${var/%pattern/replacement} si el final de la variable és com el patró <em>pattern</em>, es substitueix per <em>replacement</em>.<br />
<code class="linux">$ echo ${var/%352/llll}<br />
a.ads,fssd2342%asd234#@.,&amp;%,sdfgsdfgas4llll</code></li>
</ol>
<p>Segur que aquells que utilitzeu el <em>shell</em> habitualment i no coneixieu açò, li podeu traure molt de profit.</p>
<div class="plusone"><g:plusone size="medium" href="http://xavi.ivars.me/bloc/2009/parameter-substitution-en-bash/"></g:plusone></div><a href='http://twitter.com/share?url=http%3A%2F%2Fxavi.ivars.me%2F%3Fp%3D909&count=horizontal&related=xavivars&text=%26quot%3BParameter%20substitution%26quot%3B%20en%20BASH...' class='twitter-share-button' data-text='&quot;Parameter substitution&quot; en BASH...' data-url='http://xavi.ivars.me/?p=909' data-counturl='http://xavi.ivars.me/bloc/2009/parameter-substitution-en-bash/' data-count='horizontal' data-via='xavivars' data-related='xavivars'></a><span class="fb_share"><fb:like href="http://xavi.ivars.me/bloc/2009/parameter-substitution-en-bash/" layout="button_count"></fb:like></span>]]></content:encoded>
			<wfw:commentRss>http://xavi.ivars.me/bloc/2009/parameter-substitution-en-bash/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/es/deed.ca</creativeCommons:license>	</item>
		<item>
		<title>El Racó de Xavi → Renovació d&#8217;Infobenissa…</title>
		<link>http://xavi.ivars.me/bloc/2009/renovacio-infobenissa/</link>
		<comments>http://xavi.ivars.me/bloc/2009/renovacio-infobenissa/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 09:22:22 +0000</pubDate>
		<dc:creator>xavi</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Programació]]></category>
		<category><![CDATA[Benissa]]></category>
		<category><![CDATA[disseny]]></category>
		<category><![CDATA[infobenissa]]></category>
		<category><![CDATA[Joanba]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[webmaster]]></category>

		<guid isPermaLink="false">http://xavi.ivars.me/?p=882</guid>
		<description><![CDATA[<p><a href="http://creativecommons.org/licenses/by-nc-sa/3.0/es/deed.ca" rel="license" title="Aquesta obra està llicenciada sota una llicència Creative Commons Reconeixement-No comercial-Compartir Igual 3.0"><img src="http://xavi.ivars.me/wp-content/themes/racov3/images/cc.png" alt="CC" /></a> El racó de Xavi (<a href="http://xavi.ivars.me/bloc/2009/renovacio-infobenissa/">enllaç a la entrada</a>)</p><br /><br /><p>Ja fa mooooolt de temps que Joanba i jo anunciem una renovació total a <a href="http://www.infobenissa.com" target="_blank">Infobenissa</a>. A l&#8217;<a href="http://www.infobenissa.com/veuNoticia.php?num=1754" target="_blank">entrevista que ens van fer al Levante</a> allà pel 2006, quan &#8220;<a href="http://www.geocities.com/juaganmu/home1.html" target="_blank">la idea</a>&#8220;  complia 5 anys, i Infobenissa en sí 3, ja ho donàvem per fet. I des d&#8217;aleshores ha plogut molt. Però ara ja podem dir, per fi, que la renovació està en marxa.</p>
<p>Al principi volíem fer un canvi total de la web, i arrancar la versió 2 amb moltíssimes novetats, característiques trencadores, molt 2.0 tot. Però ara, més realistes, hem optat per fer el canvi més gros, la part visual, i poc a poc anar incorporant les novetats. Perquè aquesta serà l&#8217;única manera en que l&#8217;esperada Infobenissa 2.0 arribe.</p>
<p>El disseny base ja està fet, i ara ja estem adaptant-lo i programant les funcionalitats (notícies, la cambra, calendari&#8230;) que volem.</p>
<p>A tots aquells que insistentment ens heu preguntat com anava la nova versió, o per a quan (bàsicament, <a href="http://www.ooopb.com/">Òscar</a> <img src='http://xavi.ivars.me/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ), dir-vos que li falta ben poc. No sé si atrevir-me a donar dates, però quasi asseguraria que abans de l&#8217;aniversari  (el 9 d&#8217;octubre) estarà tot llest. La meua idea és tindre-ho tot a punt a principis de setembre, i durant uns quants dies anar fent proves i acabant de polir detalls que no ens agraden.</p>
<p>I ara és quan vos demane ajuda: quines coses noves afegiríeu a Infobenissa? Nosaltres en tenim ja algunes planificades (algunes de les quals ja programades i tot), però els suggeriments mai sobren.</p>
<p>PD: No proposeu el fòrum, que prou maldecaps ens ha portat ja, jejeje.</p>
<div class="plusone"><g:plusone size="medium" href="http://xavi.ivars.me/bloc/2009/renovacio-infobenissa/"></g:plusone></div><a href='http://twitter.com/share?url=http%3A%2F%2Fxavi.ivars.me%2F%3Fp%3D882&count=horizontal&related=xavivars&text=Renovaci%C3%B3%20d%26%23039%3BInfobenissa%E2%80%A6' class='twitter-share-button' data-text='Renovació d&#039;Infobenissa…' data-url='http://xavi.ivars.me/?p=882' data-counturl='http://xavi.ivars.me/bloc/2009/renovacio-infobenissa/' data-count='horizontal' data-via='xavivars' data-related='xavivars'></a><span class="fb_share"><fb:like href="http://xavi.ivars.me/bloc/2009/renovacio-infobenissa/" layout="button_count"></fb:like></span>]]></description>
			<content:encoded><![CDATA[<p>Ja fa mooooolt de temps que Joanba i jo anunciem una renovació total a <a href="http://www.infobenissa.com" target="_blank">Infobenissa</a>. A l&#8217;<a href="http://www.infobenissa.com/veuNoticia.php?num=1754" target="_blank">entrevista que ens van fer al Levante</a> allà pel 2006, quan &#8220;<a href="http://www.geocities.com/juaganmu/home1.html" target="_blank">la idea</a>&#8220;  complia 5 anys, i Infobenissa en sí 3, ja ho donàvem per fet. I des d&#8217;aleshores ha plogut molt. Però ara ja podem dir, per fi, que la renovació està en marxa.</p>
<p>Al principi volíem fer un canvi total de la web, i arrancar la versió 2 amb moltíssimes novetats, característiques trencadores, molt 2.0 tot. Però ara, més realistes, hem optat per fer el canvi més gros, la part visual, i poc a poc anar incorporant les novetats. Perquè aquesta serà l&#8217;única manera en que l&#8217;esperada Infobenissa 2.0 arribe.</p>
<p>El disseny base ja està fet, i ara ja estem adaptant-lo i programant les funcionalitats (notícies, la cambra, calendari&#8230;) que volem.</p>
<p>A tots aquells que insistentment ens heu preguntat com anava la nova versió, o per a quan (bàsicament, <a href="http://www.ooopb.com/">Òscar</a> <img src='http://xavi.ivars.me/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ), dir-vos que li falta ben poc. No sé si atrevir-me a donar dates, però quasi asseguraria que abans de l&#8217;aniversari  (el 9 d&#8217;octubre) estarà tot llest. La meua idea és tindre-ho tot a punt a principis de setembre, i durant uns quants dies anar fent proves i acabant de polir detalls que no ens agraden.</p>
<p>I ara és quan vos demane ajuda: quines coses noves afegiríeu a Infobenissa? Nosaltres en tenim ja algunes planificades (algunes de les quals ja programades i tot), però els suggeriments mai sobren.</p>
<p>PD: No proposeu el fòrum, que prou maldecaps ens ha portat ja, jejeje.</p>
<div class="plusone"><g:plusone size="medium" href="http://xavi.ivars.me/bloc/2009/renovacio-infobenissa/"></g:plusone></div><a href='http://twitter.com/share?url=http%3A%2F%2Fxavi.ivars.me%2F%3Fp%3D882&count=horizontal&related=xavivars&text=Renovaci%C3%B3%20d%26%23039%3BInfobenissa%E2%80%A6' class='twitter-share-button' data-text='Renovació d&#039;Infobenissa…' data-url='http://xavi.ivars.me/?p=882' data-counturl='http://xavi.ivars.me/bloc/2009/renovacio-infobenissa/' data-count='horizontal' data-via='xavivars' data-related='xavivars'></a><span class="fb_share"><fb:like href="http://xavi.ivars.me/bloc/2009/renovacio-infobenissa/" layout="button_count"></fb:like></span>]]></content:encoded>
			<wfw:commentRss>http://xavi.ivars.me/bloc/2009/renovacio-infobenissa/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/es/deed.ca</creativeCommons:license>	</item>
		<item>
		<title>El Racó de Xavi → WP-Apertium 0.9</title>
		<link>http://xavi.ivars.me/bloc/2009/wp-apertium-09/</link>
		<comments>http://xavi.ivars.me/bloc/2009/wp-apertium-09/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 16:10:54 +0000</pubDate>
		<dc:creator>xavi</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Llengua]]></category>
		<category><![CDATA[Programació]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[wp-apertium]]></category>

		<guid isPermaLink="false">http://xavi.ivars.me/?p=852</guid>
		<description><![CDATA[<p><a href="http://creativecommons.org/licenses/by-nc-sa/3.0/es/deed.ca" rel="license" title="Aquesta obra està llicenciada sota una llicència Creative Commons Reconeixement-No comercial-Compartir Igual 3.0"><img src="http://xavi.ivars.me/wp-content/themes/racov3/images/cc.png" alt="CC" /></a> El racó de Xavi (<a href="http://xavi.ivars.me/bloc/2009/wp-apertium-09/">enllaç a la entrada</a>)</p><br /><br /><p>Ahir per la vesprada pujar a l&#8217;<a href="http://apertium.svn.sourceforge.net/viewvc/apertium/trunk/apertium-tools/wp-apertium/" target="_blank">SVN d&#8217;Apertium</a> els últims canvis de la versió 0.9 de <a href="http://xavi.ivars.me/utilitats/wp-apertium/">WP-Apertium</a>, l&#8217;extensió per a WordPress de què ja he parlat altres vegades.</p>
<p>Aquesta versió porta algunes novetats respecte a la versió anterior. La més significativa és que ha canviat la manera de recuperar les traduccions. Amb la 0.8, totes les traduccions s&#8217;escrivien al document, però ara amb la 0.9 es recuperen amb AJAX, de manera que no hi ha textos en diversos idiomes al codi font de la pàgina. A més, també soluciona un problema que hi havia de multiplicitat d&#8217;ID (si algun element HTML del contingut de l&#8217;entrada tenia ID, aquest es repetia tantes vegades com traduccions hi havia).</p>
<p>Respecte als anuncis AdSense que hi poguera haver dins del contingut de l&#8217;entrada, no he pogut resoldre les incompatibilitats. Si amb la versió 0.8 el que passava és que apareixia moltes vegades (i, per tant, era possible que no es veiera pel màxim de blocs d&#8217;anuncis que marca Google) amb la 0.9 directament es queda la pàgina en blanc quan es demana una traducció. Així que, si voleu utilitzar WP-Apertium, no poseu AdSense <em>dins</em> de les entrades (a la resta de la pàgina no hi ha problema).</p>
<p>Finalment, he implementat també un xicotet detall per a aquells que no tinguen habilitat el Javascript, i que apropa el plugin a aquells que permeten llocs multilingües: es pot accedir directament a traduccions de les entrades. Per exemple, <a href="http://xavi.ivars.me/bloc/2009/wp-apertium-09/?lang=es">des d&#8217;aquest enllaç</a> podreu accedir a la versió en castellà de l&#8217;apunt, i <a href="http://xavi.ivars.me/bloc/2009/wp-apertium-09/?lang=oc">des d&#8217;aquest altre</a> a la versió en occità. Amb una bona interfície de post-edició, i amb re-escritura de les URLs, WP-Apertium passaria per davant a plugins com <a href="http://blog.zen-dreams.com/en/zdmultilang" target="_blank">ZdMultilang</a>.</p>
<p>Queden alguns xicotets detalls per resoldre, com què fer quan a l&#8217;entrada hi ha un <em>&lt;!&#8211;more&#8211;&gt;</em>, però això serà per a la propera versió.</p>
<p>Una altra decissió que he pres ha sigut el tema dels números de versions. Quan vaig publicar la primera versió la vaig anomenar 0.8. La meva idea original era resoldre uns pocs detalls en una futura 0.9 i passar a una versió <em>estable</em> 1.0. Com que venia <a href="http://blog.ebenimeli.org/2008/10/20/apertium-blog-translation-el-plugin/" target="_blank">del treball previ d&#8217;Enrique</a>, i el plugin funcionava bé, no era massa destrellatat. Però els problemes que vaig detectar (en la indexació des dels cercadors, amb el tema dels IDs&#8230;) van fer que la 0.9 fóra més complexa del que esperava.</p>
<p>A partir d&#8217;ara, la numeració de les versions serà un poc diferent. El primer canvi és que no passaré a la versió 1.x fins que no hi haja una API estàndar d&#8217;Apertium, de manera que es puguen obtenir les traduccions des de la pàgina d&#8217;Apertium d&#8217;una manera <em>normal</em> mitjançant peticions REST &#8211; JSON o XML &#8211; definides i documentades per part del projecte Apertium (i no tal i com es fa ara, enviant una petició <em>POST</em> al formulari de traducció de documents). Eixa és una de les coses que s&#8217;espera aconseguir amb el <abbr title="Google Summer of Code">GSOC</abbr> d&#8217;enguany. Així, les properes versions seran totes 0.x, amb noves funcionalitats a cada versió.</p>
<p>El proper repte és resoldre l&#8217;assumpte del <em>&lt;!&#8211;more&#8211;&gt;</em> i fer un panell d&#8217;administració per a l&#8217;extensió, de manera que no s&#8217;haja d&#8217;editar a ma un fitxer per a configurar coses com l&#8217;idioma per defecte, les traduccions a generar, etc.</p>
<p>I, com no, demanar ajuda a tots aquells usuaris que utilitzeu l&#8217;extensió (que sé que no seran molts, però més val pocs i bons&#8230;). Feu comentaris, suggeriments, avisos d&#8217;errades, i tot el que vos vinga al cap. S&#8217;agrairà <img src='http://xavi.ivars.me/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<div class="plusone"><g:plusone size="medium" href="http://xavi.ivars.me/bloc/2009/wp-apertium-09/"></g:plusone></div><a href='http://twitter.com/share?url=http%3A%2F%2Fxavi.ivars.me%2F%3Fp%3D852&count=horizontal&related=xavivars&text=WP-Apertium%200.9' class='twitter-share-button' data-text='WP-Apertium 0.9' data-url='http://xavi.ivars.me/?p=852' data-counturl='http://xavi.ivars.me/bloc/2009/wp-apertium-09/' data-count='horizontal' data-via='xavivars' data-related='xavivars'></a><span class="fb_share"><fb:like href="http://xavi.ivars.me/bloc/2009/wp-apertium-09/" layout="button_count"></fb:like></span>]]></description>
			<content:encoded><![CDATA[<p>Ahir per la vesprada pujar a l&#8217;<a href="http://apertium.svn.sourceforge.net/viewvc/apertium/trunk/apertium-tools/wp-apertium/" target="_blank">SVN d&#8217;Apertium</a> els últims canvis de la versió 0.9 de <a href="http://xavi.ivars.me/utilitats/wp-apertium/">WP-Apertium</a>, l&#8217;extensió per a WordPress de què ja he parlat altres vegades.</p>
<p>Aquesta versió porta algunes novetats respecte a la versió anterior. La més significativa és que ha canviat la manera de recuperar les traduccions. Amb la 0.8, totes les traduccions s&#8217;escrivien al document, però ara amb la 0.9 es recuperen amb AJAX, de manera que no hi ha textos en diversos idiomes al codi font de la pàgina. A més, també soluciona un problema que hi havia de multiplicitat d&#8217;ID (si algun element HTML del contingut de l&#8217;entrada tenia ID, aquest es repetia tantes vegades com traduccions hi havia).</p>
<p>Respecte als anuncis AdSense que hi poguera haver dins del contingut de l&#8217;entrada, no he pogut resoldre les incompatibilitats. Si amb la versió 0.8 el que passava és que apareixia moltes vegades (i, per tant, era possible que no es veiera pel màxim de blocs d&#8217;anuncis que marca Google) amb la 0.9 directament es queda la pàgina en blanc quan es demana una traducció. Així que, si voleu utilitzar WP-Apertium, no poseu AdSense <em>dins</em> de les entrades (a la resta de la pàgina no hi ha problema).</p>
<p>Finalment, he implementat també un xicotet detall per a aquells que no tinguen habilitat el Javascript, i que apropa el plugin a aquells que permeten llocs multilingües: es pot accedir directament a traduccions de les entrades. Per exemple, <a href="http://xavi.ivars.me/bloc/2009/wp-apertium-09/?lang=es">des d&#8217;aquest enllaç</a> podreu accedir a la versió en castellà de l&#8217;apunt, i <a href="http://xavi.ivars.me/bloc/2009/wp-apertium-09/?lang=oc">des d&#8217;aquest altre</a> a la versió en occità. Amb una bona interfície de post-edició, i amb re-escritura de les URLs, WP-Apertium passaria per davant a plugins com <a href="http://blog.zen-dreams.com/en/zdmultilang" target="_blank">ZdMultilang</a>.</p>
<p>Queden alguns xicotets detalls per resoldre, com què fer quan a l&#8217;entrada hi ha un <em>&lt;!&#8211;more&#8211;&gt;</em>, però això serà per a la propera versió.</p>
<p>Una altra decissió que he pres ha sigut el tema dels números de versions. Quan vaig publicar la primera versió la vaig anomenar 0.8. La meva idea original era resoldre uns pocs detalls en una futura 0.9 i passar a una versió <em>estable</em> 1.0. Com que venia <a href="http://blog.ebenimeli.org/2008/10/20/apertium-blog-translation-el-plugin/" target="_blank">del treball previ d&#8217;Enrique</a>, i el plugin funcionava bé, no era massa destrellatat. Però els problemes que vaig detectar (en la indexació des dels cercadors, amb el tema dels IDs&#8230;) van fer que la 0.9 fóra més complexa del que esperava.</p>
<p>A partir d&#8217;ara, la numeració de les versions serà un poc diferent. El primer canvi és que no passaré a la versió 1.x fins que no hi haja una API estàndar d&#8217;Apertium, de manera que es puguen obtenir les traduccions des de la pàgina d&#8217;Apertium d&#8217;una manera <em>normal</em> mitjançant peticions REST &#8211; JSON o XML &#8211; definides i documentades per part del projecte Apertium (i no tal i com es fa ara, enviant una petició <em>POST</em> al formulari de traducció de documents). Eixa és una de les coses que s&#8217;espera aconseguir amb el <abbr title="Google Summer of Code">GSOC</abbr> d&#8217;enguany. Així, les properes versions seran totes 0.x, amb noves funcionalitats a cada versió.</p>
<p>El proper repte és resoldre l&#8217;assumpte del <em>&lt;!&#8211;more&#8211;&gt;</em> i fer un panell d&#8217;administració per a l&#8217;extensió, de manera que no s&#8217;haja d&#8217;editar a ma un fitxer per a configurar coses com l&#8217;idioma per defecte, les traduccions a generar, etc.</p>
<p>I, com no, demanar ajuda a tots aquells usuaris que utilitzeu l&#8217;extensió (que sé que no seran molts, però més val pocs i bons&#8230;). Feu comentaris, suggeriments, avisos d&#8217;errades, i tot el que vos vinga al cap. S&#8217;agrairà <img src='http://xavi.ivars.me/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<div class="plusone"><g:plusone size="medium" href="http://xavi.ivars.me/bloc/2009/wp-apertium-09/"></g:plusone></div><a href='http://twitter.com/share?url=http%3A%2F%2Fxavi.ivars.me%2F%3Fp%3D852&count=horizontal&related=xavivars&text=WP-Apertium%200.9' class='twitter-share-button' data-text='WP-Apertium 0.9' data-url='http://xavi.ivars.me/?p=852' data-counturl='http://xavi.ivars.me/bloc/2009/wp-apertium-09/' data-count='horizontal' data-via='xavivars' data-related='xavivars'></a><span class="fb_share"><fb:like href="http://xavi.ivars.me/bloc/2009/wp-apertium-09/" layout="button_count"></fb:like></span>]]></content:encoded>
			<wfw:commentRss>http://xavi.ivars.me/bloc/2009/wp-apertium-09/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/es/deed.ca</creativeCommons:license>	</item>
		<item>
		<title>El Racó de Xavi → Comment-author-link Repair, nou plugin per a WordPress</title>
		<link>http://xavi.ivars.me/bloc/2009/comment-author-link-repair-nou-plugin-per-a-wordpress/</link>
		<comments>http://xavi.ivars.me/bloc/2009/comment-author-link-repair-nou-plugin-per-a-wordpress/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 18:55:51 +0000</pubDate>
		<dc:creator>xavi</dc:creator>
				<category><![CDATA[Programació]]></category>
		<category><![CDATA[comment-12635]]></category>

		<guid isPermaLink="false">http://xavi.ivars.me/?p=617</guid>
		<description><![CDATA[<p><a href="http://creativecommons.org/licenses/by-nc-sa/3.0/es/deed.ca" rel="license" title="Aquesta obra està llicenciada sota una llicència Creative Commons Reconeixement-No comercial-Compartir Igual 3.0"><img src="http://xavi.ivars.me/wp-content/themes/racov3/images/cc.png" alt="CC" /></a> El racó de Xavi (<a href="http://xavi.ivars.me/bloc/2009/comment-author-link-repair-nou-plugin-per-a-wordpress/">enllaç a la entrada</a>)</p><br /><br /><p>A partir del <a href="http://xavi.ivars.me/bloc/2009/errors-404-i-google-analytics/#comment-12635">comentari</a> de <a href="http://caballe.cat/wp/" target="_blank">Xavier Caballé</a> a l&#8217;entrada sobre el <a href="http://xavi.ivars.me/bloc/2009/errors-404-i-google-analytics/">Google Analytics i els errors 404</a>, he fet una xicoteta anàlisi de les pàgines que li tornen un error 404 al <a href="http://en.wikipedia.org/wiki/Googlebot" target="_blank">Googlebot</a>, segons les <a href="https://www.google.com/webmasters/tools/">Google Webmaster Tools</a>.</p>
<p>I, a part d&#8217;alguns enllaços que encara estaven apuntant a les URL de quan el blog funcionava amb Pivot, he trobat un parell d&#8217;errors que seguien un patró. Apuntaven a diverses pàgines del meu blog, i tenien com a característica que acabaven amb <em>&#8216; rel=&#8217;external nofollow</em>. Què passava? Doncs que des d&#8217;algun lloc s&#8217;estava enllaçant cap a aquestes pàgines amb alguna cosa com</p>
<pre lang="html" escaped="true">&lt;a href="http://xavi.ivars.me/algo' rel='external nofollow"&gt;enllaç&lt;/a&gt;</pre>
<p>en lloc de</p>
<pre lang="html" escaped="true">&lt;a href="http://xavi.ivars.me/algo" rel="external nofollow"&gt;enllaç&lt;/a&gt;</pre>
<p>Pareu atenció amb les cometes simples en el primer cas, i dobles en el segon.</p>
<p>A més, tots els enllaços eren del <a href="http://ooopb.com/blog/">blog d&#8217;Òscar</a>, o siga que el problema era seu <img src='http://xavi.ivars.me/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Com que no sabia exactament d&#8217;on podia recaure el problema, però era evident que no era ni a l&#8217;enviar jo els pingbacks, ni del tema que gasta Òscar al blog (ho he comprovat), he pensat que el problema venia amb la funció <code>comment_author_link()</code> del WordPress.</p>
<p>Així que m&#8217;he posat mans a l&#8217;obra, i en un momentet tenia un &#8220;mini-plugin&#8221; per a resoldre-ho: l&#8217;he anomenat<strong> Comment-author-link Repair</strong>, i ací està el codi, per si a algú li interessa.</p>
<pre lang="php" escaped="true">&lt;?php

/* Plugin Name: wp-calr - Comment-author-link Repair
Plugin URI: http://xavi.ivars.me/utilitats/comment-author-link-repair/
Description: This plugin will repair single quote problem on some pingbacks
Version: 1.0
Author: Xavi Ivars
Author URI: http://xavi.ivars.me
*/

function comment_author_link_repair($link)
{
	$link = preg_replace("/' rel='external/","\" rel=\"external", $link);
	return $link;
}

add_filter('get_comment_author_link', 'comment_author_link_repair');

?&gt;</pre>
<div class="plusone"><g:plusone size="medium" href="http://xavi.ivars.me/bloc/2009/comment-author-link-repair-nou-plugin-per-a-wordpress/"></g:plusone></div><a href='http://twitter.com/share?url=http%3A%2F%2Fxavi.ivars.me%2F%3Fp%3D617&count=horizontal&related=xavivars&text=Comment-author-link%20Repair%2C%20nou%20plugin%20per%20a%20Wordpress' class='twitter-share-button' data-text='Comment-author-link Repair, nou plugin per a Wordpress' data-url='http://xavi.ivars.me/?p=617' data-counturl='http://xavi.ivars.me/bloc/2009/comment-author-link-repair-nou-plugin-per-a-wordpress/' data-count='horizontal' data-via='xavivars' data-related='xavivars'></a><span class="fb_share"><fb:like href="http://xavi.ivars.me/bloc/2009/comment-author-link-repair-nou-plugin-per-a-wordpress/" layout="button_count"></fb:like></span>]]></description>
			<content:encoded><![CDATA[<p>A partir del <a href="http://xavi.ivars.me/bloc/2009/errors-404-i-google-analytics/#comment-12635">comentari</a> de <a href="http://caballe.cat/wp/" target="_blank">Xavier Caballé</a> a l&#8217;entrada sobre el <a href="http://xavi.ivars.me/bloc/2009/errors-404-i-google-analytics/">Google Analytics i els errors 404</a>, he fet una xicoteta anàlisi de les pàgines que li tornen un error 404 al <a href="http://en.wikipedia.org/wiki/Googlebot" target="_blank">Googlebot</a>, segons les <a href="https://www.google.com/webmasters/tools/">Google Webmaster Tools</a>.</p>
<p>I, a part d&#8217;alguns enllaços que encara estaven apuntant a les URL de quan el blog funcionava amb Pivot, he trobat un parell d&#8217;errors que seguien un patró. Apuntaven a diverses pàgines del meu blog, i tenien com a característica que acabaven amb <em>&#8216; rel=&#8217;external nofollow</em>. Què passava? Doncs que des d&#8217;algun lloc s&#8217;estava enllaçant cap a aquestes pàgines amb alguna cosa com</p>
<pre lang="html" escaped="true">&lt;a href="http://xavi.ivars.me/algo' rel='external nofollow"&gt;enllaç&lt;/a&gt;</pre>
<p>en lloc de</p>
<pre lang="html" escaped="true">&lt;a href="http://xavi.ivars.me/algo" rel="external nofollow"&gt;enllaç&lt;/a&gt;</pre>
<p>Pareu atenció amb les cometes simples en el primer cas, i dobles en el segon.</p>
<p>A més, tots els enllaços eren del <a href="http://ooopb.com/blog/">blog d&#8217;Òscar</a>, o siga que el problema era seu <img src='http://xavi.ivars.me/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Com que no sabia exactament d&#8217;on podia recaure el problema, però era evident que no era ni a l&#8217;enviar jo els pingbacks, ni del tema que gasta Òscar al blog (ho he comprovat), he pensat que el problema venia amb la funció <code>comment_author_link()</code> del WordPress.</p>
<p>Així que m&#8217;he posat mans a l&#8217;obra, i en un momentet tenia un &#8220;mini-plugin&#8221; per a resoldre-ho: l&#8217;he anomenat<strong> Comment-author-link Repair</strong>, i ací està el codi, per si a algú li interessa.</p>
<pre lang="php" escaped="true">&lt;?php

/* Plugin Name: wp-calr - Comment-author-link Repair
Plugin URI: http://xavi.ivars.me/utilitats/comment-author-link-repair/
Description: This plugin will repair single quote problem on some pingbacks
Version: 1.0
Author: Xavi Ivars
Author URI: http://xavi.ivars.me
*/

function comment_author_link_repair($link)
{
	$link = preg_replace("/' rel='external/","\" rel=\"external", $link);
	return $link;
}

add_filter('get_comment_author_link', 'comment_author_link_repair');

?&gt;</pre>
<div class="plusone"><g:plusone size="medium" href="http://xavi.ivars.me/bloc/2009/comment-author-link-repair-nou-plugin-per-a-wordpress/"></g:plusone></div><a href='http://twitter.com/share?url=http%3A%2F%2Fxavi.ivars.me%2F%3Fp%3D617&count=horizontal&related=xavivars&text=Comment-author-link%20Repair%2C%20nou%20plugin%20per%20a%20Wordpress' class='twitter-share-button' data-text='Comment-author-link Repair, nou plugin per a Wordpress' data-url='http://xavi.ivars.me/?p=617' data-counturl='http://xavi.ivars.me/bloc/2009/comment-author-link-repair-nou-plugin-per-a-wordpress/' data-count='horizontal' data-via='xavivars' data-related='xavivars'></a><span class="fb_share"><fb:like href="http://xavi.ivars.me/bloc/2009/comment-author-link-repair-nou-plugin-per-a-wordpress/" layout="button_count"></fb:like></span>]]></content:encoded>
			<wfw:commentRss>http://xavi.ivars.me/bloc/2009/comment-author-link-repair-nou-plugin-per-a-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/es/deed.ca</creativeCommons:license>	</item>
		<item>
		<title>El Racó de Xavi → Errors 404 i Google Analytics</title>
		<link>http://xavi.ivars.me/bloc/2009/errors-404-i-google-analytics/</link>
		<comments>http://xavi.ivars.me/bloc/2009/errors-404-i-google-analytics/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 17:21:28 +0000</pubDate>
		<dc:creator>xavi</dc:creator>
				<category><![CDATA[Programació]]></category>
		<category><![CDATA[404]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[racó de xavi]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://xavi.ivars.me/?p=569</guid>
		<description><![CDATA[<p><a href="http://creativecommons.org/licenses/by-nc-sa/3.0/es/deed.ca" rel="license" title="Aquesta obra està llicenciada sota una llicència Creative Commons Reconeixement-No comercial-Compartir Igual 3.0"><img src="http://xavi.ivars.me/wp-content/themes/racov3/images/cc.png" alt="CC" /></a> El racó de Xavi (<a href="http://xavi.ivars.me/bloc/2009/errors-404-i-google-analytics/">enllaç a la entrada</a>)</p><br /><br /><p>L&#8217;altre dia vaig estar pensant en les coses que em faltava per implementar en aquest blog, i que m&#8217;agradaria tindre &#8220;controlades&#8221; en certa manera. I em van vindre al cap els errors 404 (els famosos de que no s&#8217;ha trobat la pàgina).</p>
<p>Tot i que mostrava l&#8217;avís de que la pàgina no s&#8217;havia trobat, i a més l&#8217;avis estava &#8220;integrat&#8221; al tema, després jo no podia saber quines pàgines havien presentat problemes als lectors del blog. Així que, en un primer moment, em vaig posar a fer el que fem tots els usuaris de WordPress: <em>tirar</em> de plugins per afegir funcionalitats.</p>
<p>I <a href="http://ayudawordpress.com/plugin-que-notifica-errores-404/" target="_blank">en vaig trobar un</a> que era quasi el que volia: <a href="http://alexking.org/projects/wordpress/readme?project=404-notifier" target="_blank">404 notifier</a>. Aquest plugin detecta els errors 404 que s&#8217;han produït al blog, informant de quines pàgines</p>
<p>Però aquest plugin té una cosa que el feia terrible per a les meues necessitats: els avisos de pàgines 404 els envia al correu electrònic. I no reb ja prou coses per correu electrònic (estic subscrit a una infinitat de llistes de correu a les que, poc a poc, vaig demanant la baixa)!</p>
<p>Perquè no intentar que les coses siguen com un vol? Jo, en aquest cas, volia &#8220;poder saber quins són els errors 404 del blog&#8221;, i no &#8220;saber quins són els errors 404 del blog&#8221;. La diferència eixa entre &#8220;poder saber&#8221; i &#8220;saber&#8221; és importantíssima, sobretot en aquesta &#8220;era de la informació&#8221;, on ens trobem saturats per dades que, la majoria de vegades, ni necessitem.</p>
<p>Així que em vaig posar <em>&#8220;manos a la obra&#8221;</em>. Vaig començar a buscar per internet i <a href="http://www.advanced-web-metrics.com/blog/2008/06/02/tracking-error-pages-from-wordpress/" target="_blank">vaig trobar una bona entrada</a> en un blog on contaven com utilitzar el Google Analytics per a analitzar els missatges d&#8217;error produïts al WordPress. Si bé és cert que d&#8217;aquesta manera només es podran gestionar les visites fetes per lectors amb el javascript activat (com la resta d&#8217;estadístiques de l&#8217;Analytics) ens pot servir prou com a base per a veure per on se&#8217;ns estan <em>escapant</em> els lectors.</p>
<p>I la questió va resultar ben senzilla: només calia <em>modificar</em> la URL que registra l&#8217;analytics quan entra a una pàgina del blog que no existeix per una altra que siga senzilla de controlar després. Despreś de pegar-li algunes voltes, vaig optar per <em>reescriure</em> les URLs que donen error per &#8220;/404/url-original/&#8221;, de manera que una petició a la pàgina <code>http://xavi.ivars.me/aquesta-no-existeix/</code> es queda registrada al Google Analytics com a <code>http://xavi.ivars.me/404/aquesta-no-existeix/</code>.</p>
<p>Per a implementar-ho, només cal modificar a la pàgina 404.php del nostre tema.</p>
<pre lang="javascript">
<script type="text/javascript">
	var pageTracker = _gat._getTracker("UA-XXXXX-X");
	pageTracker._initData();
	pageTracker._trackPageview();
</script>
</pre>
<p>per</p>
<pre lang="javascript">
<script type="text/javascript">
	var pageTracker = _gat._getTracker("UA-XXXXX-X");
	pageTracker._initData();
	var xvurl = '/404' + document.location.pathname;
	if(document.location.search!='') {
		xvurl +=  document.location.search;
	}
	pageTracker._trackPageview(xvurl);
</script>
</pre>
<p>En el meu cas, com que no tinc pàgina 404.php, i tot es troba a l&#8217;index.php, havia de fer la substitució només en el cas de que es tractara d&#8217;un error 404. A fer això ens ajuda la funció de WordPress is_404()</p>
<pre lang="javascript">
<script type="text/javascript">
	var pageTracker = _gat._getTracker("UA-XXXXX-X");
	pageTracker._initData();
<?php if(!is_404()) { ?>
	pageTracker._trackPageview();
<?php } else { ?>
	var xvurl = '/404' + document.location.pathname;
	if(document.location.search!='') {
		xvurl +=  document.location.search;
	}
	pageTracker._trackPageview(xvurl);
<?php } ?>
</script>
</pre>
<div class="plusone"><g:plusone size="medium" href="http://xavi.ivars.me/bloc/2009/errors-404-i-google-analytics/"></g:plusone></div><a href='http://twitter.com/share?url=http%3A%2F%2Fxavi.ivars.me%2F%3Fp%3D569&count=horizontal&related=xavivars&text=Errors%20404%20i%20Google%20Analytics' class='twitter-share-button' data-text='Errors 404 i Google Analytics' data-url='http://xavi.ivars.me/?p=569' data-counturl='http://xavi.ivars.me/bloc/2009/errors-404-i-google-analytics/' data-count='horizontal' data-via='xavivars' data-related='xavivars'></a><span class="fb_share"><fb:like href="http://xavi.ivars.me/bloc/2009/errors-404-i-google-analytics/" layout="button_count"></fb:like></span>]]></description>
			<content:encoded><![CDATA[<p>L&#8217;altre dia vaig estar pensant en les coses que em faltava per implementar en aquest blog, i que m&#8217;agradaria tindre &#8220;controlades&#8221; en certa manera. I em van vindre al cap els errors 404 (els famosos de que no s&#8217;ha trobat la pàgina).</p>
<p>Tot i que mostrava l&#8217;avís de que la pàgina no s&#8217;havia trobat, i a més l&#8217;avis estava &#8220;integrat&#8221; al tema, després jo no podia saber quines pàgines havien presentat problemes als lectors del blog. Així que, en un primer moment, em vaig posar a fer el que fem tots els usuaris de WordPress: <em>tirar</em> de plugins per afegir funcionalitats.</p>
<p>I <a href="http://ayudawordpress.com/plugin-que-notifica-errores-404/" target="_blank">en vaig trobar un</a> que era quasi el que volia: <a href="http://alexking.org/projects/wordpress/readme?project=404-notifier" target="_blank">404 notifier</a>. Aquest plugin detecta els errors 404 que s&#8217;han produït al blog, informant de quines pàgines</p>
<p>Però aquest plugin té una cosa que el feia terrible per a les meues necessitats: els avisos de pàgines 404 els envia al correu electrònic. I no reb ja prou coses per correu electrònic (estic subscrit a una infinitat de llistes de correu a les que, poc a poc, vaig demanant la baixa)!</p>
<p>Perquè no intentar que les coses siguen com un vol? Jo, en aquest cas, volia &#8220;poder saber quins són els errors 404 del blog&#8221;, i no &#8220;saber quins són els errors 404 del blog&#8221;. La diferència eixa entre &#8220;poder saber&#8221; i &#8220;saber&#8221; és importantíssima, sobretot en aquesta &#8220;era de la informació&#8221;, on ens trobem saturats per dades que, la majoria de vegades, ni necessitem.</p>
<p>Així que em vaig posar <em>&#8220;manos a la obra&#8221;</em>. Vaig començar a buscar per internet i <a href="http://www.advanced-web-metrics.com/blog/2008/06/02/tracking-error-pages-from-wordpress/" target="_blank">vaig trobar una bona entrada</a> en un blog on contaven com utilitzar el Google Analytics per a analitzar els missatges d&#8217;error produïts al WordPress. Si bé és cert que d&#8217;aquesta manera només es podran gestionar les visites fetes per lectors amb el javascript activat (com la resta d&#8217;estadístiques de l&#8217;Analytics) ens pot servir prou com a base per a veure per on se&#8217;ns estan <em>escapant</em> els lectors.</p>
<p>I la questió va resultar ben senzilla: només calia <em>modificar</em> la URL que registra l&#8217;analytics quan entra a una pàgina del blog que no existeix per una altra que siga senzilla de controlar després. Despreś de pegar-li algunes voltes, vaig optar per <em>reescriure</em> les URLs que donen error per &#8220;/404/url-original/&#8221;, de manera que una petició a la pàgina <code>http://xavi.ivars.me/aquesta-no-existeix/</code> es queda registrada al Google Analytics com a <code>http://xavi.ivars.me/404/aquesta-no-existeix/</code>.</p>
<p>Per a implementar-ho, només cal modificar a la pàgina 404.php del nostre tema.</p>
<pre lang="javascript">
<script type="text/javascript">
	var pageTracker = _gat._getTracker("UA-XXXXX-X");
	pageTracker._initData();
	pageTracker._trackPageview();
</script>
</pre>
<p>per</p>
<pre lang="javascript">
<script type="text/javascript">
	var pageTracker = _gat._getTracker("UA-XXXXX-X");
	pageTracker._initData();
	var xvurl = '/404' + document.location.pathname;
	if(document.location.search!='') {
		xvurl +=  document.location.search;
	}
	pageTracker._trackPageview(xvurl);
</script>
</pre>
<p>En el meu cas, com que no tinc pàgina 404.php, i tot es troba a l&#8217;index.php, havia de fer la substitució només en el cas de que es tractara d&#8217;un error 404. A fer això ens ajuda la funció de WordPress is_404()</p>
<pre lang="javascript">
<script type="text/javascript">
	var pageTracker = _gat._getTracker("UA-XXXXX-X");
	pageTracker._initData();
<?php if(!is_404()) { ?>
	pageTracker._trackPageview();
<?php } else { ?>
	var xvurl = '/404' + document.location.pathname;
	if(document.location.search!='') {
		xvurl +=  document.location.search;
	}
	pageTracker._trackPageview(xvurl);
<?php } ?>
</script>
</pre>
<div class="plusone"><g:plusone size="medium" href="http://xavi.ivars.me/bloc/2009/errors-404-i-google-analytics/"></g:plusone></div><a href='http://twitter.com/share?url=http%3A%2F%2Fxavi.ivars.me%2F%3Fp%3D569&count=horizontal&related=xavivars&text=Errors%20404%20i%20Google%20Analytics' class='twitter-share-button' data-text='Errors 404 i Google Analytics' data-url='http://xavi.ivars.me/?p=569' data-counturl='http://xavi.ivars.me/bloc/2009/errors-404-i-google-analytics/' data-count='horizontal' data-via='xavivars' data-related='xavivars'></a><span class="fb_share"><fb:like href="http://xavi.ivars.me/bloc/2009/errors-404-i-google-analytics/" layout="button_count"></fb:like></span>]]></content:encoded>
			<wfw:commentRss>http://xavi.ivars.me/bloc/2009/errors-404-i-google-analytics/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/es/deed.ca</creativeCommons:license>	</item>
		<item>
		<title>El Racó de Xavi → Manuals d&#039;XML i XSL</title>
		<link>http://xavi.ivars.me/bloc/2008/manuals-xml-i-xsl/</link>
		<comments>http://xavi.ivars.me/bloc/2008/manuals-xml-i-xsl/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 14:51:12 +0000</pubDate>
		<dc:creator>xavi</dc:creator>
				<category><![CDATA[Programació]]></category>
		<category><![CDATA[a]]></category>
		<category><![CDATA[ex]]></category>

		<guid isPermaLink="false">http://xavi.ivars.me/?p=458</guid>
		<description><![CDATA[<p><a href="http://creativecommons.org/licenses/by-nc-sa/3.0/es/deed.ca" rel="license" title="Aquesta obra està llicenciada sota una llicència Creative Commons Reconeixement-No comercial-Compartir Igual 3.0"><img src="http://xavi.ivars.me/wp-content/themes/racov3/images/cc.png" alt="CC" /></a> El racó de Xavi (<a href="http://xavi.ivars.me/bloc/2008/manuals-xml-i-xsl/">enllaç a la entrada</a>)</p><br /><br /><p>Avui estava intentat fer unes xicotetes transformacions a un XML que representava un model d&#8217;una llengua representat en <em>n-grames</em>, per tal d&#8217;eliminar algunes de de les entrades, i obtenir el resultat ordenat per la quantitat d&#8217;aparicions del <em>n-grama</em> en qüestió.</p>
<p>Ací va un exemple de l&#8217;XML:</p>
<p><code class="html"><br />
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;<br />
&lt;ngrams&gt;<br />
<span class="tab">&lt;entry length=&quot;0&quot; string=&quot;&quot; count=&quot;278402143&quot;&gt;&lt;/entry&gt;</span><br />
<span class="tab">&lt;entry length=&quot;3&quot; string=&quot;##a&quot; count=&quot;3725333&quot;&gt;&lt;/entry&gt;</span><br />
<span class="tab">&lt;entry length=&quot;2&quot; string=&quot;ab&quot; count=&quot;656482&quot;&gt;&lt;/entry&gt;</span><br />
<span class="tab">&lt;entry length=&quot;3&quot; string=&quot;aab&quot; count=&quot;3561903&quot;&gt;&lt;/entry&gt;</span><br />
<span class="tab">&lt;entry length=&quot;1&quot; string=&quot;d&quot; count=&quot;6075086&quot;&gt;&lt;/entry&gt;</span><br />
<span class="tab">&lt;entry length=&quot;3&quot; string=&quot;#ex&quot; count=&quot;5940835&quot;&gt;&lt;/entry&gt;</span><br />
<span class="tab">&lt;entry length=&quot;3&quot; string=&quot;ai$&quot; count=&quot;1035105&quot;&gt;&lt;/entry&gt;</span><br />
&lt;ngrams&gt;</code></p>
<p>En concret, volia eliminar els <em>n-grames</em> de longitud 0 (que, per cert, no haurien d&#8217;estar al model original, però això és un altre tema) i tots aquells que contenen # o $ (indicadors d&#8217;inici i final de paraula respectivament). Després, el resultat volia mostrar-lo ordenat per nombre d&#8217;aparicions (paràmetre count).</p>
<p>Amb aquesta fulla d&#8217;estils he aconseguit el resultat que volia.<br />
<code class="html">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;<br />
&lt;xsl:stylesheet xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot; version=&quot;1.0&quot;&gt;<br />
<span class="minitab">&lt;xsl:template match=&quot;/&quot;&gt;</span><br />
<span class="minitab"><span class="minitab">&lt;ngrams&gt;</span></span><br />
<span class="minitab"><span class="minitab"><span class="minitab">&lt;xsl:for-each select=&quot;ngrams/entry&quot;&gt;</span></span></span><br />
<span class="minitab"><span class="minitab"><span class="minitab"><span class="minitab">&lt;xsl:sort select=&quot;@count&quot; data-type=&quot;number&quot; order=&quot;descending&quot;/&gt;</span></span></span></span><br />
<span class="minitab"><span class="minitab"><span class="minitab"><span class="minitab">&lt;xsl:if test=&quot;@length != &apos;0&apos;&quot;&gt;</span></span></span></span><br />
<span class="minitab"><span class="minitab"><span class="minitab"><span class="minitab"><span class="minitab">&lt;xsl:if test=&quot;not(contains(@string,&apos;#&apos;)) and not(contains(@string,&apos;$&apos;))&quot;&gt;</span></span></span></span></span><br />
<span class="minitab"><span class="minitab"><span class="minitab"><span class="minitab"><span class="minitab"><span class="minitab">&lt;xsl:copy-of select=&quot;.&quot;/&gt;</span></span></span></span></span></span><br />
<span class="minitab"><span class="minitab"><span class="minitab"><span class="minitab"><span class="minitab">&lt;/xsl:if&gt;</span></span></span></span></span><br />
<span class="minitab"><span class="minitab"><span class="minitab"><span class="minitab">&lt;/xsl:if&gt;</span></span></span></span><br />
<span class="minitab"><span class="minitab"><span class="minitab">&lt;/xsl:for-each&gt;</span></span></span><br />
<span class="minitab"><span class="minitab">&lt;/ngrams&gt;</span></span><br />
<span class="minitab">&lt;/xsl:template&gt;</span><br />
&lt;/xsl:stylesheet&gt;</code></p>
<p>A més, com que no me&#8217;n recordava massa de XSLT (tenia falta ja de fer memòria), he buscat alguna cosa per internet, i m&#8217;he trobat una <a href="http://www.mulberrytech.com/quickref/XSLT_1quickref-v2.pdf" target="_blank"><em>xulla</em></a> (cheatsheet en anglés) a la pàgina de <a href="http://www.mulberrytech.com/quickref/" target="_blank">Mulberry Technologies</a> molt útil per a l&#8217;ocasió. També l&#8217;he afegida a la secció de <a href="http://xavi.ivars.me/manuals/">manuals</a> d&#8217;aquesta web.</p>
<div class="plusone"><g:plusone size="medium" href="http://xavi.ivars.me/bloc/2008/manuals-xml-i-xsl/"></g:plusone></div><a href='http://twitter.com/share?url=http%3A%2F%2Fxavi.ivars.me%2F%3Fp%3D458&count=horizontal&related=xavivars&text=Manuals%20d%26%23039%3BXML%20i%20XSL' class='twitter-share-button' data-text='Manuals d&#039;XML i XSL' data-url='http://xavi.ivars.me/?p=458' data-counturl='http://xavi.ivars.me/bloc/2008/manuals-xml-i-xsl/' data-count='horizontal' data-via='xavivars' data-related='xavivars'></a><span class="fb_share"><fb:like href="http://xavi.ivars.me/bloc/2008/manuals-xml-i-xsl/" layout="button_count"></fb:like></span>]]></description>
			<content:encoded><![CDATA[<p>Avui estava intentat fer unes xicotetes transformacions a un XML que representava un model d&#8217;una llengua representat en <em>n-grames</em>, per tal d&#8217;eliminar algunes de de les entrades, i obtenir el resultat ordenat per la quantitat d&#8217;aparicions del <em>n-grama</em> en qüestió.</p>
<p>Ací va un exemple de l&#8217;XML:</p>
<p><code class="html"><br />
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;<br />
&lt;ngrams&gt;<br />
<span class="tab">&lt;entry length=&quot;0&quot; string=&quot;&quot; count=&quot;278402143&quot;&gt;&lt;/entry&gt;</span><br />
<span class="tab">&lt;entry length=&quot;3&quot; string=&quot;##a&quot; count=&quot;3725333&quot;&gt;&lt;/entry&gt;</span><br />
<span class="tab">&lt;entry length=&quot;2&quot; string=&quot;ab&quot; count=&quot;656482&quot;&gt;&lt;/entry&gt;</span><br />
<span class="tab">&lt;entry length=&quot;3&quot; string=&quot;aab&quot; count=&quot;3561903&quot;&gt;&lt;/entry&gt;</span><br />
<span class="tab">&lt;entry length=&quot;1&quot; string=&quot;d&quot; count=&quot;6075086&quot;&gt;&lt;/entry&gt;</span><br />
<span class="tab">&lt;entry length=&quot;3&quot; string=&quot;#ex&quot; count=&quot;5940835&quot;&gt;&lt;/entry&gt;</span><br />
<span class="tab">&lt;entry length=&quot;3&quot; string=&quot;ai$&quot; count=&quot;1035105&quot;&gt;&lt;/entry&gt;</span><br />
&lt;ngrams&gt;</code></p>
<p>En concret, volia eliminar els <em>n-grames</em> de longitud 0 (que, per cert, no haurien d&#8217;estar al model original, però això és un altre tema) i tots aquells que contenen # o $ (indicadors d&#8217;inici i final de paraula respectivament). Després, el resultat volia mostrar-lo ordenat per nombre d&#8217;aparicions (paràmetre count).</p>
<p>Amb aquesta fulla d&#8217;estils he aconseguit el resultat que volia.<br />
<code class="html">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;<br />
&lt;xsl:stylesheet xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot; version=&quot;1.0&quot;&gt;<br />
<span class="minitab">&lt;xsl:template match=&quot;/&quot;&gt;</span><br />
<span class="minitab"><span class="minitab">&lt;ngrams&gt;</span></span><br />
<span class="minitab"><span class="minitab"><span class="minitab">&lt;xsl:for-each select=&quot;ngrams/entry&quot;&gt;</span></span></span><br />
<span class="minitab"><span class="minitab"><span class="minitab"><span class="minitab">&lt;xsl:sort select=&quot;@count&quot; data-type=&quot;number&quot; order=&quot;descending&quot;/&gt;</span></span></span></span><br />
<span class="minitab"><span class="minitab"><span class="minitab"><span class="minitab">&lt;xsl:if test=&quot;@length != &apos;0&apos;&quot;&gt;</span></span></span></span><br />
<span class="minitab"><span class="minitab"><span class="minitab"><span class="minitab"><span class="minitab">&lt;xsl:if test=&quot;not(contains(@string,&apos;#&apos;)) and not(contains(@string,&apos;$&apos;))&quot;&gt;</span></span></span></span></span><br />
<span class="minitab"><span class="minitab"><span class="minitab"><span class="minitab"><span class="minitab"><span class="minitab">&lt;xsl:copy-of select=&quot;.&quot;/&gt;</span></span></span></span></span></span><br />
<span class="minitab"><span class="minitab"><span class="minitab"><span class="minitab"><span class="minitab">&lt;/xsl:if&gt;</span></span></span></span></span><br />
<span class="minitab"><span class="minitab"><span class="minitab"><span class="minitab">&lt;/xsl:if&gt;</span></span></span></span><br />
<span class="minitab"><span class="minitab"><span class="minitab">&lt;/xsl:for-each&gt;</span></span></span><br />
<span class="minitab"><span class="minitab">&lt;/ngrams&gt;</span></span><br />
<span class="minitab">&lt;/xsl:template&gt;</span><br />
&lt;/xsl:stylesheet&gt;</code></p>
<p>A més, com que no me&#8217;n recordava massa de XSLT (tenia falta ja de fer memòria), he buscat alguna cosa per internet, i m&#8217;he trobat una <a href="http://www.mulberrytech.com/quickref/XSLT_1quickref-v2.pdf" target="_blank"><em>xulla</em></a> (cheatsheet en anglés) a la pàgina de <a href="http://www.mulberrytech.com/quickref/" target="_blank">Mulberry Technologies</a> molt útil per a l&#8217;ocasió. També l&#8217;he afegida a la secció de <a href="http://xavi.ivars.me/manuals/">manuals</a> d&#8217;aquesta web.</p>
<div class="plusone"><g:plusone size="medium" href="http://xavi.ivars.me/bloc/2008/manuals-xml-i-xsl/"></g:plusone></div><a href='http://twitter.com/share?url=http%3A%2F%2Fxavi.ivars.me%2F%3Fp%3D458&count=horizontal&related=xavivars&text=Manuals%20d%26%23039%3BXML%20i%20XSL' class='twitter-share-button' data-text='Manuals d&#039;XML i XSL' data-url='http://xavi.ivars.me/?p=458' data-counturl='http://xavi.ivars.me/bloc/2008/manuals-xml-i-xsl/' data-count='horizontal' data-via='xavivars' data-related='xavivars'></a><span class="fb_share"><fb:like href="http://xavi.ivars.me/bloc/2008/manuals-xml-i-xsl/" layout="button_count"></fb:like></span>]]></content:encoded>
			<wfw:commentRss>http://xavi.ivars.me/bloc/2008/manuals-xml-i-xsl/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/es/deed.ca</creativeCommons:license>	</item>
		<item>
		<title>El Racó de Xavi → Conversor de nombres romans</title>
		<link>http://xavi.ivars.me/bloc/2008/conversor-de-nombres-romans/</link>
		<comments>http://xavi.ivars.me/bloc/2008/conversor-de-nombres-romans/#comments</comments>
		<pubDate>Wed, 13 Aug 2008 16:24:52 +0000</pubDate>
		<dc:creator>xavi</dc:creator>
				<category><![CDATA[Programació]]></category>
		<category><![CDATA[conversor]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[nombres romans]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://xavi.ivars.me/?p=211</guid>
		<description><![CDATA[<p><a href="http://creativecommons.org/licenses/by-nc-sa/3.0/es/deed.ca" rel="license" title="Aquesta obra està llicenciada sota una llicència Creative Commons Reconeixement-No comercial-Compartir Igual 3.0"><img src="http://xavi.ivars.me/wp-content/themes/racov3/images/cc.png" alt="CC" /></a> El racó de Xavi (<a href="http://xavi.ivars.me/bloc/2008/conversor-de-nombres-romans/">enllaç a la entrada</a>)</p><br /><br /><p>He afegit un nova secció a la web: la secció d&#8217;<a href="http://xavi.ivars.me/utilitats/">Utilitats</a>. En ella aniré afegint algunes utilitats (principalment <em>Javascript</em>) que he anat desenvolupant per algun motiu o un altre.</p>
<p>La primera que he posat ha sigut un <a href="http://xavi.ivars.me/utilitats/conversor-de-nombres-romans/">conversor de nombres romans a nombres aràbics i viceversa</a>. El conversor detecta automàticament el tipus de nombre que s&#8217;ha introduït, i el converteix a l&#8217;altre tipus (de romà a aràbic i d&#8217;aràbic a romà).</p>
<p>Em va vindre al cap fer-lo fa un parell de dies, quan estava ajudant a Carlos a fer uns deures que li han manat a l&#8217;escola. Ara, ja és més fàcil fer les conversions <img src='http://xavi.ivars.me/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>A més, tot això m&#8217;ha permés trobar la manera d&#8217;incloure pàgines <em>php</em> personalitzades dins del WordPress, de manera que des del propi gestor de WordPress, puc fer noves pàgines d&#8217;eixe estil.</p>
<p>Espere que a algú li aprofite aquest conversor!</p>
<div class="plusone"><g:plusone size="medium" href="http://xavi.ivars.me/bloc/2008/conversor-de-nombres-romans/"></g:plusone></div><a href='http://twitter.com/share?url=http%3A%2F%2Fxavi.ivars.me%2F%3Fp%3D211&count=horizontal&related=xavivars&text=Conversor%20de%20nombres%20romans' class='twitter-share-button' data-text='Conversor de nombres romans' data-url='http://xavi.ivars.me/?p=211' data-counturl='http://xavi.ivars.me/bloc/2008/conversor-de-nombres-romans/' data-count='horizontal' data-via='xavivars' data-related='xavivars'></a><span class="fb_share"><fb:like href="http://xavi.ivars.me/bloc/2008/conversor-de-nombres-romans/" layout="button_count"></fb:like></span>]]></description>
			<content:encoded><![CDATA[<p>He afegit un nova secció a la web: la secció d&#8217;<a href="http://xavi.ivars.me/utilitats/">Utilitats</a>. En ella aniré afegint algunes utilitats (principalment <em>Javascript</em>) que he anat desenvolupant per algun motiu o un altre.</p>
<p>La primera que he posat ha sigut un <a href="http://xavi.ivars.me/utilitats/conversor-de-nombres-romans/">conversor de nombres romans a nombres aràbics i viceversa</a>. El conversor detecta automàticament el tipus de nombre que s&#8217;ha introduït, i el converteix a l&#8217;altre tipus (de romà a aràbic i d&#8217;aràbic a romà).</p>
<p>Em va vindre al cap fer-lo fa un parell de dies, quan estava ajudant a Carlos a fer uns deures que li han manat a l&#8217;escola. Ara, ja és més fàcil fer les conversions <img src='http://xavi.ivars.me/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>A més, tot això m&#8217;ha permés trobar la manera d&#8217;incloure pàgines <em>php</em> personalitzades dins del WordPress, de manera que des del propi gestor de WordPress, puc fer noves pàgines d&#8217;eixe estil.</p>
<p>Espere que a algú li aprofite aquest conversor!</p>
<div class="plusone"><g:plusone size="medium" href="http://xavi.ivars.me/bloc/2008/conversor-de-nombres-romans/"></g:plusone></div><a href='http://twitter.com/share?url=http%3A%2F%2Fxavi.ivars.me%2F%3Fp%3D211&count=horizontal&related=xavivars&text=Conversor%20de%20nombres%20romans' class='twitter-share-button' data-text='Conversor de nombres romans' data-url='http://xavi.ivars.me/?p=211' data-counturl='http://xavi.ivars.me/bloc/2008/conversor-de-nombres-romans/' data-count='horizontal' data-via='xavivars' data-related='xavivars'></a><span class="fb_share"><fb:like href="http://xavi.ivars.me/bloc/2008/conversor-de-nombres-romans/" layout="button_count"></fb:like></span>]]></content:encoded>
			<wfw:commentRss>http://xavi.ivars.me/bloc/2008/conversor-de-nombres-romans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/es/deed.ca</creativeCommons:license>	</item>
		<item>
		<title>El Racó de Xavi → Amigos.tw …</title>
		<link>http://xavi.ivars.me/bloc/2008/amigostw/</link>
		<comments>http://xavi.ivars.me/bloc/2008/amigostw/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 17:10:43 +0000</pubDate>
		<dc:creator>xavi</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programació]]></category>
		<category><![CDATA[amigostw]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[xorrades]]></category>

		<guid isPermaLink="false">http://xavi.ivars.me/?p=204</guid>
		<description><![CDATA[<p><a href="http://creativecommons.org/licenses/by-nc-sa/3.0/es/deed.ca" rel="license" title="Aquesta obra està llicenciada sota una llicència Creative Commons Reconeixement-No comercial-Compartir Igual 3.0"><img src="http://xavi.ivars.me/wp-content/themes/racov3/images/cc.png" alt="CC" /></a> El racó de Xavi (<a href="http://xavi.ivars.me/bloc/2008/amigostw/">enllaç a la entrada</a>)</p><br /><br /><p>Està clar que pel món web 2.0 hi ha molts serveis<em> xorra</em>, d&#8217;eixos que dius: <cite>i això per a que aprofitarà???</cite></p>
<p>Un d&#8217;ells, clarament, és el <a href="http://www.twitter.com">Twitter</a>. Alguns l&#8217;anomenen <em>microblogging</em>, o <em>lifestreaming</em>, o ves-a-saber-tu-què. Es tracta (per als pocs que no ho sàpiguen) d&#8217;una plataforma on posar coses: principalment la resposta a la trascendental pregunta: <cite>què estàs fent ara?</cite></p>
<p>Com no, jo com a bon friki, coincidint amb el <a href="http://xavi.ivars.me/tag/estiu-20">curset de web 2.0</a> (i després de moltes insistències d&#8217;Òscar) em vaig obrir un <a href="http://twitter.com/xavivars">compte</a>.</p>
<p>I avuí, a través del <a href="http://twitter.com/almaoscura" target="_blank">twitter d&#8217;Óscar J. Baeza</a>, m&#8217;he enterat de la nova <em>xorrada 2.0</em>: el Amigos.tw. Es tracta d&#8217;una web d&#8217;especulació i compra/venda de mascotes. I lo 2.0 és que aquestes mascotes són usuaris del twitter <img src='http://xavi.ivars.me/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  Segons el seu creador, en només 1 dia ha posat en marxa la web!!!</p>
<p>Així, en estos moments, sóc propietari de gent tan influent com Angel Maria Herrera, Andreu Buenafuente, Ricardo Galli, Javier Casares (el creador de Amigos.tw), Matt Cutts,&#8230; i també sóc propietari d&#8217;organismes i institucions com Softcatalà, Marbú i Microformats.</p>
<p>També he tingut durant un bon rato a Antonio Ortiz, Óscar J. Baeza, Kirai, mobuzz.tv, Evento Blog,&#8230;</p>
<p>Pel que em sembla, quan compres una mascota, pagues el 120% del seu valor: d&#8217;això, un 110% va a l&#8217;actual propietari, i el 10% restant a la pròpia mascota. Després de la transacció, el valor de la mascota també puja, i si no m&#8217;equivoque el seu valor augmenta un 10% (es queda en un 110% del que valia abans de comprar-lo).</p>
<p>Així, guanyes diners si et compren/venen, així com també venent mascotes que hages comprat prèviament. També hi ha una altra manera de guanyar diners: actualitzant la teva llista d&#8217;amics (1 vegada al dia, 10.000 <em>twitees</em>) i amb invitacions (5 al dia, 5.000 <em>twitees</em> cada una).</p>
<p>Ara, crec que no seria massa bon especulador jo&#8230; <a href="http://amigos.tw/usuario.php?id=xavivars" target="_blank">No tinc un duro en estos moments</a>!!!</p>
<p style="text-align: center;"><a class="flickr-image" title="Amigos.tw 2008/08/06" rel="flickr-mgr" href="http://www.flickr.com/photos/64334834@N00/2738336947/" target="_blank"><img class="flickr-large aligncenter" src="http://farm4.static.flickr.com/3033/2738336947_8e20a3cf84.jpg" alt="Amigos.tw 2008/08/06" /></a></p>
<div class="plusone"><g:plusone size="medium" href="http://xavi.ivars.me/bloc/2008/amigostw/"></g:plusone></div><a href='http://twitter.com/share?url=http%3A%2F%2Fxavi.ivars.me%2F%3Fp%3D204&count=horizontal&related=xavivars&text=Amigos.tw%20%E2%80%A6' class='twitter-share-button' data-text='Amigos.tw …' data-url='http://xavi.ivars.me/?p=204' data-counturl='http://xavi.ivars.me/bloc/2008/amigostw/' data-count='horizontal' data-via='xavivars' data-related='xavivars'></a><span class="fb_share"><fb:like href="http://xavi.ivars.me/bloc/2008/amigostw/" layout="button_count"></fb:like></span>]]></description>
			<content:encoded><![CDATA[<p>Està clar que pel món web 2.0 hi ha molts serveis<em> xorra</em>, d&#8217;eixos que dius: <cite>i això per a que aprofitarà???</cite></p>
<p>Un d&#8217;ells, clarament, és el <a href="http://www.twitter.com">Twitter</a>. Alguns l&#8217;anomenen <em>microblogging</em>, o <em>lifestreaming</em>, o ves-a-saber-tu-què. Es tracta (per als pocs que no ho sàpiguen) d&#8217;una plataforma on posar coses: principalment la resposta a la trascendental pregunta: <cite>què estàs fent ara?</cite></p>
<p>Com no, jo com a bon friki, coincidint amb el <a href="http://xavi.ivars.me/tag/estiu-20">curset de web 2.0</a> (i després de moltes insistències d&#8217;Òscar) em vaig obrir un <a href="http://twitter.com/xavivars">compte</a>.</p>
<p>I avuí, a través del <a href="http://twitter.com/almaoscura" target="_blank">twitter d&#8217;Óscar J. Baeza</a>, m&#8217;he enterat de la nova <em>xorrada 2.0</em>: el Amigos.tw. Es tracta d&#8217;una web d&#8217;especulació i compra/venda de mascotes. I lo 2.0 és que aquestes mascotes són usuaris del twitter <img src='http://xavi.ivars.me/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  Segons el seu creador, en només 1 dia ha posat en marxa la web!!!</p>
<p>Així, en estos moments, sóc propietari de gent tan influent com Angel Maria Herrera, Andreu Buenafuente, Ricardo Galli, Javier Casares (el creador de Amigos.tw), Matt Cutts,&#8230; i també sóc propietari d&#8217;organismes i institucions com Softcatalà, Marbú i Microformats.</p>
<p>També he tingut durant un bon rato a Antonio Ortiz, Óscar J. Baeza, Kirai, mobuzz.tv, Evento Blog,&#8230;</p>
<p>Pel que em sembla, quan compres una mascota, pagues el 120% del seu valor: d&#8217;això, un 110% va a l&#8217;actual propietari, i el 10% restant a la pròpia mascota. Després de la transacció, el valor de la mascota també puja, i si no m&#8217;equivoque el seu valor augmenta un 10% (es queda en un 110% del que valia abans de comprar-lo).</p>
<p>Així, guanyes diners si et compren/venen, així com també venent mascotes que hages comprat prèviament. També hi ha una altra manera de guanyar diners: actualitzant la teva llista d&#8217;amics (1 vegada al dia, 10.000 <em>twitees</em>) i amb invitacions (5 al dia, 5.000 <em>twitees</em> cada una).</p>
<p>Ara, crec que no seria massa bon especulador jo&#8230; <a href="http://amigos.tw/usuario.php?id=xavivars" target="_blank">No tinc un duro en estos moments</a>!!!</p>
<p style="text-align: center;"><a class="flickr-image" title="Amigos.tw 2008/08/06" rel="flickr-mgr" href="http://www.flickr.com/photos/64334834@N00/2738336947/" target="_blank"><img class="flickr-large aligncenter" src="http://farm4.static.flickr.com/3033/2738336947_8e20a3cf84.jpg" alt="Amigos.tw 2008/08/06" /></a></p>
<div class="plusone"><g:plusone size="medium" href="http://xavi.ivars.me/bloc/2008/amigostw/"></g:plusone></div><a href='http://twitter.com/share?url=http%3A%2F%2Fxavi.ivars.me%2F%3Fp%3D204&count=horizontal&related=xavivars&text=Amigos.tw%20%E2%80%A6' class='twitter-share-button' data-text='Amigos.tw …' data-url='http://xavi.ivars.me/?p=204' data-counturl='http://xavi.ivars.me/bloc/2008/amigostw/' data-count='horizontal' data-via='xavivars' data-related='xavivars'></a><span class="fb_share"><fb:like href="http://xavi.ivars.me/bloc/2008/amigostw/" layout="button_count"></fb:like></span>]]></content:encoded>
			<wfw:commentRss>http://xavi.ivars.me/bloc/2008/amigostw/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/es/deed.ca</creativeCommons:license>	</item>
	</channel>
</rss>

