Category Ferramentas

Backup de e-mails com o NoPriv.py

19 de fevereiro de 2013, 01:23, por Renato Tags:

Através 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.

Para instalá-lo, basta clonar o repositório do Github e ajustar as configurações no arquivo nopriv.py:

###########################
# Do not edit above here  #
###########################

IMAPSERVER = "imap.gmail.com"
IMAPLOGIN = "janeway@gmail.com"
IMAPPASSWORD = "Voyager1"
IMAPFOLDER = ["[Gmail]/Sent Mail", "INBOX", "[Gmail]/Starred", "Captains_Log",
              "Important"]
ssl = True
incremental_backup = True

###########################
# Do not edit below here  #
###########################

A lista IMAPFOLDER deve conter as pastas que se deseja copiar. Vale notar que, para o caso do servidor do Gmail, as pastas padrão devem ser precedidas do prefixo [Gmail] enquanto que as pastas criadas pelo usuário não devem possuir este prefixo.

Para iniciar a cópia, basta executar:

python nopriv.py

Após o término, basta abrir o arquivo index.html e navegar pelas mensagens e anexos copiados. O arquivo também pode ser aberto em um navegador no terminal, como o Links2.

Apresentando o Pinpoint

20 de janeiro de 2012, 03:16, por Renato

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.

O grande desafio é equilibrar a atenção dos espectadores entre o material audiovisual e o discurso do apresentador e, nesse sentido, o formato de apresentação utilizado por Lawrence Lessig é um dos melhores que já vi. Em suas apresentações, ele faz um discurso, que é acompanhado por slides minimalistas, contendo geralmente uma palavra, frase ou uma imagem de fácil interpretação. Os slides são trocados sem sua intervenção e, na maiorias das vezes, ele nem olha para eles, a não ser que haja a necessidade de uma explicação mais detalhada. Para ter uma ideia melhor, vale a pena assistir uma de suas apresentações cujos temas tratam geralmente da liberdade cultural e o uso de licenças mais abertas como as licenças Creative Commons.

Fiz esse comentário sobre o Lessig pois foi justamente desse modelo de apresentação que me lembrei quando conheci o Pinpoint. Numa descrição rápida, o Pinpoint é uma ferramenta para elaboração e execução de apresentações, mas a forma como elas são preparadas é um pouco diferente da utilizada por ferramentas mais tradicionais como o PowerPoint ou até mesmo o LaTeX.

No Pinpoint, as apresentações são escritas através de um arquivo de texto bem simples, onde são descritos os slides a serem utilizados na apresentação. Para cada slide, define-se um texto e algumas propriedades como a posição do texto na tela, o tamanho, a imagem de fundo a ser utilizada e a transição. Além disso, é possível definir no início do arquivo uma configuração padrão para essas propriedades. Pela forma como é composto o slide, o resultado acaba lembrando o modelo utilizado na apresentações de Lessig.

No site do projeto, há um vídeo que mostra os recursos que a ferramenta disponibiliza. Dentre eles, vale destacar algumas transições que se utilizam de efeitos de aceleração gráfica, a utilização de vídeos como pano de fundo dos slides e a possibilidade de executar comandos através de um pequeno terminal durante a apresentação, o que permite abrir aplicativos e torna a ferramenta muito interessante para apresentações na área de tecnologia. O projeto está atualmente em desenvolvimento e vale a pena acompanhar as novidades que vêm surgindo.

Organização com o Org-Mode

08 de julho de 2011, 04:03, por Renato Tags:

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.

Além da utilização como agenda, é possível criar listas e textos, que podem ser exportados para o formato HTML ou Latex diretamente do Emacs.

Um dos recursos mais legais do Org-Mode é a possibilidade de criação de tabelas. Através da digitação de caracteres delimitadores, define-se a tabela e à medida que são inseridos dados, o sistema dimensiona as células da maneira apropriada. Além disso, é possível fazer cálculos com os dados da tabela, de forma semelhante à uma planilha de cálculo, utilizando o Emacs Calc. Apesar de funcionar num arquivo de texto, o Emacs Calc vai além das somas e multiplicações, permitindo alguns cálculos mais elaborados, como mostrado no vídeo abaixo.

Como tudo é guardado em arquivos de texto, a edição e o compartilhamento das informações entre dispositivos é feito de forma muito simples. Além disso, para aqueles que possuem um aparelho com o Apple iOS ou o Android, existe um aplicativo chamado MobileOrg, que serve para a consulta de arquivos do Org-Mode. Ele é preparado para acessar um arquivo de agenda numa conta do Dropbox, o que facilita a integração com o PC e outros dispositivos.

Para conhecer um pouco mais sobre o Org-Mode, recomendo esse episódio do podcast FLOSS Weekly, no qual foi entrevistado Carsten Dominik, que propôs a ferramenta.

Emacs e AUCTEX para edição de documentos Latex

16 de junho de 2011, 03:54, por Renato Tags:,

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.

Por causa dessa dificuldade, saí procurando outras opções de editores para Latex e encontrei uma solução muito boa composta pelo Emacs com o AUCTEX. Inicialmente, procurei evitar usar o Emacs porque já tinha ouvido falar muitas vezes que tratava-se de um editor muito difícil de se usar. Devo admitir que é necessário algum tempo de treinamento para acostumar com a forma de se trabalhar no Emacs mas no caso da edição de arquivos do Latex, vale a pena o esforço.

O AUCTEX é um pacote de extensão para facilitar a edição de arquivos do Latex no Emacs. Com ele, muita coisa é automatizada. Para inserir um bloco que define um ambiente, como equation, por exemplo, basta executar o comando “C-c e” e digitar equation. Serão solicitados alguns parâmetros, como o label que se deseja utilizar e logo em seguida será criado o ambiente. As referências bibliográficas e as referências cruzadas são facilmente inseridas ao longo do texto utilizando os comandos “C-c [” e “C-c )“, respectivamente. Um dos recursos mais legais e que eu não vi em nenhum outro editor, é a possibilidade de fazer uma prévia das fórmulas matemáticas, das tabelas e das figuras no próprio editor. Isso facilita muito o trabalho de adequar os tamanhos desses elementos no texto pois não é necessário compilar todo o projeto para ver o resultado.

Além desses recursos, o AUCTEX possui muitos outros. Em conjunto com alguns outros programas, é possível obter um ambiente de desenvolvimento de documentos Latex muito prático. O vídeo a seguir mostra alguns recursos do Emacs com o AUCTEX. Apesar de ser um vídeo antigo e de estar em italiano, vale a pena assistir para ter uma ideia das possibilidades.