Tag Archive: computação

Modelo de build-system usando autotools

Além do previamente mencionado CODING, a equipe da Mandriva Conectiva em Manaus também desenvolveu um modelo de build-system baseado em autotools (autoconf, automake, libtool) que acredito ser muito útil. Ele também estava destinado ao esquecimento, mas resolvi ressuscitá-lo e disponibilizá-lo sob a GNU-GPL.

Pra quem o conhece, a parte principal continua a mesma. Eu adicionei algumas funcionalidades (como a geração de bibliotecas, plugins, suporte a pthread) e um pouco de documentação.

Algumas características desse modelo:

  • Recursos modernos do autoconf, automake e libtool;
  • Modular, limpo e facilmente extensível;
  • Suporte a unit-tests em C usando o check;
  • Suporte a code-coverage dos unit-tests com lcov;
  • Suporte a pkgconfig;
  • Modo debug, flags de warnings do gcc, electric-fence, pthreads;
  • make distcheck limpo e funcional;
  • Integrado com doxygen;

Escrevi um pequeno README sobre o uso do modelo que deve ser suficiente para quem já tem os conhecimentos básicos e encontrei um extenso tutorial que deve ser útil até para quem já é experiente. De qualquer modo, vale o bom e velho conselho: “Use the source, Luke”, ele é relativamente intuitivo.

O código está disponível em meu repositório SVN git: http://git.ademar.org/, e deve ser atualizado conforme as necessidades ou contribuições sejam feitas.

BTW, o grosso do trabalho inicial foi feito ainda em 2005 e paradoxalmente, o autor original é o Leonardo Boiko (paradoxalmente porque quem conhece autotools e o leoboiko sabe que o primeiro é conhecido pelo número de gambiarras/xunxos e o segundo pelo às vezes absurdo perfeccionismo). Acho que quando ele ver esse modelo vai querer me matar pelas novas “gambiarras” que adicionei… :-)

Correções e contribuições, como sempre, são muito bem vindas.

CODING: guia simples de boas práticas de programação

Durante o desenvolvimento do projeto XMPM pela Mandriva aqui em Manaus (2004-2006), criamos um documento de boas práticas que era conhecido como “CODING”. O documento é voltado para desenvolvedores C, mas contém um conjunto de práticas que creio serem úteis a qualquer time, independentemente da linguagem ou tecnologia.

Da equipe original só sobrou esse que vos escreve (entenda o porquê), então antes que o CODING se perdesse, achei que valeria a pena disponibilizá-lo para uma audiência maior, sob a GNU/FDL. Espero que ele seja útil para outras equipes e em particular, a projetos open-source.

O documento (que sempre foi em ascii, mantido com o nome de CODING na raiz do repositório) está disponível em minha página. Sugestões, correções e discussões são muito bem vindas.

Aproveitando a deixa, o CODING anda lado a lado com o bom e velho “The Joel Test: 12 Steps to Better Code” e com práticas de desenvolvimento ágil, mas isso é assunto pra outra hora…

update 2006-11-27: removed the verbatim copy from this post. From now on it’s available only at its official page: https://www.ademar.org/texts/coding.html

Softwares de edição de imagens

Hoje gastei um tempo estudando softwares para tratamento de fotos no PC. É uma área onde nunca havia me aventurado. Gosto muito de fotografar, mas tratar as imagens nunca foi meu forte.

Mas isso está para acabar ;-), hoje evolui bastante e acho que estou encontrando o caminho das pedras. Cheguei a instalar (pela primeira vez) os softwares que acompanham a câmera e resolvi conferir o que encontrei após algumas pesquisas na web, tanto em Linux como Windows. Segue uma pequena avaliação:

  • Gimp: Eu odeio a interface do Gimp. Como só tenho um monitor por enquanto, tenho muita dificuldade com aquele monte de janelas abertas ao mesmo tempo. É uma ferramenta muito poderosa, mas dada sua complexidade, ainda vou levar muito tempo pra ter uma boa produtividade. Fiz alguns testes com layers e li alguns tutoriais. O resultado é excelente.
  • GimpShop: Como alguém que não se dá bem com a interface do Gimp, resolvi testar o GimpShop, na esperança de resolver meu problema. Como nunca usei PhotoShop, só esperava encontrar uma interface MDI, mas para minha decepção, o plugin que permite isso só está disponível pra MS Windows e mesmo assim o resultado é pouco satisfatório. No Linux não tive ganho algum, então voltei pro Gimp original.
  • Picasa: Embora simples, gostei muito da ferramenta de edição de imagens do Google. Seguindo o princípio de Pareto, é a ferramenta ideal para quem quer fazer ajustes e efeitos simples, em fotos do dia-a-dia, sem muito trabalho. É pra Windows, mas há esperança. :-)
  • Hugin: O hugin, um frontend pra diversos programas que facilitam o processo de montagem de imagens panorâmicas e compostas em geral, eu já acompanho há bastante tempo. É um pouco complexo, mas produz bons resultados.
  • Ferramentas que acompanham a Canon EOS Digital Rebel XT: Achei todos os programas medíocres, com excessão do que monta imagens panorâmicas, que é razoável (simples, mas muito fácil de usar).
  • Há ainda muitos outros programas que tenho usado com frequência para pequenas tarefas, como gqview, metacam, dcraw e os utilitários do ImageMagick.

Encontrei também um software para gerenciamento de fotos (armazenagem) que me deixou satisfeito a princípio: o Photo Organizer. Mas isso é assunto pra outro post. :-)

Estatísticas de acesso

Ontem minha página principal alcançou 1GB de transferência nesse mês, um recorde! (ooohhh!!!!) :-)

E em comemoração (se é que isso é motivo pra comemorar) eu resolvi postar algumas curiosidades sobre as estatísticas de acesso desse mês, levando em consideração que podem haver erros na captura de alguns dados:

  • Guerra dos browsers: 86% IE, 7.6% Firefox
  • 91% dos acessos são feitos por usuários Windows
  • A página mais acessada é a do meu discurso de formatura em homenagem aos pais (ainda vou acabar ouvindo algo parecido com meu discurso em alguma formatura por aí) :-)
  • A procura no google que mais me rende visitas é por “fotos de manaus”
  • Geralmente o horário de pico é por volta das 14:00hs
  • O googlebot baixou 16MB de páginas nesse mês
  • bla bla bla bla

Congresso em Tarija – Bolívia

Em 2003 fui convidado para participar de um congresso sobre Linux na cidade de Tarija, ao sul da Bolívia. Foi uma experiência muito boa, como relatei em um pequeno artigo na edição de dezembro/2003 da então “Revista do Linux” (que não está mais online).

Agora em 2005 fui convidado mais uma vez para um congresso em Tarija. Dessa vez o congresso é de computação em geral (“XII Congreso Nacional de Ciencias de la Computación“) e vou apresentar um tutorial sobre segurança em ambiente Linux, um dos assuntos que apresentei em 2003. O congresso teve seu início segunda-feira 17 e termina na sexta-feira 21, dia em que farei minha apresentação.

Como da última vez eu não tinha câmera digital, as poucas fotos que tirei estão guardadas em alguma caixa em casa. Dessa vez espero aproveitar a oportunidade e trazer dezenas de fotos das cidades por onde passar. A
princípio o trajeto inclui “Santa Cruz de la Sierra” e “Cochabamba”, sendo que na primeira eu devo pernoitar durante a viagem de volta devido ao horário dos voos.

Torço para que a experiência seja tão boa quanto da última vez e que eu possa dar uma contribuição, por mínima que seja, para que o congresso seja um sucesso.

Ah.. e quem sabe dessa vez sobra um tempinho pra subir uma montanha! :)

Update 2006-12-21: estão disponíveis (desde mar/2006) as fotos da viagem.

LCD ou CRT: A revanche

A saga [1, 2] continua, e dessa vez temos a revanche do LCD…

Atualizando a história, depois de muito sofrer com a falta de fidelidade de cores do LCD, resolvi adquirir um monitor CRT de 19″ (LG Flatron T910B), algo que fiz via americanas.com.

O monitor chegou no último Sábado. É um monitor grande, pesado e feio, mas isso eu já esperava e estava mais do que disposto a aceitar em troca da fidelidade de cores. O que eu não esperava era encontrar (grandes) problemas com a qualidade da imagem. É importante citar que uso um monitor de 19″ no trabalho (um Dell, não tenho certeza do fabricante OEM) do qual não tenho reclamações. No LG T910B que recebi os dois grandes problemas são:

  1. Falta de foco: É realmente incrível a falta de qualidade no foco da imagem. É impossível ler texto no monitor sem ficar com a vista extremamente cansada, e fotos em geral sempre aparecem borradas.
  2. Borrões na tela: Esse problema é fácil de ser explicado com um exemplo: um bloco branco (mínimo 30-40px de largura) em um fundo preto gera um embaçamento/névoa na área ao redor da imagem branca. Esse problema incomoda muito, principalmente se for usado um papel de parede escuro ou emuladores de terminal com fundo preto.

Estou tentando convencer a Americanas.com a aceitar a devolução do monitor, mas estou tendo dificuldades porque a política de troca do site é que um produto só pode ser trocado se não foi retirado da embalagem original (como eu ia testar o monitor sem tirar da embalagem eu ainda não descobri). Até o final da semana devo ter o parecer oficial da Americanas.com.

Bem, resumindo a história, depois de tanto reclamar do meu LCD eu agora tenho muito o que reclamar do meu CRT… É uma pena que “não se fazem mais monitores como antigamente”. Definitivamente vou ter que prestar muita atenção na escolha do próximo monitor… Muito mais atenção do que eu imaginava ser necessário.

Algumas lições aprendidas (algumas parecem óbvias):

  1. Comprar via internet eletrônicos que você não testou pessoalmente é uma grande furada;
  2. LG Flatron não parece ser sinônimo de qualidade;
  3. No mundo de pobres mortais que não querem gastar mais de R$ 1.000,00 num monitor, não é a tecnologia (CRT ou LCD) que dita a qualidade da imagem, mas sim o modelo/fabricante.

Em tempo, se alguém estiver interessado em adquirir um monitor CRT de 19″ me avise, tenho um à venda. :)

LCD ou CRT?

Hoje no horário do almoço discuti com o Aurélio e outros aqui da Conectiva em Curitiba a questão CRT vs LCD no quesito saturação de cores (motivação: minha frustração com o LCD que comprei). O Aurélio, fã de LCDs, achou muito estranha a minha reclamação e não se convenceu, mas depois de alguns testes ficou muito claro pra mim e pra alguns outros que acompanharam que a saturação de cores é uma realidade, não exclusiva do meu modelo.

Não temos muitos LCDs aqui na Conectiva (e tão pouco CRTs de boa qualidade), mas testei dois monitores que encontrei (o iBook do Aurélio e uma máquina de testes já um pouco antiga) e pra mim os resultados foram idênticos ou até piores ao que reparei em casa: principalmente em fotos onde há gradientes e outras variações sutis de cores (como rostos humanos) aparecem manchas e borrões, não visíveis em monitores CRT.

Embora não esteja nos planos gastar dinheiro com um LCD high-end (AKA caro), assim que tiver a oportunidade quero fazer mais testes, só por curiosidade. Até agora a opção pra minha próxima compra continua sendo por um CRT.

Em tempo: sim, estou em Curitiba, onde devo permanecer até dia 11/set, quando volto pra Manaus. :)

Micro novo II

Continuando o post anterior sobre o meu novo brinquedo, tenho dois novos comentários a fazer:

  • Estou frustrado com o LCD
  • Som onboard nunca mais

Sobre o LCD:

Estou bastante frustrado com o monitor LCD Samsung 710N. Foi legal não pagar extra de bagagem na vinda pra Manaus e é bonito ter um LCD em cima da mesa, mas me sinto como se estivesse de volta à época das placas de vídeo que suportavam apenas 256 cores. O problema e a saturação das cores. O monitor é simplesmente incapaz de reproduzir todas as cores de fotos e vídeos onde hajam gradientes ou texturas complexas (como a pele humana, por exemplo). Infelizmente não consigo demonstrar isso através de uma foto da tela, mas não é difícil reparar no problema ao vivo. Uma vez que uso bastante o micro pra selecionar fotos e eventualmente assisto a um filme nele (já que não tenho outra opção aqui em Manaus), o problema me incomoda bastante.

Ok, numa dessas eu estou exigindo muito do modelo que comprei (o 710N é um modelo barato, gastei U$ 307,00 nele) mas todos os reviews me levavam a crer que eu estava fazendo uma boa compra. Enfim, lição aprendida: se você não quer gastar muito, mas faz questão de qualidade, nada como um bom e velho CRT.

Sobre o som:

Aqui em Manaus eu só tenho um fone de ouvido, e não precisou muito mais do que isso pra eu decidir de vez que a AC97 não é o suficiente pra mim. Além de todos os problemas que identifiquei em Curitiba (veja post anterior), não dá pra aceitar a diferença de volume entre os canais e sinto que o grave está com o volume demasiadamente alto.

Como sou da época em que placa de som vinha em kit multimídia e uma boa placa era uma SB32, não resisti e encomendei uma Creative Audigy2 ZS (aproveitei uma viagem que meus pais fizeram até o Paraguay), que devo ter em mãos na semana que vem. Estou ansioso pra testar coisas como EAX 4.0 HD e ter a possibilidade de configurar mais do que simplesmente o volume das caixas, mesmo que o suporte a tudo isso no Linux seja relativamente limitado. Vamos ver se a placa cumpre com o que promete.