quarta-feira, 5 de agosto de 2009

Textos do Prof. Nelson de Castro Senra

.
Reúno neste post alguns textos do Prof. Nelson de Castro Senra.

O Prof. Nelson é Doutor em Ciência da Informação pela UFRJ/Eco (Escola de Comunicação) e CNPq/Ibict (Instituto Brasileiro de Informação em Ciência e Tecnologia), com a tese "A Coordenação da Estatística Nacional. O equilíbrio entre o desejável e o possível". É Mestre em Economia pela FGV/EPGE (Escola de Pós-Graduação em Economia, sob a direção do Profº Mário Henrique Simonsen), com a dissertação "O fenômeno sazonal na construção de índices de preços ao consumidor", e economista pela Universidade Cândido Mendes, Faculdade de Ciências Políticas e Econômicas do Rio de Janeiro.

Fui aluno do Prof. Nelson nos anos de 1999 e 2000, quando participei do mestrado em Estudos Populacionais e Pesquisas Sociais (linha de Produção e Análise da Informação Geográfica) da Escola Nacional de Ciências Estatísticas (ENCE/IBGE, Rio de Janeiro). Das disciplinas que tive a honra e o prazer de cursar com o Prof. Nelson, destaco a de "Metodologia da Pesquisa Social", onde através de um conteúdo bastante diversificado (aulas expositivas, debates, filmes, e pequenos textos para reflexão) pude ter meu primeiro contato com essa forma específica de ver e (tentar) entender o mundo, chamada "ciência".

Torno público aqui o agradecimento que consta de minha dissertação de mestrado:

Aos professores do curso de Mestrado da ENCE, pela dedicação e orientação, e em especial ao professor Nelson Senra, quem primeiro me ensinou o que é verdadeiramente “fazer ciência”, de uma forma que é impossível esquecer.

Seguem os links para os textos:

1999

Informação Estatística: política, regulação, coordenação.
Ciência da Informação, Brasília, vol. 28, n. 2, 1999.

Garantia de sigilo, a deontologia do Estaticista: sua conduta ético-moral.
Rio de Janeiro, IBGE, texto para discussão, maio 1999. 8 p.

Política de Informação (Quantitativa): concepção, formulação, aplicação.
Rio de Janeiro, IBGE, monografia para discussão, abril 1999. 54 p.

1998

A coordenação, a argumentação e a comunicação das estatísticas, vértices de um mesmo triângulo.
São Paulo em Perspectiva, São Paulo, v. 12, n. 4, p. 92-98, out./dez. 98.

Os sistemas de informações estatísticas no limiar do terceiro milênio: o imperativo da coordenação. (O caso brasileiro).
2ª versão. CNPD - Comissão Nacional de População e Desenvolvimento, jan./fev. 98. 48 p.

As Sociedades Científicas e a Informação Estatística. O SBPC/GT-Informação, (des)encontro marcado entre usuários e produtores?
Rev. ANPEC, Brasília, n. 4, p. 199-211, fev. 98.

1997

Um olhar sobre os anuários estatísticos.
Ciência da Informação, Brasília, v. 26, n. 1, p. 7-11, jan./abr. 97.

1996

Governamentalidade, a invenção política das estatísticas.
Informare, Rio de Janeiro, v. 2, n. 1, p. 88-95, jan./jun. 96.
[Apresentado no I Encontro de Pesquisa da Pós-Graduação em Ciência da Informação, CNPq/Ibict e UFRJ/Eco, Rio de Janeiro, 9 ago. 95].

Cálculo econômico e a arte de governar ou A relação entre a contabilidade e a estatística.
Informare, Rio de Janeiro, v. 2, n. 2, p. 85-91, jan./jun. 96.
[Apresentado no Colóquio Organização do conhecimento e representação da informação: enfoques e perspectivas, CNPq/Ibict e UFRJ/ Eco, Rio de Janeiro, 27 set. 96]

1994

Por uma disseminação democrática de informações.
São Paulo em Perspectiva, São Paulo, v. 8, n. 4, p. 40-45, out./dez. 94.

1993

A Informação e a Formação do Mercosul.
Network. Cândido Mendes, v. 3, n. 2, abr./jun. 93.

.

Earth Song, Michael Jackson

.
Estava ouvindo esta música (que gosto muito) quando me veio a idéia deste post. A princípio pensei que seria um daqueles posts "off topic", nada a ver com computação. Só que fui me dando conta que tem TUDO a ver com computação!

Estou falando para os "nerds" como eu: As vezes, no nosso afã de tecnologia e inovação, esquecemos uma coisinha simples e básica: tudo que usamos de tecnologia, memórias maiores, processadores mais rápidos, novas telas maiores e brilhantes, tudo isto tem um impacto no meio ambiente. Minha esposa usa uma frase bastante interessante, e concordo com ela: Quando ela vê um exemplo entre tantas "inovações tecnológicas" que se inventam diariamente (como esta aqui, por exemplo), ela diz que "o planeta não vai aguentar!".

Estive no FISL mês passado, e assisti uma palestra sobre lixo tecnológico. O palestrante falou algo que me deixou estarrecido: para produzir UMA simples plaquinha de memória de 30 pinos (sim, aquela velhona, de 32Mb, que ninguém mais usa), que pesa no máximo 2 gramas, foram gastos 1500 gramas de material retirado do meio ambiente (matéria-prima, energia, etc) !

Nós, do mundo do Software Livre, podemos fazer a diferença nesta história, contribuindo para divulgar a idéia de reaproveitamento de máquinas antigas, seja como terminais gráficos "burros", seja com distribuições GNU/Linux (ou *BSD, ou xyz, ou ...) leves.

Inovação tecnológica sim, mas com responsabilidade. Cuidemos melhor de nossa Deusa-Mãe GAIA.

Mas afinal de contas, de que música estou falando? Desta aqui embaixo ("Earth Song", Michael Jackson). Assista, e se rolar uma lágrima (como acontece comigo), não se envergonhe. Torça comigo para que o final poético apresentado no clipe seja possível algum dia.



Abraços a todas e a todos!

Carlão

quarta-feira, 29 de julho de 2009

Cylons: aqui e agora!

.
Deu no Jornal da Ciência (JC e-mail) 3814, de 28 de Julho de 2009, a partir de matéria publicada em "O Globo".


19. Pesadelo futurista

Especialistas em inteligência artificial discutem limitar tecnologia

Um robô capaz de abrir portas e encontrar tomadas por conta própria para se recarregar. Vírus de computador que ninguém consegue deter. Pequenas aeronaves não tripuladas que, ainda que operadas por controle remoto, chegam muito perto de uma máquina com autonomia para matar.

Impressionados e alarmados pelos avanços na inteligência artificial, um grupo de cientistas está debatendo se deve haver limites para avanços tecnológicos que podem levar a uma perda do controle humano sobre sistemas computacionais cada vez mais usados pela sociedade, seja em guerras ou num simples bate-papo ao telefone.

A preocupação é que avanços ainda maiores possam criar graves problemas sociais com consequências perigosas. Como exemplos, os cientistas citam várias tecnologias — tão diversas quanto sistemas médicos experimentais que interagem com pacientes para simular empatia e vírus de computador que desafiam as técnicas de extermínio e já teriam atingido o estágio “inseto” da inteligência mecânica.

Embora os cientistas concordem que ainda há um longo caminho a percorrer até Hal — o computador que assume o comando da nave em “2001: uma odisseia no espaço” —, eles acreditam que é legítima a preocupação de que o progresso tecnológico possa transformar o mercado de trabalho ao acabar com um grande número de empregos, bem como forçar seres humanos a viverem com um crescente número de máquinas.

Robôs capazes de matar já existem

Reunidos numa conferência em Asilomar, na Califórnia, cientistas especializados em computadores, inteligência artificial e robôs descartam a possibilidade de uma superinteligência altamente centralizada ou mesmo de que algum tipo de inteligência possa emergir espontaneamente na internet. Mas eles concordam que robôs capazes de matar de forma autômata já existem.

Os especialistas centraram atenção especial na ameaça de que criminosos poderiam explorar sistemas de inteligência artificial com objetivos espúrios. O que um criminoso poderia fazer com um sistema capaz de criar vozes similares às humanas? O que aconteceria se a tecnologia de inteligência artificial for usada para drenar informações pessoais de “smart” fones? Os pesquisadores também discutiram possíveis ameaças ao mercado de trabalho, representadas por carros que dispensam motoristas e serviços de robô em casa.

A conferência foi organizada pela Associação para o Avanço da Inteligência Artificial, que, ao escolher Asilomar como lugar das discussões, evocou, propositalmente um evento histórico da ciência. Em 1975, os maiores biólogos do mundo se reuniram em Asilomar para discutir a possibilidade de transformar formas de vida por meio da troca de material genético entre organismos e estabelecer parâmetros para tais experiências. Era o início da engenharia genética.

O encontro sobre o futuro da inteligência artificial foi organizado por Eric Horvitz, um pesquisador da Microsoft que, atualmente, é presidente da associação. Para ele, os cientistas computacionais devem estar aptos a debater noções de máquinas superinteligentes e de sistemas de inteligência artificial que fogem ao controle.

A ideia de uma “explosão de inteligência”, na qual máquinas projetariam outras máquinas ainda mais inteligentes foi proposta pelo matemático I.J. Good em 1965. Anos depois, em palestras e romances de ficção científica, o cientista Vernon Vinge popularizou a noção de que os seres humanos seriam capazes de criar uma máquina mais inteligente do que o homem, causando transformações tão rápidas que levariam ao “fim da era humana”.

A ideia, explorada no cinema e na literatura, é vista como plausível e inquietante, por cientistas como William Joy, co-fundador da Sun Microsystems. Outros especialistas em tecnologia, sobretudo Raymond Kurzwell, veem com entusiasmo o advento das máquinas inteligentes, dizendo que elas trarão grandes avanços para o aumento da expectativa de vida e a prosperidade em geral.

— Acredito que, cedo ou tarde, teremos que fazer algum tipo de declaração em resposta ao crescimento do número de pessoas muito preocupadas com o surgimento de máquinas inteligentes — afirmou Horvitz

Parâmetros serão divulgados

Um relatório sobre a conferência, que aconteceu a portas fechadas, será divulgado no fim do ano. O relatório abordará a possibilidade de “perda de controle humano de inteligências baseadas em computadores”. Também abordará, segundo Horvitz , questão éticas, legais e socioeconômicas, bem como as prováveis mudanças da relação entre seres humanos e computadores. Como será, por exemplo, se relacionar com uma máquina tão ou mais inteligente quanto seu parceiro?
(John Markoff, do The New York Times)
(O Globo, 28/7)


Chamem a BattleStar Galactica!! :-)

Abraços!
Carlão

terça-feira, 28 de julho de 2009

Rede parando de funcionar no VirtualBox, após mudança de máquina virtual

.
Estava aqui fazendo algumas experiências com o Ubuntu 8.10 no VirtualBox, e certa hora, quando recuperei um HD virtual gerado em um passo anterior (para seguir uma nova linha de experiências) a placa de rede (eth0) simplesmente sumiu.

O comando...

sudo /etc/init.d/networking restart

... gerava a seguinte mensagem de erro:

error while getting interface flags: no such device

O que aconteceu foi o seguinte: Primeiro, criei uma máquina virtual no VirtualBox, e nesta hora foi criada automaticamente uma placa de rede virtual com um certo número MAC (por exemplo, "x"). Instalei o Ubuntu, e ao final, fiz uma cópia de segurança do HD virtual (arquivo .vdi).

Na continuação dos meus testes, resolvi deletar a máquina virtual anteriormente criada, e criar uma nova, cuja placa de rede virtual recebeu um número MAC diferente (por exemplo, "y"). Recuperei o HD virtual antigo para usar nesta nova máquina virtual, e pronto, aí está o problema: O ubuntu instalado no HD virtual faz referência a uma placa de rede com número MAC diferente do que está na máquina virtual recém criada.

Para resolver:

Edite o arquivo...

/etc/udev/rules.d/70-persistent-net.rules

No meu caso, o arquivo continha 2 entradas: uma relativa a eth0, com número MAC errado (o número MAC da placa de rede da primeira máquina virtual), e a outra relativa a eth1, com o número MAC correto (ou seja, ele achou que a placa de rede com outro número MAC era, na verdade, OUTRA placa de rede).

Estava mais ou menos assim:


# This file was...
# program run ...
#
# You can...

# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="28:04:37:aa:bd:02", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:49:0c:98", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"



Apaguei a primeira entrada (eth0 com número MAC errado), e editei a segunda entrada (com número MAC correto), trocando eth1 para eth0.

Ficou assim:


# This file was...
# program run ...
#
# You can...

# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:49:0c:98", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"


Após salvar, execute:

sudo /etc/init.d/udev restart

Depois, execute:

sudo /etc/init.d/networking restart

... e seja feliz novamente! :-)

Abraços!
Carlão

Referências:
http://seekerpt.blogspot.com/2009/05/eth0-error-while-getting-interface.html
http://ubuntuforums.org/showthread.php?t=834225

quinta-feira, 23 de julho de 2009

Jon "Maddog" Hall em Ilhéus

.
No dia 1.junho.2009 tivemos a honra de receber "Maddog" aqui em Ilhéus, para uma palestra sobre a importância do Software Livre em atividades educacionais e de pesquisa.

Baixe aqui os slides da apresentação.

Baixe o áudio da palestra (com tradução "quase" simultânea...)

Áudio - parte 1
Áudio - parte 2


Título:
Free and open source in education: Software that teaches you twice


Preparando...



Ainda preparando...



Apresentando o palestrante e o Isamar Maia, que fez a gentileza de conduzir uma tradução "quase simultânea" :-)



Palestra



Cerveja com alunos no final!


Obrigado, Maddog!!

Abraços! Carlão

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.... :-)