Rodrigo Rosenfeld Rosas

Inauguração do site

12/03/2010 22:41

Para inaugurar este site, resolvi escrever meu primeiro artigo sobre os motivos que me levaram a finalmente escrever um site, como ele está estruturado em termos técnicos e por que eu tomei certas decisões ao desenvolvê-lo.

Motivação

Há muitos anos eu vinha pensando em escrever meu site. Havia muitos assuntos sobre os quais eu tinha interesse em escrever e discutir, mas por muito tempo eu realmente não tive tempo. Muita correria: graduação, mestrado, emprego, casamento. Quando eu tinha algum tempo à noite eu estava extremamente cansado para preparar um site.

Durante esse tempo, eu cheguei a pensar em utilizar uma estrutura pronta como o Blogger, Wordpress e outros, mas eu simplesmente não gostava da ideia de perder o controle sobre meus artigos. Embora eu pudesse personalizar o Wordpress, ele é escrito em PHP, então, resumindo: não, obrigado. Eu gostaria que meu site fosse exatamente como eu planejasse e essas ferramentas não me permitiriam controle total sobre o site e eu imaginava que futuramente daria muito trabalho para migrar os artigos para uma nova estrutura de site.

Quando passei a ter mais tempo disponível durante as noites, voltei a pensar em construir o site, do meu jeito, em Rails. Mas eu esbarrava sempre no mesmo problema. Eu não estava disposto a investir dinheiro mensalmente em um serviço de hospedagem para disponibilizar um site sobre o qual eu não teria qualquer retorno financeiro. Tampouco eu encontrava um serviço de hospedagem gratuito que suportasse Rails e nem estava disposto a desenvolver o site em outra tecnologia.

Recentemente, vários dos blogs que acompanho nos meus feeds comentaram sobre o Toto. Tanto falaram que resolvi ler mais profundamente sobre o Toto e fazer uns testes com ele. Toto é um sistema para construção de blogs escrito em torno de 300 linhas de código em Ruby, diretamente sobre o micro-framework web Rack.

Toto foi o motivo que culminou em minha decisão de finalmente levar à frente a ideia da construção deste site. Estas foram as principais ideias que inspiraram o projeto deste site:

  1. Os artigos são armazenados em disco e não em um banco de dados. Isto permite fácil gerenciamento de versão do artigo, utilizando meu sistema de controle de versões favorito: Git.
  2. O gerenciamento dos comentários é delegado ao Disqus, um sistema que eu não conhecia e que achei fantástico.
  3. Finalmente, o motivo principal foi que Toto fez com que eu finalmente lesse mais profundamente sobre o Heroku. Eu já tinha visto vários artigos comentando sobre o Heroku, mas cada vez que eu acessava seu site eu acabava não entendendo prontamente sobre o que se tratava e, no meio da correria, acabava não fazendo questão de entender. Finalmente, depois de ler mais sobre o Toto, entendi que era um serviço que me permitiria hospedar uma aplicação Ruby sem custo. Assim, todos os obstáculos haviam desaparecidos.

Por que não o Toto?

Minha primeira ideia foi realizar exatamente o procedimento recomendado pelo Toto. Na medida em que ia elaborando o site sobre o Toto, eu esbarrei em alguns obstáculos:

  1. O primeiro tratava-se de como exibir os códigos dos artigos, de modo destacado (code highlighting). Este foi fácil de resolver após ler alguns artigos na Internet explicando como integrar o CodeRay ao Toto, por exemplo.
  2. O próximo desafio tratava da internacionalização. Como eu pretendia escrever em inglês também, eu gostaria de ter um maior controle sobre suporte à internacionalização e Toto sequer se preocupa em oferecer algum suporte nativo. Não considero isto um defeito do Toto, mas é apenas uma consideração que me preocupou ao decidir se o utilizaria.
  3. Finalmente, eu gostaria de poder agrupar os artigos em pastas, que seriam os tópicos principais sobre os quais discutirei neste site, como Ruby/Rails, programação em geral, sistemas operacionais, infraestrutura, etc.

O código do Toto é tão simples de entender que é trivial adaptá-lo para uma aplicação Rails e acomodá-lo para atender minhas expectativas. E foi exatamente o que fiz. Adicionei suporte à internacionalização e permiti uma organização dos artigos em pastas, como meta-informações sobre os tópicos que representam.

No fundo, as principais ideias deste site foram extraídas do Toto, projeto ao qual sou bastante grato. Agradeço ao seu criador Alexis Sellier, pela inspiração que resultou neste site.

Até o momento, nenhum banco de dados está sendo utilizado e as estatísticas de acesso estão sendo gerenciadas pelo Google Analytics. As imagens estão sendo hospedadas pelo Amazon S3 e para destacar os códigos está sendo utilizado o Ultraviolet. RDiscount está sendo utilizado para processar os textos em Markdown.

Dada a inauguração, espero que gostem dos próximos artigos.

comentários gerenciados por Disqus