Sábado, 20 de Junho de 2009

Mudanças no GCC 4.3

.
Utilizei, no desenvolvimento do software GAIA (da minha tese de doutorado), uma biblioteca para manipulação de conjuntos nebulosos chamada FISPRO (Fuzzy Inference System Professional) , disponibilizada como software livre. Pode-se utilizar como um sistema completo, interativo, com interface gráfica em java, ou pode-se utilizar apenas as funções (API) da biblioteca, desenvolvida em C++. Em qualquer caso, no Linux, é preciso realizar a compilação da biblioteca, nada que um comandozinho "make" não resolva.

Pois bem, compilei a biblioteca em setembro/outubro do ano passado, sem problemas, programa da tese terminado, tudo beleza.

Estou retomando agora o trabalho com o programa, em especial para geração de uma versão em inglês para apresentar em um congresso. Como de lá pra cá eu zerei a máquina para trocar a versão do ubuntu (de 7.10 para 8.10), precisei agora reconstruir meu ambiente de desenvolvimento. Comecei pela biblioteca FISPRO, baixei, descompactei, ajustei o que tinha que ser ajustado, make.... e surgiu monte de warnings e erros!!! Em especial:

warning: comparison with string literal results in unspecified behaviour
warning: deprecated conversion from string constant to ‘char*’

... e erros mesmo, relacionados com o uso de funções tais como strlen, strcmp, etc...

Depois de passado o pânico e o desespero :-) mãos-a-obra para descobrir porque um programa que compilava direitinho subitamente deixou de compilar (e olha que nem mudou a versão, era exatamente o mesmo programa!).

O motivo é que em 2008 eu usava o GCC versão 4.1, e agora estou usando o GCC 4.3. Pelo que entendi, esta nova versão do GCC não trás apenas novas funcionalidades e conserto de bugs, mas também algumas mudanças intencionais em algumas formas de uso, em especial para suportar novos padrões. Na maioria das vezes, as mudanças serão imperceptíveis, porém em alguns casos elas trarão algumas dores-de-cabeça para quem estiver migrando para o GCC 4.3.

Uma dessas mudanças foi a "limpeza" realizada nos arquivos #include de forma a incluir o menor número possível de arquivos adicionais. Assim, muitos programas em C++ que não incluem explicitamente a não mais compilarão.

Essa é apenas uma das mudanças. Para uma descrição completa e detalhada, sugiro a consulta a esta página:

http://gcc.gnu.org/gcc-4.3/porting_to.html

Bem, e como resolver, sem ter que alterar o código-fonte da biblioteca?

Eu resolvi com a seguinte gambiarra: instalei, via synaptic, o GCC 4.1 (pacotes cpp-4.1 e g++-4.1). Mas não basta isso, vocẽ precisa também redirecionar o atalho "gcc" e "g++" para apontarem para a versão do gcc (e g++) que você quer usar.

Vamos ver como a coisa funciona: abra o terminal, e vá para o diretório /usr/bin. Lá, exiba os arquivos que começam com gcc:

cd /usr/bin
ls -l gcc*
Você vai ver algo do tipo:

lrwxrwxrwx 1 root root 7 2009-06-20 15:11 gcc -> gcc-4.3
-rwxr-xr-x 1 root root 208068 2009-01-23 17:20 gcc-4.3
Se você já tiver instalado o gcc 4.1, verá também:

-rwxr-xr-x 1 root root 198916 2008-10-26 10:12 gcc-4.1
A primeira linha diz que o arquivo gcc, na verdade, é um "link simbólico" para outro arquivo, gcc-4.3. Isto significa que quando você executa o gcc, na verdade, está executando o gcc-4.3. Precisamos então, fazer o link apontar para o arquivo gcc-4.1, para utilizarmos esta versão do compilador. Isto é obtido com os seguintes comandos:

sudo rm gcc (para apagar o gcc)
sudo ln -T gcc-4.1 gcc -s (para recriar gcc, desta vez apontando para gcc-4.1)

Agora, ao pedir o diretório, você deverá ver:

lrwxrwxrwx 1 root root 7 2009-06-20 15:11 gcc -> gcc-4.1
-rwxr-xr-x 1 root root 198916 2008-10-26 10:12 gcc-4.1
-rwxr-xr-x 1 root root 208068 2009-01-23 17:20 gcc-4.3
Não esqueça de fazer a mesma coisa com o g++:

ls -l g++*

lrwxrwxrwx 1 root root 7 2009-06-20 15:20 g++ -> g++-4.1
-rwxr-xr-x 1 root root 200836 2008-10-26 10:11 g++-4.1
-rwxr-xr-x 1 root root 212164 2009-01-23 17:17 g++-4.3
Para testar, use "gcc --version" (ou g++ --version).

gcc (GCC) 4.1.3 20080623 (prerelease) (Ubuntu 4.1.2-23ubuntu3)
Copyright (C) 2006 Free Software Foundation, Inc.
E não esqueca de avisar aos desenvolvedores do código que você está tentando utilizar sobre esses problemas e mudanças. Lembre-se, colaborar com software livre não é apenas programar. Um relato de bugs e/ou problemas, é uma ajuda e tanto! (Eu já avisei a galera que desenvolve a biblioteca fispro.... :-) ).

Mais um aviso, lembre-se de fazer este tipo de alteração com bastante cuidado, para não "estragar" o seu sistema.

Grande abraço a todas e a todos!

Carlão

Terça-feira, 2 de Junho de 2009

Palestras no III ENSL / IV FSL-BA

.
Estive em Salvador/BA semana passada para participar de um evento que reuniu o III ENSL - Encontro Nordestino de Software Livre e o IV Festival de Software Livre da Bahia, organizado principalmente pelo Projeto Software Livre Bahia.




Neste evento, apresentei duas palestras:
- Uma introdução a programação de GUIs com GTK+ : abordou principalmente algumas dicas para ajudar os iniciantes na programação utilizando esta toolkit gráfica.
- Programação GTK: Uma introdução ao GLADE : apresentou o software GLADE, um grande auxiliador para a construção de interfaces gráficas utilizando a biblioteca GTK.

Os slides dessas palestras podem ser encontrados na página de apresentações do projeto GNOME Brasil.

Grande abraço a todas e a todos!
Carlão

PS: É sim, o blog voltou a vida.... :-)

Quarta-feira, 12 de Novembro de 2008

Interdisciplinaridade ou corporativismo?

.
"Interdisciplinaridade" é uma palavra bonita, bastante em moda nos meios acadêmicos atualmente. Está na hora então deste conceito ser aplicado também na hora do ingresso na carreira acadêmica, em especial nos requisitos exigidos nos concursos para as universidades públicas. Como diz uma colega minha aqui da UESC, Prof. Ana Paula Brandão Lopes, os que "ousam" mudar de área são sistematicamente excluídos.

Isso me incomoda devido a minha trajetória: minha graduação foi na área de informática; no mestrado trabalhei com Geoprocessamento e Lógica Nebulosa, e estou finalizando o doutorado trabalhando com Geoprocessamento e Computação Inteligente (Redes Neurais Artificiais e Lógica Nebulosa), inclusive com o desenvolvimento e a disponibilização de um software completo para análise de dados espaciais (veja postagem aqui). Bela trajetória "computonauta", não? O problema são os títulos! Graduação em "Tecnologia de Processamento de Dados", Mestrado em "Estudos Populacionais e Pesquisas Sociais", e Doutorado em "Geografia". Pela prática atual, não dá para prestar concurso nem na Computação, nem na Geografia...

A Ana Paula publicou um texto extremamente claro e objetivo sobre esse tema no Jornal da Ciência (disponível aqui), que reproduzo com autorização da autora:

20. Leitora comenta matéria “Concurso para professor na Universidade Federal dos Vales do Jequitinhonha e Mucuri”

“É urgente a necessidade de regulamentação dos requisitos que podem ou não ser exigidos nos concursos para professor”

Mensagem de Ana Paula Brandão Lopes, da Universidade Estadual de Santa Cruz:

“Onde fica a interdisciplinaridade? Tenho acompanhado os concursos das universidades públicas brasileiras já há alguns anos e tenho visto uma exclusão sistemática daqueles que participam de programas de pós-graduação interdisciplinares ou simplesmente "ousam" mudar de área entre a graduação e a pós, mesmo que a mudança seja em áreas correlatas.

Só a título de citar alguns exemplos desse último concurso:

- Nem um doutor em Engenharia Florestal, com graduação em Agronomia, ou um doutor em Agronomia com graduação em Engenharia Florestal poderiam concorrer a nenhuma das quatro vagas disponíveis na UFVJM para essas áreas.

- Contabilistas com doutorado em Administração também ficam de fora das vagas para Administração, assim como administradores com doutorado em Ciências Contábeis.

- E para "fechar com chave de ouro", apesar da imensa carência de pessoal com pós-graduação na área de computação, uma pessoa que tivesse feito a graduação em Matemática Computacional e depois feito a pós em Ciência da Computação estaria impedida de fazer o concurso para Sistemas de Informação. O mesmo vale para egressos do doutorado no LNCC, independente da graduação de origem.

E os exemplos continuam em quase todas as vagas e não são exclusividade da UFVJM...

Essa é uma situação recorrente, e que está prejudicando muita gente. São pessoas que trabalharam tão duro quanto os demais pelos seus títulos, e, às vezes, até mais, pela necessidade de adquirir conhecimentos de outras áreas que não a da sua graduação.

Essas pessoas demonstraram competência para superar os desafios da interdisciplinaridade e agora se vêem impedidas até mesmo de concorrer àquelas que são atualmente as mais cobiçadas oportunidades de emprego para pós-graduados no Brasil.

Existe uma expectativa de abertura de um grande número de vagas nas federais para os próximos anos, e alguma coisa precisa ser feita para impedir que essas situações continuem se reproduzindo.

É urgente a necessidade de regulamentação dos requisitos que podem ou não ser exigidos nos concursos para professor, evitando que toda uma população de pós-graduados fique marginalizada desses concursos.

A sugestão é que somente a última titulação possa ser especificada nos requisitos; além disso, deve haver garantias de que egressos de programas multidisciplinares ou de áreas afins cujos trabalhos estejam relacionados à área do concurso possam participar. A partir disso, que passem os melhores.”


Bem, pelo menos a discussão começou. Já surgiu outro comentário sobre este assunto (veja aqui).

Como diz um colega do PSL-BA, "vamo que vamo!"

Grande abraço a todas e a todos!
Carlão

Segunda-feira, 10 de Novembro de 2008

HOMENS unidos pelo fim da violência contras as MULHERES

.
Copiado de
http://maisomeno.blogspot.com/2008/11/campanha-contra-violncia-s-mulheres.html


No dia 31 de outubro, o Governo Brasileiro, através da Secretaria Especial de Políticas para as mulheres, lançou a campanha da ONU, “Homens unidos pelo fim da violência contra as mulheres”. O objetivo do projeto é mobilizar homens de todo o mundo na luta contra a violência cometida contra as mulheres. Eles podem dar seu apoio assinando o manifesto que está disponível no site (http://www.homenspelofimdaviolencia.com.br/).

A ministra Nilcéa Freire, titular da SNPM enfatiza que "ao aderirem à campanha, por meio de assinaturas, os homens se comprometem publicamente a contribuir pela implementação integral da Lei Maria da Penha (11.340/06) e pela efetivação de políticas públicas que visam ao fim da violência contra as mulheres”. A meta é de atingir 500.000 assinaturas até 6 de dezembro. Os resultados da campanha serão divulgados em um grande evento e as assinaturas serão enviadas "on-line" ao Secretário Geral da ONU. A partir daí, os apoiadores brasileiros passarão a compor a campanha internacional.

É importante que todos os blogs, sites, ajudem na divulgação, criando links diretos para endereço onde consta a lista de assinaturas a favor do projeto.

O mico do século!

.
Cara, esse deve ser o maior mico da face da Terra....

Mas que ficou legal, ficou!!! :-)




Abraços!
Carlão

Terça-feira, 4 de Novembro de 2008

Seis por meia-dúzia!

.
Um colega meu do mestrado, Marcelo Acha ("todos procuram, mas só o Marcelo Acha!"), em seu blog, colocou de forma extremamente clara um pensamento com o qual concordo, e que cheguei a comentar com algumas pessoas:

É impressionante a expectativa que se criou em torno do candidato do Partido Democrata na corrida à presidência dos EUA. Aqui no Brasil, inclusive, e em vários outros pontos ao redor do globo. Estava lendo alguns jornais on line, agora, e pude perceber essa "torcida" por Barack Obama, o que me fez voltar para este post extra.
Ao que parece, o fato de Obama ser afrodescendente faz as pessoas pensarem que haverá mudanças profundas nas relações EUA-mundo. Doce ilusão... o candidato democrata passou todo o tempo de sua campanha tendo o cuidado de "descolar" sua imagem da possibilidade de oferecer uma mudança radical. Sabe que, para ganhar as eleições, precisa mostrar ao eleitorado WASP[1] que será sinônimo da continuidade. Ainda assim, corre sério risco de sofrer um atentado...
Historicamente, os presidentes do Partido Democrata são ligados aos movimentos sindicais norte-americanos. Isso significa políticas protecionistas e, por conseguinte, endurecimento nas relações comerciais com os países periféricos (including Brazil, my brother!). Neste sentido, um presidente republicano seria "menos pior".
Obama não quer se mostrar como candidato defensor das minorias, embora ninguém despreze votos de cubanos, judeus e portorriquenhos (todos, por sinal, mais simpatizantes dos republicanos que dos democratas). Portanto, nada mudará. A política externa estadunidense continuará a mesma porcaria, e nós continuaremos a ser considerados "quintal" ianque.
A propósito, não torço por ninguém. Escolher entre Obama e Mc Cain é como comparar seis com meia dúzia...

[1] White, Anglo Saxonic and Protestant, ou Branco, Anglo-Saxão e Protestante, o típico representante da classe média conservadora dos EUA.

Faço minhas as palavras dele!

Grande abraço a todas e a todos!

Carlão

[ ATUALIZAÇÃO! ]
Veja o descrito acima, de forma divertida, em
http://charges.uol.com.br/2008/11/06/barrack-obama-black-or-white/

Segunda-feira, 20 de Outubro de 2008

ESRI tem medo do Software Livre !! Ai, que "meda"!!

.
Um pouco de introdução antes do post "pra valer": O termo geoprocessamento denota um conjunto de técnicas e ferramentas computacionais para a produção e análise da informação geográfica. A principal ferramenta desta área é o Sistema de Informação Geográfica (SIG), pra ser bem simples, um banco de dados que gerencia informações junto com a sua localização no espaço (em um mapa). Uma das maiores empresas de software proprietário desta área, senão a maior, se chama ESRI. Do lado do software livre, temos inúmeras opções (TerraView, Qgis, Grass, gvSIG, etc.), entre elas, o gvSIG, um SIG criado e mantido pela "Generalitat Valenciana", um tipo de subdivisão administrativa da Espanha.

Pois bem: existe uma empresa espanhola chamada IVER, que presta assessoria e serviços na área de geoprocessamento. Esta empresa trabalha principalmente com o gvSIG, mas possui alguns clientes que utilizam os softwares proprietários da ESRI. Desta forma, alguns funcionários da IVER se registraram para participar da conferência anual de usuários da ESRI e tiveram suas inscrições confirmadas pela organização.

Qual não foi a surpresa quando, no início do evento, o diretor de Marketing da ESRI "convidou-os" para que abandonassem a conferência. Mais ainda, o "Managing Director" (algo como diretor executivo) da ESRI da Espanha sugeriu a um dos funcionários da IVER que "para falar com clientes, melhor ir para um café, ou mesmo ficar na rua" (veja notícia original aqui e aqui).

O mais "engraçado" é que a ESRI participou de um dos maiores eventos de software livre da área, o FOSS4G 2008, "2008 Free and Open Source Software for Geospatial Conference", com seu gerente de produto Rudolf Otto de Munnik apresentando o trabalho "Padrões abertos (??!) da ESRI e interoperabilidade de TI" (!!!?!).

Pessoal da ESRI, por favor, não temam o software livre... no mundo tem espaço para todos, e eu tenho certeza que, com um pouco de esforço, seus produtos chegarão perto da qualidade técnica apresentada pelas ferramentas similares disponibilizadas como software livre (pelo menos de forma a valer a pena os milhares de dólares que vocês cobram de licenças....)

Abraços a todas e a todos!
Carlão