Month: October 2007

Agulha de Buffon

É incrível como a probabilidade pode ser utilizada para calcular coisas precisas. Quando alguém diz que a probabilidade de uma moeda cair em cara ou coroa é de 50% isso significa que se jogarmos uma moeda no chão alguns milhões de vezes a quantidade de caras obtidas será praticamente igual a quantidade de coroas, os seja, elas se aproximarão de 50%.

No século XVIII o naturalista e matemático francês George Buffon usou a probabilidade para calcular o número PI. Ele propós jogar uma agulha de comprimento l num plano com linha paralelas afastadas numa distância igual ao comprimento da agulha. Ele descobriu que a probabilidade da agulha cruzar uma das linhas paralelas era proporcional a PI.

O desenvolvimento da fórmula matemática pode ser encontrado na wikipedia (buffon’s needle) e um artigo em português com o desenvolvimento da fórmula e o algoritmo em linguagem C pode ser encontrado neste artigo:

http://www.cin.ufpe.br/~ldl/buffon.pdf

P.S.: Eu testei o algoritmo usando o GCC e funcionou, é fantástico!

Kidcad quê?

Resolvi testar o Kidcad para desenvolvimento de placas de circuito impresso, eu utilizava o Eagle, também testei o gEDA antes, mas não gostei.

Inicialmente não achei nada de diferente nele, segue o padrão dos demais CAD para eletrônica. Uma coisa que não gostei foi que quando eu movo um componente as ligações (fios) deste componente não se movem como acontece no Eagle, Proteus e outros.

Esquemático pronto, vamos verificar se tem alguma inconsistência, para isso clico no botão “Schematic Eletrict Rules Check” e recebo o erro: “Pin power_in not driven”, após pesquisar na internet encontro a resposta em um mini-tutorial na página do próprio projeto Kicad (este manual foi escrito por um Brasileiro e traduzido para o inglês). A solução é simples, eu preciso ligar um componente chamado PWR_FLAG no VCC e outro no GND.

Depois clico em “Netlist generation” para gerar o netlist, em seguida em “Run Cvpcb” para associar todos os componentes ao devidos encapsulamentos, ainda bem que existe um botão para fazer isso automaticamente.

Por fim executo “Run Pcbnew” para abrir o software que gera o PCB, ele usa a netlist criada anteriormente. Para fazer o roteamento automático clico no botão “Mode Track and Autorouting” e depois clicando com o botão direito do mouse numa área vazia do projeto seleciono “Global Autoroute” -> “Autoroute All Modules”.

Em resumo, o Kicad é um pouco mais difícil de usar que o Eagle, mas a qualidade dos dois é semelhante. O Kicad precisa de algumas melhorias, principalmente na parte de roteamento. Mas para projetos pequenos atende bem.

O tutorial completo pode ser lido no link:
http://kicad.sourceforge.net/wiki/index.php/Mini_tutorial

A Microsoft perdeu?

Segunda-feira (22/10/2007) a microsoft finalmente se rendeu a pagar a multa de EUR 497 milhões anunciada em maio de 2004. Claro que ela terá que pagar multa pelos mais de 700 dias passados desde a decisão anterior, o que elevará o montante para a casa dos bilhões de dólares.

Isso parece trágico para a Microsoft, certo? Errado!
A Microsoft conseguiu impor “seu direito” de receber royalties sobre os programas que outras empresas desenvolverem utilizando as API’s do Windows. Ela pretendia receber 5.95% de royalties sobre cada software vendido por outras empresas que utilizem as API’s do Windows, mas a comissão só aprovou o pagamento de 0.4%.

Isto significa que em poucos meses a Microsoft terá recebido todo o dinheiro que pagou de multa e estará no lucro novamente. O lado bom é que este pagamento de royalties não poderá ser cobrado por software open-source. Sim, só faltava essa né?

Este episódio serviu para consolidar as patentes de software na Europa, e a MS saiu vitoriosa como sempre.

Um brinde à Microsoft!!!

Quem está usando meu HD?

Do nada o LED do seu HD começa a piscar sem parar, um “ps ax” não lista nada suspeito, não é o updatedb em executação.

E agora? O que fazer?

Simples, basta executar o comando:

# echo 1 > /proc/sys/vm/block_dump

Em seguida para visualizar os suspeitos execute o comando dmesg e a lista com os processos acessando o HD será exibida:

# dmesg
syslogd(1890): dirtied inode 13633 (syslog) on hda2
syslogd(1890): dirtied inode 13633 (syslog) on hda2
syslogd(1890): dirtied inode 133035 (kern.log) on hda2
syslogd(1890): dirtied inode 133035 (kern.log) on hda2
syslogd(1890): dirtied inode 133031 (debug) on hda2
syslogd(1890): dirtied inode 133031 (debug) on hda2
firefox-bin(2311): dirtied inode 424508 (sessionstore-1.js) on hda2

Enviando mensagens de graça para celulares da TIM

A TIM é a única operadora de telefonia que não permite enviar mensagem de SMS gratuítas pelo site. É possível enviar mensagens pagas utilizando o jSMS (http://jsms.com.br), mas cada mensagem é debitada na sua conta.

Uma forma simples (não tão simples) que permitir enviar mensagens gratuítas para os celulares TIM é utilizando o sistema de agenda oferecida pelo google. Funciona da seguinte forma: crie uma conta no Gmail (ex. smstoalan@gmail.com), então vá em Agenda e em Notificações ative o suporte a envio via SMS.

Então se uma pessoa quiser enviar um SMS gratuito para você ela entra nesta conta e agenda um compromisso para os próximos 30 min. Então alguns minutos depois você receberá um SMS com a mensagem que a pessoa escreveu no compromisso. Simples assim.

Atualizacao: Mr. Google acabou com a festa de quem usava este sistema. Entao a solucao e’: Vai trabalhar vagabundo, e use seu dinheiro para deixar as operadoras ainda mais ricas.