<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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" version="2.0">

<channel>
	<title>Não Entre em Pânico</title>
	
	<link>http://neep.net84.net</link>
	<description>Palm Treo 680, Z22, HP Jornada 720, computação, Linux e mais algumas coisas</description>
	<pubDate>Tue, 24 Nov 2009 16:42:19 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/neep" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="neep" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Novo site!</title>
		<link>http://neep.net84.net/?p=149</link>
		<comments>http://neep.net84.net/?p=149#comments</comments>
		<pubDate>Tue, 24 Nov 2009 16:41:39 +0000</pubDate>
		<dc:creator>Cléber</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://neep.net84.net/?p=149</guid>
		<description><![CDATA[Acesse agora o PDA:Treo. Lá você verá uma série de tutoriais muito bem explicados, com imagens e tudo o mais.
]]></description>
			<content:encoded><![CDATA[<p>Acesse agora o <a href="http://pdatreo.blogspot.com" target="_self">PDA:Treo</a>. Lá você verá uma série de tutoriais muito bem explicados, com imagens e tudo o mais.</p>
]]></content:encoded>
			<wfw:commentRss>http://neep.net84.net/?feed=rss2&amp;p=149</wfw:commentRss>
		</item>
		<item>
		<title>Banner expansível, fácil, fácil!</title>
		<link>http://neep.net84.net/?p=146</link>
		<comments>http://neep.net84.net/?p=146#comments</comments>
		<pubDate>Fri, 20 Feb 2009 15:19:01 +0000</pubDate>
		<dc:creator>Cléber</dc:creator>
		
		<category><![CDATA[Programação]]></category>

		<category><![CDATA[banners]]></category>

		<category><![CDATA[desenvolvimento web]]></category>

		<category><![CDATA[flash]]></category>

		<category><![CDATA[html]]></category>

		<category><![CDATA[javascript]]></category>

		<category><![CDATA[web]]></category>

		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://neep.net84.net/?p=146</guid>
		<description><![CDATA[Clicando aqui você saberá como botar um banner em flash expansível no seu site. Excelente. E funciona cross-browser!
]]></description>
			<content:encoded><![CDATA[<p>Clicando <a href="http://neep.net84.net/?page_id=145" target="_self">aqui</a> você saberá como botar um banner em flash expansível no seu site. Excelente. E funciona cross-browser!</p>
]]></content:encoded>
			<wfw:commentRss>http://neep.net84.net/?feed=rss2&amp;p=146</wfw:commentRss>
		</item>
		<item>
		<title>ZeroFill: preencha strings com zeros</title>
		<link>http://neep.net84.net/?p=124</link>
		<comments>http://neep.net84.net/?p=124#comments</comments>
		<pubDate>Thu, 04 Dec 2008 11:00:37 +0000</pubDate>
		<dc:creator>Cléber</dc:creator>
		
		<category><![CDATA[scripts]]></category>

		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://neep.net84.net/?p=124</guid>
		<description><![CDATA[Esse script faz exatamente isso: você dá uma string e diz o tamanho que quer que ela tenha. O programa preenche o que falta para aquele tamanho com &#8220;0&#8243;.
#!/usr/bin/python
#-*- encoding: latin-1 -*-
import sys
if len(sys.argv) &#60;=1 :
print &#8220;Você deve especificar uma string&#8221;
sys.exit(1)
else:
tam = int(sys.argv[2])
name = sys.argv[1]
print name.zfill(tam),
]]></description>
			<content:encoded><![CDATA[<p>Esse script faz exatamente isso: você dá uma string e diz o tamanho que quer que ela tenha. O programa preenche o que falta para aquele tamanho com &#8220;0&#8243;.</p>
<p>#!/usr/bin/python<br />
#-*- encoding: latin-1 -*-</p>
<p>import sys</p>
<p>if len(sys.argv) &lt;=1 :<br />
print &#8220;Você deve especificar uma string&#8221;<br />
sys.exit(1)<br />
else:<br />
tam = int(sys.argv[2])<br />
name = sys.argv[1]<br />
print name.zfill(tam),</p>
]]></content:encoded>
			<wfw:commentRss>http://neep.net84.net/?feed=rss2&amp;p=124</wfw:commentRss>
		</item>
		<item>
		<title>texme: facilita o trabalho com LateX</title>
		<link>http://neep.net84.net/?p=123</link>
		<comments>http://neep.net84.net/?p=123#comments</comments>
		<pubDate>Fri, 28 Nov 2008 11:00:26 +0000</pubDate>
		<dc:creator>Cléber</dc:creator>
		
		<category><![CDATA[scripts]]></category>

		<category><![CDATA[latex]]></category>

		<guid isPermaLink="false">http://neep.net84.net/?p=123</guid>
		<description><![CDATA[Pega um arquivo .tex, cria um PDF e já o visualiza. Muito útil. Ao menos pra mim.
#!/bin/bash
fname=$(echo $1 &#124; sed &#8220;s:.tex::g&#8221;)
latex $1 &#38;&#38; dvipdfm $fname.dvi &#38;&#38; xpdf $fname.pdf
]]></description>
			<content:encoded><![CDATA[<p>Pega um arquivo .tex, cria um PDF e já o visualiza. Muito útil. Ao menos pra mim.</p>
<p>#!/bin/bash</p>
<p>fname=$(echo $1 | sed &#8220;s:.tex::g&#8221;)</p>
<p>latex $1 &amp;&amp; dvipdfm $fname.dvi &amp;&amp; xpdf $fname.pdf</p>
]]></content:encoded>
			<wfw:commentRss>http://neep.net84.net/?feed=rss2&amp;p=123</wfw:commentRss>
		</item>
		<item>
		<title>swapmousebuttons: troque os botões do mouse</title>
		<link>http://neep.net84.net/?p=122</link>
		<comments>http://neep.net84.net/?p=122#comments</comments>
		<pubDate>Fri, 21 Nov 2008 11:02:34 +0000</pubDate>
		<dc:creator>Cléber</dc:creator>
		
		<category><![CDATA[scripts]]></category>

		<category><![CDATA[X11]]></category>

		<guid isPermaLink="false">http://neep.net84.net/?p=122</guid>
		<description><![CDATA[Para quem usa Linux no HP Jornada 720 ou similares (em que se usa uma tela sensível a toque), esse script é muito útil. Ele vai alternando o significado dos botões do mouse, imaginando um mouse de três botões. Leia o script e tente entendê-lo antes de ficar perdido com seu mouse quando usá-lo.
#!/bin/bash
mode=$(xmodmap -pp [...]]]></description>
			<content:encoded><![CDATA[<p>Para quem usa Linux no HP Jornada 720 ou similares (em que se usa uma tela sensível a toque), esse script é muito útil. Ele vai alternando o significado dos botões do mouse, imaginando um mouse de três botões. Leia o script e tente entendê-lo antes de ficar perdido com seu mouse quando usá-lo.</p>
<p>#!/bin/bash</p>
<p>mode=$(xmodmap -pp | tr -s &#8221; &#8221;  | cut -f3 -d&#8221; &#8221;  | grep Code -A 1 | tail -1)</p>
<p>#echo &#8220;Modo atual: $mode&#8221;</p>
<p>next_mode=$((($mode % 3) + 1))</p>
<p>case $next_mode in<br />
1)<br />
xmodmap -e &#8220;pointer = 1 2 3&#8243;<br />
;;<br />
2)<br />
xmodmap -e &#8220;pointer = 2 3 1&#8243;<br />
;;<br />
3)<br />
xmodmap -e &#8220;pointer = 3 1 2&#8243;<br />
;;<br />
esac</p>
]]></content:encoded>
			<wfw:commentRss>http://neep.net84.net/?feed=rss2&amp;p=122</wfw:commentRss>
		</item>
		<item>
		<title>Randomize: mais coisas aleatórias, só que em Python</title>
		<link>http://neep.net84.net/?p=121</link>
		<comments>http://neep.net84.net/?p=121#comments</comments>
		<pubDate>Fri, 14 Nov 2008 11:00:44 +0000</pubDate>
		<dc:creator>Cléber</dc:creator>
		
		<category><![CDATA[scripts]]></category>

		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://neep.net84.net/?p=121</guid>
		<description><![CDATA[Eu não sou muito fã de scripts em Python, mas vá lá. Esse camarada retorna um número aleatória de dois tipos: de zero ao número dado como argumento ou entre o primeiro e o segundo argumento. Muito útil em algumas situações&#8230;
#!/usr/bin/env python
# -*- encoding: latin-1 -*-
import sys, random
if len(sys.argv) == 2:
s_lim = int(sys.argv[1])
i_lim = 0
elif [...]]]></description>
			<content:encoded><![CDATA[<p>Eu não sou muito fã de scripts em Python, mas vá lá. Esse camarada retorna um número aleatória de dois tipos: de zero ao número dado como argumento ou entre o primeiro e o segundo argumento. Muito útil em algumas situações&#8230;</p>
<p>#!/usr/bin/env python<br />
# -*- encoding: latin-1 -*-</p>
<p>import sys, random</p>
<p>if len(sys.argv) == 2:<br />
s_lim = int(sys.argv[1])<br />
i_lim = 0</p>
<p>elif len(sys.argv) == 3:<br />
i_lim = int(sys.argv[1])<br />
s_lim = int(sys.argv[2])</p>
<p>else:<br />
print &#8220;Faltam argumentos&#8221;<br />
sys.exit(1)</p>
<p>print random.randint(i_lim, s_lim)</p>
]]></content:encoded>
			<wfw:commentRss>http://neep.net84.net/?feed=rss2&amp;p=121</wfw:commentRss>
		</item>
		<item>
		<title>random-item: itens aleatórios</title>
		<link>http://neep.net84.net/?p=120</link>
		<comments>http://neep.net84.net/?p=120#comments</comments>
		<pubDate>Fri, 07 Nov 2008 11:01:55 +0000</pubDate>
		<dc:creator>Cléber</dc:creator>
		
		<category><![CDATA[scripts]]></category>

		<guid isPermaLink="false">http://neep.net84.net/?p=120</guid>
		<description><![CDATA[Esse é um dos poucos scripts em que é muito bom que você tenha o zsh instalado. Você usa da seguinte maneira: &#8220;random-item &#60; arquivo-com-entradas.txt&#8221;, e ele escolhe uma linha aleatória do arquivo. Ou &#8220;ls &#124; random-item&#8221;, e ele pega um arquivo aleatório.
Você também pode especificar quantos itens quer.
#!/bin/zsh
if [[ $1 == &#8220;&#8221; ]];then
n=1
else
n=$1
fi
while read [...]]]></description>
			<content:encoded><![CDATA[<p>Esse é um dos poucos scripts em que é muito bom que você tenha o zsh instalado. Você usa da seguinte maneira: &#8220;random-item &lt; arquivo-com-entradas.txt&#8221;, e ele escolhe uma linha aleatória do arquivo. Ou &#8220;ls | random-item&#8221;, e ele pega um arquivo aleatório.<br />
Você também pode especificar quantos itens quer.</p>
<p>#!/bin/zsh</p>
<p>if [[ $1 == &#8220;&#8221; ]];then<br />
n=1<br />
else<br />
n=$1<br />
fi</p>
<p>while read x;do<br />
lista=($lista $x)<br />
done</p>
<p>len_lista=$(print -ln $lista | wc -l)</p>
<p>for ((i=0;i&lt;$n;i=i+1));do<br />
r=$(($RANDOM % $len_lista))<br />
echo $lista[$r]<br />
done</p>
]]></content:encoded>
			<wfw:commentRss>http://neep.net84.net/?feed=rss2&amp;p=120</wfw:commentRss>
		</item>
		<item>
		<title>random-file: arquivos aleatórios</title>
		<link>http://neep.net84.net/?p=119</link>
		<comments>http://neep.net84.net/?p=119#comments</comments>
		<pubDate>Thu, 23 Oct 2008 11:00:44 +0000</pubDate>
		<dc:creator>Cléber</dc:creator>
		
		<category><![CDATA[scripts]]></category>

		<guid isPermaLink="false">http://neep.net84.net/?p=119</guid>
		<description><![CDATA[Pega um determinado número de arquivos aleatórios dentro de um dado diretório.
#!/bin/bash
if [[ $1 == &#8220;&#8221; &#124;&#124; $2 == &#8220;&#8221; ]];then
echo &#8220;Uso: $(basename $0) diretorio num_arquivos&#8221;
exit 1
else
dir=$1
n=$2
fi
lista=($dir/*)
len_lista=$(print -ln $dir/* &#124; wc -l)
for ((i=0;i&#60;$n;i=i+1));do
r=$(($RANDOM % $len_lista))
echo $lista[$r]
done
]]></description>
			<content:encoded><![CDATA[<p>Pega um determinado número de arquivos aleatórios dentro de um dado diretório.</p>
<p>#!/bin/bash</p>
<p>if [[ $1 == &#8220;&#8221; || $2 == &#8220;&#8221; ]];then<br />
echo &#8220;Uso: $(basename $0) diretorio num_arquivos&#8221;<br />
exit 1<br />
else<br />
dir=$1<br />
n=$2<br />
fi</p>
<p>lista=($dir/*)<br />
len_lista=$(print -ln $dir/* | wc -l)</p>
<p>for ((i=0;i&lt;$n;i=i+1));do<br />
r=$(($RANDOM % $len_lista))<br />
echo $lista[$r]<br />
done</p>
]]></content:encoded>
			<wfw:commentRss>http://neep.net84.net/?feed=rss2&amp;p=119</wfw:commentRss>
		</item>
		<item>
		<title>propalm: mande arquivos para o palm</title>
		<link>http://neep.net84.net/?p=118</link>
		<comments>http://neep.net84.net/?p=118#comments</comments>
		<pubDate>Thu, 23 Oct 2008 11:00:20 +0000</pubDate>
		<dc:creator>Cléber</dc:creator>
		
		<category><![CDATA[scripts]]></category>

		<guid isPermaLink="false">http://neep.net84.net/?p=118</guid>
		<description><![CDATA[Só pra não ter que ficar escrevendo toda a linha de comando.
Para enviar arquivos para a memória interna do seu Palm: &#8220;propalm arquivo1 arquivo2 arquivo3&#8243;.
#!/bin/bash
if [[ $1 == &#8220;&#8221; ]];then
echo &#8220;Uso: $(basename $0) arquivos&#8221;
exit 1
fi
pilot-xfer -i $*
]]></description>
			<content:encoded><![CDATA[<p>Só pra não ter que ficar escrevendo toda a linha de comando.<br />
Para enviar arquivos para a memória interna do seu Palm: &#8220;propalm arquivo1 arquivo2 arquivo3&#8243;.</p>
<p>#!/bin/bash</p>
<p>if [[ $1 == &#8220;&#8221; ]];then<br />
echo &#8220;Uso: $(basename $0) arquivos&#8221;<br />
exit 1<br />
fi</p>
<p>pilot-xfer -i $*</p>
]]></content:encoded>
			<wfw:commentRss>http://neep.net84.net/?feed=rss2&amp;p=118</wfw:commentRss>
		</item>
		<item>
		<title>plucker-convert: converta arquivos para o Plucker</title>
		<link>http://neep.net84.net/?p=117</link>
		<comments>http://neep.net84.net/?p=117#comments</comments>
		<pubDate>Thu, 16 Oct 2008 11:00:15 +0000</pubDate>
		<dc:creator>Cléber</dc:creator>
		
		<category><![CDATA[scripts]]></category>

		<guid isPermaLink="false">http://neep.net84.net/?p=117</guid>
		<description><![CDATA[Eu organizo toda a minha biblioteca virtual usando o seguinte formato de nomes de arquivo:
autor&#8211;idioma&#8211;titulo.formato
Daí criei esse script, que serve para passar os arquivos para o Plucker sem muito esforço. Para que ele funcione, seus arquivos devem seguir o mesmo formato que eu uso.
#!/usr/bin/python
# -*- encoding: latin-1 -*-
import sys
import os
import commands
convertidos = []
titulos_longos = []
autores={
&#8220;arthur-conan-doyle&#8221;: [...]]]></description>
			<content:encoded><![CDATA[<p>Eu organizo toda a minha biblioteca virtual usando o seguinte formato de nomes de arquivo:</p>
<p>autor&#8211;idioma&#8211;titulo.formato</p>
<p>Daí criei esse script, que serve para passar os arquivos para o Plucker sem muito esforço. Para que ele funcione, seus arquivos devem seguir o mesmo formato que eu uso.</p>
<p>#!/usr/bin/python<br />
# -*- encoding: latin-1 -*-</p>
<p>import sys<br />
import os<br />
import commands</p>
<p>convertidos = []<br />
titulos_longos = []</p>
<p>autores={<br />
&#8220;arthur-conan-doyle&#8221;: &#8220;doyle&#8221;,<br />
&#8220;jonathan-edwards&#8221;:&#8221;edwards&#8221;,<br />
&#8220;augustus-nicodemus-lopes&#8221;:&#8221;nicodemus&#8221;,<br />
&#8220;charles-darwin&#8221;:&#8221;darwin&#8221;,<br />
&#8220;lloyd-jones&#8221;:&#8221;jones&#8221;,<br />
&#8220;charles-dickens&#8221;:&#8221;dickens&#8221;,<br />
}</p>
<p>def Main():</p>
<p>global convertidos</p>
<p>if os.path.exists(&#8221;log.txt&#8221;):</p>
<p>log = open(&#8221;log.txt&#8221;, &#8220;r&#8221;)</p>
<p>for linha in log:<br />
linha = linha.strip()<br />
if len(linha) &lt;= 0: continue</p>
<p>convertidos.append(linha)</p>
<p>log.close()</p>
<p>log = open(&#8221;log.txt&#8221;, &#8220;a&#8221;)</p>
<p>print str(convertidos)</p>
<p>if os.path.isdir(&#8221;/usr/lib/python&#8221;):<br />
spider=&#8221;/usr/lib/python/site-packages/PyPlucker/Spider.py&#8221;<br />
else:<br />
spider=&#8221;/usr/lib/python2.4/site-packages/PyPlucker/Spider.py&#8221;</p>
<p># Arquivo: autor&#8211;idioma&#8211;titulo.sufixo</p>
<p>target_dir = os.getcwd()</p>
<p>for filename in sys.argv[1:]:</p>
<p>filename = os.path.abspath(filename)<br />
basename = os.path.basename(filename)</p>
<p>if os.path.isdir(filename): continue</p>
<p>if filename in convertidos:<br />
print &#8220;Pulando&#8221;, filename<br />
continue</p>
<p>autor, idioma, titulo_sufixo = basename.split(&#8221;&#8211;&#8221;)<br />
titulo, sufixo = titulo_sufixo.split(&#8221;.&#8221;)</p>
<p>if autor in autores:<br />
autor = autores[autor]</p>
<p>print &#8220;Autor: %s\nIdioma: %s\nTitulo: %s\nSufixo: %s&#8221; % (autor, idioma, titulo, sufixo)</p>
<p>titulo_bonito = &#8220;%s-%s&#8221; % (autor, titulo.replace(&#8221;-&#8221;, &#8221; &#8220;).replace(&#8221;_&#8221;, &#8220;:&#8221;))</p>
<p>if len(titulo_bonito) &gt; 31:<br />
titulos_longos.append(filename)<br />
print &#8220;Título muito longo. Ignorando.&#8221;<br />
continue</p>
<p>print &#8220;len(titulo):&#8221;, len(titulo_bonito)<br />
print &#8220;filename: file://%s&#8221; % filename<br />
print &#8220;Título:&#8221;, titulo_bonito</p>
<p>#$spider -V 0 -f &#8220;NOME_DO_ARQUIVO&#8221; -N &#8220;TITULO BONITO&#8221; &#8211;bpp=0 &#8211;zlib-compression &#8211;no-urlinfo &#8211;stayonhost &#8211;author=desconhecido file://ARQUIVO<br />
status, output = commands.getstatusoutput(&#8221;%s -V 2 -f \&#8221;%s\&#8221; -N \&#8221;%s\&#8221; -p \&#8221;%s\&#8221; &#8211;bpp=8 &#8211;zlib-compression &#8211;author=\&#8221;%s\&#8221; \&#8221;file://%s\&#8221;" % (spider, basename, titulo_bonito, target_dir, autor, filename))</p>
<p>if status != 0:<br />
print output<br />
print &#8220;=== Erro ===&#8221;<br />
else:<br />
log.write(&#8221;%s\n&#8221; % filename)<br />
print &#8220;===  Ok  ===&#8221;</p>
<p>for filename in titulos_longos:</p>
<p>filename = os.path.abspath(filename)<br />
basename = os.path.basename(filename)</p>
<p>autor, idioma, titulo_sufixo = basename.split(&#8221;&#8211;&#8221;)<br />
titulo, sufixo = titulo_sufixo.split(&#8221;.&#8221;)</p>
<p>if autor in autores:<br />
autor = autores[autor]</p>
<p>print &#8220;Autor: %s\nIdioma: %s\nTitulo: %s\nSufixo: %s&#8221; % (autor, idioma, titulo, sufixo)</p>
<p>titulo_bonito = &#8220;%s-%s&#8221; % (autor, titulo.replace(&#8221;-&#8221;, &#8221; &#8220;).replace(&#8221;_&#8221;, &#8220;:&#8221;))</p>
<p>if len(titulo_bonito) &gt; 32:<br />
while True:<br />
msg = &#8220;Novo título: &#8221;<br />
print &#8221; &#8221; * len(msg) + &#8220;|&#8221; + &#8220;-&#8221; * 30 + &#8220;|&#8221;<br />
novo_titulo = raw_input(msg)</p>
<p>if len(novo_titulo) &gt; 32:<br />
print &#8220;Novo título ainda é maior que 32 caracteres! (%d)&#8221; % len(novo_titulo)<br />
continue<br />
else:<br />
titulo_bonito = novo_titulo<br />
break</p>
<p>print &#8220;len(titulo):&#8221;, len(titulo_bonito)<br />
print &#8220;filename: file://%s&#8221; % filename<br />
print &#8220;Título:&#8221;, titulo_bonito</p>
<p>#$spider -V 0 -f &#8220;NOME_DO_ARQUIVO&#8221; -N &#8220;TITULO BONITO&#8221; &#8211;bpp=0 &#8211;zlib-compression &#8211;no-urlinfo &#8211;stayonhost &#8211;author=desconhecido file://ARQUIVO<br />
status, output = commands.getstatusoutput(&#8221;%s -V 2 -f \&#8221;%s\&#8221; -N \&#8221;%s\&#8221; -p \&#8221;%s\&#8221; &#8211;bpp=0 &#8211;zlib-compression &#8211;no-urlinfo &#8211;stayonhost &#8211;author=\&#8221;%s\&#8221; \&#8221;file://%s\&#8221;" % (spider, basename, titulo_bonito, target_dir, autor, filename))</p>
<p>if status != 0:<br />
print output<br />
print &#8220;=== Erro ===&#8221;<br />
else:<br />
log.write(&#8221;%s\n&#8221; % filename)<br />
print &#8220;===  Ok  ===&#8221;</p>
<p>if __name__ == &#8220;__main__&#8221;:<br />
if len(sys.argv) &lt;= 1:<br />
print &#8220;Uso: %s arquivo [arquivos&#8230;]&#8221; % os.path.basename(sys.argv[0])<br />
sys.exit(1)<br />
Main()</p>
]]></content:encoded>
			<wfw:commentRss>http://neep.net84.net/?feed=rss2&amp;p=117</wfw:commentRss>
		</item>
	</channel>
</rss>
