<?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>coding &#187; linux</title>
	<atom:link href="http://www.coding.com.br/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.coding.com.br</link>
	<description>have you coded today?</description>
	<lastBuildDate>Fri, 23 Jul 2010 02:37:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Embed Python inside Latex</title>
		<link>http://www.coding.com.br/linux/embed-python-inside-latex/</link>
		<comments>http://www.coding.com.br/linux/embed-python-inside-latex/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 19:37:53 +0000</pubDate>
		<dc:creator>Tiago Maluta</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[latex]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.coding.com.br/?p=1141</guid>
		<description><![CDATA[After a video demostrating the use of Python inside a Tex document. I decided to do a document explaining how to use,  check it:
Embed Python Inside Latex (pdf ~ 100KB)

Update: I also published online through Scribd, check here.

]]></description>
			<content:encoded><![CDATA[<p>After a <a href="http://www.youtube.com/watch?v=e0SSxA1xbaA" target="_blank">video</a> demostrating the use of Python inside a Tex document. I decided to do a document explaining how to use,  check it:</p>
<p style="text-align: center;"><a href="http://www.coding.com.br/wp-content/uploads/2010/07/embed_python_latex.pdf">Embed Python Inside Latex</a> (<em>pdf</em> ~ <em>100KB</em>)</p>
<p style="text-align: center;">
<p style="text-align: left;"><span style="color: #ff0000;">Update:</span> I also published online through Scribd, check <a href="http://www.scribd.com/doc/34332481/Embed-Python-Latex" target="_blank">here</a>.</p>
<p style="padding-left: 30px;">
]]></content:encoded>
			<wfw:commentRss>http://www.coding.com.br/linux/embed-python-inside-latex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTTPFS</title>
		<link>http://www.coding.com.br/linux/httpfs/</link>
		<comments>http://www.coding.com.br/linux/httpfs/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 19:04:13 +0000</pubDate>
		<dc:creator>Tiago Maluta</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[gnu]]></category>
		<category><![CDATA[http]]></category>

		<guid isPermaLink="false">http://www.coding.com.br/?p=849</guid>
		<description><![CDATA[With FUSE it is possible to implement a fully functional filesystem in a userspace program, this allow great implementations like HTTPFS.
Before start don&#8217;t forget to load fuse module (i.e: modprobe fuse). Lets do an example, suppose you need check latest Gentoo ISO to catch some files.

$ mkdir ~/GentooISO
$ mkdir ~/GentooISO/minimal
$ httpfs http://216.165.129.135/releases/x86/autobuilds/\
current-iso/install-x86-minimal-20100216.iso GentooISO/
$ cd ~/GentooISO
$ mount [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">With <a href="http://fuse.sourceforge.net/" target="_blank">FUSE</a> it is possible to implement a fully functional filesystem in a userspace program, this allow great implementations like <a href="http://httpfs.sourceforge.net/">HTTPFS</a>.</p>
<p style="text-align: justify;">Before start don&#8217;t forget to load fuse module (i.e: <em>modprobe fuse</em>). Lets do an example, suppose you need check latest Gentoo ISO to catch some files.</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">$ mkdir ~/GentooISO
$ mkdir ~/GentooISO/minimal
$ httpfs http://216.165.129.135/releases/x86/autobuilds/\
current-iso/install-x86-minimal-20100216.iso GentooISO/
$ cd ~/GentooISO
$ mount -o ro,loop install-x86-minimal-20100216.iso  minimal</pre></div></div>

<p>Note that I used 216.165.129.135  instead distfiles.gentoo.org to avoid http error.</p>
<blockquote><p>HEAD (read) failed with Status 302</p></blockquote>
<p>You coud see the corret IP using, for example, <em>wget</em>.</p>
<p>Try it! It&#8217;s really fast.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coding.com.br/linux/httpfs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SHOUTcast search</title>
		<link>http://www.coding.com.br/linux/shoutcast-search/</link>
		<comments>http://www.coding.com.br/linux/shoutcast-search/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 19:48:58 +0000</pubDate>
		<dc:creator>Tiago Maluta</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[qt]]></category>

		<guid isPermaLink="false">http://www.coding.com.br/?p=714</guid>
		<description><![CDATA[I&#8217;m working on a project using SHOUTCast. In order to know about  services requests, especially XML output, I made this small program to display search queries.  The program perform an Http request and parse the result in a appropriate view.
screenshot
This code is hosted in Github.
$ git clone git://github.com/maluta/shoutcast-search.git
$ cd shoutcast-search
$ qmake &#38;&#38; make &#38;&#38; [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">I&#8217;m working on a project using <a href="http://yp.shoutcast.com/">SHOUTCast</a>. In order to know about  services requests, especially XML output, I made this small program to display search queries.  The program perform an Http request and parse the result in a appropriate view.</p>
<p style="text-align: center;"><img class="size-medium wp-image-713 aligncenter" title="ShoutCast Search" src="http://www.coding.com.br/wp-content/uploads/2010/03/sc-300x233.png" alt="" width="300" height="233" /><a href="http://farm5.static.flickr.com/4068/4410975721_5faa4f3bf2_o.png" target="_blank">screenshot</a></p>
<p style="text-align: center;">This code is hosted in <a title="Shoutcast search repository " href="http://github.com/maluta/shoutcast-search" target="_blank">Github</a>.</p>
<pre style="text-align: left;">$ git clone git://github.com/maluta/shoutcast-search.git
$ cd shoutcast-search
$ qmake &amp;&amp; make &amp;&amp; ./shoutcast-search
</pre>
<p style="text-align: justify;">To listen some radio I <em>cut &amp; paste</em> &#8216;Playlist&#8217; info and put in some player. For example, to listen the Bob Dylan radio selected in screenshot I would do:</p>
<pre>
curl -s http://yp.shoutcast.com/sbin/tunein-station.pls?id=486
</pre>
<blockquote><p>
[playlist]<br />
numberofentries=2<br />
File1=http://68.90.68.227:8001<br />
Title1=(#1 &#8211; 11/55) DylanRadio.com<br />
Length1=-1<br />
File2=http://66.55.139.212:7190<br />
Title2=(#2 &#8211; 30/50) DylanRadio.com<br />
Length2=-1<br />
Version=2
</p></blockquote>
<p>As you can see, ouput has two URLs, so I select one and choose mplayer to play.</p>
<pre>
mplayer http://68.90.68.227:8001
</pre>
<p>Enjoy <img src='http://www.coding.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><strong>Bonus:</strong> A not beautiful way to play from command line&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">curl <span style="color: #660033;">-s</span> http:<span style="color: #000000; font-weight: bold;">//</span>... <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">egrep</span> <span style="color: #ff0000;">&quot;^File1&quot;</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-c7-</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">xargs</span> <span style="color: #c20cb9; font-weight: bold;">mplayer</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.coding.com.br/linux/shoutcast-search/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://yp.shoutcast.com/sbin/tunein-station.pls?id=486" length="0" type="audio/x-scpls" />
		</item>
		<item>
		<title>Problems updating intltool on Gentoo</title>
		<link>http://www.coding.com.br/linux/problems-updating-intltool-on-gentoo/</link>
		<comments>http://www.coding.com.br/linux/problems-updating-intltool-on-gentoo/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 11:00:10 +0000</pubDate>
		<dc:creator>Celso Fernandes</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[emerge]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[intltool]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://www.coding.com.br/?p=647</guid>
		<description><![CDATA[Small tip on perl module checking during emerge on Gentoo]]></description>
			<content:encoded><![CDATA[<p>If you are experiencing some problems on updating dev-util/intltool on Gentoo, this is the message that is shown:</p>
<blockquote><p>checking for perl&#8230; /usr/bin/perl<br />
checking for perl &gt;= 5.8.1&#8230; 5.10.1<br />
checking for XML::Parser&#8230; configure: error: XML::Parser perl module is required for intltool</p></blockquote>
<p>In other emerges if its failing on some perl module check during ./configure, its maybe because dev-lang/perl was updated an its modules weren&#8217;t compiled against the new one, on my case I just runned the command:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">perl-cleaner <span style="color: #660033;">--all</span></pre></div></div>

<p>It will rebuild all your modules against your new perl, then you can re-emerge dev-util/intltool.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coding.com.br/linux/problems-updating-intltool-on-gentoo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kernel stats: horários dos commits</title>
		<link>http://www.coding.com.br/linux/kernel-stats-horarios-dos-commits/</link>
		<comments>http://www.coding.com.br/linux/kernel-stats-horarios-dos-commits/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 21:53:41 +0000</pubDate>
		<dc:creator>Tiago Maluta</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[kernel]]></category>

		<guid isPermaLink="false">http://www.coding.com.br/?p=602</guid>
		<description><![CDATA[
Durante sua apresentação na Linux.conf.au 2010, o fundador do site LWN.net e contribuidor do kernel Jonathan Corbet demonstrou uma análise das contribuições no kernel Linux durante aproximadamente 1 ano (entre Dez 2008 e Jan 2010). Uma das conclusões é que 75% código é escrito por programadores pagos por empresas, lideram a lista: Red Hat (12%), [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">
Durante sua apresentação na Linux.conf.au 2010, o fundador do site LWN.net e contribuidor do kernel Jonathan Corbet <a href="http://www.lca2010.org.nz/programme/schedule/view_talk/50141?day=wednesday">demonstrou</a> uma análise das contribuições no kernel Linux durante aproximadamente 1 ano (entre Dez 2008 e Jan 2010). Uma das conclusões é que 75% código é escrito por programadores pagos por empresas, lideram a lista: Red Hat (12%), Intel (8%), IBM e Novell (6% cada), Oracle (3%). </p>
<p><p align="justify">
Um dos pontos que a estatística não mostra é que &#8211; mesmo sendo empregado de grandes empresas &#8211; boa parte do trabalho é feita fora do horário &#8220;comercial&#8221;, se alguém observar as datas de todos os <em>commits</em> e organizá-los pela frequência em horas, você tem o seguinte resultado para diferentes <em>releases</em>.
</p>
<pre>
<strong>v2.6.33-rc7	</strong>	<strong>v2.6.32</strong>			  <strong>v2.6.24</strong>	

Hora	Commits		Hora	Commits		Hora	Commits
<strong>0	8069		0	7808		0	4745
1	7052		1	6800		1	4155
2	4715		2	4556		2	2835
3	2717		3	2601		3	1395</strong>
4	2236		4	2096		4	898
5	1426		5	1193		5	559
6	1299		6	1134		6	381
7	1933		7	1723		7	580
8	4108		8	3798		8	1445
9	6429		9	6003		9	2261
10	8550		10	7969		10	3027
11	10284		11	9640		11	3946
12	9191		12	8403		12	3313
13	11728		13	11024		13	4522
<strong>14	13127		14	12340		14	5052
15	14281		15	13295		15	5813
16	13685		16	12721		16	5212
17	11486		17	10793		17	5050</strong>
18	7938		18	7334		18	3335
19	7354		19	6933		19	2850
20	7460		20	6953		20	3161
21	8561		21	8138		21	3436
22	8953		22	8498		22	3872
23	7741		23	7335		23	3843
</pre>
<p>Comando utilizado para gerar esses dados:</p>
<blockquote><p>
git log v2.6.33 | grep ^Date: | perl -pe &#8217;s/^(?:\S+\s+){4}(\d+).*/$1/&#8217; | sort -g | uniq -c
</p></blockquote>
<p>A conclusão é que muitos desenvolvedores fazem o código durante a noite e acordam tarde. <img src='http://www.coding.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.coding.com.br/linux/kernel-stats-horarios-dos-commits/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usando o subversion para sincronizar a $HOME</title>
		<link>http://www.coding.com.br/linux/usando-o-subversion-para-sincronizar-a-home/</link>
		<comments>http://www.coding.com.br/linux/usando-o-subversion-para-sincronizar-a-home/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 21:31:32 +0000</pubDate>
		<dc:creator>Celso Fernandes</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[sincronização]]></category>
		<category><![CDATA[subversion]]></category>

		<guid isPermaLink="false">http://www.coding.com.br/?p=543</guid>
		<description><![CDATA[Enfim postando no blog agora que não tenho mais dor de cabeça universidade, mas vamos ao que interessa.
A muito tempo atrás vinha procurando uma forma de sincronizar minhas configurações de usuário como chaves públicas, scripts, hosts através de várias máquinas, uma vez que tenho que manter em sincronia a minha máquina no trabalho, notebook pessoal, [...]]]></description>
			<content:encoded><![CDATA[<p>Enfim postando no blog agora que não tenho mais <del datetime="2010-02-06T20:25:18+00:00">dor de cabeça</del> universidade, mas vamos ao que interessa.</p>
<p>A muito tempo atrás vinha procurando uma forma de sincronizar minhas configurações de usuário como chaves públicas, scripts, hosts através de várias máquinas, uma vez que tenho que manter em sincronia a minha máquina no trabalho, notebook pessoal, desktop pessoal (fora as máquinas virtuais).</p>
<p>A um tempo tentei algo como um script que utilizava scp, para sincronizar diretórios, mas com o problema de consumo de banda (o que no Brasil é um grande problema) e sobrescrever  alterações, resolvi adotar o rsync que já otimizava o uso da banda enviando somente as alterações e faz a checagem da data de modificação porém ele não faz nenhuma verificação quanto ao conteúdo do arquivo, e isto trazia um sério problema pois uma vez que houvessem alterações em duas máquinas, teríamos um sério problema na hora de sincronizar os arquivos.</p>
<p>Um dia desses no trabalho, utilizando o subversion para controle de versão em um projeto, ele fornece backup dos arquivos, histórico de alterações, otimiza o consumo de banda enviando somente alterações e ainda por cima verifica o conteúdo dos arquivos em questão.. Comecei a associar as coisas, e isto parecia ser uma possível solução para o meu problema, por que não tentar?</p>
<p>Criado o repositório online, ja que todas máquinas tem acesso a internet, dei um checkout na minha $HOME para criar os diretórios .svn de controle, a primeira coisa que fiz foi ignorar todos arquivos na minha pasta pessoal com o comando:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">svn</span> propset <span style="color: #c20cb9; font-weight: bold;">svn</span>:ignore <span style="color: #000000; font-weight: bold;">*</span></pre></div></div>

<p>Isto deve ser feito senão <strong>todos</strong> arquivos na HOME serão tratados como desconhecidos e perguntado se não devem ser adicionados ao controle de versão e não queremos isto, queremos fazer o controle de somente alguns arquivos/diretórios que são de nosso interesse.</p>
<p>logo após esse procedimento podemos começar a adicionar nossos arquivos ao controle de versão, como por exemplo nossa pasta .ssh e .gnupg para ter nossa chave pública em todas as máquinas:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">svn</span> add .ssh
$ <span style="color: #c20cb9; font-weight: bold;">svn</span> add .gnupg</pre></div></div>

<p>Caso queira ignorar algum arquivo como o known_hosts na pasta ssh proceda da seguinte forma:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">svn</span> <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">--keep-local</span> known_hosts
$ <span style="color: #c20cb9; font-weight: bold;">svn</span> propset <span style="color: #c20cb9; font-weight: bold;">svn</span>:ignore known_hosts</pre></div></div>

<p>Uma vez feito isto já temos os arquivos que queremos no controle de versão e só falta o commit:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">svn</span> status <span style="color: #660033;">-uv</span> <span style="color: #666666; font-style: italic;"># cheque se esta tudo ok ;)</span>
$ <span style="color: #c20cb9; font-weight: bold;">svn</span> commit <span style="color: #660033;">-m</span> <span style="color: #ff0000;">&quot;commit inicial da home&quot;</span></pre></div></div>

<p>Estou usando a algum tempo este procedimento, e tem dado muito certo, uma vez que não perco meus arquivos, mantenho um registro das alterações e tenho minhas máquinas (virtuais) sincronizadas. happy syncin&#8217;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coding.com.br/linux/usando-o-subversion-para-sincronizar-a-home/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
