Ganhei o Livro de Expressões Regulares do Aurelio – Parte II

Há alguns dias contei como ganhei o Livro de Expressões Regulares do Aurélio.

Para provar que a promoção não foi balela, semana passada ele esteve aqui em Curitiba para organizar a sua mudança e marcamos a entrega do livro. Como temos alguns amigos em comum, aproveitamos para juntar mais um pessoal e jogar um pouco de conversa fora.

Comecei a ler o livro, como de costume é uma abordagem muito bacana, simples e divertida. Tenho certeza de que vai me ajudar a entender alguns detalhes mais sórdidos das expressões regulares que ainda não entraram na minha cabeça.

Aproveito para agradecer ao Aurélio pelo livro e para desejar boa sorte nessa nova jornada em Joinville.

Version GCC_4.2.0 not found (required by /usr/lib/libstdc++.so.6)

Atualização de kernel no Ubuntu costuma causar problemas em módulos que não foram instalados pelo gerenciador de pacotes.

Ainda estou usando o Ubuntu 8.04, quero atualizar para o 9.04 assim que tiver um tempinho sobrando.

Assim que fiz a última atualização, meu VMWare e placa de vídeo pararam de funcionar. Por hábito, já deixo os arquivos de instalação guardados para reinstalar quando precisar.

Ao tentar rodar o VMWare, aparece o seguinte erro:

/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_3.4' not found (required by /usr/lib/libcairo.so.2)
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/libstdc++.so.6)
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_3.4' not found (required by /usr/lib/libcairo.so.2)
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/libstdc++.so.6)
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_3.4' not found (required by /usr/lib/libcairo.so.2)
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/libstdc++.so.6)

Pesquisando achei este post, dizendo para tirar do caminho o módulo problemático libgcc_s.so.1/libgcc_s.so.1 em /usr/lib/vmware/bin/vmware.

cd /usr/lib/vmware/lib
sudo mkdir bak
sudo mv libgcc_s.so.1/libgcc_s.so.1 bak/

Agora tudo funciona como antes.

Django UnicodeEncodeError com upload usando WSGI

Se você se deparou com um UnicodeEncodeError ao fazer o upload de algum arquivo com caracteres especiais usando WSGI no Django, a solução pode estar aqui: How to use django with mod_wsgi – Additional Tweaking.

Eu passei pelo seguinte erro:

UnicodeEncodeError: 'ascii' codec can't encode characters
in position 86-87: ordinal not in range(128)

Em resumo é preciso alterar as variáveis de ambiente LANG e LC_ALL do Apache:

export LANG='en_US.UTF-8'
export LC_ALL='en_US.UTF-8'

Isto é feito alterando o arquivo envvars do Apache, normalmente em /etc/apache2/envvars.

Em algumas instalações / distribuições, este arquivo pode não existir ou não estar sendo chamado no httpd.conf, neste caso é preciso configurar manualmente.

No FreeBSD é preciso criar um arquivo com a extensão .env em /usr/local/etc/apache2/envvars.d. Como isto é ligado ao WSGI, chamei de mod_wsgi.env.

Depois de alterar é preciso reiniciar o apache.

Agora uploads de arquivos nomeados com caracteres especiais funcionam normalmente.

Ganhei o Livro de Expressões Regulares do Aurelio

O Aurélio vendeu 1000 exemplares da segunda edição do seu livro Expressões Regulares – Uma Abordagem Divertida e para comemorar lançou uma promoção que daria uma cópia para quem acertasse o número de exemplares vendidos em Abril de 2009.

Resolvi participar e desta vez usei a cabeça.

Procurei no blog pela data de lançamento do livro, achei o post de 15 de Agosto de 2008, até o dia que o Aurélio anunciou a venda de 1000 unidades, 29 de Abril, são uns 9 meses.

É uma média de 111 exemplares vendidos por mês. Imagino que tenha vendido mais no começo, por ser novidade e toda a propaganda inicial. Depois deve ter estabilizado ou sofrido uma queda suave.

Calculei que deveria estar entre uns 80 a 95 exemplares, pesquisei o número que as outras pessoas estavam chutando para garantir que o meu palpite fosse único. E resolvi chutar 87, logo depois chutaram 88, quaaaase perco.

Hoje o Aurélio anunciou que eu ganhei!!! Aloco! Nunca ganho nada em bingo, rifa, etc. Dei sorte.

Então logo devo ganhar o livro, já tenho o que ele escreveu sobre Shell e recomendo, o Aurélio tem uma linha de escrita divertida e simplificada.

Valeu Aurélio!!!

UPDATE 18/05/2009: o livro já está em mãos com dedicatória e tudo! 🙂