tecnologia

Meus posts sobre tecnologia. Em geral são posts sobre java, mas como sou um geek assumido você vai encontrar uma variedade de outros assuntos tecnológicos por aqui.

Script para iniciar o tomcat

O tomcat costuma apresentar um problema chamado PermGen space Exception quando fazemos muitos undeploys e deploys sem reiniciar o processo do tomcat. Isso acontece por uma característica da jvm da Sun. Não chega a ser propriamente um bug.

Quando executamos uma aplicação java uma instância da jvm é criada exclusivamente para aquela aplicação. Na jvm existe um espaço de memória que nunca é reutilizado. Se chama espaço de memória permanente (PermGen space) e serve para guardar objetos do tipo Class. Quando se carrega uma aplicação, cada casse do jar ou war é instanciado como um objeto que fica alocado neste espaço de memória permanente. Se a aplicação tiver muitíssimas classes a jvm vai lançar uma mensagem de erro indicando que esse espaço está repleto e não é possível carregar a aplicação. Mas se as suas classes se encaixarem neste espaço (e em geral cabe) sua aplicação vai rodar sem problemas. Existem dois tipos de casos onde existe um consumo indevido do espaço de memória permanente:

  1. Programas que geram tipos de classe dinamicamente. O hibernate chega a criar algumas classes em tempo de execução, mas não chega a ser um número tão grande a ponto de gerar problemas. Para encher o espaço de memória permanente seria necessário criar centenas ou milhares de classes dinamicamente. Provavelmente um sistema que roda por muitos dias seguidos e criando classes novas possa chegar preencher todo este espaço. Mas seria um sistema mau escrito.
  2. Programas que carregam muitos tipos de classes dinamicamente. É o caso do tomcat que aceita deploy e undeploy de aplicações. Quando um desenvolvedor faz undeploy todos os objetos das classes da aplicação continuam lá no espaço de memória permanente e quando é feito o deploy da nova versão do context outros tantos objetos do tipo classe vão para a memória permanente. Em algum momento a memória acaba.

É por isso que no ambiente de desenvolvimento é comum ter de reiniciar o tomcat várias vezes ao longo do dia de trabalho. Como meu ambiente é para testes, eu limpo logs e o diretório work antes de rodar o tomcat, e coloco o tomcat.log que é o arquivo do log4j que eu configurei para exibir as mensagens do tomcat. Segue abaixo o meu script para iniciar o tomcat:

#!/bin/sh
TOMCAT_HOME="/opt/tomcat"
TOMCAT_LOGFILE="$TOMCAT_HOME/logs/tomcat.log"

cd $TOMCAT_HOME
rm logs/* -rf
rm work/Catalina/localhost/* -rf
bin/catalina.sh jpda start
ps aux|grep tomcat
echo "tomcat iniciado..."

sleep 5

while [ ! -f "$TOMCAT_LOGFILE" ]; do
sleep 1
echo "arquivo de log ainda não foi criado..."
done

echo "log do tomcat existe e será exibido a seguir:"
tail -f logs/tomcat.log

Campanha Contra Software Proprietário

Campanha contra Software Proprietário na Bahia

Hoje encontrei no blog do Vinícius essa companha contra software proprietário no programa de inclusão digital do governo da Bahia . O programa de inclusão digital do governo baiano utilizava ferramentas livres e agora a Miscrosoft está oferencendo de graça os seus próprios programas. O uso de programas livres tem a função de (1) baratear os custos do governo e (2) incentivar o cidadão a utilizar ferramentas que não implicam em custos de licença de uso.

Quando o cidadão de baixa renda aprende a fazer uma planilha no programa de inclusão digital, ele vai procurar usar o mesmo programa no computador de casa ou de trabalho. Se ele aprendeu a utilizar o Microsoft Excel, doado pela Microsoft ao Estado da Bahia, o recém incluído precisará desembolsar R$ 199,00 para ter uma cópia legal do programa. Ou seja, para cada 30 alunos que façam o curso e comprem o Office a Microsoft faturaria R$ 5.970,00. Faturaria (se não fosse a pirataria, claro).

O programa de inclusão social com ferramenta livre não estimula a pirataria e nem o consumo de produtos proprietários. Qualquer um pode instalar o OpenOffice sem nenhum custo, e sem ter digitar aquele odiável código de autenticidade.

Em vários lugares temos programas parecidos e que estão se curvando aos interesses escusos micro$soft. O governo Kassab fez isso na cidade de São Paulo. Mas eu ainda torço pelo bom senso, e que o treinamento com programas livres e de qualidade voltem à pauta nos centros de inclusão digital. Seja na Bahia, seja aqui em São Paulo.

ps: se você usa uma cópia ilegal do M$ Office: legalize já!

Ubuntu 8.04 LTS

Ontem de noite comecei a atualização do meu Ubuntu 7.10 para a versão nova que saiu ontemd e manhã, a versão 8.04 LTS. Precisei baixar cerca de 1.3 Gb de dados para realizar a atualização que ocorreu muito bem. Até o momento não percebi nenhum perda de dados ou configurações. As impressoras que eu tinha instalado continuam lá e meu ambiente gnome continua com a mesma aparência de antes. Meu teclado brasileiro não teve problemas de configuração, como li em outro blog que relatou a instalação do 8.04 RC por boot de CD…

Não gostei quando soube que viria a versão beta do firefox 3, mas a versão parece estável, e ainda busca as informações de proxy direto do sistema, o que é um ganho para mim que configuro proxy duas vezes por dia.

Uma coisa que não gostei foi ele ter retirado o VMWare que eu tinha instalado. Ele me perguntou se eu queria tirar algumas bibliotecas perdidas onde constava o vmware, e achei melhor tirar e instalar novamente depois da instalação. Foi uma precaução minha, portanto.

No asf@web já saiu um post sobre a atualização do sistema. O Antonio Fonseca também não encontrou problemas na atualização. Aguardo o relato de outros colegas usuáriod e ubuntu, como o Elcio que também estava se arriscando ontem 😉

Celular Sem Operadora

Telefone celular com capa de bananaOntem o Sergio Amadeu escreveu em seu blog um post com um título tentador: “Celular Sem Operadora: Seria Viável a Gratuidade na Comunicação?”. Trata-se de uma idéia que o próprio Sérgio Amadeu já tinha levantado anteriormente ainda que de forma um pouco diferente. Na matéria que publicou ontem ele descreve uma comunicação que seria feita entre o telefone celular e uma rede sem fio pública, oferecida pelo Estado. O Estado ofereceria acesso gratuito ao cidadão que possui um celular com capacidade de se conectar a internet e as ligações seriam feitas sem custos para outros celular ou computador também ligado a internet.

Hoje em dia os celulares com tecnologia suficiente para realizar tal proeza em wi-fi não sai por menos de R$ 950,00 sem o subsídio da operadora de celular. Em outras palavras, se depender do custo de mercado hoje somente uma faixa bem restrita de cidadãos poderia se beneficiar de um serviço como esse. Mas algum dia no futuro os celulares poderão vir com esse recurso por um preço realmente acessível.

Mas o que me chamou a atenção mesmo na matéria foi a seguinte provocação do Sérgio Amadeu:

Aí vêm a turma do Kptal perguntando: quem paga? é gratuito?

Trabalhador usando telefone celularVou responder como colega: ainda que eliminássemos a moeda das relações sociais o oferecimento de tal rede geraria trabalho humano. E quem deveria trabalhar para que todos usufruam do serviço?

Agora com termos um pouco menos marxistas: para montar uma rede dessas, manter o link e os equipamentos em funcionamento é necessário dinheiro. Se esse dinheiro for pago pelo Estado então ou sobrará menos dinheiro para outros serviços públicos ou o contribuinte pagará mais dinheiro ao Estado. Qualquer explicação diferente é quimera. O fato que o dinheiro do Estado que deve ser utilizado para oferecer transporte, saúde e educação passaria a ser gasto também com comunicação.

Agora eu devolvo a bola: é justo que o Estado e o contribuinte custeie a comunicação do cidadão? Minha opinião é que é injusto, pois o maior beneficiário hoje seriam os mais ricos, e eu acho injusto o Estado beneficiar aos ricos em detrimento dos mais pobres.

Bolsinhas de CD

A Micro$oft andou distribuindo CDs por aí com uns live qualquer coisa: nada que não seja distribuido por download na internet. Eu recebi os dois CDs que estão na foto do lado: um no Campus Party (o que não se faz por um capuccino grátis, hein Vinícius?), e outro veio com uma revista. Um colega meu que usa linux recebeu um destes CDs junto da sua assinatura da revista, e me perguntou o que ele deveria fazer com o disquinho.

A minha irmã Sandra tem uma ótima sugestão no blog dela: bolsinhas de CD a Yohanah já está usando a bolsinha dela que a tia fez 😉

Bolsinha de CD

Se você tiver uma outra sugestão do que fazer com esses CDs promocionais chatos deixe o seu comentário aqui.

Celular do Skype é lançado e permite ligações de graça

Um avanço interessante esse telefone celular que permite usar o skype [veja a notícia no Estadão].

O problema é que para usar o skype é necessário assinar internet no celular, e isso tem preço. Até aí tudo bem. Uma vez assinante você pode falar a vontade para outros usuários do skype. Ligações para telefone fixo não podem ser feitas pelo telefone com o skypeout. Ou seja, se fizer uma ligação local, interurbana ou internacional, o que vale é a tarifação da sua operadora, pois o skypeout está desabilitado.

O ideal seria um skype que pudesse ter skypeout e skypein. O skypout permite ligações a preços baratos para telefones convencionais, e o skypein é uma linha fixa que pode ser alugada por um ano a R$80,00.

Note que a tecnologia para utilizar skypein e skypeout estão presentes no telefone, porém bloqueadas. Sabe qual é o problema? O problema esbarra são as operadoras de telefonia, que não estão dispostas a perder terreno para o voz sobre ip (Voip). Mas um dia vão perder. É uma questão de tempo.

Ubuntu Novo

Eu uso Ubuntu linux e neste sábado fiz a migração para a nova versão, a 7.10. Estava com medo de atualizar, pois a última atualização que fiz não deu muito certo, e alguns programas pararam de funcionar, mas eu confesso que fiz a atualização no processo “next man”, clicando nas opções sem ler quase nada.

Para atualizar meu ubuntu da versão 7.04 para a 7.10 foi necessário baixar uns 900Mb de pacotes e a instalação foi interrompida com diversas perguntas sobre manter ou não arquivos de configuração do apache, e outros módulos (o que achei chato, mas necessário).

Aparentemente tudo está correndo bem: minha experiência foi positiva. Só notei que o tema da janela de início de sessão do gnome ficou bagunçado (é um tema personalizado).