<?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>maduixa &#187; com es fa</title>
	<atom:link href="http://blog.jau.cat/tag/com-es-fa/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.jau.cat</link>
	<description>Blog personal d&#039;en minterior amb gust a maduixa</description>
	<lastBuildDate>Sun, 16 Oct 2011 22:02:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>El quadre de diàleg &#8220;Executa&#8221; (Alt + F2) a LXDE/Openbox s&#8217;obre en segon pla</title>
		<link>http://blog.jau.cat/2011/10/17/el-quadre-de-dialeg-executa-alt-f2-a-lxde-openbox-s-obre-en-segon-pla/</link>
		<comments>http://blog.jau.cat/2011/10/17/el-quadre-de-dialeg-executa-alt-f2-a-lxde-openbox-s-obre-en-segon-pla/#comments</comments>
		<pubDate>Sun, 16 Oct 2011 22:02:20 +0000</pubDate>
		<dc:creator>minterior</dc:creator>
				<category><![CDATA[Ajuda]]></category>
		<category><![CDATA[Programari]]></category>
		<category><![CDATA[actualització]]></category>
		<category><![CDATA[com es fa]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[lxde]]></category>
		<category><![CDATA[Openbox]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://blog.jau.cat/?p=422</guid>
		<description><![CDATA[Una altra cosa ha passat després de l&#8217;actualització a Ubuntu 11.10 Oneiric Ocelot: el quadre de diàleg per executar comandes o aplicacions s&#8217;obre en segon pla (per defecte s&#8217;executa amb la drecera de teclat Alt + F2). És a dir, que es troba sota de la finestra que tinguis en primer pla i no rep el [...]]]></description>
			<content:encoded><![CDATA[<p>Una altra cosa ha passat després de l&#8217;actualització a Ubuntu 11.10 Oneiric Ocelot: el quadre de diàleg per executar comandes o aplicacions s&#8217;obre en segon pla (per defecte s&#8217;executa amb la drecera de teclat Alt + F2). És a dir, que es troba sota de la finestra que tinguis en primer pla i no rep el focus. Amb una cerca ràpida he trobat aquest enllaç, on indica com es pot resoldre:</p>
<p><a href="https://bbs.archlinux.org/viewtopic.php?pid=992240#p992240">https://bbs.archlinux.org/viewtopic.php?pid=992240#p992240</a></p>
<p>Només cal editar el següent fitxer:</p>
<pre class="brush: bash; title: ; notranslate">nano ~/.config/openbox/lxde-rc.xml</pre>
<p>I afegir-hi aquestes línies cap al final del fitxer abans del tancament de l&#8217;etiqueta &lt;application&gt;:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;application&gt;
  &lt;!-- ... --&gt;
  &lt;application name=&quot;lxpanel&quot;&gt;
    &lt;focus&gt;yes&lt;/focus&gt;
  &lt;/application&gt;
  &lt;application name=&quot;pcmanfm&quot;&gt;
    &lt;focus&gt;yes&lt;/focus&gt;
&lt;/application&gt;
</pre>
<p>I aplicar els canvis amb la comanda:</p>
<pre class="brush: bash; title: ; notranslate">openbox --reconfigure</pre>
<p>Ara sí, en teclejar Alt + F2 tenim el quadre de diàleg en primer pla i amb el focus <img src='http://blog.jau.cat/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jau.cat/2011/10/17/el-quadre-de-dialeg-executa-alt-f2-a-lxde-openbox-s-obre-en-segon-pla/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>No arrenca el display manager lxdm en actualitzar a Ubuntu 11.10 Oneiric Ocelot</title>
		<link>http://blog.jau.cat/2011/10/16/no-arrenca-el-display-manager-lxdm-en-actualitzar-a-ubuntu-11-10-oneiric-ocelot/</link>
		<comments>http://blog.jau.cat/2011/10/16/no-arrenca-el-display-manager-lxdm-en-actualitzar-a-ubuntu-11-10-oneiric-ocelot/#comments</comments>
		<pubDate>Sun, 16 Oct 2011 04:47:22 +0000</pubDate>
		<dc:creator>minterior</dc:creator>
				<category><![CDATA[Ajuda]]></category>
		<category><![CDATA[Programari]]></category>
		<category><![CDATA[actualització]]></category>
		<category><![CDATA[com es fa]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[lightdm]]></category>
		<category><![CDATA[lxdm]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://blog.jau.cat/?p=417</guid>
		<description><![CDATA[A partir de la versió d&#8217;Ubuntu 11.10, Oneiric Ocelot, el gestor d&#8217;accés o display manager canvia. Fins ara s&#8217;havia usat per defecte GDM, o KDM a Kubuntu, i ha estat substituït per LightDM, que és molt més lleuger i permet nous temes per a la pantalla d&#8217;accés; que podrien ser compartits per totes les distribucions [...]]]></description>
			<content:encoded><![CDATA[<p>A partir de la versió d&#8217;Ubuntu 11.10, Oneiric Ocelot, el gestor d&#8217;accés o <em><strong>display manager</strong></em> canvia. Fins ara s&#8217;havia usat per defecte GDM, o KDM a Kubuntu, i ha estat substituït per LightDM, que és molt més lleuger i permet nous temes per a la pantalla d&#8217;accés; que podrien ser compartits per totes les distribucions de la família d&#8217;Ubuntu: Kubuntu, Xubuntu, Lubuntu&#8230; Com bé es pot llegir aquí: <a href="https://blueprints.launchpad.net/ubuntu/+spec/desktop-o-lightdm">https://blueprints.launchpad.net/ubuntu/+spec/desktop-o-lightdm</a></p>
<p>El problema que jo he tingut és que ja tenia configurat un altre <em>display manager</em>: <strong>lxdm</strong>, i en actualitzar ja no arrencava. La configuració de quin volem utilitzar es troba al fitxer:</p>
<pre class="brush: bash; title: ; notranslate">cat /etc/X11/default-display-manager
/usr/sbin/lightdm
</pre>
<p>Així que només cal que l&#8217;editem i canviem la línia pel nostre gestor preferit (informació més detallada a <a href="https://wiki.ubuntu.com/LightDM">https://wiki.ubuntu.com/LightDM</a>):</p>
<pre class="brush: bash; title: ; notranslate">sudo nano /etc/X11/default-display-manager
/usr/sbin/lxdm
</pre>
<p>I ara sí, en reiniciar ja torno a tenir el gestor que tenia abans <img src='http://blog.jau.cat/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jau.cat/2011/10/16/no-arrenca-el-display-manager-lxdm-en-actualitzar-a-ubuntu-11-10-oneiric-ocelot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eliminació del BOM (Byte Order Mark) en un fitxer codificat amb UTF-8</title>
		<link>http://blog.jau.cat/2011/01/12/eliminacio-del-bom-byte-order-mark-en-un-fitxer-codificat-amb-utf-8/</link>
		<comments>http://blog.jau.cat/2011/01/12/eliminacio-del-bom-byte-order-mark-en-un-fitxer-codificat-amb-utf-8/#comments</comments>
		<pubDate>Tue, 11 Jan 2011 23:36:21 +0000</pubDate>
		<dc:creator>minterior</dc:creator>
				<category><![CDATA[Programari]]></category>
		<category><![CDATA[BOM]]></category>
		<category><![CDATA[com es fa]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[utf-8]]></category>

		<guid isPermaLink="false">http://blog.jau.cat/?p=355</guid>
		<description><![CDATA[Mentre programava en PHP a la feina, una de les pàgines mostrava al principi això: ﻿&#8221;ï»¿&#8221; Tal com diu en aquest article de la wikipedia: http://en.wikipedia.org/wiki/UTF-8#Byte_order_mark això passa quan el fitxer s&#8217;ha desat amb alguns programes de Windows amb codificació UTF-8 que incorporen al principi els bytes 0xEF, 0xBB i 0xBF. És la codificació UTF-8 [...]]]></description>
			<content:encoded><![CDATA[<p>Mentre programava en PHP a la feina, una de les pàgines mostrava al principi això: ﻿&#8221;ï»¿&#8221;</p>
<p>Tal com diu en aquest article de la wikipedia: http://en.wikipedia.org/wiki/UTF-8#Byte_order_mark això passa quan el fitxer s&#8217;ha desat amb alguns programes de Windows amb codificació UTF-8 que incorporen al principi els bytes 0xEF, 0xBB i 0xBF. És la codificació UTF-8 del Unicode byte order mark (BOM), comunament referida com UTF-8 BOM.</p>
<p>Per eliminar el UTF-8 BOM podem usar aquest script en perl que desem per exemple al fitxer eliminaBom.pl:</p>
<pre class="brush: perl; title: ; notranslate">
#!/usr/bin/perl
@file=&lt;&gt;;
$file[0] =~ s/^\xEF\xBB\xBF//;
print(@file);
</pre>
<p>I l&#8217;executarem així:</p>
<pre class="brush: bash; title: ; notranslate">perl eliminaBom.pl &lt; fitxerAmbBom.txt &gt; fitxerSenseBom.txt</pre>
<p>Fet <img src='http://blog.jau.cat/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jau.cat/2011/01/12/eliminacio-del-bom-byte-order-mark-en-un-fitxer-codificat-amb-utf-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instal·lació de Kubuntu 10.10 Maverick Meerkat des d&#8217;USB</title>
		<link>http://blog.jau.cat/2011/01/11/instal-lacio-de-kubuntu-10-10-maverick-meerkat-des-d-usb/</link>
		<comments>http://blog.jau.cat/2011/01/11/instal-lacio-de-kubuntu-10-10-maverick-meerkat-des-d-usb/#comments</comments>
		<pubDate>Tue, 11 Jan 2011 22:33:54 +0000</pubDate>
		<dc:creator>minterior</dc:creator>
				<category><![CDATA[Programari]]></category>
		<category><![CDATA[com es fa]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Kubuntu]]></category>
		<category><![CDATA[syslinux]]></category>
		<category><![CDATA[USB]]></category>
		<category><![CDATA[USB creator]]></category>

		<guid isPermaLink="false">http://blog.jau.cat/?p=376</guid>
		<description><![CDATA[L&#8217;altre dia vaig instal·lar la versió 10.10 de Kubuntu, Maverick Meerkat, al meu ordinador d&#8217;escriptori. Aquesta vegada però, ho volia fer mitjançant una memòria USB, i no com altres vegades que ho he fet des del típic CD, a través de la xarxa o fins i tot des d&#8217;una imatge ISO en el propi disc [...]]]></description>
			<content:encoded><![CDATA[<p>L&#8217;altre dia vaig instal·lar la versió 10.10 de Kubuntu, Maverick Meerkat, al meu ordinador d&#8217;escriptori. Aquesta vegada però, ho volia fer mitjançant una memòria USB, i no com altres vegades que ho he fet des del típic CD, a través de la xarxa o fins i tot des d&#8217;una imatge ISO en el propi disc dur carregada amb un kernel especial.</p>
<p>Vaig carregar el CD original de la versió de Kubuntu 10.04 Lucid Lynx i arrencar com a Live CD. Després amb l&#8217;aplicació USB creator que incorpora, vaig gravar la iso a una memòria d&#8217;1GB de capacitat. En reiniciar la màquina i indicar que volia iniciar des de l&#8217;USB, em vaig trobar amb aquest missatge:</p>
<blockquote><p>SYSLINUX 3.63 Debian-2008-07-15 EBIOS Copyright (c) 1994-2008 H. Peter Anvin<br />
 Unknown keyword in configuration file<br />
 boot:</p>
</blockquote>
<p>Després de cercar per internet, vaig trobar que existeix aquest bug:</p>
<p>Maverick images burned to usb key on lucid fail to boot &#8211; different syslinux version<br />
 <a href="https://bugs.launchpad.net/ubuntu/+source/usb-creator/+bug/608382">https://bugs.launchpad.net/ubuntu/+source/usb-creator/+bug/608382</a></p>
<p>Per poder crear correctament el USB d&#8217;arrencada, vaig tornar a carregar el Live CD, però abans d&#8217;usar el USB creator, vaig seguir aquests passos:</p>
<ol>
<li> Desinstal·lar el paquet <strong>syslinux</strong>, que alhora desinstal·la també <strong>usb-creator-common</strong> i <strong>usb-creator-kde</strong>. Es pot fer amb el gestor de paquets o amb la comanda:
<pre class="brush: bash; title: ; notranslate">sudo apt-get remove syslinux</pre>
</li>
<li>Descarregar els fitxers .deb de la darrera versió de <strong>syslinux</strong> i <strong>syslinux-common</strong> d&#8217;aquí <a href="http://mirrors.kernel.org/ubuntu/pool/main/s/syslinux/">http://mirrors.kernel.org/ubuntu/pool/main/s/syslinux/</a> i instal·lar-los:
<pre class="brush: bash; title: ; notranslate">sudo dpkg -i syslinux_4.02+dfsg-7ubuntu1_i386.deb syslinux-common_4.02+dfsg-7ubuntu1_all.deb</pre>
</li>
<li>Instal·lar el paquet <strong>usb-creator-kde</strong>:
<pre class="brush: bash; title: ; notranslate">sudo apt-get install usb-creator-kde</pre>
</li>
<li>Tornar a generar de nou el Live USB amb l&#8217;USB creator.</li>
</ol>
<p>Llavors sí, en reiniciar des de l&#8217;USB ja es va carregar amb normalitat la ISO, i vaig poder instal·lar la nova Kubuntu 10.10 <img src='http://blog.jau.cat/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><br class="spacer_" /></p>
<p>Font: <a href="http://www.khattam.info/solved-syslinux-unknown-keyword-in-configuration-file-2010-09-01.html">http://www.khattam.info/solved-syslinux-unknown-keyword-in-configuration-file-2010-09-01.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jau.cat/2011/01/11/instal-lacio-de-kubuntu-10-10-maverick-meerkat-des-d-usb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eliminar espais, tabuladors i caràcters de final de línia d&#8217;un camp a MySQL</title>
		<link>http://blog.jau.cat/2010/12/15/eliminar-espais-tabuladors-i-caracters-de-final-de-linia-dun-camp-a-mysql/</link>
		<comments>http://blog.jau.cat/2010/12/15/eliminar-espais-tabuladors-i-caracters-de-final-de-linia-dun-camp-a-mysql/#comments</comments>
		<pubDate>Wed, 15 Dec 2010 18:23:47 +0000</pubDate>
		<dc:creator>minterior</dc:creator>
				<category><![CDATA[Programari]]></category>
		<category><![CDATA[com es fa]]></category>
		<category><![CDATA[espais]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[tabuladors]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://blog.jau.cat/?p=366</guid>
		<description><![CDATA[Si sabem que un camp d&#8217;una taula a MySQL no ha de tenir caràcters especials, els podem corregir sense usar cap script o codi en un altre llenguatge de programació. Si per exemple volem eliminar el caràcter de nova línia (newline en anglès, representat per \n) de qualsevol posició de la cadena ho podem fer [...]]]></description>
			<content:encoded><![CDATA[<p>Si sabem que un camp d&#8217;una taula a MySQL no ha de tenir caràcters especials, els podem corregir sense usar cap script o codi en un altre llenguatge de programació. Si per exemple volem eliminar el caràcter de nova línia (<em>newline</em> en anglès, representat per \n) de qualsevol posició de la cadena ho podem fer així:</p>
<pre class="brush: plain; title: ; notranslate">
UPDATE taula SET camp = REPLACE(camp, '\n', '');
</pre>
<p>Si només volem eliminar-lo del final de la cadena:</p>
<pre class="brush: plain; title: ; notranslate">
UPDATE taula SET camp = TRIM(TRAILING '\t' FROM camp);
</pre>
<p>Si volem eliminar-lo només del principi, canviarem TRAILING per LEADING, i si el volem eliminar del principi i del final usarem BOTH.</p>
<p>El problema sorgeix quan volem eliminar varis caràcters especials alhora, com poden ser <strong>\n</strong>, <strong>\t</strong> (tabulador o TAB), <strong>\r</strong> (&#8220;retorn de carro&#8221;, <em>carriage return </em>o CR) o espais. Les funcions TRIM i REPLACE només accepten un caràcter o una cadena sencera, però no conjunts de caràcters. Per això, si volem eliminar \t i \n del final, no podem usar TRIM(TRAILING &#8216;\t\n&#8217; FROM camp), sinó que haurem de cridar <strong>3 vegades</strong> la funció TRIM:</p>
<pre class="brush: plain; title: ; notranslate">
UPDATE taula SET camp = TRIM(TRAILING '\t' FROM camp);
UPDATE taula SET camp = TRIM(TRAILING '\n' FROM camp);
UPDATE taula SET camp = TRIM(TRAILING '\t' FROM camp);
</pre>
<p>Contràriament al que podem pensar a priori, cal fer-ho 3 vegades per cobrir el cas en què la nostra cadena acabi amb &#8216;\t\n&#8217;. Si obviem l&#8217;última crida, en aquest cas no eliminaríem el \t.</p>
<p>També es pot fer amb una única assignació:</p>
<pre class="brush: plain; title: ; notranslate">
UPDATE taula SET camp = TRIM(TRAILING '\t' FROM
                            TRIM(TRAILING '\n' FROM
                                TRIM(TRAILING '\t' FROM camp)
                            )
                        );
</pre>
<p>Ràpidament ens adonem que si en lloc de dos elements en tenim més, el nombre de combinacions creix exponencialment. En aquests casos segurament sigui millor crear un script per facilitar la feina. Per exemple a PHP sí que existeix la funció str_replace() que accepta conjunts de caràcters per substituir, i trim() que substitueix ensems espais, \t, \n, \r, \0 (caràcter nul)  i \x0B (tabulador vertical).</p>
<p>Per acabar, esmentar que també es pot usar la combinació simultània de substituir un caràcter i eliminar-ne un altre dels extrems:</p>
<pre class="brush: plain; title: ; notranslate">
UPDATE taula SET camp = TRIM(BOTH '\r\n' FROM REPLACE(camp, '\t', ''));
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.jau.cat/2010/12/15/eliminar-espais-tabuladors-i-caracters-de-final-de-linia-dun-camp-a-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Obrir els enllaços amb Chromium des del Thunderbird</title>
		<link>http://blog.jau.cat/2010/10/14/obrir-els-enllacos-amb-chromium-des-del-thunderbird/</link>
		<comments>http://blog.jau.cat/2010/10/14/obrir-els-enllacos-amb-chromium-des-del-thunderbird/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 12:39:12 +0000</pubDate>
		<dc:creator>minterior</dc:creator>
				<category><![CDATA[Programari]]></category>
		<category><![CDATA[chromium]]></category>
		<category><![CDATA[com es fa]]></category>
		<category><![CDATA[Kubuntu]]></category>
		<category><![CDATA[link]]></category>
		<category><![CDATA[thunderbird]]></category>

		<guid isPermaLink="false">http://blog.jau.cat/?p=363</guid>
		<description><![CDATA[A (K)Ubuntu el Thunderbird obre per defecte els enllaços amb el navegador Mozilla Firefox, però si volem que ho faci amb un altre navegador, com per exemple el Chromium (o Google Chrome), haurem d&#8217;executar el següent en un terminal: No cal que reiniciem el Thunderbird per veure que els enllaços ja s&#8217;obren amb el navegador [...]]]></description>
			<content:encoded><![CDATA[<p>A (K)Ubuntu el Thunderbird obre per defecte els enllaços amb el navegador Mozilla Firefox, però si volem que ho faci amb un altre navegador, com per exemple el Chromium (o Google Chrome), haurem d&#8217;executar el següent en un terminal:</p>
<pre class="brush: bash; title: ; notranslate">
gconftool-2 --type string -s /desktop/gnome/url-handlers/http/command &quot;chromium-browser %s&quot;
</pre>
<p>No cal que reiniciem el Thunderbird per veure que els enllaços ja s&#8217;obren amb el navegador Chromium <img src='http://blog.jau.cat/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jau.cat/2010/10/14/obrir-els-enllacos-amb-chromium-des-del-thunderbird/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Copiar el MBR d&#8217;un disc a un altre</title>
		<link>http://blog.jau.cat/2010/06/19/copiar-el-mbr-dun-disc-a-un-altre/</link>
		<comments>http://blog.jau.cat/2010/06/19/copiar-el-mbr-dun-disc-a-un-altre/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 11:58:09 +0000</pubDate>
		<dc:creator>minterior</dc:creator>
				<category><![CDATA[Programari]]></category>
		<category><![CDATA[com es fa]]></category>
		<category><![CDATA[dd]]></category>
		<category><![CDATA[disc dur]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[MBR]]></category>

		<guid isPermaLink="false">http://blog.jau.cat/?p=359</guid>
		<description><![CDATA[Amb la següent comanda podem copiar el MBR (Master Boot Record) d&#8217;un disc a un altre: L&#8217;explicació d&#8217;aquesta és: llegeix i escriu (copia) només un bloc de 512 bytes del disc sdx al disc sdy. Això pot ser útil quan per alguna raó perdem la taula de particions d&#8217;un disc dur o d&#8217;un pen drive, [...]]]></description>
			<content:encoded><![CDATA[<p>Amb la següent comanda podem copiar el <strong>MBR</strong> (<a title="MBR a la Wikipedia (en castellà)" href="http://es.wikipedia.org/wiki/Master_Boot_Record">Master Boot Record</a>) d&#8217;un disc a un altre:</p>
<pre class="brush: bash; title: ; notranslate">dd if=/dev/sdx of=/dev/sdy bs=512 count=1</pre>
<p>L&#8217;explicació d&#8217;aquesta és: llegeix i escriu (copia) <strong>només un bloc</strong> de<strong> 512 bytes</strong> del disc sdx al disc sdy.</p>
<p>Això pot ser útil quan per alguna raó perdem la <strong>taula de particions</strong> d&#8217;un disc dur o d&#8217;un pen drive, i d&#8217;aquesta manera restablim el MBR a partir d&#8217;un altre disc. He vist moltes vegades que un disc dur que no té cap partició, el sistema operatiu Windows no el reconeix. Això vol dir que el disc, per exemple /dev/sdx, no conté /dev/sdx1, /dev/sdx2&#8230; que seria cadascuna de les particions; ho podem comprovar si teclegem al terminal:</p>
<pre class="brush: bash; title: ; notranslate">ls /dev/sdx*</pre>
<p>només ens apareix l&#8217;arrel del disc /dev/sdx.</p>
<p>Una altra manera de crear particions és amb els programes cfdisk o fdisk, tot seguint les instruccions que indiquen.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jau.cat/2010/06/19/copiar-el-mbr-dun-disc-a-un-altre/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instal·lació de xdebug per PHP i Apache2 a Ubuntu</title>
		<link>http://blog.jau.cat/2010/05/19/instal%c2%b7lacio-de-xdebug-per-php-i-apache2-a-ubuntu/</link>
		<comments>http://blog.jau.cat/2010/05/19/instal%c2%b7lacio-de-xdebug-per-php-i-apache2-a-ubuntu/#comments</comments>
		<pubDate>Wed, 19 May 2010 00:19:42 +0000</pubDate>
		<dc:creator>minterior</dc:creator>
				<category><![CDATA[Programari]]></category>
		<category><![CDATA[com es fa]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[xdebug]]></category>

		<guid isPermaLink="false">http://blog.jau.cat/?p=343</guid>
		<description><![CDATA[Un dels principals defectes de la majoria de programadors de PHP és oblidar-se de les eines de depuració (debugger). Tots hem estat en feines on no disposaven d&#8217;aquestes eines a la nostra màquina, o no permetien la seva instal·lació, o senzillament no hem pensat en posar-les. Jo vaig començar el meu primer contacte amb la [...]]]></description>
			<content:encoded><![CDATA[<p>Un dels principals defectes de la majoria de programadors de <a title="Entrades sobre PHP" href="http://blog.jau.cat/tag/php/">PHP</a> és oblidar-se de les eines de depuració (debugger). Tots hem estat en feines on no disposaven d&#8217;aquestes eines a la nostra màquina, o no permetien la seva instal·lació, o senzillament no hem pensat en posar-les.</p>
<p>Jo vaig començar el meu primer contacte amb la programació amb el llenguatge c. Llavors a la universitat ens feien usar el programa Microsoft Visual Studio, amb el qual podíem compilar i depurar (debug). La depuració ens permetia seguir el programa pas a pas i saber el valor de cada variable en cada moment, i corregir així errors existents que s&#8217;escapaven a simple vista i que no eren de sintaxi.</p>
<p>En passar a PHP, penso que és més difícil entendre com funciona la depuració, pel fet de tenir el navegador per un costat i l&#8217;<a title="Enllaç extern a la Viquipèdia" href="http://ca.wikipedia.org/wiki/Entorn_integrat_de_desenvolupament">entorn integrat de desenvolupament</a> (o IDE de l&#8217;acrònim en anglès) per un altre. Tanmateix, cal instal·lar prèviament alguna cosa al servidor per poder-li indicar des del nostre IDE l&#8217;ordre d&#8217;aturar-se a la línia de codi que nosaltres vulguem. Per aquest conjunt de factors la majoria de programadors prescindeixen del depurador com a tal i utilitzen el mètode de <a title="Ensayo y error a la Wikipedia (en castellà)" href="http://es.wikipedia.org/wiki/Ensayo_y_error">prova i error</a>, i miren el valor de les variables enviant el seu valor directament al navegador. Les tres funcions de PHP més utilitzades per fer això són: <em>echo</em>, <em>print_r</em> i <em>var_dump</em>.</p>
<p>Jo he passat força temps utilitzant-les també, però quan tornes a la depuració t&#8217;adones que abans estaves perdent el temps. Amb aquest rudimentari mètode, si no coneixes molt bé el codi, primer has de trobar el punt on està la variable que vols observar, teclejar el codi que mostri el seu valor i executar la consulta de la pàgina des del navegador. Molt bé, ja has vist el seu contingut, però com ha estat calculat? Com s&#8217;ha arribat fins aquí, a través de quins fitxers, mètodes o funcions? La majoria de vegades has de tornar a escriure més codi per mostrar altres variables, perquè l&#8217;anterior no t&#8217;ha servit de massa, i tornar a actualitzar el navegador. A més a més, després cal eliminar tot aquest codi extra que has creat només per mirar el valor d&#8217;algunes de les variables. I quantes vegades passa -a mi també- que acaba pujant a producció codi amb aquestes sentències de &#8220;depuració&#8221;?</p>
<p>Per evitar tot això, el millor és usar un depurador de veritat. Encara que al principi perdem una mica de temps per configurar-lo i aprendre com funciona, després ens estalviarà molt temps i mal de caps. Jo per desenvolupar en PHP i MySQL utilitzo el servidor web Apache2 sobre Ubuntu; una solució LAMP vaja. I com a IDE l&#8217;<a href="http://www.eclipse.org/">Eclipse</a> amb el PDT (<a href="http://www.eclipse.org/pdt/">PHP Development Tools</a>) i alguns altres <em>plugins</em>.</p>
<p>Amb els següents passos podreu instal·lar xdebug amb l&#8217;Apache2 i PHP:</p>
<pre class="brush: bash; title: ; notranslate">sudo apt-get install php5-xdebug</pre>
<p>Això ha instal·lat el paquet corresponent i ha creat el fitxer /etc/php5/conf.d/xdebug.ini amb aquest contingut:</p>
<pre>zend_extension=/usr/lib/php5/20090626+lfs/xdebug.so</pre>
<p>Si ara comprovem el resultat de cridar a phpinfo(), veurem:</p>
<pre>This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
    with Xdebug v2.0.5, Copyright (c) 2002-2008, by Derick Rethans</pre>
<p>Al mateix fitxer xdebug.ini hem d&#8217;afegir aquestes línies:</p>
<pre class="brush: plain; title: ; notranslate">
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=localhost
xdebug.remote_port=9000
</pre>
<p>I ja per acabar, carreguem els canvis de configuració a l&#8217;Apache:</p>
<pre class="brush: bash; title: ; notranslate">sudo /etc/init.d/apache2 reload</pre>
<p>En un altre capítol escriuré com configurar l&#8217;Eclipse per depurar des d&#8217;allà.</p>
<p>Gràcies Derick pel fantàstic xdebug!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jau.cat/2010/05/19/instal%c2%b7lacio-de-xdebug-per-php-i-apache2-a-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Com usar paquets d&#8217;una versió anterior d&#8217;Ubuntu</title>
		<link>http://blog.jau.cat/2010/04/28/com-usar-paquets-duna-versio-anterior-dubuntu/</link>
		<comments>http://blog.jau.cat/2010/04/28/com-usar-paquets-duna-versio-anterior-dubuntu/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 17:15:52 +0000</pubDate>
		<dc:creator>minterior</dc:creator>
				<category><![CDATA[Programari]]></category>
		<category><![CDATA[com es fa]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://blog.jau.cat/?p=329</guid>
		<description><![CDATA[En actualitzar (ahir) a Ubuntu 10.04 LTS Lucid Lynx, he passat de la versió de PHP 5.2.10.dfsg.1-2ubuntu6 a la 5.3.2-1ubuntu4. Si volem tornar a tenir la versió 5.2, hem de configurar l&#8217;APT per tal que usi aquells paquets que vulguem de les fonts de Karmic Koala. Així: Primer llistarem els paquets de php que tenim instal·lats: En el [...]]]></description>
			<content:encoded><![CDATA[<p>En actualitzar (ahir) a Ubuntu 10.04 LTS Lucid Lynx, he passat de la versió de <a title="Entrades sobre PHP" href="http://blog.jau.cat/tag/php/">PHP</a> 5.2.10.dfsg.1-2ubuntu6 a la 5.3.2-1ubuntu4. Si volem tornar a tenir la versió 5.2, hem de configurar l&#8217;<a title="APT a la Viquipèdia" href="http://ca.wikipedia.org/wiki/Apt_(ordre)">APT</a> per tal que usi aquells paquets que vulguem de les fonts de Karmic Koala. Així:</p>
<p>Primer llistarem els paquets de php que tenim instal·lats:</p>
<pre class="brush: bash; title: ; notranslate">dpkg -l | egrep php</pre>
<p>En el meu cas són:</p>
<ul>
<li>php5-common</li>
<li>libapache2-mod-php5</li>
<li>php-pear</li>
<li>php5-cli</li>
<li>php5-curl</li>
<li>php5-dev</li>
<li>php5-mysql</li>
<li>php5-memcache</li>
<li>php5-suhosin</li>
</ul>
<p>Dupliquem el fitxer amb les fonts de programari canviant la paraula <em>lucid</em> per <em>karmic</em>:</p>
<pre class="brush: bash; title: ; notranslate">sed s/lucid/karmic/g /etc/apt/sources.list | sudo tee /etc/apt/sources.list.d/karmic.list</pre>
<p>Creem un nou fitxer de preferències que anomenem per exemple &#8220;php&#8221;:</p>
<pre class="brush: bash; title: ; notranslate">sudo nano /etc/apt/preferences.d/php</pre>
<p>I copiem aquestes tres línies per cada paquet dels llistats anteriorment, tot canviant el nom del paquet:</p>
<pre class="brush: plain; title: ; notranslate">
Package: php5-common
Pin: release a=karmic
Pin-Priority: 991
...
</pre>
<p>Un cop ho hem configurat tot, actualitzem els paquets:</p>
<pre class="brush: bash; title: ; notranslate">
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
</pre>
<p>No ens oblidem de reiniciar el servidor web; per l&#8217;Apache:</p>
<pre class="brush: bash; title: ; notranslate">sudo apache2ctl restart</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.jau.cat/2010/04/28/com-usar-paquets-duna-versio-anterior-dubuntu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Com trobar els UUIDs de les particions a Ubuntu</title>
		<link>http://blog.jau.cat/2010/04/21/com-trobar-els-uuids-de-les-particions-a-ubuntu/</link>
		<comments>http://blog.jau.cat/2010/04/21/com-trobar-els-uuids-de-les-particions-a-ubuntu/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 22:32:03 +0000</pubDate>
		<dc:creator>minterior</dc:creator>
				<category><![CDATA[Programari]]></category>
		<category><![CDATA[com es fa]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[particions]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[uuid]]></category>

		<guid isPermaLink="false">http://blog.jau.cat/?p=322</guid>
		<description><![CDATA[El UUID, o Universally Unique Identifier en anglès, és un identificador estàndard usat en la construcció de programari, estandaritzat per la Open Software Foundation (OSF), amb l&#8217;objectiu de permetre que sistemes distrubuïts identifiquin informació de forma única sense dependre de coordinació central. A Ubuntu i a d&#8217;altres distribucions de GNU/Linux basades en Debian, es poden [...]]]></description>
			<content:encoded><![CDATA[<p>El UUID, o <a title="Wikipedia, en anglès" href="http://en.wikipedia.org/wiki/Universally_Unique_Identifier">Universally Unique Identifier</a> en anglès, és un identificador estàndard usat en la construcció de programari, estandaritzat per la <a title="Wikipedia, en castellà" href="http://es.wikipedia.org/wiki/Open_Software_Foundation">Open Software Foundation</a> (OSF), amb l&#8217;objectiu de permetre que sistemes distrubuïts identifiquin informació de forma única sense dependre de coordinació central.</p>
<p>A Ubuntu i a d&#8217;altres distribucions de GNU/Linux basades en Debian, es poden obtenir aquests identificadors per a cadascuna de les nostres particions amb una comanda ben simple:</p>
<pre class="brush: bash; title: ; notranslate">blkid</pre>
<p>Que haurem d&#8217;executar com a superusuari (root) o amb <em>sudo</em> al davant. La sortida d&#8217;aquesta serà semblant a:</p>
<pre class="brush: plain; title: ; notranslate">
/dev/sda1: UUID=&quot;8a866472-a077-4da9-9663-cd5a2774f801&quot; TYPE=&quot;reiserfs&quot;
/dev/sdb1: UUID=&quot;af8e31aa-9bb3-4c5e-b13a-433b06bb2231&quot; TYPE=&quot;reiserfs&quot;
/dev/sdc1: UUID=&quot;c027fa2e-ad9d-4324-bdad-941a5c43d2b3&quot; TYPE=&quot;reiserfs&quot;
/dev/sdc2: UUID=&quot;a9dbb0c9-3c60-4083-8f4c-de7e69d0ffda&quot; TYPE=&quot;swap&quot;
/dev/sdc5: UUID=&quot;8be8352b-e28e-44ee-a2e2-9abfa1eb43eb&quot; TYPE=&quot;reiserfs&quot;
</pre>
<p>Informació que ens pot resultar útil per configurar el fitxer <em>/etc/fstab</em>, amb les regles i opcions per muntar les diferents particions que tinguem.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jau.cat/2010/04/21/com-trobar-els-uuids-de-les-particions-a-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

