Installing PostgreSQL from sources is a very easy and grateful task. It allow you to customize a lot of stuffs in your database server (I really appreciate the option of choose where to install my softwares, but this is not all).

You can get the PostgreSQL sources at http://www.postgresql.org/ftp/source/. I got the sources for the version 8.3.7, since it’s the latest stable version, so far.

Leia Mais »

To install psycopg2 (I’m using the version 2.0.10) you need to run two commands:

# python setup.py build

and after the build is complete:

# python setup.py install

Well, but it’s not so easy if you do not have the dependencies already installed.In my case I got errors like:

NameError: global name ‘w’ is not defined psycopg2

or

error: Setup script exited with error: command ‘gcc’ failed with exit status 1

To solve this I have to install the libpq-dev library and the python development package:

# apt-get install libpq-dev

# apt-get install python2.5-dev

After that I just run the usual python setup.py install and all done.

Problem: If we change the default SSH port Zimbra features like Mail Queues stop working.

Workaround:

$ su - zimbra

$ zmprov mcf zimbraRemoteManagementPort <new port number>

Hoje resolvi dar uma olhada na solução de cloud computer da Locaweb. Parece até piada, mas entrar na página do “Simule e contrate” eu recebi uma página de erro dizendo que o servidor estava muito ocupado. Realmente muito confiável.

Erro Locaweb

Essa história de “Em casa de ferreiro o espeto é de pau” não pega. Vou ficar mesmo com a Amazon EC2.

Nota: (também não ia doer nada se eles mudassem a página padrão de erro do IIS. Tarefa de 15 minutos que acaba com a reputação de alguns anos.)

Para resolver o problema com as setas do teclado no console de uma máquina virtual no VMware Server 2.0 basta editar o arquivo ~/.vmware/config e inserir as seguintes linhas:

xkeymap.keycode.108 = 0x138 # Alt_R
xkeymap.keycode.106 = 0x135 # KP_Divide
xkeymap.keycode.104 = 0x11c # KP_Enter
xkeymap.keycode.111 = 0x148 # Up
xkeymap.keycode.116 = 0x150 # Down
xkeymap.keycode.113 = 0x14b # Left
xkeymap.keycode.114 = 0x14d # Right
xkeymap.keycode.105 = 0x11d # Control_R
xkeymap.keycode.118 = 0x152 # Insert
xkeymap.keycode.119 = 0x153 # Delete
xkeymap.keycode.110 = 0x147 # Home
xkeymap.keycode.115 = 0x14f # End
xkeymap.keycode.112 = 0x149 # Prior
xkeymap.keycode.117 = 0x151 # Next
xkeymap.keycode.78 = 0x46 # Scroll_Lock
xkeymap.keycode.127 = 0x100 # Pause
xkeymap.keycode.133 = 0x15b # Meta_L
xkeymap.keycode.134 = 0x15c # Meta_R
xkeymap.keycode.135 = 0x15d # Menu

Observação: O WordPress troca as letras x dos códigos hexadecimais por um carácter estranho. Verifique isso antes de colar no arquivo.

fonte: http://communities.vmware.com/message/508070

Problema: Ao acessar uma página com código do Google Maps o Internet Explorer 7 não abre a página e mostra a mensagem “Internet Explorer cannot open the Internet Site Operation aborted

Solução: Colocar todo o código JavaScript que carrega e manipula o GoogleMaps no fim do documento.

Nota: Fucking Internet Explorer!

Esse problema na realidade não é do Django, e sim do módulo psycopg2 que faz acesso ao PostgreSQL (No meu caso eu estava utilizando a versão 2.0.6 deste módulo). Para resolver este problema é preciso atualizá-lo para o 2.0.7.

Leia Mais »

Ao tentar empacotar um projeto com o Maven o danado sempre dava erro dizendo que não conseguia baixar as dependências do meu projeto.

Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-resources-plugin/2.2/maven-resources-plugin-2.2.pom
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to resolve artifact.

GroupId: org.apache.maven.plugins
ArtifactId: maven-resources-plugin
Version: 2.2

Reason: Unable to download the artifact from any repository

org.apache.maven.plugins:maven-resources-plugin:pom:2.2

from the specified remote repositories:
central (http://repo1.maven.org/maven2)

O arquivo existia no repositório e eu já estava ficando louco achando que era algum problema com proxy ou coisa do gênero. Foi quando eu resolvi verificar com mais cuidado o arquivo settings.xml que eu havia acabado de copiar.

Resultado: O problema é que meu “localRepository” estava apontando para um local em que meu usuário não tinha permissão de escrita. E se eu dependesse das mensagens do Maven para descobrir isso…

Um recurso bacana da linguagem Python que facilita a vida um bocado e deixa o código mais legível são os Decorators. O seu uso é bem simples e sua implementação também.

Para mais informações dê uma olhada nesta página (foi a melhor referência que eu encontrei):

http://www.python.org/dev/peps/pep-0318/

Um exemplo:

import time
def imprime_tempo(func):
    def decorator(*arg, **kwargs):
        t1 = time.time()
        result = func(*arg, **kwargs)
        t2 = time.time()
        print '%s levou %0.3f ms' % (func.func_name, (t2-t1)*1000.0)
        return result
    return decorator
@imprime_tempo
def minha_funcao(x):
    print 'testando'
    x = x**2

Criei este exemplo com base no que está em:

http://www.daniweb.com/code/snippet368.html

Outro link:

http://www.phyast.pitt.edu/~micheles/python/documentation.html

Neste site são apresentados alguns problemas no uso de Decorators (basicamente a alteração da assinatura da função) e uma solução para o problema

Para converter uma imagem do formato Bin/Cue para ISO basta usar o programa bchunk. Ele está disponível para instalação através do APT-GET no Ubuntu. Seu uso é através da linha de comando e é bem simples:

bchunk ARQUIVO.BIN ARQUIVO.CUE NOVOARQUIVO.ISO

Dica retirada daqui.