Flight of the Conchords

07/06/2009

Adoramos muito tudo isso.

Murray: [To Jemaine] I’ve told you. When you are in a band, you don’t get with your bandmate’s girlfriend. Past or present.
Jemaine: Yes, well, thanks for that.
Murray: You get a love triangle, you know, a Fleetwood Mac situation. Although there was four of them, so more of a love square. But you know, no-one gets on.
Jemaine: Ok, I see.
Murray: Mind you, they did make some of their best music back then.
Bret: Rumours.
Murray: No. No, it’s all true.

Salário de funcionário público sobe 8 vezes mais

14/05/2009

Sobe mais que o quê?

De acordo com um artigo do Estadão desta semana, os sálários dos servidores executivos federais subiram 74,2% no período de dezembro de 2002 a fevereiro de 2009. Em comparação, na iniciativa privada, o aumento foi de 8,7%. Os cálculos descontam a inflação do período.

Apesar do governo atual favorecer este tipo de índice, é uma tendência que também não conseguiu ser evitada pela gestão anterior. Do fim de 1995 ao fim de 2002, o trabalhador do setor privado teve uma queda de 2,4% na renda real. O servidor público do poder público teve aumento de 16,8% no Executivo, 8,7% no Legislativo e 57,3% no Judiciário.

Algum dos dois setores está bastante fora da realidade.

Quis custodiet ipsos custodes? Talvez não seja a minha desinteressada geração, mas ainda acredito.

Novo jogo de Fórmula 1 2009 - oficial da FIA

09/05/2009

Ótima notícia para os fãs de jogos de corrida: o novo game de F-1 da FIA deve sair no segundo semestre do ano. A notícia está no site oficial da FIA e parece ser confiável. As primeiras versões devem ser para Wii e PSP.

De acordo com o artigo, o jogo F1 2009 terá a corrida noturna em Singapura, pneus slick e KERS. Na versão do Wii, haverá opção multiplayer com tela dividida, competitivo ou cooperativo. A versão PSP terá multiplayer por wireless. Em 2010, a Codemasters, empresa que desenvolve o jogo, prometeu versões para PS3, Xbox 360 e PC.

Nada mal, soa muito divertido! Agora, é esperar.

Calculador de Prestações

07/05/2009

Seguindo o projeto Traquitanas, fiz uma ferramentinha para calcular prestações mensais, dados o valor de financiamento, o período e a taxa de juros. As prestações podem ser fixas ou variáveis.

Quero ver se aprendo a fazer e coloco também tabela SAC e Price, além de encargos.

Calculador de Rendimentos

22/04/2009

Dias atrás, precisei fazer algumas avaliações do rendimento de aplicações financeiras e não achei um jeito simples e prático na Internet. Posso ter procurado mal, mas encontrei apenas planilhas e tabelas que eram ou muito complexas, ou extra-simplificadas. Nada com a cara que eu procurava. Os próprios simuladores dos bancos deixam muito a desejar no quesito usabilidade. A melhor opção encontrada foi uma planilha Excel para download, mas não era muito personalizável. Além disso, convenhamos, em pleno ano 2000, ter que baixar uma planilha para fazer um cálculo desses não é o que se espera.

Dado isso, na casa de ferreiro, fiz meu próprio calculador de rendimentos, do jeito que imaginava, com os parâmetros que queria, inflação, administração, aportes periódicos, etc. É bem fácil de usar, dê uma olhada. Não sou economista, portanto sugestões e críticas são bem-vindas.

Ainda aproveitei para criar uma nova seção no subterfugios.net: Traquitanas. Coloquei até um linkzinho ali do lado direito do blog. Espero que surjam mais brinquedinhos no futuro.

Debugando o mod_rewrite com logs

Para habilitar o log do mod_rewrite, use as diretivas RewriteLog e RewriteLogLevel no httpd.conf do seu Apache:

RewriteEngine On
RewriteLog C:\dev\Apache2.2\logs\rewrite.log
RewriteLogLevel 3

Pode lhe salvar um bom tempo lutando contra redirects e rewrites.

Proxy Transparente com Ubuntu

11/01/2009

Apresento a seguir alguns passos para se configurar um proxy transparente com o Ubuntu. O objetivo é ter um ponto de monitoração das requisições à Internet feitas a partir dos computadores da rede doméstica. Não se trata de uma arquitetura de rede no estado-da-arte em segurança, principalmente em relação a ataques internos, mas estes não são uma grande preocupação no momento. Não tive custos em equipamentos adicionais, pois usei uma máquina antiga.

A rede que temos em casa é típica: um roteador wireless Linksys WRT54G atrás de um cable modem com Vírtua. Os computadores conectam-se ao roteador por cabo ou rede wireless, e usam o servidor DHCP do próprio roteador.

Olhando assim, já se tinha o ponto único de acesso à Internet: o WRT54G. Mas, apesar de ser um roteador doméstico espetacular, as funcionalidades de filtro, logging e monitoração são limitadas. Assim, a idéia foi usar um computador antigo como roteador, antes de passar pelo WRT54G. Estando configurado como um roteador, o PC poderia fazer análise, filtro e monitoração dos acessos.

Nesta configuração, usei um computador antigo com as seguintes características:

  • AMD Duron 1.8 MHz
  • 256 MB de RAM
  • ASUS A7V266-M
  • 80 GB de HD
  • Uma placa de rede, ligada ao roteador WRT54G.

Instalei o Ubuntu Server 8.10 Intrepid. Após a instalação, baixei o pacote xubuntu-desktop pelo apt-get para poder usar os recursos básicos de GUI. Após a instalação, removi o teclado e o mouse, deixando apenas os cabos de rede e de força. Evita-se assim mais fios emaranhados pela casa, e os acessos são feitos por ssh -X.

IP Fixo no Roteador

O primeiro passo é configurar o IP fixo do servidor. O NetworkManager deu um certo trabalho então configurei manualmente, no /etc/network/interfaces:

auto eth0
iface eth0 inet static
address 192.168.1.50
gateway 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

Minha rede local é 192.168.1.X. O final 50 é o IP do roteador, cujo hostname é nets.O gateway padrão é o WRT54G (IP final 1).

É preciso configurar também o servidor DNS a ser usado pelo nets, no arquivo /etc/resolv.conf. Uso o proprio WRT54G:

joao@nets:/etc$ cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.1.1

O NetworkManager é meio metido a besta e às vezes sobrescreve o resolv.conf. Depois de um reboot, ele sobrescreveu o meu. Alterei manualmente novamente, rebootei e o NM não mexeu mais nele.

Neste ponto, estamos acessando a Internet normalmente a partir do nets.

Servidor DNS

O próximo passo é instalar o servidor DNS no nets. Isto não é realmente necessário para o meu setup, pois poderia usar o próprio WRT54G como servidor DNS. Mas, se, quem sabe, no futuro, desejar-se fazer uma DMZ, já temos um DNS na rede interna, que apenas delega as requisições para o WRT54G.

No Ubuntu, basta instalar o Bind:

sudo apt-get install bind9

Não precisei alterar nenhuma configuração e ele já saiu funcionando, delegando as requisições para o DNS server do /etc/resolv.conf. Para testar, pode usar o nslookup a partir de outro computador, digitando ’server 192.168.1.50′ e depois consultando um domínio.

Servidor DHCP

A idéia principal da configuração do roteador no nets é que os computadores que usam DHCP tenham seu gateway configurado para o próprio nets. Então, desabilitei o servidor DHCP no WRT54G e instalei um no nets, que vai distribuir os IPs na rede, assim como as configurações de gateway e DNS. Para instalar o servidor DHCP, podemos usar:

sudo apt-get install dhcp3-server

O arquivo de configuração principal é o /etc/dhcp/dhcpd.conf, no qual fiz as seguintes alterações:

# Comentar as isto, para evitar configurações globais
#option domain-name "example.org";
#option domain-name-servers ns1.example.org, ns2.example.org;
...
# Descomentar e alterar a configuração da seguinte rede:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.150 192.168.1.200;
option domain-name-servers 192.168.1.50, 192.168.1.1;
option domain-name "intra.delvalle.com";
option routers 192.168.1.50;
option broadcast-address 192.168.1.255;
default-lease-time 6000;
max-lease-time 72000;
}

Em resumo, estamos distibuindo IPs com final 150 a 200 para as máquinas. Estas usarão o nets e o WRT54G, nesta ordem, como servidores DNS. E o nets será o gateway padrão. Configurado isso, é preciso reiniciar o servidor DHCP:

sudo /etc/init.d/dhcp3-server restart

Para testar, pegamos um notebook que está conectado à rede wireless e fazemos a desconexão da rede, reconectando-o a seguir. O notebook deve pegar um IP como 192.168.1.150, com gateway e DNS apontando para 192.168.1.50 (nets). É interessante, pois quem está provendo a conexão na camada wireless (wi-fi) é o WRT54G, mas quem está distribuindo os IPs é o servidor nets.

Neste ponto, no entanto, não se consegue usar a Internet no notebook, pois o gateway 192.168.1.50 não está encaminhando os pacotes para a Internet.

IP forwarding

Para que o nets passe realmente a agir como um roteador, precisamos alterar um parêmetro do kernel. Apesar de soar grave, é bastante simples:

# descomente a seguinte linha, para habilitar o NAT no servidor
net.ipv4.ip_forward=1

Para que tome efeito, faça reboot do servidor (sudo shutdown -r now). É possível alterar isso sem rebootar, mas o reboot agora é útil porque já testa a persistência da configuração.

Após o reboot, o notebook - e outros clientes DHCP - já podem acessar a Internet.

Squid Proxy

O próximo passo agora é instalar e configurar o Squid, tradicional servidor de Proxy Web:

sudo apt-get install squid

Fiz três alterações no /etc/squid/squid.conf:

# Identificar a rede local em uma ACL
acl localnet src 192.168.1.0/24 # RFC1918 ...
...
# Descomentar para permitir acesso a partir da rede interna
http_access allow localnet
...
# Adicionar o transparent para permitir HTTP transparente
# para qualquer host e porta
http_port 3128 transparent

Alterado o arquivo, é preciso reiniciar o serviço:

sudo /etc/init.d/squid restart

Aqui, já se pode testar o Squid como proxy normal. No Firefox de um dos clientes DHCP, configure o servidor proxy apontando para o nets, porta 3128, para todos os protocolos. O navegação deve acontecer sem problemas e você pode acompanhar pelo log do squid:

joao@nets:/etc/squid$ sudo -i
root@nets:~# tail -f /var/log/squid/*

Depois do teste, lembre-se de desconfigurar o servidor proxy no Firefox. O objetivo é fazer um proxy transparente, ou seja, que não precisa de configurações na parte do cliente.

IPTables redirecionando para Squid

O Iptables já vem instalado por padrão no Ubuntu Server. Mas, para se assegurar que está em seu sistema, pode-se executar:

sudo apt-get install iptables

Ele vem configurado como “passa-tudo”. Ou seja, recebe o pacote (cujo encaminhamento já habilitamos no kernel) e libera o encaminhamento para o gateway. Para fazer com que o roteador direcione as requisições HTTP para o Squid, é preciso fazer uma alteração no Iptables:

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp  \\
     --dport 80 -j REDIRECT --to-port 3128

Ou seja os pacotes TCP que chegarem para a porta 80 deverão ser encaminhados para a porta 3128, onde está o Squid. É possível fazer isto também para outras - ou qualquer - portas. Mas, neste exemplo, só nos interessa o tráfego HTTP.

Para fazer com que estas configurações do Iptables não se percam no reboot, é preciso salvá-las:

joao@nets:/etc$ sudo -i
root@nets:~# iptables-save > /etc/iptables.rules

E criar um script de inicialização da interface de rede:

root@nets# echo '#!/bin/sh' > /etc/network/if-up.d/iptables
root@nets# echo 'iptables-restore < /etc/iptables.rules' >> /etc/network/if-up.d/iptables
root@nets# chmod +x /etc/network/if-up.d/iptables

Teste o reboot agora e depois verifique se a regra foi persistida no Iptables:

joao@nets:~$ sudo iptables -L -v -t nat
Chain PREROUTING (policy ACCEPT 4 packets, 471 bytes)
pkts bytes target prot opt in out source destination
0 0 REDIRECT tcp -- eth0 any anywhere anywhere tcp dpt:www redir ports 3128
...

Conclusão e próximos passos

Neste ponto, o notebook e os outros clientes DHCP devem estar navegando normalmente pela Internet, sem configuração especial de proxy. E o log disso pode ser acompanhado pelo Squid. Estando o tráfego passando pelo Squid, pode-se usar todo o seu poder para filtrar, acelerar, monitorar e fazer cache de conteúdo.

O ambiente está OK, mas há alguns pontos de melhoria, como, por exemplo, configuração dinâmica do servidor DNS no servidor DHCP, evitando que as requisições DNS dêem tantos pulos dentro da rede. Do ponto de vista de segurança, também seria interessante bloquear no WRT54G as requisições vindas de outros computadores que não o nets. Mas isso fica para outro dia.

Reunião do AI-5

07/12/2008

O site do Estadão publicou ontem um registro importante do regime militar: a gravação completa da reunião que confirmou o Ato Institucional Número 5, de 1968. Aberta pelo então presidente Costa e Silva, a reunião contém os posicionamentos de membros do governo da época, como Pedro Aleixo, vice-presidente e único voto contrário ao Ato. Entre outros, falam Jarbas Passarinho, ministro do Trabalho, Delfim Neto, ministro da Fazenda, Lira Tavares, ministro do Exército, Augusto Rademaker, ministro da Marinha e Emílio Garrastazu Médici, chefe do SNI.

Apesar de juridicamente condenável, conforme exposto pelo vice-presidente, o Ato é julgado como necessário pelos outros participantes da reunião. E assim nasceu o AI-5, instrumento para conter a subversão e manter a ordem, dado o contexto político nacional e mundial.

A transcrição desta reunião é pública e pode ser lida neste site.

No momento, acho que cabe a leitura do artigo “A verdade incomoda”, de Jarbas Passarinho, publicado no Estadão em 9 de abril de 2002, e transcrito neste site.

As maracas

09/02/2008

Sempre achei que as maracas eram algum instrumento exótico. Algum batuque latino ou africano, completo de adereços e sons peculiares. Até a Elis Regina cantava suas tremidas em “Dois pra cá, dois pra lá”. Foi uma verdadeira decepção quando tive a comprovação de que realmente as tais maracas eram apenas um ovinho com arroz dentro.

Apesar de sobrevalorizar o “instrumento” ao extremo, gosto do nome. É imponente. E, com alguns minutos de prática, qualquer um de nós pode virar o Jimi Hendrix da maraca.

JFugue - a fome e a vontade de comer

22/12/2007

“JFugue é uma biblioteca Java em código-aberto para programar música sem as complexidades do MIDI.”

A idéia é criar músicas através de programação Java. Não se assuste com a palavra “programar”, é mais simples que isso. Manja só um exemplo:

Player player = new Player();
player.play("C D E F G A B");      // resultado

Isso vai tocar um dó-ré-mi-fá-sol-lá-si. Agora, vamos fazer o mi-fá mais rápido, transformando cada nota em colcheia (eighth):

player.play("C D Ei Fi G A B");      // resultado

Legal, agora vamos fazer um dois acordes: dó maior e fá maior:

player.play("Cmaj Fmaj");      // resultado

Hmm, tá muito rápido. Vamos transformá-los em semibreves (whole):

player.play("Cmajw Fmajw");      // resultado

Legal. Agora vamos juntar o solo e a base (Voz 0 e Voz 1):

Pattern p = new Pattern();
p.add("V0 C D Ei Fi G A B");
p.add("V1 Cmajw Fmajw");
player.play(p);      // resultado

Ok, vamos ajeitar este final, colocando mais um acorde dó maior, e uma seqüência dó-ré-dó no solo. Note que colocamos a seqüência na sexta oitava (o padrão é a quinta):

Pattern p = new Pattern();
p.add("V0 C D Ei Fi G A B C6 D6 C6w");
p.add("V1 Cmajw Fmajw Cmajw");
player.play(p);      // resultado

Agora, só pra ficar mais moderno-brega, vamos fazer este solo com um saxofone tenor:

Pattern p = new Pattern();
p.add("V0 I[Tenor_Sax] C D Ei Fi G A B C6 D6 C6w");
p.add("V1 Cmajw Fmajw Cmajw");
player.play(p);      // resultado

Bem, a notação é bem simples e útil para escrever música. Mais interessante parece, porém, a idéia de programar músicas que se escrevem sozinhas, ou seja, gerar músicas. Músicas semi-aleatórias, músicas baseadas em padrões de outras músicas.
Vou deixar aqui dois outros exemplos, com código-fonte:

  • Crab Canon por David Koelle, www.jfugue.org. Esta música de Bach é como um palíndromo. Ela é espelhada: o acompanhamento tocar a mesma melodia, só que de trás para frente. No JFugue, foi codificada apenas uma voz, e a outra foi derivada invertendo a primeira e transpondo-a para uma oitava abaixo.
  • Nada, por João Del Valle. Primeira música que fiz no JFugue, para aprender o uso. É um monte de loops e notas escolhidas “estatisticamente”. A cada execução do programa, uma música diferente é gerada. Dá para você ouvir enquanto faz natação com seu iPod à prova d’água.

A biblioteca parece bastante poderosa. Ainda temos um infinito a explorar. Vá até a seção Getting Started do www.jfugue.org.

Ubuntustudio x86_64 e driver X-Fi

Semana passada, instalei aqui o Ubuntustudio 7.10 64 bits. O objetivo principal era testar o driver Linux beta da minha placa de som X-Fi. Para quem não lembra, essa série espetacular de placas da Creative, chamada X-Fi Series, não possui suporte para Linux, nem ALSA nem nada. Faz alguns meses, eles lançaram um beta para x86_64. E é esse que testei.

Instalei o Ubuntustudio em outra partição e deixei o home compartilhado com a instalação 32 bits. Smooth. A duplinha Firefox-Thunderbird funciona numa boa compartilhando o perfil entre 32 e 64 bits, assim como a maioria dos programas. O problema é que muitos programas não têm build para 64 bits. Exemplo clássico é o Flash Player 9. Minhas VMs 32 bits do VMware também são inúteis no ambiente 64, teria que instalar tudo de novo.

O Ubuntustudio está legal, me parecendo mais redondo do que a última vez que instalei. O Gnome foi um ponto positivo. Sendo um usuário acostumado com KDE, senti-me confortável com a agilidade das janelas Gnome. Click, click, drag, drop. Tudo muito leve.

Os programas de dia-a-dia Gnome ainda não alcançaram os do KDE, se é que o farão. IMHO, Kopete ainda é o melhor IM, e Amarok, o melhor tocador de mp3. O lado bom é que ambos rodam sem problemas no ambiente Gnome. O apt baixa apenas algumas bibliotecas QT (verdade, não precisa baixar o KDE inteiro). Uma pena é o Yakuake, que não se dá muito bem com as janelas Gnome e, apesar de rodar, tem problemas de sobreposição de janelas. A Gnome tem um clone tabajara do Yakuake, chamado Tilda, mas é bem bugado.

Voltando ao objetivo da instalação do driver da X-Fi: uma decepção. O build não declara algumas dependências, então tem-se que ir baixando e instalando bibliotecas sob demanda e à direção do vento. Feito o build, a instalação também ocorre aos trancos. No final, o som sai, mas com uma qualidade sofrível. Ocorrem também problemas de reprodução, atrasos e loops infinitos diabólicos.

Resumindo a experiência da última semana:

  • Gnome: massa. É bom lembrar que tem um ambiente gráfico levinho para quando precisar.
  • x86_64: incompatível, conforme esperado. Mas acho que vale a pena fazer uns benchmarks, pois o sistema me pareceu mais “responsivo” de maneira geral.
  • Driver X-Fi Beta: decepção. A placa foi lançada há mais de dois anos e ainda não é possível usá-la de forma aceitável no Linux. Provavelmente, essa situação deriva de alguma estratégia interna da Creative. Talvez um acordo com a Microsoft, ou talvez apenas porque a fatia de mercado Linux para placas de som não valha a pena.

Torne os exercícios divertidos

22/08/2007

Um de meus grandes problemas com execícios físicos é a chatice, o tédio. Talvez seja trauma de ouvir aqueles gritos do tenente incentivando a tropa, ver os outros correndo como se fosse fácil e eu quase botando o coração pela boca já nos primeiros quarteirões. Eu tentava me distrair com tudo que via, as letras das canções, a cor do céu, o cardápio do almoço. Mas nada funcionava e, momentos depois, já me encontrava olhando para o chão, contando os metros para a linha de chegada. Com um T bem grande pra você.

Mas, por um motivo ou outro, exercícios são necessários. Se pudesse escolher, provavelmente faria mais dos coletivos, como futebol ou vôlei, ou simplesmente tênis. Mas a infra-estrutura requerida não é irrelevante, principalmente em cidades grandes, e juntar os participantes também não é uma tarefa fácil. No fim, acabo tendo que preencher os exercícios com monótonas corridas, tediosas caminhadas e intermináveis nadadas.

Hoje, meu webmail sugeriu um link interessante, com o título “How to Make Exercise Fun“. São dicas para combater o tédio que tanto assombra os exercícios repetitivos. Nada surpreendente, apenas algumas dicas para ajudar. Vou pregar uma lista traduzida aqui, mas vale a pena ler as descrições no site:

  1. Adicione um amigo;
  2. Exercícios em grupo;
  3. Jogue algo;
  4. Audio books e podcasts;
  5. Tênis novos;
  6. Acumule estatísticas;
  7. Varie;
  8. Meça, não pese;
  9. TV, vídeos e música;
  10. Relaxe.

Recuperando DBX no Outlook Express 6

12/08/2007

Meu pai ainda usa Outlook Express 6 e de vez em quando uma das pastas simplesmente some. O DBX continua lá, mas a pasta não aparece e não há cristo que re-importe pelos meios normais.

Se você fizer uma busca no Google por este assunto, especialmente em inglês, achará zilhões de hits, cada um com uma técnica diferente. Notei que a maioria é spam e só quer que você instale algum programinha milagroso.

Depois de uma estressante hora, consegui resolver o problema, seguindo esta dica do fórum do Guia do Hardware. Cito aqui o trecho importante:

DBX é um arquivo de mensagens do Outlook Express. Se você tiver uma pasta com todos os DBX (Caixa de Entrada.dbx, Itens Enviados.dbx, etc.), basta entrar no Outlook Express e escolher a opção Arquivo, Importar, Mensagens. Escolha Outlook Express 6, e aponte a pasta em que elas se encontram. Ele deve importar as mensagens para dentro de suas pastas. Caso o arquivo esteja isolado (por exemplo, “Empresa.dbx”), a importação não vai funcionar. Nesse caso, existe um truque: crie uma nova pasta no Outlook Express com esse mesmo nome, através do menu Arquivo, Pasta, Nova, nome “Empresa”. Clique na pasta recém-criada, e você verá que ela não tem mensagens. Em seguida, entre em Ferramentas, Opções, Manutenção, botão Pasta de Armazenamento. Este é o nome da pasta em que os arquivos DBX estão guardados. Feche o Outlook Express. Entre no Windows Explorer, e encontre a pasta citada. Basta então substituir o arquivo Empresa.dbx que ele criou pelo seu arquivo Empresa.dbx. Em seguida, abra o Outlook Express, e você verá as mensagens dentro da pasta “Empresa”.

As Ruínas

03/08/2007

Talvez você goste do seriado LOST, talvez não. Não sou preconceituoso, mas nunca assisti. Achei que, entre meus vícios e manias, não cabia mais este.

Na Super Interessante do mês passado, recomendavam o livro “As Ruínas”, de Scott Smith. Comprei numa passagem de bobeira em uma livraria. Conforme dizia na revista, e de acordo com o que acredito ser o seriado, o livro lembra LOST.

Alguns jovens de férias em Cancún perdem-se em uma trilha maia e eventos estranhos se sucedem. Gostei do livro. Texto cativante e tradução excelente. É uma boa pedida para quem gosta de suspense. Confesso que passei algumas noites tensas no quarto em que tenho vivido, silencioso e cheio de espelhos nas paredes.

CentOS 5 e JES 5: algumas dicas

25/07/2007

Deinstalei hoje meu CentOS 5. Estava usando nos últimos meses para poder instalar no meu desktop Linux o Java Enterprise System. A instalação deste é baseada em RPM e é homologada apenas para RedHat EL 3.

No CentOS 5, como já mencionei antes, o JES instala e executa, mas não dá para confiar completamente. Ontem, depois de um dia inteiro de sangrentas escaramuças contra o Access Manager Policy Agent, resolvi voltar ao Kubuntu e usar o JES para Solaris, numa VM.

Mesmo assim, vou registrar aqui algumas dicas para quem quiser instalar e configurar o JES 5 no CentOS 5:

  1. Instalar o pacote libstdc++ (não lembro o resto da versão). Quando instalei no Mandriva 2006, era libstdc++2.10-2.96-0.83mdk.i586.
  2. Fazer um link simbólico para o xdpyinfo. O instalador acha que você não tem, mas ele só está procurando no lugar errado.
  3. Sempre que for instalar, iniciar ou parar serviços (e.g., appserver ou diretório), faça um stop/start do cacao:
    /opt/sun/cacao/bin/cacaoadm start|stop
    Não entendi exatamente isso, mas sei que às vezes o cacao trava e não é encontrado pelos outros daemons.
  4. A instalação do Derby também fica meio capenga. Para usar o Portal, é preciso iniciá-lo:
    ant -DPS_CONFIG=/etc/opt/sun/portal/PSConfig.properties \
    -buildfile /opt/sun/portal/lib/derby.xml start-instance

De resto, bom trabalho.

***

Ah, como é bom voltar ao Kubuntu! A experiência de usar um redhat-like como SO desktop é traumática.

Outro aspecto excitante do (K)ubuntu são os releases semestrais. É melhor que esperar pela Copa do Mundo. De seis em seis meses, tem-se um SO fresquinho, atualizado e cheio de novidades.

Red Hat e Solaris: adicionar swap

12/06/2007

Se você subestimou o apetite de seus programas por memória e está faltando swap, siga as instruções deste item do manual do Red Hat. São alguns comandos simples para se criar um arquivo de swap e usá-lo imediatamente, ou habilitá-lo no boot.

Executei estes comandos para criar um swap adicional de 2 GB no meu laptop (CentOS 5):

dd if=/dev/zero of=/home/swapfile bs=1024 count=2097152
/sbin/mkswap /home/swapfile
/sbin/swapon /home/swapfile

Não tenho certeza quanto às outras distros. No Solaris, os comandos são parecidos:

mkfile 250m /var/novoswap
swap -a /var/novoswap

Outra idéia é fazer uma música começando com “Vacilei no particionamento, agora vai ter que ser assim”.

Cedilha no Kubuntu, ainda

25/05/2007

Há um bug cadastrado no launchpad do Ubuntu sobre este problema. O negócio é que a distribuição por padrão não funciona para quem escreve em português brasileiro e tem um teclado QWERTY normal (US-International). É necessário xunxar aqueles arquivos no /etc para conseguir escrever naturalmente com cedilhas, ou usar atalhos esdrúxulos.

Com certeza, isso tem um impacto ruim na adoção do Ubuntu, ou mesmo do Linux, para usuários brasileiros, pois muitos dos teclados aqui não são ABNT ou ABNT2. O sujeito instala o Ubuntu/Kubuntu e não consegue fazer o diabo de uma cedilha no OpenOffice.

Um cara chamado cenoura descreveu a solução completa, que adapto e traduzo aqui:

  1. Edite o arquivo /usr/share/X11/locale/en_US.UTF-8/Compose 1
  2. Substitua todas as ocorrências de ć por ç, tanto maiúsculas como minúsculas.
  3. Edite o arquivo /etc/gtk-2.0/gtk.immodules 2
  4. Encontre a linha começando com cedilha e coloque “en” na lista.
    “cedilla” “Cedilla” “gtk+” “/usr/share/locale” \
    “az:ca:co:en:fr:gv:oc:pt:sq:tr:wa”

1 Verifique se este é o locale que você está usando: echo $LANG.
2 Dependendo da sua distro ou versão, o diretório desse arquivo pode mudar um pouco, mas deve estar lá (find /etc -name \*immodules\*).

Atualizações do X ou do GTK costumam estragar sua configuração. É só fazer de novo. E torcer para que abram uma eleição em que possamos votar para a correção deste bug.

Serviços na Internet e garantias

16/05/2007

Há um artigo hoje no Slashdot sobre uma fotógrafa islandesa que teve suas fotos postas à venda sem autorização por uma loja londrina. Sem consentimento ou mesmo conhecimento por parte da moça, a loja Only-Dreeming obteve ilegalmente as peças e as incluiu em seu acervo de “best quality canvas prints of the finest photos, by top artists”.

Isso é um saco, mas acontece. Aconteceu também com Helder Rocha, um colega da Summa, que traduziu parte da Divína Comédia de Dante e teve seu texto roubado, adaptado e publicado por um suposto catedrático da Unicamp.

O caso da menina despertou interesse, no entanto, por outro fato. Ela postou as fotos roubadas no Flickr com um comentário magoado e revoltado, dizendo qual era a empresa, o que tinham feito, o que mereciam e que já tinha contratado um advogado para processar os ditos. Resultado: o Flickr removeu arbitrariamente o post.

Yeah, boy. Clique, clique, removido. Não é uma polêmica gigante, apenas algo que já vivemos há tempos. Contas do Gmail, blogs do Blogger, fotos do Flickr. As pessoas precisam lembrar que, apesar de terem os direitos intelectuais sobre o que criam, elas publicam essas criações através de um meio. E o meio eletrônico é, como outros, destrutível. E o proprietário do meio não é o usuário, mas a companhia que fornece o serviço.

O Flickr arbitra sobre o que é e o que não é apropriado para ser publicado em seu site. A última palavra, em princípio, é deles. Neste tipo de site, há sempre um link para os Termos de Uso, com os quais o usuário normalmente é obrigado a concordar antes de se inscrever. Apesar da linguagem legal e formal, estes acordos deixam grandes brechas em forma de ressalvas, para serem usadas em casos como o da garota islandesa.

Quem já teve a paciência de ler um Acordo de Licença de Uso sabe que o tom dos Termos do Serviço Yahoo! citado a seguir é usual em outros serviços:

O Usuário concorda que o Yahoo! Brasil não assume qualquer responsabilidade ou obrigação pela exclusão ou falha no armazenamento de mensagens e outras comunicações ou Conteúdo mantido ou transmitido através do Serviço. Também, o Usuário concorda que o Yahoo! Brasil reserva-se o direito de desativar a conta que esteja inativa por um razoável período de tempo. O Usuário reconhece, ainda, que o Yahoo! Brasil poderá modificar estas práticas gerais e limites a qualquer tempo, a seu exclusivo critério com ou sem notificação.

“Não assume qualquer responsabilidade”, “reserva-se o direito” etc. Essa é a visão que usuários domésticos devem assimilar em relação a serviços na Internet, como emails, blogs e similares. Seu email fulanodasilva@gmail.com não é exatamente seu. Como dizem os próprios Termos de Uso do Yahoo!:

O Yahoo! Brasil reserva-se o direito de, a qualquer tempo, modificar ou descontinuar, temporariamente ou permanentemente, o Serviço ou parte dele, com ou sem notificação.

Não é porque são malvadões, mas simplesmente porque o serviço não é garantido. Falhas acontecem nos servidores e você não está pagando suporte 24/7. Também, se você diz algo que não lhes agrada, ou não agrada a algum parceiro deles, não lhes custa um “clique, clique, removido”.

Se quer garantias, é provável que seja melhor fazer seu próprio hosting, ou pagar por um.

UbuntuStudio - atualizando do Feisty

15/05/2007

No dia 11 de maio, foi lançada a primeira versão do UbuntuStudio, a variante oficial do Ubuntu direcionada a multimídia. Se você já tem o Feisty Fawn instalado, pode utilizar estas instruções para instalar o UbuntuStudio:

# Adicionar os repositórios do UbuntuStudio ao seu sources.list
sudo su -c 'echo deb \\
  http://archive.ubuntustudio.org/ubuntustudio \\
  feisty main >> /etc/apt/sources.list'

# Adicionar a chave GPG do UbuntuStudio
wget -q http://archive.ubuntustudio.org/ubuntustudio.gpg \\
  -O- | sudo apt-key add -

# Reler dados dos repositórios
sudo apt-get update

# Instalar os meta-pacotes do UbuntuStudio
sudo apt-get install ubuntustudio-desktop \\
  ubuntustudio-audio ubuntustudio-audio-plugins \\
  ubuntustudio-graphics ubuntustudio-video

Um review sobre a distro e as aplicações aqui.

***

Atualizando

Depois de instalar o UbuntuStudio pelo procedimento acima, você pode ter problemas ao iniciar o X se tiver uma placa NVIDIA. Para resolver isso, terá que instalar os módulos para o novo kernel:

sudo apt-get install \\
  linux-restricted-modules-2.6.20-15-lowlatency

Outra coisa é que, devido ao UbuntuStudio ser baseado em Gnome, a atualização faz com que o Gnome passe a ser o gerenciador de janelas padrão. Como usuário Kubuntu, vou me propor o desafio de tentar conviver com isso por um tempo, mas imagino que só será possível se arranjar um terminal semelhante ao Yakuake, sem o qual não se vive. Hmmm, mas onde vou arranjar um Amarok?

32 dentes, não confio em ninguém com

08/05/2007

Não sei se ando muito paranóico ou conspiratório, mas tá difícil. The Corporation is taking over. Não alguma em específico, mas qualquer.

Esta semana, o editor-chefe da PC World norte-americana pediu demissão por não agüentar mais as pressões para evitar matérias que denegrissem a imagem de anunciantes [fonte]. O nobre e premiado editor trabalhava há doze anos na revista.

A gota d’água parece ter sido o cancelamento pelo CEO de uma matéria intitulada “Ten Things We Have About Apple”.

Fosse eu, teria publicado o artigo insubordinadamente e ainda sufixado o título com “(além das bolsas tiracolo dos usuários)”.