Definindo o GMail como cliente de email padrão no Linux Ubuntu

28, Março 2009

Veja o artigo no meu novo blog.

Todo mundo que tem Gmail adora ele, quem ainda não tem, não sabe o que tá perdendo. Assim, para aqueles que, como eu, abandonaram os clientes de email como Outlook Express e Mozilla Thunderbird há anos, é muito chato você clicar num link de email em uma página e abrir um programa cliente de email. No Windows você pode resolver isso instalando o GMail Notifier e tornar o GMail o cliente de email padrão.

Para quem usa alguma distribuição linux como o Ubuntu, não precisa nem se quer de um programa para isso, basta usar este script aqui e seguir os passos abaixo:

  1. Salve o arquivo no seu diretório home. Depois, no Ubuntu, vá no menu System >> Preferences >> Preferred Applications.
  2. No primeiro campo abaixo de Mail Reader escolha Custom
  3. No campo Command logo abaixo digite /home/nomeDoSeuUsuario/open_mailto.sh %s
    por exemplo /home/manoel/open_mailto.sh %s
    Preferred Applications no Ubuntu

    Preferred Applications no Ubuntu

    Agora pode fechar a janela
  4. Abra um terminal para adicionar permissão de execução no seu script, digitando o comando chmod u+x ~/open_mailto.sh

Pronto, agora, ao clicar em um link maito:, será aberta a página de envio de email do GMail no Firefox.

Os comandos no script sh são mostrados abaixo:

#!/bin/sh

firefox “https://mail.google.com/mail?view=cm&tf=0&to=
`echo $1 | sed ’s/mailto://’`”

O segundo comando não possui quebra, deve ser digitado numa linha só.

Observe que é chamado o firefox, na página de envio de email do gmail, passando o email recebido do mailto: como parâmetro para o script. Se você usar outro navegador, basta alterar nesse arquivo. Mais detalhes são dados dentro do arquivo disponibilizado acima.

Para mim, ao clicar num link maito:, ele sempre abre uma nova aba no firefox. Se não abrir, troque o comando
no script pelo exibido abaixo (digite numa única linha):
firefox -remote “openurl(https://mail.google.com/mail?view=cm&tf=0&to=`echo $1 | sed ’s/mailto://’`,new-tab)”

Fonte: http://www.howtogeek.com/howto/ubuntu/set-gmail-as-default-mail-client-in-ubuntu/


Ferramentas para MatLab no Linux

26, Março 2009

Veja o artigo no meu novo blog.

Bem, mais um semestre começa no mestrado em Engenharia Elétrica na UnB. Esse semestre estou cursando as disciplinas de Sistemas Multiagentes (agentes inteligentes, agentes móveis, multi agentes, programação distribuída, inteligência artificial), Introdução a Sistemas Inteligentes (inteligência artificial, redes neurais, lógica fuzzy, algoritmos genéticos) e Processamento de Imagens.

Sem querer, todas as disciplinas envolvem álgebra relacional, que estou tendo que estudar novamente, pois vi isso a muito tempo na faculdade e não apliquei pra nada no meu curso de tecnologia (infelizmente). Por isso, o título do post, sobre MatLab. Inicialmente eu não estava querendo trabalhar com MatLab, eu queria implementar tudo em C ou Java. Até que um amigo me falou que algo que você faz em MatLab em segundos, você vai gastar muito mais tempo fazendo em outra linguagem. Depois disso, vi a necessidade e importância de se aprender MatLab, que no fim das contas não é nada difícil e agiliza muito o desenvolvimento dos trabalhos.

Para quem não sabe (como eu não sabia), o MatLab é ideal para trabalhar operações sobre matrizes, como somas, multiplicações, inversão e tudo o mais. Porém, esta é uma ferramenta proprietária e para Windows. No Linux temos duas ferramentas semelhantes: o Octave e o SciLab.

Inicialmente testei o octave, que baixei via apt-get. Ele é uma ferramenta de linha de comando (o MatLab nunca vi). O Octave tem uma interface gráfica chamada QtOctave (que usa a biblioteca gráfica Qt4). Acho que baixei ele também pelo apt-get. O SciLab possui uma interface gráfica simples, mas as principais tarefas nessas ferramentas são feitas a partir de comandos em uma tela semelhante a um terminal. No caso do SciLab, ele lhe permite executar comandos do sistema operacional de dentro dele. Os comandos linux que testei e funcionaram foram pws, cd e ls. Outros como rm não funcionaram. Ele permite também, depois que você digitou o inicio de algum comando, pressionar tab para exibir o recurso de autocompletar, válido também para completar nomes de arquivos e diretórios do sistema operacional.

Bem, a grande finalidade dessas ferramentas é facilitar a realização de operações com matrizes, como já citei. Para iniciar o Octave basta digitar num terminal a palavra octave e para o SciLab, digitar scilab. Testei inicialmente o Octave. Conseguir facilmente criar duas matrizes a e b (por exemplo, a = [1 2 3; 4 5 6], matriz de 2 linhas e 3 colunas), mas ao tentar multiplicar duas matrizes compatíveis (ou seja, a quantidade de linhas da segunda tem que ser igual a quantidade de colunas da primeira) não consegui. Tentei o operador padrão de multiplicação *, fazendo a*b, mas não funcionou. Tentei o help via linha de comando e nada. Obviamente se eu pegasse qualquer manual básico iria conseguir. Porém, parti logo para o SciLab pois não achei o octave intuitivo.

No SciLab, meu primeiro teste, a multiplicação de duas matrizes, funcionou de primeira. Assim, achei a ferramenta mais intuitiva, pois nunca tive contato com MatLab e sua linguagem, apenas instalei o programa e sem nenhuma consulta a manual algum, consegui fazer uma operação básica. Assim, recomendo o SciLab, que funciona em Windows, Linux e Mac.


Update com Join no MySQL

22, Março 2009

Como fazer um update em uma tabela do MySQL, com base no valor de um campo de outra tabela com a qual essa se relaciona? Veja o modelo a seguir:

update TabelaQueDesejaAtualizar, TabelaComAQualVaiRelacionar
set TabelaQueDesejaAtualizar.CampoParaAtualizar = TabelaComAQualVaiRelacionar.CampoComValorDesejado
where TabelaQueDesejaAtualizar.CampoParaRelacionar = TabelaComAQualVaiRelacionar.CampoParaRelacionar;

Exemplo:

update Funcionario, PessoaFisica
set Funcionario.codPessoa = PessoaFisica.codPessoa
where Funcionario.codPessoaFisica = PessoaFisica.codPessoaFisica;

Considerando as tabelas Funcionario e PessoaFisica, atribui ao campo codPessoa na tabela Funcionario o valor do campo codPessoa da tabela PessoaFisica, levando em conta que as tabelas Funcionario e PessoaFisica possuem um relacionamento por meio do campo codPessoaFisica existente nas duas tabelas. Desta forma, na tabela Funcionario, no campo codPessoa, teremos o mesmo valor deste campo no registro correspondente na tabela PessoaFisica.

Claro que esse campo codPessoa na tabela Funcionario não faz nenhum sentido e é totalmente redundante, sendo que o mesmo existe na tabela PessoaFisica. O exemplo foi apenas para mostrar como funciona um update com “join” no MySQL, e que deve funcionar em outros bancos. Eu lembro que no SQL Server havia uma forma diferente de se fazer isso, mas não lembro exatamente como.


Curso Online Grátis de Inglês e outras línguas

21, Março 2009

Veja este artigo no meu novo blog.

O site Live Mocha pode ser muito útil para quem deseja aprender uma língua como o inglês. É um curso online gratuito, onde você tem materiais como de um curso regular, para poder aprender sozinho.

Você pode ainda conversar com outros estudantes e com pessoas nativas na língua que você está aprendendo, além de poder praticar redação e submeter para que alguém corrija pra você. Não encontrei nenhum recurso para conversas com voz, pois só falando mesmo pra conseguir fluência na língua. Mas acredito que é um sistema muito bom e que vale a pena dar uma olhada. Eu estou há alguns meses fazendo o curso online da EnglishTown, que é um curso pago, e excelente. Nunca tive tanto progresso no meu inglês como tive lá. O único problema é que a ferramenta para as aulas de conversação ao vivo, com voz, é somente para Windows e o site só funciona no Internet Explorer, mas isso não foi um impecilho.


GMail, muito mais do que um WebMail – A bíblia (ou quase) :)

21, Março 2009

Acess o artigo no meu novo blog.

Hoje descobri que o tão sensacional GMail é mais sensacional ainda. Mas nós brasileiros, que usamos ele em português, não tinhamos acesso às últimas novidades em desenvolvimento desta mavarilhosa aplicação web. Porém, com o aniversário de 5 anos do GMail, dia 01/04/2009 esses recursos passaram a estar disponíveis em 49 idiomas.

Eu resolvi ir nas configurações do GMail e alterar o idioma para inglês (apesar de estar disponível em Português agora). No canto superior direito tem um link Configurações para você fazer isso. Após mudar o idioma para inglês, salvar e voltar para página inicial do GMail, você já vai perceber dois links novos no canto superior direito: New stuff in Labs!, que mostra as novidades para o GMail que estão em desenvolvimento, mas que você já pode testar, e o link Labs GMail Labs para você habilitar esses novos recursos no seu GMail.

Um dos mais fantásticos recursos, ao meu ver, é o GMail Off-line, que permite que você leia seus emails mesmo estando off-line. Ao habilitar este recursos, aparecerá um novo Link Off-line no canto superior direito do GMail. O segredo para a navegação off-line é que este recurso instala um plugin para o seu navegador (Firefox, Safari ou IE, no Linux, MAC, Windows, Windows Mobile ou Android), chamado Google Gears, que adiciona novos recursos a ele, para permitir que aplicações Web possam ter maior interação com o sistema operacional, como se fossem uma aplicação desktop, claro que com muitas restrições de segurança e solicitações de confirmação nas ações a serem executadas. Após instalação e configuração do GMail off-line, as suas mensagens são baixadas para o seu computador para que você faça acesso off-line, podendo ler mensagens e enviar, sendo que estas ficam na caixa de saída, até que você se conecte a internet, quando são despachadas automaticamente. Você só não pode mandar mensagens com anexo enquanto estiver off-line, por enquanto é claro :) . Após configurar o serviço, um novo ícone ao lado do GMail Labs mostrará o status do serviço (sincronizado, sincronizando, etc).
Bem, já que você ia perguntar, vou falar antecipadamente: as mensagens para acesso off-line são salvas no seu computador. Nesta página você pode ver onde elas são salvas, dependendo do seu SO e browser. Na Configuração do Gmail Off-line você pode ver mais detalhes. Um FAQ sobre o recurso está disponível aqui.

O Google Calendar e o Google Docs em inglês também possuem o recurso para trabalhar off-line, mas não permite que os compromissos agendados sejam alterados enquanto off-line, obviamente sendo apenas um questão de tempo para que este recurso seja implementado.

Outro recurso também espetacular é o Undo Send, que depois de clicar no botão Send para enviar o email, lhe dá cinco segundos para desistir, exibindo um link “Sending… Cancel” que você pode clicar para cancelar o envio. Vai dizer que você nunca mandou um email e só depois de clicar em Send é que percebeu que o email era pra pessoa errada ou que haviam erros grosseiros no texto?

O recurso de Tasks adicona um novo link do lado esquerdo, abaixo dos Contatos, para você criar anotações rápidas.

O Google Calendar gadget integra o Google Calendar ao GMail, criando um novo box para adicionar novos compromissos e visualizá-los diretamente no GMail.

Outros recursos bastantes legais são o YouTube previews in mail, que permite exibir vídeos do YouTube, em links recebidos por email, direto no GMail, e o Picasa previews in mail, que permite ver figuras do Picasa.

O Pictures in chat permite ver a foto da pessoa com quem você está conversando no GMail.

O Right-side chat altera o visual do GMail, colocando o chat do lado direito. O Right-side labels faz o mesmo para os Labels.

O Forgotten Attachment Detector decteca quando você faz referência a uma anexo na mensagem e esqueceu de adicionar o mesmo, evitando que você envie a mensagem sem ele. O problema é que ele só detecta se você esqueceu o anexo se você escrever a frase “I have attached” ou “is attached” em algum lugar da sua mensagem. Outras variações como “See the attachment” não funcionam. O ideal é que você pudesse definir quais as frases que definem que você está enviando um anexo, e assim, se o plugin encontrar uma dessas frases dentro do seu texto e você não tiver anexado nada, lhe avisar antes do envio, algo que é bem simples de ser implementado.

O Create a Document permite criar um documento no Google Docs, a partir de uma conversa de email.

Senti falta ainda de um recurso para integrar o Google Reader, leitor de RSS, no GMail, mas acredito que é questão de pouco tempo para lembrarem disso.

Há algum tempo eu encontrei um programa chamado GMDesk, uma aplicação desktop desenvolvida em Adobe Air (necessitando a instalação do runtime do mesmo), que permite que você acesse várias das aplicações do Google como GMail, Google Calendar, Google Reader e outras, a partir de um programa instalado no seu computador. Baixei e instalei o mesmo e não vi nenhuma vantagem, pois com o recurso de abas existentes em todos os navegadores atuais, não há nenhum problema em acessar estes sistemas diretamente do browser. E além de agora termos esses diversos recursos dentro do próprio GMail. Mas fica a dica, alguém aí pode gostar do GMDesk.

No GMail ainda há o recurso de permitir fazer video chamadas, mas parece que só está disponível para Windows, infelizmente não funciona no Linux, ainda.

Nas configurações você tem um recurso de Contas, onde você pode receber todos seus emails de outras contas, como do Yahoo e email da empresa onde você trabalha, tudo diretamente no GMail. Algo bastante interessante deste recurso é que você pode criar contas para os emails externos que deseja receber no GMail e cadastrar quais destas contas você pode utilizar para enviar email’s a partir do GMail. Assim, se você quer enviar um email pro seu chefe e deseja enviar não com seu email do GMail mas sim com seu email do trabalho, este recurso é útil pra isso. Habilitando essas contas de envio de email, no campo De, na página de envio de email, você terá listados o seu email do GMail e os que você cadastrou.

Um recurso padrão bem útil, que já está disponível há algum tempo na versão em português do GMail, é o de visualizar arquivos PDF’s diretamente no GMail, sem precisar baixá-lo, o que é muito útil.

Com o recurso de Labels você pode separar os email’s das diferentes contas que estão sendo recebidos pelo GMail e assim manter tudo organizado, o email’s com assuntos de trabalho não ficarão com misturados com seus email’s particulares, juntos com as piadas e links para vídeos do YouTube que você recebe :) .

Bem, quanto aos recursos do GMail apresentados, acredito que é uma grande evolução nos WebMail. Há alguns anos não sei mais o que é usar clientes de email como Mozilla Thunderbird ou Microsoft Outlook Express, como também não acesso outros WebMails para checar todas as minhas contas de email, faço isso direto do GMail.
Como podem ver, você pode tirar muito mais proveito do GMail do que achava. Pra mim, atualmente sinônimo de email é gmail, assim como sinônimo de site de busca é google


Juntando PDF no Linux

20, Março 2009

Você sabia que a Biblioteca Virtual da USP disponibiliza arquivos PDF do Telecurso 2000?

Pois é, mas o que isso tem a ver com juntar PDF no linux? Bem, é que eu passando por lá para baixar o curso de matemática do ensino médio para dar uma revisada em muitos conceitos, descobri que para cada capítulo havia um PDF separado e eu gostaria de ter isso num PDF só. Então aí vai a dica. No terminal de uma distribuição linux como o Ubuntu, digite o comando abaixo:

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=finished.pdf file1.pdf file2.pdf

Veja o significado de cada parâmetro informado:

* gs — Nome do programa a ser executado, o Ghostscript
* -dBATCH — Fechar o Ghostscript ao terminar o processo
* -dNOPAUSE — Não pausar o processo solicitando interação do usuário
* -q — Não mostrar nenhuma mensagem durante o processo
* -sDEVICE=pdfwrite — Usar o gerador de PDF do Ghostscript para realizar o processo
* -sOutputFile=finished.pdf — Nome do arquivo final com o conteúdo de todos os outros PDF’s informados

Você pode usar caracteres curingas para juntar todos os PDF’s de um diretório para um único arquivo, como
mostrado no comando abaixo:

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=finished.pdf *.pdf

Se você não tiver o Ghostscript instalado, baixe-o por apt-get, executando os comandos abaixo no terminal:

apt-get install gs
apt-get install pdftk

Referências: Decio Blog e Every Joe.


Editando PDF no Linux

18, Março 2009

Recentemente, assistindo as aulas do meu curso de mestrado, tive a idéia de procurar um editor de PDF para que eu pudesse adicionar os meus comentários durante as aulas, diretamente no arquivo PDF das apresentações disponibilizadas pelos professores. Como vou pra aula sempre com o notebook, posso fazer isso em tempo real enquanto o professor fala.
Assim, fui buscar por um editor de PDF para linux. Achei um chamado pdfedit, que pode ser baixado via apt-get no ubuntu. Instalei mas não consegui fazer nem o básico como queria, adicionar texto em um PDF. Até achei a ferramenta pra isso, mas o texto saia na vertical e não consegui mudar isso. Encontrei uma explicação para isso no manual de usuário da ferramenta, mas nenhuma solução de como resolver. Quando tentava usar uma opção de visualização das propriedades do texto adicionado, o programa dava pau e fechava.

Achei neste site outras opções. Vale a pena testar.

Encontrei também a ferramenta PDF X-Change Viewer. É uma ferramenta gratuita para Windows. Das ferramentas desktop para Windows que testei, esta foi a com a melhor usabilidade. Existe na página uma versão portable que não necessita de instalação, basta descompactar e usar. Consegui rodar no Ubuntu com o Wine instalado. Ele tem um recurso para digitar texto livremente no PDF e outro para criar uma caixa de texto que permite colocar textos em múltiplas linhas de forma fácil, em um único objeto. Estava tudo indo muito bem, até eu salvar o PDF, fechar e abrir novamente. Ao reabrir o PDF, os textos adicionados ficavam invisíveis. Só depois de clicar duas vezes no texto que ele aparecia em preto (e o fundo era branco mesmo), mas ao sair, o texto voltava pra branco. Outro problema foi quando tentei abrir o PDF alterado em leitores de PDF padrão como o Acrobat e o Document Viewer no Ubuntu, deu erro na abertura.

A ferramenta Okular (para KDE) promete fazer isso, mas no Ubuntu (que usa Gnome), pelo menos comigo, os menus não apareciam. Muito tempo depois descobri que o problema é que ele abria em tela cheia (pressionei ctrl+shift+f para voltar ao normal). O mesmo problema ocorria com o editor kate rodando no Gnome. Bem, depois de ter encontrado a barra de ferramentas para edição, tudo funcionou bem, mas o pdf alterado não abria mais em nenhum visualizador de pdf padrão (tentei no acrobat e no Document Viewer do Gnome), o que pra mim foi um grande ponto negativo.

Por fim, depois de muita busca, encontrei uma ferramenta que realmente funcionou. O Xournal, uma ferramenta para Gnome que permitiu realmente adicionar anotações em um PDF, porém, as alterações são salvas num arquivo separado, com extensão xoj, que abre com o Xournal, e assim, resolveu todos os problemas. Se depois você quiser gerar um novo PDF, ele tem uma opção para exportar o arquivo xoj para PDF. Um amigo instalou e não conseguiu adicionar notas em nenhum PDF. Eu estava editando os PDF’s normalmente, até que, do nada, ao reabrir o arquivo xoj gerado por ele, os comandos de edição não funcionavam. Apenas depois de reiniciar o x server com ctrl+alt+backspace voltou a funcionar. Mas o problema persistiu posteriormente. Encontrei uma possível solução nesse post aqui. Eu baixei o arquivo wacom-tools_0.7.9.8.orig.tar.gz (ou pode baixar aqui), descompactei, configurei, compilei e instalei, com os comandos abaixo executados num terminal (estando na pasta onde baixou o arquivo):
tar -zxvf wacom-tools_0.7.9.8.orig.tar.gz
cd wacom-tools-0.7.9.8/
./configure
make
sudo make install

Reiniciei o servidor x e voltou a funcionar, temporariamente. Acho que foi no post citado acima, que comentaram sobre uma opção XInput que deveria ser desabilitada, mas não tinha entendido como desabilitar isso. Fuçando no programa encontrei a bendita opção que no menu Options do Xournal. Desabilitei a opção “Use XInput” e instantaneamente consegui voltar a editar o PDF.

Achei o site www.pdfescape.com que possui uma aplicação Web para edição de PDF’s online, com menus e barras de ferramentas, bem legal, e funciona mesmo.


Plugins para GEdit

11, Março 2009

O GEdit permite a instalação de diversos plugins. Você pode baixar plugins a partir do site http://live.gnome.org/Gedit/Plugins.

A instalação dos plugins deve ser feita dentro do diretório ~/.gnome2/gedit/plugins. Se o sub diretório plugins não existir, crie-o.
Os plugins normalmente vem em arquivos .tar.gz, que devem ser descompactados na raiz da pasta plugins, sem um subdiretório.

Após isso, basta fechar o GEdit e abrir novamente, entrar no menu Edit >> Preferences e habilitar o plugin na aba Plugins.

No Synaptic do Ubuntu, acessado pelo menu do Gnome System >> Administration >> Synaptic Package Manager,
você pode digitar gedit plugins e instalar o pacote que baixa e instala um pacote com vários plugins interessantes, principalmente para desenvolvedores, como um terminal embutido na parte inferior da janela, acessível depois de habilitar o plugin e ir no menu View >> Bottom Pane do GEdit. Outro plugin interessante instalado nesse pacote é o Session Saver, que salva a sessão com os documentos atualmente abertos, para, ao fechar e reabrir o GEdit, os últimos documentos serem automaticamente abertos.


Iron Maiden: Flight 666

8, Março 2009

Bem, hoje estou com preguiça de escrever, mas para quem gosta de Iron Maiden e não tá sabendo ainda, a banda vai lançar um documentário sobre sua última turnê pelo mundo, a bordo do avião Ed Force One, um Boeing 757 pilotado pelo próprio Bruce Dickinson.

Mais informações neste blog, com um link para o vídeo no youtube. Em março deste ano a banda passa com a turnê por algumas cidades do Brasil.

Informações no site oficial em http://www.ironmaiden.com/index.php?categoryid=8&p2_articleid=1058


Impressora Virtual de PDF no Linux

4, Março 2009

No Ubuntu 8.10 (pelo menos o meu :) ), a impressora virtual de PDF não vem instalada. Mas para resolver isso é simples, basta no console digitar sudo apt-get install cups-pdf para baixar e instalar.

Pronto, agora você já pode imprimir PDF a partir de qualquer aplicação.