Ir para o conteúdo
ou

Software livre Brasil

Tela cheia Sugerir um artigo
 Feed RSS

Projeto Software Livre - Piauí

15 de Janeiro de 2010, 0:00 , por Software Livre Brasil - | Ninguém está seguindo este artigo ainda.

O PSL-PI tem por objetivo incentivar o uso e a produção de software livre no Piauí como política de combate à exclusão digital. Acreditamos que a distribuição de conhecimentos proporcionada pelo Open Source/Software Livre tornará nossa sociedade mais justa e próspera, exatamente por dar a todos as mesmas condições de conhecimento e desenvolvimento.

Software Livre é uma grande oportunidade de construirmos uma sociedade produtora de ciência, independente e efetivamente competitiva. Estamos reconstruindo as bases da nossa sociedade, não mais calcados nos braços do Estado, mas sim, amparados pela iniciativa própria, pela auto-determinação. Nós somos capazes de nos auto-governar. Somos capazes de construir uma sociedade efetivamente Livre. Esta é a essência do PSL-PI.

O PSL-PI é formado pela articulação de indivíduos que atuam em instituições publicas e privadas, grupos de usuários e desenvolvedores de software livre, empresas, governos ou ONGs, e demais setores da sociedade. O importante é a consciência e disposição para propagar o uso de software livre e a cultura colaborativa nas diferentes esferas da sociedade.


Cantor: tour pelas funcionalidades do backend para Python 2

27 de Dezembro de 2013, 12:04, por Software Livre Brasil - 0sem comentários ainda

Introdução

python2_selectTela de seleção de backends do Cantor

Em 2013 desenvolvi um backend para Python 2 no Cantor, um projeto financiado em parte pelo Google Summer of Code. Agora este backend está presente na versão do Cantor lançado com o KDE 4.12.

Cantor é um software para programação científica/matemática do KDE que serve como frontend para diferentes engines matemáticas, entregando um ambiente que reúne facilidades típicas de uma IDE (como destaque de sintaxe, tab-complete, gerenciamento de variáveis, etc) e um terminal avançado. Cantor tem uma arquitetura modular que permite ao desenvolvedor escrever o suporte para diferentes engines matemáticas como backends. Atualmente, Cantor suporta Octave, Sage, Maxima, Kalgebra, Qualculate, R, Scilab (este também desenvolvido por mim) e, em sua versão mais recente, Python 2.

Neste post faremos uma “tour” pelas funcionalidades presentes nesta primeira versão do backend para Python 2.

Tela Inicial – Destaque de Sintaxe e Tab Complete

python2_initialscreenTela inicial do Cantor

Após selecionar o backend Python 2, o Cantor mostrará a tela inicial. Basicamente ela dispõe de uma grande tela que serve como o terminal do Python 2, e dois painéis – um para mostrar saídas de ajuda e outro para o gerenciamento de variáveis.

Vamos entrar com alguns comandos básicos no terminal para vermos como ficará a tela da aplicação:

python2_syntaxDestaque de sintaxe

Percebam que o Cantor está destacando a sintaxe do Python 2 e, no painel ao lado, é possível ver as variáveis produzidas durante a interação com o terminal. Voltaremos a este painel em outra seção.

Agora vamos criar novas variáveis com nomes parecidos e testar o tab complete. Veja a figura abaixo:

python2_completeTab complete para variáveis

Após criarmos as variáveis variable_x, variable_y e variable_var, escrevemos até var e teclamos tab duas vezes – Cantor apresentará as variáveis ou funções compatíveis com aquele início de nome. O tab complete também funciona para funções de módulos, como pode ser visto na próxima imagem.

python2_complete2Tab complete para funções de módulos

Cantor também trata erros no terminal. A próxima figura apresenta a mensagem de erro durante um import incorreto.

python2_errorMensagem de erro

Também é possível salvar o estado do terminal ou apenas os comandos e suas respectivas saídas em um arquivo externo. Cantor também permite enviar/baixar um exemplo do terminal para um servidor remoto. Explore estas funcionalidades na aba “Arquivo“.

Painel de Ajuda

Cantor exibe a ajuda do Python, obtida a partir do comando help, em um dos painéis laterais da interface. A figura abaixo apresenta a saída de ajuda para a função complex:

python2_helpPainel de ajuda

Como Cantor usa tecnologias Qt/KDE, é possível deslocar os paineis laterais e mudar o formato da tela. Abaixo temos um exemplo onde o painel de ajuda está na direita do terminal enquanto o gerenciador de variáveis está na esquerda.

python2_help_completePainéis de cada lado da tela

Gerenciamento de Variáveis

python2_variablesPainel de gerenciamento de variáveis

Além de ter a clara função de apresentar as variáveis e seus respectivos valores, o painel de gerenciamento de variáveis permite algumas operações adicionais através dos botões na parte inferior do widget. São eles, da esquerda para a direita: Adicionar uma nova variável, Carregar variáveis, Armazenar variáveis, e Limpar variáveis.

Adicionar uma nova variável é uma funcionalidade simples que exibe um pop-up e permite a criação de uma variável.

Carregar variáveis e Armazenar variáveis fazem uso do módulo shelve para persistir os dados do ambiente de execução do Python. Quando os botões são clicados, Cantor carrega scripts que irão, no primeiro caso, ler um arquivo e carregar as variáveis no ambiente e, no segundo, varrer o dicionário global do python salvando as variáveis em um arquivo. Vale comentar que, como utiliza-se o shelve, estamos sujeitos às restrições desse módulo – por exemplo, não é possível salvar variáveis que referenciam módulos importados. As figuras abaixo apresentam as operações descritas.

python2_save_variablesSalvando variáveis

python2_load_variablesCarregando variáveis

Entre a operação de armazenamento e de carregamento das variáveis, utilizamos Limpar variáveis para apagar todas as variáveis do ambiente. O código varre o dicionário global e vai deletando variável por variável. O código carregado pelo Cantor é o seguinte:

python_backend_variable_management_usecase6Gráficos no Cantor

python_command_to_plotCódigo para criação de um gráfico usando matplotlib

python_plot_resultGráfico carregado no ambiente do Cantor

As figuras anteriores apresentam o carregamento de um gráfico no ambiente do Cantor. Quando a planilha é exportada, o gráfico estará lá também. Essa funcionalidade pode ser modificada para a criação do gráfico numa janela separada – que é o comportamento default do backend.

Conclusão e Futuro

Essa é a primeira versão estável do suporte para Python 2, e apesar do básico estar funcionando muito bem, é possível que alguns erros e bugs estejam espalhados pelo sistema.

Gostaria era de ouvir feedbacks da comunidade Python de programação científica/matemática. Eu não sou um pythonista, então conto com a ajuda de vocês para caçar bugs, relatar comportamentos estranhos, e sugerir melhorias e funcionalidades.

Para a próxima versão teremos o suporte ao editor de scripts, que infelizmente não foi possível entregar neste lançamento.

Cantor é uma das muitas iniciativas das comunidades de software livre que visa entregar uma solução de qualidade para programação científica/matemática. Espero que a comunidade Python se aproprie dessa ferramenta e ajude no seu desenvolvimento e evolução.

Para os interessados nos bastidores do backend, há uma série de posts em português e inglês onde descrevo o processo de desenvolvimento da ferramenta. E para quem quiser colocar a mão na massa, basta clonar o repositório do Cantor – cujo código está disponível sob a GPLv2.

E quaisquer dúvidas ou feedbacks, postem aí nos comentários ou mandem e-mail para filipe em kde.org.



Olá Planeta PythonBrasil

26 de Dezembro de 2013, 13:08, por Software Livre Brasil - 0sem comentários ainda

Olá comunidade pythonística brasileira,

Sou Filipe Saraiva e não sou um desenvolvedor python (ainda estou aprendendo esta linguagem), mas sou um desenvolvedor C++ e KDE.

Recentemente desenvolvi um backend para Python 2 no Cantor, o software matemático do KDE que serve como frontend para diversos motores de programação científica (octave, sage, kalgebra, scilab, entre outros). Este backend foi lançado com o KDE 4.12 e agora está disponível para todos.

Eu gostaria de ouvir alguns feedbacks da comunidade python, em especial daqueles que desenvolvem aplicações científicas, sobre melhorias para o backend. Eu pretendo desenvolver backends para Python 3 e iPython também, no futuro próximo.

Logo mais escreverei um “tour post” sobre as funcionalidades do backend para Python 2, mas se você quiser você pode dar uma olhada nos posts sobre o desenvolvimento do backend a partir da tag python-backend (posts em inglês e português brasileiro).



Os drones e um novo tipo de guerra

13 de Dezembro de 2013, 17:26, por Software Livre Brasil - 0sem comentários ainda

As guerras do século XX inauguraram novas formas de combate com o uso de armas nucleares, aviões para ataques aéreos, submarinos, computadores para cálculos balísticos etc. As tecnologias inventadas neste século potencializaram o poder bélico e o resultado disso foi que este foi o século mais assassino da história, com estimativas de 187 milhões de mortos. O casamento entre ciência e tecnologia produziu esses efeitos assustadores. Pela primeira vez substituíam-se os combates corpo a corpo, travados entre militares apenas, pelos ataques a civis através do uso de armas de destruição em massa. O século XXI vem seguindo essa tendência, o uso de drones, que são veículos aéreos não tripulados com ou sem poder de fogo, é a nova “moda” da indústria bélica. Esse tipo de arma pode fazer estragos em qualquer região inimiga sem causar estragos no exército do país que está atacando. É uma intervenção militar “perfeita”, porque não há baixas de soldados. Como se diz no linguajar deles, é um ataque de “precisão cirúrgica”. Bom, nem tão preciso assim, se considerarmos a série de “erros” que (quem pilota) esses robôs de combate já cometeram: aqui e aqui estão dois recentes.

Não por acaso quem mais usa drone para fins militares hoje são os Estados Unidos. E não por acaso também, quem mais sofre com esse uso são os países do Oriente Médio, como Paquistão, Iêmen, Afeganistão e Iraque. Logo abaixo temos um infográfico publicado hoje pelo Estadão sobre o uso global de drones. Nele é possível perceber que ainda predomina na maior parte do mundo o uso de drones sem poder de fogo. EUA, China, Grã-Bretanha, Itália e Israel, no entanto, se destacam pelo uso desses veículos aéreos com artilharia.

arte_drones_web

Clique na imagem para aumentá-la.

 

Os drones, no entanto, não são exclusivamente armas de guerra, há muitas outras funções exercidas por essas máquinas atualmente. Assim como os aviões, inventados no começo do século XX, que foram apropriados pela guerra e acabaram se tornando também armas bélicas, os veículos aéreos sem piloto são uma estranha mistura dos inofensivos aeromodelos com as bombas voadoras inventadas pelos alemães na Segunda Guerra. Quem se interessar por conhecer melhor a variedade de drones e sua variedade de usos, pode dar uma olhada nesse ótimo documentário que a Vice fez sobre esses robôs aéreos:



Tags deste artigo: projeto software livre - piauí psl-pi piauí psl-nordeste