.

Traduzir

sexta-feira, 28 de outubro de 2011

Brincado com arduino e Python

Um pequeno teste de integração de Python com Arduino.

Os códigos fonte podem ser baixados em http://dl.dropbox.com/u/19999224/ardpython.zip

Abaixo está o vídeo da operação.


terça-feira, 4 de outubro de 2011

Pelo direito de Escolher o Sistema Operacional que Vem no PC

Já algum tempo publiquei aqui o fato de que a venda casada de computador e sistema operacional, uma prática muito comum, é crime. Agora estou fazendo um abaixo assinado para que a Lei seja cumprida. Temos o direito, de  no ato da compra, optar por não vir junto um sistema operacional pré-definido na máquina, sendo assim, pagando menos pelo conjunto. Isso é, temos o direito de no ato da compra ser informado de que posso pagar só pelo Hardware. Pela luta do cumprimento dos nossos direitos, peço que assinem o abaixo assinado que está no seguinte link: http://www.peticaopublica.com.br/?pi=P2011N14813

Juntos Podemos Muito MAIS.

quinta-feira, 8 de setembro de 2011

Deve existir uma idade mínima para alfabetização?

Somos hoje um país de analfabetos funcionais. O sistema educacional não valoriza o desenvolvimento pleno das crianças e jovens. Pelo contrário, vivemos na lei do mínimo esforço. Se o aluno consegue o mínimo para passar já está ótimo. Não temos grandes projetos para atividades extracurriculares. Na escola não se ensina, de verdade, arte ou a ciência divertida, que é aquela que está além dos livros, mas na possibilidade de desenvolver projetos que vão desde de construir um vulcão de bicarbonato de sódio a montar um robô de lego. Somos um povo medíocre, pois estamos contentes com um sistema mediano, nem muito bom, nem muito ruim.
Feliz pós dia da independência.




quinta-feira, 1 de setembro de 2011

Calculadora Científica on-line


Achei bem legal essa calculadora.

O link é: http://web2.0calc.com







web 2.0 scientific calculator

quarta-feira, 24 de agosto de 2011

Minha proposta para o Python Brasil[7]

Esse é o resumo da minha proposta de palestra no Python Brasil[7].


Uma Jornada Além das Estrelas: Quando Dr. Spock Conheceu o Python e o Design de alto nível.

Resumo

Language: Português
Level: Intermediário
Summary:
Dr. Spock é um gênio com tendências conservadoras, como muitos outros doutores, sempre olhava com desconfiança as novas linguagens de programação. Como muitos, dizia que as linguagens dinâmicas, por serem interpretadas, eram mais "lentas" que as compiladas, por isso não usavam. Até que um dia o capitão Kirk lhe mostrou a linguagem PYTHON e o chamado Design de Alto Nível.
A ideia por traz do design de alto nível está na capacidade de se utilizar o poder da programação multiparadigma e das baterias incluídas presente em PYTHON, além do vasto mundo de pacotes externos, com uma linguagem compilada, seja ela C/C++ ou mesmo o FORTRAN 77/90, tendo como finalidade o ganho em desempenho computacional e a redução do tempo de desenvolvimento de código. Nessa palestra (Ou pequeno conto espacial ) será abordado de forma breve:
  • O uso de Programação Orientada a Objetos na solução de problemas científicos: Planejando antes de programar, gerando código esqueleto a partir do diagrama de classes.
  • A combinação da linguagem FORTRAN com PYTHON: Quando um velho bruxo aprende ofidioglossia
  • O uso de multiprocessing para otimização de cálculos em máquinas multicore.
  • Alguns pacotes essenciais: Numpy, Scipy, Matplotlib, Scientific Python.
  • Graviton Perturbation: Combinando a metodologia anterior com  web2py no desenvolvimento de um aplicativo web para o estudo de cosmologia e astrofísica.

segunda-feira, 22 de agosto de 2011

web2py, scipy e numpy : Escrevendo e lendo matrizes em banco de dados

Eu estava com um pequeno problema que era o seguinte. Eu uso a biblioteca io do scipy. Essa biblioteca me permite ler e escrever dados em um arquivo no formato .mtx que é um formato bem interessante para se trabalhar com dados matriciais.

Eu estou integrando o meu programa com web2py e estou usando o DAL do mesmo para gerar o banco de dados para a construção de funções semi-analíticas, ou seja, funções que são criadas a partir da interpolação de dados numéricos.


O que eu queria era preservar a estrutura mtx de dados e identificá-los com os parâmetros que os geraram. Mas além disso eu precisava que o meu programa verifica-se se os dados já existiam. Se a resposta fosse afirmativa, os dados deveriam ser lido. Usando io do scipy, os dados lidos eram automaticamente armazenados em uma matriz tipo numpy. Se os dados não existissem, então os cálculos seriam realizados e o resultado final seria escrito, via io, no formato .mtx dentro do banco de dados. A solução para essa questão foi a seguinte.

  • Primeiramente importei as bibliotecas necessárias.

                   >>> from gluon import *
                   >>> from numpy import array
                   >>> from cStringIO import StringIO
                   >>> import scipy.io as io

  • Modelando o banco de dados: O primeiro passo foi pensar em como deveria ser o formato da tabela do meu banco de dados. Em cada linha duas colunas, uma para o identificador, com os parâmetros geradores, e outra para os dados.  De forma geral ficou assim:  


                   >>> db=DAL('sqlite://temporaio.db'
                   >>> db.define_table('dados',Field('Parametro'),Field('Matriz'))

  •  Inserindo as informações no banco de dados: Como teste irei gerar uma matriz 3x3, criar um arquivo via buffer, usar o io para escrever os dados no formato mtx no buffer e finalmente pegar os dados do buffer e escrevê-los no banco de dados
                   >>> x=array([[1,2,3],[5,6,7],[8,9,0]])
                   >>> output=StringIO()
                   >>> io.mmwrite(output,x,comment='isso e um teste',field='real')
                   >>> db.dados.insert(Parametro='Primeira',Matriz=output.getvalue())
                   >>> db.commit()
                   >>> output.close() #Limpa o buffer
  • Lendo os dados: Agora irei selecionar a matriz previamente inserida no banco de dados e convertê-la para o formato de matriz do numpy.
                   >>> MM = db(db.dados.Parametro=='Primeira').select()[0]
                   >>> T3=MM.Matriz
                   >>> Input=StringIO(T3)
                   >>> X4=io.mmread(Input)
                   >>> Input.close() #Limpa o Buffer

O  que falta agora é escrever os validadores do banco de dados para garantir que não serão inseridas matrizes iguais.

sexta-feira, 19 de agosto de 2011

Artigo aceito para publicação no MNRAS Letters.


http://arxiv.org/abs/1108.3745



In this Letter, we present a model connecting the cosmic star formation rate (CSFR) to the growth of supermassive black holes. Considering that the evolution of the massive black hole is dominated by accretion (Soltan's argument) and that the accretion process can be described by a probabilistic function directly regulated by the CSFR, we obtain the evolution of the black hole mass density. Then using the quasar luminosity function, we determine both the functional form of the radiative efficiency and the evolution of the quasar duty-cycle as functions of the redshift. We analyze four different CSFRs showing that the quasar duty-cycle, $\delta(z)$, peaks at $z\sim 8.5-11$ and so within the window associated with the reionization of the Universe. In particular, $\delta_{\rm max}\sim 0.09-0.22$ depending on the CSFR. The mean radiative efficiency, $\bar\eta(z)$, peaks at $z\sim 0.6-3.0$ with $\bar\eta_{\rm max}\sim 0.10-0.46$ depending on the specific CSFR used. Our results also show that is not necessary a supercritical Eddington accretion regime to produce the growth of the black hole seeds. The present scenario is consistent with the formation of black hole seeds $\sim 10^3{\rm M}_\odot$ at $z\sim 20$.

terça-feira, 28 de junho de 2011

[angry bird funcionando Kyros 7015 Froyo] Android 2.2 no coby kyros 7015 solução grafico 3d

Exitem diversas vantagem em atualizar o Coby Kyros 7015 para o android 2.2 (Froyo) como a possibilidade de transferir facilmente aplicativos para o cartão de memória, a possibilidade de usar um modem 3g e acesso a rede ad-hoc. Além disso,senti que  o teclado virtual está melhor calibrado que a versão 2.1. Porém existia um pequeno problema ao rodar jogos 3d. Agora não mais. Abaixo está como resolver esse pequeno detalhe e deixar o android 2.2 no kyros 7015 melhor.

Não vou deixar aqui um tutorial de como atualizar o coby kyros para o android 2.2. Mas para quem quiser fazer isso veja o tutorial nesse link. Foi o passo que fiz para atualizar o meu.

Após a atualização do seu 7015 para o android 2.2 baixe o arquivo mali.ko.ridgeland.zip.

No terminal inicialize o adb no modo shell. Para usuários linux o dispositivo só será reconhecido corretamente se o terminal estiver no modo super usuario (sudo su).
Descompacte o arquivo anterior e salve-o (mali.ko.ridgeland) no cartão de memória.
Inicialize o adb no modo shell.
$ adb shell

Monte o /system com permissão de leitura e escrita

$ mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system

Faça uma cópia de segurança do mali.ko original

$ cd /system/lib/modules
$cp mali.ko mali.ko.original

Agora copie o arquivo do cartão de memoria para o local correto

$cp /sdcard/mali.ko.ridgeland /system/lib/modules/mali.ko

Dê permissão de execução para esse arquivo.

$chmod +x mali.ko

 É preciso adicionar algumas linhas ao arquivo build.prop localizado em /system/

$cd /system/
$ vi build.prop

Ao final do arquivo adicione a seguinte linha:

dalvik.vm.heapsize=24m

Salve o arquivo e reboot o sistem.

$ reboot

Pronto. Os jogos como angry bird estarão rodando corretamente agora.

Outra dica, para que os que não instalarem corretamente faça o seguinte:
No seu table, entre  em configurações>Configurações CyanogenMod > Local de instalação. Escolha entre Automático ou Memoria interna. Tente instalar novamente o aplicativo. O angry bird instalou corretamente quando eu coloque em Memória Interna.


Referências:

http://forum.xda-developers.com/showthread.php?t=868842
http://www.androidtablets.net/forum/coby-generation-1-technical/13178-rom-cyanogenmod-android-2-2-a.html
http://android-tricks.blogspot.com/2009/01/mount-filesystem-read-write.html
http://tipstir.the-talk.net/t1383-coby-kyros-7015-how-to-install-cyanogenmod-froyo-based


sábado, 25 de junho de 2011

[solução] coby kyros só inicializa no fastboot?

Eu tive um pequeno problema com o meu coby kyros 7015. Ao atualizar o clockword o boot só ocorria no modo fastboot. Ai eu não conseguia fazer mais nada. A solução foi encontrada baseada em http://calebfultz.com/blog/archives/153.

O que fiz foi baixar o arquivo flash_image e salva-lo no meu cartão de memoria. em seguida, usando o adb shell digitei os seguintes comandos:

#cd sdcard
#cp /sdcard/flash_image /system/bin/flash_image
#chown root.shell /system/bin/flash_image
#chmod 0755 /system/bin/flash_image
 
#flash_image recovery recovery.img
#reboot recovery
 
omandos:

 O aparelho fez o boot no clockword corretamente.


segunda-feira, 13 de junho de 2011

Eduardo e Mônica - O filme


terça-feira, 31 de maio de 2011

IWCCA: I Workshop de Computação Científica em Astronomia

Apresentação do PyGraWC - Python FrameWokr for Gravitational Waves Comology - No I Workshop de Computação Cinetífica em Astronomia - IWCCA.

2 - 5 de junho de 2011
Núcleo de Astrofísica Teórica
Universidade Cruzeiro do Sul (São Paulo - SP)





O PyGraWC é um framework escrito em PYTHON e FORTRAN que auxilia no estudo de: formação de estruturas como galáxias e aglomerado de galáxias, taxa cósmica de formação estelar, evolução de buracos negros supermassivos e da emissão de ondas gravitacionais originados de buracos negros estelares e supermassivos tal como a razão sinal/ruído de fundos estocásticos em detectores interferométricos de base terrestre ou espaciais.

Abaixo está a apresentação:


Abaixo estão os vídeos usados na apresentação:




Até a proxima

sexta-feira, 27 de maio de 2011

Como nascem as Galaxias

Nessa postagem segue uma teoria de formação de objetos pré-galácticos, ou seja, que poderão se tornar galáxias.

Os ingredientes necessários são, matéria escura e matéria bariônica.

Cerca de 96% do conteúdo do universo nos é desconhecido, as chamadas energia escura (Dark Energy) e matéria escura (Dark Matter). Apenas cerca de 4% da matéria do universo é a que compõe estrelas e é claro pessoas como nós (Quem sabe não possa existir seres de matéria escura que não interagem com a luz, vai saber, rsrs)

Abaixo tem um gráfico que mostra a representação dessa distribuição.


Mas uma coisa interessante em cosmologia é que existem fases da história cósmica em que cada um desses componentes dominaram a dinâmica do mesmo.
Para entender isso temo o seguinte. No inicio, logo após o Big-Bang, tudo estava muito próximo, os átomos não podiam ser formados, pois a radiação interagia com os elétrons e prótons, afastando um do outro, e sem esse casamento nada de hidrogênio. Essa é a chamada era da radiação.

Aqui vale acentuar uma coisa, os prótons são partículas da família dos Bárions (matéria bariônica) e os elétrons são léptons. Como a massa do elétron e  da ordem de 2 000 vezes menor que a do próton, é comum ouvir em cosmologia apenas o termo matéria bariônica como sendo a matéria ordinária que compõe estrelar.

Continuando.

Quando o universo expandiu o suficiente a radiação perdeu a bola da vez, e os átomos puderam se ajuntar. Mas antes disso, a matéria escura, que não interagem com os fótons, já tinha começado o seu trabalho. Essa por sua vez começou a se agrupar e a formar halos de matéria escura.

Esses halos então começam a atrair  a matéria bariônica, mas as estrelas ainda teriam um pouco de dificuldade para se formarem, pois a radiação ainda estava dominando, como ilustrado na figura abaixo.


Bom, mas isso não durou para sempre, pois o universo continuou expandindo. Então, a matéria bariônica pode se aconchegar em halos de matéria escura. E nesse aconchego se torna propicia a formação estelar. Assim nascem os objetos pré-galácticos, que são halos de matéria escura cuja a formação estelar tem início.

Na figura abaixo tem a representação de uma galáxia, onde a parte brilhante no centro representa a matéria bariônica na forma de estrelas e o halo escuro em volta é justamente o halo de matéria escura.




Nesse vídeo, que foi gerado com dados dos resultados de simulação do projeto de simulações do milênio (The Millennium Simulation Project), mostra a evolução da matéria escura na forma de aglomeração em halos.


Sem mais.

sexta-feira, 20 de maio de 2011

Quase sem querer -Legião

Nostalgia...



Afinal, o infinito é realmente um dos deuses mais lindos.









Quase Sem Querer
Legião Urbana
Composição : Dado Villa-Lobos / Renato Russo / Renato Rocha

Tenho andado distraído,
Impaciente e indeciso
E ainda estou confuso,
Só que agora é diferente:
Sou tão tranqüilo e tão contente.

Quantas chances desperdicei,
Quando o que eu mais queria
Era provar pra todo o mundo
Que eu não precisava
Provar nada pra ninguém.

Me fiz em mil pedaços
Pra você juntar
E queria sempre achar
Explicação pro que eu sentia.
Como um anjo caído
Fiz questão de esquecer
Que mentir pra si mesmo
É sempre a pior mentira,
Mas não sou mais
Tão criança a ponto de saber tudo.

Já não me preocupo se eu não sei por que.
Às vezes, o que eu vejo, quase ninguém vê
E eu sei que você sabe, quase sem querer
Que eu vejo o mesmo que você.

Tão correto e tão bonito;
O infinito é realmente
Um dos deuses mais lindos!
Sei que, às vezes, uso
Palavras repetidas,
Mas quais são as palavras
Que nunca são ditas?

Me disseram que você
Estava chorando
E foi então que eu percebi
Como lhe quero tanto.

Já não me preocupo se eu não sei por que.
Às vezes, o que eu vejo, quase ninguém vê
E eu sei que você sabe, quase sem querer
Que eu quero o mesmo que você.

sábado, 14 de maio de 2011

Um pouco sobre a Astrofísica do INPE: Reportagem do Planeta Vanguarda

Esse programa foi exibido na emissora Vanguarda, uma associada da rede globo no Vale do Paraíba.

Aqui é apresentado um pouco da divisão de astrofísica do INPE.




quarta-feira, 27 de abril de 2011

Um pouco de humor

Direto do  vidadeprogramador.com.br.
O segredo do IE9

Cobra de suspensórios, sem chance!

Uma pequena curiosidade.
Digite no terminal

$ python -c "from __future__import braces"

e o resultado será

File "", line 1
SyntaxError: not a chance


Para quem não sabe, braces quer dizer suspensórios.

sexta-feira, 15 de abril de 2011

Venda Casada é crime: Movimento Diga Não ao Windows.

Comprou um computador que veio com Windows, mas você vai retira-lo para colocar um LINUX, então porquê pagar por algo que não vai usar?

Vamos então começar o movimento

DIGA NÃO AO WINDOWS.

É muito comum, ao adquirir um computador, vir junto o (Ru)Windowns intalado. O que você realmente deseja é o Hardware, mas você tem que pagar R$ 400,00 a mais porque tem ali junto o sistema W. Mas se eu vou colocar X-nux porquê pagar a mais.
Existe uma lei que diz que é crime a venda casa. Ou seja, você quer comprar um produto, mas é obrigado a comprar outro produto junto, computador mais sistema operacional. Isso é a venda casada.
Veja o que diz a lei (extraído de http://www.vendacasadaecrime.org.br/)

A Venda Casada é expressamente proibida pelo Código de Defesa do Consumidor - CDC (art. 39, I), constituindo inclusive crime contra as relações de consumo (art. 5º, II, da Lei n.º 8.137/90).
O consumidor não pode ser compelido a adquirir aquilo que não quer, e deve exigir a venda do produto ou a prestação do serviço de acordo com aquilo que deseja.
Caso o fornecedor se recuse a vender o item desejado sem o outro indicado, o consumidor deve recorrer à Justiça.
Leis - Saiba quais são!  
  • A Lei 8.137 / 90, artigo 5º, II, III tipificou essa prática como crime, com penas de detenção aos infratores que variam de 2 a 5 anos ou multa.
  • E a Lei 8.884 / 94, artigo 21º, XXIII, define a venda casada como infração de ordem econômica. A prática de venda casada configura-se sempre que alguém condicionar, subordinar ou sujeitar a venda de um bem ou utilização de um serviço à aquisição de outro bem ou ao uso de determinado serviço.
  • Pelo Código de Defesa do Consumidor, a Lei 8078 / 90, artigo 39º, “é vedado ao fornecedor de produtos ou serviços, condicionar o fornecimento de produto ou de serviço ao fornecimento de outro produto ou serviço, bem como, sem justa causa, a limites quantitativos”.
  • E pela Resolução do Banco Central nº 2878/01 (alterada pela nº 2892/01), Artº 17, “é vedada a contratação de quaisquer operações condicionadas ou vinculadas à realização de outras operações ou à aquisição de outros bens e serviços”.


Na reportagem abaixo, do programa "Olhar Digital" também aborda esse tema.



Acho que já passou da hora, de que para qualquer computador que formos comprar, termos a opção de dizer Não para O Windows.

quarta-feira, 6 de abril de 2011

E o linux vence a Microsoft



É isso mesmo, a batalha entre linux e Microsoft termina com a vitória do nosso querido pinguim. Ao menos é o que diz Jim Zemlin, diretor-executivo da Linux Foundation.

Isso ocorre porque o linux está presente em televisores em leitores de e-book como o Amazon Kindle e B&N Nook, e em smartphones e tablets com Android ou webOS (da HP) – além de estar em quase todos os principais supercomputadores do mundo.

Mas o grosso dos desktops ainda usam Windows.

Fontes:
http://www.gizmodo.com.br/conteudo/linux-declara-vitoria-sobre-microsoft/
http://www.networkworld.com/news/2011/040511-linux-vs-microsoft.html?hpg1=bn
http://news.slashdot.org/story/11/04/05/2243209/Bashing-MS-Like-Kicking-a-Puppy-Says-Jim-Zemlin

terça-feira, 5 de abril de 2011

Ter paciência e seguir em frente

Quando tudo está perdido sempre existe um caminho...

Felizmente eu não acordei com febre e qualquer possível tristeza é passageira.

Existem momentos, decisões que não podem retroceder, mas isso também é bom, pois nos ajuda a crescer e nos tornarmos pessoas melhores. Somos criadores do nosso caminho, até que o nosso caminhar se cruza a de mais alguém. E  sabe o que é mais incrível, isso ocorre no passo seguinte e a cada passo consecutivamente.
Então criamos caminhos coletivos que sempre levam a novas descobertas. Algumas boas, outras nem tanto, mas sabemos que todas podem nos ajudar.

...É só o amor, é só o amor que sabe o que é a verdade.
Ainda que eu falace a língua dos homens e dos anjos...

E por amor nos refazemos das cinzas, como a fênix, por amor enfrentamos as dores e adquirimos força para levantar e correr para recuperar o tempo perdido.


...Não sou escravo de ninguém;
ninguém senhor do meu domínio;
sei o que devo defender...


É a vida, somos o que somos e mais nada.

A todos, uma bela estrada cheia de encruzilhadas...

segunda-feira, 28 de março de 2011

Simples, complexo e complicado.

Em python, no modo shell, se você digitar o seguinte comando

import this

irá encontrar o zen do python. Que é um pequeno poema, escrito por  Tim Peters, que retrata a filosofia da linguagem.
Existe um ponto nesse poema que acho fantástico e diz o seguinte:

"Simple is better than complex.
Complex is better than complicated."

Traduzindo.

Simples é bem melhor que complexo.
Complexo é bem melhor que complicado.

Já um vídeo que ilustra bem essa ideia é o que está ai embaixo:



Muitas vezes se quer passar tanta informação sobre algo que o mesmo se torna algo muito complicado. Informações complexas devem ser quebradas em partes simples. A complexidade continua ali, mas a  decomposição da mesma em partes menores a tornam inteligíveis.

domingo, 27 de março de 2011

Modem Nokia CS-11 no Ubuntu, como instalar. (Ubuntu 10.10)

Ontem comprei um modem da nokia, modelo CS-11. Para instala-lo no ubuntu, (a versão do meu é a 10.10), fiz uma pequena busca e encotrei algumas soluções interessantes. Existia um arquivo .deb para o modelo CS-10, que possuia alguns erros, além disso, o arquivo de .rules não era compatível com o modelo que eu queria.

Vamos ao que realmente interessa.
Para que o modem funcione no ubuntu crie o arquivo 25-nokia-zerocd.rules em /etc/udev/rules.d/ com a seguinte informação

BUS=="usb", SUBSYSTEM=="block", SYSFS{idVendor}=="0421", SYSFS{idProduct}=="061d", ACTION=="add", PROGRAM=="/usr/bin/eject %N", OPTIONS+="last_rule"

salve e digite o seguinte comando no terminal

udevadm control --reload-rules

Pronto.
Outra solução é a seguinte, eu editei o arquivo .deb  e fiz todas as correções necessárias para instalação (nokia-zercorc_0.1-11_all_fixed.deb).

Para instalar o modem usando esse arquivo basta dar um duplo clique com o botão esquerdo do mouse sobre o mesmo ou digitar no terminal

sudo dpkg -i nokia-zercorc_0.1-11_all_fixed.deb

Para baixar o arquivo de instalação do modem, clique aqui.

quinta-feira, 17 de março de 2011

Via linha de comando

Esse é um teste do uso do googlecl

quarta-feira, 16 de março de 2011

ppvector

Acabo de deixar disponível um módulo em python para calculo de valores em um vetor em paralelo.
Link da documentação:


https://sourceforge.net/projects/ppvector/files/ppvector.pdf/download

O link para baixar o modulo

http://sourceforge.net/projects/ppvector/files/ppvector_01.zip/download


Até a Próxima.

terça-feira, 15 de março de 2011

Ciência Divertida

Já pensou em um documentário sobre a vida do salmão ser divertido!
Essa é a proposta do biólogo marinho é cineasta Randy Olson. Para ter ideia do que estou falando, veja o vídeo abaixo:



fonte: ciencia hoje.

segunda-feira, 14 de março de 2011

O Guia do Mochileiro das Galaxias.

Para os fãs de o Guia do Mochileiro das Galaxias



sexta-feira, 11 de março de 2011

Uma Verdade mais que conveniente.

Mas o que é mesmo o carnaval?

Vejam esse vídeo da  jornalista Rachel Sheherazade, do Tambaú Notícia e digam se não é verdade.

 

Um Feliz Ano Novo Brasileiro a todos!!!

quinta-feira, 17 de fevereiro de 2011

Programação para cientistas, novos paradgimas

Existe um índice internacional que mede o ganho de espaço de linguagens de
programação, ou seja, o quanto essas linguagens são usadas
internacionalmente. Esse índice serve como referência para programadores
ao desenvolver uma plataforma, podendo ter noção do quão bem aceito, ou
não, o software será, dependendo da linguagem em que foi escrito.

Esse índice é corrigido mês a mês. É interessante notar que as linguagens
como java, c e c++ são as primeiras da lista, mas tem um gráfico que
mostra que essas linguagem tem perdido pontuação desde de 2002 e que as
linguagens dinâmicas e fortemente tipadas estão em crescimento, um exemplo
disso é PYTHON, que esse mês ocupa a quarta posição.

Outro dado interessante é que o FORTRAN ocupa a 23ª posição e o MATLAB a 29ª.

Quem quiser saber mais veja:

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html



Vivemos um momento de mudanças de paradigma na área de computação.
Chegamos em um ponto em que o custo de mão de obra humana qualifica é
muito, mas muito maior que o de hardware.

O profissional é valorizado por adotar métodos ágeis, mantendo a
criatividade. E isso é válido para todas as áreas. Nós como cientistas em
potencial devemos ter isso em mente ao desenvolver nossos trabalhos.


Criatividade, agilidade, espirito de liderança, humildade para reconhecer
os méritos dos outros e força de caráter para enfrentar as adversidades,
essas são características fundamentais devemos agregar a nossas
personalidades para obter sucesso em nossa carreira.

terça-feira, 15 de fevereiro de 2011

Quando a cobra bota ovo, criando e executando arquivos .egg,

Já imaginou qual seria o equivalente em python ao .jar do java?
Em python temos o arquivo .egg, que em essência é um arquivo compactado (.zip) onde estão contidos os módulos python.

O primeiro passo será criar um pacote com a seguinte estrutura.
/Trabalho/
                /MyPack/
                               /oi/
                                   __init__.py
                                   __main__.py
                /MyModules/
                                    __init__.py
                                    uai.py

O que será feito aqui é o seguinte. O arquivo __main__.py será o nosso programa principal. Ele irá usar o modulo MyModules para realizar alguma tarefa.

Comecemos pelo pacote MyModules.
O arquivo __init__.py terá a seguinte informação:

__all__=['uai'] #Lista contendo os módulos em MyModules.

Já o arquivo uai.py terá:

#!/usr/bin/env  python

def Ola(nome):
     print'Muito prazer %s, bem vindo ao ovo' %str(nome)

Já o arquivo __main__.py terá o seguinte:

#!/usr/bin/env python
from  MyModules impotr uai

nome=raw_input("Ola, qual o seu nome?")

uai.Ola(nome)

O arquivo __init__.py do que está no primeiro nível de MyPack será:

#!/usr/bin/env python
__all__=['__main__','MyModules']

Agora em uma pasta assima de MyPack iremos criar um arquivo  chamado setup.py com a seguinte informação:


#!/usr/bin/env python
from setuptools import setup

setup(name='oi',
      version='1.0',
      packages=['MyPack','MyModules'],
)

Agora via terminal, dentro dessa pasta executamos o seguinte comando:

$ python setup.py bdist_egg

Pronto, aparecerá uma pasta chamada dist que irá conter o arquivo .egg

Para executar o arquivo .egg diretamente faremos o seguinte comando:

PYTHONPATH=oi.egg python -c "from MyPack import __main__;"


E ai está. A linha de comando anterior poderá estar em um arquivo . sh, por exemplo o arquivo RodaOvo.sh:

#!/bin/bash
PYTHONPATH=oi.egg python -c "from MyPack import __main__;"

Dá-se a permissão de execução

$chomod +x RodaOvo.sh

Assim bastará digitar

$./RodaOvo.sh

Que o programa dentro do .egg será executado.

Se você criar um pacote .egg para distribuir,  a instalação se da pelo comando:

$ easy_install meuarquivo.egg


Os arquivos usado nesse exemplo podem ser baixados aqui

domingo, 2 de janeiro de 2011

PodCast

A partir de agora, o blog Espaço-tempo Perturbado também irá transmitir PodCast. O endereço de assinatura dos feeds é: http:\\feeds.feedburner.com\blogspot\Xivob