terça-feira, 21 de julho de 2009

PetaTV seleciona desenvolvedor para TV Digital

A PetaTV, spin-off da Peta5 especializado no desenvolvimento de aplicações para TV Digital, seleciona profissional para atuar em projeto inovador de desenvolvimento de software para o mercado de publicidade para TV Digital.

Requisitos

  • Possuir título de mestre;
  • Experiência em projetos de desenvolvimento de software;
  • Conhecimento de linguagens OO.

Desejável

  • Conhecimento de Python;
  • Experiência com Scrum;
  • Conhecimentos de webdesign;
  • Conhecimentos de programação para web.

Benefícios

  • Bolsa CNPq SET-6B;
  • Treinamento nas linguagens NCL e Lua;
  • Participação nos lucros do projeto.

Local de trabalho

  • Niterói/RJ

Como se inscrever

  • Enviar currículo com o assunto Desenvolvedor para TV Digital para rh [arroba] peta5 [ponto] com [ponto] br


--
   Álvaro Justen
   Peta5 - Telecomunicações e Software Livre

sábado, 18 de julho de 2009

Embutindo código Python no LaTeX

Depois de liberar bastante espaço no meu EeePC com o localepurge consegui, finalmente, instalar o TeXLive no meu netbook.

Como eu não sou especialista em TeX e Python é minha linguagem preferida, comecei a procurar como poderia embutir código Python em meus documentos LaTeX, dessa forma eu teria como gerar código automático em LaTeX.

Conversando com Alex Tercete, conseguimos encontrar uma página com o pacote python para LaTeX que faz exatamente o que queríamos: basta abrir um ambiente chamado python e sair programando :-) todo o output do código Python é interpretado pelo LaTeX - dessa forma podemos gerar tabelas, gráficos etc.

Vamos parar de encher o saco e ir direto ao código: para começar, baixe o pacote python.sty, esse pacote está sob licença GPLv2 e foi criado por Martin R. Ehmsen (veja o site oficial). O que esse arquivo faz, basicamente, é: joga tudo que está entre \begin{python} e \end{python} para o arquivo seu_arquivo_latex.py, executa o comando python seu_arquivo_latex.py, jogando a saída para o arquivo seu_arquivo_latex.py.out e, por fim, adiciona o conteúdo desse ao código LaTeX exatamente onde estava o \begin{python} ... \end{python}.

Depois de baixá-lo, basta colocá-lo no diretório de seu ambiente LaTeX e então incluí-lo com o comando \usepackage{python}. Agora o céu é o limite! ;-)

Apesar de simples, essa solução é bastante flexível e poderosa: podemos gerar gráficos em tempo real em Python (com bibliotecas como a Matplotlib) e gerar código LaTeX para incluí-los em nossos arquivos, gerar tabelas extensas através de loops, coletar dados atualizados de arquivos, bases de dados, sites etc. para serem incluídos em seu relatório dentre outras infinitas possibilidades.

Abaixo seguem alguns exemplos:

  • Um simples "Oi, LaTeX+Python!": Mostrar resultado - Mostrar código - Baixar código.
  • Utilizando a matplotlib: Mostrar resultado - Mostrar código - Baixar código.

Atenção: por padrão o LaTeX não permite que você execute o comando \write e para que o pacote python funcione temos duas opções:

  1. Configurar a opção shell_escape para o valor t no arquivo /usr/share/texmf/web2c/texmf.cnf (necessita de acesso como root).
  2. Passar a opção --shell-escape toda vez que for gerar o PDF, como em: pdflatex --shell-escape meu_arquivo_latex.tex

Achou útil? Comente! :-)

--
   Álvaro Justen
   Peta5 - Telecomunicações e Software Livre

domingo, 12 de julho de 2009

Liberando (bastante!) espaço com o localepurge

Se você tem um netbook com pouco espaço de armazenamento vai entender bem: estava eu ontem procurando arquivos para serem descartados em meu EeePC (que tem meros 4GB em seu SSD) quando me deparei com a situação de que não dava pra remover mais nada em meu diretório home. Desespero? Nada! Ainda tinham os programas que eu poderia desinstalar...que me renderam mais 3MB livres! (?) Antes de eu começar a remover programas que eu realmente utilizava me lembrei que há alguns anos o KurtKraut me recomendou o localepurge.

localepurge é nada mais que um shell script de 227 linhas que remove arquivos de localização/tradução para os softwares instalados de línguas que você não utiliza. Além disso, o pacote Debian do localepurge vem com um arquivo de configuração que faz com que ele seja executado toda vez que o apt rodar, dessa forma ele consegue remover os arquivos desnecessários logo que um novo pacote é instalado. No fim você fica com os softwares que quer e somente com os arquivos de tradução de que precisa!

Gostou? Para instalar, basta:

# apt-get install localepurge

Assim que o pacote for instalado o debconf perguntará quais línguas você quer manter. Em meu caso, selecionei pt_BR e en_US (UTF-8). Após a instalação basta rodar o comando localepurge, como rodei no meu EeePC:

moveeel:~# localepurge
localepurge: Disk space freed in /usr/share/locale: 338416K
localepurge: Disk space freed in /usr/share/man: 4800K

Total disk space freed by localepurge: 343216K

Consegui liberar 335MB de espaço! Pouco? Não para quem tem 4GB de espaço - isso representa praticamente 8,2% do espaço total disponível.

Depois disso só faltou a conexão à Internet funcionar bem para eu instalar o TeXLive e postar aqui no blog, mas como nem tudo é perfeito, só tive acesso agora.

Atenção: como o localepurge não é totalmente integrado ao sistema de gerenciamento de pacotes do Debian a deleção de arquivos de localização pode gerar "warnings", já que alguns arquivos pertencentes aos pacotes não estarão mais lá enquanto "deveriam" estar, então quando for conferir se todos estão lá o Debian (ou derivados) pode reclamar. Mas não se preocupe: a deleção desses arquivos é inofensiva. Porém, se você quiser reinstalar os arquivos removidos dê uma olhada no script que vem com o pacote: /usr/share/doc/localepurge/reinstall_debs.sh.

   Álvaro Justen
   Peta5 - Telecomunicações e Software Livre

domingo, 5 de julho de 2009

Novo desenvolvedor na Peta5

Gostaria de dar os boas vindas ao Pedro Menezes, o mais novo integrante da equipe de desenvolvimento da Peta5!

Pedro é desenvolvedor Web, aprendiz de marketeiro em sites de busca, blogueiro há 2 anos (dedicado a facilitar a vida de quem trabalha online), programador Python e está se graduando em Sistemas de Informação na Universidade Salgado de Oliveira (Niterói/RJ).

Na Peta5 ele irá trabalhar juntamente comigo e com nosso designer LedStyle no desenvolvimento da interface de gerenciamento de nossa solução em telefonia IP usando software livre (mais especificamente o framework Web web2py)! Obviamente, ele também será persuadido a participar dos encontros da PythOnRio - mas isso é outra história! :-)

Pedro, seja bem-vindo e happy hacking! ;-)

   Álvaro Justen
   Peta5 - Telecomunicações e Software Livre

sexta-feira, 3 de julho de 2009

Palestra sobre web2py no FISL 10

Na semana passada estive, juntamente com a equipe da Peta5 e da PythOnRio, no 10o Fórum Internacional de Software Livre - FISL 10.

O evento foi bem legal, contando até com a presença do Presidente da República Luís Inácio Lula da Silva.

No FISL, junstamente com Douglas Soares de Andrade, palestrei sobre o framework para desenvolvimento Web web2py, que é desenvolvido em Python (claro! ;-).

Usamos web2py na Peta5 há algum tempo para desenvolvimento de nossas soluções em Telefonia IP e Redes em malha sem fio, que são gerenciáveis via Web e há algum tempo sou desenvolvedor do web2py, inclusive estamos contratando um desenvolvedor Web para desenvolver com web2py.

Acabei falando também nas palestras-relâmpago da Associção Python Brasil sobre o web2py - em 5 minutos! As palestras-relâmpago foram bastante dinâmicas e divertidas.

As palestras do 10o Fórum Internacional de Software Livre - FISL 10 foram transmitidas ao vivo pela TV Software Livre, porém ainda não estão disponíveis para download. Por enquanto, vocês podem baixar os slides da palestra sobre web2py.

   Álvaro Justen
   Peta5 - Telecomunicações e Software Livre