<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Alex Tercete</title>
	<atom:link href="http://alextercete.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://alextercete.wordpress.com</link>
	<description>Software livre, Linux, Python, Vim, LaTeX, etc.</description>
	<lastBuildDate>Mon, 13 Sep 2010 00:00:19 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='alextercete.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Alex Tercete</title>
		<link>http://alextercete.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://alextercete.wordpress.com/osd.xml" title="Alex Tercete" />
	<atom:link rel='hub' href='http://alextercete.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Programação funcional no jQuery</title>
		<link>http://alextercete.wordpress.com/2010/09/11/programacao-funcional-no-jquery/</link>
		<comments>http://alextercete.wordpress.com/2010/09/11/programacao-funcional-no-jquery/#comments</comments>
		<pubDate>Sat, 11 Sep 2010 15:28:52 +0000</pubDate>
		<dc:creator>Alex Tercete</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Programação Funcional]]></category>

		<guid isPermaLink="false">http://alextercete.wordpress.com/?p=127</guid>
		<description><![CDATA[Depois de muito tempo sem aparecer por aqui, volto para falar sobre um assunto que tenho tido muito interesse ultimamente: Javascript. Javascript sempre foi uma linguagem abominada por muita gente, mas que há algum tempo tem recebido mais atenção. Na minha opinião, grande parte da evolução da linguagem se deve à criação de bibliotecas que [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alextercete.wordpress.com&amp;blog=9360212&amp;post=127&amp;subd=alextercete&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Depois de muito tempo sem aparecer por aqui, volto para falar sobre um assunto que tenho tido muito interesse ultimamente: <em>Javascript</em>.</p>
<p>Javascript sempre foi uma linguagem abominada por muita gente, mas que há algum tempo tem recebido mais atenção. Na minha opinião, grande parte da evolução da linguagem se deve à criação de bibliotecas que simplificam (e muito!) as tarefas mais comuns no dia-a-dia do programador. Dentre estas bibliotecas, a minha favorita é a <a href="http://jquery.com/" target="_blank">jQuery</a>.</p>
<p>Comecei a usar jQuery na versão <em>1.2.6</em>.  De lá pra cá (a versão atual é a <em>1.4.2</em>), muita coisa melhorou! A <a href="http://api.jquery.com/" target="_blank">documentação está excelente</a>, a existem <a href="http://james.padolsey.com/jquery/" target="_blank">ferramentas desenvolvidas por terceiros que são uma mão na roda</a>!</p>
<p>Como <a href="http://python.org/" target="_blank">Python</a> é minha linguagem preferida, muitas vezes sinto falta de algumas funcionalidades dela quando estou programando em Javascript/jQuery. Recentemente descobri equivalentes às funções <a href="http://docs.python.org/py3k/library/functions.html#map" target="_blank">map</a> e <a href="http://docs.python.org/py3k/library/functions.html#filter" target="_blank">filter</a>, para manipulação de listas, no jQuery.</p>
<p>A primeira opção é usar a <a href="http://api.jquery.com/jQuery.map/" target="_blank">jQuery.map()</a>, cuja utilização é bem direta:</p>
<pre class="brush: jscript;">
var resultado = jQuery.map([1, 2, 3, 4, 5], function(valor, i) {
    return valor * valor;
});
</pre>
<p>O primeiro argumento é a lista (o <em>array</em>) e o segundo é a função (<em>lambda</em>) que será aplicada a cada item da lista. O retorno é uma nova lista: <strong>[1, 4, 9, 16, 25]</strong>.</p>
<p>Infelizmente, não existe a função jQuery.filter(), mas a jQuery.map() pode ser usada em substituição, bastando que para isso se retorne <em>null</em> para os valores que deseja filtrar:</p>
<pre class="brush: jscript;">
var resultado = jQuery.map([1, 2, 3, 4, 5], function(valor, i) {
    return valor % 2 == 0 ? valor : null;
});
</pre>
<p>O retorno neste caso é: <strong>[2, 4]</strong>.</p>
<p>A segunda opção eu acabei descobrindo por acaso. É possível usar as funções <a href="http://api.jquery.com/map/">.map()</a> e <a href="http://api.jquery.com/filter/">.filter()</a>, originalmente utilizadas para manipulação de objetos jQuery, para manipular listas:</p>
<pre class="brush: jscript;">
var resultado = $([1, 2, 3, 4, 5]).map(function(i, valor) {
    return valor * valor;
}).get();
</pre>
<pre class="brush: jscript;">
var resultado = $([1, 2, 3, 4, 5]).map(function(i, valor) {
    return valor % 2 == 0;
}).get();
</pre>
<p>Note que neste caso a ordem dos argumentos da função lambda é o <strong>inverso</strong> do primeiro caso. Como essa última utilização não é tão direta, cabem algumas explicações.</p>
<p>Ao passar um <em>array</em> para a função <em>jQuery</em> (abreviada por <em>$</em>), é possível usar as funções .map() e .filter(), exatamente como você faria para elementos DOM. Como o resultado dessas funções é um objeto jQuery, é necessário usar a função <a href="http://api.jquery.com/get/" target="_blank">.get()</a>, para transformá-lo novamente em um <em>array</em> Javascript.</p>
<p>Para ajudar na compreensão, escrevi um <a href="http://jsbin.com/ojena4/3/edit" target="_blank">exemplo funcional</a>, com <a href="http://jsbin.com/ojena4/3" target="_blank">testes unitários</a> feitos com o framework <a href="http://docs.jquery.com/Qunit" target="_blank">QUnit</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alextercete.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alextercete.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alextercete.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alextercete.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/alextercete.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/alextercete.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/alextercete.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/alextercete.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alextercete.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alextercete.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alextercete.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alextercete.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alextercete.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alextercete.wordpress.com/127/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alextercete.wordpress.com&amp;blog=9360212&amp;post=127&amp;subd=alextercete&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://alextercete.wordpress.com/2010/09/11/programacao-funcional-no-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ca3c5c4a465d1162e55ddb7980bc11f9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Alex</media:title>
		</media:content>
	</item>
		<item>
		<title>CSoC III: participe!</title>
		<link>http://alextercete.wordpress.com/2010/01/28/csoc-iii-participe/</link>
		<comments>http://alextercete.wordpress.com/2010/01/28/csoc-iii-participe/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 01:38:09 +0000</pubDate>
		<dc:creator>Alex Tercete</dc:creator>
				<category><![CDATA[CEFET]]></category>
		<category><![CDATA[CSoC]]></category>
		<category><![CDATA[Curso de programação]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://alextercete.wordpress.com/?p=118</guid>
		<description><![CDATA[Chegam as férias da faculdade, e com elas vem aquele sentimento de eu podia estar fazendo algo de útil!. Se você tem se sentido assim, não se preocupe, pois temos uma ótima sugestão de atividade para você se ocupar nas férias, e ainda aproveitar para dar um upgrade no currículo: o CEFET Summer of Code! [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alextercete.wordpress.com&amp;blog=9360212&amp;post=118&amp;subd=alextercete&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Chegam as férias da faculdade, e com elas vem aquele sentimento de <em>eu podia estar fazendo algo de útil!</em>. Se você tem se sentido assim, não se preocupe, pois temos uma ótima sugestão de atividade para você se ocupar nas férias, e ainda aproveitar para dar um <em>upgrade</em> no currículo: o <strong>CEFET Summer of Code</strong>!</p>
<p>O CSoC é uma iniciativa que visa ampliar o ensino de linguagens de programação nos cursos de Engenharia do CEFET/RJ. Resumindo, é um curso de programação organizado <em>pelos alunos</em>, em benefício <em>dos alunos</em>.</p>
<p>Várias pessoas já participaram das duas primeiras edições, e agora chegou a sua vez! O curso começa em <strong><em>2 de fevereiro</em></strong> e dura até o início do período letivo (com pausa para o Carnaval). As aulas serão na COLAN &#8212; 3º andar do Bloco E, Unidade Maracanã &#8212; às <em><strong>terças e quintas</strong></em>, de <strong><em>17h30 às 19h</em></strong>, pontualmente.</p>
<p>Até quem não sabe <em>nada</em> sobre programação pode participar! Vamos aprender <a href="http://python.org/" target="_blank"><strong>Python</strong></a>, passando rapidamente por <strong>C</strong> e <strong>C++</strong>, utilizando o que há de mais inovador e atual no ensino de linguagens de programação.</p>
<p><em>Quanto custa?</em> Nada, é de graça! <em>Sério, quanto é?</em> Eu já disse: é de graça!!!</p>
<p>Então, o que você está esperando?! Entre logo no <a href="http://groups.google.com.br/group/CSoC" target="_blank"><strong>nosso grupo de e-mails</strong></a> e garanta a sua vaga (são só 20!).</p>
<p>Daremos preferência aos alunos do CEFET/RJ; caso as vagas não sejam preenchidas, o curso será aberto ao público externo.</p>
<p>Abração<span style="color:#888888;">!</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alextercete.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alextercete.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alextercete.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alextercete.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/alextercete.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/alextercete.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/alextercete.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/alextercete.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alextercete.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alextercete.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alextercete.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alextercete.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alextercete.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alextercete.wordpress.com/118/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alextercete.wordpress.com&amp;blog=9360212&amp;post=118&amp;subd=alextercete&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://alextercete.wordpress.com/2010/01/28/csoc-iii-participe/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ca3c5c4a465d1162e55ddb7980bc11f9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Alex</media:title>
		</media:content>
	</item>
		<item>
		<title>O problema com as variáveis globais no Javascript</title>
		<link>http://alextercete.wordpress.com/2010/01/15/o-problema-com-as-variaveis-globais-no-javascript/</link>
		<comments>http://alextercete.wordpress.com/2010/01/15/o-problema-com-as-variaveis-globais-no-javascript/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 03:36:17 +0000</pubDate>
		<dc:creator>Alex Tercete</dc:creator>
				<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://alextercete.wordpress.com/?p=85</guid>
		<description><![CDATA[O Javascript é uma linguagem que muitos vêm como limitada, mas que, na minha opinião, tem seu valor. Por ser um pouco renegada, a maioria não se importa em entender muito bem como ela funciona, só quer saber o básico da sintaxe para fazer o que precisa. Uma dúvida comum quando se está começando é [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alextercete.wordpress.com&amp;blog=9360212&amp;post=85&amp;subd=alextercete&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>O Javascript é uma linguagem que muitos vêm como limitada, mas que, na minha opinião, tem seu valor. Por ser um pouco renegada, a maioria não se importa em entender muito bem como ela funciona, só quer saber o básico da sintaxe para fazer o que precisa.</p>
<p>Uma dúvida comum quando se está começando é sobre declaração de variáveis: quando e porque utilizar o <em>var</em>? Vejamos um exemplo:</p>
<pre class="brush: jscript;">
var numero = 1;

function exibe()
{
    alert(numero);
}

exibe();
</pre>
<p>Conforme esperado, o valor <em>1</em> é exibido, já que a variável <em>numero</em> é global. Para confirmar essa informação, vamos fazer:</p>
<pre class="brush: jscript;">
var numero = 1;

function exibe()
{
    alert(numero);
}

function altera()
{
    numero = 2;
}

exibe();
altera();
exibe();
</pre>
<p>Como resultado, são exibidos os valores <em>1</em> e <em>2</em>. Assim, a função <em>altera</em> está modificando o valor da variável global <em>numero</em>.</p>
<p>Afinal, onde o <em>var</em> se encaixa nessa história? O <em>var</em> serve para declarar o <em>escopo</em> da variável. Se uma variável é declarada sem o <em>var</em>, ela é automaticamente global. Quer ver?</p>
<pre class="brush: jscript;">
function define()
{
    numero = 1;
}

function exibe()
{
    alert(numero);
}

define();
exibe();
</pre>
<p>O número <em>1</em> é exibido. Para confirmar, faça o seguinte:</p>
<pre class="brush: jscript;">
function define()
{
    var numero = 1;
}

function exibe()
{
    alert(numero);
}

define();
exibe();
</pre>
<p>Neste caso ocorre o seguinte erro: <strong>ReferenceError: numero is not defined</strong>. Isto ocorre pois a variável <em>numero</em> pertence ao escopo da função <em>define</em> e, portanto, não pode ser acessada de dentro da função <em>exibe</em>.</p>
<p>Quais são as implicações disso? Considere o seguinte exemplo:</p>
<pre class="brush: jscript;">
var Cachorro = function(nome)
{
    _nome = nome;

    this.get_nome = function()
    {
        return _nome;
    }

    // (...)
}

var Gato = function(nome)
{
    _nome = nome;

    this.get_nome = function()
    {
        return _nome;
    }

    // (...)
}

rex = new Cachorro('Rex');
mimi = new Gato('Mimi');
alert(rex.get_nome());
alert(mimi.get_nome());
</pre>
<p>Neste caso, é exibido <em>Mimi</em> duas vezes, ao invés do que esperávamos: <em>Rex</em> e <em>Mimi</em>. Isto acontece pois, ao contrário do que pretendíamos, <em>_nome</em> é uma variável global, e o último valor que é atribuído a ela é &#8216;Mimi&#8217; (dentro do &#8220;construtor&#8221; da classe <em>Gato</em>).</p>
<p>Para evitar este tipo de problema, <strong>sempre</strong> declare suas variáveis no Javascript utilizando o <em>var</em>. O código corrigido ficaria assim:</p>
<pre class="brush: jscript;">
var Cachorro = function(nome)
{
    var _nome = nome;

    this.get_nome = function()
    {
        return _nome;
    }

    // (...)
}

var Gato = function(nome)
{
    var _nome = nome;

    this.get_nome = function()
    {
        return _nome;
    }

    // (...)
}

var rex = new Cachorro('Rex');
var mimi = new Gato('Mimi');
alert(rex.get_nome());
alert(mimi.get_nome());
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alextercete.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alextercete.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alextercete.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alextercete.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/alextercete.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/alextercete.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/alextercete.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/alextercete.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alextercete.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alextercete.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alextercete.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alextercete.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alextercete.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alextercete.wordpress.com/85/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alextercete.wordpress.com&amp;blog=9360212&amp;post=85&amp;subd=alextercete&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://alextercete.wordpress.com/2010/01/15/o-problema-com-as-variaveis-globais-no-javascript/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ca3c5c4a465d1162e55ddb7980bc11f9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Alex</media:title>
		</media:content>
	</item>
		<item>
		<title>Python: valor ou referência?</title>
		<link>http://alextercete.wordpress.com/2010/01/10/python-valor-ou-referencia/</link>
		<comments>http://alextercete.wordpress.com/2010/01/10/python-valor-ou-referencia/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 03:35:43 +0000</pubDate>
		<dc:creator>Alex Tercete</dc:creator>
				<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://alextercete.wordpress.com/?p=66</guid>
		<description><![CDATA[Depois de um longo período sem escrever nada, volto para falar sobre um assunto que sempre me intrigou um pouco no Python: objetos são passados por valor ou por referência? Um código vale mais do que mil palavras, então acompanhem comigo: &#62;&#62;&#62; tabela = [[0, 0], [0, 0], [0, 0]] &#62;&#62;&#62; segunda_linha = tabela[1] &#62;&#62;&#62; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alextercete.wordpress.com&amp;blog=9360212&amp;post=66&amp;subd=alextercete&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Depois de um longo período sem escrever nada, volto para falar sobre um assunto que sempre me intrigou um pouco no <a href="http://python.org/" target="_blank">Python</a>: objetos são passados por valor ou por referência?</p>
<p>Um código vale mais do que mil palavras, então acompanhem comigo:</p>
<pre class="brush: python;">
&gt;&gt;&gt; tabela = [[0, 0], [0, 0], [0, 0]]
&gt;&gt;&gt; segunda_linha = tabela[1]
&gt;&gt;&gt; segunda_linha[0] = 1
&gt;&gt;&gt; tabela
[[0, 0], [1, 0], [0, 0]]
</pre>
<p>Ah, a beleza dos objetos sendo passados por referência! O <em>segunda_linha</em> é uma referência ao segundo elemento da lista <em>tabela</em>, portanto ao alterá-lo, estamos, na verdade, alterando a própria lista original. Quantas possibilidades! Sejamos, então, mais ousados:</p>
<pre class="brush: python;">
 &gt;&gt;&gt; tabela = [[0, 0], [0, 0], [0, 0]]
 &gt;&gt;&gt; primeira_celula_da_segunda_linha = tabela[1][0]
 &gt;&gt;&gt; primeira_celula_da_segunda_linha = 1
 &gt;&gt;&gt; tabela
 [[0, 0], [0, 0], [0, 0]]
 </pre>
<p>Êpa! Não funcionou! O que aconteceu?!</p>
<p>O problema neste caso não está na forma como o objeto está sendo passado. Na verdade, o que leva a esse comportamento é o <a href="http://lookherefirst.wordpress.com/2007/12/19/python-copy-by-reference-copy-by-value-shit-it-depends-on-what-you-copy/#comment-3" target="_blank">método de atribuição do Python</a>.</p>
<p>Ao invés de alterar <em>tabela</em>, &#8220;primeira_celula_da_segunda_linha = 1&#8243; está reatribuindo a variável <em>primeira_celula_da_segunda_linha</em> ao objeto <em>1</em>. Deste modo, não há como esperar que a lista original seja alterada. Simples, não?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alextercete.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alextercete.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alextercete.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alextercete.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/alextercete.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/alextercete.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/alextercete.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/alextercete.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alextercete.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alextercete.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alextercete.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alextercete.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alextercete.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alextercete.wordpress.com/66/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alextercete.wordpress.com&amp;blog=9360212&amp;post=66&amp;subd=alextercete&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://alextercete.wordpress.com/2010/01/10/python-valor-ou-referencia/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ca3c5c4a465d1162e55ddb7980bc11f9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Alex</media:title>
		</media:content>
	</item>
		<item>
		<title>Dev in Rio: um evento para desenvolvedores</title>
		<link>http://alextercete.wordpress.com/2009/09/20/dev-in-rio-um-evento-para-desenvolvedores/</link>
		<comments>http://alextercete.wordpress.com/2009/09/20/dev-in-rio-um-evento-para-desenvolvedores/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 02:08:15 +0000</pubDate>
		<dc:creator>Alex Tercete</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Coding Dojo]]></category>
		<category><![CDATA[Dev in Rio]]></category>

		<guid isPermaLink="false">http://alextercete.wordpress.com/?p=48</guid>
		<description><![CDATA[Na última segunda-feira, 14 de setembro, participei do Dev in Rio 2009, um evento organizado por desenvolvedores e com o apoio da comunidade de software livre carioca. A organização e a estrutura estavam excelentes! Tudo funcionando redondinho, e pequenos detalhes que fizeram a diferença, como os quadros de feedback, estrategicamente posicionados na saída do salão [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alextercete.wordpress.com&amp;blog=9360212&amp;post=48&amp;subd=alextercete&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Na última segunda-feira, 14 de setembro, participei do <a href="http://www.devinrio.com.br/" target="_blank">Dev in Rio 2009</a>, um evento <strong>organizado por desenvolvedores</strong> e com o apoio da comunidade de <em>software</em> livre carioca.</p>
<div class="wp-caption alignnone" style="width: 378px"><a href="http://www.flickr.com/photos/danicuki/3926516206/in/pool-devinrio" target="_blank"><img class="  " src="http://farm3.static.flickr.com/2534/3926516206_a41b600acc_b.jpg" alt="Palestras lotadas" width="368" height="246" /></a><p class="wp-caption-text">Palestras lotadas</p></div>
<div class="wp-caption alignnone" style="width: 378px"><a href="http://www.flickr.com/photos/danicuki/3926532278/in/pool-devinrio" target="_blank"><img class="  " src="http://farm3.static.flickr.com/2564/3926532278_4f0a2576a7_b.jpg" alt="Coding Dojo: sucesso de público" width="368" height="246" /></a><p class="wp-caption-text">Coding Dojo: sucesso de público</p></div>
<p>A organização e a estrutura estavam excelentes! Tudo funcionando redondinho, e pequenos detalhes que fizeram a diferença, como os quadros de <em>feedback</em>, estrategicamente posicionados na saída do salão de palestras e na arena do <a href="http://www.dojorio.org/" target="_blank">Coding Dojo</a>.</p>
<div class="wp-caption alignnone" style="width: 378px"><a href="http://www.flickr.com/photos/danicuki/3926537640/in/pool-devinrio" target="_blank"><img class="    " title="O que foi bom" src="http://farm3.static.flickr.com/2475/3926537640_2fffdd7aac_b.jpg" alt="Quadro de emfeedback/em: o que foi bom" width="368" height="246" /></a><p class="wp-caption-text">Quadro de feedback: o que foi bom</p></div>
<div class="wp-caption alignnone" style="width: 378px"><a href="http://www.flickr.com/photos/danicuki/3926532840/in/pool-devinrio" target="_blank"><img class="      " title="O que pode melhorar" src="http://farm4.static.flickr.com/3437/3926532840_bf32f054f5_b.jpg" alt="O que pode melhorar" width="368" height="246" /></a><p class="wp-caption-text">Quadro de feedback: o que pode melhorar</p></div>
<p>Vale ressaltar a presença de figuras internacionais, como <a href="http://www.agileproductdesign.com/" target="_blank">Jeff Patton</a> e <a href="http://jacobian.org/" target="_blank">Jacob Kaplan-Moss</a>, e o apoio da <a href="http://www.dojosp.org/" target="_blank">galera de São Paulo</a>, que ajudou bastante no <a href="http://www.dojorio.org/" target="_blank">Coding Dojo</a>.</p>
<p>Parabéns aos organizadores, <a href="http://henriquebastos.net/" target="_blank">Henrique Bastos</a> e <a href="http://gc.blog.br/" target="_blank">Guilherme Chapiewski</a>, e a todos que contribuíram para que o evento fosse um sucesso! Que venha o <strong><em>Dev in Rio 2010</em></strong>!</p>
<div class="wp-caption alignnone" style="width: 540px"><a href="http://www.flickr.com/photos/rodrigoospinto/3938502741/" target="_blank"><img class="      " src="http://farm3.static.flickr.com/2499/3938502741_06200dbd30_b.jpg" alt="Da esquerda pra direita: " width="530" height="399" /></a><p class="wp-caption-text">Da esquerda pra direita: Henrique Bastos, Jacob Kaplan-Moss, eu, Giuseppe Romagnoli e Cláudio Berrondo. Agachados: Guilherme Chapiewski e Ygor Speranza</p></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alextercete.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alextercete.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alextercete.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alextercete.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/alextercete.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/alextercete.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/alextercete.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/alextercete.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alextercete.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alextercete.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alextercete.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alextercete.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alextercete.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alextercete.wordpress.com/48/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alextercete.wordpress.com&amp;blog=9360212&amp;post=48&amp;subd=alextercete&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://alextercete.wordpress.com/2009/09/20/dev-in-rio-um-evento-para-desenvolvedores/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ca3c5c4a465d1162e55ddb7980bc11f9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Alex</media:title>
		</media:content>

		<media:content url="http://farm3.static.flickr.com/2534/3926516206_a41b600acc_b.jpg" medium="image">
			<media:title type="html">Palestras lotadas</media:title>
		</media:content>

		<media:content url="http://farm3.static.flickr.com/2564/3926532278_4f0a2576a7_b.jpg" medium="image">
			<media:title type="html">Coding Dojo: sucesso de público</media:title>
		</media:content>

		<media:content url="http://farm3.static.flickr.com/2475/3926537640_2fffdd7aac_b.jpg" medium="image">
			<media:title type="html">O que foi bom</media:title>
		</media:content>

		<media:content url="http://farm4.static.flickr.com/3437/3926532840_bf32f054f5_b.jpg" medium="image">
			<media:title type="html">O que pode melhorar</media:title>
		</media:content>

		<media:content url="http://farm3.static.flickr.com/2499/3938502741_06200dbd30_b.jpg" medium="image">
			<media:title type="html">Da esquerda pra direita: </media:title>
		</media:content>
	</item>
		<item>
		<title>Apresentação sobre Coding Dojo e TDD na Chemtech</title>
		<link>http://alextercete.wordpress.com/2009/09/11/apresentacao-sobre-coding-dojo-e-tdd-na-chemtech/</link>
		<comments>http://alextercete.wordpress.com/2009/09/11/apresentacao-sobre-coding-dojo-e-tdd-na-chemtech/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 01:28:51 +0000</pubDate>
		<dc:creator>Alex Tercete</dc:creator>
				<category><![CDATA[Chemtech]]></category>
		<category><![CDATA[Coding Dojo]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://alextercete.wordpress.com/?p=36</guid>
		<description><![CDATA[Hoje fiz uma apresentação sobre Coding Dojo e TDD lá na Chemtech para o grupo de Desenvolvimento de Software. Gostaria de agradecer ao Rodolfo Carvalho pela ajuda com o material e por ter &#8220;me emprestado&#8221; suas telas, e ao Henrique Bastos por ter me dado atenção e valiosas dicas, mesmo estando super atrasado pra pegar [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alextercete.wordpress.com&amp;blog=9360212&amp;post=36&amp;subd=alextercete&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hoje fiz uma apresentação sobre <a href="http://dojorio.org" target="_blank">Coding Dojo</a> e <a href="http://improveit.com.br/xp/praticas/tdd" target="_blank">TDD</a> lá na <a href="http://www.chemtech.com.br/" target="_blank">Chemtech</a> para o grupo de Desenvolvimento de Software. Gostaria de agradecer ao <a href="http://rodolfocarvalho.net/" target="_blank">Rodolfo Carvalho</a> pela ajuda com o material e por ter &#8220;me emprestado&#8221; suas telas, e ao <a href="http://henriquebastos.net/" target="_blank">Henrique Bastos</a> por ter me dado atenção e valiosas dicas, mesmo estando super atrasado pra pegar o voo para Porto Alegre. Abaixo estão as telas, feitas usando <strong>LaTeX + powerdot</strong>.</p>
<object type='application/x-shockwave-flash' wmode='opaque' data='http://static.slideshare.net/swf/ssplayer2.swf?id=1987095&doc=coding-dojotdd-090911195149-phpapp01' width='600' height='492'><param name='movie' value='http://static.slideshare.net/swf/ssplayer2.swf?id=1987095&doc=coding-dojotdd-090911195149-phpapp01' /><param name='allowFullScreen' value='true' /></object>
<p>A apresentação teve uma prática de TDD (usando <a href="http://www.python.org/" target="_blank">Python</a>), e assim que eu aprender a usar o <a href="http://git-scm.com/">Git</a>, e criar uma conta no <a href="http://github.com/" target="_blank">GitHub</a>, coloco o <em>link</em> aqui (eu poderia colocar o código em outro lugar, mas dessa forma eu me forço a ler o tutorial de Git que há tanto tempo está na minha <em>TOREAD list</em>).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alextercete.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alextercete.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alextercete.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alextercete.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/alextercete.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/alextercete.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/alextercete.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/alextercete.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alextercete.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alextercete.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alextercete.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alextercete.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alextercete.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alextercete.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alextercete.wordpress.com&amp;blog=9360212&amp;post=36&amp;subd=alextercete&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://alextercete.wordpress.com/2009/09/11/apresentacao-sobre-coding-dojo-e-tdd-na-chemtech/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ca3c5c4a465d1162e55ddb7980bc11f9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Alex</media:title>
		</media:content>
	</item>
		<item>
		<title>Posição da logo em estilos da classe powerdot no LaTeX</title>
		<link>http://alextercete.wordpress.com/2009/09/07/posicao-da-logo-em-estilos-da-classe-powerdot-no-latex/</link>
		<comments>http://alextercete.wordpress.com/2009/09/07/posicao-da-logo-em-estilos-da-classe-powerdot-no-latex/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 05:51:05 +0000</pubDate>
		<dc:creator>Alex Tercete</dc:creator>
				<category><![CDATA[powerdot]]></category>
		<category><![CDATA[LaTeX]]></category>

		<guid isPermaLink="false">http://alextercete.wordpress.com/?p=3</guid>
		<description><![CDATA[Há algum tempo uso a classe powerdot do LaTeX para criar meus slides. Por não ter conseguido encontrar um estilo que atendesse à minha chatice aos meus requisitos, resolvi criar o meu próprio. Um problema que estava tendo era com relação ao posicionamento da logo, que não podia ser personalizado para cada tipo de slide. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alextercete.wordpress.com&amp;blog=9360212&amp;post=3&amp;subd=alextercete&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Há algum tempo uso a classe <strong><a href="http://stuwww.uvt.nl/~hendri/index.html?/~hendri/Downloads/powerdot.html" target="_blank">powerdot</a></strong> do LaTeX para criar meus <em>slides</em>. Por não ter conseguido encontrar um estilo que atendesse <span style="text-decoration:line-through;">à minha chatice</span> aos meus requisitos, resolvi criar o meu próprio. Um problema que estava tendo era com relação ao posicionamento da logo, que não podia ser personalizado para cada tipo de <em>slide</em>. Na <strong>powerdot</strong> você pode inserir uma logo da seguinte forma:</p>
<pre>\pdsetup{
    \logocmd={\includegraphics{logo.eps}},
    \logopos={.1\slidewidth,.9\slideheight},
    \logohook=tl
}</pre>
<p>Infelizmente, desta forma a logo vai aparecer sempre na mesma posição, o que não é o ideal. Se eu quiser, por exemplo, colocar a logo centralizada na tela de título, e na tela de conteúdo colocá-la no canto superior esquerdo, eu não posso. Ou melhor, não podia!</p>
<p>Fuçando um pouco no arquivo fonte da classe (<em>/usr/share/texmf-dist/tex/latex/powerdot/powerdot.cls</em>, no meu caso) descobri que se eu não definir a posição da logo (<strong>logopos</strong>), ela não é exibida. Fuçando mais um pouco, descobri como obter a logo definida pelo usuário. Bastou, então, usar meus humildes conhecimentos de <strong><a href="http://tug.org/PSTricks/" target="_blank">PSTricks</a></strong> e definir a posição da logo em cada estilo, por exemplo:</p>
<pre>\pddefinetemplate{titleslide}{
    titlefont=\LARGE\bfseries\centering\color{pdcolor3},
    texthook=t,textpos={.5\slidewidth,.75\slideheight},
    textwidth=.9\slidewidth,textfont=\large\centering,
    textheight=.6\slideheight
}{%
    %--- Insere a logo
    \rput[B](.5\slidewidth,.2\slideheight){%
        \resizebox{!}{1.1cm}{\usebox\pd@logobox}}
}</pre>
<p>Usei o comando <strong>resizebox</strong> para definir uma altura padronizada para a logo, de modo que o usuário não tenha que se preocupar com isso.</p>
<p>Em breve pretendo disponibilizar este estilo no qual estou trabalhando. Aguardem!</p>
<p><strong><br />
EDITADO:</strong></p>
<p>A solução proposta acima apresenta um problema de erro de divisão por zero quando não é informada uma logo usando o comando <strong>logocmd</strong>. Um forma de contornar este problema é usar o pacote <a href="http://www.ifi.uio.no/it/latex-links/ifthen.pdf" target="_blank"><strong>ifthen</strong></a> e inserir a logo somente se a <a href="http://lglinux.blogspot.com/2008/01/measure-width-of-latex-savebox.html" target="_blank">largura da <strong>savebox</strong></a> for maior do que zero:</p>
<pre>%--- Insere a logo
\newlength{\logoboxwidth}
\settowidth{\logoboxwidth}{\usebox\pd@logobox}
\ifthenelse{\logoboxwidth &gt; 0}{
    \rput[B](.5\slidewidth,.2\slideheight){%
        \resizebox{!}{1.1cm}{\usebox\pd@logobox}}
}{}</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alextercete.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alextercete.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alextercete.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alextercete.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/alextercete.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/alextercete.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/alextercete.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/alextercete.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alextercete.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alextercete.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alextercete.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alextercete.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alextercete.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alextercete.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alextercete.wordpress.com&amp;blog=9360212&amp;post=3&amp;subd=alextercete&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://alextercete.wordpress.com/2009/09/07/posicao-da-logo-em-estilos-da-classe-powerdot-no-latex/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ca3c5c4a465d1162e55ddb7980bc11f9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Alex</media:title>
		</media:content>
	</item>
	</channel>
</rss>
