quarta-feira, 28 de maio de 2008

Até o Dalai (tux) Lama sumiu...

.
Publiquei aqui anteriormente um post falando de um site muito legal, com trolhocentas imagens do TUX em várias fantasias e poses, imagens muito bem elaboradas. Para ilustrar o post, coloquei uma imagem do "dalai-tux-lama", que carregava uma bandeirinha "free Tibet".

Pois bem, olha só que coisa no mínimo esquisita.... estou eu preparando uma palestra sobre software livre, quando me lembrei desta figura para ilustrar o slide sobre as 4 liberdades. Fui no site, e para minha surpresa.... o dalai-tux sumiu!!!

Bem, teorias da conspiração a parte, consegui (re) encontrar o arquivo original (em alta resolução) do dalai-tux na net, neste link (quando acessar, vá para o fim da página, onde você vai encontrar a figura. O link que aparece em cima é o link original, o mesmo que foi exilado...).

Já baixei o arquivo, e vai ficar guardadinho aqui, para o caso dele "sumir" de novo...



link


Namastê!!

Carlão

terça-feira, 27 de maio de 2008

Resposta

.
"

Dwar Ev soldou solenemente a junção final com ouro. A objetiva de uma dúzia de câmeras de televisão se concentrava nele, transmitindo a todo o universo doze enquadramentos diferentes do que estava fazendo.

Endireitou o corpo e acenou com a cabeça para Dwar Reyn, indo depois ocupar a posição prevista, ao lado da chave que completaria o contato quando fosse ligada. E que acionaria, simultaneamente, todos os gigantescos computadores da totalidade dos planetas habitados do universo inteiro - noventa e seis bilhões de planetas - ao supercircuito que, por sua vez, ligaria todos eles a uma supercalculadora, máquina cibernética capaz de combinar o conhecimento integral de todas as galáxias.

Dwar Reyn dirigiu palavras aos trilhões de telespectadores. Depois de um momento de silêncio, deu a ordem:

- Agora, Dwar Ev!

Dwar Ev ligou a chave. Ouviu-se um zumbido fortíssimo, o surto de energia proveniente de noventa e seis bilhões de planetas. As luzes se acenderam e apagaram por todo o painel de quilômetros de extensão.

Dwar Ev recuou um passo e respirou fundo.

- A honra de formular a primeira pergunta é sua, Dwar Reyn.

- Obrigado - dissse dwar Reyn - Será uma pergunta que nenhuma máquina cibernética foi capaz de responder até hoje.

Virou-se para o computador.

- Deus existe?

A voz tonitruante respondeu sem hesitação, sem se ouvir o estalo de um único relé:

- Sim, agora Deus existe.

O rosto de Dwar Ev ficou tomado de súbito pavor. Saltou para desligar a chave de novo. Um raio fulminante, caído de um céu sem nuvens, o acertou em cheio e deixou a chave ligada para sempre.

"

BROWN, Fredric. "Resposta", in WARRICK, P.S. e GREENBERG, M.W. (org.), Máquinas que pensam - Obras-primas da Ficção Científica. Porto Alegre, L&PM, 1985. pp.364-65.

Consultado em: TENÓRIO, R.M. Computadores de Papel: máquinas abstratas para um ensino concreto. São Paulo: Cortez, 1991.

sábado, 24 de maio de 2008

Informação científica livre

.
Da série "imagine a cena": Você está trabalhando, ou na sua tese, ou na sua dissertação, ou na monografia da especialização, ou mesmo no dia-a-dia da sua pesquisa. Você vai no santo oráculo, vulgo "google", digita os termos da sua pesquisa, e aí esbarra naquele artigo científico maravilhoso (pelo menos julgando pelo título...). Clica todo contente.... e é levado para um site comercial, onde o artigo que você quer (de umas, sei lá, 10 páginas?) está A VENDA por módicos 30 ou 40 DÓLARES!!

Depois que passar a raiva, o que fazer? Sacar o cartão de crédito?

Bem, siga essa pequeniníssima dica, comigo está funcionando 95% das vezes. Pegue o título inteiro do artigo, volte a São Google, e pesquise o título, ENTRE ASPAS, assim ó:

"Geography matters: Kohonen classification of determinants of foreign direct investment in transition economies"

Garanto que você encontra numas das 3 primeiras páginas do resultado do Google ....

Salve, imprima, leia, e saboreie mais esse momento de vingança!! :-)

A propósito, aconteceu comigo uma coisa engraçada com relação a isso: Estava eu pesquisando um tema, quando encontrei um artigo que estava, como na maioria das vezes, a venda. Encontrei também o mesmo artigo citado no site da HP americana, onde dizia: "o artigo não está disponível por motivo de copyright"... Continuando a pesquisar, tive a alegria de encontrar o PDF do mesmo, inteirinho, no site da HP... da Índia!!!

Pra finalizar, deixo uma questão para reflexão: Será que Newton teve que pagar 40 dólares para poder subir nos ombros de gigantes ?

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

segunda-feira, 19 de maio de 2008

Polícia federal caçando criminosos perigosíssimos!! Quem faz legenda para seriados...

.
Foi noticiado pela Folha de São Paulo que a Polícia Federal vai realizar uma "caça" intensa contra sites de legendas de seriados.

Neste link, tem um post bem interessante sobre isso, do blog da Sandra Carvalho. Só quero enfatizar um parágrafo aqui (o resto ' cês lê no original):

"Bem, a luta contra o crime organizado, os traficantes e os corruptos deve estar indo muito bem, para a PF ter tempo de se voltar contra redes online de jovens tradutores que se unem para legendar em horas seriados baixados da internet porque demoram séculos para passar no Brasil."

Só mais umazinha:

"O que não é realista é misturar essa garotada que traduz seriados e distribui legendas gratuitamente com grupos criminosos que exploram comercialmente, aos milhões, cópias ilegais de grandes sucessos de Hollywood."

Abraços!

Carlão

quarta-feira, 14 de maio de 2008

Motivação...

.
Esta é a garrafa de água que me acompanha nos estudos...



É possível motivação melhor ?? :-) :-) :-)

Abraços!!
Carlão

terça-feira, 13 de maio de 2008

Delírios de quem está no meio-para-o-fim da tese...

.
AH! OS RELÓGIOS

Amigos, não consultem os relógios
quando um dia eu me for de vossas vidas
em seus fúteis problemas tão perdidas
que até parecem mais uns necrológios...

Porque o tempo é uma invenção da morte:
não o conhece a vida - a verdadeira -
em que basta um momento de poesia
para nos dar a eternidade inteira.

Inteira, sim, porque essa vida eterna
somente por si mesma é dividida:
não cabe, a cada qual, uma porção.

E os Anjos entreolham-se espantados
quando alguém - ao voltar a si da vida -
acaso lhes indaga que horas são...
Mario Quintana - A Cor do Invisível

Mais aqui.

Abraços rápidos, o tempo urge!!! :-)
Carlão

segunda-feira, 12 de maio de 2008

Folders no Gmail

.
Você já se perguntou alguma vez, apurrinhado, porque o Gmail não tem folders para categorizar as mensagens que você quer guardar?

Aí procurou no help, onde eles dizem que "não precisa de folders.... você pode pesquisar nas mensagens e encontrar a mensagem desejada"... ok, ok.... Mas eu quero folders, PÔ!!

Bem, a boa notícia é que.... o Gmail tem folders! Tudo bem, não são folders reais, mas o efeito final é o mesmo!

Simples, onde você criaria folders, crie LABELS (ou provavelmente "etiquetas", não sei bem, meu gmail está em inglês. Cês vê aí!). Crie um label para cada "folder" que você adoraria ter.... O próximo passo, obviamente, é associar a cada mensagem o seu label correspondente.

Aí você vai dizer: "mas elas vão ficar todas no meu inbox, misturadas!!" Calma. Agora vem o pulo do gato.... use o recurso "archive"!! Elas vão sair do seu inbox, e ficar (ainda misturadas) num itenzinho que talvez muitos não tenham percebido no menu da esquerda, chamado "all mail".

Aí você, já impaciente comigo, faz a pergunta final: "mas elas vão continuar misturadas no all mail!!" Ao que eu respondo, você não vai acessar elas pelo all mail, mas sim pelo LABEL que você criou. Basta clicar no nome do label, e o gmail vai mostrar apenas as mensagens classificadas sob aquele label!!

Finja que é um folder, e seja feliz.... :-)

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

sábado, 10 de maio de 2008

"Hello World", programas .... e classes de problemas!

.
Todo programador conhece o programa do tipo "hello world!". É um tipo de programa que ilustra a forma mais simples, numa linguagem de programação específica, de mostrar na tela a frase "Hello World!". Por exemplo, em C:

int main(void)
{
printf("Hello, World!\n");
}

Qual a utilidade de um programa tão xexelento? Simples, sua execução correta prova que o programador (geralmente aprendiz) consegue realizar os passos mínimos necessários para desenvolver qualquer programa, numa linguagem de programação específica: editar um arquivo texto com o código-fonte do programa, compilar este arquivo, linkeditar as bibliotecas e finalmente executar o programa.

Isso serve pra qualquer linguagem: Java, C++, Pascal, Fortran, Cobol, Basic, PL/1, PHP, Python... até Assembler! (clique aqui para uma coleção completa)

Mas não é só relativamente a linguagens de programação que encontramos programas "hello world"... Tenho encontrado na Internet uma referência a programas desse tipo relativos a uma classe de problemas específicos! A analogia seria "o programa mais básico, que resolve a forma mais básica do problema em questão".

Dois exemplos que encontrei:

- "hello world" para redes neurais: treinar uma rede para aprender a porta lógica XOR;

- "hello world" para redes neurais auto-organizáveis (Kohonen): agrupar por similaridade um conjunto de cores aleatórias.

Você conhece outros "hello world" aplicados a problemas específicos? Se sim, deixe seu comentário, e vamos atualizar esta lista!

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

PS: essa história toda de "hello world" me lembrou de uma piadinha.... :-)

Como os programadores matam um dragão?

Java:Chega, encontra o dragao. Desenvolve um framework para aniquilamento de dragoes em multiplas camadas. Escreve varios artigos sobre o framework mas nao mata o dragao.

.Net:Chega, olha a ideia do Javanes e a copia, tenta matar o dragao, mas e comido pelo reptil.

C:Chega, olha para o dragao com olhar de desprezo, puxa seu canivete, degola o dragao. Encontra a princesa, mas a ignora para ver os ultimos checkins no cvs do kernel do linux

C++:Cria um canivete basico e vai juntando funcionalidades ate ter uma espada complexa que apenas ele consegue entender ... Mata o dragao mas trava no meio da ponte por causa dos memory leaks

COBOL:Chega, olha o dragao, pensa que ta velho demais para conseguir matar um bicho daquele tamanho e pegar a princesa e, entao, vai embora.

Pascal:Se prepara durante 10 anos para criar um sistema de aniquilamento de dragao...Chegando la descobre que o programa so' aceita lagartixas como entrada.

VB:Monta uma arma de destruicao de dragoes a partir de varios componentes, parte pro pau, pra cima do dragao e, na hora H, descobre que a espada so funciona durante noites chuvosas...

PL/SQL:Coleta dados de outros matadores de dragao, cria tabelas com N relacionamentos complexidade ternaria, dados em 3 dimensoes, OLAP, demora 15 anos para processar a informacao. Enquanto isso a princesa virou lesbica.

Ruby:Chega com uma p*t* fama, falando que e o melhor faz tudo, quando vai enfrentar o dragao mostra um videozinho dele matando um dragao ... O dragao come ele de tedio.

Smalltalk:Chega, analisa o dragao e a princesa, vira as costas e vai embora, pois eles sao muito inferiores.

Shell:Cria uma arma poderosa para matar os dragoes, mas, na hora H, nao se lembra como usa-la.

Shell(2):O cara chega no dragao com um script de 2 linhas que mata, corta, stripa, empala, pica em pedacinhos e empalha o bicho, mas na hora q ele roda o script aumenta, engorda, enfurece, e coloca alcool no fogo do dragao.

ASSEMBLY:Acha que ta fazendo o mais certo e enxuto, porem troca um A por D, mata a princesa e transa com o dragao

Fortran:Chega desenvolve uma solucao com 45000 linhas de codigo, mata o dragao vai ao encontro da princesa ... mas esta o chama de tiozinho e sai correndo atras do programador java que era elegante e ficou rico.

FOX PRO:Desenvolve um sistema para matar o dragao, por fora e bonitinho e funciona, mas por dentro esta tudo remendado, quando ele vai executar o aniquilador de dragoes lembra que esqueceu de indexar os DBF.

ANALISTA DE PROCESSOS:Chega ao dragao com duas toneladas de documentacao desenvolvida sobre o processo de se matar um dragao generico, desenvolve um fluxograma super complexo para libertar a princesa e se casar com ela, convence o dragao que aquilo vai ser bom pra ele, e que nao sera doloroso. Ao executar o processo ele estima o esforco e o tamanho do estrago que isso vai causar, a assinatura do papa, do buda e do Raul Seixas para o plano, e entao compra 2 bombas nucleares, 45 canhoes, 1 porta avioes, contrata 300 homens armados ate os dentes, quando na verdade necessitaria apenas da espada que estava na sua mao o tempo todo.

CLIPPER:Monta uma rotina que carrega um array de codeblocks para insultar o dragao, cantar a princesa, carregar a espada para memoria, moer o dragao, limpar a sujeira, lascar leite condensado com morangos na princesa gostosa, transar com aprincesa, tomar banho, ligar o carro, colocar gasolina e voltar para casa. Na hora de rodar recebe um "Bound Error: Array Access" e o dragao come ele com farinha.

sexta-feira, 9 de maio de 2008

Gerando uma saída gráfica... sem complicações!

.
Imagine a cena: Você está estudando algum algoritmo, por exemplo o método de aprendizado de alguma rede neural. Resolveu programar o dito cujo na sua linguagem preferida, pra treinar e ver "na real" os resultados. Lá pelas tantas deu aquela vontade de gerar uma saída gráfica...

[ modo naftalina ON ]
Leitores com menos de 30 anos não precisam ler esse trecho - Nessa hora deu aquela saudade do velho BASIC do TK2000 ( clone do Apple ][ ), onde comandos como HGR, HCOLOR, HPLOT e HLIN resolviam sua vida? :-)
[ modo naftalina OFF ]

Soluções possíveis:

- usar um toolkit gráfico, tipo GTK, QT, WxWidgets... porém você não tem tempo pra isso!

- usar uma biblioteca gráfica mais simples: futucando na net, encontrei a EZXDISP. Me pareceu bem facinha. Mas... mesmo assim, não estava afim de gastar tempo estudando outra API.

Sobrou então....

- gerar um arquivo no formato HPGL! O formato de saída gráfica HPGL foi inventado para controlar as plotters da HP, nos idos de lá-vai-fumaça. O legal deste formato de arquivo é que ele é do tipo texto, ou seja, você não precisará de nenhuma biblioteca especial no seu programa para gerar a saída gráfica... basta gerar um arquivo texto, e inserir dentro dele alguns comandos de desenho.

O pequeno problema desta solução é que você vai ter que pensar como um ploter, ou seja, pra desenhar uma linha reta você vai precisar:

- mover a caneta para a posição inicial
- abaixar a caneta
- mover a caneta para a posição final
- levantar a caneta

Vejam um pequeno "hello world" em HPGL (arquivo extensão .plt):

IN;
inicializar a trapizonga

IP;
define o ponto de origem do desenho (0,0)
SC0,100,0,100;
define a escala do desenho
SP1;
select pen 1
PU0,0;
move a caneta para o ponto inicial
PD100,0,100,100,0,100,0,0;
abaixar a caneta ("Pen Down") e mover para varios locais, desenhando uma caixa
PU50,50;
levantar a caneta ("Pen Up") e mover para 50,50
CI25;
desenha um circulo de raio 25
SS;
seleciona a fonte padrao
DT*,1;
define o asteristico como limitador de texto
PU20,80;
levanta a caneta e move para 20,80
LBHello World*;
escreve Hello World

Faça o teste! copie o texto acima em um arquivo com extensão .plt.
Obviamente, os comentários não fazem parte do arquivo... :-)


Como visualizar o resultado? Infelizmente o visualizador de imagens padrão do Ubuntu/Gnome não entende este formato diretamente. Vamos precisar então converter para JPG ou PNG. Encontrei no repositório o programa HP2XX. Basta então, no seu programa em C, fazer uma chamada a este programa via system:
system("hp2xx -m jpg telecoteco.plt");
... para gerar o arquivo "telecoteco.jpg" , com a saida gráfica do seu programa.

Depois disso tudo, talvez você esteja pensando... "mas, mesmo assim terei que aprender como funcionam alguns comandos do HPGL ..."

É verdade .... tem sim .... mas você não está querendo moleza demais não?? :-)

Abraços!
Carlão

quinta-feira, 8 de maio de 2008

Governador Jaques Wagner dá um passo atrás na política de inclusão digital da Bahia

.
Vou ter que abrir nova exceção, publicando aqui mais um post de outro blog, dada a importância do tema e principalmente a qualidade do texto!

Por favor, visitem o post original aqui, de autoria de Emerson Luis.

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

Infelizmente o governador Jaques Wagner está indo na contramão das políticas de inclusão digital praticadas no Brasil.

(No) dia 23/03, o governador assina acordo com o presidente da Microsoft Brasil, Michel Levy, para parceria em projetos de inclusão digital na Bahia.

Isto significa que os telecentros, atualmente montados com Linux com a distro chamda de Berimbau, será substituída pelo Windows com o pacote Office e outros aplicativos proprietários.

Ou seja, o governador a partir de agora opta pelo “adestramento” dos usuários ao invés de uma capacitação que possibilite a quem quiser estudar e melhorar o código.

Um estudante não poderá realizar um curso de programação em plataforma, pq o código do Windows é fechado, e consequentemente não terá chance para uma vaga no mercado de trabalho como programador se ele desejar. O governador não dá ao usuário o direito de escolha para sua vida.

Engana-se o governador se pensa que está dando uma ótima oportunidade aos seus eleitores. O governador está é criando mais mercado de consumidores para a Microsoft, pois estes usuários hoje forçarão as empresas a comprarem mais licenças, alimentando a roda da baixa capacitação para as equipes internas de TI das empresas e órgãos públicos (grifo do Carlão).

Vejam vcs que no governo anterior, descendente direto do carlismo, a opção foi por plataforma aberta.

Num governo de esquerda, as decisões se voltam para o conservadorismo da escolha de ferramentas de TI.

O secretário de Ciência e Tecnologia do Estado, Ildes Ferreira, ou apoiou ou foi atropelado pela decisão do governador, que caiu no conto do vigário da “excelência” da Microsoft. Caiu no conto do Q de qualidade.

O erro deverá custar caro ao governador ao longo dos anos, quando a curva de adoção de plataformas, que já está se modificando, mostrar que a opção do mercado é cada vez mais pelo domínio do código e compartilhamento.

Governador, uma pena sua decisão. A comunidade SL pelo Brasil só tem a lamentar.

Histórica!

.
Não quero ficar falando de futebol neste blog, é uma conversa sem fim, são paixões de um lado ou de outro, temos outras coisas mais interessantes pra compartilhar.

Mas... como bom Vascaíno que sou, não posso deixar de registrar essa pequena manchete de jornal que tive a alegria de descobrir hoje ... :-)

Extra! Extra! Extra!
Flamengo imita Ronaldo e leva três nas costas!


Como diz um aluno muito amigo meu:
"Huahuahuahuahuahuahuahuahua!!!"
(diz em outras situações, porque ele é flamenguista, não deve estar rindo nada agora... :-) )

Abraços!
Carlão

terça-feira, 6 de maio de 2008

Rastreio de encomendas postadas nos Estados Unidos (USPS).... no sistema de rastreio dos CORREIOS!!

.
Confesso que essa me impressionou!!

Um amigo dos EUA me enviou um material pelos "correios" deles (USPS). Me informou o código de rastreio, que pode ser usado no site da USPS. Vejam na prática, acessem www.usps.com, e no canto superior direito, em "track & confirm", digitem o código CP246071675US.
[UPDATE em 1.agosto.2008: os dados já sairam do sistema. Sorry....]

Como voces puderam ver, o sistema mostra o caminho até chegar no Brasil... e a partir daí, nada mais. Consultei o suporte da USPS, mas me informaram que nada poderiam me dizer, só ao remetente original nos EUA.

Meio sem esperanças, consultei o suporte do nosso bom e velho CORREIOS. Qual não foi a surpresa quando descobri que o mesmo código pode ser utilizado no sistema de rastreio nacional!! Após o item chegar ao Brasil, toda sua história passa a constar do sistema dos CORREIOS.

Façam o teste novamente, acessem www. correios.com.br, e no canto inferior esquerdo, digitem no campo "rastreamento" o mesmo código indicado acima. Mas atenção!! Deixem marcado NACIONAL!

Tá vindo de Feira de Santana para Ilhéus... já posso dormir tranquilo!! :-)

Abraços a todas e a todos!

Carlão

sábado, 3 de maio de 2008

Dica: compilação otimizada no GCC

.
Estou testando a NetBeans IDE, trabalhando com um projeto de redes neurais em C pro doutorado. Esbarrei no parâmetro "-O2" (letra Ó maiúscula), que seria para forçar o gcc a fazer uma otimização no código compilado. Resolvi então medir o tempo de processamento sem e com este parâmetro.

Minha rede neural tem 3 camadas (incluindo a de entrada), 2 neuronios de entrada, 2 na camada escondida e 1 de saida. Botei a bicha pra aprender o velho e bom XOR com backpropagation, num total de 200000 épocas de treinamento.

Coloquei o seguinte código respectivamente no início e no fim do main() para calcular o tempo de processamento:

struct timeb ini, fim;
ftime(&ini);

.... todo o processamento ...

ftime(&fim);
printf("\n%f\n", ((double) fim.time + ((double) fim.millitm * 0.001)) - ((double) ini.time + ((double) ini.millitm * 0.001)));

Compilei o programa sem o parâmetro de otimização:

gcc -o rna rnapi2.c -lm

... e ele levou 48.220000 segundos de execução.

Já compilando com o parâmetro de otimização,

gcc -O2 -o rna rnapi2.c -lm

... fantásticos 20.003000 !!

Um segundo teste gerou os tempos 54 contra 19. Aliás, dá pra notar a velocidade diferente na própria exibição de mensagens no terminal (meu programa exibe, a cada época, o erro médio do conjunto de treinamento, ou seja, joga 200000 linhas na tela...).

Vou estudar mais um pouco esse parâmetro, ver as limitações em termos de arquitetura de processadores e outros detalhes. Nesse meio tempo, comentários dos experts no assunto são bem vindos!!

Abraços!
Carlão

sexta-feira, 2 de maio de 2008

Campanha contra o uso de software proprietário pelo governo da Bahia

.
Peço licença ao André Gondim para reproduzir aqui um post do seu Blog, para contribuir com a disseminação desta campanha.

Também gostaria de adicionar um fato interessante... a questão do Software Livre é defendida pela "Juventude do PT", como pode se verificar no documento "TESE AO I CONGRESSO DA JUVENTUDE DO PT" disponível em...

http://www.jpt.org.br/publicacoes/upload/fora_ordem.doc

Em especial, na página 5, item 14:

" 14. Nosso programa de inclusão digital deve ser de maneira muito dura contrário ao uso dos softwares privados. A defesa do software livre deve estar na pauta do dia de nosso programa. "

Abraços!
Carlão

Campanha "Wagner diga não as drogas", texto abaixo encontra-se em Techfree.

Como é de conhecimento de muitos da comunidade de Software Livre do Brasil, o governandor da Bahia , Jaques Wagner, assinou um protocolo de intenções com a Microsoft. De acordo com o Diario Oficial, esse protocolo visa a fomentação de cursos de inglês do programa “English for all” e também a instalação de telecentros com licenças que poderiam ser doadas ou vendidas por “baixo” custo.

Atentem para o fato do protocolo não ter sido divulgado em momento algum e que não foi dado nenhum detalhe de como esses projetos irão ser implantados.

Uma coisa é fato, o dinheiro publico será usado para implantar algo que já existe no estado. O projeto Berimbau Livre, que customizou a distribuição Debian BR CDD (Atual BrDesktop) para que então tivessem como resultado o Berimbau Linux que é utilizado amplamente nos telecentros de inúmeros municipios da Bahia.

A comunidade de Software Livre da Bahia está se manifestando contra a esse tipo de ação e irá cobrar respostas do nosso governador sobre o acontecido.

Nesse link está sendo tratado as informações sobre a reação do PSL-BA contra esse ato. E foi lançado a campanha “Wagner, diga não às drogas!” para que sirva de alerta para o nosso governador não afunde anos de trabalho dos projetos de Software Livre da Bahia criando uma dependência desnecessária na nossa infraestrutura.

Ao pessoal da comunidade Software Livre de todo Brasil eu solicito ajuda para que essa campanha seja divulgada nacionalmente.