Adicionando suporte a PostgreSQL na QT p/ windows

Para quem seguiu as minhas dicas sobre como usar a QT OpenSource no Visual Studio e quer habilitar o suporte a banco de dados PostgreSQL na QT. Após instalar o PostgreSQL com os seus arquivos de desenvolvimento (headers, bibliotecas, etc), basta fazer o seguinte:

1) Abra o arquivo C:\Program Files\Micorsoft Visual Studio 8 Express\Common7\Tools\vsvars.bat e adicione o caminho para os includes na variável INCLUDE. Ela deverá ficar mais ou menos assim:

@set INCLUDE=C:\Program Files\Microsoft Platform SDK\Include;C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE;C:\Program Files\PostgreSQL\Include;%INCLUDE%

2) Faça o mesmo para a variável LIB, obviamente adicionando o caminho para as bibliotecas dos PostgreSQL. Deverá ficar mais ou menos assim:

@set LIB=C:\Program Files\Microsoft Platform SDK\Lib;C:\Program Files\Microsoft Visual Studio 8\VC\LIB;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\lib;C:\Program Files\PostgreSQL\Lib;%LIB%

Ao recompilar a QT, informe o parâmetro -plugin-sql-psql.

Gentoo/*BSD

O ezine Daemon News fez uma interessante entrevista com Diego Pettenò, atual lead do Gentoo/ALT, sobre o Gentoo/*BSD e os sub-projetos relacionados (Gentoo/FreeBSD, Gentoo/OpenBSD e Gentoo/NetBSD). Se você, assim como eu, é um fã de desses sistemas e também gosta de Gentoo, convém dar uma olhada na entrevista para ficar mais por dentro do assunto.

Pessoalmente fico um pouco chateado por não ter o tempo necessário para poder ajudar o projeto, como já ajudei anteriormente, então deixo meu apoio e desejos de sucesso para todos eles.

OpenSSL

Depois de alguns anos sem precisar usar a SSL, tive que usa-la esta semana, e pude notar uma coisa que antigamente não tinha sido tão clara para mim: a openssl, enquanto biblioteca, é bastante concisa para se utilizar. Definitivamente não é uma biblioteca simples (mesmo porque o campo de atuação dela – criptografia – também não é), e ainda assim é divertido utiliza-la.

Mudança de paradigma

Hoje, lendo uma mensagem da QT-Interest foi repassado um link para um artigo no site de Herb Sutter, Guru Of The Week, explicado as razões pelas quais é desnecessário checar por uma falha do “new” na maioria dos casos.
Embora seja um artigo interessante ele tem uma pequena falha ao afirmar que a alocação de memória no Linux sempre tem sucesso. A alocação de memória no Linux pode falhar se você tentar alocar uma quantidade de memória que for igual ou maior a quantidade de memória disponível menos a quantidade de memória usada pelo kernel para mapear a memória do processo.
Embora eu concorde com o autor de que a checagem no new é, certas vezes desnecessária, é importante checar quando você está tentando alocar uma quantidade razoável de memória, já que isso pode lhe permitir alocar uma quantidade menor ou liberar alguns recursos e seguir adiante.

Navegando pelas tags XML usando a QT

Uma dica que, talvez, seja simples para os iniciados na QT, mas que me fez perder algum tempo raciocinando a respeito da solução …

O problema: navegar entre itens irmãos em um arquivo Xml, usando um objeto QDomElement. Por exemplo, você tem um arquivo Xml parecido com isto:

Continue reading “Navegando pelas tags XML usando a QT”

Jffnms and Gentoo (Jffnms e Gentoo)

English:

For the first time as a package maintainter on Gentoo Project I had to write official documentation about package installation and configuration, in this case Jffnms. Writing documentation definately isn’t an easy task. Thus looking at our documentation index, I have to express my admiration for our doc team for maintaining our docs in such a high level of quality.
Português:

Pela primeira vez como mantenedor de pacotes no projeto Gentoo eu me vi obrigado a escrever documentação oficial sobre a instalação e configuração de um programa, o Jffnms. Documentar procedimentos definitivamente não é uma tarefa fácil. Desta maneira olhando a listagem de documentos disponíveis no projeto, eu tenho que expressar minha admiração pelo doc-team por manter nossa documentação sempre em tão alto nível de qualidade.