Papo de Maluco

Hoje estava brincando com Requests e tive essa ideia maluca: import requests import re def Ed(text): params=dict(server=’0.0.0.0:8085′,charset_post=’utf-8′, charset=’utf-8′,pure=1,js=0,tst=1,msg=text) return re.sub(‘<[^>]*>’,”,re.sub(r’\n+$’,”, requests.get(‘http://www.ed.conpet.gov.br/mod_perl/bot_gateway.cgi’, params=params).text)) def SeteZoom(text): params=dict(server=’127.0.0.1:8088′,pure=1,js=0,tst=1,msg=text) return re.sub(r’\n+$’,”, requests.get(‘http://bot.insite.com.br/cgi-bin/bot_gateway.cgi’, params=params).text) msg=’Oi!’ while True: print ‘SeteZoom: %s’ % msg msg=Ed(msg) print ‘Ed: %s’ % msg msg=SeteZoom(msg) Teste aí, o resultado às vezes é mais inteligente que muito… Continue reading…

Números bem torturados

Dizem que Delfim Neto dizia que números, quando bem torturados, são capazes de confessar qualquer coisa. Eu concordo. Sempre que você ouvir números impressionantes gaste algum tempo pensando, aplique um pouco de matemática básica e duvide um pouco do que você ouviu. Vi no Facebook hoje o pessoal compartilhando esse artigo: Paulistas compram mais carros… Continue reading…

Dica de Python: glob

Um módulo Python pequeno, com uma única função muito simples, mas que você precisa conhecer é o glob. O que ele faz é obter uma listagem de diretório: import glob files=glob.glob(‘*’) O que equivale a: import os files=os.listdir(‘.’) Porém o glob é muito poderoso. Podemos fazer: glob.glob(‘*.mad’) Ou: glob.glob(‘../pasta/*’) Fica a dica.

Parallel Python

Embora seu computador possa ter dois, quatro, oito ou até dezesseis núcleos de processamento, o Python só usa um deles de cada vez (mesmo trabalhando com threads). Parallel Python resolve o problema. Um exemplo simples, para você entender como funciona: ppserver = pp.Server(ppservers=()) job1 = ppserver.submit(funcao_demorada, (), (), ()) job2 = ppserver.submit(funcao_demorada, (), (), ())… Continue reading…

utf8_decode em Javascript

Navegando por aí, acabei esbarrando no blog do meu amigo Marcos Rossow (nossa, quanto tempo!) E encontrei esse post: JavaScript UTF-8 Decode, com um código tirado daqui: JavaScript utf8_decode. Tem duas coisas que me incomodam nessa abordagem. A primeira é essa mania que muita gente tem, particularmente programadores PHP, de tratar UTF-8 como um “código… Continue reading…

Hein?

Trecho de código legado (ASP) que pegamos aqui: if len(request(“price”)) = 3 then     valorTotal = left(request(“price”),1) elseif len(request(“price”)) = 4 then     valorTotal = left(request(“price”),2) elseif len(request(“price”)) = 5 then     valorTotal = left(request(“price”),3) end if Jênio.

Fuja da complexidade

Abri o OpenOffice Writer, mandei gravar uma macro, escrevi “teste”, selecionei e pintei de vermelho. Olha o código gerado: sub Main rem ———————————————————————- rem define variables dim document as object dim dispatcher as object rem ———————————————————————- rem get access to the document document = ThisComponent.CurrentController.Frame dispatcher = createUnoService(“com.sun.star.frame.DispatchHelper”) rem ———————————————————————- dim args1(0) as new com.sun.star.beans.PropertyValue… Continue reading…

Não entre em pânico

Você está usando um terminal conectado a um servidor Unix quando as coisas começam a se comportar de maneira estranha. Depois de algum tempo você descobre o problema. Vai até a mesa de um programador novato e descobre que ele, como root, digitou: # cd # rm -rf * O sujeito percebeu a burrada antes… Continue reading…