Kubuntu 9.10: Desta vez acertaram!

Desde que escrevi o post sobre o Kubuntu 9.04, tive uma experiência muito mais completa com ele. Por isso, estava aguardando ansiosamente uma nova versão. Não que eu tenha achado o Jaunty (9.04) uma versão péssima, mas ao utilizá-lo fui me deparando com vários pequenos bugs que juntos deixaram o sistema meio “sem sal”.

Quando finalmente chegou o dia do lançamento do Kubuntu 9.10 (Karmic Koala), não sabia se depositava minhas expectativas nele ou me conformava pensando que o Kubuntu não teria a mesma atenção aos detalhes que o Ubuntu.

Instalei a versão 64 bits, tanto no notebook quanto no desktop citados no post anterior. Devo admitir que me surpreendi. O novo Kubuntu melhorou muito! Ao comparar com a versão anterior, imagino o gigantesco trabalho da equipe do KDE e da Canonical.

imagem1

Uma lista de novidades está presente neste link, mas eu gostaria de destacar alguns itens que me chamaram a atenção.

KDE 4.3

Esta nova versão do KDE está muito mais bonita e estável. Se você utilizou a versão anterior, deve ter passado por inconvenientes como o gerenciador travar e voltar para a tela de login, ou uma grande perda de performance quando os efeitos da área de trabalho estão ligados.

Dica: Meu computador ficou ligado por muitos dias, aumentando muito o consumo de CPU do programa plasma-desktop. Usei o comando Shit+Alt+F12 para desabilitar os efeitos na área de trabalho e, logo em seguida, repeti a combinação para reabilitá-los. O uso de CPU voltou ao normal.

Amarok 2.2

O amarok da versão anterior era interessante e bonito, mas perdia muitas características se comparado com a versão 1.4 (para kde 3). A boa notícia é que algumas coisas da versão 1.4 voltaram a funcionar (Integração com a Last.fm, exibição de mídias em dispositivos conectados), outras funções foram melhoradas (Painel de contexto, lista de reprodução, personalização do layout), mas ainda sinto falta de algumas coisas (descrição nos episódios dos podcasts, equalizador). De qualquer forma, o amarok 2.2 já é meu player favorito.

Dolphin

Eu já gostava da versão anterior do dolphin. O que fizeram foi melhorar aquilo que já estava bom. E não foi pouca coisa, adicionaram preview das imagens nas miniaturas das pastas e agora também é possível ver um preview do video clicando em um pequeno botão play abaixo de sua miniatura.

Outros componentes também receberam melhorias consideráveis. É o caso do gwenview, kopete, network manager, kpackagekit (apesar de ainda estar confuso na hora de adicionar novos programas), etc. Ou seja, se você estava esperando o KDE 4 ficar maduro para sair do KDE 3 ou para experimentar o Kubuntu, a hora é agora.

Anúncios

Criptografar o código-fonte é uma boa ideia?

Usar uma linguagem de programação interpretada, normalmente, significa que o código-fonte terá que ficar no servidor de produção (no caso de softwares para a web). Em alguns projetos, isto é um problema. Uma solução para muitos é manter o código-fonte criptografado. Apesar de ser uma prática muito comum, acredito que para muitas pessoas esta não é uma ideia muito boa.

A pouco tempo, estava procurando por um módulo de uma ferramenta que estava personalizando. O módulo era gratuito e não foi desenvolvido pelos criadores da ferramenta, que é paga (desculpe por não poder citar o nome das ferramentas. Não se preocupe, isso não é muito importante). Instalei o módulo e quando fui usar, percebi alguns erros. Logo pensei: “Não me parece muito difícil de consertar, talvez eu possa consertar rapidamente e mandar as alterações para os desenvolvedores”. Como vocês já devem imaginar, o código-fonte estava criptografado.

Não consegui imaginar porque alguém criptografaria uma ferramenta assim. Ao ler a página dos desenvolvedores, descobri que a estratégia era cobrar uma mensalidade para obter suporte (ainda assim, sem o código-fonte). Não sou um militante do FOSS (acredito eu), mas acho que criptografar o código e cobrar o suporte, neste caso, é um tremendo tiro no próprio pé.

Imagino que os criadores do módulo não disponibilizam o código por medo de que algum “concorrente” venda ou ofereça suporte ao produto deles. Este risco existe. Mas esta ação não resolve o problema.

Meu primeiro pensamento quando não pude ter acesso ao código foi fazer minha própria versão. Da mesma forma que eu pensei, outra pessoa também. Tanto que ao fazer um pesquisa no google, encontrei um módulo com o mesmo propósito, mais atualizações, sem os erros que eu havia encontrado e com o código aberto.

Pra completar, ao procurar opiniões sobre o módulo de código fechado, a imagem da empresa estava sendo praticamente destruída em diversos lugares, justamente por não permitir que os usuários possam melhorá-lo. Ou seja, a empresa obteve várias desvantagens: Os “concorrentes” podem oferecer suporte da versão de código aberto, os usuários avançados não são incentivados a mandar feedback e corre um grande risco da “má reputação” da empresa chegar aos demais usuários.

Este não é o único caso que eu conheço onde criptografar o código-fonte pode acabar gerando problemas. Já vi venderem código-fonte de software GPL criptografado, por exemplo.

Não acredito que todos os softwares podem ter seus códigos abertos. Mas muitas empresas ao decidir por não compartilhar seu código, não pensam nas desvantagens que podem ter. É sempre bom lembrar que existem idéias muito boas por aí. Por que não estar receptivo a elas?

imagem: johnath

Estudo sob demanda

No momento estou lendo o livro The Art of Agile Development. Não estava na lista, mas está sendo muito esclarecedor para mim. O problema é que, ler um livro deste tipo, quebra um pouco minha rotina de estudo (reservo algumas horas na semana para praticar aquilo que estou lendo). Para resolver isto, estou começando a estudar de uma forma um pouco diferente.

Quando estudo tomando por base um livro, geralmente, leio bastante antes de colocar a mão na massa. A formula que estou usando é exatamente o contrário disto, ou seja, leio menos possível sobre o que estou tentando aprender. Algumas vezes, não leio nada.

Comecei a tentar este método com o Django. A parte interessante já começa aí: Nem sei Python direito! Logo de cara, eu tinha que descobrir como instalar. Isto não foi difícil, resolvi com o gerenciador de pacotes.

Com o Django instalado, fui ler um pouco como ele funciona. Como o objetivo é ler menos, comecei pelo tutorial do site do projeto. Assim que fui lendo o tutorial, já fui criando um aplicativo com uma função bem simples. Não fiz o mesmo aplicativo que estava no tutorial, porque queria encontrar problemas diferentes dos resolvidos ali. Aproveitei também para usar o banco de dados sqlite, ao invés do mysql que eu já estou acostumado. Mais uma vez, instalei o sqlite e comecei a usar sem ler a documentação ou ir ao site do projeto (a princípio).

Enquanto fui criando algumas coisas com o Django e o sqlite, foram surgindo algumas perguntas. À medida que isto foi acontecendo, fui lendo a documentação ou fazendo pesquisas. Fui aprendendo sem seguir algum caminho predefinido, somente a minha curiosidade.

Aprender coisas novas desta forma, é muito divertido (nunca tem a parte chata). Porém, isto também pode ser um tanto quanto frustrante. Em alguns momentos, eu não fazia idéia do que estava faltando para o meu aplicativo funcionar. Algumas vezes isto foi resolvido lendo um pouco mais sobre o que estava fazendo, outras vezes simplesmente comecei tudo de novo.

Tenho consciência que ainda vou precisar ler um livro (ou a documentação) das coisas que estou praticando, para aprender de verdade. Mas estudar desta forma, já está me ajudando a conhecer conceitos novos e aplicá-los em coisas que eu uso no dia-a-dia. Além do mais, é uma uma boa forma de começar a ter contato com o “eco-sistema” dos projetos.

Wildcard DNS no WHM/cPanel [Atualizado]

Wildcard DNS (DNS curinga, tradução livre) é uma forma de poder manipular subdomíos (ou domínios, por que não?) de forma dinâmica.  Ou melhor, segundo a wikipédia, é um registro em uma zona DNS que irá responder por nomes de domínios que não existem. Este é o método usado pelo wordpress-mu para criar novos blogs em subdomínios sem alterar a configuração do apache. Você pode ver isto em ação na página do wordpress.com, blogger ou o antigo site foipreso.com (lembrava deste?).

Se você tem acesso às configurações de um servidor DNS como o BIND, pode adicionar uma entrada wildcard em seu domínio — Como explicado no post do Matt Mullenweg.  Caso contrário, se você utiliza os seviços de uma empresa de hospedagem que disponibiliza o cPanel, acesse o cPanel de sua conta, clique na opção “subdomínios” em seu painel e adicione um novo subdomínio com valor “*”. Ou seja, o endereço completo será: *.seudominio.com.

cPanel-X_1245763031383

O caminho (valor em document root) que você configurar para seu subdomínio irá tratar suas requisições com o wildcard. Para testar, crie um arquivo index.php (se estiver usando PHP no seu servidor) no document root do subdomínio criado, com o seguinte conteúdo:

<?php
print_r($_SERVER);

Digite no seu browser algo como: umnomequalquer.seudominio.com. Dentre os resultados, você verá que a chave SERVER_NAME terá o valor completo do endereço que você digitou. Se tudo deu certo, seu subdomínio está pronto para usar. Com ele você pode apresentar a página do usuário de acordo com a URL, chamar conteúdo do banco de dados, fazer a chamadas a métodos do seu framework , fazer uma página 404 interna, etc. As possibilidades são infinitas.

04/11/2009 – Atualização: Como comentado pelo Victor Teixeira, não é necessário editar as zonas de DNS no WHM. Isto é feito automaticamente quando um novo subdomínio é adicionado. Removi a parte do post referente a isto. Obrigado Victor 🙂

Linux Kubuntu 9.04 com KDE 4.2: É para amar ou odiar?

Quem me segue no twitterdeve ter percebido que minha distribuição linux favorita é o kubuntu. Por esta predileção, instalei esta versão no dia do lançamento, muito animado. A impressão inicial não poderia ser melhor. Depois do primeiro dia, porém, comecei a ver que nem tudo era tão perfeito assim. Conheci a verdadeira face do sistema instalando em um segundo computador com dois monitores. Este post ao mesmo tempo encoraja e alerta quem está interessado nesta distro.

O primeiro computador a receber o kubuntu foi um notebook dell inspiron 1525 com processador intel core 2 duo e 4GB de RAM. Após a instalação de apenas 12 minutos, o sistema fez um boot de ótimos 27 segundos para uma interface muito bonita e cheia de efeitos. Como você pode conferir neste link, este notebook é certificado para rodar esta versão do ubuntu (eu nem sabia que isso existia).

Snapshot do Kubuntu 9.04

Snapshot do Kubuntu 9.04

Sobre esta instalação, não tenho grandes críticas. Já aconteceu um congelamento no sistema e o firefox simplesmente fechou algumas vezes. Isto me incomodaria muito se o boot não fosse tão rápido e tanto o KDE quanto o firefox não salvassem minha sessão. Ou seja, até então só tive boas impressões.

A segunda instalação foi em um desktop. Infelizmente, não me lembro de detalhes do hardware. Só sei que tem um processador intel com 2GB de RAM e placa de vídeo Nvidia. Tudo ocorreu muito bem, igual à instalação no notebook. Como tenho dois monitores, abri o nvidia-settngs e ativei os dois com X-Servers separados e Xinerama.

imagem2

Foi aí que os problemas começaram. Os efeitos na área de trabalho pararam de funcionar, as janelas começaram a deixar um grande rastro quando são arrastadas e, o pior, quando arrasto o mouse de uma tela para outra, o ícone do mouse não some da tela de origem. Ou seja, por causa do defeito do mouse, fico com um ponteiro em cada tela! Não sei se este problema é por causa do KDE, da placa de video ou outro fator qualquer.

A interface do KDE 4.2 é muito inovadora e bem instável. Ele é muito recomendado se você utiliza apenas um monitor e conseguir habilitar todos os efeitos da área de trabalho. Se você usa dois monitores, saiba que esta versão está muito melhor que a anterior, mas precisa melhorar muito. Quem sabe na próxima?

O sonho do domínio próprio

1717425332_a0a0e87ef1_oÉ com grande satisfação que estou inaugurando o novo domínio do blog. Agora, para acessá-lo você só precisará digitar o endereço: renanivo.com. A vantagem não é só o endereço mais simples de acessar, mas também, agora o blog utiliza o wordpress!

Esta mudança faz com que eu tenha à disposição diversos plugins e temas. Além disso, só pelo blog estar na sua hospedagem própria, agora é possível hospedar arquivos para download (aguarde por códigos-fonte em breve).

Não se esqueça de visitar e assinar o novo RSS

imagem: Liquid Lucidity

Bugs que me deixaram ocupado este mês

Atualmente estou lendo 2 livros, desenvolvendo um “projeto de estimação”, e estudando algumas coisas menores em paralelo. Mas não é só isso que tem roubado meu tempo, e minhas noites de sono. Encontrei alguns bugs em tarefas que deveriam ser triviais. Estou compartilhando na esperança de ajudar outras pessoas a economizar o tempo que gastei.

1- Eclipse Ganymede + PDT 2 + Linux 64 bits
O eclipse não é o auge da produtividade, mas é minha ferramenta preferida para fazer código. A grande vantagem do eclipse é sua extensibilidade. É possível encontrar plugins para TUDO, embora eu ache que muitos plugins comprometem muito sua estabilidade (assim como acontece com o firefox).

Apesar de ser muito fácil de instalar os plugins, não consegui de jeito nenhum instalar o PDT 2 no meu eclipse ganymede que está instalado no meu notebook com kubuntu 9.04 x86_64. Muito google depois, encontrei a salvação neste post

2 – mod_rewrite no WordPress MU
Apesar da instalação no servidor de desenvolvimento (meu computador) estar funcionado perfeitamente, minha instalação do WPMU no servidor de produção não estava exibindo as imagens corretamente, encaminhando a requisição para um erro 404. Recorri ao google e descobri que isto aconteceu com um usuário do forum do WPMU. O problema é que este usuário decidiu simplesmente trocar de servidor!! Google de novo, leitura da seção do mod_rewrite no manual do apache, e finalmente encontrei uma solução que coloquei no forum (em resposta ao usuário que trocou de servidor).

Ainda estou monitorando esta resolução, não sei se pode causar outros bugs no futuro. Até o final desta edição (sempre quis dizer isto) não tive nenhum problema. Ainda assim, publico aqui, se ocorrer algo.

A parte boa de tudo isso é que estudei algumas coisas que, com certeza, serão usadas no futuro. Só espero não ter outra sessão de aprendizado forçado tão cedo, afinal, preciso produzir alguma coisa!

Atualização: A correção que eu coloquei no forum do WPMU funcionou apenas para o site principal, nos sub-domínios o erro persistiu. Uma nova correção, com explicação, está neste link.