<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>Rafael Souza</title>
	
	<link>http://rafaelss.com</link>
	<description>Desenvolvimento Web</description>
	<pubDate>Sat, 19 Sep 2009 23:35:08 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/joehblog" type="application/rss+xml" /><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjoehblog" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjoehblog" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjoehblog" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/joehblog" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjoehblog" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fjoehblog" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjoehblog" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>Links for 2009-11-04 [del.icio.us]</title><link>http://del.icio.us/rafael.ssouza#2009-11-04</link><pubDate>Thu, 05 Nov 2009 00:00:00 PST</pubDate><guid isPermaLink="true">http://del.icio.us/rafael.ssouza#2009-11-04</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.cs.uic.edu/~liub/WebMiningBook.html"&gt;Web Data Mining, book by Bing Liu&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Links for 2009-11-03 [del.icio.us]</title><link>http://del.icio.us/rafael.ssouza#2009-11-03</link><pubDate>Wed, 04 Nov 2009 00:00:00 PST</pubDate><guid isPermaLink="true">http://del.icio.us/rafael.ssouza#2009-11-03</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blog.codahale.com/2007/02/28/bcrypt-ruby-secure-password-hashing/"&gt;bcrypt-ruby: Secure Password Hashing | Archives | codablog | Coda Hale&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Links for 2009-10-26 [del.icio.us]</title><link>http://del.icio.us/rafael.ssouza#2009-10-26</link><pubDate>Tue, 27 Oct 2009 00:00:00 PDT</pubDate><guid isPermaLink="true">http://del.icio.us/rafael.ssouza#2009-10-26</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://bowtieapp.com/"&gt;Bowtie&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Links for 2009-10-20 [del.icio.us]</title><link>http://del.icio.us/rafael.ssouza#2009-10-20</link><pubDate>Wed, 21 Oct 2009 00:00:00 PDT</pubDate><guid isPermaLink="true">http://del.icio.us/rafael.ssouza#2009-10-20</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://beemp3.com/"&gt;Beemp3.com - MP3 Search &amp;amp; Free MP3 Downloads&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://refinerycms.com/"&gt;Open Source Ruby on Rails Content Manager - Refinery Content Manager&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/speed/page-speed/"&gt;Page Speed Home&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Links for 2009-10-14 [del.icio.us]</title><link>http://del.icio.us/rafael.ssouza#2009-10-14</link><pubDate>Thu, 15 Oct 2009 00:00:00 PDT</pubDate><guid isPermaLink="true">http://del.icio.us/rafael.ssouza#2009-10-14</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.mockflow.com/"&gt;MockFlow - Online Wireframe Tool for Software and Websites&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://litanyagainstfear.com/blog/2009/10/14/gem-bundler-is-the-future/"&gt;litany against fear &amp;curren; by nick quaranto &amp;curren; Gem Bundler is the Future&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Links for 2009-10-06 [del.icio.us]</title><link>http://del.icio.us/rafael.ssouza#2009-10-06</link><pubDate>Wed, 07 Oct 2009 00:00:00 PDT</pubDate><guid isPermaLink="true">http://del.icio.us/rafael.ssouza#2009-10-06</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://qslack.com/proj/rider"&gt;Rider, a simple Ruby Web spider - Quinn Slack&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Links for 2009-09-29 [del.icio.us]</title><link>http://del.icio.us/rafael.ssouza#2009-09-29</link><pubDate>Wed, 30 Sep 2009 00:00:00 PDT</pubDate><guid isPermaLink="true">http://del.icio.us/rafael.ssouza#2009-09-29</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://upload.wikimedia.org/wikipedia/commons/2/29/Brazil_Political_Map.svg"&gt;http://upload.wikimedia.org/wikipedia/commons/2/29/Brazil_Political_Map.svg&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item>
		<title>Hora Extra em Porto Alegre</title>
		<link>http://rafaelss.com/2009/07/08/hora-extra-em-porto-alegre/</link>
		<comments>http://rafaelss.com/2009/07/08/hora-extra-em-porto-alegre/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 03:23:19 +0000</pubDate>
		<dc:creator>Rafael Souza</dc:creator>
		
		<category><![CDATA[horaextra]]></category>

		<guid isPermaLink="false">http://rafaelss.com/?p=108</guid>
		<description><![CDATA[O Tailor lançou a idéia no twitter e eu apoiei, então, semana que vem, #horaextra na Cidade Baixa, em Porto Alegre, mais exatamente no Copão
A idéia é juntar um monte (ou não) de nerds pra falar de trabalho, tecnologia, frameworks, programação, enfim, tudo o que a gente mais gosta  
Então, segunda-feira, 19:30, Copão. Aparece [...]]]></description>
			<content:encoded><![CDATA[<p>O <a href="http://www.tailorfontela.com.br/2009/07/06/hora-extra-em-poa/" onclick="pageTracker._trackPageview('/outgoing/www.tailorfontela.com.br/2009/07/06/hora-extra-em-poa/?referer=');">Tailor</a> <a href="http://twitter.com/tailorfontela/status/2504182454" onclick="pageTracker._trackPageview('/outgoing/twitter.com/tailorfontela/status/2504182454?referer=');">lançou a idéia no twitter</a> e <a href="http://twitter.com/rafaelss/status/2504416368" onclick="pageTracker._trackPageview('/outgoing/twitter.com/rafaelss/status/2504416368?referer=');">eu apoiei</a>, então, semana que vem, <a href="http://rafael.adm.br/p/o-horaextra-esta-crescendo/" onclick="pageTracker._trackPageview('/outgoing/rafael.adm.br/p/o-horaextra-esta-crescendo/?referer=');">#horaextra</a> na Cidade Baixa, em Porto Alegre, mais exatamente no <a href="http://maps.google.com.br/maps?f=q&#038;source=s_q&#038;hl=pt-BR&#038;geocode=&#038;q=Rua+General+Lima+e+Silva,+312,+porto+alegre&#038;sll=-12.897489,-50.449219&#038;sspn=77.844131,158.027344&#038;ie=UTF8&#038;ll=-30.036183,-51.223562&#038;spn=0.009139,0.01929&#038;z=16&#038;iwloc=A" onclick="pageTracker._trackPageview('/outgoing/maps.google.com.br/maps?f=q_038_source=s_q_038_hl=pt-BR_038_geocode=_038_q=Rua+General+Lima+e+Silva_+312_+porto+alegre_038_sll=-12.897489_-50.449219_038_sspn=77.844131_158.027344_038_ie=UTF8_038_ll=-30.036183_-51.223562_038_spn=0.009139_0.01929_038_z=16_038_iwloc=A&amp;referer=');">Copão</a></p>
<p>A idéia é juntar um monte (ou não) de nerds pra falar de trabalho, tecnologia, frameworks, programação, enfim, tudo o que a gente mais gosta <img src='http://rafaelss.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Então, segunda-feira, 19:30, Copão. Aparece lá!</p>

<p><a href="http://feedads.g.doubleclick.net/~a/rl6zsCRsOmGbyK2nSs7oTtFubsE/0/da"><img src="http://feedads.g.doubleclick.net/~a/rl6zsCRsOmGbyK2nSs7oTtFubsE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/rl6zsCRsOmGbyK2nSs7oTtFubsE/1/da"><img src="http://feedads.g.doubleclick.net/~a/rl6zsCRsOmGbyK2nSs7oTtFubsE/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://rafaelss.com/2009/07/08/hora-extra-em-porto-alegre/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ASP.NET MVC e suas ActionResult</title>
		<link>http://rafaelss.com/2009/06/30/asp-net-mvc-e-suas-actionresult/</link>
		<comments>http://rafaelss.com/2009/06/30/asp-net-mvc-e-suas-actionresult/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 15:58:24 +0000</pubDate>
		<dc:creator>Rafael Souza</dc:creator>
		
		<category><![CDATA[.net]]></category>

		<category><![CDATA[c#]]></category>

		<category><![CDATA[actionresult]]></category>

		<category><![CDATA[asp.net]]></category>

		<category><![CDATA[gist]]></category>

		<category><![CDATA[mvc]]></category>

		<guid isPermaLink="false">http://rafaelss.com/?p=98</guid>
		<description><![CDATA[O framework MVC da Microsoft usa um determinado objeto para definir qual tipo de resultado/output a action executada deve retornar. São eles:

ContentResult - Pode ser usado para retornar textos simples.
EmptyResult - Esse serve para retornar resultados em branco, quando quiser que o output seja vazio.
HttpUnauthorizedResult - Usado quando o usuário não tem permissão para executar [...]]]></description>
			<content:encoded><![CDATA[<p>O framework MVC da Microsoft usa um determinado objeto para definir qual tipo de resultado/output a <em>action</em> executada deve retornar. São eles:</p>
<ul>
<li><code>ContentResult</code> - Pode ser usado para retornar textos simples.</li>
<li><code>EmptyResult</code> - Esse serve para retornar resultados em branco, quando quiser que o output seja vazio.</li>
<li><code>HttpUnauthorizedResult</code> - Usado quando o usuário não tem permissão para executar a action. Retorna o 401 como <em>status</em> da requisição.</li>
<li><code>JsonResult</code> - Serializa um objeto em formato JSON, bom para ser usando em requisições AJAX.</li>
<li><code>RedirectResult</code> - Resultado usado para redirecionamentos.</li>
<li><code>RedirectToRouteResult</code> - Também usado para redirecionamentos, mas a URL está ligada a uma rota.</li>
<li><code>ViewResultBase</code> - Classe abstrata, usada para renderizar HTMLs.</li>
<ul>
<li><code>PartialViewResult</code> - Estende <code>ViewResultBase</code> para renderizar as views e seus HTMLs.</li>
</ul>
<li><code>BinaryResult</code> - Classe abstrata usada para resultados binários.</li>
<ul>
<li><code>BinaryStreamResult</code> - Estende <code>BinaryResult</code>, pode ser usado para escrever imagens direto no stream do resutado.</li>
</ul>
</ul>
<p>Porém, em alguns casos, retornar um texto simples, ou um JSON pequeninho, é meio chato. Considere o código abaixo:</p>
<p><code>
<pre>
    JsonResult json = new JsonResult();
    json.ContentType = "text/javascript";
    json.Data = new { success = true };
    return json;
</pre>
<p></code></p>
<p>Isso poderia ser mais simples não? Porém, a classe <code>JsonResult</code>, e nenhuma outra <code>ActionResult</code> aceita parâmetros no construtor. Por isso criei <a href="http://gist.github.com/138225" onclick="pageTracker._trackPageview('/outgoing/gist.github.com/138225?referer=');">duas classes</a> que podem ser usadas como <code>ActionResult</code>, para simplificar essa tarefa. Elas devem ser usadas assim:</p>
<p><code>
<pre>
    return new SimpleResult("Hello World");
    return new SimpleResult(1);
    return new SimpleResult(1257.14);
    return new SimpleResult(true);
</pre>
<p></code></p>
<p>e</p>
<p><code>
<pre>
    return new SimpleJsonResult(new { success = true });
</pre>
<p></code></p>
<p>Pronto, agora é hora de refatorar código. <img src='http://rafaelss.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>UPDATE:</strong> Conforme o Guilherme comentou ali embaixo, o ASP.NET MVC tem um método que já simplifica as coisas.</p>
<p><code>
<pre>
    return Json("Hello World");
    return Json(1);
    return Json(1257.14);
    return Json(true);
</pre>
<p></code></p>
<p>e</p>
<p><code>
<pre>
    return Json(new { success = true });
</pre>
<p></code></p>

<p><a href="http://feedads.g.doubleclick.net/~a/YdSB4KOV-8i2X5G1EeLBQiN6jkU/0/da"><img src="http://feedads.g.doubleclick.net/~a/YdSB4KOV-8i2X5G1EeLBQiN6jkU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/YdSB4KOV-8i2X5G1EeLBQiN6jkU/1/da"><img src="http://feedads.g.doubleclick.net/~a/YdSB4KOV-8i2X5G1EeLBQiN6jkU/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://rafaelss.com/2009/06/30/asp-net-mvc-e-suas-actionresult/feed/</wfw:commentRss>
		</item>
		<item>
		<title>jQuery, Safari e CSS Selectors</title>
		<link>http://rafaelss.com/2009/06/29/jquery-safari-e-css-selectors/</link>
		<comments>http://rafaelss.com/2009/06/29/jquery-safari-e-css-selectors/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 21:23:33 +0000</pubDate>
		<dc:creator>Rafael Souza</dc:creator>
		
		<category><![CDATA[javascript]]></category>

		<category><![CDATA[jquery]]></category>

		<category><![CDATA[css selector]]></category>

		<category><![CDATA[safari]]></category>

		<guid isPermaLink="false">http://rafaelss.com/?p=79</guid>
		<description><![CDATA[Hoje estava verificando um bug em um projeto, que acontecia somente no Safari, tanto no MacOS, quanto no Windows, e descobri que o problema era a forma como eu estava definindo o elemento HTML envolvido na história.
O expressão que eu estava usando era a seguinte:


$("#meuform input[type='hidden'][value='']").length


No Safari sempre me retornava 0, já no Firefox e [...]]]></description>
			<content:encoded><![CDATA[<p>Hoje estava verificando um bug em um projeto, que acontecia somente no Safari, tanto no MacOS, quanto no Windows, e descobri que o problema era a forma como eu estava definindo o elemento HTML envolvido na história.</p>
<p>O expressão que eu estava usando era a seguinte:</p>
<p><code>
<pre>
$("#meuform input[type='hidden'][value='']").length
</pre>
<p></code></p>
<p>No Safari sempre me retornava 0, já no Firefox e Internet Explorer, retorna 1, que era para ser o valor certo no caso. Analisando como o input estava definido eu descobri o problema, ele estava definido assim:</p>
<p><code>
<pre>
&lt;input type="hidden" name="first_user" /&gt;
</pre>
<p></code><br />
Resumindo:</p>
<p>O Safari não acha elementos onde o atributo filtrado não esteja presente no HTML.<br />
(Estou usando a versão 1.3.2 do jQuery e 4.0 (503.17) do Safari, no Windows, mas reportaram o problema no Mac também)</p>

<p><a href="http://feedads.g.doubleclick.net/~a/4ea7J-wyBH_5va8Nwe4MFwrm98A/0/da"><img src="http://feedads.g.doubleclick.net/~a/4ea7J-wyBH_5va8Nwe4MFwrm98A/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/4ea7J-wyBH_5va8Nwe4MFwrm98A/1/da"><img src="http://feedads.g.doubleclick.net/~a/4ea7J-wyBH_5va8Nwe4MFwrm98A/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://rafaelss.com/2009/06/29/jquery-safari-e-css-selectors/feed/</wfw:commentRss>
		</item>
		<item>
		<title>C# e códigos deprecated</title>
		<link>http://rafaelss.com/2009/06/23/c-e-codigos-deprecated/</link>
		<comments>http://rafaelss.com/2009/06/23/c-e-codigos-deprecated/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 15:21:26 +0000</pubDate>
		<dc:creator>Rafael Souza</dc:creator>
		
		<category><![CDATA[c#]]></category>

		<category><![CDATA[deprecated]]></category>

		<category><![CDATA[dica]]></category>

		<category><![CDATA[obsolete]]></category>

		<guid isPermaLink="false">http://rafaelss.com/?p=73</guid>
		<description><![CDATA[Você desenvolve uma biblioteca de utilitários para facilitar a vida dos outros desenvolvedores da empresa, porém algumas vezes é necessário refatorar códigos, criando/renomeando/apagando alguns métodos.
Obviamente você não pode sair mudando tudo, existe código &#8220;antigo&#8221; usando a sua &#8220;lib&#8221;.
Existe um atributo no C# que permite que você marque código como deprecated, é o Obsolete, muito útil [...]]]></description>
			<content:encoded><![CDATA[<p>Você desenvolve uma biblioteca de utilitários para facilitar a vida dos outros desenvolvedores da empresa, porém algumas vezes é necessário refatorar códigos, criando/renomeando/apagando alguns métodos.<br />
Obviamente você não pode sair mudando tudo, existe código &#8220;antigo&#8221; usando a sua &#8220;lib&#8221;.</p>
<p>Existe um atributo no C# que permite que você marque código como deprecated, é o <code>Obsolete</code>, muito útil e fácil de usar.</p>
<p><code>
<pre>
[Obsolete("Use o método MinhaClasse.MeuMetodo(int parametro)")]
public static void MeuMetodo(string parametro) {
    // ...
}
</pre>
<p></code></p>
<p>No exemplo acima quero que os desenvolvedores usem a versão que recebe um <code>integer</code> como parâmetro, e não mais a versão com <code>string</code>.</p>
<p>Você ainda pode dizer que é para o compilador gerar um erro ao compilar o código, passando <code>true</code> como segundo parâmetro do atributo.</p>
<p><code>
<pre>
[Obsolete("Este método não deve mais ser usado. Usar MinhaClasse.MeuMetodo(int parametro)", true)]
public static void MeuMetodo(string parametro) {
    // ...
}
</pre>
<p></code></p>

<p><a href="http://feedads.g.doubleclick.net/~a/nsmditibY9AbR3u_F7ExW1WHSCM/0/da"><img src="http://feedads.g.doubleclick.net/~a/nsmditibY9AbR3u_F7ExW1WHSCM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/nsmditibY9AbR3u_F7ExW1WHSCM/1/da"><img src="http://feedads.g.doubleclick.net/~a/nsmditibY9AbR3u_F7ExW1WHSCM/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://rafaelss.com/2009/06/23/c-e-codigos-deprecated/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Permissão para o Apache na pasta home</title>
		<link>http://rafaelss.com/2009/05/03/permissao-para-o-apache-na-pasta-home/</link>
		<comments>http://rafaelss.com/2009/05/03/permissao-para-o-apache-na-pasta-home/#comments</comments>
		<pubDate>Sun, 03 May 2009 03:49:10 +0000</pubDate>
		<dc:creator>Rafael Souza</dc:creator>
		
		<category><![CDATA[apache]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[permissão]]></category>

		<guid isPermaLink="false">http://rafaelss.com/?p=45</guid>
		<description><![CDATA[Muitas vezes quando configuramos um servidor para hospedar sites para diferentes usuários, a primeira coisa que pensamos é em colocar os sites de cada usuário na pasta home do mesmo, mas para isso funcionar corretamente precisamos dar permissão para o Apache ler a home de cada usuário.
A solução que tenho usado é dar a seguinte [...]]]></description>
			<content:encoded><![CDATA[<p>Muitas vezes quando configuramos um servidor para hospedar sites para diferentes usuários, a primeira coisa que pensamos é em colocar os sites de cada usuário na pasta home do mesmo, mas para isso funcionar corretamente precisamos dar permissão para o Apache ler a home de cada usuário.<br />
A solução que tenho usado é dar a seguinte permissão na pasta do usuário</p>
<pre><code>
chmod a+x /home/nome_do_usuario/
</code></pre>
<p>Depois disso todos os &#8220;forbidden&#8221; desaparecem <img src='http://rafaelss.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p><a href="http://feedads.g.doubleclick.net/~a/nI11OZ9WbK48IzjZgIGrXVEcvro/0/da"><img src="http://feedads.g.doubleclick.net/~a/nI11OZ9WbK48IzjZgIGrXVEcvro/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/nI11OZ9WbK48IzjZgIGrXVEcvro/1/da"><img src="http://feedads.g.doubleclick.net/~a/nI11OZ9WbK48IzjZgIGrXVEcvro/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://rafaelss.com/2009/05/03/permissao-para-o-apache-na-pasta-home/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Instalando o RMagick no Ubuntu</title>
		<link>http://rafaelss.com/2009/05/03/instalando-o-rmagick-no-ubuntu/</link>
		<comments>http://rafaelss.com/2009/05/03/instalando-o-rmagick-no-ubuntu/#comments</comments>
		<pubDate>Sun, 03 May 2009 03:42:20 +0000</pubDate>
		<dc:creator>Rafael Souza</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<category><![CDATA[rmagick]]></category>

		<category><![CDATA[ruby]]></category>

		<category><![CDATA[ubuntu]]></category>

		<category><![CDATA[imagemagick]]></category>

		<guid isPermaLink="false">http://rafaelss.com/?p=68</guid>
		<description><![CDATA[Se você estiver com problemas para instalar o RMagick no Ubuntu usando apt-get talvez essa solução possa ajudar. Primeiro, limpe os pacotes com &#8220;problemas&#8221;:

sudo apt-get remove --purge librmagick-ruby-doc librmagick-ruby1.8

depois instale os seguintes pacotes:

sudo apt-get install libmagick9-dev ruby1.8-dev

depois disso é só instalar a gem:

sudo gem install rmagick

dica retirada daqui
]]></description>
			<content:encoded><![CDATA[<p>Se você estiver com problemas para instalar o RMagick no Ubuntu usando apt-get talvez essa solução possa ajudar. Primeiro, limpe os pacotes com &#8220;problemas&#8221;:</p>
<pre><code>
sudo apt-get remove --purge librmagick-ruby-doc librmagick-ruby1.8
</code></pre>
<p>depois instale os seguintes pacotes:</p>
<pre><code>
sudo apt-get install libmagick9-dev ruby1.8-dev
</code></pre>
<p>depois disso é só instalar a gem:</p>
<pre><code>
sudo gem install rmagick
</code></pre>
<p>dica retirada <a href="http://snippets.dzone.com/posts/show/4140" onclick="pageTracker._trackPageview('/outgoing/snippets.dzone.com/posts/show/4140?referer=');">daqui</a></p>

<p><a href="http://feedads.g.doubleclick.net/~a/Ws_c2pgWU5eZddt-VWfCIq6xjCg/0/da"><img src="http://feedads.g.doubleclick.net/~a/Ws_c2pgWU5eZddt-VWfCIq6xjCg/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Ws_c2pgWU5eZddt-VWfCIq6xjCg/1/da"><img src="http://feedads.g.doubleclick.net/~a/Ws_c2pgWU5eZddt-VWfCIq6xjCg/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://rafaelss.com/2009/05/03/instalando-o-rmagick-no-ubuntu/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PHP e SQL Server 2005</title>
		<link>http://rafaelss.com/2009/03/31/php-e-sql-server-2005/</link>
		<comments>http://rafaelss.com/2009/03/31/php-e-sql-server-2005/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 00:34:06 +0000</pubDate>
		<dc:creator>Rafael Souza</dc:creator>
		
		<category><![CDATA[php]]></category>

		<category><![CDATA[conexão]]></category>

		<category><![CDATA[iis]]></category>

		<category><![CDATA[problemas]]></category>

		<category><![CDATA[sql server 2005]]></category>

		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://stagging.rafaelss.com/?p=12</guid>
		<description><![CDATA[Se você tem problemas de conexão com SQL Server 2005 pelo PHP, tente usar essa versão (2000.80.194.0) da ntwdblib.
Coloque esse arquivo na raiz da instalação do seu PHP, substituindo a versão existente, e reinicie o servidor web.
]]></description>
			<content:encoded><![CDATA[<p>Se você tem <strong>problemas de conexão com SQL Server 2005</strong> pelo <strong>PHP</strong>, tente usar <a href='http://stagging.rafaelss.com/wp-content/uploads/2009/03/ntwdblib.zip' title="ntwdblib">essa versão (2000.80.194.0) da ntwdblib</a>.<br />
Coloque esse arquivo na raiz da instalação do seu <span class="boo-box-link book php">PHP</span>, substituindo a versão existente, e reinicie o servidor web.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/Kz2_hAg5pd_A_i5yucJUhwUlRhU/0/da"><img src="http://feedads.g.doubleclick.net/~a/Kz2_hAg5pd_A_i5yucJUhwUlRhU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Kz2_hAg5pd_A_i5yucJUhwUlRhU/1/da"><img src="http://feedads.g.doubleclick.net/~a/Kz2_hAg5pd_A_i5yucJUhwUlRhU/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://rafaelss.com/2009/03/31/php-e-sql-server-2005/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Nome da distro Linux usada</title>
		<link>http://rafaelss.com/2009/03/02/nome-da-distro-linux-usada/</link>
		<comments>http://rafaelss.com/2009/03/02/nome-da-distro-linux-usada/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 13:02:54 +0000</pubDate>
		<dc:creator>Rafael Souza</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<category><![CDATA[dica]]></category>

		<category><![CDATA[distro]]></category>

		<guid isPermaLink="false">http://stagging.rafaelss.com/?p=5</guid>
		<description><![CDATA[Uma coisa que eu sempre precisava e nunca me lembrava como fazer era descobrir qual a distro que eu estava usando no momento, como muitas vezes precisei mexer com os mais variados servidores, algumas vezes precisava dessa informação, e hoje achei o jeito mais fácil de fazer isso

cat /etc/issue

No meu micro aparece

Arch Linux \r  [...]]]></description>
			<content:encoded><![CDATA[<p>Uma coisa que eu sempre precisava e nunca me lembrava como fazer era descobrir qual a distro que eu estava usando no momento, como muitas vezes precisei mexer com os mais variados servidores, algumas vezes precisava dessa informação, e hoje achei o jeito mais fácil de fazer isso</p>
<pre><code>
cat /etc/issue
</code></pre>
<p>No meu micro aparece</p>
<pre><code>
Arch Linux \r  (\n) (\l)
</code></pre>
<p>No do meu colega</p>
<pre><code>
Ubuntu 8.10 \n \l
</code></pre>
<p>Achei essa dica <a href="http://drlinux.wordpress.com/2007/09/15/como-descobrir-a-distribuicao-linux-que-estamos-usando/" onclick="pageTracker._trackPageview('/outgoing/drlinux.wordpress.com/2007/09/15/como-descobrir-a-distribuicao-linux-que-estamos-usando/?referer=');">aqui</a> e estou documentando aqui pra não esquecer mais <img src='http://rafaelss.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p><a href="http://feedads.g.doubleclick.net/~a/us354gDEhBfSl3ZcBwYZ8oIF9qc/0/da"><img src="http://feedads.g.doubleclick.net/~a/us354gDEhBfSl3ZcBwYZ8oIF9qc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/us354gDEhBfSl3ZcBwYZ8oIF9qc/1/da"><img src="http://feedads.g.doubleclick.net/~a/us354gDEhBfSl3ZcBwYZ8oIF9qc/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://rafaelss.com/2009/03/02/nome-da-distro-linux-usada/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Usando uma única instância do Vim</title>
		<link>http://rafaelss.com/2009/01/29/usando-uma-unica-instancia-do-vim/</link>
		<comments>http://rafaelss.com/2009/01/29/usando-uma-unica-instancia-do-vim/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 15:26:43 +0000</pubDate>
		<dc:creator>Rafael Souza</dc:creator>
		
		<category><![CDATA[vim]]></category>

		<category><![CDATA[editor]]></category>

		<category><![CDATA[gvim]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://stagging.rafaelss.com/?p=8</guid>
		<description><![CDATA[
Hoje quando li o feed de comentários do blog do TaQ (re)apareceu uma dica que ele deu há um bom tempo, sobre usar uma única instância do Vim para editar arquivos, acho muito chato ter que abrir muitos editores.
Porém a dica que ele deu não funcionou para mim, apenas esta dos comentários, que ao invés [...]]]></description>
			<content:encoded><![CDATA[<div class="entry">
Hoje quando li o feed de comentários do <a href="http://eustaquiorangel.com/" onclick="pageTracker._trackPageview('/outgoing/eustaquiorangel.com/?referer=');">blog do TaQ</a> (re)apareceu <a title="Instância solitária do Vim" href="http://eustaquiorangel.com/posts/477" onclick="pageTracker._trackPageview('/outgoing/eustaquiorangel.com/posts/477?referer=');">uma dica</a> que ele deu há um bom tempo, sobre usar uma única instância do Vim para editar arquivos, acho muito chato ter que abrir muitos editores.</p>
<p>Porém a dica que ele deu não funcionou para mim, apenas <a href="http://eustaquiorangel.com/posts/477#comentario_587" onclick="pageTracker._trackPageview('/outgoing/eustaquiorangel.com/posts/477_comentario_587?referer=');">esta</a> dos comentários, que ao invés de usar um alias, usa uma função.</p>
<pre><code># http://www.cyberciti.biz/faq/linux-unix-pass-argument-to-alias-command/

    function edit() {
        gvim --servername `gvim --serverlist | head -1` --remote-tab "$@";
    }</code></pre>
<p>Eu mudei o nome para <code>edit</code>, acho mais fácil, mas fica a critério de cada um <img src='http://rafaelss.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Link do codigo original: <a href="http://pastebin.com/f7a69dcd7" onclick="pageTracker._trackPageview('/outgoing/pastebin.com/f7a69dcd7?referer=');">http://pastebin.com/f7a69dcd7</a></div>

<p><a href="http://feedads.g.doubleclick.net/~a/eIEsX05PV0aDZY-AccnSk7p6IC8/0/da"><img src="http://feedads.g.doubleclick.net/~a/eIEsX05PV0aDZY-AccnSk7p6IC8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/eIEsX05PV0aDZY-AccnSk7p6IC8/1/da"><img src="http://feedads.g.doubleclick.net/~a/eIEsX05PV0aDZY-AccnSk7p6IC8/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://rafaelss.com/2009/01/29/usando-uma-unica-instancia-do-vim/feed/</wfw:commentRss>
		</item>
		<item>
		<title>bash history meme</title>
		<link>http://rafaelss.com/2009/01/24/bash-history-meme/</link>
		<comments>http://rafaelss.com/2009/01/24/bash-history-meme/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 00:12:45 +0000</pubDate>
		<dc:creator>Rafael Souza</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<category><![CDATA[bash]]></category>

		<category><![CDATA[history]]></category>

		<category><![CDATA[meme]]></category>

		<guid isPermaLink="false">http://stagging.rafaelss.com/?p=20</guid>
		<description><![CDATA[Vi no blog do Luiz Rocha hoje um meme que rolou há um bom tempo atrás e resolvi fazer também.

[rafael ~]$ history 1000 &#124; awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' &#124; sort -rn &#124; head
156 git
101 sudo
86 cd
75 yaourt
58 grep
52 gvim
48 exit
39 braid
36 ll
33 rake

Minha única surpresa foi o braid, considerando que conheci [...]]]></description>
			<content:encoded><![CDATA[<p>Vi no blog do <a href="http://lsdr.net/blog/" onclick="pageTracker._trackPageview('/outgoing/lsdr.net/blog/?referer=');">Luiz Rocha</a> hoje <a href="http://lsdr.net/blog/2009/01/14/bash-history-meme/" onclick="pageTracker._trackPageview('/outgoing/lsdr.net/blog/2009/01/14/bash-history-meme/?referer=');">um meme</a> que rolou há um bom tempo atrás e resolvi fazer também.</p>
<pre><code>
[rafael ~]$ history 1000 | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head
156 git
101 sudo
86 cd
75 yaourt
58 grep
52 gvim
48 exit
39 braid
36 ll
33 rake
</code></pre>
<p>Minha única surpresa foi o braid, considerando que conheci ele faz uma semana e que só utilizo ele em um projeto.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/ecrukMa9qICKSDour6q-WIzSzGI/0/da"><img src="http://feedads.g.doubleclick.net/~a/ecrukMa9qICKSDour6q-WIzSzGI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ecrukMa9qICKSDour6q-WIzSzGI/1/da"><img src="http://feedads.g.doubleclick.net/~a/ecrukMa9qICKSDour6q-WIzSzGI/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://rafaelss.com/2009/01/24/bash-history-meme/feed/</wfw:commentRss>
		</item>
	<lastBuildDate>Thu, 05 Nov 2009 00:00:00 PST</lastBuildDate></channel>
</rss>
