Posts com Tags python

CallBlocker ou PyCallBlocker?

Infelizmente aconteceu algo que às vezes acontece no mundo do software livre: furto de ideias sem que os devidos créditos sejam dados.

Primeiro apareceu o pequeno programinha em Python, muito mais como prova de conceito. E logo em seguida apareceu uma interface gráfica para configurá-lo: o PyCallBlocker.

Hoje navegando pelo fórum do Maemo.org notei que havia um tópico falando de um tal CallBlocker. Achei que fosse o mesmo programa, e fui olhar. Não é.

Na verdade, o autor do PyCallBlocker pegou o programa (aquela “prova de conceito”), colocou uma interface por cima, e montou o pacote, sem dar o devidos créditos (basta olhar nos fontes ou na descrição do programa que não há nenhuma referência ao real autor).

Eu já removi o PyCallBlocker, e estou esperando os autores verdadeiros disponibilizarem um pacote nos repositórios. Por enquanto, há apenas o arquivo .deb no Garage, mas que não é automaticamente instalado por falta das dependências.

Não há nada de errado em pegar uma ideia, alterá-la ou melhorá-la ou qualquer coisa que seja, desde que os créditos sejam dados. Reconhecimento é o que move grande parte dos desenvolvedores de programas com código-fonte livre e aberto.

Tags:

fMMS: ainda mais integrado ao N900

Agora eu já tenho quase certeza que a Nokia não colocará o envio e recebimento de MMS nativamente no N900. E sinceramente? Tomara que não mesmo! O desenvolvedor do fMMS está fazendo um excelente trabalho. A única coisa que falta pro programa ficar ótimo é identificar que chegou um MMS (que ele já faz), conectar automaticamente e baixar a mensagem (duas coisas que ele ainda não faz…o processo é manual).

Hoje apareceu uma atualização pra ele, e junto a atualização veio um novo pacote para instalar: Sharing Plugin for FMMS.

Ele permite enviar um MMS utilizando o compartilhamento de imagens (aquele serviço que permite enviar para o Flickr, Ovi, etc.).

É necessário primeiro ativar o serviço. Depois de instalar o pacote, é preciso ir até as configurações do aparelho, como mostra a figura abaixo.

Aí então é necessário criar um novo compartilhamento, selecionar o MMS na lista, e mandar validar.

Importante: para fazer a validação é necessário estar com uma conexão ativa à internet (não sei dizer se é obrigatório que seja a conexão utilizada para MMS).

Pra usar, basta seguir o caminho de como quando se quer mandar uma foto pro Flickr, por exemplo, e na lista de opções selecionar o MMS. O texto colocado no campo “descrição” será transportado para o texto do MMS, como dá pra ver nas imagens abaixo.

Importante de novo: se quando clicar no botão “compartilhar” (na segunda imagem acima) não houver uma conexão ativa com a internet, a janela será fechada e nada acontecerá. Mas assim que uma conexão se estabelecer, a tela do fMMS será exibida.

Os dois pacotes estão no repositório extras-devel.

Tags: ,

PyCallBlocker

ATUALIZAÇÃO: antes de instalar esse programa, leia este post.

A interface gráfica para configurar números a bloquear, utilizando a dica publicada aqui, não demorou muito a aparecer.

Ele está no repositório extras-devel.

Tags:

GTK, Qt, Python, C, sopa de letrinhas?

Quem frequenta o Maemo.org, ou simplesmente passeia pelos repositórios de desenvolvimento/teste já deve ter percebido que existem duas grandes “correntes”: GTK e Qt.

Mas o que elas são? O GTK (GIMP Toolkit) é uma biblioteca gráfica, utilizada para gerar coisas básicas na tela, como caixas de texto, botões, janelas e afins. Ela foi inicialmente criada para ser utilizada no GIMP (um programa, gratuito, de edição de imagens muito popular no GNU/Linux). Mas depois percebeu-se que ele seria útil para criar uma uniformidade entre todos os programas de um sistema operacional (é….no início da era gráfica do GNU/Linux cada programa era o responsável por fazer as suas janelas, os seus menus, os seus botões, o que fazia com que cada programa fosse diferente do outro, não havia um padrão).

E foi à partir daí que todos os programas que rodassem sob o Gnome utilizariam o GTK como base gráfica.

Porém, ao mesmo tempo surgia uma outra biblioteca, para a mesma coisa: a Qt. Inicialmente era uma biblioteca comercial, fechada. Porém, o pessoal do projeto KDE a escolheu, e forçou a empresa a deixá-la livre para usos livres (quem quisesse utilizá-la comercialmente deveria pagar pela licença).

E foi assim durante muito tempo….se um programa era desenvolvido tendo em vista o Gnome, usava o GTK, se tivesse como alvo o KDE, era a Qt. Isso não quer dizer que um programa em Qt não rode no Gnome, ou que um em GTK não rode no KDE! Rodam!! Mas não são perfeitamente integrados ao ambiente.

E o que isso tudo tem a ver com o N900?? Simples: o N900 roda uma versão personalizada de GNU/Linux, e portanto precisa de uma biblioteca gráfica. Por enquanto, no coração do N900 está o GTK. Mas como a Nokia comprou a Trolltech, que é a empresa responsável pelo Qt, ela, Nokia, está num processo de qt-ização de todos os seus aparelhos! Tanto que os aparelhos S60 são capazes, em tese, de rodar aplicativos desenvolvidos em cima do Qt.

Em tese porque na prática o mesmo programa não vai rodar num N97 e num N900 sem que ele seja recompilado….mas pelo menos o código-fonte poderia ser o mesmo.

Isso tudo para explicar porque alguns programas nos repositórios estão em GTK e outros em Qt. A próxima versão do firmware do N900 muito provavelmente já traga o Qt integrado ao sistema, e em sua nova versão.

Tags: , , ,

Programando em Python para Maemo

Este é um post voltado para aqueles que desejam começar a programar para aparelhos rodando Maemo.

A opção pela escolha do Python passa por 2 fatores:
1- total suporte do Maemo a essa linguagem
2- facilidade de desenvolvimento nela e também facilidade de aprendizado

O item 1 é graças ao fato do Maemo ser derivado do Debian, uma distribuição GNU/Linux. E qualquer distribuição desse sistema operacional tem um fortíssimo vínculo com Python. A distribuição que eu uso (Mandriva) possui inclusive muitos programas essenciais do sistema escritos nela (e certamente isso acontece nas outras distribuições também). Outra linguagem com forte penetração é o Perl (que também está disponível no Maemo).

E o item 2 é o mais simples de explicar: para programar em Python basta ter um editor de textos qualquer. Nada além disso! A linguagem é fácil de aprender…contanto que a pessoa já tenha noções de programação. Se alguém estiver entrando nesse mundo agora, talvez apanhe um pouco.

O objetivo deste post não é ensinar a programar, mas dar as dicas de onde buscar informações.

Leia mais $raquo;

Tags: ,

pySafe: no repositório!

O programa já está no repositório extras-devel, na seção “office“.

Pretendo montar uma página pra ele, para mais instruções sobre a sua utilização, apesar de achar que ele é bem simples. Ao iniciá-lo, irá solicitar a senha. Após digitá-la, o programa não encontrará o banco de dados (pois ainda não existe) e perguntará se quer criar um, e em seguida pedirá a confirmação da senha (já que ela será utilizada para criptografar os dados, é essencial que o usuário saiba exatamente o que digitou).

Após isso, é só ir criando os grupos….dentro dos grupos os itens, e dentro dos itens os detalhes contendo as informações.

O arquivo contendo os dados fica em /home/user/MyDocs, e tem o nome de pysafe.db. Como comentei, o arquivo está criptografado e compactado (nessa ordem). Então não adianta tentar abrí-lo para ver a estrutura pois não terá sucesso….mas para os curiosos, ele é bem simples: a primeira linha contém a própria senha, para validação após descriptografar (apenas por segurança, já que sem a senha correta é virtualmente impossível que o arquivo seja corretamente descriptografado). A segunda linha contém um checksum dos dados em si, para garantir a integridade deles. E o resto do arquivo é uma representação que o Python cria do dicionário utilizado como banco de dados.

Tags: ,

Meu primeiro aplicativo – pySafe

Há 3 programas que eu sinto muita falta de quando usava o N95: o Shozu, o IVCM e o Handy Safe.

O primeiro porque era o único programa que, no N95, colocava as tags de georeferência nas fotos e as subia pro Flickr automaticamente, sem nenhuma interferência de quem estivesse usando o aparelho. Hoje em dia ele é pago, além de ter crescido demais e com isso ter começado a dar problemas. Mas ainda assim o utilizava….agora as tags são automáticas no próprio N900. Só que o upload ainda não….

O IVCM é sensacional para substituir o correio de voz da operadora. Afinal, pra que gastar dinheiro ligando lá pra consultar as mensagens se posso tê-las gratuitamente no meu próprio aparelho? Sem contar que posso bloquear quem não está na minha lista de contatos, ou ainda fazer perfis de uso (como por exemplo só aceitar ligações à noite de determinados números), e também utilizar menus interativos (como aqueles de “tecle 1” para deixar um recado, tecle “2” para tentar chamar o dono).

E o Handy Safe é para guardar senhas e informações pessoais de forma segura no aparelho. Eu tinha lá os dados dos meus cartões de crédito, senhas de alguns sites, e por aí vai. Como as informações são criptografadas, e só dá pra vê-las depois de digitar a senha na abertura do programa, é seguro.

Bem….como esse terceiro programa é o mais simples de fazer, resolvi colocar a mão na massa! E fiz um, em Python!!!

Leia mais $raquo;

Tags: ,

Em quais linguagens programar?

Eu ainda não encontrei informações concretas sobre quais linguagens estão efetivamente disponíveis para programar no N900. Uma delas, com certeza, é o C/C++.

Outra linguagem que é possível utilizar é o Python. E creio que também esteja disponível o Perl.

Nativamente, o aparelho não possui suporte a Java. E ainda não há nenhuma informação confiável se é possível instalar a JRE. O problema que eu vejo não é exatamente rodar programas em Java num terminal, mas sim acessar funções específicas do aparelho (contatos, acessar a internet, etc.) ou mostrar telas (no caso de jogos, por exemplo).

A Sun oferece versões embedded da JRE. E também existe o Jalimo. Mas para ter certeza mesmo, só tendo um aparelho em mãos e fazendo testes.

Outra opção também é o Flash.

Mas eu particularmente acredito muito na força do C/C++ e do Python, em conjunto ao Qt. Talvez o principal seja o Python, visto que com ele é possível fazer programas para diversos aparelhos sem necessidade alteração do código, como os aparelhos com Maemo e com Symbian.

Tags: , , , ,

Afinal: tem receptor de FM?

As especificações técnicas do aparelho não dizem que ele tem um receptor de rádio FM. Mas isso seria um tremendo retrocesso por parte da Nokia, já que ele conta com um transmissor FM. Além de praticamente todo aparelho hoje em dia possuir rádio.

Mas a questão foi respondida por um desenvolvedor que criou um programa em Python para acessar o hardware.

Na prática, o que acontece é que o aparelho não sai de fábrica com um software para escutar rádio. Mas o hardware necessário está lá sim! Provavelmente a Nokia coloque um programa nativo no aparelho num firmware posterior (ou quem sabe ao lançar o aparelho mesmo, já que todos os que estão rodando por aí contam com um firmware antigo).

O único problema que o desenvolvedor notou é que usar o rádio no N900, do jeito que ele fez, consome muita bateria, pois obriga a ligar várias coisas no aparelho (como o bluetooth, por exemplo). Eu acredito que isso é assim apenas nas unidades de teste…

Tags: