sexta-feira, 5 de março de 2010

pyflakes - sugerindo melhorias no código Python

Existe uma ferramenta chamada "pyflakes"[1], que pode ser instalada via apt-get (apt-get install pyflakes - desculpem usuários de windows). Ela serve para melhorar algumas coisas nos códigos, por exemplo avisando sobre "import" que não é mais usado ou variáveis que não atribuídas mas nunca usadas.

Para usar, é bem simples:

pyflakes UCSAutenticacao.py

E a saída vai ser algo como:

UCSAutenticacao.py:9: 'get_times_user' imported but unused
UCSAutenticacao.py:33: local variable 'log' is assigned to but never used
UCSAutenticacao.py:46: local variable 'u' is assigned to but never used

Assim, podemos verificar quais variáveis não são usadas e removê-las. O mesmo vale para os includes.

Vamos deixar nossos códigos otimizados? :D

Além do pyflakes, existe o pylint[2], mas eu não experimentei ele ainda.

[1] http://pypi.python.org/pypi/pyflakes
[2] http://pypi.python.org/pypi/pylint



Fonte @petry

sexta-feira, 19 de fevereiro de 2010

art and design (wallpapers)

O link é antigo, mas tem uns wallpapers legais (além de algum significado):




Fica a dica

quinta-feira, 18 de fevereiro de 2010

Trânsito na TV - propaganda vale?

IMHO, as propagandas que fazem para campanha de "paz no trânsito" não atingem o objetivo porque quem assiste não vive nada da realidade mostrada. São coisas do tipo "nunca vai acontecer comigo".

Uma excessão é a que passou nesse verão, do Detran do RS. É simples, mas mais perto da realidade antes de acontecer qualquer coisa. O vídeo:





Eu confesso que mais de uma vez saí atrasado falando no telefone. Só que não atropelei ninguém (e nem corri demais ;))

Gerenciador de Downloads para megaupload - fim do captcha

Quem faz muito download pelo megaupload já deve ter pensado em alguma forma de burlar o captcha e baixar uma lista inteira de links. Pois a solução existe e fala espanhol! :)

É o Tucan Manager. Já tem pacote para o debian, então:
apt-get install tucan
Depois, um bug chato apareceu pra mim, ao iniciar o tucan em modo debug (pq os downloads nunca iniciavam, então algo estava errado):
tucan -d
[...]
HTMLParseError: bad end tag: '', at line 882, column 73
A solução é simples até. É só fazer replace do "+" por vazio e pronto. Postei a solução num tópico do fórum do Tucan. As mudanças:

72c72,73
<             p = CaptchaParser(URLOpen().open(url).read())
---
>             # HTMLParseError: bad end tag: ''
>             p = CaptchaParser(URLOpen().open(url).read().replace('"+"', ''))
81c82,83
<                         self.feed(handle.read())
---
>                         # HTMLParseError: bad end tag: ''
>                         self.feed(handle.read().replace('"+"', ''))


PS.: vi que ele consome um monte de CPU... ainda não sei o motivo, mas isso é ruim, muito ruim...

quarta-feira, 6 de janeiro de 2010

2010 - ano do ARM e do Tablet?!

Ano passado, foi o "Touch Book": http://www.alwaysinnovating.com/

Custa entre US$299 e US$399. Tablet, touch e com processador ARM.

Rumores surgiram sobre um tal tablet da Apple, mas nada concreto. A Microsoft HP parecem estar se puxando para lançar um tb. A ideia parece boa, mas não será ARM, pq Windows não funciona no ARM:

A pouco, vi a notícia do smartbook da Freescale: 7", touch, processador ARM, 10 horas de bateria:


E o preço é o menor desses: US$199. Por enquanto é só promessa, mas já me apaixonei =D

Será 2010 o ano do ARM e do Tablet?

Fontes:
http://www.meiobit.com/meio-bit/ind-stria/smartbook-da-freescale-vai-encarar-apple
http://www.liliputing.com/2010/01/freescale-introduces-sub-200-web-tablet-reference-design.html
http://www.baixaki.com.br/info/3308-microsoft-e-hp-podem-lancar-tablet.htm

domingo, 3 de janeiro de 2010

Acelerando o DNS - Google na parada?!

Bastante estardalhaço no fim de 2009 com o lançamento do Google Public DNS. A algum tempo já temos uma alternativa, o OpenDNS. Além desses, ainda teríamos o "default" da operadora, a GVT no meu caso.

A solução que imagino ser a melhor é ter um cache local para o DNS. E é simples configurar também, além de economizar uns trocos se vc usa um modem 3G.

::: Testes de performance :::

A ideia é simples: testar quanto tempo demora para resolver o nome www.google.com com cada um dos servidores DNS. 3x cada um.

O teste:
for (( i=0 ; i<3 ; i++ ));
do
time nslookup www.google.com [IP do DNS];
done

1. Google: 8.8.8.8

real    0m0.076s
user    0m0.008s
sys    0m0.008s

real    0m0.080s
user    0m0.008s
sys    0m0.008s

real    0m0.093s
user    0m0.016s
sys    0m0.004s


2. OpenDNS: 208.67.222.222

real    0m0.192s
user    0m0.012s
sys    0m0.008s

real    0m0.184s
user    0m0.004s
sys    0m0.008s

real    0m0.188s
user    0m0.008s
sys    0m0.008s


3. GVT (servidor de POA): 200.175.89.139

real    0m0.034s
user    0m0.008s
sys    0m0.004s

real    0m0.031s
user    0m0.004s
sys    0m0.012s

real    0m0.031s
user    0m0.004s
sys    0m0.000s


4. local (dnsmasq): 127.0.0.1

real    0m0.023s
user    0m0.004s
sys    0m0.016s

real    0m0.029s
user    0m0.012s
sys    0m0.008s

real    0m0.035s
user    0m0.012s
sys    0m0.004s


O resultado é o esperado, eu acredito. O OpenDNS é o mais lento, pois provavelmente é o mais distante deles.
O Google surpreende, cortando pela metade o tempo de resposta do OpenDNS.
O da GVT é bem mais rápido, pois está próximo (e por isso precisa passar por menos servidores que os demais). Isso foi testado no ADSL da GVT (1Mbps), por isso a vantagem.
O local é rápido também, mas não com tanta diferença assim para o da própria operadora. Deve mehorar a performance em conexões 3G e discadas.

Pra configurar o dnsmasq, antes é preciso instalá-lo. No debian:

apt-get install dnsmasq
E depois configurar para iniciar o serviço (use o comando sysv-rc-conf, disponível num pacote com o mesmo nome).

Para sempre usar o DNS local, mesmo usando DHCP, apenas altere o arquivo /etc/dhcp3/dhclient.conf, adicionando (ou descomentando) a linha:
prepend domain-name-servers 127.0.0.1;
Para conferir quais são os servidores DNS configurados, olhe o arquivo /etc/resolv.conf

Fontes:
http://www.vivaolinux.com.br/dica/Acelerando-conexao-discada-com-openDNS-e-Dnsmasq/
http://ubuntuforums.org/showthread.php?t=544383

sexta-feira, 1 de janeiro de 2010

Feliz ano novo!!!!

Postando do note (sim, o HP voltou), no primeiro dia de 2010. Postando do "Blogger em rascunho", pra experimentar, e está sendo divertido. Algumas coisas parecem terem vindo do Google Docs...

Mas, vamos compilar e instalar o novo ano que se inicia:
cd ano_2010/
./configure --with-saude --with-paz --without-stress --with-tempo --with-dinheiro
make
make install

E que venha 2010!