<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>blog do chester</title>
	
	<link>http://chester.blog.br</link>
	<description>tecnologia, livros, quadrinhos, matemática, web, política, software e tudo que me der na telha</description>
	<lastBuildDate>Wed, 18 Jan 2012 02:57:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/chesterbr" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="chesterbr" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Lose It! – perca peso controlando o que você come</title>
		<link>http://chester.blog.br/archives/2012/01/lose-it-perca-peso-controlando-o-que-voce-come.html</link>
		<comments>http://chester.blog.br/archives/2012/01/lose-it-perca-peso-controlando-o-que-voce-come.html#comments</comments>
		<pubDate>Wed, 04 Jan 2012 02:53:35 +0000</pubDate>
		<dc:creator>chester</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chester.blog.br/?p=6748</guid>
		<description><![CDATA[Não sou nenhum caso de obesidade mórbida, mas desde uma ocasião em 2007 (na qual achei que ia morrer durante uma partida de DDR), comecei a cuidar melhor da alimentação e da saúde no geral. É possível fazer isso de várias formas, mas monitorar o peso é uma das mais objetivas. E é fácil de [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://chester.blog.br/wp-content/uploads/2012/01/loseit.png" ><img src="http://chester.blog.br/wp-content/uploads/2012/01/loseit.png" alt="Logotipo Lose It!" title="Logotipo Lose It!" width="136" height="136" class="alignright size-full wp-image-6749" /></a>Não sou nenhum caso de obesidade mórbida, mas desde uma ocasião em 2007 (na qual achei que ia morrer durante uma partida de DDR), comecei a cuidar melhor da alimentação e da saúde no geral. É possível fazer isso de várias formas, mas monitorar o peso é uma das mais objetivas. E é fácil de acompanhar: basta ter uma balança em casa (e por <a href="http://compare.buscape.com.br/proc_unico?id=7216&#038;kw=balanca+digital" class="aga aga_6">menos de 50 mangos</a> dá pra comprar uma digital), e registrar todo dia em uma planilha.</p>
<p>Com isso dá pra gerar um <a href="http://chester.blog.br/gordo" >gráfico</a> e pisar no freio da comida/acelerador da atividade física sempre que a curva sobe demais. Esta diligência não me impediu de fechar 2011 com uns oito a dez quilos acima do peso ideal, mas tenho certeza que estaria bem pior sem ela. E para matar esse peso extra nos próximos meses, me convenci de que, além de registrar o peso, era importante ter noção do que eu comia.</p>
<p>Novamente eu precisava de uma medida numérica, e para comida, estamos falando de calorias. Mas se já é complicado anotar/planilhar tudo o que se come (mesmo com celular e computador), saber o valor nutricional de cada coisa é ainda mais difícil. Não é à toa que vários websites e aplicativos surgiram para dar conta dessa missão, e o <a href="http://loseit.com" class="aga aga_7">Lose It!</a> foi o meu escolhido.</p>
<p><a href="http://itunes.apple.com/us/app/lose-it!/id297368629?mt=8" class="aga aga_8"><img src="http://chester.blog.br/wp-content/uploads/2012/01/loseit_iphone.jpg" alt="Lose It! iOS" title="Lose It! iOS" width="167" height="240" class="alignleft size-full wp-image-6755" /></a>Ele começou como um (fantástico) <a href="http://itunes.apple.com/us/app/lose-it!/id297368629?mt=8" class="aga aga_9">aplicativo para iOS</a>, e evoluiu para um site igualmente bacana: o banco de dados de alimentos é bem completo, mas é bem fácil cadastrar comidas novas ou pratos de restaurantes. A interface é excelente, tanto no site quanto no aplicativo (que se sincronizam), e a tudo isso se acrescenta uma rede social bem configurável, que permite compartilhar (ou esconder) qualquer aspecto da sua dieta.</p>
<p>Eu achava que seria impossível cadastrar tudo o que eu como (mesmo restringindo a comidas que, de fato, tenham calorias), mas uma vez que as comidas mais comuns já estejam lá, a busca dinâmica permite acrescentar refeições completas em poucos segundos. O sistema divide o dia em quatro blocos (café da manhã, almoço, jantar e lanches), facilitando a visualização.</p>
<p>Acabei abandonando a planilha e usando ele também para registrar o peso. Isso permite determinar objetivos e estabelecer um &#8220;orçamento&#8221; de calorias diárias. O site vai acompanhando a perda de peso, e estima a data em que você vai chegar ao objetivo. E à medida em que você vai alimentando o sistema, mais e mais gráficos e relatórios interessantes aparecem. Para arrematar, é possível cadastrar exercícios, considerando o impacto deles sobre a evolução do peso.</p>
<p><a href="http://chester.blog.br/wp-content/uploads/2012/01/loseit_site.png" ><img src="http://chester.blog.br/wp-content/uploads/2012/01/loseit_site.png" alt="O forte do Lose It! é o feedback" title="O forte do Lose It! é o feedback" width="200" height="397" class="alignright size-full wp-image-6759" /></a>Um ponto negativo é ele não suportar o sistema métrico. Mas isso é um problema menor, já que quase sempre a gente lança o consumo em copos, xícaras, doses e outras medidas desse tipo. O mais chato é entrar o peso, mas aí o Google Calculator resolve: uma busca como &#8220;80 kg to lbs&#8221; dá o valor correto na hora, aí é só copiar e colar.</p>
<p>Algumas pessoas também podem ter dificuldade com os alimentos em inglês &#8211; mas o cadastro é tão rápido (basta obter a quantidade de calorias na embalagem ou no Google) que dá pra se virar cadastrando por conta. O que mais me chateou, no entanto, é que o <a href="https://market.android.com/details?id=com.fitnow.loseit&#038;hl=pt_BR" class="aga aga_10">aplicativo Android</a> não pode ser baixado no Market do Brasil.</p>
<p>Críticas à parte, é um sistema <strong>gratuito</strong> que me atendeu muito bem. Estou realmente confiante em conseguir resultados &#8211; se isso vai acontecer mesmo, só o tempo e a balança dirão. Quem quiser conferir pode se cadastrar e acompanhar o <a href="http://www.loseit.com/index.jsp#Friends:Profile!id=1672022|name=Chester" class="aga aga_11">meu perfil</a>. Afinal, a minha vida é sempre um livro aberto &#8211; mesmo que eventualmente se trate de um livro de culinária&#8230;</p>

<p><a href="http://feedads.g.doubleclick.net/~a/mmByIIToozZyAjwSeMCcICteRs8/0/da"><img src="http://feedads.g.doubleclick.net/~a/mmByIIToozZyAjwSeMCcICteRs8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/mmByIIToozZyAjwSeMCcICteRs8/1/da"><img src="http://feedads.g.doubleclick.net/~a/mmByIIToozZyAjwSeMCcICteRs8/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://chester.blog.br/archives/2012/01/lose-it-perca-peso-controlando-o-que-voce-come.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Exposição Game On no Museu da Imagem e do Som (MIS)</title>
		<link>http://chester.blog.br/archives/2011/12/exposicao-game-on-no-museu-da-imagem-e-do-som-mis.html</link>
		<comments>http://chester.blog.br/archives/2011/12/exposicao-game-on-no-museu-da-imagem-e-do-som-mis.html#comments</comments>
		<pubDate>Sun, 04 Dec 2011 23:42:00 +0000</pubDate>
		<dc:creator>chester</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chester.blog.br/?p=6719</guid>
		<description><![CDATA[A Game On é uma exposição de origem inglesa sobre a história dos jogos eletrônicos, que visitei no último sábado e gostei bastante. É muito completa e detalhada, apresentando desde os primeiros protótipos até jogos da atualidade, mas o diferencial é a interatividade: a idéia é que os participantes joguem de verdade, sempre que possível [...]]]></description>
			<content:encoded><![CDATA[<p>A <em>Game On</em> é uma exposição de <a href="http://www.barbican.org.uk/bie/exhibitions/game-on" class="aga aga_30">origem inglesa</a> sobre a história dos jogos eletrônicos, que visitei no último sábado e gostei bastante. É muito completa e detalhada, apresentando desde os primeiros protótipos até jogos da atualidade, mas o diferencial é a interatividade: a idéia é que os participantes joguem de verdade, sempre que possível no hardware real, proporcionando uma imersão que remakes e emuladores não permitem alcançar.</p>
<p><a href="http://www.youtube.com/watch?v=BOiq9BSH6AA" class="aga aga_31"><img src="http://chester.blog.br/wp-content/uploads/2011/12/gameon.png" alt="Exposição Game On" title="Exposição Game On" width="546" height="225" class="aligncenter size-full wp-image-6720" /></a></p>
<p>Na abertura você já se depara com uma máquina de <a href="http://pt.wikipedia.org/wiki/Spacewar!" class="aga aga_32">Spacewar</a> e uma de <a href="http://pt.wikipedia.org/wiki/Pong" class="aga aga_33">Pong</a>. Deu uma pequena frustração porque nenhuma estava funcionando (apesar de haver um emulador do último projetando na parede), mas só de tocar os controles e ficar em frente a elas já deu para reproduzir a sensação de época como nenhum texto ou documentário permitiria.</p>
<p>Dali pra frente, no entanto, é interatividade total: na primeira área (dedicada aos primeiros arcades) foi obrigatório jogar <a href="http://en.wikipedia.org/wiki/Asteroids_%28video_game%29" class="aga aga_34">Asteroids</a> (que controla diretamente o canhão do tubo de TV ao invés de seguir o padrão de <em>scanlines</em>, o que resulta em um visual ímpar), <a href="http://en.wikipedia.org/wiki/Pac-Man" class="aga aga_35">Puck-Man</a> (o original japonês do Pac-Man, ainda que a maior diferença esteja na decoração do arcade, com o Pac-Man narigudão) e vários outros.</p>
<p>As outras áreas são bem diversificadas em termos de épocas, estilos e lugares. Os formatos também variam: tem consoles, computadores pessoais, portáteis, brinquedos eletrônicos, mini-games, enfim, todo o tipo de parafernália, rodando jogos dos mais diversos gêneros. É bem bacana poder brincar com tudo o que a idade, local de nascimento, escolha de plataforma ou grana não permitiram, o que deve tornar a exposição única para cada participante.</p>
<p>Não vou negar que eu e a <a href="http://baniverso.com/" class="aga aga_36">Bani</a> olhamos metodicamente cada um dos brinquedos, e paramos em todos que tinham algum significado (e vaga). Foi divertido jogar a dois toda a carreira &#8220;pré-Super&#8221; do Mário (<a href="http://www.youtube.com/watch?v=EhFV5-qbbIw" class="aga aga_37">Donkey Kong</a> no arcade e <a href="http://www.youtube.com/watch?v=sB_U4_7S1IM&#038;feature=related" class="aga aga_38">Mario Bros</a>. em um <a href="http://www.pcworld.com/article/148391/inside_nintendos_classic_game_console.html" class="aga aga_39">Famicom</a>), além de tirar a curiosidade que eu tinha sobre o <a href="http://en.wikipedia.org/wiki/Speak_%26_Spell_%28toy%29" class="aga aga_40">Speak &#038; Spell</a>, brincar com o <a href="http://en.wikipedia.org/wiki/Lemmings_%28video_game%29" class="aga aga_41">Lemmings</a> num <a href="http://pt.wikipedia.org/wiki/Amiga" class="aga aga_42">Amiga</a>, ver quão pequenininho é um <a href="http://en.wikipedia.org/wiki/ZX81" class="aga aga_43">ZX81</a> original, digitar alguns comandos no <a href="http://www.youtube.com/watch?v=ZVEpv0S3bW4" class="aga aga_44">adventure do Guia do Mochileiro das Galáxias</a> rodando em um IBM-PC, e até modernidades como o <a href="http://www.youtube.com/watch?v=7zuZVnXffVc&#038;feature=related" class="aga aga_45">Child of Eden</a>. E claro, joguei <a href="http://chester.blog.br/archives/2008/04/ddr_hottest_party.html" >DDR</a> em mais um lugar! :-)</p>
<p>Alguns poucos equipamentos estavam em manutenção, mas a maior parte estava em pleno funcionamento. Uma dica: se o jogo precisa de interação com o console (ex.: apertar o GAME SELECT ou GAME RESET num Atari), procure por fendas nas laterais dos paineis disponibilizando estes botões &#8211; a gente deixou de jogar um ou dois até perceber este detalhe.</p>
<p>Como fomos no sábado, estava um pouquinho cheio, mas nada que impedisse de jogar &#8211; por mais que os pais trintões e quarentões tentassem mostrar para os filhos o que eles curtiam na época, a molecada focava mesmo nos jogos &#8220;modernos&#8221;, liberando os clássicos que nos interessavam. Pelo preço da entrada (inteira a R$ 10) vale a pena conferir os <a href="http://www.mis-sp.org.br/icox/icox.php?mdl=mis&#038;op=programacao_interna&#038;id_event=825" class="aga aga_46">dias e horários</a> e voltar quando estiver mais vazio, já que a exposição vai até Janeiro. Sai mais barato que qualquer fliperama e, <a href="http://www.threadless.com/product/1397/Grandpa_Cassette" class="aga aga_47">mimimi de velho</a> à parte, pode ser bem mais divertido.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/zXFwIHt3tSOLDrjOLueJgWxQfBI/0/da"><img src="http://feedads.g.doubleclick.net/~a/zXFwIHt3tSOLDrjOLueJgWxQfBI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/zXFwIHt3tSOLDrjOLueJgWxQfBI/1/da"><img src="http://feedads.g.doubleclick.net/~a/zXFwIHt3tSOLDrjOLueJgWxQfBI/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://chester.blog.br/archives/2011/12/exposicao-game-on-no-museu-da-imagem-e-do-som-mis.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>O que eu quero MESMO ganhar no Natal</title>
		<link>http://chester.blog.br/archives/2011/11/o-que-eu-quero-mesmo-ganhar-no-natal.html</link>
		<comments>http://chester.blog.br/archives/2011/11/o-que-eu-quero-mesmo-ganhar-no-natal.html#comments</comments>
		<pubDate>Sat, 12 Nov 2011 20:36:01 +0000</pubDate>
		<dc:creator>chester</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chester.blog.br/?p=6657</guid>
		<description><![CDATA[Amigos e familiares que eventualmente estejam pensando em me presentear no Natal que se aproxima: eu fico muito feliz com isso, juro. Mas ficarei ainda mais feliz se eu não ganhar um presente. Existe uma explicação científica para isso, mas vocês merecem uma satisfação mais pessoal. Fato: é complicado presentear, por mais que a gente [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://willyrenan.wordpress.com/2009/12/24/papai-noel-foi-inventado-pela-coca-cola-mito-ou-realidade/" class="aga aga_53"><img src="http://chester.blog.br/wp-content/uploads/2011/11/papai_noel_coca_cola.jpg" alt="A Coca-Cola inventou o Papai Noel? Clique e saiba!" title="A Coca-Cola inventou o Papai Noel? Clique e saiba!" width="221" height="199" style="float:right; border:1px solid black" /></a>Amigos e familiares que eventualmente estejam pensando em me presentear no Natal que se aproxima: eu fico muito feliz com isso, juro. Mas ficarei ainda mais feliz se eu <b>não</b> ganhar um presente. Existe uma <a href="http://chester.blog.br/archives/2010/12/scroogenomics-a-economia-dos-presentes.html" >explicação científica</a> para isso, mas vocês merecem uma satisfação mais pessoal.</p>
<p>Fato: é complicado presentear, por mais que a gente ache que conheça a pessoa. Você perde um tempão, gasta um dinheirão, e muitas vezes não atinge o resultado esperado. Que tal, ao invés disso, usar esse tempo e dinheiro para ajudar alguém que esteja precisando muito mais do que eu ou vocês?</p>
<p>Não pensem que estou sendo mal-agradecido (ou que vou ficar triste com quem optar por me presentear). O fato é que eu acredito que a redução do sofrimento (pessoal ou alheio) está <a href="http://mude.nu/mente/budismo-busca-felicidade-contra-sofrimento/" class="aga aga_54">intimamente ligada à iluminação e à busca pela felicidade</a>. E nada me deixaria mais agradecido do que um esforço no sentido de reduzir &#8211; um pouquinho que seja &#8211; do sofrimento neste mundo. E eu seria injusto se não deixasse isso claro para todos.</p>
<p>Se vocês acham que é mais fácil comprar um presente, tudo bem. Mas eu duvido: o que não falta é gente precisando de ajuda. A escolha fica a seu critério, mas eu optaria por ajudar uma entidade que promova o bem-estar social (mais do que oferecer assistencialismo não-sustentável) e que não tenha conexão com qualquer religião (durmo melhor sabendo que meu dinheiro está sendo empregado em ações concretas, e não para promover este ou aquele dogma).</p>
<p>Organizações que eu já ajudei incluem a <a href="https://www.eff.org/" class="aga aga_55">EFF</a> (que defende direitos civis em um mundo cada vez mais digital) e a <a href="http://chester.blog.br/archives/2008/09/kiva.html" >Kiva</a> (que faz microcrédito, ou seja, empresta dinheiro para gente simples, que trabalha por conta e precisa investir pequenas quantias nisso). Não sei de organizações no Brasil que façam esse tipo de coisa &#8211; se alguém souber, por favor me diga!</p>
<p>Se preferirem fazer uma coisa mais &#8220;hands-on&#8221;, mais com cara de natal, uma opção é ajudar o <a href="http://chester.blog.br/archives/2006/12/papai_noel_dos_correios.html" >Papai Noel dos Correios</a>: vocês escolhem uma carta, providenciam o presente/resposta, e os Correios cuidam da entrega. Esta atitude, embora não seja tão eficiente quanto o que uma instituição faria, leva um pouco de alegria para uma família que provavelmente estava precisando bastante.</p>
<p>Outra idéia é ajudar a manter produções culturais e artísticas que você consome gratuitamente ao longo do ano. A <a href="http://en.wikipedia.org/wiki/Main_Page" class="aga aga_56">Wikipedia</a> é um deles (e <a href="http://wikimediafoundation.org/w/index.php?title=WMFJA085/pt&#038;utm_source=donate&#038;utm_medium=sidebar&#038;utm_campaign=20101204SB002&#038;language=pt&#038;uselang=pt&#038;country=BR&#038;referrer=http%3A%2F%2Fpt.wikipedia.org%2Fwiki%2FWikip%25C3%25A9dia%3AP%25C3%25A1gina_principal" class="aga aga_57">explica bem</a> por que é razoável contribuir), e basta prestar atenção quando você navega que vai encontrar outros. Devo atualizar este post com outros sites que me vierem à cabeça, mas convido o leitor a dar sugestões no campo de comentários abaixo.</p>
<p>Qualquer que seja a sua escolha, eu agradeço de verdade. Se tem alguma coisa muito melhor do que desejar um &#8220;Feliz Natal&#8221;, sem dúvida é ajudar a construir um!</p>

<p><a href="http://feedads.g.doubleclick.net/~a/SOGnA3izRxeetA1drRSKV8I3ls0/0/da"><img src="http://feedads.g.doubleclick.net/~a/SOGnA3izRxeetA1drRSKV8I3ls0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/SOGnA3izRxeetA1drRSKV8I3ls0/1/da"><img src="http://feedads.g.doubleclick.net/~a/SOGnA3izRxeetA1drRSKV8I3ls0/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://chester.blog.br/archives/2011/11/o-que-eu-quero-mesmo-ganhar-no-natal.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>sorteio2600</title>
		<link>http://chester.blog.br/archives/2011/11/sorteio2600.html</link>
		<comments>http://chester.blog.br/archives/2011/11/sorteio2600.html#comments</comments>
		<pubDate>Mon, 07 Nov 2011 02:08:56 +0000</pubDate>
		<dc:creator>chester</dc:creator>
				<category><![CDATA[Software / Projetos]]></category>

		<guid isPermaLink="false">http://chester.blog.br/?p=6588</guid>
		<description><![CDATA[O sorteio2600 é um programa que eu fiz para o Dev In Vale, por sugestão do Willian Fernandes, um dos organizadores do evento. Já que eu já ia demonstrar o Hello World em um Atari de verdade (graças ao Harmony), e a minha palestra era a última, a idéia era aproveitar o setup e fazer [...]]]></description>
			<content:encoded><![CDATA[<p>O <a href="http://github.com/chesterbr/sorteio2600" class="aga aga_78">sorteio2600</a> é um programa que eu fiz para o <a href="http://devinvale.com.br" class="aga aga_79">Dev In Vale</a>, por sugestão do <a href="http://willianfernandes.com.br/" class="aga aga_80">Willian Fernandes</a>, um dos organizadores do evento. Já que eu já ia demonstrar o Hello World em um Atari de verdade (graças ao <a href="http://chester.blog.br/archives/2011/11/harmony-rodando-jogos-e-testando-programas-num-atari-de-verdade.html" >Harmony</a>), e a minha palestra era a última, a idéia era aproveitar o setup e fazer o sorteio dos brindes no próprio Atari.</p>
<p>Pensei que seria uma tarefa fácil, mesmo numa plataforma tão limitada, mas levei umas vinte horas ou mais <a href="http://yfrog.com/od9n3xj" class="aga aga_81">quebrando a cabeça</a> para que o programa saísse! Este post comenta o processo de desenvolvimento e no final mostra um vídeo do software rodando no Atari. É recomendável <a href="http://www.slideshare.net/chesterbr/programao-para-atari-2600" class="aga aga_82">ver os slides</a> ou <a href="http://blip.tv/dev-in-sampa/devinsampa_2011_chester_atari-5513966" class="aga aga_83">assistir à palestra</a> para entender melhor, mas talvez dê pra acompanhar sem isso.</p>
<h3>Dígitos na tela ⇒ Python ao resgate</h3>
<p>O ponto de partida foi o <a href="http://pastebin.com/abBRfUjd" class="aga aga_84">Hello World da palestra</a> (que escreve uma frase na tela usando o <em>playfield</em>, isto é, os 20 &#8220;pixels largos&#8221; que ocupam a parte esquerda da tela do Atari, repetidos no lado direito). Usando o <em>score mode</em>, é possível esconder um dos lados (colocando nele a mesma cor do fundo), e usando 6 pixels por dígito seria possível representar os três dígitos necessários para escrever um número entre 000 e 999.</p>
<p>O problema com essa idéia é que dígitos não se alinham com os registradores do playfield (PF0, PF1 e PF2). Veja na ilustração como eles precisam ser posicionados:</p>
<p style="text-align:center"><img src="http://chester.blog.br/wp-content/uploads/2011/11/playfield_digitos.png" alt="Dígitos nos registradores do playfield do Atari" title="Dígitos nos registradores do playfield do Atari" width="504" height="182" class="aligncenter size-full wp-image-6589" /></p>
<p>Seria necessário fazer vários <em>shifts</em> para combinar os dígitos nos registradores, e, além disso, temos o fato de que o PF0 e o PF2 são lidos &#8220;ao contrário&#8221; (com o bit menos significativo à esquerda). Era muita manipulação pra fazer on-the-fly, então resolvi que, ao invés de uma única tabela de bitmaps dos dígitos, eu teria duas tabelas para o dígito das centenas (uma para o PF0 e outra para o PF1), duas para o das dezenas (uma para o PF1 e outra para o PF2) e uma para a unidade (que fica inteira no PF2).</p>
<p>As tabelas já teriam as inversões e shifts pré-executados, tornando a operação de escrever o PF1 e o PF2 tão &#8220;simples&#8221; quanto ler um valor, combiná-lo com outro (via operação OR ou soma) e armazenar. O PF0 teria só uma leitura e armazenamento, e isso tudo poderia ser feito na scanline enquanto o canhão está do lado esquerdo da tela (que não seria usado de qualquer forma, já que eu queria os dígitos no lado direito).</p>
<p>Calcular essas tabelas de bits manualmente seria um porre, mas eu não precisaria fazer isso, já que tenho um computador: fiz um <a href="https://github.com/chesterbr/sorteio2600/blob/master/gera_tabelas.py" class="aga aga_85">script Python</a> que lê os bimaps dos caracteres &#8220;0&#8243; a &#8220;9&#8243; e gera o <a href="https://github.com/chesterbr/sorteio2600/blob/master/tabelas.asm" class="aga aga_86">.asm</a> com as tabelas descritas acima (recorrendo novamente à fonte do <a href="http://pt.wikipedia.org/wiki/ZX_Spectrum" class="aga aga_87">ZX Spectrum</a>, que já tinha <a href="https://github.com/chesterbr/tilewriter/blob/5a4bc4127b3fbeb6f260f8c4285b87c119fd2b8f/tilewriter.js#L106" class="aga aga_88">transcrita em hexadecimal no tilewriter</a>).</p>
<h3>Score Mode</h3>
<p>Teria sido um plano perfeito, não fosse por um detalhe: o score mode foi feito para desenhar placares, não para dividir perfeitamente a tela. No <a href="http://stella.sourceforge.net/" class="aga aga_89">emulador</a> tudo funcionava bem, mas no Atari de verdade o TIA muda a cor um pouco antes do esperado, fazendo com que um pedaço do playfield esquerdo apareça onde não deveria.</p>
<p>Se eu soubesse disso antes, teria usado menos bits, mas com o programa já escrevendo os caracteres na tela, apelei: estiquei o missile 0 (que já tinha a mesma cor que o fundo da tela) e <a href="https://github.com/chesterbr/sorteio2600/blob/ffe34001c266c716b750e3863b782df7c5657722/sorteio2600.asm#L85" class="aga aga_90">posicionei</a> de forma a cobrir a parte da tela onde aparece o lixo. Não é a solução mais limpinha do mundo, mas funcionou bem.</p>
<h3>Etapas do sorteio</h3>
<p>Com tudo isso eu já tinha um programa que escrevia dígitos arbitrariamente na tela. A partir daí, se eu incrementasse o número a cada scanline não utilizada, eu teria eles mudando na tela em alta velocidade, dando um efeito de sorteio. Incrementando a cada frame (ou a cada n frames) eu podia reduzir a velocidade, o que me levou a dividr o programa em quatro &#8220;modos&#8221;:</p>
<ul>
<li><strong>Modo select</strong>: Mostra os dígitos correspondentes ao limite máximo do sorteio. Pressionar GAME SELECT em qualquer outro modo muda para este, e pressionar novamente GAME SELECT incrementa o limite máximo (de 100 em 100).</li>
<li><strong>Modo rodando</strong>: Acionado pelo GAME RESET, este modo incrementa o número a cada scanline, conforme descrito acima. Aqui surgiu um dos bugs mais difíceis de encontrar: eventualmente eu usava duas scanlines (por conta do &#8220;vai um&#8221;) sem contabilizar, gerando uma tela com scanlines a mais. Isso fazia o vídeo tremer, por perder a sincronia.
<li><strong>Modo parando</strong>: Passsa a valer se o jogo estiver no modo rodando e o usuário apertar o botão do joystick. Ele incrementa o número a cada n frames, começando em 2 e aumentando aos poucos. Com isso, os números vão avançando cada vez mais devagar por uns poucos segundos, simulando o efeito de uma roleta parando (confesso: a minha inspiração foi a memória do <a href="http://www.youtube.com/watch?v=zahpX9egtv0" class="aga aga_91">Roletrando</a> nos anos 80!)</li>
<li><strong>Modo parado</strong>: Quando o atraso de frames do modo parando chega a um limite, é hora de parar e declarar um número vencedor. Para isso o programa muda para este modo, permanecendo nele até um novo GAME RESET.</li>
</ul>
<h3>Números (pseudo-)aleatórios</h3>
<p>Mesmo implementando todos esses modos, ainda havia um problema: a <a href="http://www.uff.br/cdme/rdf/rdf-html/rdf-g-br.html" class="aga aga_92">pseudo</a>-aleatoriedade seria garantida pelo fato de um tempo indeterminado se passar entre o GAME RESET e o botão do joystick ser pressionado, e neste tempo incrementarmos o número sorteado a cada scanline fora do desenho. Isso tem um problema: se temos <em>k</em> scanlines livres na tela, o sorteio avança de <em>k</em> em <em>k</em> números, e dependendo dos divisores comuns entre este número e o limite superior do sorteio, o mesmo ficaria limitado a um subconjunto de números.</p>
<p>Como o limite superior varia, o melhor jeito de evitar o problema era inicializar o contador com um número pseudo-aleatório &#8220;de verdade&#8221;. Para isso, a solução foi introduzir um contador de um byte na RAM, incrementado a cada frame enquanto o console estiver ligado, e usá-lo para inicializar a dezena e unidade do número sorteado. Um truque bacana foi <a href="https://github.com/chesterbr/sorteio2600/blob/b1c437038f2cf95093c20ef35a1cbea6a6dc6245/sorteio2600.asm#L201" class="aga aga_93">fazer este incremento usando o modo decimal</a>, ou modo <em><a href="http://en.wikipedia.org/wiki/Binary-coded_decimal" class="aga aga_94">BCD</a></em> do 6502. Com isso, cada nibble do contador contém um dígito de 0 a 9, e pode ser usado diretamente para inicializar a dezena ou a unidade.</p>
<h3>Som</h3>
<p>Com isso, faltava adicionar um efeito sonoro que complementasse o sentimento de &#8220;roleta&#8221;. Não falei sobre som na palestra, mas a teoria é simples: o TIA tem dois circuitos de som independentes, e pra cada um você pode escolher o volume, a frequência e o tipo de som, escrevendo nos registradores apropriados.</p>
<p>É preciso usar alguns dos minguados ciclos para gerenciar isso, e a produção de músicas é dificultada pelo fato de as frequências não baterem com uma oitava musical &#8220;tradicional&#8221;. Mas para esse programa não foi um problema: fiz um tom curto e grave ser acionado a cada frame em que ocorre uma mudança de dígitos. O resultado é um ronco de motor meio <a href="http://www.youtube.com/watch?v=a-RGhAe6Rrg" class="aga aga_95">Enduro</a>zento no modo rodando e um tuc-tuc-tuc no modo parando, o que serviu bem ao propósito.</p>
<h3>Cores e o resultado final</h3>
<p>O toque final foi acrescentar cores: deixei uma diferenciada para o modo select, e no modo parado eu reutilizei o contador de frames para mudar as cores constantemente (se não fosse o BCD, creio que ficaria parecido com o <a href="http://www.youtube.com/watch?v=qZUBd7Hw5yo&#038;feature=related#?t=1m02" class="aga aga_96">cálice do Adventure</a>). Isso deixou o programa pronto para usar, e o pessoal do evento curtiu o sorteio feito de forma tão inusitada. Veja ele em ação:</p>
<p style="text-align:center"><iframe width="420" height="315" src="http://www.youtube.com/embed/B9VkouzVo3c" frameborder="0" allowfullscreen></iframe></p>
<p>Normalmente eu programo com um pouco mais de planejamento, mas no Atari as limitações do hardware fazem com que qualquer coisa além de uma idéia inicial viável tenha que ser decidida conforme os recursos vão permitindo. Foi assim que David Crane criou o <i>Pitfall!</i> &#8211; ele tinha um esquema pra fazer um homenzinho correndo, e queria bolar um jogo usando isso:</p>
<blockquote><p>Eu sentei com uma folha de papel em branco e desenhei um homenzinho no meio. E disse, &#8220;Ok, eu tenho um homenzinho que corre, vamos colocá-lo em um caminho [mais duas linhas desenhadas no papel]. Onde fica esse caminho? Vamos colocá-lo em uma selva [desenho umas árvores]. Por que ele está correndo [desenho tesouros a coletar, inimigos a evitar, etc.]?&#8221; E o Pitfall! nasceu. Todo esse processo levou uns dez minutos. Cerca de 1000 horas de programação depois, o jogo estava pronto.</p>
<p style="text-align:right"><em>David Crane</em>, <a href="http://en.wikipedia.org/wiki/Pitfall!#History_and_development" class="aga aga_97">em entrevista de 2003</a></p>
<p></span></p>

<p><a href="http://feedads.g.doubleclick.net/~a/aEwGcVaeSH9Za_FFyHmt_rmCYlI/0/da"><img src="http://feedads.g.doubleclick.net/~a/aEwGcVaeSH9Za_FFyHmt_rmCYlI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/aEwGcVaeSH9Za_FFyHmt_rmCYlI/1/da"><img src="http://feedads.g.doubleclick.net/~a/aEwGcVaeSH9Za_FFyHmt_rmCYlI/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://chester.blog.br/archives/2011/11/sorteio2600.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Harmony: rodando jogos (e testando programas) num Atari de verdade</title>
		<link>http://chester.blog.br/archives/2011/11/harmony-rodando-jogos-e-testando-programas-num-atari-de-verdade.html</link>
		<comments>http://chester.blog.br/archives/2011/11/harmony-rodando-jogos-e-testando-programas-num-atari-de-verdade.html#comments</comments>
		<pubDate>Sat, 05 Nov 2011 02:30:07 +0000</pubDate>
		<dc:creator>chester</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chester.blog.br/?p=6538</guid>
		<description><![CDATA[A programação para Atari 2600 é uma curiosidade que já me levou a escrever artigo e minstrar palestras sobre o assunto. Vira e mexe estou lendo e experimentando, e até acredito que um dia alguma dessas brincadeiras pode se tornar um jogo de verdade. Um bom emulador é necessário para programar para qualquer dispositivo, seja [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/chesterbr/6296967178/" class="aga aga_114" title="Cartucho Harmony by chesterbr, on Flickr"><img src="http://farm7.static.flickr.com/6037/6296967178_6e1753e599_m.jpg" width="180" height="240" alt="Cartucho Harmony" style="float:left;margin:4px;border:1px solid black"></a>A programação para Atari 2600 é uma curiosidade que já me levou a escrever <a href="http://web.archive.org/web/20040810001018/http://fliperama.ig.com.br/emuladores/atari/program/index.html" class="aga aga_115">artigo</a> e minstrar <a href="chester.blog.br/archives/2011/08/palestra-sobre-programacao-para-atari-2600-no-dev-in-sampa-2011.html">palestras</a> sobre o assunto. Vira e mexe estou lendo e experimentando, e até acredito que um dia alguma dessas brincadeiras pode se tornar um jogo de verdade.</p>
<p>Um bom emulador é necessário para programar para qualquer dispositivo, seja ele um celular ou um console. O Atari tem o excelente <a href="http://stella.sourceforge.net/" class="aga aga_116">Stella</a> (cujo debugger é bom até para quem só quer entender como algum jogo funciona). Mas é igualmente importante testar o programa no console &#8220;de verdade&#8221;, pois só lá os detalhes vão aparecer.</p>
<p>Foi com esse objetivo que eu encomendei o <a href="http://harmony.atariage.com/" class="aga aga_117">Harmony</a>. Em termos simplificados, é um cartucho com slot para <a href="http://cartaodememoria.com/cartao-sd" class="aga aga_118">cartão SD</a>, que disponibiliza os jogos (ROMs) gravados no cartão através de um menu no console. Comparando com aqueles <a href="http://romerogames.blogspot.com/2011/08/atari-2600-cartuchos-com-varios-jogos.html" class="aga aga_119">cartuchos com 2 ou 4 jogos</a> selecionáveis através de chaves, é uma evolução incrível.</p>
<p><a href="http://www.flickr.com/photos/chesterbr/6296434661/" class="aga aga_120" title="Cartucho Harmony: Menu by chesterbr, on Flickr"><img src="http://farm7.static.flickr.com/6224/6296434661_1ac7df1365_m.jpg" width="240" height="180" alt="Cartucho Harmony: Menu" style="float:right;margin:4px;border:1px solid black" /></a>Como tudo que é simples, tem uma engenharia sofisticada por trás. As <a href="http://www.randomterrain.com/atari-2600-memories-harmony-cartridge.html#technical_specifications" class="aga aga_121">especificações</a> mostram que, só em termos de clock, a CPU do cartucho é 70 vezes mais rápida que o do videogame (na prática a diferença é ainda maior, afinal, é uma arquitetura ARM de 32 bits contra um 6502 de 8 bits). Talvez não precisasse de tudo isso, mas um hardware mais generoso pode embarcar um software que reconhece dezenas de formatos de ROMs, e que pode ser atualizado com faclidade.</p>
<p>Para mim foi útil logo de cara, porque o &#8220;Hello, World&#8221; que eu apresentei no <a href="http://devinsampa.com.br/" class="aga aga_122">Dev In Sampa</a> nunca tinha rodado em um console de verdade, e eu não acreditava que acertaria de primeira. Dito e feito: eu não zerei os registradores do TIA (chip de vídeo) correspondentes aos objetos visuais que não estava usando, e eles apareciam como &#8220;lixo&#8221; na tela. Este problema não acontecia no emulador, porque ele zera a memória emulada ao inicializar. Felizmente a correção foi fácil, e já foi aplicada nos <a href="http://www.slideshare.net/chesterbr/programao-para-atari-2600" class="aga aga_123">slides</a> e no <a href="http://pastebin.com/abBRfUjd" class="aga aga_124">código-fonte</a>.</p>
<p style="text-align:center"><a href="http://www.flickr.com/photos/chesterbr/6296433993/" class="aga aga_125" title="Cartucho Harmony: Hello World by chesterbr, on Flickr"><img src="http://farm7.static.flickr.com/6218/6296433993_4bbcc3d1c2.jpg" width="500" height="375" alt="Cartucho Harmony: Hello World" style="margin:4px;border:1px solid black" /></a></p>
<p>Ele também foi útil para viabilizar o <a href="http://github.com/chesterbr/sorteio2600" class="aga aga_126">sorteio2600</a>, um programinha que sorteia números entre 0 e uma centena qualquer (100, 200, 300, etc.), feito especialmente para o <a href="http://devinvale.com.br/" class="aga aga_127">Dev In Vale</a>. Novamente, entre o emulador e a vida real havia uma diferença: o <em>score mode</em>, que divide o fundo (<em>playfield</em>) monocromático em duas cores (uma à esquerda e outra à direita) não faz essa divisão de forma 100% precisa (a cor muda um tiquinho antes da hora).</p>
<p>Como os projetistas de jogos já sabiam disso (dificilmente usariam emuladores naquela época), eles não usavam o playfield todo quando habilitavam o score mode. Mas o meu código já tinha sido pensado para sumir com metade dele (e usar toda a outra metade), então eu &#8220;roubei&#8221;, usando um dos <em>missiles</em> para cobrir a parte do playfield que não deveria aparecer. Isso está <a href="https://github.com/chesterbr/sorteio2600/blob/ffe34001c266c716b750e3863b782df7c5657722/sorteio2600.asm#L85" class="aga aga_128">documentado</a> no código, e fica como mais um exemplo dos truques que eram necessários para fazer o hardware limitado do Atari 2600 atender às necessidades de cada jogo.</p>
<p>Se interessar, veja mais <a href="http://www.flickr.com/photos/chesterbr/sets/72157628015276696/with/6296433993/" class="aga aga_129">fotos do Harmony</a> em ação.</p>
<p><em>(esse post pede um agradecimento especial ao Alexandre Oliveira, que me cedeu vários cartuchos de Atari para testar o console &#8220;novo&#8221;, evitando que eu procurasse problemas onde eles não existiam)</em></p>

<p><a href="http://feedads.g.doubleclick.net/~a/txW4UVJSiqirQZsASGrjpBoHszc/0/da"><img src="http://feedads.g.doubleclick.net/~a/txW4UVJSiqirQZsASGrjpBoHszc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/txW4UVJSiqirQZsASGrjpBoHszc/1/da"><img src="http://feedads.g.doubleclick.net/~a/txW4UVJSiqirQZsASGrjpBoHszc/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://chester.blog.br/archives/2011/11/harmony-rodando-jogos-e-testando-programas-num-atari-de-verdade.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Micro Men – o “Pirates of Silicon Valley inglês”</title>
		<link>http://chester.blog.br/archives/2011/11/micro-men-o-pirates-of-silicon-valley-ingles.html</link>
		<comments>http://chester.blog.br/archives/2011/11/micro-men-o-pirates-of-silicon-valley-ingles.html#comments</comments>
		<pubDate>Tue, 01 Nov 2011 08:30:12 +0000</pubDate>
		<dc:creator>chester</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chester.blog.br/?p=6523</guid>
		<description><![CDATA[Durante a explosão da microinformática nos anos 80, a Inglaterra era um dos poucos países (o Japão seria outro) nos quais os computadores eram projetados de forma independente dos EUA. Ali, Sir Clive Sinclair se destacou ao criar os primeiros computadores pessoais realmente acessíveis, o que lhe rendeu o título. A disputa entre a Sinclair [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.imdb.com/title/tt1459467/" class="aga aga_135"><img src="http://chester.blog.br/wp-content/uploads/2011/11/micromen.jpg" alt="Micro Men" title="Micro Men" width="249" height="141" class="alignleft size-full wp-image-6524" /></a>Durante a explosão da microinformática nos anos 80, a Inglaterra era um dos poucos países (o Japão seria outro) nos quais os computadores eram projetados de forma independente dos EUA. Ali, <a href="http://en.wikipedia.org/wiki/Clive_Sinclair" class="aga aga_136">Sir Clive Sinclair</a> se destacou ao criar os <a href="http://pt.wikipedia.org/wiki/Sinclair_ZX80" class="aga aga_137">primeiros</a> computadores pessoais realmente acessíveis, o que lhe rendeu o título.</p>
<p>A disputa entre a Sinclair Research e a Acorn (ou, especificamente, entre Clive e Chris Curry, ex-funcionário do primeiro e um dos fundadores da Acorn) para decidir quem iria fabricar o computador que levaria a marca da BBC é o mote central de <a href="http://www.imdb.com/title/tt1459467/" class="aga aga_138">Micro Men</a>, um documentário dramático que começa nas primeiras inovações de Sinclair (calculadoras de bolso e relógios de pulso digitais) e vai até os finalmentes das duas empresas, retratando o &#8220;estouro da bolha&#8221; que viria nos anos seguintes.</p>
<p>Embora a relevância da disputa  possa parecer um pouco exagerada (ainda mais ao considerar que o filme é produzido pela própria BBC), o fato é que o vencedor teria não apenas um contrato gigante para colocar micros em todas as escolas britânicas, mas também ganharia a chance de educar uma geração inteira usando seus produtos. A importância disso fica evidente quando se observa quão bem esta mesma oportunidade foi aproveitada nos Estados Unidos por ninguém menos que a Apple.</p>
<p>Outro ponto que poderia ser questionado é a colocação da Acorn no mesmo nível de destaque que a a Sinclair, considerando que seus micros pouco apareceram fora da Inglaterra. Mas vale lembrar que eles foram os criadores do que viria a se tornar o processador ARM (que muito provavelmente está no seu bolso neste instante, já que sua arquitetura é uma das mais populares em <em>smartphones</em>). </p>
<p>O começo do filme é um pouco confuso (e parado), mas o contexto vai ficando mais claro, e o ritmo também melhora muito. Ele inclui momentos clássicos, como a famosa <a href="http://en.wikipedia.org/wiki/The_Baron_of_Beef" class="aga aga_139">briga no Baron Of Beef</a>, e no final é uma experiência muito divertida para quem curte a microinformática &#8220;raiz&#8221; e quer saber mais sobre as pessoas por trás dos micros &#8211; em particular quem teve um <em>TK</em> ou equivalente nos anos 80.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/eqwGyRNQDXtrmrDtOgFxHml-yzA/0/da"><img src="http://feedads.g.doubleclick.net/~a/eqwGyRNQDXtrmrDtOgFxHml-yzA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/eqwGyRNQDXtrmrDtOgFxHml-yzA/1/da"><img src="http://feedads.g.doubleclick.net/~a/eqwGyRNQDXtrmrDtOgFxHml-yzA/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://chester.blog.br/archives/2011/11/micro-men-o-pirates-of-silicon-valley-ingles.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chester em Hollywood (e no set do The Big Bang Theory)</title>
		<link>http://chester.blog.br/archives/2011/10/chester-em-hollywood-e-no-set-do-the-big-bang-theory.html</link>
		<comments>http://chester.blog.br/archives/2011/10/chester-em-hollywood-e-no-set-do-the-big-bang-theory.html#comments</comments>
		<pubDate>Sat, 01 Oct 2011 21:30:12 +0000</pubDate>
		<dc:creator>chester</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chester.blog.br/?p=6372</guid>
		<description><![CDATA[Não sei bem como introduzir o assunto, então vou direto ao ponto: ganhei um concurso do Warner Channel, que levou eu e a Bani até Hollywood para, entre outras coisas, assistir à gravação do The Big Bang Theory. E o melhor: pudemos tirar várias fotos, bater na porta da Penny e até sentar no sagrado [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/chesterbr/sets/72157627783784302" class="aga aga_187"><img src="http://chester.blog.br/wp-content/uploads/2011/09/chester_sheldon_spot.jpg" alt="Chester no lugar do Sheldon" title="Chester no lugar do Sheldon" width="219" height="307" class="alignright size-full wp-image-6378" style="border:1px solid black; padding:0px" /></a>Não sei bem como introduzir o assunto, então vou direto ao ponto: ganhei um <a href="http://series.warnerchannel.com/emmys/concurso-1.php" class="aga aga_188">concurso do Warner Channel</a>, que levou eu e a <a href="http://baniverso.com" class="aga aga_189">Bani</a> até Hollywood para, entre outras coisas, assistir à gravação do The Big Bang Theory. E o melhor: pudemos tirar <a href="http://www.flickr.com/photos/chesterbr/sets/72157627783784302/?page=3" class="aga aga_190">várias fotos</a>, <a href="http://www.flickr.com/photos/chesterbr/6196891906/in/set-72157627783784302" class="aga aga_191">bater</a> na porta da Penny e até <a href="http://www.flickr.com/photos/chesterbr/6196368993/in/set-72157627783784302" class="aga aga_192">sentar</a> no sagrado lugar do Sheldon!</p>
<p>O concurso pedia para responder à pergunta: &#8220;Por que você acha que a série The Big Band Theory merece ganhar um <a href="http://www.emmys.tv/" class="aga aga_193">Emmy</a>?&#8221;, e eu não lembro das palavras exatas da minha resposta &#8211; mas foi na linha de &#8220;porque ainda não inventaram um <a href="http://pt.wikipedia.org/wiki/Pr%C3%A9mio_Nobel" class="aga aga_194">Prêmio Nobel</a> de Comédia&#8221;. Além da frase, era preciso responder a um questionário nada trivial sobre o Emmy, mas com esmero e a ajuda do IMDB, eu e a Bani concluimos a tarefa e esquecemos o assunto.</p>
<p>O aviso da vitória veio em um momento crítico: eu entraria em cirurgia no dia seguinte &#8211; <a href="http://www.pablomiguel.com.br/centro-de-hernia/hernia-inguinal/" class="aga aga_195">nada muito sério</a>, mas o passeio dependia de um OK do médico, e este de uma recuperação sem complicações. Ambos vieram e zarpamos para a cidade das estrelas.</p>
<h3>Hollywood, Beverly Hills, etc.</h3>
<p><a href="http://www.flickr.com/photos/chesterbr/sets/72157627783784302" class="aga aga_196"><img src="http://chester.blog.br/wp-content/uploads/2011/09/bani_nimoy.jpg" alt="Bani e a marca do Leonard Nimoy" title="Bani e a marca do Leonard Nimoy" width="245" height="222" class="alignleft size-full wp-image-6391" style="border:1px solid black; padding:0px" /></a>Ficamos hospedados no <a href="http://renaissancehollywood.com/" class="aga aga_197">Reinassance Hollywood</a>, que além de confortável é bem localizado: fica no mesmo <a href="http://renaissancehollywood.com/hh.asp" class="aga aga_198">complexo</a> que o Kodak Theatre &#8211; o lugar onde é feita a entrega do Oscar. A Bani aproveitou e comprou ingressos antecipadamente para o <a href="http://www.cirquedusoleil.com/en/shows/iris/" class="aga aga_199">Iris</a>, o recém-inaugurado espetáculo do Cirque du Soleil cuja temática é justamente o cinema. Estava uma bela bagunça na Hollywood Boulevard por conta da estréia, mas isso não impediu a gente de encontrar um <a href="http://www.flickr.com/photos/chesterbr/6196816678/in/set-72157627783784302" class="aga aga_200">protesto</a> do <a href="http://pt.wikipedia.org/wiki/Anonymous" class="aga aga_201">Anonymous</a>.</p>
<p>A visita a Hollywood pedia um <a href="http://www.starlinetours.com/" class="aga aga_202">tour</a> em Beverly Hills para ver as mansões dos famosos (por menor que seja minha identificação com esse mundo), além de inúmeras locações de filmes e pontos relacionados a cinema e televisão. Juntado isso com uma passeadinha pela calçada da fama (que era bem próxima), deu para preencher bem o &#8220;lado Hollywood&#8221; da visita. Só lamento ter trocado uma visita ao <a href="http://www.madametussauds.com/Hollywood/" class="aga aga_203">Madame Toussauds</a> (museu de cera) por uma ao <a href="http://www.ripleys.com/hollywood/" class="aga aga_204">Acredite Se Quiser</a>, que se revelou bem fraquinho.</p>
<p>Como eu estava em pós-operatório, limitamos os passeios a pé a uma tarde no <em>downtown</em>. Começou muito bem no <a href="http://www.flickr.com/photos/chesterbr/6196343539/in/set-72157627783784302" class="aga aga_205">Little Japan</a>, onde <a href="http://www.yelp.com/biz/oomasa-los-angeles" class="aga aga_206">comemos</a> e <a href="http://www.flickr.com/photos/chesterbr/6196854250/in/set-72157627783784302" class="aga aga_207">compramos</a>, mas ficou desagradável no <a href="http://www.flickr.com/photos/chesterbr/6196856038/in/set-72157627783784302/" class="aga aga_208">Toy District</a>. O nome e os guias sugeriam uma espécie de Fao Schwartz a céu aberto, mas a vizinhança se revelou <a href="http://www.flickr.com/photos/chesterbr/6196856514/in/set-72157627783784302/" class="aga aga_209">qualquer coisa</a> entre uma 25 de Março e a Boca do Lixo paulistanas. Sério.</p>
<p><a href="http://www.flickr.com/photos/chesterbr/sets/72157627783784302" class="aga aga_210"><img src="http://chester.blog.br/wp-content/uploads/2011/09/chester_cool.jpg" alt="Chester dando uma de descolado" title="Chester dando uma de descolado" width="199" height="289" class="alignleft size-full wp-image-6392" style="border:1px solid black; padding:0px" /></a>Recuperamos o entusiasmo no <a href="http://www.flickr.com/photos/chesterbr/6196348325/in/set-72157627783784302/" class="aga aga_211">Universal Studios CityWalk</a>, que conta com <a href="http://www.citywalkhollywood.com/" class="aga aga_212">excelentes opções</a> de compras, balada e comida. Jantaríamos fácil ali, mas a falta de supervisão adulta inviabilizou o plano em algum ponto entre a <a href="http://www.flickr.com/photos/chesterbr/6196346533/in/set-72157627783784302/" class="aga aga_213">loja especializada em pipoca</a> e o <a href="http://www.flickr.com/photos/chesterbr/6196858792/in/set-72157627783784302/" class="aga aga_214">frozen yogurt da Hello Kitty</a>. É um passeio de fácil acesso &#8211; basta pegar o shuttle gratuito em frente ao <a href="http://en.wikipedia.org/wiki/Universal_City_%28Los_Angeles_Metro_station%29" class="aga aga_215">metrô</a> (sim, a cidade das estrelas tem transporte público).</p>
<p>E por falar em comida, a limitação de mobilidade foi compensada pela proximidade de boas opções a preços quase que baratos (comparando com bons restaurantes paulistanos, por exemplo) como o <a href="http://www.rollingstonela.com/restaurant/" class="aga aga_216">restaurante da revista Rolling Stone</a> e o <a href="http://thegrill.com/locations/the-grill-on-hollywood" class="aga aga_217">The Grill</a> (dica: Fish and Chips).</p>
<h3>Gravação do TBBT</h3>
<p>O último dia abriu com pompa e circusntância: nós e os outros ganhadores fomos levados de <a href="http://www.flickr.com/photos/chesterbr/6196861672/in/set-72157627783784302" class="aga aga_218">limusine</a> até os estúdios da Warner, onde fizemos o <a href="http://vipstudiotour.warnerbros.com/" class="aga aga_219">passeio</a> que mostra coisas como a <a href="http://www.flickr.com/photos/chesterbr/6196355787/in/set-72157627783784302" class="aga aga_220">caixa d&#8217;água</a> onde os Animaniacs <a href="http://www.youtube.com/watch?v=GFKBrW4VPJc" class="aga aga_221">moram</a>, <a href="http://www.flickr.com/photos/chesterbr/6196359373/in/set-72157627783784302" class="aga aga_222">a casa da Lorelai Gilmore</a>, um <a href="http://www.flickr.com/photos/chesterbr/6196872566/in/set-72157627783784302" class="aga aga_223">General Lee</a> e uma infinidade de outros artefatos que até então pertenciam ao reino da ficção. Um dos depósitos tinha a mobília do Central Perk guardada, e a gente conseguiu uma <a href="http://www.flickr.com/photos/chesterbr/6196365553/in/set-72157627783784302" class="aga aga_224">foto no sofá</a> da <a href="http://www.youtube.com/watch?v=9YQ-Y2Br0y4" class="aga aga_225">abertura do Friends</a>.</p>
<p>Mas o melhor ainda estaria por vir: no final do dia fomos assistir à gravação do TBBT. As gravações geralmente são à noite para que os atores possam memorizar falas durante o dia, e a presença da platéia tem duas funções: gravar as risadas e dar aos atores a oportunidade de sentir o timing das piadas. Naquela noite eles gravaram um episódio inteiro (exceto por uma cena externa) e ainda deu tempo de assistir ao vídeo do episódio anterior &#8211; possivelmente para gravar risos adicionais.</p>
<p><a href="http://www.flickr.com/photos/chesterbr/sets/72157627783784302" class="aga aga_226"><img src="http://chester.blog.br/wp-content/uploads/2011/09/bani_penny.jpg" alt="Penny! Knock knock knock! Penny..." title="Penny! Knock knock knock! Penny..." width="259" height="389" class="alignright size-full wp-image-6393" style="border:1px solid black; padding:0px" /></a>Eles gravam tudo na ordem da história, e não é picadinho: a tentativa no geral é fazer a cena toda de cada locação de uma vez só. Para isso usam quatro câmeras, sendo pelo menos uma móvel, e quando erravam (a <a href="http://www.imdb.com/name/nm0192505/" class="aga aga_227">Kaley Cuoco</a> engasgou uma hora, tadinha) voltavam um pouquinho, com raros cortes do diretor. Tudo é filmado pelo menos duas vezes (com ajustes e improvisos eventuais de uma para outra), e a gente dava risada em ambas &#8211; porque ao vivo é ainda mais engraçado.</p>
<p>Após a gravação o público se engalfinhou para conseguir autógrafos de um elenco visivelmente cansado. Nem encanamos, até porque o que viria em seguida seria bem mais legal: apesar da proibição de fotografia nos estúdios, como convidados nós pudemos <a href="http://www.flickr.com/photos/chesterbr/sets/72157627783784302/?page=3" class="aga aga_228">fotografar o cenário</a> à vontade.</p>
<p>Os atores já tinham ido embora, mas conseguimos <a href="http://www.flickr.com/photos/chesterbr/6196902180/in/set-72157627783784302" class="aga aga_229">foto</a> com <strong>o</strong> físico do seriado: o Prof. <a href="http://personnel.physics.ucla.edu/directory/faculty/saltzberg" class="aga aga_230">David Saltzberg</a>, PhD em Física e consultor que cuida da qualidade científica das piadas e até faz as fórmulas nas lousas! Ele mantém um <a href="https://thebigblogtheory.wordpress.com/" class="aga aga_231">blog</a> muito bacana, que entra nos detalhes da ciência por trás de cada episódio da série.</p>
<p>No final foi uma experiência ímpar, e só posso deixar meus sinceros agradecimentos ao pessoal da Warner que nos premiou e acompanhou. Sentar no lugar do Sheldon definitivamente não tem preço, e lembre-se: quando assistir ao <a href="http://www.thefutoncritic.com/listings/20110920cbs03" class="aga aga_232">quinto</a> e <del datetime="2011-10-17T02:48:08+00:00">sexto</del> <a href="http://www.thefutoncritic.com/listings/20111010cbs05/" class="aga aga_233">sétimo</a> episódios da quinta temporada, você estará ouvindo, entre outras, as nossas risadas!</p>

<p><a href="http://feedads.g.doubleclick.net/~a/KAvVvxzxZU48GIoCw2YiR9aIXh4/0/da"><img src="http://feedads.g.doubleclick.net/~a/KAvVvxzxZU48GIoCw2YiR9aIXh4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/KAvVvxzxZU48GIoCw2YiR9aIXh4/1/da"><img src="http://feedads.g.doubleclick.net/~a/KAvVvxzxZU48GIoCw2YiR9aIXh4/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://chester.blog.br/archives/2011/10/chester-em-hollywood-e-no-set-do-the-big-bang-theory.html/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>O Dia da Boa Notícia</title>
		<link>http://chester.blog.br/archives/2011/09/o-dia-da-boa-noticia.html</link>
		<comments>http://chester.blog.br/archives/2011/09/o-dia-da-boa-noticia.html#comments</comments>
		<pubDate>Mon, 12 Sep 2011 04:14:31 +0000</pubDate>
		<dc:creator>chester</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chester.blog.br/?p=6306</guid>
		<description><![CDATA[Esta época sempre me lembra uma história trágicômica dos primeiros anos do iG. Quando ela aconteceu eu era programador na equipe que cuidava, entre outras coisas, do sistema de publicação do Último Segundo, jornal online no qual se deu o &#8220;causo&#8221;. Uma experiência que se tornou recorrente no portal foi a criação de campanhas temáticas [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://chester.blog.br/wp-content/uploads/2011/09/ig2001.png" ><img src="http://chester.blog.br/wp-content/uploads/2011/09/ig2001_thumb.png" alt="Página do iG em 2001 (clique para ampliar)" title="Página do iG em 2001 (clique para ampliar)" width="248" height="228" class="alignleft size-full wp-image-6309" style="border:1px solid black" /></a>Esta época sempre me lembra uma história trágicômica dos primeiros anos do <a href="http://www.ig.com.br" class="aga aga_238">iG</a>. Quando ela aconteceu eu era programador na equipe que cuidava, entre outras coisas, do sistema de publicação do <a href="http://ultimosegundo.ig.com.br/" class="aga aga_239">Último Segundo</a>, jornal online no qual se deu o &#8220;causo&#8221;.</p>
<p>Uma experiência que se tornou recorrente no portal foi a criação de campanhas temáticas que, durante um período de tempo, customizavam a cara e o conteúdo de um ou mais sites. No embalo de um sucesso anterior (creio que ligado a animais de estimação, não lembro ao certo), surgiu a idéia de criar uma data comemorativa: o <strong>Dia da Boa Notícia</strong>.</p>
<p>O mote: a imprensa só publica assassinatos, guerras, aumentos de impostos e coisas assim, e um dia em que se lesse apenas boas notícias seria uma mudança de ares. Além disso, o Último Segundo contaria com matérias especiais, que falariam de ONGs ou qualquer outra coisa &#8220;do bem&#8221; e seriam marcadas no publicador para aparecer com um destaque BOA NOTÍCIA bem chamativo.</p>
<p>Vários jornalistas foram contra &#8211; uma notícia é uma notícia, e não achavam certo deixar de noticiá-la, ainda que por uma boa causa. Mas a determinação foi mantida, e preparamos o sistema para operacionalizá-la. O teste de fogo do plano veio na madrugada, com o assassinato de um <a href="http://pt.wikipedia.org/wiki/Ant%C3%B4nio_da_Costa_Santos" class="aga aga_240">político</a>, mas a direção do portal foi firme e resolveu manter a diretriz, não veiculando a notícia. A crise da madrugada foi superada, e o plano parecia infalível.</p>
<p>A alegria durou pouco: logo pela manhã aconteceu outra notícia <strong>nada</strong> boa: um avião se chocava contra uma das torres do World Trade Center, em Nova York. Isso mesmo, era o dia <a href="http://pt.wikipedia.org/wiki/Ataques_de_11_de_setembro_de_2001" class="aga aga_241">11 de Setembro de 2001</a>! A CNN reduziu sua pagina a uma foto e uma manchete, e os portais (incluindo a gente) lutavam para atender à enxurrada de pessoas que procuravam notícias em tempo real.</p>
<p>Os editores estavam a mil por hora, e pediram o ligamento e desligamento do &#8220;modo boa notícia&#8221; tantas vezes que o sistema mal tinha tempo de atualizar os <em>caches</em> entre uma ação e outra. Eventualmente decretou-se o fim da data comemorativa e o assunto permaneceu como tabu durante um bom tempo, mas sua sombra nos manteve cautelosos. Afinal, sempre existe o risco de se escolher justo o dia em que quase começa a terceira guerra mundial para não dar más notícias&#8230;</p>
<p><strong>DISCLAIMER</strong>: Este relato não pretende qualquer desrespeito àqueles que perderam entes queridos nesta tragédia, tampouco aos profissionais de jornalismo do iG, muitos dos quais me ensinaram bastante sobre o assunto, só aumentando o orgulho de ter feito parte da &#8220;família do cachorrinho&#8221;. É só uma história que eu não quis deixar passar em branco.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/vZbR52mrPfr0QDpC3QQzjPT5gSY/0/da"><img src="http://feedads.g.doubleclick.net/~a/vZbR52mrPfr0QDpC3QQzjPT5gSY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/vZbR52mrPfr0QDpC3QQzjPT5gSY/1/da"><img src="http://feedads.g.doubleclick.net/~a/vZbR52mrPfr0QDpC3QQzjPT5gSY/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://chester.blog.br/archives/2011/09/o-dia-da-boa-noticia.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Palestra sobre Programação para Atari 2600 no Dev in Sampa 2011</title>
		<link>http://chester.blog.br/archives/2011/08/palestra-sobre-programacao-para-atari-2600-no-dev-in-sampa-2011.html</link>
		<comments>http://chester.blog.br/archives/2011/08/palestra-sobre-programacao-para-atari-2600-no-dev-in-sampa-2011.html#comments</comments>
		<pubDate>Sun, 28 Aug 2011 05:21:44 +0000</pubDate>
		<dc:creator>chester</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chester.blog.br/?p=6267</guid>
		<description><![CDATA[O Dev in Sampa é um evento bacana, por conta do blend muito equilibrado entre aprendizado e networking. A edição deste ano foi, a meu ver, ainda melhor que a do ano passado &#8211; os organizadores (@tinogomes, @nuxlli e @lfcipriani) e o pessoal de apoio da Abril estão de parabéns. Gostei da decisão de reverter [...]]]></description>
			<content:encoded><![CDATA[<p>O <a href="http://www.devinsampa.com.br/" class="aga aga_257">Dev in Sampa</a> é um evento bacana, por conta do <em>blend</em> muito equilibrado entre aprendizado e networking. A edição deste ano foi, a meu ver, ainda melhor que <a href="http://chester.blog.br/archives/2010/08/dev-in-sampa-2010.html" >a do ano passado</a> &#8211; os organizadores (<a href="http://twitter.com/tinogomes" class="aga aga_258">@tinogomes</a>, <a href="http://twitter.com/nuxlli" class="aga aga_259">@nuxlli</a> e <a href="http://twitter.com/lfcipriani" class="aga aga_260">@lfcipriani</a>) e o pessoal de apoio da Abril estão de parabéns. Gostei da decisão de reverter ao formato de trilha única de palestras, que limita a quantidade de vagas mas mantém o nível alto e ajuda a galera a se manter na mesma estação.</p>
<p>Das palestras que eu vi, destaco o <a href="http://twitter.com/shiota" class="aga aga_261">@shiota</a> <a href="http://www.slideshare.net/eshiota/user-experience-para-developers-dev-in-sampa-2011" class="aga aga_262">despertando o lado designer dos programadores</a>, o convite do <a href="http://twitter.com/klauswuestefeld" class="aga aga_263">@klauswuestefeld</a> a <a href="http://sneer.me/" class="aga aga_264">repensar o compartilhamento de informações</a> e o <a href="http://twitter.com/qmx" class="aga aga_265">@qmx</a> <a href="http://blog.qmx.me/devinsampa2011-the-geekiest-conf-ever/" class="aga aga_266">destrinchando a JVM</a>. E dessa vez eu também palestrei, falando sobre <strong><a href="http://www.slideshare.net/chesterbr/programao-para-atari-2600" class="aga aga_267">Programação para Atari 2600</a></strong>:</p>
<div id="__ss_9029368" style="width: 595px;margin-left:30px; text-align:center"><iframe src="http://www.slideshare.net/slideshow/embed_code/9029368" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="595" height="497"></iframe></div>
<p>Foi uma palestra bastante difícil de encaixar no tempo, porque a proposta era habilitar o público a compreender a totalidade de um <a href="http://pastebin.com/abBRfUjd" class="aga aga_268">programa &#8220;Hello, World!&#8221; para Atari</a>, e para isso foi preciso mostrar os elementos básicos do chip de vídeo TIA (usando jogos clássicos para mostrar como eram aplicados) e também dar uma visão rápida do Assembly 6502/6507. Mas o pessoal curtiu, o que me deixou <strong>MUITO</strong> feliz. :-)</p>
<p><b>UPDATE:</b> Saiu o vídeo da palestra &#8211; obrigado, <a href="http://twitter.com/agaelebe" class="aga aga_269">@agaelebe</a> pela edição! Confira abaixo ou <a href="http://blip.tv/dev-in-sampa/devinsampa_2011_chester_atari-5513966" class="aga aga_270">no blip.tv</a>:</p>
<p style="text-align:center"><iframe src="http://blip.tv/play/AYLQxlIC.html" width="550" height="339" frameborder="0" allowfullscreen></iframe><embed type="application/x-shockwave-flash" src="http://a.blip.tv/api.swf#AYLQxlIC" style="display:none"></embed></p>
<p>Recomendo um passeio nos <a href="http://www.slideshare.net/chesterbr/programao-para-atari-2600/138" class="aga aga_271">links do finalzinho (slide 138)</a> para quem quiser se aprofundar mais no assunto (alguns já foram comentados neste blog, como o <a href="http://chester.blog.br/archives/2011/01/racing-the-beam-um-raio-x-do-atari-2600.html" >livro Racing the Beam</a>)<del datetime="2011-09-01T04:02:55+00:00">, e creio que em breve os vídeos das palestras devem ser disponibilizados</del>. Reitero os parabéns e agradecimentos à organização do evento, e espero ver esse povo todo lá no ano que vem!</p>

<p><a href="http://feedads.g.doubleclick.net/~a/rkFK5NIKqDF1mWhFC7aAqDZWKIA/0/da"><img src="http://feedads.g.doubleclick.net/~a/rkFK5NIKqDF1mWhFC7aAqDZWKIA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/rkFK5NIKqDF1mWhFC7aAqDZWKIA/1/da"><img src="http://feedads.g.doubleclick.net/~a/rkFK5NIKqDF1mWhFC7aAqDZWKIA/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://chester.blog.br/archives/2011/08/palestra-sobre-programacao-para-atari-2600-no-dev-in-sampa-2011.html/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Clean Code (Código Limpo), por Robert “Uncle Bob” Martin</title>
		<link>http://chester.blog.br/archives/2011/08/clean-code-codigo-limpo-por-robert-uncle-bob-martin.html</link>
		<comments>http://chester.blog.br/archives/2011/08/clean-code-codigo-limpo-por-robert-uncle-bob-martin.html#comments</comments>
		<pubDate>Sun, 14 Aug 2011 21:39:51 +0000</pubDate>
		<dc:creator>chester</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chester.blog.br/?p=6240</guid>
		<description><![CDATA[Já observei que a maior parte dos programadores com algum tempo de estrada tende a se acomodar, acreditando que o que quer que fosse estado da arte (ou apenas popular) quando a pessoa era ultra-jovem é a verdade absoluta e inenarrável. Não sei se por preguiça, insegurança, ou cansaço, mas muita gente, depois de um [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.submarino.com.br/produto/1/21615263/codigo+limpo:+habilidades+praticas+do+agile+software?franq=273452" class="aga aga_279"><img src="http://chester.blog.br/wp-content/uploads/2011/08/cleancode.jpg" alt="" title="Clean Code" width="199" height="265" class="alignleft size-full wp-image-6241" /></a>Já observei que a maior parte dos programadores com algum tempo de estrada tende a se acomodar, acreditando que o que quer que fosse estado da arte (ou apenas popular) quando a pessoa era ultra-jovem é a verdade absoluta e inenarrável. Não sei se por preguiça, insegurança, ou cansaço, mas muita gente, depois de um tempo, se recusa a a aprender qualquer tecnologia, paradigma ou modo de trabalho novo, em muitos casos se afastando da programação porque já &#8220;aprendeu tudo&#8221;.</p>
<p><a href="http://en.wikipedia.org/wiki/Robert_Cecil_Martin" class="aga aga_280">Robert C. Martin</a> é tiozão, assim como eu. Talvez um tiquinho mais: ele até adotou o nick &#8220;Uncle Bob&#8221;, me fazendo pensar se eu não vou virar o &#8220;Tio Chester&#8221; logo, logo. Mas, tabmém como eu, ele não é acomodado. Muito pelo contrário: entre seu tempo de consultor, desenvolvedor e autor, ele foi um dos criadores do <a href="http://agilemanifesto.org/" class="aga aga_281">Manifesto Ágil</a>, e, mais recentemente, ajudou a consolidar o termo &#8220;Artesanato de Software&#8221; (<em>Software Craftsmanship</em>).</p>
<p>Artesanato, de fato, descreve o dia-a-dia da imensa maioria dos programadores profissionais de forma muito mais completa do que as metáforas tradicionais que giram em torno de engenharia ou administração, reaproximando o ofício das suas raízes na computação, mas levando em conta o aspecto de criação, qualidade e atenção ao ser humano que está na &#8220;outra ponta&#8221;. Uncle Bob postula com muita propriedade que a adoção de uma política de aprendizado constante e qualidade total é fundamental para um profissional digno do nome &#8211; em um <a href="http://www.fabioakita.com/2010/06/16/railsconf-2010-video-entrevista-robert-martin"  class="broken_link aga aga_282" rel="nofollow">bate-papo com o Fábio Akita</a> ele compara o desenvolvimento de software com a medicina, ilustrando muito bem a questão.</p>
<p>O <a href="http://www.submarino.com.br/produto/1/21615263/codigo+limpo:+habilidades+praticas+do+agile+software?franq=273452" class="aga aga_283">Clean Code</a> é um guia sobre um aspecto fundamental da atividade: a criação de código limpo. Mesmo tendo bastante experiência e escrevendo código que eu julgava muito limpo e bem documentado, o livro me mostrou diversas maneiras de escrever código que seja mais fácil de ler e manter. O autor adverte: você pode não concordar com todas as sugestões dele, e provavelmente vai discordar de forma veemente de uma ou duas (no meu caso: deixe meus parâmetros booleanos em paz :-P). Mas o espírito é que conta.</p>
<p><img src="http://chester.blog.br/wp-content/uploads/2011/08/unclebob.jpg" alt="Uncle Bob" title="Uncle Bob" width="244" height="171" class="alignright size-full wp-image-6242" />Ele vai a fundo em uma série de aspectos &#8211; quase todos são possivlemente pequenos detalhes, mas a atenção ao conjunto cria programas que dão orgulho para quem faz e alívio para quem mantém. Os exemplos todos são baseados em Java, mas compreensíveis para qualquer um que tenha conhecimentos básicos de orientação a objeto, e quase todos são aplicáveis a qualquer linguagem.</p>
<p>Comportamentos enraizados no Java (ex.: JavaDoc, encapsulamento via getters/setters) são analisados com a mente limpa, na tentativa de separar o mito da realidade no que diz respeito aos benefícios reais (e possíveis malefícios) de cada um deles. Eu certamente revi meus conceitos quanto à maneira de nomear e dividir os artefatos dentro do meu software, e recomendo o livro para qualquer um que leve a programação a sério, independente da experiência ou área de atuação.</p>
<p>Li a <a href="http://www.amazon.com/Clean-Code-Handbook-Craftsmanship-ebook/dp/B001GSTOAM/ref=sr_1_1?s=digital-text&#038;ie=UTF8&#038;qid=1313356885&#038;sr=1-1" class="aga aga_284">versão Kindle</a> que, apesar de não usar formatação monoespaçada para o código, foi bem confortável de ler, até mesmo no iPod Touch (meu companheiro do ônibus/metrô). Existe uma <a href="http://www.submarino.com.br/produto/1/21615263/codigo+limpo:+habilidades+praticas+do+agile+software?franq=273452" class="aga aga_285">versão nacional</a> (&#8220;Código Limpo&#8221;), mas não sei quão boa é a tradução. Qualquer que seja o formato ou idioma, só não recomendo a leitura se para você programação é só um <i>day job</i>, ou se você acha que o seu jeito é o jeito certo, e todo o resto é modinha. Neste caso, eu torço muito para que a gente se encontre na rua ou na balada, mas jamais em um projeto de software.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/pMl_uBgcdw4vsbIfVV8qTkHqfak/0/da"><img src="http://feedads.g.doubleclick.net/~a/pMl_uBgcdw4vsbIfVV8qTkHqfak/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/pMl_uBgcdw4vsbIfVV8qTkHqfak/1/da"><img src="http://feedads.g.doubleclick.net/~a/pMl_uBgcdw4vsbIfVV8qTkHqfak/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://chester.blog.br/archives/2011/08/clean-code-codigo-limpo-por-robert-uncle-bob-martin.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

