Arquivo para março \22\-03:00 2010

GTD: Automatizando sua Agenda diária usando Google Calendar e Gnome


S.O: Ubuntu 9.10
Ferramentas abordadas: Mozilla Sunbird, Gnome Evolution, Google Calendar, iCalendar, Gnome Clock

Esse post foi feito especialmente para aqueles que adoram utilizar o gnome como shell gráfica e que adoram concentrar sua agenda em um ponto específico, no caso o google calendar.

Já vou começar avisando que o motivo de toda essa parafernalha, é que o plugin do Gnome Evolution para conectar com os serviços da google não funciona 100% então tive que adotar esse workaround.

O google calendar já é um velho conhecido, nele podemos manter em um só local nossos apontamentos e compromissos.

O gnome evolution é a ferramenta default de PIM (Gerenciamento de Informações Pessoais) adotada como padrão no Ubuntu. Agora, por que eu acho legal usar o evolution?

  • O Gnome Evolution possui integração com o Gnome Clock, assim no calendário padrão é possível visualizar seus compromissos, também  quando clicando duas vezes em uma data será aberto automaticamente a agenda em tal dia.
  • Também o alarme integrado é legal:

Porém o mais legal seria o Gnome Evolution fazer Read/Write no Google Calendar. Atualmente existe um plugin no repositório que promete fazer isso, porém eu não tive boas experiências com este e não consegui fazê-lo funcionar. Fui obrigado a tomar a seguinte alternativa:

  • Instale o Sunbird (ferramenta de calendário da mozilla)
  • Configure sua conta google, caso tenha dúvidas: http://www.google.com/support/calendar/bin/answer.py?hl=en&answer=99358#sunbird
  • Faça o download e instale o plugin do sunbird: Automatic Exporter (https://addons.mozilla.org/pt-BR/sunbird/addon/3740)
  • Configure o plugin para exportar o google calendar para um arquivos iCal clicando em Ferramentas > Complementos > Automatic Exporter > Preferencias.
    • Marque a opção exportar ao fechar;
    • Selecione o local em que deseja que seu arquivo .ics seja salvo;
    • Selecione o formato iCalendar;
    • Marque a opção Ativo na área Iniciar uma aplicação depois de exportar, e preencha os campos da seguinte forma:
      • Caminho da aplicação: evolution
      • Parametros da aplicação –force-shutdown
  • Agora abra o Evolution
  • Agendas > Clique direito na listagem das agendas > Nova Agenda
    • Tipo: Neste Computador
    • Marque: Personalizar Opções
    • Selecione o arquivo *.ics gerado pelo sunbird (assegure-se de fechá-lo antes para que o export ocorra)
    • Marque a opção Atualizar Periodicamente

Agora vou explicar o motivo disso tudo: O arquivo .ics será nossa ponte entre o Google Calendar -> Sunbird -> Gnome Evolution, o comando “evolution –force-shutdown” irá forçar o evolution a atualizar o calendário do gnome e fechar automaticamente.

Único empecilho é que você deverá utilizar sempre o Sunbird para controlar sua agenda.

Assim termina o nosso workaround, caso tenham alguma duvida sintam-se a vontade de questionarem.

Sql para selecionar nomes de tabelas e colunas no postgres

Um simples sql para quem quer buscar colunas e tabelas no Postgres

select 
c.relname,
a.attname as "Column",
pg_catalog.format_type(a.atttypid, a.atttypmod) as "Datatype"
 
from pg_catalog.pg_attribute a 
inner join pg_stat_user_tables c on a.attrelid = c.relid
WHERE
a.attnum > 0 AND
NOT a.attisdropped
order by c.relname, a.attname

Linux: Comando for no console – Exibir encoding de multiplos arquivos

O código a seguir é um exemplo de como usar loop no console do linux (bash), funciona como um foreach em uma lista
(the following code shows how to use loop/foreach/for on linux console)

$ for i in `find *`; do file "$i" --mime-encoding ; done

O resultado será uma listagem com o encoding de todos arquivos a partir do diretório atual·

exemplo de resultado: webroot/js/jquery.meio.mask.min.js: utf-8

outro exemplo usando if aninhado

for i in `find *`; do if ! echo $i|grep svn --quiet; then file "$i" --mime-encoding; fi; done

p.s: uma forma mais simples de executar o comando acima seria usar o comando “grep svn –revert-match” ou então negar svn no grep, porém não tive sucesso em alguns testes, exemplo:

$ for i in `find *|grep svn --invert-match`; do file "$i" --mime-encoding ; done

Referência:
http://www.vias.org/linux-knowhow/bbg_sect_09_01.html
http://www.vias.org/linux-knowhow/bbg_sect_07_02.html