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

<channel>
	<title>pessoal.zehfernando.com &#187; crônicas</title>
	<atom:link href="http://pessoal.zehfernando.com/category/cronicas/feed/" rel="self" type="application/rss+xml" />
	<link>http://pessoal.zehfernando.com</link>
	<description></description>
	<lastBuildDate>Mon, 02 Jan 2012 20:35:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>O que há num simples nome</title>
		<link>http://pessoal.zehfernando.com/2011/o-que-ha-num-simples-nome/</link>
		<comments>http://pessoal.zehfernando.com/2011/o-que-ha-num-simples-nome/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 16:15:07 +0000</pubDate>
		<dc:creator>Zeh</dc:creator>
				<category><![CDATA[crônicas]]></category>
		<category><![CDATA[línguas]]></category>
		<category><![CDATA[nova york]]></category>

		<guid isPermaLink="false">http://pessoal.zehfernando.com/?p=1028</guid>
		<description><![CDATA[Aqui em Nova York, eu tenho uma dificuldade imensa em lembrar nomes. Acabo confundindo nomes de pessoas, trocando o nome de alguém por algum nome completamente diferente, ou simplesmente esquecendo-os completamente. Nunca vi nenhum material acadêmico a respeito, mas a (&#8230;)</p><p><a href="http://pessoal.zehfernando.com/2011/o-que-ha-num-simples-nome/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Aqui em Nova York, eu tenho uma dificuldade imensa em lembrar nomes. Acabo confundindo nomes de pessoas, trocando o nome de alguém por algum nome completamente diferente, ou simplesmente esquecendo-os completamente.</p>
<p>Nunca vi nenhum material acadêmico a respeito, mas a minha teoria pessoal é de que gravamos nomes através de sílabas, de forma sonora, lembrando a sequência fonética do nome de cada pessoa ao invés de como o nome é escrito. E como, em português, estamos acostumados com um conjunto mais ou menos uniforme de sílabas &#8211; alfabeto silábico que é usado pra composição de nomes é meio limitado &#8211; esse método de recordação acaba vindo abaixo quando as sílabas a serem lembradas são mais incomuns.</p>
<p>É algo estranho de descrever, mas na prática, é como se certos nomes simplesmente não <em>gravassem</em> na minha mente. Como resultado, desde que cheguei aqui, passei por várias situações lamentáveis de esquecer nomes, confundir sílabas, ou trocar nomes por completo.</p>
<p>Imagino que, com o tempo, vou construir novos modelos de recordação baseado nas sílabas mais típicas localmente. Mas, enquanto isso, pra lembrar certos nomes, acabo sendo obrigado a criar uma narrativa mental que me permite reconstruir a palavra baseado em certos parâmetros. Pra mim, um dos nomes mais difíceis de lembrar, por exemplo, é <em>Camiel</em>, nome de um colega de trabalho de origem Holandesa. Simplesmente não consigo me recordar do nome imediatamente; acabo lembrando que o nome dele é parecido com o nome da minha irmã (Camila), mas com as duas letras no final trocadas, e, a partir daí, lembrando o nome real. A parte ruim é que acabo gastando um tempo nesse processo, então às vezes acabo gastando segundos lembrando o nome de alguém.</p>
<p>No entanto, ontem, andando pelas ruas de volta a meu apartamento no final de um dia de trabalho, percebi uma coisa curiosa: consigo me lembrar dos nomes das ruas de forma muito mais fácil por aqui do que conseguia no Brasil. Sei o nome de todas as ruas ao redor do meu apartamento, de várias ao redor do edifício onde trabalho, e o nome de inúmeras ruas na cidade; em contrapartida, em São Paulo, eu sabia o nome de poucas vias, e mal lembrava as ruas que faziam esquina com a rua onde eu morava. O meu <em>mapa mental</em> de uma região era tão rico quanto aqui, mas eu simplesmente não sabia o nome das ruas.</p>
<p>Pensando um pouco no assunto, acho que existem duas razões pra isso. A primeira, e mais óbvia, é que muitas das ruas e avenidas são numeradas, então é mais fácil se lembrar de um simples número e construir um modelo mental que permite a você identificar a ordem das ruas, principalmente nas regiões da cidade baseadas no <em>grid</em> típico local; como eu moro entre a South 2nd e South 3rd no Brooklyn, por exemplo, sei que a rua ao sul é South 4th, ao norte South 1st, e por aí vai.</p>
<p>A segunda, igualmente importante, é que os nome das ruas são mais <em>curtos</em>; é extremamente raro as ruas ou avenidas usarem nomes compostos. Pode parecer bobagem, mas nomes como <em>Driggs</em>, <em>Bedford</em>, <em>Walker</em>,  ou <em>Canal</em>, são muito mais fáceis de serem lembrados do que <em>Paes de Barros</em>, <em>Irmã Carolina</em>, <em>Engenheiro Dagoberto Gasgow</em>, ou outros nomes comuns no Brasil.</p>
<p>E, aqui, percebo um detalhe interessante: apesar dos nomes usarem as mesmas sílabas que me criam problemas na hora de lembrar nomes, eu consigo me lembrar dos nomes de ruas facilmente porque me lembro das <em>placas</em> das ruas. Ao invés de sonoro, é um modelo de recordação baseado em padrões visuais, o que faz com que a lembrança seja mais fácil. Só percebi isso ontem, pensando no assunto enquanto andava: sempre que preciso me lembrar do nome de uma rua, lembro de como a placa da rua se parece, com fundo verde e tudo mais.</p>
<p>Imagino que essa dificuldade em lembrar nomes mais longos é provavelmente a razão pelo qual é comum usar um nome mais curto quando nos referimos a certas vias em São Paulo.</p>
<p>Um dia, sentado num ônibus, esperando a minha parada, alguém me perguntou se aquele ônibus passava na <em>Brigadeiro</em>. Eu disse que sim, que era no próximo ponto (o ônibus se aproximava da Brigadeiro Luis Antônio). A pessoa desceu, contente. Meia hora depois, quanto o ônibus passou pela Brigadeiro Faria Lima, engoli em seco e me indaguei se a pessoa tinha descido no ponto certo.</p>
]]></content:encoded>
			<wfw:commentRss>http://pessoal.zehfernando.com/2011/o-que-ha-num-simples-nome/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Histórias para bois e outros seres dormirem</title>
		<link>http://pessoal.zehfernando.com/2009/historias-para-bois-e-outros-seres-dormirem/</link>
		<comments>http://pessoal.zehfernando.com/2009/historias-para-bois-e-outros-seres-dormirem/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 15:34:17 +0000</pubDate>
		<dc:creator>Zeh</dc:creator>
				<category><![CDATA[crônicas]]></category>
		<category><![CDATA[línguas]]></category>
		<category><![CDATA[meta]]></category>
		<category><![CDATA[pirações]]></category>

		<guid isPermaLink="false">http://pessoal.zehfernando.com/?p=819</guid>
		<description><![CDATA[Pra quem não percebeu pelos últimos posts, ou não leu o que escrevi antes, gosto muito de escrever histórias. Sempre foi a área em que me dei melhor na escola. Uma das razões principais de eu ter criado este blog (&#8230;)</p><p><a href="http://pessoal.zehfernando.com/2009/historias-para-bois-e-outros-seres-dormirem/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Pra quem não percebeu pelos últimos posts, ou <a href="http://pessoal.zehfernando.com/2009/enquanto-isso-na-cidade-de-townsville-acabou-a-tinta-da-impressora/">não leu o que escrevi antes</a>, gosto muito de escrever histórias. Sempre foi a área em que me dei melhor na escola.</p>
<p>Uma das razões principais de eu ter criado este blog foi exatamente pra ter a oportunidade de poder escrever histórias e artigos em português sem ter de me preocupar muito com o conteúdo, ou com o que as pessoas iriam achar &#8211; afinal, é um blog feito pra ter conteúdo <em>pessoal</em> mesmo, então não tenho que me preocupar com alguém acessando o site do outro lado do mundo pra tirar uma dúvida de ActionScript e acabar se deparando com uma história estranha sobre gaivotas, velhos homens anônimos, ou outros seres parecidos.</p>
<p>Escrever histórias do tipo das que gosto de escrever acaba sendo um exercício de criatividade imenso. Acho que é por isso que gosto de escrevê-las. Pode não parecer, mas pra mim, as histórias que conto não são aquela coisa de escrever uma experiência anterior disfarçada de ficção só pra poupar os envolvidos: nunca estou falando de mim ou de algo que aconteceu e quero botar pra fora, mas sim tentando fazer uma metáfora de <em>lições de vida</em> (tão pretensioso como isso possa soar) ou só situações interessantes/irônicas que imaginei.</p>
<p>Por uma feliz coincidência (ou não), há um tempo atrás comecei a sair com uma garota que quase todo dia me pedia pra contar uma história pra ela antes de dormir &#8211; ao vivo, ou via instant messenger. Cheguei a ler histórias de livros de fábulas (ótimo pra praticar o inglês por sinal), mas o que me dava mais prazer era bolar alguma história na hora.</p>
<p>É por isso que muitas das <a href="http://pessoal.zehfernando.com/category/cronicas/">histórias que escrevo aqui</a> são baseadas em contos ou argumentos trazidos de outras histórias, como <a href="http://www.chinapage.com/story/story.html">contos chineses</a>. O que eu fazia era procurar alguma história rapidamente, ler mais ou menos a premissa básica, e começar re-contar a história com modificações próprias, inventando alguma história diferente no decorrer do processo. Às vezes, só um personagem ou uma frase já serviam de ponto de partida. Pra se ter uma noção, uma das histórias mais tristes que contei usava uma frase da letra da <a href="http://www.youtube.com/watch?v=Wt85tL4pYX4">música de abertura do desenho <em>Sawamu, o Demolidor</em></a> como ponto de partida (a parte que fala dos insetos dos charcos). E quando paro pra pensar, muitas das histórias que eu escrevia quando era mais novo se baseavam na mesma receita: eu assistia alguma propaganda de filme, <em>imaginava</em> do que se tratava o filme, e escrevia uma redação com a história, ou só baseada num personagem específico (e depois, quando eu ia ver o filme, ele geralmente não tinha nada a ver com o que eu tinha escrito).</p>
<p>O relacionamento no final das contas não durou muito tempo, e acabou como a maioria dos meus contos acabam &#8211; sem um final feliz. Mas as histórias ficaram; salvas no histórico do MSN, escritas rapidamente num arquivo <em>txt</em> qualquer, ou até mesmo anotadas com pressa num post-it, tenho uma série de histórias prontas para serem traduzidas ou reescritas em português.</p>
<p>Mas, mais importante, ficou acesa a chama da escrita. Não só nas histórias já elaboradas que estão esperando pra serem postadas, mas nas idéias que ainda estão surgindo a todo momento, uma vez que a prática do exercício de imaginação foi relembrado.</p>
<p>Enfim, tudo isso pra dizer, não se surpreendam se a partir de agora eu postar mais histórias estranhas aqui do que outra coisa. Minha cabeça anda coçando.</p>
]]></content:encoded>
			<wfw:commentRss>http://pessoal.zehfernando.com/2009/historias-para-bois-e-outros-seres-dormirem/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>O cego e o sol</title>
		<link>http://pessoal.zehfernando.com/2009/o-cego-e-o-sol/</link>
		<comments>http://pessoal.zehfernando.com/2009/o-cego-e-o-sol/#comments</comments>
		<pubDate>Sun, 27 Dec 2009 16:46:50 +0000</pubDate>
		<dc:creator>Zeh</dc:creator>
				<category><![CDATA[crônicas]]></category>

		<guid isPermaLink="false">http://pessoal.zehfernando.com/?p=804</guid>
		<description><![CDATA[Era uma vez um homem cego que não sabia como era o Sol. Ele então decidiu pedir a outras pessoas para lhe explicarem. Primeiro, ele perguntou a um amigo como era o Sol. &#8220;O Sol é grande e redondo, como (&#8230;)</p><p><a href="http://pessoal.zehfernando.com/2009/o-cego-e-o-sol/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Era uma vez um homem cego que não sabia como era o Sol. Ele então decidiu pedir a outras pessoas para lhe explicarem.</p>
<p>Primeiro, ele perguntou a um amigo como era o Sol. &#8220;O Sol é grande e redondo, como uma grande panela&#8221;, disse o amigo, que era cozinheiro. Então o cego pegou uma panela emprestada, e passou a tateá-la, para sentir sua forma. A panela, no entanto, era feita de um metal frio, e ele sabia que o Sol não era frio, já que ele podia sentir o calor dos raios solares em sua pele. Insatisfeito, ele decidiu perguntar sobre o Sol a outra pessoa.</p>
<p>Mais tarde, ele encontrou um velho conhecido que trabalhava vendendo velas. Questionado sobre o Sol, sua resposta foi breve: &#8220;O Sol é brilhante e irradia luz, como as velas que vendo&#8221;. No entanto, o cego não conhecia a luz, portanto, essa resposta também não o satisfez.</p>
<p>No dia seguinte, enquanto fazia suas compras, ele decidiu perguntar ao vendedor do mercado sobre o Sol. &#8220;O Sol é como este ovo que você acabou de comprar&#8221;, respondeu o vendedor. Mas o cego sabia que o ovo era frágil e que se quebraria ao ser apertado, ou ainda que apodreceria em breve, caso não fosse consumido; o Sol, ao contrário, já existia há muito tempo, e era improvável que se quebraria ou apodreceria tão logo. Assim, esse exemplo também não o deixou feliz.</p>
<p>Chegando em casa, pensativo, o cego finalmente perguntou a seu vizinho, professor, como era o Sol. &#8220;O Sol é uma gigantesca massa esférica composta de plasma e gases&#8221;, disse o professor, &#8220;e também a principal força gravitacional de nosso sistema solar&#8221;. Esta explicação, no entanto, era complexa demais para ele, e mais uma vez, deixou-o insatisfeito.</p>
<p>Passados alguns dias, obstinado em tentar achar uma resposta, o homem cego recebeu uma notícia através de um primo. &#8220;Um monge muito sábio está passando pela cidade&#8221;, disse ele. &#8220;Por que você não o visita para perguntar sobre o Sol?&#8221;. Ansioso, o cego decidiu visitar o templo onde o monge estava hospedado naquele mesmo dia. Afinal, um monge tão sábio saberia explicar o Sol para um homem cego.</p>
<p>Lá chegando, explicou sua história para os guardiões do templo, e pediu uma audiência com o sábio monge para que pudesse pergunta sobre o Sol. Quando finalmente foi atendido, e posto na presença do sábio monge, fez uma simples pergunta: &#8220;Como é o sol?&#8221;.</p>
<p>&#8220;O Sol flutua no céu, e aquece minha pele durante o dia&#8221;, disse o monge. &#8220;Ele também traz luz àqueles à minha volta, ajuda as plantas a crescerem, e as roupas a secarem no varal&#8221;, concluiu.</p>
<p>Surpreso, o cego finalmente exclamou, depois de alguns segundos de silêncio, &#8220;mas isso eu já sabia! É exatamente o que o Sol é para mim!&#8221;, disse o cego.</p>
<p>&#8220;Então é isso que o Sol é&#8221;, declarou o monge, sorrindo. &#8220;Temos a tendência de ver, sentir, ou entender as coisas que fazem parte de nossa vida através do funil de nossas experiências. Assim como o cozinheiro vê uma panela quando olha para o Sol, ou o vendedor de velas vê a chama que traz luz, o cego sente o calor em sua pele. Ao invés de tentar enxergar o Sol através dos olhos de outras pessoas, procure aceitá-lo como ele é &#8211; como é para você, porque é isso que importa. Meras descrições não vão fazê-lo entender o que outras pessoas sentem, assim como ninguém terá a mesma percepção que você tem do Sol.&#8221;</p>
<p>Satisfeito com a explicação, o cego foi para casa e nunca mais precisou se perguntar como era o Sol.</p>
]]></content:encoded>
			<wfw:commentRss>http://pessoal.zehfernando.com/2009/o-cego-e-o-sol/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>O homem e as gaivotas</title>
		<link>http://pessoal.zehfernando.com/2009/o-homem-e-as-gaivotas/</link>
		<comments>http://pessoal.zehfernando.com/2009/o-homem-e-as-gaivotas/#comments</comments>
		<pubDate>Sun, 13 Dec 2009 00:41:47 +0000</pubDate>
		<dc:creator>Zeh</dc:creator>
				<category><![CDATA[crônicas]]></category>

		<guid isPermaLink="false">http://pessoal.zehfernando.com/?p=772</guid>
		<description><![CDATA[Era uma vez um homem que vivia no litoral, numa cabana simples do lado de uma praia. A praia vivia deserta, já que possuía muitas pedras, além de estar distante de qualquer estrada. Assim, na maior parte do tempo, gaivotas (&#8230;)</p><p><a href="http://pessoal.zehfernando.com/2009/o-homem-e-as-gaivotas/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Era uma vez um homem que vivia no litoral, numa cabana simples do lado de uma praia.</p>
<p>A praia vivia deserta, já que possuía muitas pedras, além de estar distante de qualquer estrada. Assim, na maior parte do tempo, gaivotas tomavam conta da areia.</p>
<p>O homem que vivia nesta praia adorava as gaivotas. Ele as considerava suas amigas, e frequentemente brincava com elas, fazia carinho nelas, ou simplesmente as observava. Todas as manhãs, centenas de gaivotas vinham lhe fazer companhia em sua caminhada diária, e isso o deixava feliz pelo resto do dia.</p>
<p>Um conhecido de uma cidade próxima, sabendo disso, veio ao homem e disse, &#8220;Eu ouvi dizer que as gaivotas adoram você, e que deixam você se aproximar delas sem fugir, ao contrário do que elas fazem com outras pessoas. Quero que você capture duas delas para mim, para eu poder fazer sopa de gaivota na janta. Vou lhe pagar muito bem.&#8221;</p>
<p>No dia seguinte, o homem foi para a praia e, como sempre, foi recebido pelas gaivotas, que o rodeavam. Rapidamente, para surpresa das gaivotas, o homem capturou duas aves pelo pescoço, e as levou para seu conhecido da cidade.</p>
<p>Seu conhecido ficou muito feliz de receber as gaivotas, e pagou uma quantidade considerável de dinheiro para o homem, como havia prometido. Assim, à noite, seu conhecido fez sopa de gaivotas, e a sopa era deliciosa. Ele disse para o homem, &#8220;Eu tenho um restaurante, e gostaria de servir esta deliciosa sopa de gaivota todo dia. Eu comparei todas as gaivotas que você me trouxer!&#8221;</p>
<p>O homem voltou para sua cabana na praia muito feliz, contando o dinheiro que havia ganho e fazendo planos para o futuro. &#8220;Se eu fizer isso só por um mês&#8221;, ele pensou, &#8220;ficarei rico!&#8221;</p>
<p>Na manhã seguinte, como de costume, ele caminhou em direção à praia, esperando ser recebido pelas gaivotas e capturar mais duas aves que ele poderia vender para seu conhecido.</p>
<p>No entanto, para sua surpresa, nenhuma das gaivotas se aproximou dele.</p>
<p>&#8220;Eu só quero brincar com vocês!&#8221;, disse o homem. Mas ainda assim, elas se mantiveram à distância dele, voando para longe quando ele tentava se aproximar delas.</p>
<p>Desolado, ele voltou para casa e resolveu tentar novamente no dia seguinte.</p>
<p>Na manhã seguinte, novamente, nenhuma das gaivotas se aproximou dele. Desesperado, ele até mesmo tentou correr atrás delas, capturando-as à força, sem sucesso.</p>
<p>Ele continuou tentando por uma semana, mas o mesmo se repetia todo dia. Ele não conseguira capturar nenhuma gaivota, já que elas não deixavam ele se aproximar.</p>
<p>Percebendo que o homem não conseguia capturar mais nenhuma gaivota, seu conhecido lhe disse, &#8220;Desisto da sopa de gaivota. É muito difícil capturá-las, e meu restaurante demanda regularidade no cardápio. Assim, não comprarei nenhuma gaivota de você, mesmo se você conseguir pegá-las.&#8221;</p>
<p>Na manhã seguinte, desolado, o homem andou em direção à praia para sua caminhada matinal. Ele já não queria capturar nenhuma gaivota. Só estava se sentido solitário e arrependido de ter feito o que fez, e precisava de um pouco de companhia.</p>
<p>Ainda assim, nenhuma das gaivotas se aproximou do homem.</p>
<p>Elas não brincaram com o homem, nem deixaram ele se aproximar. Elas mantiveram a distância.</p>
<p>Para sempre.</p>
]]></content:encoded>
			<wfw:commentRss>http://pessoal.zehfernando.com/2009/o-homem-e-as-gaivotas/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A cidade ideal</title>
		<link>http://pessoal.zehfernando.com/2009/a-cidade-ideal/</link>
		<comments>http://pessoal.zehfernando.com/2009/a-cidade-ideal/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 14:47:34 +0000</pubDate>
		<dc:creator>Zeh</dc:creator>
				<category><![CDATA[crônicas]]></category>
		<category><![CDATA[pirações]]></category>

		<guid isPermaLink="false">http://pessoal.zehfernando.com/?p=617</guid>
		<description><![CDATA[A cidade ideal teria suas ruas divididas em retângulos, como em Nova York. Quer ir pro norte? É só pegar uma rua que vai pro norte. Não precisa se preocupar com curvas sinuosas que te fazem sair do caminho. Da (&#8230;)</p><p><a href="http://pessoal.zehfernando.com/2009/a-cidade-ideal/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>A cidade ideal teria suas ruas divididas em retângulos, como em Nova York. Quer ir pro norte? É só pegar uma rua que vai pro norte. Não precisa se preocupar com curvas sinuosas que te fazem sair do caminho.</p>
<p>Da mesma forma, a cidade também teria avenidas e ruas com nomes numéricos, em sequência &#8211; do norte pro sul, e do leste pro oeste (ou vice-versa). Quer ir da oitava avenida pra sexta avenida? Dois quarteirões na direção leste. Não sabe onde é a 50a rua, nunca ouviu falar? Fica depois da 49a, é lógico.</p>
<p>E ainda obedecendo ao <em>grid</em>, as ruas e avenidas teriam mãos previsíveis: pares vão numa direção, ímpares em outra. Não precisa circular 10 quarteirões só porque você quer entrar numa rua de mão única e não consegue nenhum ponto de acesso.</p>
<p>Já os prédios, casas, lojas e demais logradouros seriam numerados de acordo com sua distância até o início da rua, em metros, como em São Paulo. Fica fácil de saber a distância de um ponto a outro. Quer ir da altura do número 120 até o número 500? São 380 metros.</p>
<p>Essa cidade teria um metrô 24 horas, que percorre praticamente a cidade toda, incluindo os pontos mais remotos, como em Nova York. E os metrôs teriam linhas expressas, que pulam algumas estações, pra quem quer ir rapidamente pra algum canto. Não só isso, mas diversos pontos de transferência e integração entre linhas. E, desnecessário citar, os trens seriam pouco lotados, mas ainda assim teriam um ar-condicionado bem eficiente.</p>
<p>Mas os metrôs seriam rápidos, limpos e bem-conservados, como em São Paulo. Além disso, você não teria entradas extremamente específicas, que te obrigam a sair, atravessar a rua, e pagar outro bilhete se você tiver entrado, sem querer, na plataforma da direção errada &#8211; os pontos de entrada e saída seriam unificados.</p>
<p>As estações de metrô teriam máquinas de compra de bilhetes que aceitariam cartão de crédito, débito, notas, ou moedas, permitindo a qualquer um adquirir um bilhete &#8211; ou colocar créditos em seu bilhete recarregável &#8211; de forma rápida e, geralmente, sem filas. Como em Nova York. As catracas para entrada seriam inúmeras, como em São Paulo, e com catracas específicas para entrada ou saída, para evitar confusões de catracas que servem aos dois propósitos.</p>
<p>Como em Nova York, você não precisaria de carro para nada. Seria muito mais fácil, rápido, e barato, chegar de metrô em qualquer lugar. O trânsito seria um problema menor, senão inexistente. A cidade seria escrava do pedestre, não do automóvel. E as bicicletas seriam extremamente práticas.</p>
<p>Toda esquina da cidade ideal teria uma lata de lixo de verdade, e toda residência teria coleta de lixo reciclável, como em Nova York. Mas as calçadas e ruas pareceriam mais limpas, assim como, incrivelmente, São Paulo (ou partes de São Paulo).</p>
<p>Na cidade ideal, os caixas eletrônicos dos bancos permitiriam depósitos em dinheiro ou cheque sem a necessidade de envelopes especiais ou do preenchimento de qualquer outra coisa. Como em Nova York, elas leriam os valores das notas, e os valores dos cheques, e permitiriam a você conferir o depósito antes de efetuá-lo. Os caixas seriam limpos e bem conservados, como em São Paulo.</p>
<p>Os parques seriam limpos, confortáveis, e convidativos, sem terem sido dominados por moradores de rua, drogados, trombadinhas ou outros seres estranhos. Crianças brincariam felizes nos parques das áreas mais residenciais, e os mesmos também teriam específicas para donos de cachorros deixarem seus melhores abrigos brincarem e correrem, assim como se vê em Nova York.</p>
<p>Da mesma forma que em Nova York, as cervejas encontradas nos bares seriam inúmeras, sem o domínio de uma ou outra marca. E com sabores e texturas das mais distintos, ao invés de poucas variações do mesmo tipo de cerveja. Mas você poderia beber na rua, como em São Paulo.</p>
<p>O churrasco da cidade ideal seria como em São Paulo, ou outras partes do sul do Brasil &#8211; regado a muita carne, muito sal, e churrasqueiras exclusivamente de carvão. Mas o hambúrger ou o sanduíche encontrados em qualquer esquina seriam como seus equivalentes de Nova York &#8211; bem servidos, e dos tipos e sabores mais variados.</p>
<p>As garotas da cidade ideal seriam tão bonitas &#8211; e usariam roupas tão sensuais &#8211; quanto as de São Paulo (ou de qualquer outra cidade brasileira). Mas teriam histórias de vida, origens e experiências tão variadas quanto as que você encontra nas garotas de Nova York.</p>
<p>Para ser realista, o aluguel de alguma casa ou apartamento na cidade ideal seria tão barato quanto o aluguel médio de São Paulo. As residências também seriam tão espaçosas quanto as que você geralmente encontra lá. Mas, ao mesmo tempo, seria muito mais rápido de chegar em qualquer lugar, como em Nova York &#8211; morar <em>na periferia</em> seria algo comum. Toda a idéia de periferia seria algo difícil de entender, no entanto, já que o contraste entre áreas não seria mais tão grande.</p>
<p>A cidade ideal seria uma cidade extremamente urbanizada em seu núcleo. Com lojas para tudo, e áreas mais ou menos especializadas num determinado tipo de comércio. Com em São Paulo ou, especialmente, Nova York. Com áreas de lazer e relaxamento &#8211; praias e parques &#8211; a dois passos de distância, como em Nova York, mas com praias tão boas quanto as do Brasil.</p>
<p>A cidade ideal seria perfeita.</p>
<p>Mas talvez aí já não teria mais tanta graça.</p>
]]></content:encoded>
			<wfw:commentRss>http://pessoal.zehfernando.com/2009/a-cidade-ideal/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Já não se enchem mais lajes como antigamente</title>
		<link>http://pessoal.zehfernando.com/2009/ja-nao-se-enchem-mais-lajes-como-antigamente/</link>
		<comments>http://pessoal.zehfernando.com/2009/ja-nao-se-enchem-mais-lajes-como-antigamente/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 22:21:31 +0000</pubDate>
		<dc:creator>Zeh</dc:creator>
				<category><![CDATA[crônicas]]></category>

		<guid isPermaLink="false">http://pessoal.zehfernando.com/?p=289</guid>
		<description><![CDATA[Domingo, 6 da manhã. Sebá dobra a esquina e começa a subida da ladeira. Os passos cansados, culpa do corpo envelhecido, mas a mente afiada apesar da noite breve de sono. Tinha acordado cedo demais, pensou. A verdade é que (&#8230;)</p><p><a href="http://pessoal.zehfernando.com/2009/ja-nao-se-enchem-mais-lajes-como-antigamente/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Domingo, 6 da manhã. Sebá dobra a esquina e começa a subida da ladeira. Os passos cansados, culpa do corpo envelhecido, mas a mente afiada apesar da noite breve de sono. Tinha acordado cedo demais, pensou. A verdade é que cada vez dormia menos. Culpa da velhice, dona Nízia diria. E com razão; apesar do breve meio século de existência, a vida de Sebá tinha sido dura. Seus ossos doíam ainda mais quando se lembrava do passado.</p>
<p>Já conhecia muito bem a ladeira. Fazia esse caminho todo dia, para chegar à padaria onde tomaria o café da manhã. Ainda assim, enquanto caminhava, olhava atentamente para o chão à sua frente. Tinha medo de tropeçar em algum buraco novo, incidente frequente nesta ladeira de paralelepípedos, rara sobrevivente à expansão do asfalto. Uma pedra arrancada era o que lhe preocupava. Já o resto do cenário continuaria sempre o mesmo. E era uma ladeira acentuada. Olhar para a frente, inclinado como seu corpo já estava, era difícil. Preferia evitar a dor no pescoço.</p>
<p>O barulho começou de forma suave. A cada novo passo, no entanto, seu volume aumentava, até que se tornou impossível ignorá-lo. Foi o que o fez olhar para a frente. Nada podia ter-lhe preparado para a cena assombrosa que desenrolava à sua frente.</p>
<p>Um caminhão estranho, estacionado na rua. O nome correto era &#8220;betoneira&#8221;, disso Sebá tinha certeza. Já tinha visto caminhões assim antes. Ninguém à vista, mas o caminhão estava de alguma forma ligado, dado o barulho que emitia.</p>
<p>Da traseira do caminhão saía uma mangueira. Ou um tubo bem grosso que parecia uma mangueira. Fosse o que fosse, era razoavelmente flexível, e sua outra ponta repousava numa residência próxima &#8211; mais precisamente, na laje em construção da casa em frente à qual o caminhão estava estacionado.</p>
<p>Foi então que Sebá percebeu. Da ponta do tubo, saía um líquido viscoso. Concreto. O caminhão estava descarregando concreto diretamente na laje da casa, sem qualquer intervenção humana visível.</p>
<p>A compreensão fez as penas de Sebá tremerem uma vez mais e quase cederem. Lembrou-se imediatamente de todas as vezes em que ajudou seus vizinhos a encherem lajes com cimento. A preparação do cimento na rua, e a marca que isso deixaria para sempre na calçada. As latas cheias de cimento sendo carregadas de um lado para o outro e içadas. As dores nas costas. O cimento a cair nas suas pernas e a fechar os cortes criados criados momentos antes pela metal da própria lata. O churrasco magro no final do dia, a sensação de dever cumprido, e os novos laços forjados com seus vizinhos no calor do trabalho manual.</p>
<p>Uma vila inteira levava um dia para encher uma laje. A julgar pela velocidade com que vomitava cimento, esta máquina realizaria o mesmo trabalho em menos de uma hora. Sozinha.</p>
<p>Sebá abaixou a cabeça, apertou o passo e continuou a ganhar a ladeira. Os ossos doíam cada vez mais. Não ligava. Queria se distanciar desta realidade. Tudo que pensava é que já não se enchem mais lajes como antigamente.</p>
]]></content:encoded>
			<wfw:commentRss>http://pessoal.zehfernando.com/2009/ja-nao-se-enchem-mais-lajes-como-antigamente/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Best friend</title>
		<link>http://pessoal.zehfernando.com/2009/best-friend/</link>
		<comments>http://pessoal.zehfernando.com/2009/best-friend/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 13:54:38 +0000</pubDate>
		<dc:creator>Zeh</dc:creator>
				<category><![CDATA[crônicas]]></category>

		<guid isPermaLink="false">http://pessoal.zehfernando.com/?p=485</guid>
		<description><![CDATA[Não sabia o que esperar. Para onde estariam indo? Que solo estranho era esse? Que estrutura tão incomum era aquela onde se encontravam? O que estavam fazendo, parados, em pé? Esperando algo, talvez &#8211; mas o quê? E o que (&#8230;)</p><p><a href="http://pessoal.zehfernando.com/2009/best-friend/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/julianamundim/3589991113/"><img src="http://pessoal.zehfernando.com/wp-content/uploads/2009/07/bestfriend.jpg" alt="Best friend" title="Best friend" width="500" height="375" class="aligncenter size-full wp-image-486" /></a></p>
<p>Não sabia o que esperar. Para onde estariam indo? Que solo estranho era esse? Que estrutura tão incomum era aquela onde se encontravam? O que estavam fazendo, parados, em pé? Esperando algo, talvez &#8211; mas o quê? E o que eram os barulhos que ecoavam de vez em quando pelos túneis, como urros de monstros subterrâneos invisíveis que faziam tremer o solo?</p>
<p>Estaria sendo levado para algum lugar de onde jamais voltaria? Seria esse o começo do fim da única amizade real que já teve na vida? Ou seria só um novo tipo de passeio? Afinal, o que se passava na mente daquele que lhe carregava?</p>
<p>Apesar das muitas dúvidas, aguardava e confiava.</p>
<p><em>Foto e título por <a href="http://www.flickr.com/photos/julianamundim/">Juliana Mundim</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://pessoal.zehfernando.com/2009/best-friend/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Balloon vessel</title>
		<link>http://pessoal.zehfernando.com/2009/balloon-vessel/</link>
		<comments>http://pessoal.zehfernando.com/2009/balloon-vessel/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 04:34:26 +0000</pubDate>
		<dc:creator>Zeh</dc:creator>
				<category><![CDATA[crônicas]]></category>

		<guid isPermaLink="false">http://pessoal.zehfernando.com/?p=414</guid>
		<description><![CDATA[Começou aos poucos: um dia alguém avistou um saco de bolas dentro do metrô. &#8220;Alguém deve ter esquecido&#8221;, foi o que pensaram. &#8220;Algum entregador deixou aí. O pessoal da limpeza vai achar pro setor de achados e perdidos&#8221;, diziam. Teve (&#8230;)</p><p><a href="http://pessoal.zehfernando.com/2009/balloon-vessel/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/julianamundim/3624247314/"><img class="aligncenter size-full wp-image-415" title="Balloon vessel" src="http://pessoal.zehfernando.com/wp-content/uploads/2009/06/spaceball.jpg" alt="Balloon vessel" width="500" height="333" /></a></p>
<p>Começou aos poucos: um dia alguém avistou um saco de bolas dentro do metrô. &#8220;Alguém deve ter esquecido&#8221;, foi o que pensaram. &#8220;Algum entregador deixou aí. O pessoal da limpeza vai achar pro setor de achados e perdidos&#8221;, diziam. Teve quem achasse graça.</p>
<p>Mas mal sabiam eles que este não era só um caso isolado. Ele se repetiu no dia seguinte, com um saco de bolas diferente. E depois. E depois. E aí já não era mais um saco de bolas. Eram dois. Três. Meia dúzia. Uma dúzia. Duas dúzias. Centenas. Milhares. A graça acabou bem rápido.</p>
<p>Rapidamente eles tomaram o espaço dos homens e mulheres nos vagões dos trens do metrô. A situação ficou insustentável. Ninguém conseguia mais ir trabalhar; o metrô estava tomado por sacos de bolas. Eles ocupavam os bancos, os corredores, a área das portas, até os assentos reservados. Como saber se um saco de bolas é mais ou menos idoso?</p>
<p>&#8220;Faça alguma coisa!&#8221;, repetiam os cidadãos. &#8220;Esses sacos não deveriam estar aqui!&#8221;, diziam outros. É verdade. Mas estavam. E tinham tanto direito quanto qualquer um de utilizar o metrô. Teríamos de ligar com isso. Os sacos de bolas haviam chegado para ficar.</p>
<p><em>Foto e título por <a href="http://www.flickr.com/photos/julianamundim/">Juliana Mundim</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://pessoal.zehfernando.com/2009/balloon-vessel/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Aprenda programação orientada a objetos no dia dos namorados</title>
		<link>http://pessoal.zehfernando.com/2009/aprenda-programacao-orientada-a-objetos-no-dia-dos-namorados/</link>
		<comments>http://pessoal.zehfernando.com/2009/aprenda-programacao-orientada-a-objetos-no-dia-dos-namorados/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 08:16:35 +0000</pubDate>
		<dc:creator>Zeh</dc:creator>
				<category><![CDATA[crônicas]]></category>
		<category><![CDATA[pirações]]></category>

		<guid isPermaLink="false">http://pessoal.zehfernando.com/?p=348</guid>
		<description><![CDATA[Há algumas semanas atrás, o grande @mjlogan publicou uma frase em sua conta do Twitter que achei genial: @mjlogan: Gata, pode vir populando que meu array já está inicializado. #pedreiro_geek Era mais uma &#8211; de muitas &#8211; cantadas geek que (&#8230;)</p><p><a href="http://pessoal.zehfernando.com/2009/aprenda-programacao-orientada-a-objetos-no-dia-dos-namorados/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Há algumas semanas atrás, o grande <a href="http://twitter.com/mjlogan">@mjlogan</a> publicou <a href="http://twitter.com/mjlogan/status/1913079272">uma frase</a> em sua conta do Twitter que achei genial:</p>
<blockquote><p><a href="http://twitter.com/mjlogan">@mjlogan</a>: Gata, pode vir populando que meu array já está inicializado. #pedreiro_geek</p></blockquote>
<p>Era mais uma &#8211; de muitas &#8211; <em>cantadas</em> geek que estavam circulando naquele dia no Twitter (e que continuam circulando) com a hashtag <a href="http://search.twitter.com/search?q=%23pedreiro_geek">#pedreiro_geek</a> (ou <a href="http://search.twitter.com/search?q=geekpickuplines">#geekpickuplines</a> na versão gringa). Neste caso, bastante voltada pra programação.</p>
<p>Ler isso fez com que uma verdadeira lâmpada se acendesse acima da minha cabeça. Ou seja, estava sem fazer porra nenhuma e pensei, &#8220;<em>Caralho, dá pra fazer um monte de cantadas toscas desse tipo relacionadas a programação!</em>&#8220;.</p>
<p>Quem me conhece sabe que sou um solteiro convicto, mas a oportunidade me pareceu boa demais pra deixar passar. Sabe aqueles momentos em que a inspiração bate e você não liga muito pras consequências? Então. Foi aí que acabei despejando uma torrente de frases parecidas <a href="http://twitter.com/zeh_br">na minha conta no Twitter</a>, mas todas relacionadas a <em><a href="http://en.wikipedia.org/wiki/Object-oriented_programming">Object-Oriented Programming</a></em>, ou <em>OOP</em> (<a href="http://pt.wikipedia.org/wiki/Orientação_a_objetos">Programação Orientada a Objetos</a>, em português). Quem teve a <del datetime="2009-06-12T04:22:10+00:00">honra</del> <del datetime="2009-06-12T04:22:10+00:00">prazer</del> <del datetime="2009-06-12T04:22:10+00:00">sorte</del> infelicidade de acompanhar os tweets não deve ter entendido muita coisa, porque elas são realmente muito voltadas pro mundo OOP; no máximo, pode ter achado uma ou outra engraçadinha.</p>
<p>Como <a href="http://search.twitter.com/">o search</a> do Twitter não parece funcionar pra coisas muito antigas, não dá mais pra listar tudo que postei através de um simples link. Mas como a data é bastante propícia, decidi postá-las aqui para guardá-las pra posteridade.</p>
<p>No entanto, pro bem da humanidade, e pra ter algum propósito minimamente útil neste artigo, decidi colocar explicações de cada frase junto de cada uma delas. Pra quem não entendeu nada quando as escrevi, pode ser uma oportunidade de entender o quão <del datetime="2009-06-12T04:22:10+00:00">genial</del> razoável cada uma das frases era; pra quem está aprendendo OOP, pode ser uma oportunidade de sacar alguns conceitos através de exemplos, digamos, pouco ortodoxos; e pra quem já sabe, pode ler sem precisar de muitas explicações, no máximo utilizar as descrições pra ver se acertou, e talvez, quem sabe, achar um pouco de graça.</p>
<p>Seguem abaixo as <em>cantadas oop</em>, na ordem em que foram postadas. A explicação de cada uma delas está escondida; clique na setinha no final de cada frase para ler a explicação correspondente.</p>
<p>Nota: os links que coloquei na explicação, bem como as expressões que usei, são dos conceitos originais em inglês (porque foi assim que aprendi), mas é só clicar no link pra versão em português na página da Wikipedia que se abre pra achar o equivalente em português. Além disso, alguns dos conceitos explicados nas frases do começo não são repetidos mais além, então vale a pena ler na sequência porque as explicações podem parecer meio vagas mais pro final da lista.</p>
<div style="margin: 0px 2.5em;">
<p><em>Gata, você é uma constante na minha classe estática.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID830821996'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID830821996' style='display:none;'>
Em OOP, geralmente criamos <a href="http://en.wikipedia.org/wiki/Class_(computer_science)">classes</a> com uma série de métodos ou propriedades <a href="http://en.wikipedia.org/wiki/Static_method#Static_methods">estáticas</a> quando precisamos de alguma funcionalidade genérica, que será acessada de diversos lugares do código, sem que uma nova <a href="http://en.wikipedia.org/wiki/Object_(computer_science)">instância</a> da classe seja usada. Feito isso, é comum utilizarmos <a href="http://en.wikipedia.org/wiki/Constant_(programming)">constantes</a> (valores que nunca serão alterados) para guardar algum dado especial que poderá ser utilizado diversas vezes como referência.<br/><br/>Assim, é comum termos classes que servem para pouco mais do que guardar dados para fácil acesso de forma estática, daí o termo um tanto quanto incorreto de <em>classe estática</em>. Em ActionScript 3, um bom exemplo é a classe <a href="http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/StageScaleMode.html">StageScaleMode</a> que só serve para guardar dados constantes como <a href="http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/StageScaleMode.html#EXACT_FIT">EXACT_FIT</a>, <a href="http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/StageScaleMode.html#NO_BORDER">NO_BORDER</a> e outros.
</div>
<p><em>Gata, no Singleton do meu coração, você é a instância default.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID2079202000'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID2079202000' style='display:none;'>
Em OOP, existe uma série de <a href="http://en.wikipedia.org/wiki/Design_pattern_(computer_science)">design patterns</a> que podem ser utilizados. Design patterns são combinações comuns de classes, como que receitinhas de soluções que acabam sendo bastante frequentes em projetos OOP, mesmo por quem nem sabe o que é um design pattern. O <a href="http://en.wikipedia.org/wiki/Singleton_pattern">Singleton</a> é um dos patterns mais comuns, talvez especialmente no ActionScript; ele consiste na criação de uma classe que cria uma única instância de si mesma (a tal instância default) que pode ser acessada a qualquer momento, de qualquer lugar, através de métodos estáticos da classe. E, como alguém já disse certa vez, singleton se tornou &#8220;<em>o _global do ActionScript 3</em>&#8220;, já que é bastante comum de cair na armadilha de sair criando singletons pra tudo quanto é lado em trabalhos Flash pra resolver problemas de forma rápida mas sem muito planejamento.
</div>
<p><em>Gata, se meu coração é o Model, você é o Controller e eu sou o View.</em><a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID60446963'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID60446963' style='display:none;'>
Originalmente postado errado (escrevi &#8220;Master&#8221; ao invés de &#8220;Model&#8221;), esta é outra referência a um design pattern; desta vez, ao famigerado <a href="http://en.wikipedia.org/wiki/Model-View-Controller">Model-View-Controller</a>, ou MVC. É um pattern mais complexo, que costuma utilizar uma série de classes através de <a href="http://en.wikipedia.org/wiki/Object_composition">composição</a>, mas também bastante prático em trabalhos Flash. Resumidamente, <em>model</em> é a instância que gerencia dados relacionados à classe, como o processador interno de um relógio; <em>view</em> é uma instância que contém a visão desses dados, como o painel que mostra as horas do relógio; <em>controller</em> é algo que permite controlar os dados, como os botões de ajuste de hora de um relógio.
</div>
<p><em>Gata, não tem Garbage Collection que consiga fazer eu te esquecer.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID829092871'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID829092871' style='display:none;'>
<a href="http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)">Garbage Collection</a> é um termo relacionado à programação em ambientes de execução <em>gerenciados</em>, onde o <a href="http://en.wikipedia.org/wiki/Memory_management">gerenciamento de memória</a> é feito pela <a href="http://en.wikipedia.org/wiki/Virtual_machine">máquina virtual</a> que executa um programa. É como é chamado o processo de <em>limpeza de memória</em> para a remoção de dados que não são mais necessários.<br/><br/>Quando um dado é apagado (como quando uma variável é removida ou um objeto deixa de existir), ele não necessariamente é removido da memória; ele continua existindo, meio órfão, até que a máquina virtual que está executando o código dispare a <em>coleta de lixo</em> que faz com que o dado seja efetivamente esquecido. Normalmente, isso é feito de maneira cíclica, não imediata, para melhor performance.
</div>
<p><em>Gata, eu ter esquecido o dia do seu aniversário é culpa de um memory leak.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID1555839148'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID1555839148' style='display:none;'>
Diretamente relacionado a Garbage Collection, <a href="http://en.wikipedia.org/wiki/Memory_leak">memory leaks</a> ou <em>vazamentos de memória</em> acontecem quando dados são criados e nunca removidos, preenchendo a memória com dados inúteis lentamente (ou até rapidamente). Normalmente, dados que não são mais necessários só são efetivamente removidos da memória através do garbage collection quando não existem mais referências a eles. Esquecer de remover alguma referência leva aos tais vazamentos de memória, que podem até mesmo interromper a execução de um programa quando ocorrem em excesso.
</div>
<p><em>Gata, sua classe é final.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID751038748'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID751038748' style='display:none;'>
Em OOP, é comum extender uma classe através de um conceito chamado <a href="http://en.wikipedia.org/wiki/Inheritance_(computer_science)">herança</a>. No entanto, na maioria das linguagens OOP é possível criar uma classe que não pode ser extendida, nem usada como base para outra classe; neste caso, ela é considerada uma classe <em>final</em>. Esta é uma necessidade rara, no entanto.
</div>
<p><em>Gata, não tem longint grande o suficiente pra dizer o quanto eu gosto de você.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID1087672136'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID1087672136' style='display:none;'>
Em linguagens de programação, geralmente existem vários tipos de dados que podem ser armazenados em variáveis. Cada tipo possui um número máximo de bytes de memória que pode ocupar, em especial números, já que existe um limite nos números com que um computador pode lidar. Longint ou <a href="http://en.wikipedia.org/wiki/Long_integer">long integer</a> são tipos de dados que armazenam números inteiros <em>longos</em>. Como todos os tipos numéricos, variáveis desse tipo têm um valor máximo e mínimo &#8211; e bastante altos, neste caso.
</div>
<p><em>Gata, vou extender meu coração só pra fazer um override no toString() pra escrever seu nome nele.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID912768529'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID912768529' style='display:none;'>
Classes geralmente são extendidas quando se deseja adicionar novos recursos a ela. Este tipo de controle de herança e hierarquia é uma das bases da programação orientada a objetos. <em>Override</em> é o processo de se substituir um método que já existe na classe base, criando um novo método substituto na classe que a extende, efetivamente mudando o comportamento da classe. Já <em>toString()</em> é uma função bastante usada em ActionScript pra representar um objeto como texto.
</div>
<p><em>Gata, sua classe não tem clone().</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID868362646'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID868362646' style='display:none;'>
Algumas linguagens, talvez ActionScript em especial, implementam uma função chamada <em>clone()</em> que simplesmente duplica uma instância, criando um clone completo do objeto original. Certas classes especiais, no entanto, como a <a href="http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/Sprite.html">Sprite</a>, devido à sua complexidade interna, não possuem esta função.
</div>
<p><em>Gata, você implementa ILoveYou.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID1329056206'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID1329056206' style='display:none;'>
Além da possibilidade de se extender uma classe, em OOP também é bem comum a implementação de <a href="http://en.wikipedia.org/wiki/Interface_(computer_science)">interfaces</a> ou protocolos que declaram métodos ou propriedades que uma classe pode ter (sem relação com <em>interfaces gráficas</em>). Essas interfaces geralmente servem para <em>dar forma</em> a instâncias e permitir que elas sejam usadas como parâmetros em funções que exigem um tipo específico de objeto. Como convenção, classes que declaram interfaces começam com a letra <em>I</em>; por exemplo, em ActionScript, temos a <a href="http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/IBitmapDrawable.html">IBitmapDrawable</a>.
</div>
<p><em>Gata, todos os meus overloads têm você como parâmetro.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID562815881'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID562815881' style='display:none;'>
Um conceito não utilizado no ActionScript, <a href="http://en.wikipedia.org/wiki/Function_overloading">overloads</a> são funções diferentes que possuem o mesmo nome e que são executadas de acordo com os parâmetros de entrada da função. Assim, é possível ter uma função que executa dois conjuntos de comandos diferentes (embora com propósitos parecidos) dependendo dos tipos de parâmetros passados. É provável que ActionScript adote este recurso em breve, embora seja possível simulá-lo através de algumas gambiarras.
</div>
<p><em>Gata, meu dispose() é disparado automaticamente se sua referência for removida da instância.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID303401224'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID303401224' style='display:none;'>
É comum a inclusão de uma função <em>dispose()</em>, <em>destroy()</em>, <em>kill()</em> ou semelhante em certas classes que se utilizam de muitos dados internamente. O propósito da função geralmente é preparar uma instância para deleção, já se desfazendo de todos os seus dados e abrindo caminho para o garbage collector. Um exemplo em ActionScript é o <a href="http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/BitmapData.html">BitmapData.dispose()</a>.
</div>
<p><em>Gata, me diz qual o método da sua API que retorna seu coração.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID28414447'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID28414447' style='display:none;'>
API, ou <a href="http://en.wikipedia.org/wiki/API">Application Programming Interface</a>, é o conjunto de métodos, funções e propriedades usados para acessar uma biblioteca de classes pública. Como o nome <em>interface</em> diz, é todo o conjunto de membros para permitir o diálogo de um programa qualquer com um grupo de classes. É comum que programadores utilizem APIs de terceiros para a realização de diversas tarefas diferentes, ou para a utilização de funções que retornam os mais variados tipos de dados.
</div>
<p><em>Gata, sua instância é única.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID11075017'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID11075017' style='display:none;'>
Classes são como receitas de objetos. Inúmeros objetos, ou instâncias, podem ser criados a partir de uma única classe.
</div>
<p><em>Gata, quero te extender pra classe MyGirl.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID1726949659'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID1726949659' style='display:none;'>
Criar uma extensão de uma classe &#8211; processo chamado de <a href="http://en.wikipedia.org/wiki/Inheritance_(computer_science)">inheritance</a> ou herança &#8211; é um dos principais conceitos utilizados em programação orientada a objetos. Ele permite a criação de uma nova classe que herdam todos os métodos, funções e propriedades de uma classe base, mas com nova funcionalidade ou diferentes recursos.
</div>
<p><em>Gata, vamos fazer um composition que instancia nós dois.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID1539358167'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID1539358167' style='display:none;'>
Em contraponto à herança, <a href="http://en.wikipedia.org/wiki/Composition">composition</a> ou composição é quando um ou mais objetos são utilizados dentro de um novo objeto de outra classe, ao invés de extender a classe original. Assim, objetos mais simples &#8211; mais <em>baixo nível</em> &#8211; são utilizados na criação de objetos mais complexos, de nível mais alto. Por exemplo, um objeto da classe <em>Casal</em> poderia ser uma composição que conteria instâncias da classe <em>Homem</em> e da classe <em>Mulher</em> (ou equivalentes).
</div>
<p><em>Gata, depois que eu terminar com você, vão escrever um capítulo novo sobre você no Gang Of Four.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID1415268000'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID1415268000' style='display:none;'>
<a href="http://en.wikipedia.org/wiki/Design_Patterns_(book)">Gang of Four</a> é o nome comunemente dado ao livro, ou aos autores, do livro &#8220;Design Patterns: Elements of Reusable Object-Oriented Software&#8221;, um dos livros seminais na difusão dos conceitos de <a href="http://en.wikipedia.org/wiki/Design_pattern">design patterns</a> entre programadores. O livro contém inúmeros exemplos dos padrões mais comuns em OOP.
</div>
<p><em>Gata, depois que eu terminar com você, não vai ter refactoring que faça você me esquecer.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID1717740325'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID1717740325' style='display:none;'>
<a href="http://en.wikipedia.org/wiki/Refactoring">Refactoring</a> é o processo de mudança do design interno de uma classe sem mudança de sua <em>interface</em>, isto é, mudança do código sem mudança de funcionalidade ou recursos. Este processo geralmente é necessário para melhorar a performance de uma classe ou para resolver problemas inesperados.
</div>
<p><em>Gata, o unit testing de minha classe só retorna válido se ele te encontrar.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID1580311236'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID1580311236' style='display:none;'>
<a href="http://en.wikipedia.org/wiki/Unit_testing">Unit testing</a> é um processo de validação de código geralmente utilizado para se testar a confiabilidade de uma classe. Ele é realizado através da checagem da saída de funções e métodos baseado nos dados de entrada, ao invés da leitura do código em si; quando uma lista de resultados necessários é gerada, uma classe pode ser testada pra ver se passa nos testes com sucesso.
</div>
<p><em>Gata, depois de ser instanciada, deus removeu sua classe do repositório.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID569523389'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID569523389' style='display:none;'>
<em>Instanciar</em> é o processo de criar uma nova cópia de um objeto, ou <em>instância</em>, a partir de uma classe. Repositório é onde arquivos relacionados a um projeto são armazenados, geralmente através de um serviço como <a href="http://en.wikipedia.org/wiki/Concurrent_Versions_System">CVS</a> ou <a href="http://en.wikipedia.org/wiki/Subversion_(software)">Subversion</a>. Serviços desse tipo são bastante utilizados por times de programadores. Essa frase é meio que um equivalente de &#8220;depois que deus te fez, jogou a planta fora&#8221;.
</div>
<p><em>Gata, não tem encapsulamento que esconda o que eu sinto por você.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID1462031735'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID1462031735' style='display:none;'>
<a href="http://en.wikipedia.org/wiki/Encapsulation_(computer_science)">Encapsulation</a> ou encapsulamento é outro recurso chave de OOP, em referência à possibilidade de se <em>esconder</em> o funcionamento de uma parte do código dentro de uma classe. Esse tipo de separação faz com que projetos OOP possam ser montados de forma mais modular, sem que haja um diálogo muito grande entre diferentes classes &#8211; cada classe deve possuir uma funcionalidade própria e não interferir com o resto do projeto.
</div>
<p><em>Gata, não dá setar o que sinto por você pra null.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID1528205435'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID1528205435' style='display:none;'>
Setar algo para um valor <a href="http://en.wikipedia.org/wiki/Null_(computer_programming)">null</a> ou <em>nulo</em> geralmente significa remover uma referência a um objeto, efetivamente apagando-o, uma vez que objetos sem referência são removidos da memória pelo garbage collector.
</div>
<p><em>Gata, meu o command pattern tá preso em loveYou().</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID444456272'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID444456272' style='display:none;'>
Outro <a href="http://en.wikipedia.org/wiki/Design_pattern_(computer_science)">design pattern</a> clássico, um <a href="http://en.wikipedia.org/wiki/Command_pattern">command pattern</a> controla uma lista de ações que deve ser realizada de forma sequencial.
</div>
<p><em>Gata, minha paixão está em loop infinito.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID1388379459'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID1388379459' style='display:none;'>
Um dos tipos mais comuns de controle de fluxo dentro de um programa, um <a href="http://en.wikipedia.org/wiki/Control_flow#Loops">loop</a> é um conjunto de comandos que deve ser repetido diversas vezes de forma sequencial. Um tipo especialmente indesejado de loop é o <a href="http://en.wikipedia.org/wiki/Infinite_loop">loop infinito</a>, caracterizado por um bloco de código inescapável &#8211; geralmente causado por algum erro de programação &#8211; que acaba interrompendo a execução de um programa, uma vez que mantém o fluxo <em>preso</em> num mesmo ponto.
</div>
<p><em>Gata, todas as entradas do meu iterator apontam pra você.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID775920548'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID775920548' style='display:none;'>
<a href="http://en.wikipedia.org/wiki/Iterator_pattern">Iterator pattern</a> é um <a href="http://en.wikipedia.org/wiki/Design_pattern_(computer_science)">design pattern</a> geralmente utilizado para a leitura de dados de uma lista de forma sequencial.
</div>
<p><em>Gata, você não tem factory, é base class.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID433602000'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID433602000' style='display:none;'>
<a href="http://en.wikipedia.org/wiki/Factory_method_pattern">Factory</a> é um <a href="http://en.wikipedia.org/wiki/Design_pattern_(computer_science)">design pattern</a> para um tipo de classe que, como o nome diz, cria objetos de um tipo definido, como uma <em>fábrica</em>. Já uma <a href="http://en.wikipedia.org/wiki/Base_class">base class</a> ou superclass é uma classe que está no topo de sua hierarquia, e não herda funcionalidade de nenhuma outra classe, servindo ao invés como base para outras.<br/><br/>Note que nesta cantada os conceitos estão um pouco misturados em prol da liberdade poética.
</div>
<p><em>Gata, você provocou uma exceção no init() do meu coração.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID495750688'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID495750688' style='display:none;'>
Em OOP, exceções ou <em>exceptions</em> são acontecimentos fora do comum e inesperados, geralmente disparados por algum erro interno, pelo uso de propriedades ou parâmetros inválidos, ou por valores fora do limite permitido. Essas exceções devem ser tratadas através do <em>tratamento de exceções</em> ou <a href="http://en.wikipedia.org/wiki/Exception_handling">exception handling</a>.<br/><br/>Já <em>init()</em>, neste caso, é um nome de função arbitrário, geralmente utilizada para funções de inicialização de um objeto.
</div>
<p><em>Gata, não tem especificação que explique sua classe.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID502039471'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID502039471' style='display:none;'>
Especificações de classes são como receitas, criadas para definir tudo que uma classe deve fazer ou deixar de fazer, em especial dentro de um ambiente corporativo ou quando trabalhando em times. Um conceito mais genérico, a idéia aqui &#8211; também fruto da liberdade poética &#8211; foi dizer que a garota alvo da cantada tinha muita classe.
</div>
<p><em>Gata, você conseguiu acessar uma propriedade do meu coração que era protected até eu te conhecer.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID127471529'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID127471529' style='display:none;'>
Propriedades de classes podem ser de diversos tipos (também chamados de access modifiers) &#8211; públicas (public), privadas (private), protegidas (protected), etc. Essa definição diz respeito aos tipos de acesso que as propriedades permitem &#8211; propriedades privadas ou protegidas, por exemplo, não podem ser acessadas por nenhuma classe além da classe que as define (embora existam diferenças entre a interpretação destas definições de linguagem para linguagem).
</div>
<p><em>Gata, depois de te conhecer, deu um lock na instância do meu coração.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID1259892039'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID1259892039' style='display:none;'>
<em>Lock</em> (trancar) e <em>unlock</em> (destrancar) é algo que geralmente é feito em propriedades para impedir sua modificação, protegendo os dados lá contidos.
</div>
<p><em>Gata, não tem pattern que explique o que sinto por você.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID2123304897'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID2123304897' style='display:none;'>
Como dito acima, <a href="http://en.wikipedia.org/wiki/Design_pattern_(computer_science)">design patterns</a> são combinações comuns de classes &#8211; como <em>modelos</em> estruturais &#8211; que visam solucionar problemas rotineiros e frequentes em projetos OOP.
</div>
<p><em>Gata, meu try é pra dizer o que sinto por você, pra catch seu coração, e finally te conquistar.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID958293525'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID958293525' style='display:none;'>
<a href="http://en.wikipedia.org/wiki/Exception_handling_syntax#Java">Try&#8230;catch&#8230;finally</a> é o conjunto de blocos comunemente utilizado para <a href="http://en.wikipedia.org/wiki/Exception_handling">tratamento de exceções</a> em OOP para evitar erros num código; o código dentro do bloco <em>try</em> é algo a ser tentado; o(s) bloco(s) <em>catch</em> são utilizados para a execução de comandos específicos quando algum erro acontece durante o bloco try; e o bloco <em>finally</em> é para a definição de comandos que são executados após o teste.<br/><br/>Esta frase na verdade é a que mais abusa de liberdade poética, uma vez que, caso os comandos executados pelo bloco <em>try</em> tenham sucesso, o bloco <em>catch</em> é ignorado.
</div>
<p><em>Gata, quero adicionar um listener em todos os seus eventos.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID1191610392'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID1191610392' style='display:none;'>
Em OOP, é também bastante comum a utilização do pattern <a href="http://en.wikipedia.org/wiki/Observer_pattern">Observer</a>, que define a criação de objetos que contém <em>eventos</em> que são disparados quando uma condição é atingida, como o pressionar de uma tecla, o carregamento de um arquivo, ou um erro. Neste pattern, muito utilizado em programas que precisam de interação com o usuário, outros objetos podem assinar os eventos, virando assim <em>listeners</em>. Listeners são <em>notificados</em> quando um evento ocorre no objeto que o disparou, permitindo assim funcionamentos específicos baseados em eventos.
</div>
<p><em>Gata, você é tão única que seu prototype é private.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID36268213'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID36268213' style='display:none;'>
Em certas variantes de OOP, todos os objetos possuem um <em>prototype</em>, que é um objeto único que define os métodos e propriedades básicos de uma classe, comuns a todas as suas instâncias. Esse prototype geralmente pode ser publicamente acessado e modificado, tornando possível a uma classe a mudança de funcionalidades internas em tempo real, embora este seja um recurso pouco ortodoxo.
</div>
<p><em>Gata, todos os seus erros são fatais para meu coração.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID1787386396'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID1787386396' style='display:none;'>
Durante o tratamento de erros de execução de projetos OOP, em especial durante o <a href="http://en.wikipedia.org/wiki/Exception_handling">tratamento de exceções</a>, existem diversas categorias genéricas de erros que podem ocorrer, desde <em>warnings</em> (avisos meramente informativos) até <em>fatal errors</em> (<em>erros fatais</em>, que fazem com que o programa seja encerrado de forma prematura).
</div>
<p><em>Gata, espero a documentação que me ajude a conquistar seu coração.</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID599965892'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID599965892' style='display:none;'>
Em OOP, talvez em especial após a criação de bibliotecas de uso público, a <a href="http://en.wikipedia.org/wiki/API_documentation">documentação</a> é peça de extrema importância para a utilização eficaz de código criado por terceiros. É na documentação que estão listadas as classes e suas propriedades, métodos e funções. Documentação de projetos OOP geralmente é gerada de forma automática, através de ferramentas como <a href="http://en.wikipedia.org/wiki/Javadoc">javadoc</a> ou <a href="http://livedocs.adobe.com/flex/201/html/asdoc_127_1.html#121714">asdoc</a>, mas ainda dependendo de intervenção humana para a descrição do propósito e ação de cada método, classe, função ou propriedade.
</div>
<p><em>Gata, universo = universo.replace(/([\.-,;\s]+s|^s)o(l$|l[\.-,;\s])/im, &#8220;você&#8221;);</em> <a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID787306961'), this, '&#9660;', '&#9650;');">&#9660;</a></p>
<div class='spoilerBlock' id='SID787306961' style='display:none;'>
Talvez não OOP, esta é uma última cantada baseada em <a href="http://en.wikipedia.org/wiki/Regular_expression">regular expressions</a> ou expressões regulares (RegExp para os íntimos). Regular expressions é uma sintaxe utilizada para a procura e substituição de texto de forma mais avançada, indo além de simplesmente &#8220;substituir x por y&#8221;. A expressão descrita na frase visa substituir a palavra &#8220;sol&#8221; por &#8220;você&#8221; em qualquer texto, desde que seja uma palavra separada (para evitar a substituição de &#8220;sol&#8221; no meio de outras palavras, como &#8220;solidão&#8221;). Já <a href="http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/String.html#replace()">replace()</a> é a função utilizada em ActionScript para efetuar a substituição de texto através de regular expressions.<br/><br/>A idéia aqui era basicamente querer dizer &#8220;meu mundo gira em torno de você&#8221;, já que substitui a palavra &#8220;sol&#8221; por &#8220;você&#8221; numa variável chamada &#8220;universo&#8221;. Não cheguei a testar e é capaz de que tenha algum erro na expressão.
</div>
</div>
<p>Nota final: não garanto a eficácia de nenhuma das cantadas listadas acima. Use por sua própria conta e risco.</p>
<p>E, por favor, não leve a sério.</p>
]]></content:encoded>
			<wfw:commentRss>http://pessoal.zehfernando.com/2009/aprenda-programacao-orientada-a-objetos-no-dia-dos-namorados/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Se vendêssemos pizzas como produzimos sites (10 anos depois)</title>
		<link>http://pessoal.zehfernando.com/2009/se-vendessemos-pizzas-como-produzimos-sites-10-anos-depois/</link>
		<comments>http://pessoal.zehfernando.com/2009/se-vendessemos-pizzas-como-produzimos-sites-10-anos-depois/#comments</comments>
		<pubDate>Thu, 07 May 2009 21:09:22 +0000</pubDate>
		<dc:creator>Zeh</dc:creator>
				<category><![CDATA[crônicas]]></category>
		<category><![CDATA[memória]]></category>
		<category><![CDATA[trampo]]></category>

		<guid isPermaLink="false">http://pessoal.zehfernando.com/?p=141</guid>
		<description><![CDATA[Senta que lá vem a história. Eu não gosto de falar mal de lugares em que trabalhei, e felizmente, não tenho muitos motivos pra isso. Ao contrário, tive a sorte de trabalhar em (ou para) diversos lugares fenomenais, com pessoas (&#8230;)</p><p><a href="http://pessoal.zehfernando.com/2009/se-vendessemos-pizzas-como-produzimos-sites-10-anos-depois/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Senta que lá vem a história.</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/Ejg5JBK3n0w&#038;hl=en&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Ejg5JBK3n0w&#038;hl=en&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p>Eu não gosto de falar mal de lugares em que trabalhei, e felizmente, não tenho muitos motivos pra isso. Ao contrário, tive a sorte de trabalhar em (ou <em>para</em>) diversos lugares fenomenais, com pessoas fantásticas, e poderia ficar falando dias sobre o assunto. No entanto, tem um lugar em específico onde trabalhei que me rendeu péssimas experiências; vou citá-lo aqui brevemente porque faz parte do contexto, então não me levem a mal. E nem importa muito, porque o lugar já fechou há anos mesmo.</p>
<p>Lá pros idos de 1999, eu trabalhava no departamento de produção web numa agência de propaganda. Era um trabalho bem ruim &#8211; não só porque era ainda o começo na Internet no Brasil (quando poucos clientes sequer tentavam <em>entender</em> a Internet) mas porque esta agência em específico tinha como uma de suas principais características abrir as pernas pra qualquer que fosse a vontade do cliente.</p>
<p>Nessa época, atendíamos um certo cliente que, devido ao fato de ser o principal cliente da agência, deitava e rolava na hora de pedir algum trabalho. Eram inúmeras &#8220;versões&#8221; de trabalhos que eram feitas, e inúmeros representantes do cliente envolvidos com a aprovação de qualquer coisa. Parecia um episódio dos Cavaleiros do Zodíaco, quando após derrotar um inimigo (diretor X) que em teoria era o mais forte do universo (mais chefe), surgia algum outro que era ainda mais forte (diretor Y), seguindo uma corrente interminável de aprovações. E sabe quando tem aquele cliente que não aprova algo porque a mulher dele não gosta de amarelo, e o site tem amarelo? Então. Esse cliente. Grande, trabalhando com tecnologia, conhecido nacionalmente, mas ainda assim, um cliente mala, em parte por culpa de como o <em>atendimento</em> era feito dentro da agência &#8211; que era basicamente fazer o que for que o cliente mandasse, afinal, ele estava <em>pagando</em>.</p>
<p>Obviamente, quem se fodia nesse cenário eram os peões que tinham de ralar fazendo trabalhos que seriam recusados pelos motivos mais esdrúxulos. Eu era um destes peões.</p>
<p>Nós levávamos tudo na esportiva. Reclamávamos mas fazíamos o trabalho, trabalhando madrugadas e finais de semana, mesmo que fosse pra algo que sabíamos que era a décima versão (sem exageros) de algo péssimo. Até que um dia, não podendo mais me conter, escrevi, com a ajuda e sugestões do Alessandro Straccia, do Ivan Clever e do Giuliano Arsati (que trabalhavam comigo), um texto intitulado &#8220;Se vendêssemos pizzas como produzimos sites&#8221;, carinhosamente chamado de <em>pizza.txt</em>. Era um texto bem chulo, sem muita revisão, mas que retratava nosso dia-a-dia de trabalho através de analogias com o trabalho de uma pizzaria, deixando claro o quão surreais eram algumas das situações pelo qual passávamos. A maioria das situações citadas eram relacionadas a esse cliente que citei acima, mas tentamos fazer um apanhado geral da nossa área de trabalho.</p>
<p>Nessa época, eu também estava num momento experimental, tentando iniciar mensagens <em>virais</em> de forma anônima. Às vezes, deixar algo desse tipo sem assinatura ao ser distribuido funciona melhor pra popularizar do que deixar com o nome assinado. Sabe quando hoje em dia alguém escreve algum email reclamando de algo e assina &#8220;Millôr Fernandes&#8221;, &#8220;Arnaldo Jabor&#8221;, essas coisas, só porque quer transformar o email em corrente e sabe que vai ter mais credibilidade dessa forma? Então, é algo parecido (mas menos cretino, já que era <em>só</em> anônimo, ao invés de roubar o nome de alguém).</p>
<p>Foi assim que decidi divulgar o texto. Copiei ele inteiro pra um email que mandei na famosa lista WD (iniciada pelo Michel Lent em, sei lá, 1996, acho). Essa lista era <em>a</em> lista de discussão da Internet brasileira à época (antes do racha que teve devido a discussões e da divisão em listas específicas, ou da reencarnação em outros formatos). Não assumi a autoria do texto &#8211; se bem me lembro, eu disse no corpo da mensagem que &#8220;achei por aí&#8221; ou que &#8220;um amigo me mandou&#8221; &#8211; e, após o envio, vi ele se alastrar rapidamente, como fogo selvagem, em outras listas de discussão, e até ser re-enviada algumas vezes na própria lista WD. Missão cumprida.</p>
<p>Até existiram outras alegorias que escrevi e distribuí de forma parecida, mas nenhuma teve tanto sucesso (ou foi tão boa, pra ser sincero) quanto essa da pizzaria. Foi com satisfação que fiquei sabendo, bem depois do ocorrido, que ela foi inserida no livro &#8220;<a href="http://www.luli.com.br/dwd2/">Design/web/design:2</a>&#8220;, de <a href="http://www.luli.com.br/">Luli Radfahrer</a> (publicado em 2000) e atribuída a um &#8220;Autor desconhecido&#8221;. Embora a versão publicada tenha sido alterada (se me lembro bem, era uma versão encurtada, mais concisa), o livro, obviamente, ajudou a disseminar o seu conteúdo, então não é surpresa <a href="http://rodrigowebdesign.com/blog/2007/05/30/se-vendessemos-pizzas-como-produzimos-sites/">que</a> <a href="http://mercadobinario.blogspot.com/2009/03/esta-fora-da-onda-da-internet-o-erro-e.html">várias</a> <a href="http://ricardor.blogspot.com/2003_08_31_archive.html">pessoas</a> ainda citem esse texto em blogs.</p>
<p>É um certo orgulhinho secreto. Se fosse assinado por alguém, duvido que o texto teria se propagado da forma como se propagou. Parte do charme da coisa era o fato de ser anônimo, e se alguém anunciasse a autoria do treco aos quatro ventos, acabaria soando meio prepotente. É tipo comer a Luana Piovani e não poder falar pra ninguém. Mas, como já fazem uns 10 anos do ocorrido, e duvido que muita gente vai ler isso aqui, fica aqui finalmente a confidência.</p>
<p>Eu andei procurando o texto original nos meus backups antigos desorganizados e não achei, e me parece que não existem arquivos da lista WD original online. Fica, então, difícil de comprovar a autoria. Mas, pra ser sincero, acho que nem importa muito; quem quiser acredita, e quem não quiser, pode deliciar-se assim mesmo com o texto, que continua, infelizmente, atual.</p>
<p>Na ausência do <em>txt</em> original, segue abaixo uma das versões que achei <a href="http://ricardor.blogspot.com/2003_08_31_archive.html">num site</a>; não tenho certeza de que é a versão original (completa), mas acho que sim, a julgar pela ausência de acentos em algumas palavras (nessa época eu estava fazendo a transição de escrever textos em <a href="http://pt.wikipedia.org/wiki/BBS">BBSs</a> pra escrever textos da forma correta, então esquecia de acentuar boa parte do que escrevia) e alguns outros detalhes estranhos.</p>
<blockquote><p>SE VENDÊSSEMOS PIZZAS COMO PRODUZIMOS SITES&#8230;</p>
<p>Imaginem as seguintes situações:</p>
<p>* O cliente liga pra gente pedindo uma pizza e esta mais preocupado com a aparência da pizza do que o conteúdo real dela.</p>
<p>* No meio do trabalho de confecção da pizza, o cliente liga pedindo pra você mandar pra ele um preview de como esta ficando a pizza para a aprovação (ou desaprovacao) dele.</p>
<p>* Após o cliente acima receber a pizza-preview, ele pede pra fazer &#8220;uma pequena alteraçãozinha&#8221;, substituir a mussarela amarela por mussarela verde, simplesmente porque ele gosta mais de verde. Isso faz com que você tenha de jogar a pizza antiga fora e produzir uma nova, que alem de dar mais trabalho ficara bem mais feia.</p>
<p>* O cliente te liga numa noite qualquer pedindo 500 pizzas para serem feitas em 15 minutos, pois ele tem uma festa pra ser iniciada e resolveu te ligar só agora.</p>
<p>* Você destaca seus melhores pizzaiolos pra atender a esse cliente porque seu pedido é &#8216;mais importante&#8217; e deixa as pizzas dos outros clientes de lado, o que faz com que todos eles liguem pra reclamar que a pizza deles não esta pronta dentro do prazo.</p>
<p>* Após você produzir quase todas as pizzas do cliente acima, ele te liga avisando que não precisa mais de pressa porque ele errou a hora. Na verdade, você ainda tinha 4 horas pra produzir as pizzas.</p>
<p>* O cliente te pede pra colocar as azeitonas de forma simétrica de modo a dar destaque à area central da pizza, que afinal é a area mais importante do disco e é a primeira area que o cara que for comer a pizza deverá ver ao bater o olho nela.</p>
<p>* O cliente ouve falar de um novo &#8220;ingrediente da moda&#8221; e simplesmente se convence de que sua pizza devera ter esse ingrediente, apesar do ingrediente ser inútil nesse caso e só dar mais dor de cabeça pra ser implementado.</p>
<p>* O cliente pede uma entrega urgente que precisa ficar pronta em 2 minutos. Após você usar os seus melhores pizzaiolos, até contratar pizzaiolos freelancers pra fazer o serviço e atrasar novamente os outros servicos, você faz a entrega pro cliente e ele demora 4 horas pra começar a comer as pizzas.</p>
<p>* Ele pede que a pizza funcione perfeitamente mesmo pra quem gosta de pizzas pequenas, medias ou grandes, sem saber que isso demanda no triplo de esforço necessário, e não quer saber de pagar a maispor isso.</p>
<p>* Você faz uma pizza maravilhosa e entrega pro cliente, e ele então liga pra você pra reclamar que ele não tem garfo e faca, que são necessários pra comer a pizza.</p>
<p>* Um possivel cliente te liga pra pedir uma pizza e quando você pergunta que pizza que ele quer, ele te responde que não sabe, que só quer uma pizza porque todo mundo que ele conhece tem uma.</p>
<p>* O cliente te liga, pede uma pizza super incrementada e trabalhada, e simplesmente não entende como você pode cobrar tão caro por essa pizza, sendo que o boteco da esquina dele faz uma pizza por bem menos.</p>
<p>* Outro cliente te liga e pede uma pizza e fica abismado com o preço que você que cobrar pela pizza, e ele te diz que o sobrinho dele faz uma pizza por um décimo do preço que você pede (ele usa um template de pizza semi-pronta comprada no Carrefour).</p>
<p>* O cliente te liga e pede uma pizza linda, mas avisa que ja pediu a mesma pizza pra 5 outras pizzarias e só pagara a que ele gostar mais.</p>
<p>* O cliente te liga e pede que a pizza dele tenha todos os ingredientes possíveis e imagináveis que você tem no seu estoque, mesmo os mais absurdos possíveis, achando que isso fará a pizza mais atrativa a quem for come-la.</p>
<p>* O cliente pede a pizza, sem problema nenhum, mas você não poderá entrega-la por motivos de segurança. Ele não quer que você entre na casa dele, então você terá de entrega-la na casa do agente de segurança dele, que mora do outro lado da cidade, que então a entregara pro cliente&#8230;que mora do lado da pizzaria.</p>
<p>* O cliente não tem amigos americanos, nem espanhóis e nem nada em casa, mas mesmo assim te pede que você mande uma pizza com versões em inglês, espanhol, japonês, javanês, svenska, paquistanês, francês e gaulês.</p></blockquote>
<p>Cru, mas meu melhor momento Luís Fernando Veríssimo.</p>
<p>Como nota de rodapé, pra ser sincero, alguns dos itens citados aí são de situações bastante específicas, então pode ficar difícil de sacar &#8211; por exemplo, o item &#8220;ingrediente da moda&#8221; citado acima era uma crítica direta ao fato do tal cliente querer um site em Flash com uma tecnologia caríssima que existia na época (Flash Generator) pra uma aplicação consideravelmente inútil (usuário poder mudar a cor de fundo da página!), quando o site dele funcionaria muito melhor se fosse em HTML. É também a razão pela qual alguns itens foram alterados ou excluídos do livro do Luli, acho.</p>
<p>E quem tiver mais informações sobre o arquivo da lista WD, pra ver se a gente consegue localizar o original disso, fique à vontade pra postar nos comentários.</p>
<p><strong>Update:</strong> Luli Radfahrer postou <a href="http://www.luli.com.br/2009/05/13/dois-novos-artigos-alguns-textos-antigos-e-coisas-que-pouco-mudam/">um pequeno update sobre o texto</a> em seu blog. Valeu!</p>
]]></content:encoded>
			<wfw:commentRss>http://pessoal.zehfernando.com/2009/se-vendessemos-pizzas-como-produzimos-sites-10-anos-depois/feed/</wfw:commentRss>
		<slash:comments>41</slash:comments>
		</item>
	</channel>
</rss>

