Escrevi um artigo algum tempo atrás falando sobre as armadilhas do “multitasking” no nosso dia a dia. Uma das minhas sugestões no artigo foi usar uma ferramenta para anotar as horas e tarefas, o que ajuda a manter o foco em uma coisa de cada vez. Neste artigo vou apresentar uma nova ferramenta que estou usando e gostando bastante, o Watson.
Eu passo a maior parte do meu tempo na frente do computador com um terminal aberto. Quem me conhece sabe que não sou fã de IDEs e uso o terminal para fazer tudo, desde pesquisa em arquivos (grep, fgrep, find, ack) até executar testes unitários (PHPUnit, go test) e deploys (shell script). Nada mais natural que eu acabasse usando a linha de comando para monitorar o meu tempo também. Em uma das minhas leituras diárias no Hacker News esbarrei com uma ferramenta interessante, o Watson.
O funcionamento dele é bem simples. Após a instalação basta iniciar o trabalho usando o comando start, como no exemplo:
watson start coderockr +"Criacao de Artigo"
Sim, estou usando o Watson para monitorar o tempo que estou dedicando para escrever este artigo!
O parâmetro coderockr é o nome do projeto e o +“Criacao de Artigo” é a tag que estou atribuindo ao trabalho. É possível colocar mais tags, seguidas de espaços como:
watson start coderockr +"Criacao de Artigo" +Medium +Produtividade
Para visualizar todos os seus projetos basta executar:
watson projects
E as tags com o
watson tags
Também é possível ver o status do trabalho que está realizando agora:
watson status Project coderockr [Criacao de Artigo, Elton Minetto] started 9 minutes ago (2017.08.22 08:23:56-0300)
E ver o log dos seus trabalhos recentes com o :
watson log
A saída do comando log vai mostrar um identificador do trabalho, algo bem parecido com um commit do Git. Com esse identificador é possível editar determinado trabalho:
watson edit 66843a7
O seu editor padrão vai ser aberto com um arquivo json contendo as informações do trabalho, que pode ser alterado e salvo.
Para salvar o histórico dos trabalhos existe duas soluções. A mais simples é configurar uma variável de ambiente indicando para o Watson onde salvar seus arquivos, o que pode ser em um diretório do Dropbox, iCloud, ou mesmo Git. Eu configurei desta forma:
WATSON_DIR=/Users/eminetto/Dropbox/watson
A segunda forma é usar um servidor remoto para armazenar o seu log. O Watson tem um projeto complementar, o Crick. Com ele é possível sincronizar os seus logs e também visualizar de maneira gráfica como está sendo usado o tempo em cada projeto.
O Crick é um projeto open source que pode ser hospedado em um servidor próprio mas também existe uma solução na nuvem que pode ser usada tranquilamente. O Crick também permite a criação de times, o que facilita o seu uso em grupo. Depois de criada a conta no http://crick.io, ou no servidor próprio, basta configurar o Watson para usar o backend do Crick para sincronizar os dados. Depois de configurado basta executar o comando:
watson sync
Desta forma os logs são enviados para o servidor e ficam disponíveis via interface gráfica.
A grande vantagem do Watson é podermos usá-lo em automatizações e scripts, facilitando bastante o dia a dia do desenvolvedor e evitando o multitasking. E o Crick ajuda bastante na tarefa de visualizar de maneira mais rápida e prática como estamos consumindo nosso tempo, o que ajuda na otimização de tarefas.
E tudo isso sem sair do nosso amado terminal 😉