Feeds:
Posts
Comentários

Se essa linda mensagem apareceu no seu pc  depois de você ter ido dar um roler e ter deixado ele desligado, calma!! Não xinque o papa por isso.

Depois de rodar na net e não achar muita coisa em que eu tivesse fé, pois que os caras estavam dizendo que era hardware e eu culpei o software, até  buli no grub pra ver se funfava e nada.  Pois bem a solução pra esse problema aqui, foi mudar a porta do hd ¬¬. Sim, mudei da IDE0 pra IDE1 no lugar do cDrom que aqui por enquanto não está mais funfando ¬¬. E então tudo voltou a funfar.  Sabe aquela piada, que dizem da diferença entre hardware e software, pois é, eu chutei meu pc sim!

No mais é só isso. Já sabem né, se essa coisa das trevas ocorrer com você faça isso aê que eu fiz. Mas eu no seu lugar faria um backup de tudo também, vai saber se isso não é um sinal de que o seu PC tá pra morrer.

Muito em breve o novo site do PyGame estará no ar.  O que chama atenção nesse projeto do pessoal do PyGame é que além dele ser em Python (uhuu) é colaborativo, isso mesmo, ou seja, todos podem participar no desenvolvimento deste projeto.

Quais são as caracteristicas do site:

Features in 1.0
—————
* project management, including releases, user memberships, screenshots,
project of the month voting, tags, comments and RSS feeds
* user management with profile information support and email contact
facilities, site-wide user and group rights for nearly anything
* markup support using reStructuredText or pure HTML
* flatpage support for static content
* and other smaller features
* full Trac integration

Onde baixar o projeto pra ajudar:
http://code.google.com/p/pygame/downloads/list

http://pygame.googlecode.com/files/pygweb1.0.tar.gz
http://pygame.googlecode.com/files/pygweb1.0zip

Quer ver um teste deste novo projeto, clica aqui.

Referências:

Lista do PyGame

WolframAlpha

Tá na hora de retirar a poeira do blog né.  Dessa vez em mais um post informativo.

Recentemente conversando com um amigo o mesmo me falou da existência de tal site. WolframAlpha.  Mas o que seria este?  Diria que ele é uma mistura de Wikipédia e MatLab.  Ele faz calculos, mostra informações de acordo com a palavra que você pesquisa, etc.  Eu ainda não mexi nessa ferramenta a ponto de ver se ela plot gráfico ou coisas assim, mas irei testar dentro em breve.  De qualquer forma fica ai a informação para os curiosos mexerem nele.  E como disse para meu amigo “por que eu não tive essa ideia antes”.  A ideia do site é muito boa, é mais uma ferramenta a serviço da comunidade.

Opa, depois e meses sem postar vou tentar retomar o blog se o tempo deixar.  E para reviver  o mesmo convido a todos que puderem comparecer na II Bienal de Informática que acontece em natal apartir de hoje, hehe, é eu sei como disse um colega da lista do python br, to avisando meio em cima da hora.  Infelizmente só tive acesso a programação a pouco tempo.  Mas, vam lá.  Nesse bienal será realizado um encontro de usuários de python =] isso mesmo, então os colegas que puderem comparecer  a este encontro por favor façam-se presentes.

Para mais informações sobre a bienal veja: http://bienaldeinformatica.com.br/

Abaixo a programação incluido o louge:

Programação do lounge do software livre

Quinta-feira (16/04/2009):

Horário

Temas

Responsável

10:00h

Demonstrações diversas e esclarecimentos de dúvidas dos visitantes

PSL-RN

18:30h

Dropbox: sincronia e compartilhamento de arquivos nas nuvens

Moreno Montenegro

19:30h

Demonstrações diversas e esclarecimentos de dúvidas dos visitantes

PSL-RN

Sexta-feira (17/04/2009):

Horário

Temas

Responsável

10:00h

Demonstrações diversas e esclarecimentos de dúvidas dos visitantes

PSL-RN

14:00h

Encontro de Usuários do Ginga

Ginga-RN

16:00h

Demonstrações diversas e esclarecimentos de dúvidas dos visitantes

PSL-RN

Sábado (18/04/2009):

Horário

Temas

Responsável

10:00h

Demonstrações diversas e esclarecimentos de dúvidas dos visitantes

PSL-RN

11:00h

Encontro de Usuários do BrOffice.org

Gubro-RN

13:00h

Demonstrações diversas e esclarecimentos de dúvidas dos visitantes

PSL-RN

15:00h

Conhecendo o GNU/Windows (Palestra no auditório da Bienal)

Adorilson Bezerra

16:00h

Demonstrações diversas e esclarecimentos de dúvidas dos visitantes

PSL-RN

17:00h

Desenvolvimento Ágil para Web com Ruby On Rails (Palestra no auditório da Bienal)

Rafael Uchoa e Elomar França

18:00h

Encontro de Usuários Ruby On Rails

Rafael Uchoa e Elomar França

20:00h

Demonstrações diversas e esclarecimentos de dúvidas dos visitantes

PSL-RN

Domingo (19/04/2009):

Horário

Temas

Responsável

12:00h

Demonstrações diversas e esclarecimentos de dúvidas dos visitantes

PSL-RN

13:00h

Encontro de Usuários Python

Kirotawa

15:00h

Modelos de negócios com software livre (Palestra no auditório da Bienal)

Gustavo Ribeiro

16:00h

Demonstrações diversas e esclarecimentos de dúvidas dos visitantes

PSL-RN

20:00h

Utilização de software livre no seu desktop (Palestra no auditório da Bienal)

Ivanilson Junior

Durante as palestras no auditório da Bienal, no lounge continuam as demonstrações e esclarecimentos de dúvidas dos visitantes.

PyGame 1.9 e Camera

Opa, há tempos sem postar nada, coisas acontecendo e talz, mas vamo lá.

Há algum tempo o pessoal da lista do pygame que eu faço parte criou uma lista de implementações que seriam feitas para a nova versão do PyGame.  Essa lista foi disponibilizada para que aqueles que tivessem interesse em participar dos projetos pudessem colaborar.  Um dos projetos da lista é a implementação de um modulo para o PyGame 1.9 que dará suporte a camera, isso mesmo.  Muito interessante e divertido para quem mexe com PyGame.  Abaixo o conteudo do e-mail assim como o link do cara responsável por esse trabalho:

René Dudfield in pygame-users@seul.org

I started a basic implementation of pygame.camera.Camera using the
videocapture module for windows.
http://rene.f0o.com/~rene/stuff/camera_vidcapture.py

Of course it’s not complete, but allows people to use the same basic
camera API until we finish off the module on windows.

I’ve also started one using pyopencv… but haven’t finished that yet.

from camera_vidcapture import Camera
from camera_vidcapture import list_cameras
pygame.camera.Camera = Camera
pygame.camera.list_cameras = list_cameras
del Camera
del list_cameras

cu,”

Curiosidades em PHP

Outro dia  me perguntei se seria possível fazer algumas das coisas que eu faço em Python em  PHP.  Tal como passar na declaração de uma função um valor default.  E descobri que realmente é possível.  Além disso vi que também é possível declarar uma função e passar o nome dela à uma variável e chamar essa variável como sendo esta função.  Péra!! Confundiu tudo.  Vamos ver com calma nos códigos que seguem.

No código abaixo é demonstrado tudo isso que eu falei.  A função ‘abc’ é declarada passando como valor DEFAULT um inteiro, no caso 1.  Abaixo da função passamos o nome da função para duas variáveis.  A primeira vai ser chamada com parametro,  já a segunda não.  Note que para chamar a variável como função você deve por os parenteses ‘( )’ junto com a variável.  Exemplo $casa( ) <——–.  Pronto agora dá uma olhada no código e vê que legal.  Agora é só usar sua criatividade ou necessidade e fazer uso disso.

CODE


<?

function abc($valor= 1)//Declaração de função passando 1 como valor DEFAULT
{

    print $valor . "
" ;

}

$func = "abc"; //Passando o nome da função para uma variável.
$func2 = "abc";// idem acima.

$func("kirotawa");//Chamando a primeira variável como a função abc, passando valor como string.
$func2(); //Chamando a segunda função sem passar valor.

?>

PyGame no Symbian

Como disse o cara responsável por essa façanha.  HOUHOUHOU Feliz natal.

E realmente, pra mim, um viciado em PyGame, esse foi e é um presente e tanto.  Sempre pensei na possibilidade de ter o PyGame dentro do Symbiam com o PyS60.  Dae surgi um desses caras fodões e criam isso, maravilha né.  Como disse pra uma amiga, agora só falta comprar o nokia com symbian (hehehe).

Como o GameDude ou Jussi Toivola  (os nomes dele no grupo do google, e no forum Nokia), disse, a api ainda é recente e nem tudo que o PyGame suporta ele suporta, uma lista das coisas que ainda estão sem suporte são:

  • Sem suporte a textos/fonts
  • Sem muitas das extensões de imagens -> só .bmp são suportadas
  • Sem o mixer.music
  • Sem a appuifw, que dá suporte a parte gráfica do PyS60 do symbian
  • Built  com minas extensões

Por enquanto é pouco.  Mas agente sabe que iniciativas desse tipo, em pouco tempo se tornam grandes projetos de extensão.  Principalmente se for levado em consideração na quantidade de usuários do PyGame.  Eu particularmente estou muito animado com tudo isso, sou um entusiasta em PyS60 e PyGame, então estou nas nuvens =].  Ótimo presente de natal. Para  baixar o protótipo você pode clicar aqui.  Ou clicar nas referências->notícia no forum nokia, abaixo.

Referências

Pygame mirror on google groups

Noticia no Forum nokia

O post anterior falava em como você pode instalar o bcompiler e utilizá-lo para compilar o código de suas aplicações em PHP-GTK.   No caso do PHP-GTK é realmente interessante esconder o código.  Mas imagine que você precise fazer o mesmo com códigos PHP de algum sistema Web.  É do que trata este post.  Aqui vou mostrar, de forma absurdamente simples, como esconder o seu código .php.

Uma vez que você já tenha instalado o bcompiler tudo ficou mais fácil.  Os passos para esconder o código .php para aplicações Web são os mesmos para o PHP-GTK.  O primeiro passo é gerar o .phb, ou seja, o arquivo php bytecode (ver post anterior).  O segundo passo é ler o arquivo .phb e usá-lo de acordo com o que foi implementado no .php que deu origem a ele.  Vejamos o código abaixo:

CODE


<?

function DigaOi(){
    print "hello world!!";
}

?>

O código acima é referente ao código que será passado para bytecode.  Já o próximo código é como você deve fazer para usá-lo na sua aplicação.

CODE


<?
$fb =fopen("HelloWorld.phb","r");

bcompiler_read($fh);//ler o arquivo em bytecodes.

fclose($fh);

DigaOi();//Esta é a função que foi definida no arquivo .php que foi passado para phb (php compilado)

?>

Como eu disse antes, é absurdamente simples.  Uma vez que você instalou o bcompiler, adicionou:  echo ‘extension=bcompiler.so’ >> /etc/php5/apache2/php.ini.  Ou digitando no php.ini.  Pronto, agora é só testar.

Nesse post irei mostrar como criar uma aplicação em PHP-GTK compilada usando o bcompiler no linux (ubuntu 8.04).  A fonte para o tutorial de instalação do bcompiler é o  artigo do Patrick Mendes no site do PHP-GTK Brasil.

Instalando o bcompiler no seu ubuntu 8.04

kirotawa@xxx:~$wget -c http://pecl.php.net/get/bcompiler-0.8.tgz
kirotawa@xxx:~$tar -xzvf bcompiler-0.8.tgz
kirotawa@xxx:~$cd bcompiler-0.8
kirotawa@xxx:~$phpize
kirotawa@xxx:~$./configure
kirotawa@xxx:~$make
kirotawa@xxx:~$make install
kirotawa@xxx:~$echo ‘extension=bcompiler.so’ >> /etc/php5/cli/php.ini

Lembre-se de um detalhe o comando make install deve ser realizado como root.  Para não haver nenhum problema faça tudo como root, só pra garantir.

Agora que você instalou o bcompiler é hora de usar ele.  Antes vamos criar uma aplicação simples em PHP-GTK.

CODE


<?php

  $janela = new GtkWindow();
  $janela->set_default_size(100,50);
  $janela->set_title("Janela Compilada");
  $Label = new GtkLabel("Nome");
  $Nome = new GtkEntry();
  $Botao = new GtkButton("_OK",true);
  $box = new GtkHbox();

  $box->add($Label);
  $box->add($Nome);
  $box->add($Botao);
  $janela->add($box);

  $Botao->connect_simple('clicked','fExibeTexto',$Nome );

  $janela->show_all();
  $janela->connect_simple('destroy', array('gtk', 'main_quit'));
  function fExibeTexto($campotexto)
  {
    $texto = $campotexto-> get_text();
    $dialog = new GtkMessageDialog(null, Gtk::DIALOG_MODAL,
    gtk::MESSAGE_WARNING, Gtk::BUTTONS_OK, $texto );
    $dialog->run();
    $dialog->destroy();
  }

   Gtk::main();
?>

O código acima é só pra explicar. O que ele faz é criar uma janela com um GtkLabel, GtkButton e um GtkEntry. Quando o botão é pressionado abre-se um GtkMessageDialog com o conteudo do GtkEntry.
Agora vamos a parte que realmente interessa. Criar a tal  aplicação compilada.  Criamos um arquivo com o seguinte contéudo:

CODE


<?php
     $arq = fopen("janela.phb", "w");//Cria o arquivo que conterá  o bytecode
     bcompiler_write_header($arq); //Escreve a parte do cabeçalho do arquivo bcompiler.
     bcompiler_write_file($arq, "teste1.php"); //Essa função lê o arquivo que você quer gera o     bytecode e escreve no arquivo recem criado
     bcompiler_write_footer($arq); //Escreve o caracter \x00 para indicar o Fim dos dados compilados.
     fclose($arq); //Fecha o arquivo
?>

Agora que temos o códio para nossa aplicação, e temos o código que vai gerar a aplicação compilada. é só digitar:

kirotawa@xxx:~$php bcompilerteste.php

Ele vai gerar o arquivo janela.phb. Para executar essa janela você pode digitar:

kirotawa@xxx:~$php janela.phb

Ou fazer o que eu fiz setar que os arquivos .phb devem ser abertos com o php. Pronto agora você pode proteger as suas aplicações em PHP-GTK.  Para saber mais dá uma conferida nas referências abaixo.

Referências

Artigo do Patrick Mendes
Wbly/Emilio
XoopsCube

PyIMSL

Há alguns meses atrás a Visual Numerics anunciou o seu novo projeto, o PyIMSL Math,  uma biblioteca de funções para aplicações na matemática e estatística, que empacota o IMSL C.  Tal biblioteca pode ser usada em várias áreas, tais como: Ciência da computação, engenharia, aplicações de negócios, etc.

Mas o que é IMSL Numerical Libraries.  Trata-se de um amplo conjunto de rotinas que fornecem módulos para construção de uma aplicação de analise de dados.  Tais rotinas retiram do programador grande parte do trabalho em programar.  As rotinas são extremamente confiáveis, amplamente testadas e otimizadas, o que acelera o trabalho dos desenvolvedores e economiza tempo e dinheiro.  Já faz 30 anos que o pessoal da Visual Numerics vem trabalhando no IMSL Numerical Libraries.  Existem várias bibliotecas  IMSL, em C, C++, C#, Java e mais recentemente em Python.  Essas bibliotecas reduzem em mais de 95% o trabalho braçal de codificação e tudo isso atrelado a um grande grau de confiança haja visto os anos de aprimoramento destas bibliotecas.

O que isso tudo significa?  Isso significa que pesquisadores agora poderão fazer uso de Python em simulações ou aplicações de analise de dados, imagine agora o que você faria com tudo isso.  Utilizar PyIMSL e python na análise e processamento de imagens, em cálculos matemáticos complexos, que levariam certo tempo para que você implementasse, mas agora basta utilizar PyIMSL, simples assim.

Para dar uma idéia do seu uso, e esse é um exemplo bem simples e mediocre, vocês lembram daquela disciplina que envolvia cálculo de sistemas lineares, método de gauss, método do triangulo superior e inferior.  Não sei vocês, mas eu lembro, e lembro que meu professor pediu para implementar um método de gauss.  Naquela época fiz em C, hoje faria em python.  Vamos ver um exemplo.

x1 + 3x2 + 3x3 = 1

x1 + 3x2 + 4x3 = 4

x1 + 4x2 + 3x3 = 1

CODE


from numpy import *
from imsl.math.linSolGen import linSolGen
from imsl.math.writeMatrix import writeMatrix

 a =  array([[1.0, 3.0, 3.0],
 [1.0, 3.0, 4.0],
 [1.0, 4.0, 3.0]])

b =  [1.0, 4.0, -1.0]
#Resolve A*x = b  for  x

x = linSolGen(a, b)
writeMatrix ("Solução, x, of Ax = b",x)

Saída:
Solução, x, of Ax = b

1 2 3
-2 -2 3

Viu?! Bem interessante não é, quer saber mais? Dá uma olhada nas referências abaixo.

Referências

Documentação PyIMSL
DEonline
IMSL
Visual Numerics

Postagens Antigas »