Wagner, diga não às drogas!

April 30, 2008, by Antonio Terceiro - No comments yet

O governador está mal assessorado, coitado. Como é que pode fazer um protocolo de intenções onde se coloca a estrutura pública de educação a serviço de uma empresa privada, multinacional, pra formar usuários de seus produtos?

Em reação a isso, o PSL-BA, através de vários de seus militantes, fez uma visita nessa terça-feira à Assembléia Legislativa do Estado da Bahia e consegui aprovar na Comissão de Educação, Ciência e Tecnologia, Cultura e Serviço Pública uma audiência pública para tratar do tema.

Estamos de olho!



case insensitive matching em bancos relacionais livres

April 29, 2008, by Antonio Terceiro - No comments yet

Umas das coisas legais de usar Rails é que você pode com relativamente pouco esforço testar sua aplicação com diferentes bancos de dados. Se você estiver usando construções portáveis (i.e. usando ActiveRecord em vez de SQL na mão), muito provavelmente sua aplicação vai funcionar igual em qualquer banco. Dessa forma na Colivre por exemplo a maioria de nós desenvolve usando SQLite, mas fazemos deploy das aplicações usando PostgreSQL. O único overhead que isso adiciona é, antes de lançar uma nova versão, rodar a suíte de testes contra o PostgreSQL pra garantir que nenhum código não-portável com relação a banco de dados foi incluído.

Dessa vez não deu certo: enquanto SQLite e MySQL são case insensitive ao processar uma cláusula LIKE, por exemplo, enquanto o PostgreSQL é case-sensitive. Graças a São Ignúcios a gente tem uma suíte de testes bem sólida e eu tinha incluído testes de case sensitiviness antes de ver a aplicação explodindo na cara dos usuários. smile



post obrigatório sobre o fisl9.0

April 24, 2008, by Antonio Terceiro - No comments yet

Aff, demorou mas saiu.

Bom, o fisl9.0 foi diferente de todos os outros. Não estar mais na organização me fez ver um outro evento muito diferente: nada de milhões de coisinhas que dão errado, correria pra todo lado, fulaninho reclama aqui, ciclaninha reclama ali ... tudo isso é coisa do passado. Esse ano foi só curtição: assisti todas as palestras que quis, e as que eu perdi foi porquê conversar com alguém num estande ou simplesmente ficar hackeando um pouquinho tava bom.

O estande do Debian estava muito bom, as coisas vendendo que nem água. Eu quero dar efusivos parabéns ao pessoal que organizou o estande: até onde eu percebi foi o faw, a Carol e o Frolic; se teve mais alguém foi mal aí a omissão. A assinature de chaves esse ano foi bem legal: estou com um backlog de várias chaves pra assinar, prometo que faço assim que der. stick out tongue

Fiz duas palestras:

No mais, foi maravilhoso rever amigos e poder trocar idéias.



mirror sob demanda com nginx

April 1, 2008, by Antonio Terceiro - No comments yet

Eu estou testando a geração de imagens de CD do BrDesktop mas não tenho disco pra manter um mirror local. Tentei usar apt-proxy, apt-cacher-ng, mas todos fizerem o simple-cdd dar pau porquê pra construir o CD são necessários subdiretórios no mirror (doc, tools, etc) que essas ferramentas não suportam.

Decidi então procurar uma solução pra fazer algo parecido com o que o apt-proxy e o apt-cacher-ng fazem, mas pra todo o mirror e não só pro pool/ e dists/. Procurando no scroogle achei esse post sobre um mirror sob demanda usando o nginx. nginx é mais um desses servidores web light que prometem pouco uso de memória e bom desempenho.

Resolvi tentar, e não é que depois de futucar um pouco e dar uma mexida na configuração do cara, deu certo? A configuração do nginx ficou assim:

server {
   listen 80;
   server_name localhost;

   access_log /var/log/nginx/localhost.access.log;

   location /debian {
      root /home/terceiro/mirror;
      error_page 404 403 = /fetch$uri$args;
   }

   location /fetch {
      proxy_pass http://ftp.br.debian.org;
      proxy_store on;
      proxy_store_access user:rw group:rw all:rw;
      proxy_temp_path /home/terceiro/mirror;
      alias /home/terceiro/mirror;
   }

}

Tem uma limitação que é: de vez em quando eu preciso apagar os arquivos Release e Packages* pra pegar as atualizações do repositório, e fiz um script clean.sh que fica na raiz do mirror pra fazer isso:

#!/bin/sh

find . -name Release\* -exec rm -f '{}' ';'
find . -name Packages\* -exec rm -f '{}' ';'

Daí uso http://localhost/debian como meu mirror Debian, e o simple-cdd se entende com ele que é uma beleza a imagem é gerada. Ela ainda não instala, mas vamos chegar lá. smile