<?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; gnu</title>
	<atom:link href="http://www.coding.com.br/category/gnu/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>Convertendo videos do Youtube para audio (MP3)</title>
		<link>http://www.coding.com.br/gnu/convertendo-videos-do-youtube-para-audio-mp3/</link>
		<comments>http://www.coding.com.br/gnu/convertendo-videos-do-youtube-para-audio-mp3/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 18:30:58 +0000</pubDate>
		<dc:creator>Tiago Maluta</dc:creator>
				<category><![CDATA[gnu]]></category>
		<category><![CDATA[lame]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mp3]]></category>
		<category><![CDATA[mplayer]]></category>
		<category><![CDATA[ogg]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://www.coding.com.br/?p=487</guid>
		<description><![CDATA[Programas necessários:

Alguma distribuição GNU/Linux
mplayer
lame (caso queria converter para mp3)
vorbis-tools (caso queira converter para ogg)

Os videos do YouTube, normalmente qualquer conteúdo Flash, fica armazenados na pasta /tmp do sistema operacional na forma FlashXXXX (exemplo: FlashaOiW6k). Para cada arquivo flash existirá um arquivo correspondente, para descobrir de qual se trata utilize o mplayer, no console (cd /tmp):
mplayer FlashaOiW6k
Após [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Programas necessários:</p>
<ul>
<li>Alguma distribuição GNU/Linux</li>
<li><a href="http://www.mplayerhq.hu" target="_blank">mplayer</a></li>
<li><a title="Lame project" href="http://lame.sourceforge.net" target="_blank">lame</a> (caso queria converter para mp3)</li>
<li><a href="http://www.vorbis.com " target="_blank">vorbis-tools</a> (caso queira converter para ogg)</li>
</ul>
<p style="text-align: justify;">Os videos do YouTube, normalmente qualquer conteúdo Flash, fica armazenados na pasta <strong>/tmp</strong> do sistema operacional na forma FlashXXXX (exemplo: FlashaOiW6k). Para cada arquivo flash existirá um arquivo correspondente, para descobrir de qual se trata utilize o mplayer, no console (cd /tmp):</p>
<pre style="text-align: justify;">mplayer FlashaOiW6k</pre>
<p style="text-align: justify;">Após descobrir o arquivo, vamos primeiro converter o arquivo para <strong>wav </strong>e depois para algum formato mais compacto.</p>
<pre>mplayer FlashaOiW6k<span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; line-height: 19px; white-space: normal; font-size: 13px; "> -novideo -ao pcm:file=musica.wav</span></pre>
<p><span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px; white-space: pre; "><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; line-height: 19px; white-space: normal; font-size: 13px; ">Convertendo para <strong>mp3</strong>:</span></span></p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 159px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">lame -V2 input.wav output.mp3</div>
<pre>lame -V2 musica.wav musica.mp3</pre>
<div></div>
<p>Ou <strong>ogg</strong>:</p>
<pre>oggenc musica.wav</pre>
<p>No final temos os seguintes tamanhos para cada arquivo, considerando uma música de 4 minutos.</p>
<ul>
<li>8.9M    FlashaOiW6k</li>
<li>21.0M    saida.wav</li>
<li>2.4M   saida.mp3</li>
<li>1.5M   saida.ogg</li>
</ul>
<p>Este procedimento provavelmente irá funcionar para qualquer conteúdo Flash (ex. outros sites de video) que fique armazenado na tmp.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coding.com.br/gnu/convertendo-videos-do-youtube-para-audio-mp3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Acessando o Gmail pelo Mutt</title>
		<link>http://www.coding.com.br/gnu/acessando-o-gmail-pelo-mutt/</link>
		<comments>http://www.coding.com.br/gnu/acessando-o-gmail-pelo-mutt/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 16:59:15 +0000</pubDate>
		<dc:creator>Tiago Maluta</dc:creator>
				<category><![CDATA[gnu]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[mutt]]></category>

		<guid isPermaLink="false">http://www.coding.com.br/?p=391</guid>
		<description><![CDATA[Para acessar seus emails da conta do GMAIL no modo texto, utilizando o mutt,  adicione ao arquivo ~/.muttrc

set imap_user = "USERNAME@gmail.com"
set imap_pass = "PASSWORD"
set spoolfile = imaps://imap.gmail.com:993/INBOX
set folder = imaps://imap.gmail.com:993
set record="imaps://imap.gmail.com/[Gmail]/Sent Mail"
set postponed="imaps://imap.gmail.com/[Gmail]/Drafts"
set header_cache="~/.mutt/cache/headers"
set message_cachedir="~/.mutt/cache/bodies"
set certificate_file=~/.mutt/certificates

set move = no

set sort = 'threads'
set sort_aux = 'last-date-received'
set imap_check_subscribed

ignore "Authentication-Results:"
ignore "DomainKey-Signature:"
ignore "DKIM-Signature:"
ignore "Received:"
ignore "Return-Path"
ignore "MIME-Version"
ignore "X-Spam-Details"
ignore "Received-SPF"
ignore "List-Id"
ignore [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Para acessar seus <em>emails</em> da conta do GMAIL no modo texto, utilizando o <a title="mutt website" href="http://www.mutt.org/" target="_blank">mutt</a>,  adicione ao arquivo ~/.muttrc</p>
<pre style="text-align: justify;">
set imap_user = "USERNAME@gmail.com"
set imap_pass = "PASSWORD"
set spoolfile = imaps://imap.gmail.com:993/INBOX
set folder = imaps://imap.gmail.com:993
set record="imaps://imap.gmail.com/[Gmail]/Sent Mail"
set postponed="imaps://imap.gmail.com/[Gmail]/Drafts"
set header_cache="~/.mutt/cache/headers"
set message_cachedir="~/.mutt/cache/bodies"
set certificate_file=~/.mutt/certificates

set move = no

set sort = 'threads'
set sort_aux = 'last-date-received'
set imap_check_subscribed

ignore "Authentication-Results:"
ignore "DomainKey-Signature:"
ignore "DKIM-Signature:"
ignore "Received:"
ignore "Return-Path"
ignore "MIME-Version"
ignore "X-Spam-Details"
ignore "Received-SPF"
ignore "List-Id"
ignore "List-Unsubscribe"
ignore "List-Post"
ignore "List-Help"
ignore "List-Subscribe"
ignore "Content-Type"
ignore "Content-Transfer-Encoding"
ignore "Sender"
ignore "Errors-To"
ignore "X-BeenThere"
ignore "X-Mailman-Version"
ignore "Precedence"
ignore "List-Archive"
ignore "X-MIME-Autoconverted"
ignore "Message-ID"
ignore "Delivered-To"
ignore "User-Agent"
ignore "X-Spam-Score"
ignore "X-Spam-OrigSender"
ignore "X-Spam-Bar"
ignore "In-Reply-To"
ignore "References"
ignore "X-System-Of-Record"

hdr_order Date From To Cc
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.coding.com.br/gnu/acessando-o-gmail-pelo-mutt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Busca textual em arquivos</title>
		<link>http://www.coding.com.br/gnu/busca-textual-em-arquivos/</link>
		<comments>http://www.coding.com.br/gnu/busca-textual-em-arquivos/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 15:53:50 +0000</pubDate>
		<dc:creator>Tiago Maluta</dc:creator>
				<category><![CDATA[gnu]]></category>

		<guid isPermaLink="false">http://www.coding.com.br/?p=329</guid>
		<description><![CDATA[Como resolver o problema de arquivos com espaço em branco na hora de fazer uma busca textual?
Qualquer uma das três formas funciona:

   1. find PATH -iname FILTRO -exec grep -n PALAVRA '{}' \; -print
   2. find PATH -iname FILTRO -exec grep -n PALAVRA /dev/null '{}' \;
   3. find PATH [...]]]></description>
			<content:encoded><![CDATA[<p>Como resolver o problema de arquivos com espaço em branco na hora de fazer uma busca textual?</p>
<p>Qualquer uma das três formas funciona:</p>
<pre>
   1. find PATH -iname FILTRO -exec grep -n PALAVRA '{}' \; -print
   2. find PATH -iname FILTRO -exec grep -n PALAVRA /dev/null '{}' \;
   3. find PATH -iname FILTRO -exec grep -Hn PALAVRA '{}' \;
</pre>
<p>Exemplo:</p>
<p>Vamos imaginar a seguinte hieraquia de pastas e arquivos:</p>
<p><a href="http://www.coding.com.br/wp-content/uploads/2009/10/tree.jpeg"><img src="http://www.coding.com.br/wp-content/uploads/2009/10/tree.jpeg" alt="" title="" width="321" height="465" class="aligncenter size-full wp-image-348" /></a><br />
De modo que o comando:</p>
<pre>
$ find . -iname "nome*"
</pre>
<p>Mostre todos os arquivos que começam com &#8220;nome&#8221;</p>
<p style="padding-left: 30px;">
<span style="color: #ff0000;"><br />
./c/c3/nome2 sobrenome2<br />
./c/c3/nome1 sobrenome1<br />
./b/b2/nome1 sobrenome1 final1<br />
./b/b3/nome2 sobrenome2<br />
./b/b1/nome1 sobrenome2 mais um pouco<br />
./a/a3/nome1 sobrenome1<br />
./a/a1/nome2 sobrenome3<br />
./a/a1/nome sobrenome<br />
./a/a1/nome1 sobrenome1<br />
</span>
</p>
<p>Para fazer a busca do algum texto dentro desses arquivos, poderiamos pensar algo como:</p>
<pre>
$ find . -iname "nome*" | xargs grep teste
</pre>
<p>Mas o espaço em branco iria atrapalhar a interpretação dos arquivos&#8230;</p>
<p style="padding-left: 30px;">
<span style="color: #ff0000;"><br />
grep: ./c/c3/nome2: No such file or directory<br />
grep: sobrenome2: No such file or directory<br />
grep: ./c/c3/nome1: No such file or directory<br />
grep: sobrenome1: No such file or directory<br />
</span>
</p>
<p style="padding-left: 30px;">
<span style="color: #ff0000;"><br />
		(&#8230;)<br />
</span>
</p>
<p style="padding-left: 30px;">
<span style="color: #ff0000;"><br />
grep: ./a/a1/nome1: No such file or directory<br />
grep: sobrenome1: No such file or directory<br />
</span>
</p>
<p>Uma das soluções está no próprio find:</p>
<pre>
$ find . -iname "nome*" -exec grep teste '{}' \;
</pre>
<p style="padding-left: 30px;">
<span style="color: #ff0000;"><br />
teste 123<br />
</span>
</p>
<p>Contudo, é importante saber o número da linha da ocorrência e o nome do arquivo, logo:</p>
<pre>
find . -iname "nome*" -exec grep -n teste '{}' \; -print
</pre>
<p style="padding-left: 30px;">
<span style="color: #ff0000;"><br />
1:teste 123<br />
./c/c3/nome2 sobrenome2<br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.coding.com.br/gnu/busca-textual-em-arquivos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
