E já que estamos de mudança…

Assumi uma solução mais econômica pro meu blog visto que meus projetos estão congelados. Logo Tagliati.com passa a ficar dentro do wordpress.com mesmo.
Como não ganho fortunas em publicidade e a necessidade de customização de layout é zero resolvi me utilizar deste recurso.

Por $30,00 anuais você ganha o direito de configurar seu domínio para apontar para uma conta do wordpress.com que foi o fiz no caso. É uma alternativa boa para aqueles que querem manter o blog com sua url com url customizada mas que não curte fazer alterações em layout

Para os projetos que venho brincando provavelmente seguirei o caminnho de muitos e testarei os serviços da amazon ( for free por um ano. procede ratinho? ). Só preciso estar plenamente estabelecido em sampa pois me falta o básico para sobreviver ainda ( internet ).

Kindle além da leitura de livros

Alguns podem não saber mas o kindle ainda é um produto em desenvolvimento e seu software além de ser continuamente atualizado possui uma série de funcionalidades ( não tão úteis) que, seja por teste ou pelo bom humor de algum desenvolvedor maluco, não estão acessíveis nos menus e nem listadas nos manuais.
Como um bom exemplo disso é a existência do campo minado nas configurações de fábrica do kindle. Duvida? Experimente na home digitar: ALT+Shift+M.
Talvez não seja tão interessante mas existe na amazon alguns jogos disponíveis para o kindle

Campo minado

Gomoku

Para tanto a Amazon lançou o KDK – Kindle Development Kit que permite o desenvolvimento de aplicações para o kindle.

Estou aguardando a liberação do kdk para que eu possa brincar um pouco e quem sabe dar um feedback. Enquanto isso uma galera por ai vai hackeando sua versão atual e se divertindo inserindo novas funcionalidades e alterando comportamento.

Eu fico mesmo na espera.

Meu ambiente de trabalho em 7 itens

Fui indicado pelo Jeveaux e pelo M3nd3s ,para dar continuidade ao meme “Meu ambiente de trabalho em 7 itens”.

1) (g|mac)?Vim

Todo mundo copiando o regex que o m3nd3s fez pro seu post. A falta de criatividade é absurda. Mas vá lá…
Assim que comecei na Giran comecei a utilizar o TextMate que é um editor simpático e atende bem as necessidades de desenvolvimento tendo em paralelo como um gedit anabolizado. Porém depois de algum tempo de trabalho o Francisco e o Almir me apresentaram ao macVim. Já tinha ouvido muitas histórias assustadoras sobre o vim e as dificuldades de uso e no fim só se mostraram balela realmente. Um editor extremamente leve e prático com uma customização bacana que pode ajudar muito em sua produtividade.

Só tenho um problema que depois de um certo tempo usando Vim acaba acontecendo :q ou :cd em quase toda janela.

2) Firefox+Firebug

Desde seu lançamento passei a utilizar o Firefox e por fim se tornou o navegador padrão nos computadores que utilizo.

Para trabalhar com sites, um complemento importante ( que me foi apresentado nos dias em que trabalhava na iMasters ) é o Firebug. Para verificação de css, html e javascript é difícil encontrar ferramenta melhor provendo em tempo real as informações necessárias para modificações e permitindo uma série de experimentações.

3) Mac Os/Ubuntu

O Mac Os veio com a Giran e por escolha desde 2006 o Ubuntu. Na época (2006) tive problemas com o windows e no desespero para checar os emails acabei utilizando um cd que estava jogado lá do ubuntu que eu tinha acabado de receber pelo correio. Desde então meu computador pessoal não conhece outra coisa.

4) Bash (Terminal)

O uso do terminal veio com os dias de Ubuntu e no trabalho ele se mostrou fundamental para agilizar o desenvolvimento de aplicações e com a mudança pro Rails e o us do Git se tornou praticamente impossível fugir.

5) Rails

Nos últimos meses o php foi quase que totalmente substituído no meu dia-a-dia pelo Ruby on Rails. Uma framework extremamente eficiente ( que o Francisco Souza pode não concordar em suas comparações com Python ) que possui uma série de recursos fantásticos com uma curva de aprendizado que não chega a desagradar.

6) Git + github

Mais uma ferramenta que aprendi a utilizar com o pessoal da Giran.O git é ideal para não se perder, não perder código e conseguir coordenar o trabalho em equipe. E para extrair mais do potencial do git o Github vem ai pra assumir o trabalho.

O Github ainda não utilizo amplamente em meus projetos pessoais mas vou caminhando aos poucos enquanto que na Giran é fundamental para o desenvolvimento das atividades.

7) Google

Não só como ferramenta de pesquisa mas muitas das ferramentas associadas como os serviços de email gmail, calendário e feeds.

São componentes necessários ( exceto pelo agregador de sites que pode ser, relativamente dispensável ) que são oferecidos de forma Free com acesso simples bastando ter uma única conta junto ao google ( nooosssa! ).

Bonus Round: Xbox 360

Mesmo não sabendo jogar nada e a falta de coordenação motora se fazer evidente o entreterimento é fundamental para se ter um ambiente sempre descontraido. Sim.. eu sou péssimo em geral nas partidas de fifa eu perco pra todo mundo mas ainda assim acho divertido.

Concluindo:

A maioria dos itens são semelhantes aos do pessoal com quem trabalho. Acredito que era de se esperar algo do tipo.

Para dar continuidade ao meme convoco:
@dianapadua

@cobalto

@hitomichan


Overzealous – CodeIgniter ORM Library em casa nova.

Para os que acompanham o desenvolvimento do DMZ ( Datamapper Overzealous ) e se assustram ao encontrar somente páginas 404 no projeto ele agora se encontra em um novo site sendo mantido por Harro “WanWizard” Verton.

Eu pessoalmente utilizo bastante o CodeIgniter associado com o DMZ. Não vejo forma mais eficiente de se trabalhar com o php atualmente.

Para aqueles que se interessarem podem encontrar mais sobre o dmz em seu novo lar.

Enviando emails pelo gmail usando Rails

Durante o desenvolvimento de minha primeira aplicação com Ruby on Rails o primeiro grande problema com o qual esbarrei foi o envio de emails usando gmail. Depois de muita pesquisa ( e muita ajuda do Francisco Souza) consegui uma implementação  de forma muito mais simples do que o esperado e efetiva.

AVISO: Esta implementação só é válida para Rails >= 2.2.1 [RC2] e Ruby 1.8.7

Segue o passo a passo para implementar em sua aplicação:

Crie o arquivo config/initializers/smtp_gmail.rb. Este arquivo carregará suas configurações para fazer a conexão de sua aplicação com o gmail.
Inicialmente Vamos declarar que nosso envio será feito por smtp ( caso você queira usar somente para testes utilize :test no lugar de :smtp )

config.action_mailer.delivery_method = :smtp

Logo abaixo declaramos as configurações de acesso:

ActionMailer::Base.smtp_settings = {
  :address => "smtp.gmail.com",
  :port => 587,
  :authentication => :plain,
  :enable_starttls_auto => true,
  :user_name => "seu usuario @gmail.com",
  :password => "sua senha"
}

Em geral este código funciona para envios smtp em geral porém para o gmail é necessário que o tls esteja ativo, ação realizada pela linha:

  :enable_starttls_auto => true

Feito isso nossa aplicação se encontra configurada para enviar os emails usando a conta do gmail especificada.
Agora poderems trabalhar com o envio propriamente dito.

Vamos assumir que nossa classe de envio será UsuarioEmail para tanto executamos:

script/generate mailer UsuarioEmail

Com isso o rails cria um modelo Chamado UsuarioEmail onde colocaremos nossas configurações para envio. Então vamos editar nosso arquivo uque se encontra em app/models/usuario_email.rb

class Indique < ActionMailer::Base
  def enviar_email()
    @subject = "[RoR] Aprendendo a enviar emails "
    @body["site"] = "http://www.tagliati.com.br"
    @recipients = "quemvaireceber@dominio.com.br"
    @from = 'euquemandei@meudominio.com.br'
    @headers = {}
  end
end

Estas são apenas configurações básicas. Existem outras opções que podem ser preenchidas ( por exemplo @charset )
Agora precisamos definir o corpo de nosso email e onde ele será enviado.
Em app/view/usuario_email/ vamos criar nosso template de email. Para este exemplo o template se chamará enviar_email.text.html.erb . com um simples conteúdo:

Você acaba de receber um email enviado de uma aplicação Rails.
Li sobre em <%= @site%>

Note que o nome do arquivo possui o mesmo nome do método criado em nosso modelo para configurar o email.

Agora basta adicionar no controller em que queremos que envie o email o método que enviará o email:

def dispara_email()
UsuarioEmail.deliver_enviar_email();
end

E pronto. Assim que chamarmos nosso método dispara_email() será enviado o email usando a conta do gmail ( ou conta com acesso smtp ) configurada