<?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>Bruno Barão &#187; Programação</title>
	<atom:link href="http://www.devile.net/categoria/programacao/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.devile.net</link>
	<description></description>
	<lastBuildDate>Fri, 12 Jun 2009 23:42:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Utilizar UUIDs ou LABELs no Bootloader</title>
		<link>http://www.devile.net/blogue/utilizar-uuids-ou-labels-no-bootloader/</link>
		<comments>http://www.devile.net/blogue/utilizar-uuids-ou-labels-no-bootloader/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 20:25:32 +0000</pubDate>
		<dc:creator>Bruno Barão</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[bootloader]]></category>
		<category><![CDATA[grub]]></category>
		<category><![CDATA[initramfs]]></category>
		<category><![CDATA[initrd]]></category>
		<category><![CDATA[label]]></category>
		<category><![CDATA[lilo]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[uuid]]></category>

		<guid isPermaLink="false">http://www.devile.net/?p=211</guid>
		<description><![CDATA[&#160; Durante a actualização da nossa &#8220;distribuição&#8221; de linux para os servidores da Lan Party Moita que aí vem, e para poder testar se a configuração está a funcionar bem para o mais variado hardware, decidi instalar uma cópia num disco usb. &#160; Devido a utilizar um disco usb, o device do disco é quase [...]]]></description>
			<content:encoded><![CDATA[<p><img style="margin: 5px; float: left;" class="alignleft size-full wp-image-213" title="Disco USB" src="http://www.devile.net/wp-content/uploads/2009/03/drive-removable-media-usb.png" alt="Disco USB" width="128" height="128" />&nbsp; Durante a actualização da nossa &#8220;distribuição&#8221; de linux para os servidores da <a title="Lan Party Moita" href="http://www.lanpartymoita.net">Lan Party Moita</a> que aí vem, e para poder testar se a configuração está a funcionar bem para o mais variado hardware, decidi instalar uma cópia num disco usb.</p>
<p>&nbsp; Devido a utilizar um disco usb, o <em>device</em> do disco é quase sempre diferente em cada computador. E para o sistema funcionar bem, independentemente do <em>device</em> que lhe é atribuído, alterei os <em>devices</em> na <em>fstab</em> para a identificação dos mesmos por UUID.</p>
<p>&nbsp; O UUID de uma partição, pode ser vista com o comando <strong>vol_id &#8211;uuid &lt;device&gt;</strong>, que no meu caso retornou que o UUID era <em>f49c6899-b56b-40c5-8197-508fa6a444d1</em>, ou seja, na <em>fstab</em> em vez de <em>/dev/hda1</em> coloquei <em>UUID=f49c6899-b56b-40c5-8197-508fa6a444d1</em>. Fiz o mesmo para o resto das partições (incluindo a <em>swap</em>), e o sistema passou a montar as partições listadas na fstab pelos UUIDs.</p>
<p>&nbsp; O passo seguinte foi também alterar o <em>device</em> da partição de <em>root</em> que está no bootloader, mas por mais voltas que desse não consegui por a funcionar. O kernel dizia-me sempre que não conseguia montar o <em>root</em>. Depois de muita pesquisa, descobri que o kernel não consegue descobrir qual é o <em>device</em> a que corresponde um UUID ou um LABEL.</p>
<p>&nbsp; A solução foi criar um <em>initramfs</em> que é executado depois do kernel acabar de carregar, e descobre qual é o <em>device</em> a que corresponde um UUID ou LABEL. Desta forma a minha configuração do <em>grub</em> ficou a seguinte:</p>
<blockquote><p style="text-align: left;">
title  Gentoo 2.6.28 Hardened<br />
root (hd0,0)<br />
kernel /boot/linux-2.6.28-hardened root=UUID=f49c6899-b56b-40c5-8197-508fa6a444d1 quiet<br />
initrd /boot/initramfs.igz
</p>
</blockquote>
<p>&nbsp; Se precisares desta funcionalidade podes <a href="http://www.devile.net/downloads/2009/03/initramfs/init">consultar o init que criei</a>, e fazer o teu initramfs (a única dependência é o busybox), ou <a href="http://www.devile.net/downloads/2009/03/initramfs/initramfs.igz">fazer download do meu initramfs</a> e usar directamente. Se utilizares o meu initramfs, ele por defeito espera 15 segundos para o caso do disco usb demorar a ser detectado, mas podes saltar esse tempo se adicionares o parâmetro <em>initrdnosleep</em> no bootloader.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devile.net/blogue/utilizar-uuids-ou-labels-no-bootloader/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Micro blogging e frameworks</title>
		<link>http://www.devile.net/blogue/micro-blogging-e-frameworks/</link>
		<comments>http://www.devile.net/blogue/micro-blogging-e-frameworks/#comments</comments>
		<pubDate>Sun, 06 Jan 2008 00:25:33 +0000</pubDate>
		<dc:creator>Bruno Barão</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Pessoal]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[pownce]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[zend framework]]></category>
		<category><![CDATA[zf]]></category>

		<guid isPermaLink="false">http://www.devile.net/2008/01/06/micro-blogging-e-frameworks/</guid>
		<description><![CDATA[&#160; Finalmente dei-me ao trabalho de experimentar o Twitter (Perfil) e o Pownce (Perfil). Confesso que ainda n&#227;o lhes consigo encontrar muita utilidade, embora o Pedro j&#225; me tenha andado a convencer que t&#234;m. &#160; E tenho 6 convites para dar no Pownce, se algu&#233;m quiser &#233; s&#243; pedir &#160; Tamb&#233;m ando a experimentar o [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp; Finalmente dei-me ao trabalho de experimentar o Twitter (<a href="http://twitter.com/bbarao/">Perfil</a>) e o Pownce (<a rel="nofollow" href="http://www.pownce.com/bbarao/">Perfil</a>). Confesso que ainda n&atilde;o lhes consigo encontrar muita utilidade, embora o <a href="http://pedrocavaco.adamastor.org">Pedro</a> j&aacute; me tenha andado a convencer que t&ecirc;m. <img src='http://www.devile.net/wp-images/smilies/msn_tongue.png' alt='&#58;&#80;' class='wp-smiley' width='22' height='22' title='&#58;&#80;' /><br />&nbsp; E tenho 6 convites para dar no Pownce, se algu&eacute;m quiser &eacute; s&oacute; pedir <img src='http://www.devile.net/wp-images/smilies/msn_smiley.png' alt='&#58;&#41;' class='wp-smiley' width='22' height='22' title='&#58;&#41;' /></p>
<p>&nbsp; Tamb&eacute;m ando a experimentar o Zend Framework, que pareceu-me ser uma boa framework para o PHP, e a iniciar-me (finalmente) na arquitectura MVC. <em>Wish me luck..</em></p>
<p><strong>Edit:</strong> O Pownce foi fechado no dia 15 de Dezembro de 2008.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devile.net/blogue/micro-blogging-e-frameworks/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Plugin: Pangeia &#8211; Funções Ext.</title>
		<link>http://www.devile.net/blogue/plugin-pangeia-funcoes-ext/</link>
		<comments>http://www.devile.net/blogue/plugin-pangeia-funcoes-ext/#comments</comments>
		<pubDate>Wed, 17 Jan 2007 16:36:55 +0000</pubDate>
		<dc:creator>Bruno Barão</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.devile.net/2007/01/17/plugin-pangeia-funcoes-ext/</guid>
		<description><![CDATA[&#160; A Pangeia utiliza o wordpress para agregar os v&#225;rios blogues, com o plugin descrito no artigo anterior. E para mostrar as fotos/avatares dos v&#225;rios autores dos artigos, tivemos que criar um plugin para esse mesmo efeito. O plugin &#233; bastante simples, dado um nome (Exemplo: &#34;Z&#233; Manel&#34;) ele tira os espa&#231;os e letras com [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp; A <a href="http://pangeia.adamastor.org">Pangeia</a> utiliza o <em>wordpress</em> para agregar os v&aacute;rios blogues, com o <em>plugin</em> descrito <a href="http://www.devile.net/blogue/agregadores-de-blogues/" title="Agregadores de blogues">no artigo anterior</a>. E para mostrar as fotos/<em>avatares</em> dos v&aacute;rios autores dos artigos, tivemos que criar um <em>plugin</em> para esse mesmo efeito. O <em>plugin</em> &eacute; bastante simples, dado um nome (Exemplo: <em>&quot;Z&eacute; Manel&quot;</em>) ele tira os espa&ccedil;os e letras com acentos e coloca tudo em <em>lowercase</em>, devolvendo algo como <em>&quot;zemanel&quot;</em>, como a exten&ccedil;&atilde;o usada &eacute; o .png ele procura na directoria um ficheiro chamado <em>&quot;zemanel.png&quot;</em>, que se n&atilde;o existir ele chama antes o <em>&quot;semnome.png&quot;</em> que serve para estes casos, onde o utilizador (ainda) n&atilde;o tem foto. Para haver compatibilidade com a (falta de compatibilidade da) transpar&ecirc;ncia dos PNG&#39;s no IE6 o plugin *tenta* detectar o IE atrav&eacute;s do <em>User-Agent</em>, e utiliza um <em>Hack</em> para a transpar&ecirc;ncia funcionar correctamente no IE6.</p>
<p> &nbsp; <strong>Download:</strong><br />&nbsp; Vers&atilde;o 0.1.7 &#8211; Download: <a href="http://www.devile.net/downloads/pangeiafext/pangeia_fext_0.1.7.zip">Zip (2,50 KiB)</a>&nbsp; <a href="http://www.devile.net/downloads/pangeiafext/pangeia_fext_0.1.7.tar.gz">Tar.Gz (1,34 KiB)</a>, <a href="http://www.devile.net/downloads/pangeiafext/pangeia_fext_0.1.7.phps">Visualizar (.phps)<br /></a><br />&nbsp; <strong>Como Usar:<br /></strong>&nbsp; Basta extrair o <em>plugin</em> para a directoria <strong>wp-content/plugins/</strong>, e o <strong>blank.gif</strong> para a directoria onde v&atilde;o estar as fotos/<em>avatares</em>, e editar o plugin para mudar a localiza&ccedil;&atilde;o dessa directoria, que no nosso caso &eacute; <strong>/home/pangeia/www/autores/</strong>:</p>
<blockquote><p>## Para meter as fotos dos autores dos posts, se existir uma foto<br />function dvl_authorimg($id, $nome) {<br />&nbsp;&nbsp;&nbsp; # Para as fotos dos autores<br />&nbsp;&nbsp;&nbsp; <strong>$directoria = &quot;/home/pangeia/www/autores/&quot;;</strong></p>
</blockquote>
<p>&nbsp; De seguida temos que activar o plugin no painel de administra&ccedil;&atilde;o do <em>wordpress</em>. E agora apenas temos que adicionar ao nosso <em>theme</em> o s&iacute;tio onde vai ser introduzida a imagem. Provavelmente &eacute; no ficheiro <strong>index.php</strong> dentro da directoria da <em>theme</em>. O c&oacute;digo que temos que colocar &eacute; o que est&aacute; a bold em baixo: </p>
<blockquote><p>&lt;div class=&quot;post&quot;&gt;<br /><strong>&nbsp;&nbsp;&nbsp; &lt;?php // Meter a imagem, se existir<br />&nbsp;&nbsp;&nbsp; if (function_exists( &#39;dvl_authorimg&#39; )) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; dvl_authorimg(nome2id(the_author(&#39;login&#39;, false)), the_author(&#39;namefl&#39;, false));<br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; ?&gt;</strong><br />&nbsp;&nbsp;&nbsp; &lt;h3 class=&quot;storytitle&quot; id=&quot;post-&lt;?php the_ID(); ?&gt;&quot;&gt;</p>
</blockquote>
<p>&nbsp; A fun&ccedil;&atilde;o utiliza o <em>username</em> do autor para ir buscar a imagem, e usa o nome no formato <em>Primeiro Nome Ultimo Nome</em> para mostrar o nome no t&iacute;tulo da imagem.<br />&nbsp; O s&iacute;tio onde se vai colocar o c&oacute;digo pode variar do nosso. O CSS utilizado para imagem est&aacute;&nbsp; dentro do <em>plugin</em>, que como era apenas para nosso uso, n&atilde;o estava feito de forma &quot;bonita&quot;. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.devile.net/blogue/plugin-pangeia-funcoes-ext/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Pangeia</title>
		<link>http://www.devile.net/blogue/pangeia-2/</link>
		<comments>http://www.devile.net/blogue/pangeia-2/#comments</comments>
		<pubDate>Sun, 03 Sep 2006 01:20:20 +0000</pubDate>
		<dc:creator>Bruno Barão</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Pessoal]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[adamastor]]></category>
		<category><![CDATA[alterações]]></category>
		<category><![CDATA[pangeia]]></category>

		<guid isPermaLink="false">http://www.devile.net/2006/09/03/pangeia-2/</guid>
		<description><![CDATA[&#160;&#160;&#160;&#160;&#160; Hoje tive a retocar uns detalhes na Pangeia, coisas m&#237;nimas que ningu&#233;m deve reparar, menos uma, quando um autor n&#227;o atribuir (ou esquecer-se de atribuir) um titulo ao seu artigo, a Pangeia coloca o titulo &#34;[Sem Titulo]&#34; para ser poss&#237;vel utilizar a liga&#231;&#227;o para o artigo no blogue do autor. Tamb&#233;m &#233; uma coisa [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.devile.net/wp-content/uploads/2006/09/Pangeia-SemTitulo.png" border="0" alt="Pangeia" title="Pangeia" hspace="0" vspace="0" width="217" height="61" align="left" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Hoje tive a retocar uns detalhes na <a href="http://pangeia.adamastor.org">Pangeia</a>, coisas m&iacute;nimas que ningu&eacute;m deve reparar, menos uma, quando um autor n&atilde;o atribuir (ou esquecer-se de atribuir) um titulo ao seu artigo, a <a href="http://pangeia.adamastor.org">Pangeia</a> coloca o titulo &quot;<em>[Sem Titulo]</em>&quot; para ser poss&iacute;vel utilizar a liga&ccedil;&atilde;o para o artigo no blogue do autor. Tamb&eacute;m &eacute; uma coisa m&iacute;nima, mas deve ter alguma utilidade (Pelo menos espero eu <em><img src='http://www.devile.net/wp-images/smilies/msn_tongue.png' alt='&#58;&#80;' class='wp-smiley' width='22' height='22' title='&#58;&#80;' /></em>).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devile.net/blogue/pangeia-2/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Pangeia</title>
		<link>http://www.devile.net/blogue/pangeia/</link>
		<comments>http://www.devile.net/blogue/pangeia/#comments</comments>
		<pubDate>Mon, 22 Aug 2005 02:35:16 +0000</pubDate>
		<dc:creator>Bruno Barão</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Pessoal]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[adamastor]]></category>
		<category><![CDATA[pangeia]]></category>

		<guid isPermaLink="false">http://www.devile.net/?p=24</guid>
		<description><![CDATA[N&#227;o, n&#227;o estou aqui para falar de como era o nosso planeta no inicio dos tempos, mas sim para falar sobre um projecto que estou a realizar juntamente com o meu amigo Pedro Cavaco, a Pangeia. Assim em poucas palavras, a Pangeia junta os artigos de v&#225;rios blogueiros e coloca-os na sua p&#225;gina. Isto &#233; [...]]]></description>
			<content:encoded><![CDATA[<p>N&atilde;o, n&atilde;o estou aqui para falar de como era o nosso planeta no inicio dos tempos, mas sim para falar sobre um projecto que estou a realizar juntamente com o meu amigo <a href="http://pedrocavaco.adamastor.org">Pedro Cavaco</a>, <a href="http://pangeia.adamastor.org">a Pangeia</a>. Assim em poucas palavras, a Pangeia junta os artigos de v&aacute;rios <em>blogueiros</em> e coloca-os na sua p&aacute;gina. Isto &eacute; &uacute;til porque em vez de estarmos a visitar v&aacute;rios <em>blogues</em> para ler os seus artigos, consultamos todos (os que est&atilde;o adicionados) numa s&oacute; p&aacute;gina. A p&aacute;gina j&aacute; pode ser consultada, mas a sua abertura oficial vai ser no pr&oacute;ximo dia 4 (de Setembro), que &eacute; o dia em que o <a href="http://www.adamastor.org" title="Projecto Adamastor">Projecto Adamastor</a> faz 4 anos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devile.net/blogue/pangeia/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>
