Feb 25

A cada atualização do Redmine tenho notado as mudanças e quão significante elas são. O Redmine ainda nem chegou a versão 1.0 e na minha opinião já é significativamente melhor que alguns gerenciadores de projeto. Por exemplo, compará-lo com o Jira (licensa de $4,800 anuais) é piada. Redmine é software livre e muito mais completo.

Em sua versão padrão ele é muito bom, mas imagine que existem muitos plugins para turbinar o seu Redmine. Segue abaixo uma lista de plugins extraída da wiki do Redmine:

Plugin list

  • BotsFilterPlugin previne URLs contra indexação de mecanismos de busca.
  • Bulk Time Entry adiciona múltiplas entradas de tempo de uma vez só.
  • Budget é um plugin para gerenciar o conjunto de resultados de cada projecto, automaticamente calcula alguns indicadores de desempenho.
  • Collapse transforma a barra lateral padrão do Redmine para uma barra expansível.
  • Customer gerencia informações básicas do cliente e analisa os projetos deste cliente.
  • Embedded permite enviar arquivos HTML (ex.: documentação auto-gerada, resultados de testes) em seu projeto.
  • Exception Handler habilita o Redmine a enviar e-mails quando algum erro ou excessão ocorrer.
  • ezFAQ gerenciador de FAQ para redmine.
  • ezLibrarian cria um módulo que serve para a gestão de seus livros em sua empresa.
  • Google Analytics inclui de um modo simples o Google Analytics no Redmine.
  • Google Calendar integra o Redmine com o Google Calendar.
  • Project Scores permite ao usuário atribuir uma pontuação ao projeto, incluindo muitos critéiros de análise.
  • RD formatter permite formatar texto no estilo Ruby Doc
  • Question plugin que permite comunicação entre usuários nas tarefas.
  • Simple CI
  • Stuff To Do Permite o usuário atribuir a ordem das tarefas atribuídas a ele.
  • System Notification habilitao Administrador a enviar notificações por email para usuários recem logados.
  • Timesheet plugin para análise de horas trabalhadas de cada usuário, por projeto.

Encontre mais plugins no GitHub.

Dica: Siga o tutorial de como criar um plugin para o Redmine.

Como instalar um plugin

1. Se você está usando a versão 0.7.x, você precisa instalar o Rails engines plugin (certifique-se de que esteja usando a versão 2.0.2 do Rails). A partir da versão 0.8.0 o Rails engines plugin já está incluso no Redmine, então não precisa seguir este passo.

ruby script/plugin install http://svn.rails-engines.org/engines/tags/rel_2.0.0/
mv vendor/plugins/rel_2.0.0 vendor/plugins/engines

2. Copie o diretório do plugin para #{RAILS_ROOT}/vendor/plugins

3. Se o plugin requer migração, rode o seguinte comando para atualizar a sua database (faça um backup primeiro).

rake db:migrate_plugins

4. Reinicie o Redmine (siga as instruções de acordo com o servidor que você está usando).

Jan 15

Foi anunciado no blog Riding Rails que a wiki do Rails será reformada (revitalizada).

Para dar início ao projeto, a equipe do Rails está formando um grupo de pessoas dedicadas e interessadas em colaborar nessa “revitalização”. Interessados devem ingressar no grupo Ruby on Rails Wiki e ler esse tópico (acredito que seja esse) wiki software.

Atual wiki do Rails:

Rails Wiki

Jan 15

Eu adoro plataformas UNIX principalmente pelo fato de eu ter à minha disposição um comandinho milagroso:

$ tail -f log/development.log

Este comando permite que no terminal eu acompanhe o log de desevolvimento da minha aplicação (log/development.log) mostrando-o sempre atualizado.

Hoje lendo a lista de e-mails rails-br eu encontrei um assunto sobre isso e alguns usuários deram dicas realmente relevantes, como quase sempre. Dessas dicas, dois projetos que simulam o tail no windows foram apresentados: WinTail e Tail for Win32.

Aqui onde eu trabalho eu uso normalmente windows, pois trabalho muito com client side e interface. Então essa ferramenta com certeza será muito útil.

Porém, creio que em casa eu vou seguir usando o tail mesmo.

Jan 06

Atenção: O texto a seguir é produto de um usuário descontente com o serviço de internet fornecido pela Viacabo TV Pelotas desprovido de interesses comerciais e comprometido com a verdade.

Preços Turbinados

O provedor de internet Viacabo TV Pelotas aumentou a velocidade da internet nos comerciais e reduziu a velocidade na prática. Em suma, um aumento real de valores, semelhante a redução de peso nas embalagens de alimentos, embora estes informassem, mesmo de leve as alterações.

Como profissional de internet, me sinto obrigado a publicar uma nota repudiando a atitude de algumas provedoras de internet brasileiras. Nós pagamos pelos serviços de comunicação – de baixa qualidade – preços europeus com salários brasileiros.

Recentemente venho enfrentando um problema muito grave diante do meu atual provedor de internet, a Viacabo TV Pelotas. Eu assinei inicialmente um plano de 500 kb pelo preço de R$ 50,00 mensais nos primeiros seis meses. Tudo estava maravilhosamente bem, downloads na média de 75 kb/s, algo razoável pra mim. No entanto, passados os 6 meses eu fui tentar renegociar o plano, pois o preço da internet subiria para aproximadamente R$ 100,00. A tentativa de negociação ia se encaminhando bem quando eu vi que iria sair perdendo, e resolvi então cancelar a negociação e seguir com o plano atual.

No mês seguinte eu notei que minha internet estava mais lenta e fui ao ponto de vendas reclamar. Fiquei sabendo que o meu plano havia sido modificado, sem o meu consentimento, para um plano de 800 kb e que por mais que eu tentasse não seria possível voltar atrás, pois eles não ofereciam mais o plano de 500 kb.

Por incrível que pareça, as prestadoras de serviço têm uma matemática diferente da convencional. Em condições naturais, coeteris paribus, 800 é maior que 500, e eu acredito nisso mais que em qualquer coisa. Mas na Viacabo TV Pelotas essa matemática é inversa. Os meus ótimos downloads de 75 kb/s deram lugar a downloads de 20 kb/s a 40 kb/s com muita sorte. Em suma, a minha conexão embora tenha um rótulo de mais veloz – e preço também – está muito mais lenta do que o aceitável, o que me levou a reclamar por inúmeras vezes do problema de conexão.

Resultado do teste 1

Resultado do medidor de velocidade do site Grátis dia 06/01/2009.

Resultado do teste 2

Resultado do medidor de velocidade do site RJNet dia 06/01/2009.

O fato é que todas as tentativas na central de atendimento foram em vão. Dezenas de ligações e conversas com funcionários que acham que eu tenho que me contentar com o limite de 10% que eles garantem, o que acreditam que o problema seja no meu Windows (e eu nem sou usuário de Windows). Ora, se é pra ter 10%, ou 50% da banda, que seja, quero pagar proporcionalmente. Eu quero ter direito a uma internet de qualidade, é o mínimo que eu desejo. Acontece que Viacabo TV Pelotas não é sinônimo de qualidade, e digo mais, está muito longe disso.

Esgotadas todas as possibilidades diante da Central de Atendimento da Viacabo TV Pelotas eu apelei para a Anatel que é o órgão regulador das telecomunicações no Brasil. Abri um protocolo e aguardei os cinco dias úteis, que se tornaram quase 10 devido aos feriados de fim de ano. Aguardei a Viacabo TV Pelotas entrar em contato comigo e não tive nenhuma resposta. Portanto, liguei à Anatel o atendente me relatou que alguém responsável pela Viacabo TV Pelotas deveria ter entrado em contato comigo. Eu disse que ninguém contactou-me e gostaria de saber a resolução do problema relatado – “Disponibilidade de conexão com qualidade muito inferior a contratada”.

O resultado:

Download de um arquivo pela Viacabo TV

A Viacabo TV Pelotas se manifestou dizendo que para eu ter uma internet de 800 kb/s, de fato, deveria solicitar um link dedicado.

Ora, eu não entendo muito de telecomunicações, e até que alguém me diga o contrário, conexão dedicada é fornecida para pessoa jurídica, a preços elevadíssimos e de taxa de upload igual a taxa de download. Eu assinei um plano de 500 kb/s de download por 256 kb/s de upload e fui migrado para qual plano? Pois a conexão de 500 kb/s era muito melhor que a de 800 kb/s!

A promessa deles enquanto estavam vendendo é de que eles forneciam uma banda maior que a da Brasil Telecom (uma das 3 concorrentes da Viacabo TV Pelotas) . E onde está a qualidade superior? Só vejo preços elevados e qualidade inferior na internet banda larga fornecida pela Viacabo TV Pelotas.

Chega!

Diante do problema ocorrido venho por meio deste solicitar que divulguem a todos os usuários da Viacabo TV Pelotas a baixa qualidade dos serviços prestados por esta provedora de internet banda larga e que aos futuros clientes, pensem bem antes de assinar. Utilize o seu poder de consumidor para lutar por maior qualidade nas telecomunicações brasileiras. Experimente as concorrentes Brasil Telecom, GVT e NET Virtua.

Reclame muito para garantir um serviço de qualidade digno dos preços que pagamos. Em última instância utilize o telefone da Anatel – 0800 33 2001, e se mesmo assim o problema não for resolvido, garanta os seus direitos no Procon.

Jan 02

Particularmente, eu odeio essa função toda de fim de ano, então normalmente não participo de correntes, previsões e todo esse sentimentalismo barato de fim de ano. O ano tem 365 dias, e não somente 7 dias. No entanto, quero compartilhar com vocês desejos meus para 2009 e algumas idéias do que virá a ocorrer.

Primeiramente, creio que em 2009 eu devo ser muito mais ativo tanto em meu blog quanto na comunidade open source. Até agora, estou muito envolvido em projetos grandes e gigantescos, que consomem 70% das minhas 24 horas. Essa vida de desgraça irá acabar, afinal a gente estuda para ter QUALIDADE DE VIDA. Há algum tempo eu já projeto algumas idéias que tenho e que quero dar o pontapé inicial em breve. Algumas das minhas idéias:

  • Quero desenvolver um blog para mim com alguns recursos do wordpress. Ainda não decidi se será um fork do Mephisto ou se eu desenvolverei na forma de plugins para o mesmo. É uma decisão que vai depender da minha leitura do código do Mephisto, pois o mesmo carece de uma API. Taí! Mais uma boa idéia, pro core, claro…
  • Eu adoro o Spesa do Nando Vieira, mas ultimamente ele não tem suprido as minhas necessidades, visto que eu tenho que controlar gastos futuros, estimar custos excedentes, analisar diariamente cotações de moeda estrangeira, realizar trocas em moeda estrangeira e outras “cositas” mais. Atualmente o Spesa não me dá todo esse suporte, por isso já estou pensando em algo que faça isso pra mim, e no futuro quem sabe compartilhar com a comunidade.
  • Vou parar de utilizar Prototype nos meus projetos em Rails. A partir dos próximos projetos já vou usar JQuery como framework de javascript. Além da qualidade existe a quantidade de plugins disponíveis.

Além disso:

  • Um grande projeto em Ruby on Rails vai surgir;
  • Vou desenvolver menos do que desejo em Rails;
  • Uma grande gem e um grande plugin serão publicados;
  • O Carlos Brando irá publicar uma coluna chamada Edge Rails com todas as novidades da “trunk” do Rails;
  • O Fábio Akita vai publicar artigos interessantes e de grande qualidade;
  • Um javista vai falar mal de Ruby;
  • Um rubista vai falar mal de java;
  • E eu vou passar a escrever mais errado ainda depois dessa reforma ortográfica.

Inspirado no post de Lédio Carmona

Dec 29

Vocês devem ter notado (ou não) que eu não tenho postado muito. Um dos motivos é que eu estou trabalhando em tempo integral na Conrad Caine e em projetos particulares nas horas vagas. O outro, se deve ao fato de que o meu Mephisto não estava funcionando direito e eu não conseguia entender o motivo.

Durante a semana passada fiquei animado com a possibilidade de correções de bugs com a saída da versão 0.8.1 do Mephisto, mas as mudanças para mim foram muito poucas. À excessão de que o meu blog agora roda na versão 2.2 do Rails, nada mudou.

O principal problema era no upload de Assets, que aparentemente funcionava, mas não exibia as thumbs na listagem e não apontava a imagem para o caminho correto. Finalmente explorando a árvore de diretórios descobri o problema na semana passada. Era o suporte multi-sites do Mephisto que estava surgindo, e os assets já estão funcionando nessa lógica, pelo menos o modelo, pois as views ainda continuavam desatualizadas.

Até aí tudo bem, uma mexidinha de código poderia acabar com os meus problemas, mas como eu não pretendo ter 2 blogs, isso não era o ideal.

Hoje pela manhã li no blog do Fábio Akita a rápida e indolor solução para todos os meus problemas “blogísticos”. Se você tem este mesmo problema, siga o texto do Akita e bons posts.

De agora em diante, teremos um 2009 cheio de novidades e textos que estão maduros para compartilharmos.

Dec 19

Revista Geek

Acabo de ler no twitter do Everton Carpes a notícia de que o site da Revista Geek está no ar.

A revista da Editora Digerati desde o início do projeto resolveu mudar radicalmente, e na minha humilde opinião, para a melhor. O antigo portal continha milhares de notícias e conteúdos livres dos mais variados assuntos do universo geek e tantos usuários quanto a dimensão de seu conteúdo, o que representa um site de grande expressão. O novo site, é uma mudança de conceitos e tecnologia, adotando Ruby on Rails para o desenvolvimento da aplicação, o que não diminui a sua dimensão, pode até multiplicar-se.

Tive uma pequena oportunidade de participar no projeto e entender que por trás desse simples e funcional conceito do site da revista geek existe uma complexidade muito grande (não confundam complexidade com aplicação mal feita).

Esse é mais um projeto de grandes dimensões para provar que Rails não é somente um framework para pequenas aplicações. Grandes e complexas aplicações podem sim (e no meu conceito, DEVEM) ser desenvolvidas em Rails.

Para finalizar deixo os meus parabéns a todos os envolvidos no projeto desde o início, principalmente ao Everton por levar este projeto adiante.

Sep 30

Instale o Template Earthtone em seu Blog rodando em Mephisto

Acabo de criar um repositório no GitHub com o tema deste blog. Ainda ontem eu tinha vontade de criar um repositório para poder compartilhar este template do Wordpress que eu converti para utilizar no Mephisto. Atualmente, ainda existem algumas mudanças a fazer pois o HTML e as técnicas CSS não são as melhores. Se alguém quiser colaborar, sinta-se à vontade.

Repositório Git: http://github.com/vebersol/earthtone-to-mephisto/tree

Install Earthtone Theme in your Blog under Mephisto

I’ve just set up a repository in GitHub with the theme of this blog. Just yesterday I was thinking about creating a repository to share this template of Wordpress I convert to the mephisto. Currently, there are still some changes to make because the HTML and CSS techniques aren’t the best. If someone wants to collaborate, come in, you’re welcome!!

Sorry about my english! ;)

Git Repository: http://github.com/vebersol/earthtone-to-mephisto/tree

Sep 30

Depois de muito tempo sem mexer em nada neste blog resolvi mudar a a cara dele para me motivar a escrever mais sobre o que eu tenho feito, como costumava fazer anteriormente.

Eu resolvi seguir a dica do Fábio Akita e converter um tema do Wordpress para Mephisto. O resultado ficou legal, embora eu tenha passado algum trabalho. O tema que eu estou utilizando foi encontrado aqui e se chama Earthtone. Em breve eu publicarei a conversão para que quem está cansado dos poucos e repetitivos temas do Mephisto tenham mais uma escolha de layout.

Aug 12

Hoje, com um tempinho a mais para ler meus Feeds vi que o ex-colega de trabalho Felipe Mathies está RE-lançando o seu blog em um domínio próprio. O Felipe trabalha em tempo integral com Rails utilizando técnicas de desenvolvimento ágil. Visite a nova casa dele na web agora.

Felipe Mathies

Updated: Incluí o http no link. Valeu Vinícius Krolow

Aug 05

A TeHospedo acaba de anunciar o lançamento do mod_rails em produção. É a primeira empresa de hospedagem brasileira a implementar o Passenger em seus servidores. Visite o Blog da TeHospedo para ler mais.

Se você tem dúvidas quanto a estabilidade do servidor, saiba que meu blog está rodando com Passenger há mais de um mês e não tive problemas na utilização. Recomendo!

Para assinar, clique aqui

Aug 04

Eu já estava enjoado do problema de transparência do flash 9 para o Linux. Saí em busca de uma solução genérica e funcional. Acabei me surpreendendo quando vi que já liberaram versões beta do flash 10.

Segundo alguns colegas aqui do escritório da Conrad Caine, o flash player 10 virá com 3D nativo entre outras features. Acabei de instalar e fiquei satisfeito com o resultado. Problemas de transparência e problemas de disposição (As animações em flash ignoravam o z-index, ficavam sempre à frente de tudo) foram resolvidos.

Clique aqui para baixar a versão do flash player 10 para Linux, Mac, Windows e etc…

Jul 10

Se você tem um pequeno projeto e não tem interesse em pagar um VPS para manter seu repositório git rodando com o redMine, configurá-los em sua hospedagem padrão é uma ótima e barata idéia. Eu recém fiz e achei muito simples fazer.

Antes de tudo é necessário que sua hospedagem tenha:

  • acesso disponível via SSH;
  • Ruby on Rails rodando com fcgi ou mod_rails
  • SVN instalado (opcional)
  • Git
  • Gerenciamento de chaves SSH pelo CPanel

Instalando o redMine

A instalação do redMine é muito simples. Basta seguir os passos do próprio site do redMine, clicando aqui e após configurar o redmine de acordo com as suas necessidades.

h3, Criando o repositório Git em sua máquina

Se você ainda não tem um repositório local, é necessário criá-lo, vamos aproveitar e criar uma aplicação Rails para já termos o que enviar ao servidor.

 $cd /home/usuario/workspace
 $rails my_git_project
 $cd my_git_project
 $git init
 $git add *
 $git commit -m "My first commit" 

Movendo o seu repositório para o seu shared host

Antes de mais nada é preciso ter em mente que só enviar o seu repositório Git por FTP pode não ter o funcionamento adequado. Para isso, prepare o seu repositório para ser movido.

 $cd ~/workspace
 $git clone - -bare my_git_project my_git_project.git
 $touch my_git_project.git/git-daemon-export-ok

Pronto, agora seu repositório está pronto para rodar em seu shared host. Agora é necessário enviá-lo para o seu host. Acesse por SSH ou FTP o seu shared host e crie um diretório (que eu vou chamar de src) na home de seu shared host, algo como /home/username/. Se você quiser enviar por SCP, faça o seguinte:

 $scp ~/workspace/src/my_git_project.git username@meudominio.com:/home/username/src

Pronto! Seu repositório Git já está no seu servidor e pronto para ser utilizado.

A partir de agora o endereço de seu repositório será algo como:

 $ssh://username@meudominio.com/~/src/my_git_project.git

Teste o seu repositório

 $git clone ssh://username@meudominio.com/~/src/my_git_project.git

Se você fizer isto, será solicitada a senha SSH do seu host. Digite a senha e terá o seu repositório em poucos segundos.

Liberando as suas chaves SSH

Assim como o Github você pode adicionar chaves SSH de sua máquina e de outros desenvolvedores que terão acesso irrestrito sem a necessidade de senha.

Atenção: Não são todos os shared hosts que têm está opção. Posso afirmar que a hospedagem que eu utilizo fornece esta opção.

MUITO IMPORTANTE: Quem tiver acesso irrestrito ao seu repositorio git também tera acesso irrestrito a todos os arquivos e bancos de dados do seu shared host.

Os passos a seguir são referência do meu CPanel.

Para inserir as chaves ssh de seu computador e de terceiros, faça o seguinte:

Para ter uma chave SSH é necessário criá-la, para isso, recomendo que leiam esta página do Github.

 $cd ~/.ssh
 $cat id_rsa.pub

Copie o resultado sem nenhum espaço em branco do início e faça o seguinte:

Procure o item SSH/Shell Access como mostra a imagem abaixo:

SSH/Shell Access

Após clique no botão Manage SSH Keys e clique em Import Key.

Cole a sua chave SSH como mostra a imagem abaixo (Não preencha os demais campos):

Import SSH Keys

Após clicar em import, vá à listagem de chaves públicas (Public Keys) e clique em Manage Authorization e após clique no botão authorize.

Pronto! Agora você não precisa mais digitar a senha de seu shared host toda vez que quiser fazer um clone ou enviar seus commits ao repositório.

Jul 05

Ontem ao publicar uma demo no ar, penei para descobrir porque eu não conseguia criar um novo produto durante o teste da aplicação. Utilizando o WEBRick eu conseguia criar normalmente. Seria um problema de banco de dados ou da utilização da versão de alguma gem? Além disso, todos os outros formulários de criação funcionavam.

O que será então?

Se trata de um bug no FCGI. Simplesmente quando o método multipart está definido como true, ao tentar cadastrar um dado novo no banco de dados, ele não consegue direcionar o POST para a action create do seu controller. A solução é simples e indolor. No seu form de new faça o seguinte:

<%= error_messages_for :product %>

<% form_for(:product, :url => "#{products_path}/", :html => { :multipart => true }) do %>

  <%= render :partial => 'form' %>

  <p>
    <%= submit_tag "Salvar" %>
  </p>
<% end %>

Note que no lugar de @products eu pus :product, :url => ”#{products_path}/”, isto porque o bug somente ocorre pela falta da barra após o nome do controller. Se a action do form estiver somente ”/products” ele irá entender que você quer acessar a action index e não o create. Com a barra no final da action tudo vai funcionar perfeitamente.

Qualquer dúvida, comente, talvez hajam soluções melhores.

O crédito para o descobrimento deste bug é para o Everton Carpes.

Jul 05

Ontem foi anunciado aos assinantes da TeHospedo.com.br que haverá oferecimento de hospedagem gratuita para quem quiser testar Rails utilizando o famoso mod_rails.

A hospedagem gratuita estará rodando durante os meses de julho e agosto para que a oferta do serviço seja da qualidade que a TeHospedo já oferece há tantos anos.

O que você terá para utilizar a hospedagem da TeHospedo:

  • Acesso SSH
  • Capistrano 2.4
  • Git e SVN
  • Rails 2.1
  • mod_rails
  • e muito mais…

Maiores detalhes sobre hospedagem Ruby on Rails com o mod_rails, clique aqui.

Se você não deseja utilizar os servidores da TeHospedo para testes e já quer rodar sua aplicação em produção, clique aqui e já tenha a sua conta ativada em menos de duas horas úteis.

A TeHospedo também está oferecendo hospedagem gratuíta para domínios .can.br, confira aqui.

SUPER PROMOÇÃO HOSPEDAGEM RAILS