Marcio Trindade

Julho de 2014

Temas do Sublime Text 3

Hoje queria trocar o tema do meu sublime text editor, então percebi que esta não é uma tarefa muito fácil, por que você precisa fazer isso pelo menu.

Procurei uma maneira mais fácil e a opção que encontrei foi alterar meu arquivo de configuração, mas como saber quais são todos os temas disponíveis? Procurei a lista com todos eles e não encontrei então com alguma paciência eu criei a lista abaixo.

Default
"color_scheme": "Packages/Color Scheme - Default/All Hallow's Eve.tmTheme",
"color_scheme": "Packages/Color Scheme - Default/Amy.tmTheme",
"color_scheme": "Packages/Color Scheme - Default/Blackboard.tmTheme",
"color_scheme": "Packages/Color Scheme - Default/Cobalt.tmTheme",
"color_scheme": "Packages/Color Scheme - Default/Dawn.tmTheme",
"color_scheme": "Packages/Color Scheme - Default/Eiffel.tmTheme",
"color_scheme": "Packages/Color Scheme - Default/Espresso Libre.tmTheme",
"color_scheme": "Packages/Color Scheme - Default/IDLE.tmTheme",
"color_scheme": "Packages/Color Scheme - Default/iPlastic.tmTheme",
"color_scheme": "Packages/Color Scheme - Default/LAZY.tmTheme",
"color_scheme": "Packages/Color Scheme - Default/Mac Classic.tmTheme",
"color_scheme": "Packages/Color Scheme - Default/MagicWB (Amiga).tmTheme",
"color_scheme": "Packages/Color Scheme - Default/Monokai Bright.tmTheme",
"color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme",
"color_scheme": "Packages/Color Scheme - Default/Pastels on Dark.tmTheme",
"color_scheme": "Packages/Color Scheme - Default/Slush & Poppies.tmTheme",
"color_scheme": "Packages/Color Scheme - Default/Solarized (Dark).tmTheme",
"color_scheme": "Packages/Color Scheme - Default/Solarized (Light).tmTheme",
"color_scheme": "Packages/Color Scheme - Default/SpaceCadet.tmTheme",
"color_scheme": "Packages/Color Scheme - Default/Sunburst.tmTheme",
"color_scheme": "Packages/Color Scheme - Default/Twilight.tmTheme",
"color_scheme": "Packages/Color Scheme - Default/Zenburnesque.tmTheme",

Utilize o Gmail para todas suas contas

O assunto de hoje é um "off topic" que vale a pena comentar aqui, eu tenho mais de uma conta de email e no caso esta segunda, que vou chamar de conta "X", não é um gmail. Logo eu não consigo utilizar a interface web do google.

Por que utilizar a interface do Gmail.

  • Pra mim é muito melhor do que todos os clientes de email que já utilizei;
  • Não utiliza espaço no meu SSD;
  • Está disponível pra qualquer computador, tablet ou telefone;
  • Possui uma busca incrível e muito rápida;
  • Tem a melhor organização que conheço (multi-labels).

Tendo isso em mente tentei de algumas formas receber os meus emails da conta "X" na caixa de entrada do Gmail e não consegui, foi então que pensei em uma solução que resolveria os meus problemas, decidi escrever uma aplicação simples em Ruby que conecta na conta "X" copia os emails pra conta do Gmail e depois apaga o email da conta "X".

A idéia é bem simples e tem funcionado pra mim a mais de 6 meses, por isso resolvi compartilhar para que mais pessoas que prefiram utilizar o gmail possam o fazer também.


Rails + Unicorn + Upstart + Monit

Hoje vou mostrar como estou utilizando o deploy deste blog que é um projeto Rails com o código fonte aberto. O mesmo está rodando em um servidor linux "Ubuntu 14.04.1 LTS (Trusty Tahr)". Não vou entrar em detalhes aqui de como preparei a máquina, mas deixo a dica de que estou utilizando Ansible pra isso.

Unicorn

A configuração do unicorn que eu estou utilizando não tem muito segredo, é uma configuração simples que você encontra parecidas no github como exemplo.

/etc/unicorn/blog.rb
listen            "/tmp/blog-unicorn.sock"
logger            Logger.new($stdout)
pid               "/var/run/blog/unicorn.pid"
preload_app       true
timeout           10
worker_processes  2
working_directory "/var/www/blog/current"

before_fork do |server, worker|
  defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect!
end

after_fork do |server, worker|
  defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection

  child_pid = server.config[:pid].sub(".pid", "#{worker.nr}.pid")
  system("echo #{Process.pid} > #{child_pid}")
end

Conhecendo o Monit

Monit é um utilitário pequeno e open source criado para gerenciar e monitorar sistemas unix.

Eu passei a utilizar o monit para monitorar os meus projetos pessoais ao invés da gem God que além de mais complexo é escrito em Ruby.

O Monit está disponível para algumas plataformas, vou mostrar como eu instalei no Ubuntu utilizando o gerenciador de pacotes apt. No site do monit tem algumas outras formas de distribuição ou até mesmo o código fonte para ser compilado:

console
# atualize os pacotes
sudo apt-get update
# instale o monit
# sudo apt-get install monit