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, (), (), ())
print job1()+job2()

Os quatro argumentos do método submit são: a função que será executada, os argumentos passados a ela, as funções que ele pode chamar e os módulos dos quais ela depende. Veja um exemplo de como chamar com esses parâmetros:

ppserver = pp.Server(ppservers=())
job1 = ppserver.submit(funcao_demorada, (44,), 
                        (sub_funcao,), ("sys","math",))
job2 = ppserver.submit(funcao_demorada, (25,),
                        (sub_funcao,), ("sys","math",))
print job1()+job2()

Divirta-se!

Um pouquinho mais da sintaxe do Python

Um amigo meu está fazendo faculdade, e começando a aprender a programar (com Java[bb].) Ele me mostrou semana passada um exercício que o professor passou:

  • Solicitar que o usuário informe um número inteiro que será usado como limite superior do contador.
  • O programa deverá exibir todos os números pares existentes entre 1 e o limite superior (informado via teclado pelo usuário).
  • Após a exibição dos números o programa deverá perguntar se o usuário deseja executar mais uma vez.

Por curiosidade, eu escrevi uma solução em Python[bb]:

continuar=True
while continuar:
  numero=int(raw_input("Informe o valor inicial da repeticao: "))
  print str(range(2,numero+1,2))[1:-1]
  continuar=raw_input("Continuar? (S/N) ").upper()!="N"

Update: inspirado nos comentários do Rafael Santini, uma solução com break fica mais elegante:

while 1:
  numero=int(raw_input("Informe o valor inicial da repeticao: "))
  print str(range(2,numero+1,2))[1:-1]
  if raw_input("Continuar? (S/N) ").upper()=="N":break

A quebra da proteção anti-cópia do HD-DVD, o Digg, e o futuro do DRM e das indústrias de música e cinema.

Saudações amigos piratas!

O Digg perdeu o controle de seu próprio site por causa da singela seqüência de números[bb] acima. Uma história interessante que vale a pena acompanhar. Sua primeira tendência pode ser a de criticar o Digg pela censura. Mas, pense bem, se fosse o seu pequeno negócio de milhões de dólares que estivesse ameaçado de processo judicial, será que você seria realmente tão corajoso assim?
Continue reading…

Atletas não podem ter site nem blog

CO-Rio proíbe blogs de atletas e transmissão do Pan 2007 ao vivo pela internet

Eu, se fosse patrocinador, adoraria que cada atleta tivesse um blog, atualizado diariamente, com fotos e detalhes do evento. Adoraria ver minha marca, estampada em uniformes e placas, divulgada em milhares de páginas. Adoraria que, depois de assistir a cobertura do evento na TV, cujo contrato com outro patrocinador pode levar os câmeras a tentar não mostrar minha marca (lembra daquela história dos jogos de futebol com as cabeças cortadas?) as pessoas pudessem buscar mais textos, fotos e vídeos na Internet. E não só a miserinha publicada na web pelos canais “autorizados”, mas informação abundante, variada, de gente que esteve lá para assistir aos jogos e, principalmente, dos próprios atletas.

Big Brother Brasil 7, a vez dos Geeks

Big Brother Brasil 7, a vez dos Geeks:

Mas agora o BBB apresenta uma novidade: um profissional de SEO, ou seja, um profisisonal especializado em otimizar sites[bb] para que eles apareçam em posições melhores nos sites de busca, como o google. Esses seres não são muito comuns nem fora da casa do Big Brother, já que a profissão é relativamente nova e não há um ‘curso superior para otimização de buscadores’… … Será que ele vai ficar defendendo webstandards e semântica e todas outras coisas que são cansativamente discutidas na web por “gurus” e “especialistas” da internet e te rsua votação alterada para melhor ou pior por causa de suas crenças geeks? Será que finalmetne o big brother vai ter cobertura no Tableless?