Usando o gmail em modo seguro

19 de junho de 2008

Atualizado 19/08/2008: Está aí um motivo real para usar conexão segura!

Atualizado 26/07/2008: Parece que o pessoal do google leu meu post e resolveu facilitar ainda mais!

Para efetuar login no gmail o usuário tem que digitar o login e senha usando uma conexão segura (https), no entanto, após efetuar o login, o endereço https é alterada para uma conexão http normal (não segura). Para garantir que toda a sessão, e não apenas o login, sejam seguros, troque o endereço http://mail.google.com por https://gmail.com.

Para aqueles que já estão usando o Firefox 3, use o endereço https://mail.google.com. Obrigado pelo comentário André!

Problemas com a codificação dos caracteres e acentuação no modo texto do Ubuntu 8.04

13 de maio de 2008

Após atualizar o Ubuntu para a versão 8.04 resolvi implementar um multiterminal em casa. Precisei usar o modo texto (ctrl+alt+f1 acessa o modo texto e ctrl+alt+f7 retorna para o modo gráfico) já que iria testar diversas configurações do X. Infelizmente me deparei com dois problemas:

  1. Os caracteres acentuados não estavam sendo exibidos corretamente; e
  2. Os acentos no teclado (abnt2, o teclado com ç) não estavam funcionando.

Resolver o primeiro problema é simples: basta executar (no terminal, pode ser o gráfico) o comando sudo dpkg-reconfigure console-setup, responder as perguntas (em geral, a opção selecionada) e escolher o conjunto de caracteres ‘# Latin1 e Latin5 – línguas da Europa ocidental e turcas’.

O segundo problema é mais chato de ser resolvido. É provável que se trate de um bug, vou dar mais uma estudada e, se for o caso, reportar no launchpad. O pacote console-setup deveria substituir os pacotes console-common e console-data, mas como o esquema do teclado não está funcionado com o console-setup, o jeito é instalar estes pacotes. Para instalar os pacotes console-data e console-common, execute no terminal o comando sudo aptitude install console-common console-data. Durante a configuração dos pacotes escolha a opção ‘Não tocar no mapa de teclado’. Em seguida, configure o pacote console-data para usar o mapa de teclado correto, execute sudo dpkg-reconfigure console-data, escolha as opções ‘Selecionar mapa de teclado da lista de arquiteturas’, ‘qwerty’, ‘Brazilian’, ‘Standard’. Agora, copie o mapa do teclado do pacote console-data para ser usado pelo console-setup, execute o comando sudo cp /etc/console/boottime.kmap.gz /etc/console-setup/boottime.kmap.gz. Por fim, é necessário atualizar o initramfs usado pelo kernel, execute o comando sudo update-initramfs -u. Reinicie o computador e o problema deve ser resolvido.

Para reverter estas alterações, isto é, fazer como que o pacote console-setup volte a usar seu próprio mapa de teclado e não o do pacote console-data, remova o arquivo /etc/console-setup/boottime.kmap.gz e reconfigure o pacote console-setup.

Atualizando o wordpress: uma forma simplificada

10 de maio de 2008

Após ter decidido alimentar este blog, resolvi atualizar a versão do wordpress. Em um primeiro momento pensei de forma negativa: tenho que baixar a nova versão, descompactar, talvez atualizar o banco de dados, etc. Logo concluí: deveria haver uma maneira automática de atualizar o wordpress! Uma pergunta rápida ao oráculo e eis a resposta: existe uma forma simplificada de atualizar o wordpress. Conheçam o Instant Upgrade (e não é um produto das organizações tabajara).

Copiando fórmulas em tabelas no OpenOffice Writer

1 de maio de 2008

Nas últimas duas semanas estive corrigindo provas e trabalhos. Para calcular as médias dos alunos criei um documento no OpenOffice Writer e inseri uma tabela, digitei (= ou F2) a fórmula (média ponderada) na primeira linha, e qual não foi a minha surpresa quanto tentei copiar a fórmula para as outras células, não conseguia! No Calc é muito simples, basta clicar no canto inferior da célula e arrastar para as outras células e pronto.

Eu poderia inserir um planilha do Calc em um documento do Writer, mas eu fiquei intrigado e decidi procurar uma forma de copiar fórmulas em tabelas no Writer. Após consultar o oráculo e obter uma resposta negativa, resolvi tentar com minhas próprias forças. E não foi em vão! Vejam o resultado:

Com o cursor na célula a ser copiada, vá em Tabela->Selecionar->Células

Tabela, Selecionar, Células

Veja que a célula ficará toda selecionada

Célula Selecionada

Em seguida, basta copia (Ctrl+C) e colar (Ctrl+V) em outras células.

Vai uma dica para o pessoal do OpenOffice: fazer com que as tabelas do Writer se comportem igual a uma tabela do Calc.

Agradecimento aos incentivos

1 de maio de 2008

O meu amigo André Noel (tradutor oficial do ubuntu) teve a iniciativa de me incentivar a escrever no blog, e como se o incentivo dele não bastasse convocou os leitores do seu blog a fazerem o mesmo. O resultado foi surpreendente! Mais de 300 visitas e 15 comentários em três dias! Considerando que a média de acessos era de 6 por dia, e que só havia um comentário do meu amigo Rodrigo Campiolo, foi uma revolução! Não foi nenhum efeito Slashdot, mas foi o suficiente para me tirar da minha inércia.

Gostaria de agradecer ao André Noel pelo seu incentivo e a todos que participaram da sua campanha e fizeram seus comentários. Vou me dedicar mais a este blog! Eu acredito no software livre e no compartilhamento do conhecimento, não é justo aproveitar o conhecimento da comunidade do software livre e nunca devolver nada. Portanto, aguardem novos posts em breve!

Problemas com acentuação em programas java no prompt de comando do Windows

7 de novembro de 2007

Quem já executou um programa java no console (prompt de comando) do Windows provavelmente já conhece o problema: algumas letras acentuadas não aparecem corretamente. O problema é antigo e o pessoal da Sun já disse que não vai arrumar, veja bug, bug, bug.

Este problema acontece porque o Windows separa a codificação do console (OEM por padrão) da codificação das demais aplicações (ANSI por padrão). Quando a máquina virtual java é iniciada ela assume a codificação das demais aplicações e não a do console.

Vamos usar o código a seguir para ver como isso tudo funciona:

1
2
3
4
5
6
7
8
9
10
11
public class Acentos {
    public static void main(String[] args) {
        System.out.println("file.encoding=" + System.getProperty("file.encoding"));
        System.out.println("aàáâã");
        System.out.println("eèéê");
        System.out.println("iìí");
        System.out.println("oòóôõ");
        System.out.println("uùúü");
        System.out.println("cç");
    }
}

Ao compilar e executar o código temos o seguinte resultado:

Console imprimindo acentos com duas codificações diferentes

O comando chcp exibe a codificação usada no console, que no caso é 850 (ou Cp850, de CodePage). Na linha 3 é impresso a codificação que o java está utilizando, no caso Cp1252. Como as codificações são diferentes algumas letras acentuadas são não aparecem corretamente. Para resolver o problema temos que fazer as codificações coincidirem. Neste caso existe duas opções, alterar a codificação do console ou disser para o java utilizar outra codificação. A segunda solução é rápida e direta, basta mudar o valor da propriedade file.encoding para cp850. Esta opção não é muito robusta pois exige a mudança na chamada do java para todos os programas.

A outra opção é mudar a codificação do console, isto pode ser feito com o comando chcp 1252. Para esta solução funcionar é preciso alterar a fonte do console. Clique no ícone no canto superior esquerdo da janela do console, selecione “Propriedades” e altere a fonte para “Lucida Console”. Veja o resultado abaixo.

Console imprimindo acentos com duas codificações diferentes 2

Para torna a alteração da fonte permanente, clique no ícone no canto superior esquerdo da janela do console, e selecione “Padrão”. Feche o console e abra novamente e você verá que a fonte foi alterada, no entanto, ao executar o comando chcp a codificação ainda continua sendo 850. Para mudar a codificação do console é preciso editar o registro, procure a chave \HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Nls\CodePage\OEMCP e altere o valor para 1252. Reinicie o computador e pronto!

Editando o registro do windows para alterar OEMCP para 1252

Não quis comentar inicialmente, mas ainda existe uma outra solução, que além de acabar com este problema resolve diversos outros: trocar o Windows pelo Ubuntu!

Horário de verão no Ubuntu (2007-2008)

20 de outubro de 2007

No sábado, dia 13, estava contando vantagens sobre o Ubuntu mudar para o horário de verão automaticamente. A minha experiência dos anos anteriores dizia que a mudança iria ocorrer de forma transparente, sem precisar fazer nada. Infelizmente este ano foi diferente. No domingo, dia 14, quando liguei o computador e percebi que o horário não havia sido alterado, fiquei frustrado.

Em uma instalação do Ubuntu Feisty (7.04) bastou instalar o pacote tz-brasil e o problema foi resolvido. As informações de mudança de horário são fornecidas pelo pacote tz-data, acontece que ele ainda não havia sido atualizado para a versão que contém a correção do início do horário de verão no Brasil, o tz-brasil faz a atualização constantemente. Um bug foi reportado no launchpad. O bug já foi corrigido, e uma nova versão do pacote tzdata está disponível para atualização. Não aconselho a instalação do pacote tz-brasil (leia o artigo até o final).

Em uma instalação do Ubuntu Edgy (6.10) o problema foi outro. Já havia instalado o programa tz-brasil e o problema persistia. Encontrei um relato de um bug para o pacote tz-brasil. O meu problema era que o fuso horário não estava selecionado. Para ver se este é o caso, clique com o botão direito no relógio do sistema, e selecione ‘Ajustar Data e Hora’, ou vá em Sistema > Administração > Data e Hora. Se o fuso horário estiver em branco, basta selecionar um fuso horário. A pergunta é: como o meu sistema “perdeu” a configuração do fuso horário? Eu acho que o pacote tz-brasil foi o responsável.

Na minha opinião o pacote tz-brasil não deveria existir, o pacote tzdata deveria ser atualizado com maior freqüência para garantir as mudanças no horário, isto porque o pacote tzdata é instalado por padrão e o pacote tz-brasil não. Como os usuários vão “descobrir” que precisam instalar o pacote tz-brasil para manterem o sistema com o horário correto?

Projetos aninhados com maven e integração com IDE e controle de versão

19 de outubro de 2007

A algum tempo venho lendo coisas sobre o maven (uma alternativa ao ant, em outra oportunidade escrevo um post específico). Apesar de fazer alguns testes simples não tinha tido a oportunidade de desenvolver um projeto mais elaborado. Pois a oportunidade apareceu.

Criei manualmente uma estrutura inicial com um projeto principal e dois subprojetos aninhados (módulos, na terminologia do maven). O próximo passo era usar esta estrutura em um IDE.

Para abrir projetos maven no netbeans 6, bastou eu instalar o plugin no Painel de Plugins (Tools->Plugins). Infelizmente não gostei de algumas coisa, entre elas o fato do netbeans precisar criar diversos arquivos no diretório do projeto para poder executar uma classe (ou teste de unidade).

Tentei então o eclipse (europa). O plugin para projetos maven é o m2eclipse. O plugin funciona direito e não apresenta os problemas do plugin para o netbeans.

Para finalizar só faltava criar um repositório subversion e começar a programar. Instalei o subclipse e comecei a dar os commits, o eclipse ficou lento, travou, o subclipse ficou perdido, não conseguia saber qual os arquivos que tinha sido alterados, em fim, deu o maior pau! Inicialmente eu achei que o problema era com o m2eclipse, depois de muito procurar descobri que o problema já é conhecido (http://subclipse.tigris.org/issues/show_bug.cgi?id=511). Troquei o subclipse pelo subversive, e o problema acabou.

Depois de uma jornada de quase uma semana, finalmente estou usando um ambiente confortável: eclipe + m2eclipse + subversive.