Backup de e-mails com o NoPriv.py

Por meio do podcast Linux Action Show, fiquei sabendo de um script em Python para backup de e-mails de contas IMAP que faz o download das mensagens e anexos e disponibiliza tudo em uma página HTML local.

O script se chama NoPriv.py e pode ser encontrado nesta página e neste repositório Github. A partir de uma conta de e-mail IMAP e uma lista de pastas a serem copiadas, ele cria uma estrutura de arquivos HTML para acesso às pastas como a deste exemplo. As cópias podem ser feitas de forma incremental, de modo que sejam transferidas apenas as novas mensagens em cada vez que o script for executado.

Read More

Strings com várias linhas em Python

Recentemente, tive que preparar uma string com várias linhas, contendo o cabeçalho de um e-mail em um programa escrito em Python. Até aí, nenhuma novidade: bastava usar as três aspas para indicar o início e mais três para indicar o fim da string. No entanto, a string estava localizada em um bloco com indentação, o que fez com que a indentação ficasse incluída no conteúdo da string. Para entender melhor o que aconteceu, segue um exemplo:

Read More

Apresentando o Pinpoint

Fazer uma apresentação interessante não é muito fácil. Com a grande variedade de recursos audiovisuais disponíveis hoje em dia, grande parte das apresentações são preparadas sem levar em conta a principal atração, que é o apresentador.

Read More

E surgem cada vez mais cursos na web

Já faz algum tempo que surgiu a ideia de disponibilizar cursos universitários para acesso através da internet. Atualmente, quase todas as grandes universidades mantêm projetos desse tipo como o Open Course Ware, mantido pelo MIT e o Open Yale Courses, mantido pela universidade de Yale.

No início desses projetos, era disponibilizado apenas material escrito como notas de aula e exercícios. Entretanto, com a popularização da distribuição de vídeos pela internet, não demorou muito para que fossem utilizadas câmeras durante as aulas e também fosse disponibilizado material em vídeo.

Read More

Hello World com Arduino

Em 2005, fiquei sabendo de um projeto chamado Arduino, que chamou muito minha atenção pois se tratava de um projeto de hardware livre. No mesmo ano, tentei montar um mas não tive muito sucesso e acabei deixando o projeto parado por causa das atividades da faculdade. Hoje me arrependo de não ter dedicado mais tempo para o projeto na época, dado o crescimento do universo do Arduino.

Para quem não sabe o que é, o Arduino é um projeto composto por hardware e software para desenvolvimento de aplicações que interajam com o mundo real usando sensores e atuadores. Ele foi desenvolvido para permitir a criação de projetos por pessoas que não tenham muito conhecimento em hardware ou eletrônica como hobistas, artistas e designers.

Read More

Python para aplicações científicas – Básico do básico

Ultimamente, estive estudando algumas coisas sobre Python e tenho me interessado muito pela linguagem. Foi a primeira vez que tive contato com uma linguagem de tipagem dinâmica e logo de início, tive a impressão que ela seria uma ótima opção para substituir o Matlab. Gosto do Matlab, mas o fato de ser uma solução proprietária e não ser uma linguagem de propósito geral fazem com o Python tenha uns pontos a mais na minha classificação.
Read More

Organização com o Org-Mode

Um outro modo muito interessante do Emacs é o Org-Mode. Ele foi desenvolvido para fazer anotações e gerenciar listas de tarefas e projetos através de arquivos de texto com marcações.

As marcações são interpretadas pelo Emacs, o que agiliza a manipulação das informações. No Org-Mode, é possível organizar uma agenda, com compromissos marcados em dias e horários específicos e também tarefas sem horários específicos. Aos itens da agenda, é possível associar tags, que podem ser usadas para filtrar resultados de busca. Isso o torna uma ferramenta muito boa para quem usa o método GTD. Para quem não conhece esse método de organização, vale a pena dar uma olhada. Ele foi proposto por David Allen e é descrito no livro “A arte de fazer acontecer” (“Getting things done”). Um breve resumo do método pode ser visto nessa apresentação que ele fez no Google e nesse cartão de referência do método.

Read More

Emacs e AUCTEX para edição de documentos Latex

Há alguns anos atrás, um dos problemas que encontrei durante a minha mudança para o Linux foi encontrar um ambiente de desenvolvimento para o Latex. Para quem não conhece o Latex, vale a pena dar uma pesquisada. Ele é um sistema de edição de documentos muito utilizado para a produção de textos matemáticos e científicos devido à sua alta qualidade tipográfica.

Na época em que eu usava o Windows, eu usava o TeXnicCenter para editar os projetos Latex. Apesar de suas limitações, ele cumpria bem seu papel. No Linux, tentei inicialmente usar o Kile. Apesar dele ser um ótimo editor, senti falta de um recurso muito básico: a verificação ortográfica automática (aqueles sublinhados vermelhos que aparecem sob as palavras que estão grafadas incorretamente). Acho que tive esse problema porque estava tentando usar o Kile dentro do GNOME, sendo que ele foi desenvolvido originalmente para ser usado no KDE.

Read More