Pseudo-blog | Projetos, delírios e coisas do gênero

Goshen-pt_BR: tema minimalista para WordPress

Quando tomei a decisão de migrar do Subversion para o Git percebi que seria uma ótima oportunidade de revisar meu backlog de projetos. É claro que encontrei diversas iniciativas aguardando providências… Há muito tempo este blog estava abandonado e precisando de um “tapa no visual”. Portanto, nada melhor que um tema novo para festejar a reativação do blog. Depois de uma breve pesquisa nos repositórios do GitHub encontrei o Goshen, um tema para WordPress encantadoramente simples feito para o blog do jornalista-programador Anthony DeBarros. Resultado: fork imediato. Nasce aí o Goshen-pt_BR, um novo projeto que mantém o design minimalista original mas incorpora mudanças importantes que garantem a aplicabilidade do tema em qualquer blog baseado em WordPress.

Goshen-pt_BR

Gostou do tema? Se sim, fique à vontade para usá-lo no seu blog. Mais informações no site do projeto: https://github.com/luthiano/goshen-pt_BR.

Mudando do Subversion para o Git: antes tarde do que nunca

svn_to_git

O uso de uma ferramenta de controle de versões é indispensável para desenvolvedores de software. Apesar de me considerar um early adopter,  quando o tema é gerenciamento de configuração sempre fui conservador. Tanto que, em mais de 15 anos, praticamente só usei três ferramentas: o cru SourceSafe (pré-Team Foundation Server), o honesto CVS e o robusto Subversion, cronologicamente nessa ordem. Entendo que o sistema responsável pelo gerenciamento do código fonte deve ser transparente, seguro e estável, portanto não é desejável (nem produtivo) experimentar inovações desnecessárias. O Subversion foi um fiel escudeiro em incontáveis projetos e iniciativas, contudo acho que é hora de admitir que ele ficou obsoleto! Por favor, não me leia mal, continuo achando o Subversion um Senhor Software (com Ss maiúsculos!), porém vejo que ele está inexoravelmente preso a um paradigma tão ultrapassado quanto a calça boca-de-sino: o controle centralizado.

Centralizado versus Distribuído

Acredito que os adjetivos que guardo para o Subversion são suficientes para demonstrar meu o tamanho do meu apreço. Porém, a ideia de manter um único repositório central, na minha humilde opinião, torna-se cada dia menos racional. A abordagem dos sistemas distribuídos descontrói o modelo client-server e promove o peer-to-peer, ou seja, ao invés de um exclusivo repositório no servidor, cada cliente tem o seu próprio.

client-server vs peer-to-peer

Eis cinco excelentes vantagens que os sistemas distribuídos de controle de versões oferecem sobre os jurássicos tradicionais sistemas centralizados:

  1. Produtividade – as operações de gerenciamento do código fonte podem ser realizadas mesmo quando não há conectividade de rede;
  2. Velocidade – as operações são significativamente mais rápidas, pois não há tráfego de rede;
  3. Gerenciabilidade – os usuários podem utilizar os recursos de controle do código fonte ainda durante os primórdios do projeto, sem a necessidade de publicá-lo.
  4. Confiabilidade – não há ponto único de falha, desde que o modelo é naturalmente redundante;
  5. Versatilidade – é muito mais fácil criar novos projetos baseados em repositórios já existentes (fork).

Considerando todas as vantagens que o modelo distribuído oferece, encontro dificuldades em justificar a razão de não adotá-lo antes. Só consigo pensar em uma explicação: preguiça falta de tempo! Smiley piscando

Git: minha preferência

O cenário de sistemas distribuídos de versionamento é animador: produtos maduros e comunidades ativas. Entre os softwares gratuitos que merecem destaque estão o Git, o Mercurial e o Bazaar. Desses eu escolhi o Git, mas confesso que a decisão foi mais subjetiva mercadológica do que técnica, porque não vejo diferenças funcionais relevantes entre eles.

git_approved

Então o que torna o Git bacana?

  1. Paternidade – foi criado por Linus Torvalds, portanto é o irmão caçula do Linux; Smiley confuso
  2. Aceitabilidade – existem vários bons serviços para hospedagem de repositórios na nuvem: GitHub (lógico!),  Gitorious (óbvio!), CodePlex e Google Code;
  3. Popularidade -  entre os sistemas distribuídos, é o mais utilizado pela comunidade de software livre, conforme levantamento do Ohloh.

Examinando as razões enumeradas neste artigo, acho que é chegada a hora de dizer, sem sentimentalismo, ao Subversion: “Obrigado, velho companheiro, mas seus serviços não são mais necessários”.