<?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/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Renan</title>
	
	<link>http://blog.renanfernandes.com.br</link>
	<description>Linux, Tecnologia, Programação e Software Livre</description>
	<lastBuildDate>Fri, 18 May 2012 15:21:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/RenanFernandesBlog" /><feedburner:info uri="renanfernandesblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>RenanFernandesBlog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Configurando a rede de dados da TIM no Galaxy 5</title>
		<link>http://feedproxy.google.com/~r/RenanFernandesBlog/~3/7J8cSF6KaS4/</link>
		<comments>http://blog.renanfernandes.com.br/2011/10/configurando-a-rede-de-dados-da-tim-no-galaxy-5/#comments</comments>
		<pubDate>Sun, 16 Oct 2011 02:41:02 +0000</pubDate>
		<dc:creator>ShadowBelmolve</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Batalhas]]></category>
		<category><![CDATA[galaxy 5]]></category>

		<guid isPermaLink="false">http://blog.renanfernandes.com.br/?p=597</guid>
		<description><![CDATA[Edit: Isso é para aqueles que como eu não conseguiram Internet usando apenas o APN Brasil Post rápido, estou com um Galaxy 5 já faz um tempinho e não conseguia configurar a internet da TIM até ler esse post, a configuração do APN vai ser a seguinte: Nome: Tim Internet APN: tim.br Proxy: 200.244.116.65 Porta: &#8230; <a href="http://blog.renanfernandes.com.br/2011/10/configurando-a-rede-de-dados-da-tim-no-galaxy-5/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a>
Nenuhm post parecido encontrado.]]></description>
			<content:encoded><![CDATA[
<p><strong>Edit</strong>: Isso é para aqueles que como eu não conseguiram Internet usando apenas o <a href="https://market.android.com/details?id=br.com.droidbrasil.apnbrasil&amp;feature=search_result">APN Brasil</a></p>
<p>Post rápido, estou com um Galaxy 5 já faz um tempinho e não conseguia configurar a internet da TIM até ler <a href="http://www.androidz.com.br/forum/topic/900-galaxy-5-nao-conecta-internet-desbloqueado-com-chip-da-tim/page__view__findpost__p__25358?s=462f4b9cabcaec832c54d2d086bf01df">esse post</a>, a configuração do APN vai ser a seguinte:<span id="more-597"></span></p>
<p>Nome: Tim Internet</p>
<p>APN: tim.br</p>
<p>Proxy: 200.244.116.65</p>
<p>Porta: 8080</p>
<p>Nome de usuário: tim</p>
<p>Senha: tim</p>
<p>Servidor: &lt;Não definido&gt;</p>
<p>MMSC: &lt;Não definido&gt;</p>
<p>Proxy MMS: &lt;Não definido&gt;</p>
<p>Porta MMS: &lt;Não definido&gt;</p>
<p>MCC: 724</p>
<p>MNC: 04(no post diz 02, mas se eu colocar isso esse APN desaparece da lista :/)</p>
<p>Tipo de autenticação: PAP</p>
<p>Tipo APN: default</p>
<p>Protocolo APN: IPv4(acho que isso só no Android 2.3)</p>

<img src="http://blog.renanfernandes.com.br/?ak_action=api_record_view&id=597&type=feed" alt="" /><p>Nenuhm post parecido encontrado.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.renanfernandes.com.br/2011/10/configurando-a-rede-de-dados-da-tim-no-galaxy-5/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.renanfernandes.com.br/2011/10/configurando-a-rede-de-dados-da-tim-no-galaxy-5/</feedburner:origLink></item>
		<item>
		<title>Problema do caixeiro viajante</title>
		<link>http://feedproxy.google.com/~r/RenanFernandesBlog/~3/el_S0nLS5QE/</link>
		<comments>http://blog.renanfernandes.com.br/2011/06/problema-do-caixeiro-viajante/#comments</comments>
		<pubDate>Thu, 23 Jun 2011 23:57:03 +0000</pubDate>
		<dc:creator>ShadowBelmolve</dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[algoritimos]]></category>
		<category><![CDATA[caixeiro viajante]]></category>
		<category><![CDATA[teorema de piragoras]]></category>

		<guid isPermaLink="false">http://blog.renanfernandes.com.br/?p=581</guid>
		<description><![CDATA[De acordo com a wikipédia: O problema do caixeiro-viajante consiste na busca de um circuito que possua a menor distância, começando numa cidade qualquer, entre várias, visitando cada cidade precisamente uma vez e regressando à cidade inicial Resolvi esse problema rapidamente com ruby. Pode não ser o código mais belo mas ao menos funciona :) &#8230; <a href="http://blog.renanfernandes.com.br/2011/06/problema-do-caixeiro-viajante/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a>
Nenuhm post parecido encontrado.]]></description>
			<content:encoded><![CDATA[
<p><a href="http://blog.renanfernandes.com.br/wp-content/uploads/2011/06/Example_The_travelling_salesman_problem_TSP.gif"><img class="alignleft size-thumbnail wp-image-582" title="Exemplo do caixeiro viajante" src="http://blog.renanfernandes.com.br/wp-content/uploads/2011/06/Example_The_travelling_salesman_problem_TSP-150x129.gif" alt="" width="150" height="129" /></a>De acordo com a wikipédia:</p>
<blockquote><p>O problema do <strong>caixeiro-viajante</strong> consiste na busca de um circuito que possua a menor distância, começando numa cidade qualquer, entre várias, visitando cada cidade precisamente uma vez e regressando à cidade inicial</p></blockquote>
<p><span id="more-581"></span>Resolvi esse problema rapidamente com<strong> ruby</strong>. Pode não ser o código mais belo mas ao menos funciona :)</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;">City = <span style="color:#CC00FF; font-weight:bold;">Struct</span>.<span style="color:#9900CC;">new</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:x</span>, <span style="color:#ff3333; font-weight:bold;">:y</span>, <span style="color:#ff3333; font-weight:bold;">:name</span><span style="color:#006600; font-weight:bold;">&#41;</span>
Route = <span style="color:#CC00FF; font-weight:bold;">Struct</span>.<span style="color:#9900CC;">new</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:cities</span>, <span style="color:#ff3333; font-weight:bold;">:distance</span><span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;
CITIES = <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">&#93;</span>
&nbsp;
<span style="color:#9966CC; font-weight:bold;">def</span> add_city<span style="color:#006600; font-weight:bold;">&#40;</span>x, y, name<span style="color:#006600; font-weight:bold;">&#41;</span>
  CITIES <span style="color:#006600; font-weight:bold;">&lt;&lt;</span> City.<span style="color:#9900CC;">new</span><span style="color:#006600; font-weight:bold;">&#40;</span>x, y, name<span style="color:#006600; font-weight:bold;">&#41;</span>
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
<span style="color:#9966CC; font-weight:bold;">def</span> calculate_distance<span style="color:#006600; font-weight:bold;">&#40;</span>from, to<span style="color:#006600; font-weight:bold;">&#41;</span>
  <span style="color:#CC00FF; font-weight:bold;">Math</span>.<span style="color:#9900CC;">sqrt</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#40;</span>to.<span style="color:#9900CC;">x</span><span style="color:#006600; font-weight:bold;">-</span>from.<span style="color:#9900CC;">x</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">**</span><span style="color:#006666;">2</span> <span style="color:#006600; font-weight:bold;">+</span> <span style="color:#006600; font-weight:bold;">&#40;</span>to.<span style="color:#9900CC;">y</span><span style="color:#006600; font-weight:bold;">-</span>from.<span style="color:#9900CC;">y</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">**</span><span style="color:#006666;">2</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">to_i</span>
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
<span style="color:#9966CC; font-weight:bold;">def</span> go_route<span style="color:#006600; font-weight:bold;">&#40;</span>route, routes<span style="color:#006600; font-weight:bold;">&#41;</span>
  <span style="color:#9966CC; font-weight:bold;">if</span> route.<span style="color:#9900CC;">cities</span>.<span style="color:#9900CC;">length</span> == CITIES.<span style="color:#9900CC;">length</span>
    route.<span style="color:#9900CC;">distance</span> <span style="color:#006600; font-weight:bold;">+</span>= calculate_distance<span style="color:#006600; font-weight:bold;">&#40;</span>route.<span style="color:#9900CC;">cities</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">-</span><span style="color:#006666;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span>, route.<span style="color:#9900CC;">cities</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
    route.<span style="color:#9900CC;">cities</span> <span style="color:#006600; font-weight:bold;">&lt;&lt;</span> route.<span style="color:#9900CC;">cities</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span>
    routes <span style="color:#006600; font-weight:bold;">&lt;&lt;</span> route
    <span style="color:#0000FF; font-weight:bold;">return</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
  <span style="color:#9966CC; font-weight:bold;">for</span> city <span style="color:#9966CC; font-weight:bold;">in</span> CITIES <span style="color:#006600; font-weight:bold;">-</span> route.<span style="color:#9900CC;">cities</span>
    new_route = Route.<span style="color:#9900CC;">new</span><span style="color:#006600; font-weight:bold;">&#40;</span>route.<span style="color:#9900CC;">cities</span> <span style="color:#006600; font-weight:bold;">+</span> <span style="color:#006600; font-weight:bold;">&#91;</span>city<span style="color:#006600; font-weight:bold;">&#93;</span>, route.<span style="color:#9900CC;">distance</span> <span style="color:#006600; font-weight:bold;">+</span> calculate_distance<span style="color:#006600; font-weight:bold;">&#40;</span>route.<span style="color:#9900CC;">cities</span>.<span style="color:#9900CC;">last</span>, city<span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
    go_route<span style="color:#006600; font-weight:bold;">&#40;</span>new_route, routes<span style="color:#006600; font-weight:bold;">&#41;</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
<span style="color:#9966CC; font-weight:bold;">def</span> go<span style="color:#006600; font-weight:bold;">&#40;</span>routes, start_city<span style="color:#006600; font-weight:bold;">&#41;</span>
  route = Route.<span style="color:#9900CC;">new</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#91;</span>start_city<span style="color:#006600; font-weight:bold;">&#93;</span>, <span style="color:#006666;">0</span><span style="color:#006600; font-weight:bold;">&#41;</span>
  go_route<span style="color:#006600; font-weight:bold;">&#40;</span>route, routes<span style="color:#006600; font-weight:bold;">&#41;</span>
  routes
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
<span style="color:#9966CC; font-weight:bold;">def</span> r<span style="color:#006600; font-weight:bold;">&#40;</span>n=<span style="color:#006666;">10000</span><span style="color:#006600; font-weight:bold;">&#41;</span>
  <span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC0066; font-weight:bold;">rand</span><span style="color:#006600; font-weight:bold;">*</span>n<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">to_i</span>
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
<span style="color:#9966CC; font-weight:bold;">for</span> name <span style="color:#9966CC; font-weight:bold;">in</span> <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">&quot;Foo&quot;</span>, <span style="color:#996600;">&quot;Bar&quot;</span>, <span style="color:#996600;">&quot;LOL&quot;</span>, <span style="color:#996600;">&quot;WIN!&quot;</span>, <span style="color:#996600;">&quot;Ruby&quot;</span>, <span style="color:#996600;">&quot;Perl&quot;</span>, <span style="color:#996600;">&quot;LOL!!!&quot;</span><span style="color:#006600; font-weight:bold;">&#93;</span>
  add_city<span style="color:#006600; font-weight:bold;">&#40;</span>r, r, name<span style="color:#006600; font-weight:bold;">&#41;</span>
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
best_routes = go<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">&#93;</span>, CITIES.<span style="color:#9900CC;">shuffle</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">sort_by</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&amp;</span>:distance<span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">0</span>...<span style="color:#006666;">10</span><span style="color:#006600; font-weight:bold;">&#93;</span>
&nbsp;
<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;10 Best routes!&quot;</span>
best_routes.<span style="color:#9900CC;">each_with_index</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>route, i<span style="color:#006600; font-weight:bold;">|</span>
  <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;<span style="color:#000099;">\n</span>&quot;</span><span style="color:#006600; font-weight:bold;">*</span><span style="color:#006666;">2</span>
  <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Route ##{i+1}&quot;</span>
  <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot; Distance: #{route.distance}&quot;</span>
  <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot; Cities:&quot;</span>
&nbsp;
  last_city = <span style="color:#0000FF; font-weight:bold;">nil</span>
  distance  = <span style="color:#006666;">0</span>
  <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;  %10s | %07s, %7s | %10s | %s&quot;</span> <span style="color:#006600; font-weight:bold;">%</span> <span style="color:#006600; font-weight:bold;">&#91;</span> <span style="color:#996600;">&quot;City&quot;</span>, <span style="color:#996600;">&quot;Cord X&quot;</span>, <span style="color:#996600;">&quot;Cord Y&quot;</span>, <span style="color:#996600;">&quot;Total dist&quot;</span>, <span style="color:#996600;">&quot;Distance from last city&quot;</span><span style="color:#006600; font-weight:bold;">&#93;</span>
  route.<span style="color:#9900CC;">cities</span>.<span style="color:#9900CC;">each</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>city<span style="color:#006600; font-weight:bold;">|</span>
    distance_between_cities = <span style="color:#006600; font-weight:bold;">&#40;</span>last_city.<span style="color:#0000FF; font-weight:bold;">nil</span>? ? <span style="color:#006666;">0</span> : calculate_distance<span style="color:#006600; font-weight:bold;">&#40;</span>last_city, city<span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
    <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;  %10s | x:%.05i, y:%.05i | %.10i | %.10i&quot;</span> <span style="color:#006600; font-weight:bold;">%</span> <span style="color:#006600; font-weight:bold;">&#91;</span>city.<span style="color:#9900CC;">name</span>, city.<span style="color:#9900CC;">x</span>, city.<span style="color:#9900CC;">y</span>, distance<span style="color:#006600; font-weight:bold;">+</span>=distance_between_cities, distance_between_cities<span style="color:#006600; font-weight:bold;">&#93;</span>
    last_city = city
  <span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

<p>Certo, vamos começar as explicações:</p>
<ul>
<li>Nas linhas 38, 39 e 40 nós criamos algumas cidades com posições aleatórias.</li>
<li>Na linha 43 nós chamamos o método &#8220;go&#8221; passando uma Array e uma cidade aleatória. Após ele terminar de executar os resultados vão ser ordenados pela distância da rota e será pego apenas os 10 menores.</li>
<li>No método go(linha 28) nós criamos uma nova rota(linha 29) tendo a cidade aleatória(ponto de partida) e a distância de 0. Então passamos essa nova rota e a array de rotas pro método go_route(linha 30)</li>
<li>No método go_route(linha 14) verificamos se a rota já tem todas as cidades(linha 15).</li>
<li>Caso tenha, então adicionamos a cidade inicial(linha 17) e a distância da última cidade até ela(linha 16), então adicionamos essa rota a array de rotas(linha 18).</li>
<li>Caso não tenha, então iniciamos um &#8216;for&#8217; com as cidades restantes(linha 22). Para cada cidade é criada uma nova rota com todas as cidades que já passou + a cidade atual do for e calculado a distância até ela(linha 23). Com essa nova rota chamamos o método go_route novamente, só que dessa vez com a nova rota(linha 24).</li>
</ul>
<p>Pra quem não entender o que está acontecendo na linha 11, é só lembrar daquela frase do <strong>Teorema de Pitágoras</strong>:</p>
<blockquote><p>Em um triângulo retângulo, o quadrado da medida da hipotenusa é igual à soma dos quadrados das medidas dos catetos.</p></blockquote>
<p>Ou seja, o x do ponto final menos o x do ponto inicial elevado ao quadrado mais o y do ponto final menos o y do ponto inicial elevado ao quadrado é igual ao quadrado da distância entre os 2 pontos, então é só tirar a raiz quadrado do resultado.</p>

<img src="http://blog.renanfernandes.com.br/?ak_action=api_record_view&id=581&type=feed" alt="" /><p>Nenuhm post parecido encontrado.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.renanfernandes.com.br/2011/06/problema-do-caixeiro-viajante/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.renanfernandes.com.br/2011/06/problema-do-caixeiro-viajante/</feedburner:origLink></item>
		<item>
		<title>Ótima apostila de C++</title>
		<link>http://feedproxy.google.com/~r/RenanFernandesBlog/~3/xpoMxUlfXZo/</link>
		<comments>http://blog.renanfernandes.com.br/2010/09/otima-apostila-de-c/#comments</comments>
		<pubDate>Thu, 30 Sep 2010 15:31:50 +0000</pubDate>
		<dc:creator>ShadowBelmolve</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[apostila]]></category>

		<guid isPermaLink="false">http://blog.renanfernandes.com.br/?p=572</guid>
		<description><![CDATA[Sou programador de Ruby, mas atualmente fiquei interessado em algo mais rápido. Achei várias apostilas, mas, ou era incompleta, ou não era pra iniciante, ou era voltada a Window. No meio da busca me deparei com essa do Prof. André Duarte Bueno da UFSC. Achei ela bastante completa. Já estou na metade e espero terminar &#8230; <a href="http://blog.renanfernandes.com.br/2010/09/otima-apostila-de-c/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a>
Nenuhm post parecido encontrado.]]></description>
			<content:encoded><![CDATA[
<p>Sou programador de Ruby, mas atualmente fiquei interessado em algo mais rápido. Achei várias apostilas, mas, ou era incompleta, ou não era pra iniciante, ou era voltada a Window. No meio da busca me deparei com <a href="http://www.lenep.uenf.br/~bueno/ApostilaProgramacao/ApostilaProgramacaoCppv045.pdf">essa</a> do Prof. André Duarte Bueno da UFSC.</p>
<p>Achei ela bastante completa. Já estou na metade e espero terminar de ler essa semana, após isso vou ler o &#8220;Thinking in C++&#8221; :)</p>

<img src="http://blog.renanfernandes.com.br/?ak_action=api_record_view&id=572&type=feed" alt="" /><p>Nenuhm post parecido encontrado.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.renanfernandes.com.br/2010/09/otima-apostila-de-c/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://blog.renanfernandes.com.br/2010/09/otima-apostila-de-c/</feedburner:origLink></item>
		<item>
		<title>Criando User Defined Functions do SQLite3 no QT</title>
		<link>http://feedproxy.google.com/~r/RenanFernandesBlog/~3/eq2l6NEV3nU/</link>
		<comments>http://blog.renanfernandes.com.br/2010/09/criando-user-defined-functions-do-sqlite3-no-qt/#comments</comments>
		<pubDate>Tue, 28 Sep 2010 15:31:09 +0000</pubDate>
		<dc:creator>ShadowBelmolve</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[sqlite3]]></category>
		<category><![CDATA[user defined functions]]></category>

		<guid isPermaLink="false">http://blog.renanfernandes.com.br/?p=569</guid>
		<description><![CDATA[Yo, tempinho sumido já mas voltando a brincar com C++ agora. Primeiro, &#8220;O que é uma User Defined Function(UDF)?&#8221;. Como o nome diz, é uma função criada pelo usuário(sua app), por exemplo: UPDATE products SET price = toMoney&#40;price_cents&#41;; A função &#8220;toMoney&#8221;, como o próprio nome diz, serve pra transformar uma string/inteiro em uma string em &#8230; <a href="http://blog.renanfernandes.com.br/2010/09/criando-user-defined-functions-do-sqlite3-no-qt/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a>
Nenuhm post parecido encontrado.]]></description>
			<content:encoded><![CDATA[
<p>Yo, tempinho sumido já mas voltando a brincar com C++ agora.</p>
<p>Primeiro, &#8220;O que é uma User Defined Function(UDF)?&#8221;.</p>
<p>Como o nome diz, é uma função criada pelo usuário(sua app), por exemplo:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">UPDATE</span> products <span style="color: #993333; font-weight: bold;">SET</span> price <span style="color: #66cc66;">=</span> toMoney<span style="color: #66cc66;">&#40;</span>price_cents<span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>A função &#8220;toMoney&#8221;, como o próprio nome diz, serve pra transformar uma string/inteiro em uma string em formato de dinheiro, porém essa função não existe. É ai que entram as UDFs. Se não existe, então criamos!</p>
<p>Vou partir do princípio que você vai fazer isso em um programa em QT4.<br />
<span id="more-569"></span></p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;QSqlDatabase&gt;</span>
<span style="color: #339900;">#include &lt;QSqlDriver&gt;</span>
<span style="color: #339900;">#include &lt;QString&gt;</span>
<span style="color: #339900;">#include &lt;QVariant&gt;</span>
<span style="color: #339900;">#include &quot;sqlite3.h&quot;</span>
&nbsp;
<span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span> toMoneyFunc<span style="color: #008000;">&#40;</span>sqlite3_context<span style="color: #000040;">*</span> context, <span style="color: #0000ff;">int</span> <span style="color: #ff0000; font-style: italic;">/* argc */</span>, sqlite3_value<span style="color: #000040;">**</span> argv<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>out<span style="color: #008080;">;</span>
    QString str<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span><span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span>sqlite3_value_text<span style="color: #008000;">&#40;</span>argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #666666;">//a função toMoney é quem faz o trabalho sujo :)</span>
    QString str2 <span style="color: #000080;">=</span> toCurrency<span style="color: #008000;">&#40;</span>str<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    out <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span><span style="color: #008000;">&#91;</span>str2.<span style="color: #007788;">count</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
    <span style="color: #666666;">//esse foi o único meio que eu achei de passar uma QString para um char sem perdas.</span>
    <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;=</span> str2.<span style="color: #007788;">count</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> out<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> str2<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">toAscii</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #666666;">//os argumentos são, o context, uma const char* com o resultado, o número de bytes a ser usado(strlen(out)+1) ou -1</span>
    <span style="color: #666666;">//e por último um void</span>
    sqlite3_result_text<span style="color: #008000;">&#40;</span>context, <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span><span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span>out, <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">static</span> <span style="color: #0000ff;">bool</span> createConnection<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    QSqlDatabase db <span style="color: #000080;">=</span> QSqlDatabase<span style="color: #008080;">::</span><span style="color: #007788;">addDatabase</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;QSQLITE&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    db.<span style="color: #007788;">setDatabaseName</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;:memory:&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>db.<span style="color: #007788;">open</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
    QVariant v <span style="color: #000080;">=</span> db.<span style="color: #007788;">driver</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>handle<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>v.<span style="color: #007788;">isValid</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">||</span> qstrcmp<span style="color: #008000;">&#40;</span>v.<span style="color: #007788;">typeName</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>, <span style="color: #FF0000;">&quot;sqlite3*&quot;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
    sqlite3 <span style="color: #000040;">*</span>handler <span style="color: #000080;">=</span> <span style="color: #000040;">*</span><span style="color: #0000ff;">static_cast</span><span style="color: #000080;">&lt;</span>sqlite3 <span style="color: #000040;">**</span><span style="color: #000080;">&gt;</span><span style="color: #008000;">&#40;</span>v.<span style="color: #007788;">data</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #666666;">//os argumentos são, o handler, nome da função, número de argumentos ou -1 pra quantos tiver, codificação aceita, void, ponteiro para a função, void, void</span>
    <span style="color: #666666;">//para mais informações veja aqui http://www.sqlite.org/c3ref/create_function.html</span>
    sqlite3_create_function<span style="color: #008000;">&#40;</span>handler, <span style="color: #FF0000;">&quot;toMoney&quot;</span>, <span style="color: #0000dd;">1</span>, SQLITE_ANY, <span style="color: #0000dd;">0</span>, <span style="color: #000040;">&amp;</span>toMoneyFunc, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>


<img src="http://blog.renanfernandes.com.br/?ak_action=api_record_view&id=569&type=feed" alt="" /><p>Nenuhm post parecido encontrado.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.renanfernandes.com.br/2010/09/criando-user-defined-functions-do-sqlite3-no-qt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.renanfernandes.com.br/2010/09/criando-user-defined-functions-do-sqlite3-no-qt/</feedburner:origLink></item>
		<item>
		<title>Comentários de código engraçados</title>
		<link>http://feedproxy.google.com/~r/RenanFernandesBlog/~3/rinI5a3OrfY/</link>
		<comments>http://blog.renanfernandes.com.br/2010/09/comentarios-de-codigo-engracados/#comments</comments>
		<pubDate>Wed, 15 Sep 2010 17:23:18 +0000</pubDate>
		<dc:creator>ShadowBelmolve</dc:creator>
				<category><![CDATA[Comédia]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[programador sofre]]></category>

		<guid isPermaLink="false">http://blog.renanfernandes.com.br/?p=562</guid>
		<description><![CDATA[Ok, faz bastante tempo que não posto nada, e por conta disso vou copiar um post do cobaia.net :D /* * OK; before you read the following code know what I am trying to do. * I needed to get the list of child catagories from the root node so that * the root node &#8230; <a href="http://blog.renanfernandes.com.br/2010/09/comentarios-de-codigo-engracados/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a>
Nenuhm post parecido encontrado.]]></description>
			<content:encoded><![CDATA[
<p>Ok, faz bastante tempo que não posto nada, e por conta disso vou copiar um post do <a href="http://cobaia.net/2010/09/top-funny-source-code-comments/">cobaia.net</a> :D</p>
<p><span id="more-562"></span></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">/*
 * OK; before you read the following code know what I am trying to do.
 * I needed to get the list of child catagories from the root node so that
 * the root node didn't appear in the selection box. But for some stupid
 * fucking reason the stupid fucking DBA wont let me access the items using
 * indices and I instead have to use their stupid fucking Iterator
 * implementation. So there.
 */</span>
<span style="color: #000088;">$firstList</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getRootNode</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getChildren</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$firstList</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$node</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$nodes</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$node</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getChildren</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>                <span style="color: #666666; font-style: italic;">// wtf?</span>
<span style="color: #009900;">&#125;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// if i ever see this again i'm going to start bringing guns to work</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//hack for ie browser (assuming that ie is a browser)</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #009933; font-style: italic;">/**
* For the brave souls who get this far: You are the chosen ones,
* the valiant knights of programming who toil away, without rest,
* fixing our most awful code. To you, true saviors, kings of men,
* I say this: never gonna give you up, never gonna let you down,
* never gonna run around and desert you. Never gonna make you cry,
* never gonna say goodbye. Never gonna tell a lie and hurt you.
*/</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// </span>
<span style="color: #666666; font-style: italic;">// Dear maintainer:</span>
<span style="color: #666666; font-style: italic;">// </span>
<span style="color: #666666; font-style: italic;">// Once you are done trying to 'optimize' this routine,</span>
<span style="color: #666666; font-style: italic;">// and have realized what a terrible mistake that was,</span>
<span style="color: #666666; font-style: italic;">// please increment the following counter as a warning</span>
<span style="color: #666666; font-style: italic;">// to the next guy:</span>
<span style="color: #666666; font-style: italic;">// </span>
<span style="color: #666666; font-style: italic;">// total_hours_wasted_here = 16</span>
<span style="color: #666666; font-style: italic;">//</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// TODO: Fix this. Fix what?</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// no comments for you</span>
<span style="color: #666666; font-style: italic;">// it was hard to write</span>
<span style="color: #666666; font-style: italic;">// so it should be hard to read</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// I will give you two of my seventy-two virgins if you can fix this.</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">options.<span style="color: #007788;">BatchSize</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">300</span><span style="color: #008080;">;</span> <span style="color: #666666;">//Madness? THIS IS SPARTA!</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// I am not responsible of this code.</span>
<span style="color: #666666; font-style: italic;">// They made me write it, against my will.</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//Dear future me. Please forgive me.</span>
<span style="color: #666666; font-style: italic;">//I can't even begin to express how sorry I am.</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">double</span> penetration<span style="color: #008080;">;</span> <span style="color: #666666;">// ouch</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#008000; font-style:italic;"># To understand recursion, see the bottom of this file.</span></pre></div></div>

<p>At the bottom file:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#008000; font-style:italic;"># To understand recursion, see the top of this file.</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//I am not sure why this works but it fixes the problem.</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//somedev1 - 6/7/02 Adding temporary tracking of Logic screen</span>
<span style="color: #666666; font-style: italic;">//somedev2 - 5/22/07 Temporary my ass</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">/*
 * You may think you know what the following code does.
 * But you dont. Trust me
 * Fiddle with me, and youll spend many a sleppless
 * night cursing the moment you thought you be clever 
 * enough to &quot;optimize&quot; the code below.
 * Now close this file and go play with something else.
*/</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// drunk, fix later</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// Magic. Do not touch.</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// I dedicate all this code, all my work, to my wife, Darlene, who will</span>
<span style="color: #666666; font-style: italic;">// have to support me and our three children and the dog once it gets</span>
<span style="color: #666666; font-style: italic;">// released into the public</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">Exception up <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> Exception<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Something is really wrong.&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">throw</span> up<span style="color: #008080;">;</span> <span style="color: #666666;">//ha ha</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//When I wrote this, only God and I understood that I was doing</span>
<span style="color: #666666; font-style: italic;">//Now, God only knows</span></pre></div></div>


<img src="http://blog.renanfernandes.com.br/?ak_action=api_record_view&id=562&type=feed" alt="" /><p>Nenuhm post parecido encontrado.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.renanfernandes.com.br/2010/09/comentarios-de-codigo-engracados/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.renanfernandes.com.br/2010/09/comentarios-de-codigo-engracados/</feedburner:origLink></item>
		<item>
		<title>Oxygen Transparent</title>
		<link>http://feedproxy.google.com/~r/RenanFernandesBlog/~3/UieLzk6V2do/</link>
		<comments>http://blog.renanfernandes.com.br/2010/07/oxygen-transparent/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 16:53:25 +0000</pubDate>
		<dc:creator>ShadowBelmolve</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[arch linux]]></category>
		<category><![CDATA[oxygen]]></category>
		<category><![CDATA[oxygen transparent]]></category>

		<guid isPermaLink="false">http://blog.renanfernandes.com.br/?p=549</guid>
		<description><![CDATA[Yeah, agora tem um Oxygen Transparent, que é basicamente um fork do Oxygen com possibilidade de deixar o fundo transparente. Se voce usa Arch Linux, então use esse esse pacote do AUR. Para os demais, vou adaptar o PKGBUILD do pacote acima, esse script vai instalar o Oxygen Transparent e NÃO vai sobrepor o seu &#8230; <a href="http://blog.renanfernandes.com.br/2010/07/oxygen-transparent/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a>
Posts (possivelmente) parecidos:<ol>
<li><a href='http://blog.renanfernandes.com.br/2010/06/instalando-o-kde-no-ubuntu/' rel='bookmark' title='Instalando o KDE no Ubuntu'>Instalando o KDE no Ubuntu</a> <small>Dica rápida. Como vejo que muita gente chega aqui procurando...</small></li>
<li><a href='http://blog.renanfernandes.com.br/2009/12/tema-air-do-kde-para-chromium-google-chrome/' rel='bookmark' title='Tema Air do KDE para Chromium/Google Chrome'>Tema Air do KDE para Chromium/Google Chrome</a> <small>Chromium já está sendo usado por milhares de pessoas e...</small></li>
<li><a href='http://blog.renanfernandes.com.br/2009/12/instalando-o-kde-4-4-no-arch-linux-e-no-kubuntu-ubuntu/' rel='bookmark' title='Instalando o KDE 4.4 no Arch Linux e no Kubuntu/Ubuntu'>Instalando o KDE 4.4 no Arch Linux e no Kubuntu/Ubuntu</a> <small>Como vejo muita gente entrando buscando por Como instalar o...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<div id="attachment_553" class="wp-caption alignright" style="width: 160px"><a href="http://blog.renanfernandes.com.br/wp-content/uploads/2010/07/oxygentransparent1.png"><img class="size-thumbnail wp-image-553" title="Oxygen Transparent" src="http://blog.renanfernandes.com.br/wp-content/uploads/2010/07/oxygentransparent1-150x123.png" alt="Oxygen Transparent no Dolphin" width="150" height="123" /></a><p class="wp-caption-text">Dolphin</p></div>
<p>Yeah, agora tem um <strong>Oxygen Transparent</strong>, que é basicamente um fork do Oxygen com possibilidade de deixar o <strong>fundo transparente</strong>.</p>
<p>Se voce usa <a href="http://archlinux.org/">Arch Linux</a>, então use <del><a href="http://aur.archlinux.org/packages.php?ID=39201">esse</a></del> <a href="http://aur.archlinux.org/packages.php?ID=47152">esse</a> pacote do AUR.</p>
<p>Para os demais, vou adaptar o PKGBUILD do pacote acima, esse script vai instalar o <strong>Oxygen Transparent</strong> <del>e <strong>NÃO</strong> vai sobrepor o seu Oxygen(como seria o normal)</del>. Agora é assim o normal.<span id="more-549"></span></p>
<p>Você vai precisar ter o runtime e o workspace do KDE, pkgconfig, cmake, automoc4  e <del>subversion(svn)</del> git instalados.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">srcdir</span>=<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>oxygen
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #800000;">${srcdir}</span>
&nbsp;
<span style="color: #007800;">_gitroot</span>=<span style="color: #ff0000;">&quot;git://anongit.kde.org/﻿oxygen-transparent&quot;</span>
<span style="color: #007800;">_gitname</span>=oxygen-transparent
&nbsp;
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">${srcdir}</span>&quot;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-d</span> <span style="color: #800000;">${_gitname}</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
  <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #800000;">${_gitname}</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #c20cb9; font-weight: bold;">git</span> pull origin
<span style="color: #000000; font-weight: bold;">else</span>
  <span style="color: #c20cb9; font-weight: bold;">git</span> clone <span style="color: #800000;">${_gitroot}</span> <span style="color: #800000;">${_gitname}</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-rf</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">${srcdir}</span>/build&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">git</span> clone <span style="color: #ff0000;">&quot;<span style="color: #007800;">${srcdir}</span>/<span style="color: #007800;">${_gitname}</span>&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">${srcdir}</span>/build&quot;</span>
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">${srcdir}</span>/build&quot;</span>
&nbsp;
cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=<span style="color: #000000; font-weight: bold;">/</span>usr
<span style="color: #c20cb9; font-weight: bold;">make</span>
<span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></div></div>


<img src="http://blog.renanfernandes.com.br/?ak_action=api_record_view&id=549&type=feed" alt="" /><p>Posts (possivelmente) parecidos:<ol>
<li><a href='http://blog.renanfernandes.com.br/2010/06/instalando-o-kde-no-ubuntu/' rel='bookmark' title='Instalando o KDE no Ubuntu'>Instalando o KDE no Ubuntu</a> <small>Dica rápida. Como vejo que muita gente chega aqui procurando...</small></li>
<li><a href='http://blog.renanfernandes.com.br/2009/12/tema-air-do-kde-para-chromium-google-chrome/' rel='bookmark' title='Tema Air do KDE para Chromium/Google Chrome'>Tema Air do KDE para Chromium/Google Chrome</a> <small>Chromium já está sendo usado por milhares de pessoas e...</small></li>
<li><a href='http://blog.renanfernandes.com.br/2009/12/instalando-o-kde-4-4-no-arch-linux-e-no-kubuntu-ubuntu/' rel='bookmark' title='Instalando o KDE 4.4 no Arch Linux e no Kubuntu/Ubuntu'>Instalando o KDE 4.4 no Arch Linux e no Kubuntu/Ubuntu</a> <small>Como vejo muita gente entrando buscando por Como instalar o...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.renanfernandes.com.br/2010/07/oxygen-transparent/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://blog.renanfernandes.com.br/2010/07/oxygen-transparent/</feedburner:origLink></item>
		<item>
		<title>Morevna, um anime feito totalmente com software livre</title>
		<link>http://feedproxy.google.com/~r/RenanFernandesBlog/~3/VoCIs-C1Nog/</link>
		<comments>http://blog.renanfernandes.com.br/2010/07/morevna-um-anime-feito-totalmente-com-software-livre/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 22:42:37 +0000</pubDate>
		<dc:creator>ShadowBelmolve</dc:creator>
				<category><![CDATA[Software Livre]]></category>
		<category><![CDATA[anime]]></category>
		<category><![CDATA[blender]]></category>
		<category><![CDATA[gimp]]></category>
		<category><![CDATA[inkscape]]></category>
		<category><![CDATA[morevna]]></category>
		<category><![CDATA[software livre]]></category>

		<guid isPermaLink="false">http://blog.renanfernandes.com.br/?p=544</guid>
		<description><![CDATA[Morevna é um anime com um diferencial interessante: o projeto está sendo todo feito com ferramentas open source, como Synfig, Blender, GIMP e Krita. Mas Morevna não está apenas sendo feito com ferramentas livres e abertas: ele também será distribuído livremente, sem qualquer custo. Só baixar e assistir. E talvez seja isso o que torna o &#8230; <a href="http://blog.renanfernandes.com.br/2010/07/morevna-um-anime-feito-totalmente-com-software-livre/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a>
Nenuhm post parecido encontrado.]]></description>
			<content:encoded><![CDATA[
<p><strong>Morevna</strong> é um anime com um diferencial interessante: o projeto está sendo todo feito com ferramentas open source, como Synfig, Blender, GIMP e Krita. Mas Morevna não está apenas sendo feito com ferramentas livres e abertas: ele também será distribuído livremente, sem qualquer custo. Só baixar e assistir.<br />
<a href="http://blog.renanfernandes.com.br/wp-content/uploads/2010/07/morevna-300x300.png"><img class="aligncenter size-full wp-image-545" title="morevna-300x300" src="http://blog.renanfernandes.com.br/wp-content/uploads/2010/07/morevna-300x300.png" alt="" width="300" height="300" /></a></p>
<p><span id="more-544"></span>E talvez seja isso o que torna o projeto algo que mereça ser acompanhado de perto. Não é apenas um anime amador, é todo um conceito sendo desenvolvido.</p>
<p>A história do anime <strong>Morevna</strong> é baseado em um antigo conto de fadas russo, chamado “Marya Morevna”. Mas o anime terá um cenário futurista e high-tech, cheio das tranqueiras tecnológicas que enchem os olhos em uma animação.</p>
<p>Os objetivos por trás do projeto Morevna também merecem atenção:</p>
<ul>
<li>Criar um filme de longa duração no formato anime, mas utilizando apenas Software Livre;</li>
<li>Promover soluções Open Source e a ideologia por trás do Sofware Livre;</li>
<li>Testar e melhorar aplicativos livres existentes, repassando comentários e problemas para desenvolvedores e a comunidade de usuários;</li>
<li>Validar ferramentas livres como alternativas válidas para criação de animações profissionais de qualidade;</li>
<li>Gerar documentação e tutoriais para que outros artistas possam aprender como usar ferramentas livres</li>
</ul>
<p>O vídeo abaixo mostra alguns detalhes do projeto:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/ZNUtgBoeGko" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/ZNUtgBoeGko"></embed></object></p>
<p>Você pode saber mais sobre o projeto <a href="http://morevnaproject.org/">Morevna</a> visitando o blog do projeto e até contribuir de alguma forma com o desenvolvimento dele. Basta ler a <a href="http://morevnaproject.org/wiki/Contributor's_Guide">documentação</a>. :)</p>
<p>Post copiado do <a href="http://graveheart.me/geek-life/linux/morevna-um-anime-feito-totalmente-com-software-livre/">Graveheart</a></p>

<img src="http://blog.renanfernandes.com.br/?ak_action=api_record_view&id=544&type=feed" alt="" /><p>Nenuhm post parecido encontrado.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.renanfernandes.com.br/2010/07/morevna-um-anime-feito-totalmente-com-software-livre/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.renanfernandes.com.br/2010/07/morevna-um-anime-feito-totalmente-com-software-livre/</feedburner:origLink></item>
		<item>
		<title>Improvável: Jogo dos estilos</title>
		<link>http://feedproxy.google.com/~r/RenanFernandesBlog/~3/q-Mb9RacEPM/</link>
		<comments>http://blog.renanfernandes.com.br/2010/07/improvavel-jogo-dos-estilos/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 01:19:45 +0000</pubDate>
		<dc:creator>ShadowBelmolve</dc:creator>
				<category><![CDATA[Comédia]]></category>
		<category><![CDATA[Vídeos]]></category>
		<category><![CDATA[barbixas]]></category>

		<guid isPermaLink="false">http://blog.renanfernandes.com.br/?p=541</guid>
		<description><![CDATA[Pra quem não conhece, Improvável é um espetáculo criado pela Cia. Barbixas de Humor que sempre recebe 2 convidados e faz tudo na base do improviso, sempre tendo como base do improviso algo dado pela platéia(nesse jogo são os estilos, e dessa vez a profissão também). Talvez você já tenha os visto no É Tudo &#8230; <a href="http://blog.renanfernandes.com.br/2010/07/improvavel-jogo-dos-estilos/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a>
Nenuhm post parecido encontrado.]]></description>
			<content:encoded><![CDATA[
<p>Pra quem não conhece, <a href="http://www.improvavel.com.br/index.htm">Improvável</a> é um espetáculo criado pela <a href="http://www.barbixas.com.br/">Cia. Barbixas de Humor</a> que sempre recebe 2 convidados e faz tudo na base do improviso, sempre tendo como base do improviso algo dado pela platéia(nesse jogo são os estilos, e dessa vez a profissão também).</p>
<p>Talvez você já tenha os visto no <a href="http://www.band.com.br/etudoimproviso/">É Tudo Improviso</a> que passou no lugar do CQC durante algum tempo, mas lá eles não eram tão engraçados.</p>
<p>Aqui o vídeo dessa semana, caso queira ver mais dê uma olhada no <a href="http://www.youtube.com/user/videosimprovaveis">canal</a> deles.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/XIlMsmb-HCs&amp;hl=pt_BR&amp;fs=1?rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/XIlMsmb-HCs&amp;hl=pt_BR&amp;fs=1?rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>

<img src="http://blog.renanfernandes.com.br/?ak_action=api_record_view&id=541&type=feed" alt="" /><p>Nenuhm post parecido encontrado.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.renanfernandes.com.br/2010/07/improvavel-jogo-dos-estilos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.renanfernandes.com.br/2010/07/improvavel-jogo-dos-estilos/</feedburner:origLink></item>
		<item>
		<title>DI-524 e seu bug bizarro – Parte 3</title>
		<link>http://feedproxy.google.com/~r/RenanFernandesBlog/~3/_g8CVyjUpbU/</link>
		<comments>http://blog.renanfernandes.com.br/2010/07/di-524-e-seu-bug-bizarro-parte-3/#comments</comments>
		<pubDate>Sat, 17 Jul 2010 15:35:27 +0000</pubDate>
		<dc:creator>ShadowBelmolve</dc:creator>
				<category><![CDATA[Batalhas]]></category>
		<category><![CDATA[bug bizarro]]></category>
		<category><![CDATA[derrota]]></category>
		<category><![CDATA[DI-524]]></category>
		<category><![CDATA[roteador wireless]]></category>
		<category><![CDATA[submarino]]></category>

		<guid isPermaLink="false">http://blog.renanfernandes.com.br/?p=539</guid>
		<description><![CDATA[Sábado, logo pela manhã o sedex chegou com o meu novo roteador. Cerca de 1 semana para eu enviar, verem o defeito e me mandarem um novo, nada mau Submarino :) Fiz a configuração pelo wizard e tudo funcionando por enquanto, vamos ver por quanto tempo dura. OBS: O roteador chegou no dia mais frio &#8230; <a href="http://blog.renanfernandes.com.br/2010/07/di-524-e-seu-bug-bizarro-parte-3/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a>
Posts (possivelmente) parecidos:<ol>
<li><a href='http://blog.renanfernandes.com.br/2010/07/di-524-e-seu-bug-bizarro-–-parte-2/' rel='bookmark' title='DI-524 e seu bug bizarro – Parte 2'>DI-524 e seu bug bizarro – Parte 2</a> <small>Derrotado eu fui! Tentei todas as soluções que eu encontrei...</small></li>
<li><a href='http://blog.renanfernandes.com.br/2010/06/di-524-e-seu-bug-bizarro-parte-1/' rel='bookmark' title='DI-524 e seu bug bizarro &#8211; Parte 1'>DI-524 e seu bug bizarro &#8211; Parte 1</a> <small>No meu último post eu venci a batalha do MTU,...</small></li>
<li><a href='http://blog.renanfernandes.com.br/2010/06/d-link-di-524-e-problemas-de-conexao/' rel='bookmark' title='D-Link DI-524 e problemas de conexão'>D-Link DI-524 e problemas de conexão</a> <small>Hoje chegou meu roteador D-Link DI-524 e pela primeira vez...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<p>Sábado, logo pela manhã o sedex chegou com o meu novo roteador. Cerca de 1 semana para eu enviar, verem o defeito e me mandarem um novo, nada mau <a href="http://submarino.com.br">Submarino</a> :)</p>
<p>Fiz a configuração pelo wizard e tudo funcionando por enquanto, vamos ver por quanto tempo dura.</p>
<p>OBS: O roteador chegou no dia mais frio da história da minha cidade. Aqui a temperatura normal é por volta de 30 graus, ontem estava 14 e hoje é previsto que chegue até 8. Ficar na cama aproveitando a wireless não tem preço :D</p>

<img src="http://blog.renanfernandes.com.br/?ak_action=api_record_view&id=539&type=feed" alt="" /><p>Posts (possivelmente) parecidos:<ol>
<li><a href='http://blog.renanfernandes.com.br/2010/07/di-524-e-seu-bug-bizarro-–-parte-2/' rel='bookmark' title='DI-524 e seu bug bizarro – Parte 2'>DI-524 e seu bug bizarro – Parte 2</a> <small>Derrotado eu fui! Tentei todas as soluções que eu encontrei...</small></li>
<li><a href='http://blog.renanfernandes.com.br/2010/06/di-524-e-seu-bug-bizarro-parte-1/' rel='bookmark' title='DI-524 e seu bug bizarro &#8211; Parte 1'>DI-524 e seu bug bizarro &#8211; Parte 1</a> <small>No meu último post eu venci a batalha do MTU,...</small></li>
<li><a href='http://blog.renanfernandes.com.br/2010/06/d-link-di-524-e-problemas-de-conexao/' rel='bookmark' title='D-Link DI-524 e problemas de conexão'>D-Link DI-524 e problemas de conexão</a> <small>Hoje chegou meu roteador D-Link DI-524 e pela primeira vez...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.renanfernandes.com.br/2010/07/di-524-e-seu-bug-bizarro-parte-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.renanfernandes.com.br/2010/07/di-524-e-seu-bug-bizarro-parte-3/</feedburner:origLink></item>
		<item>
		<title>DI-524 e seu bug bizarro – Parte 2</title>
		<link>http://feedproxy.google.com/~r/RenanFernandesBlog/~3/zEndEp2xnoQ/</link>
		<comments>http://blog.renanfernandes.com.br/2010/07/di-524-e-seu-bug-bizarro-–-parte-2/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 03:04:37 +0000</pubDate>
		<dc:creator>ShadowBelmolve</dc:creator>
				<category><![CDATA[Batalhas]]></category>
		<category><![CDATA[bug bizarro]]></category>
		<category><![CDATA[DI-524]]></category>
		<category><![CDATA[roteador wireless]]></category>

		<guid isPermaLink="false">http://blog.renanfernandes.com.br/?p=532</guid>
		<description><![CDATA[Derrotado eu fui! Tentei todas as soluções que eu encontrei na internet, tentei o suporte da D-Link(o atendente demorou cerca de 40 minutos para entender que o roteador não tinha acesso a internet) mas nada funcionou. Entrei em contato com o submarino para fazer a troca na quinta feira passada(dia 01/07) mas pelo jeito esqueceram &#8230; <a href="http://blog.renanfernandes.com.br/2010/07/di-524-e-seu-bug-bizarro-–-parte-2/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a>
Posts (possivelmente) parecidos:<ol>
<li><a href='http://blog.renanfernandes.com.br/2010/06/di-524-e-seu-bug-bizarro-parte-1/' rel='bookmark' title='DI-524 e seu bug bizarro &#8211; Parte 1'>DI-524 e seu bug bizarro &#8211; Parte 1</a> <small>No meu último post eu venci a batalha do MTU,...</small></li>
<li><a href='http://blog.renanfernandes.com.br/2010/07/di-524-e-seu-bug-bizarro-parte-3/' rel='bookmark' title='DI-524 e seu bug bizarro &#8211; Parte 3'>DI-524 e seu bug bizarro &#8211; Parte 3</a> <small>Sábado, logo pela manhã o sedex chegou com o meu...</small></li>
<li><a href='http://blog.renanfernandes.com.br/2010/06/d-link-di-524-e-problemas-de-conexao/' rel='bookmark' title='D-Link DI-524 e problemas de conexão'>D-Link DI-524 e problemas de conexão</a> <small>Hoje chegou meu roteador D-Link DI-524 e pela primeira vez...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<p>Derrotado eu fui! Tentei todas as soluções que eu encontrei na internet, tentei o suporte da D-Link(o atendente demorou cerca de 40 minutos para entender que o roteador não tinha acesso a internet) mas nada funcionou.</p>
<p>Entrei em contato com o submarino para fazer a troca na quinta feira passada(dia 01/07) mas pelo jeito esqueceram de mim, entrei em contato de novo na quarta(07/07) e na quinta já recebi uma resposta deles e um e-mail do correio avisando que na sexta(hoje, 09/07) viria alguém do sedex pegar o roteador(e veio :P).</p>
<p>Bem, vamos ver até quando pra ele voltar. Agora só me falta falarem que ele tá ok :(</p>

<img src="http://blog.renanfernandes.com.br/?ak_action=api_record_view&id=532&type=feed" alt="" /><p>Posts (possivelmente) parecidos:<ol>
<li><a href='http://blog.renanfernandes.com.br/2010/06/di-524-e-seu-bug-bizarro-parte-1/' rel='bookmark' title='DI-524 e seu bug bizarro &#8211; Parte 1'>DI-524 e seu bug bizarro &#8211; Parte 1</a> <small>No meu último post eu venci a batalha do MTU,...</small></li>
<li><a href='http://blog.renanfernandes.com.br/2010/07/di-524-e-seu-bug-bizarro-parte-3/' rel='bookmark' title='DI-524 e seu bug bizarro &#8211; Parte 3'>DI-524 e seu bug bizarro &#8211; Parte 3</a> <small>Sábado, logo pela manhã o sedex chegou com o meu...</small></li>
<li><a href='http://blog.renanfernandes.com.br/2010/06/d-link-di-524-e-problemas-de-conexao/' rel='bookmark' title='D-Link DI-524 e problemas de conexão'>D-Link DI-524 e problemas de conexão</a> <small>Hoje chegou meu roteador D-Link DI-524 e pela primeira vez...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.renanfernandes.com.br/2010/07/di-524-e-seu-bug-bizarro-–-parte-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.renanfernandes.com.br/2010/07/di-524-e-seu-bug-bizarro-–-parte-2/</feedburner:origLink></item>
		<item>
		<title>Java 4-Ever Trailer</title>
		<link>http://feedproxy.google.com/~r/RenanFernandesBlog/~3/V0Ych5lJckI/</link>
		<comments>http://blog.renanfernandes.com.br/2010/06/java-4-ever-trailer/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 17:38:14 +0000</pubDate>
		<dc:creator>ShadowBelmolve</dc:creator>
				<category><![CDATA[Comédia]]></category>
		<category><![CDATA[Vídeos]]></category>
		<category><![CDATA[Trailer]]></category>

		<guid isPermaLink="false">http://blog.renanfernandes.com.br/?p=526</guid>
		<description><![CDATA[Esse será o filme do ano :D Nenuhm post parecido encontrado.
Nenuhm post parecido encontrado.]]></description>
			<content:encoded><![CDATA[
<p>Esse será o filme do ano :D</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/_SdnSq1Mgi4&amp;hl=pt_BR&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/_SdnSq1Mgi4&amp;hl=pt_BR&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>

<img src="http://blog.renanfernandes.com.br/?ak_action=api_record_view&id=526&type=feed" alt="" /><p>Nenuhm post parecido encontrado.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.renanfernandes.com.br/2010/06/java-4-ever-trailer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.renanfernandes.com.br/2010/06/java-4-ever-trailer/</feedburner:origLink></item>
		<item>
		<title>DI-524 e seu bug bizarro – Parte 1</title>
		<link>http://feedproxy.google.com/~r/RenanFernandesBlog/~3/CWGgg2MgNUY/</link>
		<comments>http://blog.renanfernandes.com.br/2010/06/di-524-e-seu-bug-bizarro-parte-1/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 16:02:42 +0000</pubDate>
		<dc:creator>ShadowBelmolve</dc:creator>
				<category><![CDATA[Batalhas]]></category>
		<category><![CDATA[bug bizarro]]></category>
		<category><![CDATA[DI-524]]></category>
		<category><![CDATA[roteador wireless]]></category>

		<guid isPermaLink="false">http://blog.renanfernandes.com.br/?p=521</guid>
		<description><![CDATA[No meu último post eu venci a batalha do MTU, mas infelizmente esse roteador é um péssimo perdedor e pediu revanche :( Após cerca de 20 horas trabalhando normalmente, ele começou a simplesmente &#8216;não enxergar&#8217; o modem(é o que eu acho :D). Ele não consegue conectar via DHCP no modem, mesmo resetando, mesmo refazendo todas &#8230; <a href="http://blog.renanfernandes.com.br/2010/06/di-524-e-seu-bug-bizarro-parte-1/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a>
Posts (possivelmente) parecidos:<ol>
<li><a href='http://blog.renanfernandes.com.br/2010/07/di-524-e-seu-bug-bizarro-parte-3/' rel='bookmark' title='DI-524 e seu bug bizarro &#8211; Parte 3'>DI-524 e seu bug bizarro &#8211; Parte 3</a> <small>Sábado, logo pela manhã o sedex chegou com o meu...</small></li>
<li><a href='http://blog.renanfernandes.com.br/2010/07/di-524-e-seu-bug-bizarro-–-parte-2/' rel='bookmark' title='DI-524 e seu bug bizarro – Parte 2'>DI-524 e seu bug bizarro – Parte 2</a> <small>Derrotado eu fui! Tentei todas as soluções que eu encontrei...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<p>No meu <a href="/?p=518">último post</a> eu venci a batalha do MTU, mas infelizmente esse roteador é um péssimo perdedor e pediu revanche :(</p>
<p>Após cerca de 20 horas trabalhando normalmente, ele começou a simplesmente &#8216;não enxergar&#8217; o modem(é o que eu acho :D). Ele não consegue conectar via DHCP no modem, mesmo resetando, mesmo refazendo todas as configurações, mesmo passando o modem para bridge e deixando para o routeador discar, mesmo tentando conectar com ip estático, mesmo a pipoca não tendo antena ele simplesmente não se conecta.</p>
<p>Pensei em atualizar o firmware mas pelo que eu vi no site já estou com a versão mais nova.</p>
<p>Entrei em contato com o suporte da D-Link pelo site, se eles tiverem uma solução então beleza, caso contrario vou trocar ele logo(e vou descobrir se o <a href="http://submarino.com.br">submarino</a> é bom para trocar também :P).</p>

<img src="http://blog.renanfernandes.com.br/?ak_action=api_record_view&id=521&type=feed" alt="" /><p>Posts (possivelmente) parecidos:<ol>
<li><a href='http://blog.renanfernandes.com.br/2010/07/di-524-e-seu-bug-bizarro-parte-3/' rel='bookmark' title='DI-524 e seu bug bizarro &#8211; Parte 3'>DI-524 e seu bug bizarro &#8211; Parte 3</a> <small>Sábado, logo pela manhã o sedex chegou com o meu...</small></li>
<li><a href='http://blog.renanfernandes.com.br/2010/07/di-524-e-seu-bug-bizarro-–-parte-2/' rel='bookmark' title='DI-524 e seu bug bizarro – Parte 2'>DI-524 e seu bug bizarro – Parte 2</a> <small>Derrotado eu fui! Tentei todas as soluções que eu encontrei...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.renanfernandes.com.br/2010/06/di-524-e-seu-bug-bizarro-parte-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.renanfernandes.com.br/2010/06/di-524-e-seu-bug-bizarro-parte-1/</feedburner:origLink></item>
		<item>
		<title>D-Link DI-524 e problemas de conexão</title>
		<link>http://feedproxy.google.com/~r/RenanFernandesBlog/~3/eszjxSHdWz8/</link>
		<comments>http://blog.renanfernandes.com.br/2010/06/d-link-di-524-e-problemas-de-conexao/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 02:30:41 +0000</pubDate>
		<dc:creator>ShadowBelmolve</dc:creator>
				<category><![CDATA[Batalhas]]></category>
		<category><![CDATA[Dicas]]></category>
		<category><![CDATA[bug bizarro]]></category>
		<category><![CDATA[DI-524]]></category>
		<category><![CDATA[roteador wireless]]></category>

		<guid isPermaLink="false">http://blog.renanfernandes.com.br/?p=518</guid>
		<description><![CDATA[Hoje chegou meu roteador D-Link DI-524 e pela primeira vez fui configurar uma rede wireless(como se fosse muita coisa :P), entrei em 192.168.0.1, usuário &#8216;admin&#8217;, senha em branco, rodei o &#8216;wizard&#8217; logo na primeira página, fiz a configuração e ok, rede protegida e funcionando(era o que eu achava). Meu MSN não queria entrar de forma &#8230; <a href="http://blog.renanfernandes.com.br/2010/06/d-link-di-524-e-problemas-de-conexao/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a>
Posts (possivelmente) parecidos:<ol>
<li><a href='http://blog.renanfernandes.com.br/2010/07/di-524-e-seu-bug-bizarro-parte-3/' rel='bookmark' title='DI-524 e seu bug bizarro &#8211; Parte 3'>DI-524 e seu bug bizarro &#8211; Parte 3</a> <small>Sábado, logo pela manhã o sedex chegou com o meu...</small></li>
<li><a href='http://blog.renanfernandes.com.br/2010/07/di-524-e-seu-bug-bizarro-–-parte-2/' rel='bookmark' title='DI-524 e seu bug bizarro – Parte 2'>DI-524 e seu bug bizarro – Parte 2</a> <small>Derrotado eu fui! Tentei todas as soluções que eu encontrei...</small></li>
<li><a href='http://blog.renanfernandes.com.br/2010/06/cuidado-com-o-console-log-ele-pode-te-causar-problemas/' rel='bookmark' title='Cuidado com o console.log(), ele pode te causar problemas'>Cuidado com o console.log(), ele pode te causar problemas</a> <small>Cenário de hoje, o mapa(Google Maps) do sistema que eu...</small></li>
<li><a href='http://blog.renanfernandes.com.br/2010/06/di-524-e-seu-bug-bizarro-parte-1/' rel='bookmark' title='DI-524 e seu bug bizarro &#8211; Parte 1'>DI-524 e seu bug bizarro &#8211; Parte 1</a> <small>No meu último post eu venci a batalha do MTU,...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<p>Hoje chegou meu roteador <strong>D-Link DI-524</strong> e pela primeira vez fui configurar uma rede wireless(como se fosse muita coisa :P), entrei em 192.168.0.1, usuário  &#8216;admin&#8217;, senha em branco, rodei o &#8216;wizard&#8217; logo na primeira página, fiz a configuração e ok, rede protegida e funcionando(era o que eu achava).</p>
<p>Meu MSN não queria entrar de forma alguma(mas o XMPP entrava sem problema nenhum), pensei ser problema na rede deles mas, não consegui dar pull no github(embora conseguisse no gitorious). Pesquisando um pouco na internet descobri que nesse roteador você precisa mudar o valor do &#8216;MTU&#8217;(em Home » WAN) de 1500 para 1400.</p>
<p>MTU mudado e agora tudo funciona como deve. Só espero não ter problemas futuros já que o notebook ta configurado com MTU 1500(padrão).</p>

<img src="http://blog.renanfernandes.com.br/?ak_action=api_record_view&id=518&type=feed" alt="" /><p>Posts (possivelmente) parecidos:<ol>
<li><a href='http://blog.renanfernandes.com.br/2010/07/di-524-e-seu-bug-bizarro-parte-3/' rel='bookmark' title='DI-524 e seu bug bizarro &#8211; Parte 3'>DI-524 e seu bug bizarro &#8211; Parte 3</a> <small>Sábado, logo pela manhã o sedex chegou com o meu...</small></li>
<li><a href='http://blog.renanfernandes.com.br/2010/07/di-524-e-seu-bug-bizarro-–-parte-2/' rel='bookmark' title='DI-524 e seu bug bizarro – Parte 2'>DI-524 e seu bug bizarro – Parte 2</a> <small>Derrotado eu fui! Tentei todas as soluções que eu encontrei...</small></li>
<li><a href='http://blog.renanfernandes.com.br/2010/06/cuidado-com-o-console-log-ele-pode-te-causar-problemas/' rel='bookmark' title='Cuidado com o console.log(), ele pode te causar problemas'>Cuidado com o console.log(), ele pode te causar problemas</a> <small>Cenário de hoje, o mapa(Google Maps) do sistema que eu...</small></li>
<li><a href='http://blog.renanfernandes.com.br/2010/06/di-524-e-seu-bug-bizarro-parte-1/' rel='bookmark' title='DI-524 e seu bug bizarro &#8211; Parte 1'>DI-524 e seu bug bizarro &#8211; Parte 1</a> <small>No meu último post eu venci a batalha do MTU,...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.renanfernandes.com.br/2010/06/d-link-di-524-e-problemas-de-conexao/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.renanfernandes.com.br/2010/06/d-link-di-524-e-problemas-de-conexao/</feedburner:origLink></item>
		<item>
		<title>Cuidado com o console.log(), ele pode te causar problemas</title>
		<link>http://feedproxy.google.com/~r/RenanFernandesBlog/~3/EedgYyKY1s0/</link>
		<comments>http://blog.renanfernandes.com.br/2010/06/cuidado-com-o-console-log-ele-pode-te-causar-problemas/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 20:33:03 +0000</pubDate>
		<dc:creator>ShadowBelmolve</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[console.log]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[sorte from hell]]></category>

		<guid isPermaLink="false">http://blog.renanfernandes.com.br/?p=514</guid>
		<description><![CDATA[Cenário de hoje, o mapa(Google Maps) do sistema que eu mexo estava dando problemas com alguns clientes, mas aqui estava perfeito. Ouvi muita reclamação do meu chefe e com a ajuda do @raphaelivan chegamos a conclusão que o problema era o zoom. Ele ficava com zoom bizarro e ponto final, quando mexiam no zoom ele &#8230; <a href="http://blog.renanfernandes.com.br/2010/06/cuidado-com-o-console-log-ele-pode-te-causar-problemas/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a>
Posts (possivelmente) parecidos:<ol>
<li><a href='http://blog.renanfernandes.com.br/2010/06/d-link-di-524-e-problemas-de-conexao/' rel='bookmark' title='D-Link DI-524 e problemas de conexão'>D-Link DI-524 e problemas de conexão</a> <small>Hoje chegou meu roteador D-Link DI-524 e pela primeira vez...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<p>Cenário de hoje, o mapa(Google Maps) do sistema que eu mexo estava dando problemas com alguns clientes, mas aqui estava perfeito. Ouvi muita reclamação do meu chefe e com a ajuda do <a href="http://twitter.com/raphaelivan">@raphaelivan</a> chegamos a conclusão que o problema era o zoom. Ele ficava com zoom bizarro e ponto final, quando mexiam no zoom ele focava na Somália(Oo).</p>
<p>Por questão de segurança pedi pro raphael ver se no notebook dele o problema também existia, então foi a primeira surpresa: no Chrome estava normal, o problema era com o Firefox.</p>
<p>Abri meu Firefox e o mapa abria normal(estava com o firebug ligado). Como o firebug estava ocupando muito espaço na tela resolvi fechar ele, em seguida me veio a idéia &#8220;está normal por causa do cache, vamo ver se com F5 a coisa pauleia&#8221;, dei o F5 e o mapa realmente pauleou.<span id="more-514"></span></p>
<p>Mapa pauleado, então chegou a hora de ver o erro, mas o firebug só processa javascript que aconteça enquanto ele está rodando, por isso precisei abrir ele e recarregar a página. Para a minha surpresa o mapa estava normal agora. Vagando mentalmente pelo <strong>Reino das pipocas que possuem antena</strong>, buscando a resposta para tal problema que desafiava as leis do complexo pensamento &#8220;Agora funciona. Agora não funciona.&#8221;, eu percebi que havia um log de um objeto no firebug, nesse momento descobri o problema instantâneamente com o pensamento &#8220;TNC!!! EH A PORRA DO CONSOLE.LOG MALDITO !!!&#8221;.</p>
<p>Linha removida, problema resolvido.</p>
<p>Mas digamos que você precisa deixar os console.log lá(app em dev?) e não tem saco de remover eles sempre que for fazer deploy, para isso você pode criar um <strong>fake console.log()</strong>.</p>
<p>Simplesmente coloque esse código no primeiro JS que é carregado pela app:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">typeof</span><span style="color: #009900;">&#40;</span>console<span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">'undefined'</span><span style="color: #009900;">&#41;</span> console <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span> log <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">typeof</span><span style="color: #009900;">&#40;</span>console.<span style="color: #660066;">log</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #3366CC;">'function'</span><span style="color: #009900;">&#41;</span> console.<span style="color: #660066;">log</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Isso irá criar um console.log caso não exista, assim qualquer usuário terá essa função e você não precisará passar pelo que eu passei hoje.</p>

<img src="http://blog.renanfernandes.com.br/?ak_action=api_record_view&id=514&type=feed" alt="" /><p>Posts (possivelmente) parecidos:<ol>
<li><a href='http://blog.renanfernandes.com.br/2010/06/d-link-di-524-e-problemas-de-conexao/' rel='bookmark' title='D-Link DI-524 e problemas de conexão'>D-Link DI-524 e problemas de conexão</a> <small>Hoje chegou meu roteador D-Link DI-524 e pela primeira vez...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.renanfernandes.com.br/2010/06/cuidado-com-o-console-log-ele-pode-te-causar-problemas/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blog.renanfernandes.com.br/2010/06/cuidado-com-o-console-log-ele-pode-te-causar-problemas/</feedburner:origLink></item>
		<item>
		<title>Instalando o KDE SC 4.5 no Ubuntu/Kubuntu</title>
		<link>http://feedproxy.google.com/~r/RenanFernandesBlog/~3/lUxhurgiH3k/</link>
		<comments>http://blog.renanfernandes.com.br/2010/06/instalando-o-kde-sc-4-5-no-ubuntu-kubuntu/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 19:12:23 +0000</pubDate>
		<dc:creator>ShadowBelmolve</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Instalação]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[apt-get]]></category>
		<category><![CDATA[Kubuntu]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://blog.renanfernandes.com.br/?p=501</guid>
		<description><![CDATA[Dica rápida(de novo). Abra um terminal e digite: sudo apt-add-repository ppa:kubuntu-ppa/beta sudo apt-get update Caso você use Kubuntu, rode então um sudo apt-get dist-upgrade Caso use Ubuntu, então rode um sudo apt-get install kubuntu-desktop Posts (possivelmente) parecidos: Instalando o KDE 4.4 no Arch Linux e no Kubuntu/Ubuntu Como vejo muita gente entrando buscando por Como &#8230; <a href="http://blog.renanfernandes.com.br/2010/06/instalando-o-kde-sc-4-5-no-ubuntu-kubuntu/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a>
Posts (possivelmente) parecidos:<ol>
<li><a href='http://blog.renanfernandes.com.br/2009/12/instalando-o-kde-4-4-no-arch-linux-e-no-kubuntu-ubuntu/' rel='bookmark' title='Instalando o KDE 4.4 no Arch Linux e no Kubuntu/Ubuntu'>Instalando o KDE 4.4 no Arch Linux e no Kubuntu/Ubuntu</a> <small>Como vejo muita gente entrando buscando por Como instalar o...</small></li>
<li><a href='http://blog.renanfernandes.com.br/2010/06/instalando-o-kde-no-ubuntu/' rel='bookmark' title='Instalando o KDE no Ubuntu'>Instalando o KDE no Ubuntu</a> <small>Dica rápida. Como vejo que muita gente chega aqui procurando...</small></li>
<li><a href='http://blog.renanfernandes.com.br/2009/11/instalando-o-kubuntu-karmic-koala9-10com-imagens/' rel='bookmark' title='Instalando o Kubuntu Karmic Koala(9.10)(com imagens !)'>Instalando o Kubuntu Karmic Koala(9.10)(com imagens !)</a> <small>Vou descrever aqui como voce pode facilmente instalar o Kubuntu no seu...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<p>Dica rápida(de novo).</p>
<p>Abra um terminal e digite:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> apt-add-repository ppa:kubuntu-ppa<span style="color: #000000; font-weight: bold;">/</span>beta
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> update</pre></div></div>

<p>Caso você use <strong>Kubuntu</strong>, rode então um</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> dist-upgrade</pre></div></div>

<p>Caso use <strong>Ubuntu</strong>, então rode um</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> kubuntu-desktop</pre></div></div>


<img src="http://blog.renanfernandes.com.br/?ak_action=api_record_view&id=501&type=feed" alt="" /><p>Posts (possivelmente) parecidos:<ol>
<li><a href='http://blog.renanfernandes.com.br/2009/12/instalando-o-kde-4-4-no-arch-linux-e-no-kubuntu-ubuntu/' rel='bookmark' title='Instalando o KDE 4.4 no Arch Linux e no Kubuntu/Ubuntu'>Instalando o KDE 4.4 no Arch Linux e no Kubuntu/Ubuntu</a> <small>Como vejo muita gente entrando buscando por Como instalar o...</small></li>
<li><a href='http://blog.renanfernandes.com.br/2010/06/instalando-o-kde-no-ubuntu/' rel='bookmark' title='Instalando o KDE no Ubuntu'>Instalando o KDE no Ubuntu</a> <small>Dica rápida. Como vejo que muita gente chega aqui procurando...</small></li>
<li><a href='http://blog.renanfernandes.com.br/2009/11/instalando-o-kubuntu-karmic-koala9-10com-imagens/' rel='bookmark' title='Instalando o Kubuntu Karmic Koala(9.10)(com imagens !)'>Instalando o Kubuntu Karmic Koala(9.10)(com imagens !)</a> <small>Vou descrever aqui como voce pode facilmente instalar o Kubuntu no seu...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.renanfernandes.com.br/2010/06/instalando-o-kde-sc-4-5-no-ubuntu-kubuntu/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://blog.renanfernandes.com.br/2010/06/instalando-o-kde-sc-4-5-no-ubuntu-kubuntu/</feedburner:origLink></item>
	</channel>
</rss>

