Gentoo 2006.1, atualização, sub-profiles e gcc 4.1

Embora eu casa eu viva no “bleeding edge”, ~x86 e ~amd64, aqui no trabalho (por razões óbvias) eu sou bastante conservador. Mas, agora que finalmente saiu o 2006.1 já é hora de atualizar a máquina.

[code]Would you like to merge these packages? [Yes/No] Y
>>> starting parallel fetching
>>> Emerging (1 of 59) sys-devel/crossdev-0.9.16 to /
[/code]

Embora ainda não tenha uma documentação oficial sobre isso, os interessados nos sub-profiles para desktop e servidor devem dar uma olhada em /usr/portage/profiles/default-linux/x86/2006.1/server e /usr/portage/profiles/default-linux/x86/2006.1/desktop. Note, porém, que isso ainda não está documentado, então use por sua conta e risco.

Continue reading “Gentoo 2006.1, atualização, sub-profiles e gcc 4.1”

Dica: mantendo a responsividade do sistema sem o uso de threads (QT)

Quando o sistema está sobrecarregado é possível notar, em GUIs escritas com a QT, falhas e/ou lentidões na renderização de determinados widgets. Embora isso não seja tão frequente no Windows, é fácil identificar esse comportamento no Linux quando, por exemplo, você atualiza uma barra de progresso muito frequentemente.

Uma maneira simples de resolver isso é utilizar QApplication::processEvents() após o código em questão.

Obs.: dica retirada do livro “Programming with QT”, de Matthias Kalle Dalheimmer.

Script absurdamente simples para gerar thumbnails

Para os preguiçosos, como eu, que por algum motivo não querem instalar um programa tipo Picasa, Album ou coisa do tipo para gerenciar suas fotos, mas precisam gerar thumbnails delas. A dica, abaixo, mostra um script extremamente simples (e essa é a intenção: KISS) para fazer o serviço.

Continue reading “Script absurdamente simples para gerar thumbnails”

CMake – Parte 1: introdução

O CMake, desenvolvido pela Kitware, é um sistema de controle de compilação, multi-plataforma e código-aberto. O CMake oferece uma alternativa mais fácil e produtiva as “auto-tools (autoconf, automake, autoheader). Além disso, é interessante notar que o CMake foi escolhido como a ferramenta de build oficial para a nova versão do projeto KDE. Este é o primeiro de uma série de artigos detalhando desde as opções mais básicas até as mais avançadas do CMake.

Continue reading “CMake – Parte 1: introdução”

Fontes para Programação IV

Finalizando o assunto das fontes para programação posto aqui algum dos resultados obtidos após a re-configuração da FreeType. A fonte Consolas ainda é a minha preferida, entretanto, outras fontes que eu sequer considerava adequadas para programar, como a Andale Mono e a Anonymous ficaram muito mais legíveis.
Fontes: Andale Mono, Anonymous, Consolas, Courier, Monaco, Proggy Clean, Proggy Clean (Bold Ponctuation), Square SZ.

Fontes para Programação III

Prosseguindo com o assunto das fontes, aproveito para mostrar como permitir que fontes “pixel-based” trabalhem bem com o FreeType. Essas fontes não trabalham bem com o hinting da BCI ou com o auto-hinting e não suportam anti-aliasing, ficando completamente borradas e/ou ilegíveis.
Neste caso, é preciso desabilitar o hinting e o anti-aliasing especificamente para essas fontes, sem desabilitar essas funcionalidades para as outras fontes. Um exemplo usando a fonte ProggyCleanTTSZ:

<match target=”font”>
<test name=”family” qual=”any”>
<string>ProggyCleanTTSZ</string>
</test>
<edit mode=”assign” name=”hinting”>
<bool>false</bool>
</edit>
<edit mode=”assign” name=”antialias” >
<bool>false</bool>
</edit>
</match>

O meu arquivo ~/.fonts.conf com algumas fontes já adicionadas pode ser encontrado aqui.

Fontes para Programação II

Continuando o assunto do post anterior, hoje eu consegui fazer alguns ajustes na configuração do FreeType que tornaram possível utilizar não apenas a fonte Consolas, mas também uma série de fontes “pixel-based” (como as ProggyFonts). Para isso é preciso ter uma versão recente do FreeType2 compilado com suporte a BCI, Byte Code Interpreter. No caso do Gentoo basta habilitar a USE Flag “bindist” e recompilar o pacote freetype.

Fontes como Consolas ou ProggyFonts não ficam bem com auto-hinter embutido na FreeType, sendo necessário desabilita-lo para que a BCI seja utilizada. É possível fazer isso editando o arquivo /etc/fonts/local.conf ou ~/.fonts.conf e desabilitando o auto-hinting e deixando o hinting habilitado:

<edit mode="assign" name="hinting" >
<bool>true</bool>
</edit>
<edit mode="assign" name="autohint" >
<bool>false</bool>
</edit>

Isso, por si só, já torna possível usar fontes com a Consolas sem que elas fiquem borradas ou escuras demais. Aqueles que quiserem explorar um pouco mais as configurações de fontes do FreeType, podem começar por aqui.

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.