<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog do Maximiliano Guzenski</title>
	<atom:link href="http://blog.guzenski.com.br/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.guzenski.com.br</link>
	<description>Just another WordPress site</description>
	<lastBuildDate>Wed, 08 Dec 2010 06:33:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>De Authlogic para Devise</title>
		<link>http://blog.guzenski.com.br/2010/12/08/de-authlogic-para-devise/</link>
		<comments>http://blog.guzenski.com.br/2010/12/08/de-authlogic-para-devise/#comments</comments>
		<pubDate>Wed, 08 Dec 2010 06:33:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[dicas]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[authlogic]]></category>
		<category><![CDATA[devise]]></category>
		<category><![CDATA[rails3]]></category>

		<guid isPermaLink="false">http://blog.guzenski.com.br/?p=28</guid>
		<description><![CDATA[Olá pessoal, acabei de portar um projeto de rails 2 para 3 e durante o processo resolvi alterar a autentificação do site que usava authlogic para o tão falado Devise (e gostei muito). Este post é para mostrar como fazer essa troca de tecnologia sem perder as senhas de seus usuários. Caso precise de uma [...]]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal, acabei de portar um projeto de rails 2 para 3 e durante o processo resolvi alterar a autentificação do site que usava authlogic para o tão falado Devise (e gostei muito).</p>

<p>Este post é para mostrar como fazer essa troca de tecnologia sem perder as senhas de seus usuários. Caso precise de uma introdução ao Devise recomendo dar uma olhada no <a href="http://railscasts.com/episodes?search=devise">material do railscast.</a></p>

<h6>Editando o model User</h6>

<p>Antes de tudo, voce precisa configurar o seu model User removendo todas as referências ao authlogic e adicionar as configurações do Devise, no meu caso ficou assim:</p>

<p><pre class="textmate-source mac_classic"><span class="source source_ruby"><span class="meta meta_class meta_class_ruby"><span class="keyword keyword_control keyword_control_class keyword_control_class_ruby">class</span> <span class="entity entity_name entity_name_type entity_name_type_class entity_name_type_class_ruby">User<span class="entity entity_other entity_other_inherited-class entity_other_inherited-class_ruby"> <span class="punctuation punctuation_separator punctuation_separator_inheritance punctuation_separator_inheritance_ruby">&lt;</span> ActiveRecord::Base</span></span></span>
<span class="comment comment_line comment_line_number-sign comment_line_number-sign_ruby">  <span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby">#</span> Include default devise modules. Others available are:
</span><span class="comment comment_line comment_line_number-sign comment_line_number-sign_ruby">  <span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby">#</span> :token_authenticatable, :confirmable, :lockable and :timeoutable
</span>  devise <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>database_authenticatable</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>registerable</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span>
         <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>recoverable</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>rememberable</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>trackable</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>validatable</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span>
         <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>confirmable</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>token_authenticatable</span></p>

<p><span class="comment comment_line comment_line_number-sign comment_line_number-sign_ruby">  <span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby">#</span> Setup accessible (or protected) attributes for your model
</span>  attr_accessible <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>email</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>password</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>password_confirmation</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>remember_me</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>profile_attributes</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>curriculums_attributes</span></p>

<p>has_one <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>profile</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>dependent</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>destroy</span>
  has_many <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>curriculums</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>dependent</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>destroy</span></p>

<p>accepts_nested_attributes_for <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>profile</span>
  accepts_nested_attributes_for <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>curriculums</span>
<span class="keyword keyword_control keyword_control_ruby">end</span>
</span></pre></p>

<p>Note que caso você use &#8220;accepts_nested_attributes_for :model&#8221; terá que adicionar :model_attributes em attr_accessible</p>

<h6>Criando a migração</h6>

<p>O Devise prove uma forma simples de criar a tabela de usuários, mas no nosso caso vamos precisar alterar e criar novas colunas &#8220;na mão&#8221;:</p>

<p><pre class="textmate-source mac_classic"><span class='linenum'>    1</span> <span class="source source_ruby"><span class="meta meta_class meta_class_ruby"><span class="keyword keyword_control keyword_control_class keyword_control_class_ruby">class</span> <span class="entity entity_name entity_name_type entity_name_type_class entity_name_type_class_ruby">DeviseCreateUsers<span class="entity entity_other entity_other_inherited-class entity_other_inherited-class_ruby"> <span class="punctuation punctuation_separator punctuation_separator_inheritance punctuation_separator_inheritance_ruby">&lt;</span> ActiveRecord::Migration</span></span></span>
<span class='linenum'>    2</span>   <span class="meta meta_function meta_function_method meta_function_method_without-arguments meta_function_method_without-arguments_ruby"><span class="keyword keyword_control keyword_control_def keyword_control_def_ruby">def</span> <span class="entity entity_name entity_name_function entity_name_function_ruby">self.up</span></span>
<span class='linenum'>    3</span> <span class="comment comment_line comment_line_number-sign comment_line_number-sign_ruby">    <span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby">#</span> alterando a culuna do authlogic para a nomenclatura do devise
</span><span class='linenum'>    4</span>     rename_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>crypted_password</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>encrypted_password</span>
<span class='linenum'>    5</span><br />
<span class='linenum'>    6</span> <span class="comment comment_line comment_line_number-sign comment_line_number-sign_ruby">    <span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby">#</span> necessário se você utilizar :confirmable
</span><span class='linenum'>    7</span>     add_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>confirmation_token</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>string</span>
<span class='linenum'>    8</span>     add_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>confirmed_at</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>timestamp</span>
<span class='linenum'>    9</span>     add_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>confirmation_sent_at</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>timestamp</span>
<span class='linenum'>   10</span>     execute <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>UPDATE users SET confirmed_at = created_at, confirmation_sent_at = created_at<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span>
<span class='linenum'>   11</span><br />
<span class='linenum'>   12</span> <span class="comment comment_line comment_line_number-sign comment_line_number-sign_ruby">    <span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby">#</span> necessário se você utilizar recoverable
</span><span class='linenum'>   13</span>     add_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>reset_password_token</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>string</span>
<span class='linenum'>   14</span><br />
<span class='linenum'>   15</span> <span class="comment comment_line comment_line_number-sign comment_line_number-sign_ruby">    <span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby">#</span> necessário se você utilizar :rememberable<br />
</span><span class='linenum'>   16</span>     add_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>remember_token</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>string</span>
<span class='linenum'>   17</span>     add_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>remember_created_at</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>timestamp</span>
<span class='linenum'>   18</span> 
<span class='linenum'>   19</span> <span class="comment comment_line comment_line_number-sign comment_line_number-sign_ruby">    <span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby">#</span> alterando as culunas do authlogic para a nomenclatura do devise
</span><span class='linenum'>   20</span>     rename_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>login_count</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>sign_in_count</span>
<span class='linenum'>   21</span>     rename_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>current_login_at</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>current_sign_in_at</span>
<span class='linenum'>   22</span>     rename_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>last_login_at</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>last_sign_in_at</span>
<span class='linenum'>   23</span>     rename_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>current_login_ip</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>current_sign_in_ip</span>
<span class='linenum'>   24</span>     rename_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>last_login_ip</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>last_sign_in_ip</span><br />
<span class='linenum'>   25</span>     rename_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>failed_login_count</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>failed_attempts</span><br />
<span class='linenum'>   26</span><br />
<span class='linenum'>   27</span> <span class="comment comment_line comment_line_number-sign comment_line_number-sign_ruby">    <span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby">#</span> removendo colunas do authlogic que não são utilizadas pelo devise
</span><span class='linenum'>   28</span>     remove_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>persistence_token</span><br />
<span class='linenum'>   29</span>     remove_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>perishable_token</span>
<span class='linenum'>   30</span>     remove_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>single_access_token</span>
<span class='linenum'>   31</span><br />
<span class='linenum'>   32</span> <span class="comment comment_line comment_line_number-sign comment_line_number-sign_ruby">    <span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby">#</span> devise faz login pelo email por padrão (é possivel criar outras formas)
</span><span class='linenum'>   33</span>     add_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>email</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>string</span>
<span class='linenum'>   34</span><br />
<span class='linenum'>   35</span>     add_index <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>email</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span>                <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>unique</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="constant constant_language constant_language_ruby">true</span>
<span class='linenum'>   36</span>     add_index <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>reset_password_token</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>unique</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="constant constant_language constant_language_ruby">true</span>
<span class='linenum'>   37</span>     add_index <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>confirmation_token</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span>   <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>unique</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="constant constant_language constant_language_ruby">true</span>
<span class='linenum'>   38</span>   <span class="keyword keyword_control keyword_control_ruby">end</span>
<span class='linenum'>   39</span> 
<span class='linenum'>   40</span>   <span class="meta meta_function meta_function_method meta_function_method_without-arguments meta_function_method_without-arguments_ruby"><span class="keyword keyword_control keyword_control_def keyword_control_def_ruby">def</span> <span class="entity entity_name entity_name_function entity_name_function_ruby">self.down</span></span>
<span class='linenum'>   41</span>     remove_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>email</span>
<span class='linenum'>   42</span>     add_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>single_access_token</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>string</span>
<span class='linenum'>   43</span>     add_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>perishable_token</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>string</span>
<span class='linenum'>   44</span>     add_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>persistence_token</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>string</span>
<span class='linenum'>   45</span>     rename_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>failed_attempts</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>failed_login_count</span>
<span class='linenum'>   46</span>     rename_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>last_sign_in_ip</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>last_login_ip</span>
<span class='linenum'>   47</span>     rename_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>current_sign_in_ip</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>current_login_ip</span>
<span class='linenum'>   48</span>     rename_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>last_sign_in_at</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>last_login_at</span>
<span class='linenum'>   49</span>     rename_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>current_sign_in_at</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>current_login_at</span>
<span class='linenum'>   50</span>     rename_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>sign_in_count</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>login_count</span>
<span class='linenum'>   51</span>     remove_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>remember_created_at</span>
<span class='linenum'>   52</span>     remove_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>remember_token</span>
<span class='linenum'>   53</span>     remove_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>reset_password_token</span>
<span class='linenum'>   54</span>     remove_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>confirmation_sent_at</span>
<span class='linenum'>   55</span>     remove_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>confirmed_at</span>
<span class='linenum'>   56</span>     remove_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>confirmation_token</span>
<span class='linenum'>   57</span><br />
<span class='linenum'>   58</span>     rename_column <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>users</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>encrypted_password</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>crypted_password</span>
<span class='linenum'>   59</span>   <span class="keyword keyword_control keyword_control_ruby">end</span>
<span class='linenum'>   60</span> <span class="keyword keyword_control keyword_control_ruby">end</span></span></pre></p>

<h5>Configurando o o arquivo config/initializers/devise.rb</h5>

<p>O Devise utiliza, por default, gbiz para critografar as senhas, mas provê suporte a outros algoritmos (incluindo o utilizado pelo authlogic). Abra o arquivo e configure como abaixo:</p>

<p><pre class="textmate-source mac_classic"><span class="source source_ruby">config<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>stretches <span class="keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby">=</span> <span class="constant constant_numeric constant_numeric_ruby">20</span>
config<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>encryptor <span class="keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby">=</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>authlogic_sha512</span>
</span></pre></p>

<h5>Limpando a casa</h5>

<p>Você deve remover o model UserSession e todas as referencias a ele (caso existam).</p>

<p>Lembre-se que os helpers para controlar o usuário logado são <strong>user_signed_in?</strong>, <strong>current_user</strong> e <strong>user_session</strong>. Então atualize suas views!</p>

<p>Com o devise não é necessário ter controllers para gerenciar o usuário, logo você pode remover também esses controllers que utilizava com o Authlogic.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.guzenski.com.br/2010/12/08/de-authlogic-para-devise/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[OFF-TOPIC] Minha interpretação para o filme “A Origem”</title>
		<link>http://blog.guzenski.com.br/2010/08/30/off-topic-minha-interpretacao-para-o-filme-%e2%80%9ca-origem%e2%80%9d/</link>
		<comments>http://blog.guzenski.com.br/2010/08/30/off-topic-minha-interpretacao-para-o-filme-%e2%80%9ca-origem%e2%80%9d/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 07:08:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[offtopic]]></category>

		<guid isPermaLink="false">http://blog.guzenski.com.br/?p=19</guid>
		<description><![CDATA[Atenção: Este texto contem spoilers, então se você não viu o filme, vá ver e só depois volte aqui Eu, como a maioria das pessoas que assistiram a esse ótimo trabalho de Nolan no cinemas, fiquei em dúvida sobre a real interpretação do filme, mas após pensar por várias horas cheguei a uma conclusão que [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Atenção:</strong> Este texto contem spoilers, então se você não viu o filme, vá ver e só depois volte aqui <img src="http://blog.guzenski.com.br/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"> </p>

<p>Eu, como a maioria das pessoas que assistiram a esse ótimo trabalho de Nolan no cinemas, fiquei em dúvida sobre a real interpretação do filme, mas após pensar por várias horas cheguei a uma conclusão que acredito ser possível.</p>

<p>Antes de explicar a minha interpretação, gostaria de explicar porque não acredito nas interpretações que li em vários sites da internet:</p>

<h4>1º Interpretação: Cobb (Leonardo di Caprio) estava vivendo na realidade durante todo o filme</h4>

<p>Em algum momento do filme, é explicado que o “arquiteto” define o local do sonho, mas quem o “povoa” é o sonhador. Então, como Cobb consegue colocar uma projeção sua (Mal) no sonho dos outros? E essa projeção ainda ajuda Saito? Mata Fisher? E o pior, sequestra Fisher no limbo???</p>

<p>E se Cobb realmente conseguiu implantar uma idéia na mente de Mal, a ponto de leva-la ao suicidio, qual é a explicação para uma parte do filme onde Cobb diz que Mal consultou 3 psicologos e todos atestaram sua sanidade? Oras, ela era uma suicida em potencial, dizia que seus filhos eram projeções, como seria possível 3 psicólogos atestarem a sanidade mental dela?</p>

<h4>2º Interpretação: Cobb entra em um sonho em algum momento do filme</h4>

<p>Para essa interpretação, li que há 2 momentos possíveis disso ter ocorrido:</p>

<ol>
<li>Ele entrou num sonho após o primeiro teste químico na África</li>
<li>Ele foi para o limbo, atras de Saito, mas não voltou</li>
</ol>

<p>Em ambos os casos, pergunto novamente como seria possível ele colocar sua projeção nos sonhos dos outros? Como 3 psicólogos atestariam a sanidade de Mal? E para o 2º caso, como Mal sequestrou Ficher no limbo?</p>

<h4>3º Interpretação: Cobb está sonhando o tempo inteiro, e precisa acordar</h4>

<p>Algumas bases para essa teoria seria que a aliança que aparece no filme é sempre levemente diferente, que as crianças estão sempre com a mesma roupa (ou levemente diferente, segundo alguns).</p>

<p>Li em alguns sites que Miles (pai de Mal) seria alguém tentado acordar Cobb, salva-lo do sonho que ele ainda está mas não sabe. Mas, é fato que, para acordar alguém basta “chuta-lo” na realidade. Você precisa entrar no sonho para extrair ou implantar uma idéia, mas não para acordar.</p>

<p>Você só precisa ir “salvar” alguém se ele estiver no limbo. Então pergunto, Cobb está no limbo o filme inteiro? Ele viveu realmente no limbo com Mal ou é tudo parte de sua imaginação?</p>

<p>Essa teoria é complexa demais, e abriria milhares de outros caminhos que precisariam de explicações.</p>

<h4>Minha teoria: Sim, é tudo sonho, mas…</h4>

<p>Minha teoria é baseada na teoria anterior, mas é bem mais simples, e o que mostraria a genialidade do roteiro.</p>

<p>Lembre de uma frase muito importante dita por Cobb: <em>Quando você sonha, tudo faz sentido, mas quando acorda percebe que não havia sentido no que você sonhou.</em></p>

<p>Então, suponha que Cobb é apenas um homem, que após trabalhar o dia inteiro, estava apenas dormindo e sonhando, logo <strong>não existe máquina de invadir sonhos</strong>, <strong>não existe limbo compartilhado</strong>, <strong>não existe Mal (ou pelo menos não da forma como mostrado)</strong>.</p>

<p>Se o roteiro, além de apresentar um filme, brilhantemente nos fez sonhar junto com o personagem? Num sonho que começa com o filme e termina com o filme, isto é, é tudo sonho, inclusive as lembranças de uma “vida” com Mal no Limbo.</p>

<p>Seja honesto, <strong>durante o filme tudo fez sentido para você, não?</strong>, mas após o termino do filme você “acordou” e <strong>começou a ver falhar de lógica em tudo que é lugar</strong>, não foi?</p>

<p>Veja essa lista:</p>

<ul>
<li>Crianças com a mesma roupa, objetos como a aliança levemente diferente (segundo alguns)</li>
<li>Projeção de Mal nos sonhos dos outros</li>
<li>Projeção de Mal sequestra Fisher para o Limbo</li>
<li>3 psicologos atestaram a sanidade de Mal</li>
<li>Limbo compartilhado (isso é dito pelos personagens)</li>
<li>Diálogos, as vezes, confusos.</li>
</ul>

<p>Tudo isso fazia sentido para Cobb, fazia sentido para você e eu … mas, apenas durante o <span style="text-decoration:line-through">filme</span> sonho.</p>

<p><strong>atualizado</strong>
A última cena, quando o peão é deixado na mesa girando, não era o Cobb que ficou olhando, quem ficou olhando éramos nós. Nós é que precisávamos saber se estávamos em um sonho ou na realidade.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.guzenski.com.br/2010/08/30/off-topic-minha-interpretacao-para-o-filme-%e2%80%9ca-origem%e2%80%9d/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Adicionando gems ao seu projeto Sinatra</title>
		<link>http://blog.guzenski.com.br/2010/08/03/adicionando-gems-ao-seu-projeto-sinatra/</link>
		<comments>http://blog.guzenski.com.br/2010/08/03/adicionando-gems-ao-seu-projeto-sinatra/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 07:07:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[dicas]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.guzenski.com.br/?p=16</guid>
		<description><![CDATA[Estou trabalhando em um pequeno projeto utilizando Sinatra e Haml, mas o problema é que o servidor que uso em produção (dreamhost) não possui a gem do Sinatra instalado, e a gem do Haml está numa versão muito antiga. Pesquisando, descobri que há meios de instalar novas gems no dreamhost (link aqui), mas achei muito [...]]]></description>
			<content:encoded><![CDATA[<p>Estou trabalhando em um pequeno projeto utilizando Sinatra e Haml, mas o problema é que o servidor que uso em produção (dreamhost) não possui a gem do Sinatra instalado, e a gem do Haml está numa versão muito antiga.</p>

<p>Pesquisando, descobri que há meios de instalar novas gems no dreamhost (link <a href="http://wiki.dreamhost.com/Gems" onclick="javascript:pageTracker._trackPageview('/outbound/article/wiki.dreamhost.com');">aqui</a>), mas achei muito complicado e eu encontrei uma solução mais simples e prática: Adicionar as gems dentro do seu projeto.</p>

<p>Como:</p>

<p></p>

<p><pre>    $ cd projeto_sinatra
    $ mkdir vendor
    $ cd vendor
    $ gem unpack sinatra
    $ gem unpack haml
    $ mv sinatra-* sinatra
    $ mv haml-* haml
</pre></p>

<p></p>

<p>Agora você precisa referenciar a nova gem dentro do sua aplicação:</p>

<p></p>

<p><pre class="textmate-source mac_classic"><span class="source source_ruby"><span class="comment comment_line comment_line_number-sign comment_line_number-sign_ruby"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby">#</span> de
</span><span class="meta meta_require meta_require_ruby"><span class="keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby">require</span> <span class="string string_quoted string_quoted_single string_quoted_single_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">'</span>sinatra<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">'</span></span></span>
<span class="meta meta_require meta_require_ruby"><span class="keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby">require</span> <span class="string string_quoted string_quoted_single string_quoted_single_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">'</span>haml<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">'</span></span></span></p>

<p></p>

<p><span class="comment comment_line comment_line_number-sign comment_line_number-sign_ruby"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby">#</span> para
</span><span class="meta meta_require meta_require_ruby"><span class="keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby">require</span> <span class="string string_quoted string_quoted_single string_quoted_single_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">'</span>vendor/sinatra/lib/sinatra.rb<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">'</span></span></span>
<span class="meta meta_require meta_require_ruby"><span class="keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby">require</span> <span class="string string_quoted string_quoted_single string_quoted_single_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">'</span>vendor/haml/lib/haml.rb<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">'</span></span></span></p>

<p></span></pre></p>

<p></p>

<p>Simples e prático!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.guzenski.com.br/2010/08/03/adicionando-gems-ao-seu-projeto-sinatra/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fazendo o Sinatra recarregar a aplicação</title>
		<link>http://blog.guzenski.com.br/2010/08/02/fazendo-o-sinatra-recarregar-a-aplicacao/</link>
		<comments>http://blog.guzenski.com.br/2010/08/02/fazendo-o-sinatra-recarregar-a-aplicacao/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 07:04:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[dicas]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.guzenski.com.br/?p=12</guid>
		<description><![CDATA[Aqui vai uma dica para todos aqueles que, como eu, estão utilizando Sinatra nas suas aplicações web. Para fazer o Sinatra recarregar a aplicação, sem precisar restartar o servidor, adicione as seguintes linhas no topo do seu arquivo principal: configure :development do Sinatra::Application.reset! use Rack::Reloader end Pronto! Agora sempre que você alterar algum código (como [...]]]></description>
			<content:encoded><![CDATA[<p>Aqui vai uma dica para todos aqueles que, como eu, estão utilizando <a href="http://www.sinatrarb.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.sinatrarb.com');">Sinatra</a> nas suas aplicações web.</p>

<p>Para fazer o Sinatra recarregar a aplicação, sem precisar restartar o servidor, adicione as seguintes linhas no topo do seu arquivo principal:</p>

<p></p>

<p><pre class="textmate-source mac_classic"><span class="source source_ruby">configure <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>development</span> <span class="keyword keyword_control keyword_control_start-block keyword_control_start-block_ruby">do
</span>  <span class="support support_class support_class_ruby">Sinatra</span><span class="punctuation punctuation_separator punctuation_separator_other punctuation_separator_other_ruby">::</span><span class="support support_class support_class_ruby">Application</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>reset!
  use <span class="support support_class support_class_ruby">Rack</span><span class="punctuation punctuation_separator punctuation_separator_other punctuation_separator_other_ruby">::</span><span class="variable variable_other variable_other_constant variable_other_constant_ruby">Reloader</span>
<span class="keyword keyword_control keyword_control_ruby">end</span></span></pre></p>

<p></p>

<p>Pronto! Agora sempre que você alterar algum código (como uma nova rota), basta esperar alguns segundos para sua alteração ter efeito.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.guzenski.com.br/2010/08/02/fazendo-o-sinatra-recarregar-a-aplicacao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Novo projeto: Contratei!</title>
		<link>http://blog.guzenski.com.br/2010/07/27/novo-projeto-contratei/</link>
		<comments>http://blog.guzenski.com.br/2010/07/27/novo-projeto-contratei/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 06:55:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[projetos]]></category>

		<guid isPermaLink="false">http://blog.guzenski.com.br/?p=7</guid>
		<description><![CDATA[O Contratei! é um sistema para criar, gerenciar e publicar seu curriculum na web de forma fácil, rápida e com total liberdade, ou seja, você não fica preso àqueles campos chatos, pré-definidos. Um pouco de história Em 2007, estava à procura de uma forma de ter meu curriculum na internet, pois eu nunca sabia onde estava [...]]]></description>
			<content:encoded><![CDATA[<p>O <strong>Contratei!</strong> é um sistema para criar, gerenciar e publicar seu curriculum na web de forma fácil, rápida e com total liberdade, ou seja, você não fica preso àqueles campos chatos, pré-definidos.</p>

<h5>Um pouco de história</h5>

<p>Em 2007, estava à procura de uma forma de ter meu curriculum na internet, pois eu nunca sabia onde estava meu arquivo .doc mais atualizado ou ele não estava à mão quando precisava. Então, comecei a pesquisar alternativas online. Testei alguns sistemas, mas todos tinham algum problema: ou eram simples demais ou eram complexos demais. Resolvi que iria desenvolver a minha própria solução.</p>

<p>De lá pra cá o projeto ficou na minha cabeça. Eu sempre pensava em como eu gostaria que ele fosse e, principalmente, o que gostaria que ele <em>não</em> fosse. Então, este ano, resolvi parar de pensar e agir</p>

<h5>O que ele é? (ou pelo menos, o que ele ainda vai ser?)</h5>

<p>Gostaria de usar a palavra “divertido”, mas escrever um curriculum nunca é algo divertido. Então, a melhor palavra é: “agradável”. Foquei em facilitar ao máximo a criação dos tópicos – objetivos, conhecimentos, etc – com o mínimo de campos “engessados” e com o máximo de liberdade.</p>

<h5>A versão atual</h5>

<p>Atualmente, o site está em versão <em>ALPHA</em>, isto é, poucos recursos, layout para melhorar e bugs! Mas eu gostaria que você o testasse e me desse feedbacks, diga o que achou e diga o que você gostaria que ele tivesse.</p>

<p><strong>Atenção:</strong> O layout atual <strong>não funciona no IE.</strong> Apenas no Chrome, Firefox e Safari.</p>

<p>site: <a href="http://www.contratei.com/">http://www.contratei.com</a></p>

<p><strong>Dicas:</strong></p>

<ul>
    <li>Qualquer campo, em tela, é editável – título, dados de contato, foto, etc – basta clicar sobre o texto.</li>
    <li>Para reordenar, arreste o tópico para a posição desejada.</li>
</ul>

<h5>Como dar sugestões e/ou apontar erros</h5>

<p>Clique no botão “Sugestões” dentro do sistema ou se preferir poste aqui nos comentários.</p>

<h5>O futuro</h5>

<p>Aqui vai uma lista das coisas que estou trabalhando:</p>

<ul>
    <li>Integração com facebook e orkut, para que seu curriculum fique visível dentro do seu perfil.</li>
    <li>Integração com twitter: Informe seus seguidores sobre seu cv.</li>
    <li>Tela de pesquisa para que empresas localizem profissionais.</li>
</ul>

<p>Obrigado e dêem suas sugestões!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.guzenski.com.br/2010/07/27/novo-projeto-contratei/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 1.248 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2016-03-03 05:01:39 -->
