<?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>Léo Hackin 0.2c</title>
	<atom:link href="http://www.leohackin.com.br/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.leohackin.com.br</link>
	<description>Eternamente beta, geralmente funcional</description>
	<lastBuildDate>Sat, 21 Apr 2012 14:33:46 +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>FLISOL/ES 212 e Pomodoros!</title>
		<link>http://www.leohackin.com.br/2012/04/flisoles-212-e-pomodoros/</link>
		<comments>http://www.leohackin.com.br/2012/04/flisoles-212-e-pomodoros/#comments</comments>
		<pubDate>Sat, 21 Apr 2012 14:32:37 +0000</pubDate>
		<dc:creator>Léo Hackin</dc:creator>
				<category><![CDATA[Carreira]]></category>
		<category><![CDATA[Efetividade]]></category>
		<category><![CDATA[eventos]]></category>
		<category><![CDATA[flisol]]></category>
		<category><![CDATA[pomodoros]]></category>

		<guid isPermaLink="false">http://www.leohackin.com.br/?p=610</guid>
		<description><![CDATA[Salve, Rolará no dia 28/04, em Vitória, o evento FLISOL/ES (http://flisol-es.heroku.com/), um evento de âmbito nacional que acontece em várias partes do Brasil. Parafraseando o site: O FLISOL (Festival Latinoamericano de Instalação de Software Livre) é o maior evento de divulgação de Software Livre da América Latina. Ele acontece desde 2005 e seu principal objetivo [...]]]></description>
			<content:encoded><![CDATA[
<p>Salve,</p>
<p>Rolará no dia 28/04, em Vitória, o evento <a href="http://flisol-es.heroku.com/" target="_blank">FLISOL/ES</a> (<a href="http://flisol-es.heroku.com/" target="_blank">http://flisol-es.heroku.com/</a>), um evento de âmbito nacional que acontece em várias partes do Brasil. Parafraseando o site:</p>
<blockquote><p>O FLISOL (Festival Latinoamericano de Instalação de Software Livre) é o maior evento de divulgação de Software Livre da América Latina. Ele acontece desde 2005 e seu principal objetivo é promover o uso de software livre, apresentando sua filosofia, seu alcance, avanços e desenvolvimento ao público em geral.</p>
<p>Com esta finalidade, diversas comunidades locais de software livre (em cada país, em cada cidade/localidade), organizam simultaneamente eventos em que se instala gratuitamente e totalmente legal, software livre nos computadores levados pelos participantes. Também, paralelamente, são oferecidas apresentações, palestras e oficinas, sobre temas locais, nacionais e latinoamericanos sobre Software Livre, com toda sua variedade de expressões: artística, acadêmica, empresarial e social.</p>
<p>O FLISOL 2012 acontece no dia 28 de Abril em diversas cidades.</p></blockquote>
<p>Será um dia de muitas instalações de Linux, muita nerdisse, bate papo, networking e muita troca de experiência.</p>
<p>Entre algumas coisas legais que daria para submeter afim de palestrar no meio da galera, arrisquei e felizmente o pessoal aceitou a submissão de uma palestra falando sobre Pomodoros. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Dentro do âmbito de &#8220;software livre na sua variedade de expressões, inclusive empresarial e social&#8221; enxerguei o Pomodoro como uma coisa que pode melhorar a vida das pessoas e que muita gente que trampa com desevolvimento ou software diretamente pode tirar algum proveito.</p>
<p>A palestra <strong>&#8220;A arte de Pomodorar&#8221;</strong> será um tutorial e também um exemplo de uso real disso no dia-a-dia para mostrar como funciona na prática.</p>
<p>Haverá palestras também de Ruby, WordPress, ShellScript e PfSense &#8230; e claro, muita gente pra trocar idéia. Confira a <a href="http://flisol-es.heroku.com/schedule" target="_blank">grade completa aqui</a>.</p>
<p>Aliás, meus parabéns ao <a href="http://twitter.com/#!/m3nd3s" target="_blank">Almir M3nd3s</a> e o <a href="http://twitter.com/#!/jvrmaia" target="_blank">João Víctor</a> pelo afinco à frente do evento e de tantas outras coisas. Sem pessoas como vocês, as coisas não seriam a mesma coisa no ES. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Simbora.</p>

]]></content:encoded>
			<wfw:commentRss>http://www.leohackin.com.br/2012/04/flisoles-212-e-pomodoros/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Pomodorando na prática</title>
		<link>http://www.leohackin.com.br/2012/04/pomodorando-na-pratica/</link>
		<comments>http://www.leohackin.com.br/2012/04/pomodorando-na-pratica/#comments</comments>
		<pubDate>Wed, 11 Apr 2012 12:16:15 +0000</pubDate>
		<dc:creator>Léo Hackin</dc:creator>
				<category><![CDATA[Efetividade]]></category>
		<category><![CDATA[Cotidiano]]></category>
		<category><![CDATA[pomodoro]]></category>
		<category><![CDATA[prática]]></category>

		<guid isPermaLink="false">http://www.leohackin.com.br/?p=595</guid>
		<description><![CDATA[Todo mundo me pergunta bastante sobre GTD/ZTD e o uso de Pomodoros mas nunca falei como os uso na prática num exemplo real do meu dia-a-dia. Como isso me ajudou, como me ferrei no inicio, como me virei com as interrupções ... vou tentar resumir tudo num post (ou dois) e quem sabe ajudar alguém que tem interesse em começar a usar pomodoros mas não exatamente como. :D]]></description>
			<content:encoded><![CDATA[
<p>Aloha pessoal,</p>
<p><em>Disclaimer: Sempre fui um cara que defende o bordão &#8220;gentileza gera gentileza&#8221; e extremamente fissurado em estudar coisas que melhorem não apenas a minha qualidade de vida mas também das pessoas à minha volta (perto ou longe), no melhor estilo altruísta que posso ser. Desde eventos à palestras e posts, a idéia é sempre ajudar todo mundo com um pouco das experiências que me ajudaram e quem sabe pode ajudar outras pessoas.</em></p>
<p>Todo mundo me pergunta bastante sobre GTD/ZTD e o uso de Pomodoros mas nunca falei como os uso na prática num exemplo real do meu dia-a-dia. Como isso me ajudou, como me ferrei no inicio, como me virei com as interrupções &#8230; vou tentar resumir tudo num post (ou dois) e quem sabe ajudar alguém que tem interesse em começar a suar pomodoros mas não exatamente como. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><span id="more-595"></span></p>
<h2>Para começar</h2>
<p>Para começar a pomodorar, além de saber como se faz (você pode ler isso <a href="http://www.leohackin.com.br/2011/09/ztd-e-pomodoros-2-anos-depois/" target="_blank">aqui</a>, <a href="http://www.pomodorotechnique.com/" target="_blank">aqui</a> e <a href="http://www.leohackin.com.br/2009/11/organizando-o-dia-de-trabalho/" target="_blank">aqui</a>) eu uso:</p>
<ul>
<li><strong>um timer</strong></li>
<ul>
<li>para Mac eu recomendo o <a href="http://pomodoro.ugolandini.com/" target="_blank">Pomodoro</a></li>
<li>para outros sistemas (Windows ou online) <a href="http://gigaom.com/collaboration/9-free-pomodoro-timers/" target="_blank">existem várias opções</a></li>
<li>se o seu trabalho não for com computador, pro iPhone existe um free bacana chamado <a href="http://itunes.apple.com/gb/app/pomodoro-time-management-lite/id323224845?mt=8" target="_blank">PomodoroLE</a> ou qualquer coisa que você possa setar 25 min para o pomodoro e os 5 min de descanso</li>
</ul>
<li><strong>um moleskine ou bloco de folhas</strong> que seja razoavelmente grande para poder escrever a vontade. Não precisa ser uma folha A4 mas também que não seja menor que uma folha de agenda</li>
<li><strong>lapiseira e borracha</strong>, porque assim você pode anotar, apagar e fazer o que quiser</li>
<li>se você trabalhar com mais gente, um (ou mais) sinalizador(es) para que as pessoas saibam que você está no meio de um pomodoro. Esse  sinalizador pode ser um papel escrito <em>&#8220;Estou pomodorando&#8221;</em> ou outras coisas como vou explicar abaixo.</li>
</ul>
<p>A preferência por um meio de papel para anotar seus pomodoros é prática: a todo momento você terá interrupções e em alguns momentos coisas que poderão se tornar novos pomodoros. Isso vai se tornar claro com o passar do tempo em que você começar a utiliza-los.</p>
<p>A idéia de ter um caderno para isso é para que você possa fazer o balanço semanal e diário dos dias anteriores de pomodoro e assim saber exatamente o que você gastou, deu certo e não deu certo.</p>
<h2>Início do dia: planejando os pomodoros</h2>
<p><strong>Toda manhã, antes de fazer qualquer coisa, eu tiro um pomodoro para planejar o que farei durante o dia</strong>. No início fazia isso rápido e sempre descobria que esquecia algo, era muito pessimista (marcando poucos pomodoros) ou otimista pensando <em>&#8220;cada pomodoro tem 25 min e temos 5 min de descanso entre cada um deles então um dia de 8 horas de trabalho tem 16 pomodoros&#8221;. </em>Na prática você precisa ser um monge zen-budista extremamente centrado vivendo num mosteiro para fazer a coisa acontecer assim.</p>
<p>No dia-a-dia, num tipo de caos ordenado, você sempre tem o cafézinho, o telefone, o amigo do lado que conta uma piada, reuniões urgentes e tudo mais que tendem a tomar parte desse tempo. <strong>Não se frustre</strong>: marque os pomodoros que você cumprirá com certeza e foque nas tarefas que realmente precisam de atenção total.</p>
<p><strong><em>Inicio o pomodoro, abro o moleskine e dedico uma página apenas para os pomodoros</em></strong>. Começo escrevendo as tarefas que são as mais importantes com a previsão de pomodoros para elas. Sempre possível, tento separa-las por assunto/projeto para que eu saiba exatamente quanto de esforço eu espero gastar em cada coisa.</p>
<p>Então o exercício mental é: <strong><em>&#8220;O que tenho para fazer hoje. Quantos pomodoros eu vou gastar?&#8221;</em></strong></p>
<p>Nessa hora, criei algumas regras para me ajudar a não ser nem pessimista nem realista demais:</p>
<ul>
<li><strong>nenhuma tarefa pode ultrapassar 5 pomodoros</strong> (2h30m de trabalho). O motivo é simples: tarefas muito longas e complexas são mais fáceis de completar quando a gente quebra ela em pedaços menores. Além de mais fácil, matar tarefas faz um bem danado à motivação. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li><strong>utilizo sempre de 12 a 14 pomodoros por dia</strong>. O restante do tempo eu separo para ler e-mails, tirar dúvidas sobre algo ou de alguém, ajudar em outras coisas e por ai vai.</li>
<li><strong>marco as tarefas mais importantes com asteriscos</strong> e tento concluir elas o mais rápido e com a maior prioridade possível</li>
<li>pomodoros (urgentes e não planejados) que aparecem durante o dia entram com a menor prioridade possível se a situação permitir</li>
<li>reservo sempre dois pomodoros para ler e responder e-mails &#8211; 1 pela manhã e outro a tarde</li>
</ul>
<div>Ontem, minha lista de pomodoros foi:</div>
<div>
<ul>
<li>Loja</li>
<ul>
<li>fazer tela de cadastro hotsite (3 pomodoros) *</li>
<li>buscar dados via REST (3 pomodoros) *</li>
<li>mostrar dados do hotsite no formulário (2 pomodoros)</li>
</ul>
<li>Giran</li>
<ul>
<li>fazer textos site novo (2 pomodoros)</li>
<li>parear com os estagiários (2 pomodoros)</li>
</ul>
<li>Ler/responder e-mails (2 pomodoros)</li>
</ul>
</div>
<p><strong>Além dos pomodoros, escrevo as tarefas avulsas, que geralmente <strong>não levam </strong>um pomodoro para serem feitas, separadas numa seção Tasks para concluir durante os intervalos dos pomodoros ou durante o dia.</strong></p>
<p>Como na folha geralmente sobra espaço, escrevo minhas tarefas mais rápidas numa seção Tasks no rodapé da folha. Essas são tarefas que geralmente não levam mais que 5 min para serem feitas como uma ligação, um e-mail rápido ou qualquer coisa desse gênero mas que você precisa realizar. Por exemplo, minha lista de tasks de ontem foi:</p>
<ul>
<li>Fazer inscrição QCon</li>
<li>Ver andamento site novo</li>
<li>Marcar cardiologista *</li>
<li>Pagar condomínio *</li>
<li>Pagar GVT *</li>
</ul>
<p>Algumas vezes essa lista tem apenas coisas pessoais mas muito pontuais: muitos dos assuntos que temos que resolver infelizmente temos que fazer em algum espaço de tempo que temos durante o dia como pagar uma conta, ir ao banco ou resolver algo na rua. Ter essa lista junto da lista de pomodoros ajuda muito, pois você pode resolver algo num momento entre um pomodoro ou outro e também saber se não vai dar tempo de fazer algo e tomar alguma atitude: remarcar um encontro ou passar a tarefa como prioridade para o outro dia. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Minha folha (essa é a de hoje 11/04) ficou assim:</p>
<div id="attachment_602" class="wp-caption aligncenter" style="width: 468px"><a href="http://www.leohackin.com.br/wp-content/uploads/2012/04/IMG_1428.jpg"><img class=" wp-image-602 " title="Folha de pomodoros e tasks" src="http://www.leohackin.com.br/wp-content/uploads/2012/04/IMG_1428-764x1024.jpg" alt="Folha de pomodoros e tasks" width="458" height="614" /></a><p class="wp-caption-text">Folha de pomodoros e tasks</p></div>
<h2>Durante o dia: pomodorando pra valer</h2>
<p>Depois de planejados os pomodoros, e já começando a contar o tempo de break de 5 min, a primeira coisa que faço é dar uma passada rápida de olho na caixa de e-mail e ver se vou ter que gastar meu pomodoro de leitura/resposta de e-mails. Isso é importante porque alguns e-mails chegam a noite e precisam de algum tipo de feedback o mais prontamente possível. É o break de pegar água/café e se ajeitar na cadeira. hehehe</p>
<p>Aliás, se o que você vai ter que fazer depende muito do que você recebe no e-mail, você pode mover esse pomodoro para ANTES de planejar seus pomodoros do dia. Vai ser muito mais efetivo. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Pego a primeira tarefa mais importate e inicio um pomodoro.</strong></p>
<p>Quando inicio o pomodoro, <strong>eu sinalizo para as pessoas que estou pomodorando tanto virtualmente</strong> (usando o programa de pomodoro que coloca uma mensagem automática no messenger pedindo para aguardar 25 min) <strong>quanto fisicamente</strong> (colocando fones de ouvido ou fazendo cara de concentrado lol ). É importante você fazer as pessoas respeitarem seu tempo e você tirar de sua vista qualquer coisa que atrapalhe. Fechar o messenger (se puder), o twitter, facebook &#8230; tudo que possa te tirar a atenção. <strong>A magia do pomodoro só funcionará se você realmente manter o foco na tarefa.</strong></p>
<p>Se você trabalha em <strong>ambientes bagunçados (no bom ou mau sentido)</strong>, barulhentos ou com muita gente (como eu) propícios para <strong>interrupções frequentes</strong>, apele para o <strong>bom senso e compreensão mútua</strong>. As pessoas hoje já se acostumaram com o fato deu fazer pomodoros o tempo todo e nem me incomodam mais quando estou em meu estado de pomodoro.</p>
<p>Faça um adesivo escrito <em>&#8220;Estou pomodorando&#8221;</em> ou utilize um timer que todos possam ouvir quando inicia e quanto termina. O que importa é que você consiga passar a mensagem de que seus 25 min são importantes para você e que só deve haver interrupção se realmente for necessário.</p>
<p>Tente fazer um pomodoro em dupla ou um pomodoro comunitário. Em dupla de trabalho isso funciona LINDAMENTE e vou começar os testes em breve com grupos de pessoas (experiências serão postadas em breve. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ).</p>
<p><strong>Trim! O pomodoro acabou e começou o break de 5 min. Eu marco um pomodoro na minha folha e olho que tenho que fazer em seguida.</strong></p>
<p>O <strong>break de 5 min</strong> do pomodoro foi feito<strong> para que as pessoas descansem</strong>. O descanso não quer dizer necessariamente gastar o tempo navegando em sites ou olhando para o nada feito um maníaco. <strong>O descanso foi feito para que você possa arejar a cabeça</strong>, possa digerir o que foi feito no pomodoro anterior, tome um café e se prepare para o próximo.</p>
<p><strong>Eu aproveito esses breaks para resolver coisas rápidas</strong> <strong>também</strong>. No tempo de um break eu verifico se existe alguma tarefa rápida que eu possa concluir e me livrar dela. Essa prática tem feito eu resolver muita coisa no tempo que eu nem sabia que existia. Ontem, quando terminei a tarefa pela manhã aproveitei para ligar e marcar rapidinho o cardiologista (saúde sempre em primeiro lugar). Menos uma tarefa para concluir. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>O break termina e o ciclo se repete durante todo o dia.</strong></p>
<p><strong></strong>É importante relembrar que <strong>depois de 4 pomodoros o break é maior</strong>, sendo recomendado geralmente 15 a 30 min. <strong>Na prática, nunca passei de 10 min</strong>. O motivo é o bom senso: 15 min é tempo demais para &#8220;descanso&#8221; que geralmente você tem diluído durante o dia na ida ao café, na volta do almoço ou no início da manhã. Todos sabem que na prática, das 8 horas trabalhamos efetivamente durante 7 horas (ou menos) delas.</p>
<h2>Final do dia: revisão dos pomodoros e reflexões</h2>
<p><strong>Quando termina o dia é hora de contabilizar os pomodoros e tarefas feitas</strong>. Esse momento pode ser tanto antes de ir embora quanto em casa. O importante disso é <strong>poder levantar o que foi resolvido, o que não foi, o que mais causou interrupções</strong> &#8230; enfim, preparar a cabeça para a lista do dia seguinte, <strong>sem pressa</strong>.</p>
<p>Esse momento ajuda (e muito) a tornar o planejamento do dia seguinte mais pé no chão. <em>Muito do que aconteceu (ou deixou de acontecer) durante o dia pode refletir de várias formas no dia seguinte</em>. Por exemplo, ontem eu <strong>não consegui concluir a tarefa</strong> de recuperar os dados via REST e a tarefa durou 5 pomodoros ao invés de 3. Ou seja, errei minha previsão em quase 50%. <strong>Porque?</strong> Essa pergunta revela coisas que podem tornar sua precisão muito maior nos próximos planejamentos.</p>
<p>No caso de <strong>interrupções</strong>, os meninos discutiram bastante sobre uma nova funcionalidade na sala com ânimos mais exaltados na hora de defender conceitos. Isso geralmente acontece a tarde por volta das 16:00. Será que se eu colocar as coisas que merecem mais foco e concentração para manhã eu terei um aproveitamento melhor devido à distração menor? Ou será que foi algo pontual?</p>
<p>A revisão, tanto quanto o planejamento, vai mostrar sempre o que deu de errado e certo no seu dia para que você possa corrigir ou intensificar algo. O importante é transformar esses acontecimentos em aprendizado.</p>
<p><strong>A revisão das tarefas rápidas também é válida</strong>. Descobri que minha namorada pagou a GVT (uhuuuu). Então, eu já posso cortar isso da minha lista de amanhã&#8230; mas pagar o condomínio continuará lá. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<h2>E por ai vai &#8230;</h2>
<p>Essa é o meu uso cotidiano de pomodoros. Muito do uso do pomodoro vai do ambiente em que você trabalha ou vai utiliza-lo. Ele <strong>precisa ser algo que lhe traga satisfação e sentimento de produtividade e não algo frustrante</strong>.<strong> Portanto, comece leve: 6 a 8 pomodoros por dia</strong> são uma ótima pedida.</p>
<p><strong>Acredite e persista</strong>: existem dias que seu foco estará um lixo. Tente fazer menos pomodoros: se cobre menos e tente trabalhar dentro de um <em>caos ordenado</em>. Todo mundo tem &#8220;aqueles dias&#8221;.</p>
<p>Vou postar meu modelo de folha de trabalho para quem quiser seguir um pouco, mas no site do pomodoro tem <a href="http://www.pomodorotechnique.com/book.html" target="_blank">folhas padrão</a> ótimas para isso e uma <a href="http://www.pomodorotechnique.com/resources/pomodoro_cheat_sheet.pdf" target="_blank">folha resumindo de forma rápida a técnica pomodoro</a>. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>No próximo post vou falar um pouco de ZTD na prática, que é onde guardo todas as minhas tasks.</p>
<p><strong>Bons pomodoros e simbora. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </strong></p>

]]></content:encoded>
			<wfw:commentRss>http://www.leohackin.com.br/2012/04/pomodorando-na-pratica/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Bug de ordenação de hashs no Chrome</title>
		<link>http://www.leohackin.com.br/2012/02/bug-de-ordenacao-de-hashs-no-chrome/</link>
		<comments>http://www.leohackin.com.br/2012/02/bug-de-ordenacao-de-hashs-no-chrome/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 12:35:44 +0000</pubDate>
		<dc:creator>Léo Hackin</dc:creator>
				<category><![CDATA[Chrome]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.leohackin.com.br/?p=563</guid>
		<description><![CDATA[Aloha, A algumas semanas venho trabalhando bastante com JavaScript (tanto para projetos pessoais como profissionais) e esbarrei em um problema intrigante &#8230; que depois de alguma pesquisa vi que é algo polêmico. Trabalhando em algumas melhorias para o Sooner, uma extensão para Chrome para trabalhar com o ReadItLater, uma das issues requeridas pelo pessoal era [...]]]></description>
			<content:encoded><![CDATA[
<p>Aloha,</p>
<p>A algumas semanas venho trabalhando bastante com JavaScript (tanto para projetos pessoais como profissionais) e esbarrei em um problema intrigante &#8230; que depois de alguma pesquisa vi que é algo polêmico.</p>
<p>Trabalhando em algumas melhorias para o <a href="https://chrome.google.com/webstore/detail/mifafnghbieophofjinbniahjpiodpnm" target="_blank">Sooner</a>, uma extensão para Chrome para trabalhar com o <a href="http://readitlaterlist.com/" target="_blank">ReadItLater</a>, uma das issues requeridas pelo pessoal era que ao inserir uma nova página ao serviço, a listagem mantivesse a ordenação colocando o último item adicionado sempre no topo. O ReadItLater, que vou abreviar para RIL,  trabalha com uma API que trafega dados de duas formas: JSON ou XML.</p>
<p>Obviamente que a escolha foi o JSON devido à enorme facilidade de manipulação. Depois de adicionar uma nova página e chamar o serviço de recuperação das páginas, o RIL me retorna as páginas como no exemplo (extremamente simplificado) abaixo:</p>
<pre>{
   "list":{
      "2":{
         "url":"http://url.com",
         "time_updated": "<span style="text-decoration: underline;"><strong>2012022</strong></span>0180000",  
      },
      "1":{
         "url":"http://google.com",
         "time_updated": "<span style="text-decoration: underline;"><strong>20120219</strong></span>180000",
      }
   }
}</pre>
<p>Neste exemplo, a coleção <em>list</em> contém um <a href="http://pt.wikipedia.org/wiki/Hash" target="_blank">hash</a> com dois objetos cujos índices são números com uma ordenação definida pelo RIL de acordo com o campo <em>time_update</em>: ele sempre retorna os registros ordenados pela data de atualização em ordem decrescente.</p>
<p><strong>Ok! Nada de interessante até aí</strong>. Vou fazer uma iteração na lista com um <strong><em>for &#8230; in</em></strong> e renderiza-los normalmente. Usei o seguinte código:</p>
<div class="codecolorer-container javascript blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:550px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> pageIndex <span style="color: #000066; font-weight: bold;">in</span> ril.<span style="color: #660066;">list</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<span style="color: #003366; font-weight: bold;">var</span> page <span style="color: #339933;">=</span> ril.<span style="color: #660066;">list</span><span style="color: #009900;">&#91;</span>pageIndex<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
document.<span style="color: #000066; font-weight: bold;">write</span><span style="color: #009900;">&#40;</span>page.<span style="color: #660066;">url</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>Para minha surpresa o resultado foi:</p>
<ul>
<li>http://google.com</li>
<li>http://url.com</li>
</ul>
<p>Ou seja, o <strong>Chrome ao executar a iteração nos objetos converteu os indices para numéricos e re-ordenou a lista</strong>, ignorando a ordem em que eles estavam. Para fazer o teste de São Tomé, abra o Javascript Console do seu Chrome (no Mac é <em>Command + Option + J</em> ou pelo menu <em>View &gt; Developer &gt; JavaScript Console</em>), copie e cole o seguinte código:</p>
<div class="codecolorer-container javascript blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:550px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">var</span> lista <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span><span style="color: #3366CC;">&quot;2&quot;</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;2&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;1&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;1&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;a&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;a&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span><br />
<span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> index <span style="color: #000066; font-weight: bold;">in</span> lista<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> console.<span style="color: #660066;">log</span><span style="color: #009900;">&#40;</span>index<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>O resultado esperado seria esse:</p>
<ul>
<li>2</li>
<li>1</li>
<li>a</li>
</ul>
<p>Mas o resultado será esse:</p>
<ul>
<li>1</li>
<li>2</li>
<li>a</li>
</ul>
<p>Agora, abra o console do <strong>Safari ou do Firefox</strong>, coloque o mesmo código e faça o teste. <strong>A iteração dá certo!</strong> <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Seria esse um mole do Chrome ou eu que estava fazendo algo errado?</p>
<h2>O problema polêmico</h2>
<p>Depois de pesquisar um pouco me defrontei com duas issues (<a href="http://code.google.com/p/v8/issues/detail?id=164" target="_blank">#164</a> do  V8 JavaScript Engine que roda dentro do Chrome e <a href="http://code.google.com/p/chromium/issues/detail?id=37404" target="_blank">#37404</a> do projeto Chromium) que discorrem bastante sobre o problema, com pessoas defendendo e argumentando de forma fervorosa vários pontos das RFCs e padrões do <a href="http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf" target="_blank">ECMA Script 262</a> (usado como base  das engines JavaScript na maioria dos browsers modernos) fazendo contrapontos com a questão da necessidade de manter uma compatibilidade pelo bem da web como um todo. Basicamente, o que é discutido numa cronologia mais didática é:</p>
<ul>
<li>A (especificação) ECMA-262 não especifica uma ordem de enumeração. O Chrome respeita a ordem de um hash exceto se existirem indices numéricos, onde ele tenta tenta transformar o indice num integer e ordena as iterações de acordo com esse resultado.</li>
<li>De acordo com a especificação do Javascript, &#8220;<em>A for&#8230;in loop iterates over the properties of an object in an arbitrary order</em>&#8221; (<a href="https://developer.mozilla.org/en/JavaScript/Reference/Statements/For...in" target="_blank">https://developer.mozilla.org/en/JavaScript/Reference/Statements/For&#8230;in</a>).</li>
<li>De acordo com a RFC do JSON (lembrado bem pelo <a href="https://twitter.com/#!/jeffersongirao" target="_blank">@jeffersongirao</a>), &#8221;<em>An object is an unordered collection of zero or more name/value pairs</em>&#8221; (<a href="http://www.ietf.org/rfc/rfc4627.txt" target="_blank">http://www.ietf.org/rfc/rfc4627.txt</a>)</li>
<li>Ao mesmo tempo, de acordo com o ECMA-262 (12.6.4) sobre for&#8230;in &#8221;<em>The mechanics and order of enumerating the properties (step 6.a in the first  algorithm, step 7.a in the second) is not specified.</em>&#8220; Ou seja, a implementação da enumeração não é especificada e por isso dependente de quem o implementa. O pessoal do Chrome então resolveu implementar ao pé da letra (de modo evasivo ou não) enquanto o pessoal dos outros navegadores decidiu fazer de outra forma.</li>
<li>Há de fato uma interpretação que cada navegador decidiu fazer de um jeito que acha bacana e certo, mas todos concordam que manter a compatibilidade seria uma boa idéia.</li>
<li>No caso do Chrome, todos enxergam isso como um &#8220;bug&#8221; pois a maioria dos outros browser modernos tem ido na direção de ditar o que seria o modo standard de iterar num hash mantendo sua ordem</li>
<li>Esse &#8220;bug&#8221; tem trazido muita dor de cabeça para o pessoal pois força a manter implementações alternativas ou corrigir comportamentos que devem utilizar essa forma de iterações em hashs ordenados</li>
<li>Até a presente data, o &#8220;problema&#8221; não foi resolvido nem existe posicionamento do pessoal do Chrome para corrigi-lo. Talvez numa revisão do ECMA ou versão nova.</li>
</ul>
<p>Recomendo a quem quiser ler e tirar sua própria opinião, ler esses dois tópicos (issue <a href="http://code.google.com/p/v8/issues/detail?id=164" target="_blank">#164</a> e issue <a href="http://code.google.com/p/chromium/issues/detail?id=37404" target="_blank">#37404</a>): é uma discussão muito bacana e velha (desde 2008). Inclusive o <a href="http://ejohn.org/blog" target="_blank">John Resig</a>, criador do jQuery, <a href="http://ejohn.org/blog/javascript-in-chrome/" target="_blank">fala sobre esse e outros bugs num post de 2008</a>.</p>
<p>Importante notar que num <a href="http://blog.chromium.org/2012/02/future-of-javascript-take-peek-today.html" target="_blank">recente post do pessoal do Chromium sobre o Harmony</a>, uma versão nova/revisada do ECMA Script que está sendo feita em conjunto com o comitê do ECMA desde 2008, várias novas features foram apresentadas mas uma em especial ainda está indefinida. Advinha qual é? <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<h2>Como resolver</h2>
<p>Bom, com um pepino desses para descarcar, existem algumas alternativas para contornar o problema:</p>
<ol>
<li>Quando trabalhar com hashs com indices numéricos, adicione um _ (underline) às chaves para manter a ordenação, como abaixo:
<p><code class="codecolorer javascript default"><span class="javascript">&nbsp;<span style="color: #003366; font-weight: bold;">var</span> lista <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span><span style="color: #3366CC;">&quot;_2&quot;</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;2&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;_1&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;1&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;a&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;a&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span></span></code></p>
<p>Isso evitará que o Chrome faça a conversão para inteiro e assim manterá a ordenação no melhor estilo <em>gambi design patterns</em>.</li>
<li>Trabalhe com arrays de objetos ao invés de hashs com indices numéricos. Se você conseguir ter controle na geração do dicionário de dados e precise iterar mantendo a ordem dos itens, transforme seu hash com indices num array de objetos  como abaixo:
<p><code class="codecolorer javascript default"><span class="javascript"><span style="color: #003366; font-weight: bold;">var</span> lista <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#123;</span><span style="color: #3366CC;">&quot;2&quot;</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;2&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#123;</span><span style="color: #3366CC;">&quot;1&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;1&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#123;</span><span style="color: #3366CC;">&quot;a&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;a&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span></span></code></li>
<li> Se não puder alterar a forma de trabalho de sua array, como por exemplo um resultado que vem de um webservice de terceiros, tente trabalhar de uma forma alternativa como trabalhar os dados em XML. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </li>
<li>Se não puder fazer nenhum das alternativas acima, <em>senta e chora</em>.</li>
</ol>
<h3>Resumo da ópera</h3>
<p>Infelizmente, não existe outra forma se não burlar o bug ou refatorar seu programa para que evite trabalhar com hashs com indices numéricos caso você precise trabalhar com eles numa ordem pré-definida.</p>
<p>Vale a pena acompanhar essa nova proposta do ECMA e torcer para que eles definam de uma vez a forma padrão e mais ainda para que seja mantida essa forma que foi de certa forma colocada como standard pelos browsers.</p>
<p>Assim como o W3C vem dando cabeçada atrás de cabeçada para liberar de uma vez novas especificações da HTML e CSS, acho importantíssimo e crítico que o próprio mercado possa &#8220;dar a real&#8221; e consiga colocar o que interessa para os desenvolvedores como base de aprovação para o novo ECMA.</p>
<p>Simbora. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

]]></content:encoded>
			<wfw:commentRss>http://www.leohackin.com.br/2012/02/bug-de-ordenacao-de-hashs-no-chrome/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Sooner 0.8 lançado</title>
		<link>http://www.leohackin.com.br/2012/02/sooner-0-8-lancado/</link>
		<comments>http://www.leohackin.com.br/2012/02/sooner-0-8-lancado/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 19:42:05 +0000</pubDate>
		<dc:creator>Léo Hackin</dc:creator>
				<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Labs]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[readitlater]]></category>
		<category><![CDATA[ril]]></category>
		<category><![CDATA[sooner]]></category>

		<guid isPermaLink="false">http://www.leohackin.com.br/?p=559</guid>
		<description><![CDATA[Aloha pessoal, Depois de um hiato bem grande, voltemos à programação normal. A algum tempo lancei uma extensão pro Google Chrome chamada Sooner para ver e adicionar páginas à minha conta do ReadItLater. O ReadItLater é um serviço bem conhecido e antigo para guardar urls de todo o tipo e &#8220;ler depois&#8221;, como o próprio [...]]]></description>
			<content:encoded><![CDATA[
<p>Aloha pessoal,</p>
<p>Depois de um hiato bem grande, voltemos à programação normal. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>A algum tempo lancei uma extensão pro Google Chrome chamada <strong>Sooner</strong> para ver e adicionar páginas à minha conta do <a href="http://readitlaterlist.com/" target="_blank">ReadItLater</a>. O <strong>ReadItLater</strong> é um serviço bem conhecido e antigo para guardar urls de todo o tipo e &#8220;ler depois&#8221;, como o próprio nome diz, e oferece uma API para criação de aplicativos que usem o serviço. O grande problema era que não havia uma forma rápida e direta de adicionar, ler e remover páginas em nenhum navegador. No Chrome existiam opções que eram bacanas mas não agradavam ou na usabilidade ou no funcionamento.</p>
<p>Com isso, e a curiosidade de fazer uma extensão pro Chrome pra aprender e brincar um pouco, nasceu o <strong>Sooner</strong> sem muita pretensão até que algum tempo atrás vi que várias pessoas eram feedbacks legais e tinha sido incluído na páginas e extensions do serviço. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Para baixar, basta acessar o link <a href="https://chrome.google.com/webstore/detail/mifafnghbieophofjinbniahjpiodpnm" target="_blank">https://chrome.google.com/webstore/detail/mifafnghbieophofjinbniahjpiodpnm</a> e pedir para instalar. Depois é só logar com sua conta do RIL (se não tiver ainda uma conta cadastre em <a href="http://readitlaterlist.com/signup" target="_blank">http://readitlaterlist.com/signup</a>) e pronto. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>As novidades</h2>
<p>Em relação à versão 0.7, foram adicionadas features que o pessoal havia pedido.</p>
<ul>
<li>link para recarregar a lista, pois o RIL pode ser usado através de vários aplicativos e recarregar a lista pode ser necessário em algum momento</li>
<li>campo de busca, para buscar páginas da lista através de uma palavra ou termo. A busca está bem simples e buscando pelo titulo mas possivelmente no futuro procure na URL também</li>
<li>correção de um bug na listagem, pois o Chrome (isso vai render até um post) sempre re-ordenava os itens que vinham do RIL.</li>
<li>um novo design do tipo, para deixar os itens de adicionar, busca e recarregar lista em lugares de uso mais simplificado e direto.</li>
</ul>
<div>Uma lista de novas features vem por aí, mas algumas já foram escolhidas como:</div>
<div>
<ul>
<li>lista ordenável por título, link, páginas mais novas ou velhas</li>
<li>criação automática de conta através da página de opções</li>
<li>versão &#8220;text only&#8221; dos links, que é um serviço do RIL bem bacana.</li>
</ul>
<div>Se curtir, <a href="https://chrome.google.com/webstore/detail/mifafnghbieophofjinbniahjpiodpnm" target="_blank">dá uma instalada lá e experimenta</a>! Se não, dá um macaquinho para trás. hehehe</div>
</div>
<div>Simbora.</div>

]]></content:encoded>
			<wfw:commentRss>http://www.leohackin.com.br/2012/02/sooner-0-8-lancado/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Rock and Rails: Ruby e Rails no ES! :)</title>
		<link>http://www.leohackin.com.br/2011/09/rock-and-rails-ruby-e-rails-no-es/</link>
		<comments>http://www.leohackin.com.br/2011/09/rock-and-rails-ruby-e-rails-no-es/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 00:19:48 +0000</pubDate>
		<dc:creator>Léo Hackin</dc:creator>
				<category><![CDATA[eventos]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[evento]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rockandrails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.leohackin.com.br/?p=550</guid>
		<description><![CDATA[Aloha amigos, Passando rapidamente para informar com grande prazer mais um evento organizado pela Giran (@giran_br) em solos capixabas. No dia 01/10/11 (011011 em binário é 27 woooow!) o Rock and Rails, o primeiro evento de Ruby e Rails do ES. Estamos muito orgulhos e anciosos com o evento pois não conhecemos muitos devs Ruby/Rails [...]]]></description>
			<content:encoded><![CDATA[
<p><a href="http://www.leohackin.com.br/wp-content/uploads/2011/09/logo_rock_and_rails11.png"><img class="aligncenter size-full wp-image-553" title="logo_rock_and_rails11" src="http://www.leohackin.com.br/wp-content/uploads/2011/09/logo_rock_and_rails11.png" alt="" width="270" height="143" /></a></p>
<p>Aloha amigos,</p>
<p>Passando rapidamente para informar com grande prazer mais um evento organizado pela <strong><a href="http://giran.com.br" target="_blank">Giran</a></strong> (<a href="http://twitter.com/giran_br" target="_blank">@giran_br</a>) em solos capixabas. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>No dia <strong>01/10/11</strong> (011011 em binário é 27 woooow!) o <a href="http://rockandrails.com.br" target="_blank">Rock and Rails</a>, o primeiro evento de <strong>Ruby e Rails do ES</strong>. Estamos muito orgulhos e anciosos com o evento pois não conhecemos muitos devs Ruby/Rails no ES e esse é uma oportunidade muito bacana de conhecer não apenas quem já conhece um pouco da linguagem mas também falar da linguagem pra quem apenas houve falar dela por aí.</p>
<p>Entre os palestrantes estão algumas pessoas da Giran e de outras empresas. Irei palestrar um pouco sobre testes usando RSpec e espero que dê tudo certo. (risos).</p>
<p id="internal-source-marker_0.6736510957125574" dir="ltr">O <strong><a href="http://rockandrails.com.br" target="_blank">Rock and Rails</a></strong> será um evento dedicado ao desenvolvimento em Ruby e a framework Ruby on Rails, cuja aceitação e adoção nas empresas está em franco crescimento.   Este evento é inédito no estado e tem como objetivos principais disseminar o conhecimento da linguagem/framework e dar uma ideia da quantidade de interessados/profissionais/entusiastas não apenas da linguagem mas do desenvolvimento para internet.</p>
<p dir="ltr">O evento está sendo organizado pela equipe da <a title="http://www.giran.com.br" href="http://www.giran.com.br/" target="_blank">Giran Ecommerce Solutions</a> e não terá fins lucrativos: todos os recursos obtidos junto aos parceiros, patrocinadores e incrições será revertido para cobertura do evento e compra de brindes para sorteio ao final do evento.</p>
<p dir="ltr"><strong>Formato do evento</strong></p>
<p dir="ltr">O evento contará com 2 tipos de palestras: além das regulares (em torno de 45 min) teremos algumas <a href="http://pt.wikipedia.org/wiki/Lightning_Talk" target="_blank">Lightning Talks</a>, que são micro-palestras muito rápidas de 5 minutos onde as pessoas falam sobre assuntos muito específicos de modo a mostrar por exemplo uma técnica, uma ferramenta e coisas do gênero.</p>
<p dir="ltr">A inscrição do evento é de R$ 20,00, simbólicos apenas para pagar os custos do evento e comprar brindes e coisas do tipo. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p dir="ltr">Irado né? Então não perca tempo, pois as inscrições já estão acabando.<a href="http://www.rockandrails.com.br/inscricao/" target="_blank">Faça já sua inscrição e</a>, porque não, <a href="http://www.rockandrails.com.br/o-evento/" target="_blank">ajude a divulgar o evento</a>.</p>
<p dir="ltr">Siga-nos no twitter (<a href="http://twitter.com/rockandrails" rel="nofollow" target="_blank">@rockandrails</a> ) e mande o seu “Eu vou ao <a href="http://twitter.com/rockandrails" rel="nofollow" target="_blank">@rockandrails</a> !”. Ou mesmo pelo <a href="http://www.facebook.com/groups/138369966254056/">Facebook</a>, qualquer ajuda na divulgação será muito bem vinda!</p>
<p dir="ltr">Visite a página do evento e conheça todos os detalhes: <a href="http://www.rockandrails.com.br/" target="_blank">www.rockandrails.com.br</a>.</p>
<div class="codecolorer-container html4strict blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:550px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://rockandrails.com.br&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_blank&quot;</span>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/img.html"><span style="color: #000000; font-weight: bold;">img</span></a> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.rockandrails.com.br/wp-content/uploads/2011/08/banner-divulgacao.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;</span></div></td></tr></tbody></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.leohackin.com.br/2011/09/rock-and-rails-ruby-e-rails-no-es/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>ZTD e Pomodoros (2 anos depois)</title>
		<link>http://www.leohackin.com.br/2011/09/ztd-e-pomodoros-2-anos-depois/</link>
		<comments>http://www.leohackin.com.br/2011/09/ztd-e-pomodoros-2-anos-depois/#comments</comments>
		<pubDate>Tue, 06 Sep 2011 01:41:50 +0000</pubDate>
		<dc:creator>Léo Hackin</dc:creator>
				<category><![CDATA[Carreira]]></category>
		<category><![CDATA[Cotidiano]]></category>
		<category><![CDATA[Efetividade]]></category>
		<category><![CDATA[gtd]]></category>
		<category><![CDATA[pomodoro]]></category>
		<category><![CDATA[xp]]></category>
		<category><![CDATA[ztd]]></category>

		<guid isPermaLink="false">http://www.leohackin.com.br/?p=528</guid>
		<description><![CDATA[Aloha! A exatos dois anos eu estava num turbilhão de coisas acontecendo simultaneamente e todas elas eram &#8220;urgentes&#8221;. Comecei a utilizar algumas ferramentas para me organizar na minha então então vida de programador-gestor-empresário-cara-do-cafézinho a então recente aberta Giran. Alguns meses depois estava usando durante o dia a combinação Mapas Mentais + GTD + Pomodoros. Praticamente [...]]]></description>
			<content:encoded><![CDATA[
<p>Aloha!</p>
<p>A exatos dois anos eu estava num turbilhão de coisas acontecendo simultaneamente e todas elas eram &#8220;urgentes&#8221;. Comecei a utilizar algumas ferramentas para me organizar na minha então então vida de <em>programador-gestor-empresário-cara-do-cafézinho</em> a então recente aberta <a href="http://www.giran.com.br" target="_blank">Giran</a>.</p>
<p>Alguns meses depois estava usando durante o dia a combinação Mapas Mentais + GTD + Pomodoros. Praticamente dois anos depois, muitas das coisas foram adaptadas, melhoradas e repensadas e geraram até uma palestra que fiz na <a href="http://www.giran.com.br" target="_blank">Giran</a> e para outras empresas. Conversando com as pessoas, vi que muita gente ainda fica surpreendida ou mesmo não conhece formas legais de se manter atualizado.</p>
<p><strong>Você é organizado ? Já tentou se organizar pra trabalhar melhor ?</strong><br />
<strong>Sua forma de organização lhe permite trabalhar de forma efetiva e com qualidade de vida ?</strong></p>
<p>Este artigo é uma versão atualizada, otimizada e re-organizada de um <a href="http://www.leohackin.com.br/2009/11/organizando-o-dia-de-trabalho/">antigo post</a> meu sobre como organizar o dia-a-dia com uma diferença legal que é mostrar um pouco de como tento me organizar &#8220;na prática&#8221;. Muito do que vou escrever é um resumo transformado em práticas do que li e aprendi com o <strong>GTD</strong> (do grande David Allen), <strong>ZTD</strong> (uma versão simplificada e mais prática do GTD que eu sigo bastante hoje em dia criada pelo Leo Babauta do <a href="http://zenhabits.net/" target="_blank">Zen Habits</a>), a <strong>técnica do <a href="http://www.pomodorotechnique.com/" target="_blank">Pomodoro</a></strong> (para realização de tarefas no dia-a-dia) e <strong>XP - Extreme Programming</strong> (método de desenvolvimento de software que para mim vai muito além do software).</p>
<p>Hoje estou usando efetivamente ZTD + Pomodoros.</p>
<p>A leitura é longa &#8230; espero que ao final ela sirva de algo para você. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>1) antes de tudo, organize o macro sua vida num mapa mental</h2>
<p>O primeiro grande problema que sempre tive foram as dezenas de coisas que queria fazer e realizar ao mesmo tempo. Se você é uma pessoa focada e que não tem muitos hobbies ou interesses, provavelmente isso não fará sentido para você. Mas agora coloque todas as coisas que você quer fazer (TUDO MESMO): quero voltar a tocar guitarra, tocar bateria, brincar com meu Arduino, voltar a escrever, escrever mais no blog, aprender ao menos 3 linguagens de programação, trocar meu carro e &#8230; e &#8230; e &#8230; ufa! São tantas coisas.</p>
<p>Uma das partes que mais gera <strong>stress</strong> é aquela sensação que o cérebro tem de que coisas inacabas estão por fazer. Ele fica te lembrando a todo momento de que algo tem que ser acabado e isso surge nas horas mais inoportunas possíveis: com sua família, antes de dormir, ao ver algo para comprar relacionado com algo inacabado. Talvez você já tenha se pegado pesquisando por dias algo relacionado a uma vontade reprimida ou inacabada para deixar isso por Terra logo após alguns dias.</p>
<p>Você quer caminhar, compra um tênis super bacana, caminha por uma semana e deixa isso pra lá, porque tem outras coisas a sempre feitas. Tudo isso oprime e <strong>stressa</strong> todo um sistema que, já desorganizado, tende ao <strong>colapso</strong> em ocasiões como essa.</p>
<p>A descontinuidade não é apenas culpa do comprometimento por si só, mas culpa de um sistema já sobrecarregado de N prioridades que ficam indo e vindo em sua cabeça e tirando seu foco principal naquele momento da sua vida. &#8220;<em>Muito do stress que as pessoas sentem não vêm de ter muito a se fazer. Ele vêm de não terminar o que elas começaram</em>&#8221; [David Allen].</p>
<p><!-- p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Trebuchet MS'} -->A solução para mim foi utilizar um <strong>mapa mental</strong>. Uma mapa mental é <strong>basicamente um diagrama com várias ramificações que te dá oportunidade de ver de forma macro e segmentada um conjunto grande de informações relacionadas</strong>. Esta forma de organização pode ser usada de várias formas e é largamente usada para passar idéias de projetos, organizações e tudo mais. O grande barato disto é a forma como nosso cérebro consegue visualizar as relações entre nossas necessidades de uma forma muito mais efetiva que várias listas.</p>
<div id="attachment_529" class="wp-caption aligncenter" style="width: 627px"><a href="http://www.leohackin.com.br/wp-content/uploads/2011/05/mapa_mental_plan_jose_maria.png"><img class="size-full wp-image-529" title="Organizando um pouco do dia" src="http://www.leohackin.com.br/wp-content/uploads/2011/05/mapa_mental_plan_jose_maria.png" alt="" width="617" height="338" /></a><p class="wp-caption-text">Organizando um pouco do dia</p></div>
<p><strong>A idéia principal do mapa mental nesse momento é você organizar e separar da forma mais visual possível a sua vida</strong>. Em média, com menos de uma hora você conseguirá colocar no mapa tudo o que você acha que tem que ser feito para que você seja &#8220;feliz e organizado&#8221;. Vale botar tudo nesse mapa e que lhe atormenta em algum momento: sua vida profissional, pessoal, sonhos a curto e médio prazo. Isso significa desde as coisas que você tem que realizar nas próximas semanas até colocar o carro que você quer comprar em algum tempo ou as coisas que você quer comprar para seu homeoffice ou sua sala nova. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Evite detalhar as coisas nesse momento</strong>: escreva elas da forma mais direta possível. Isso vai funcionar a partir da idéia que seu objetivo é listar tudo o que você acha que tem ou que quer concluir agora, amanhã, semana que vem ou em alguns meses.</p>
<p>A ferramenta que venho usando desde sempre é o <strong>MindMeister</strong> (<a href="http://www.mindmeister.com/" target="_blank">http://www.mindmeister.com/</a>). Ele é online, gratuito (até 6 mapas) e tem versão pro iPad. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Existem outras opções para trabalhar direto em seu computador como o <a href="http://freemind.sourceforge.net/" target="_blank">FreeMind</a> (gratuito e mais simples) e o <a href="http://www.mindjet.com/products/mindmanager-8-win/overview" target="_blank">MindManager</a> (pago mas bem completo).</p>
<p>Independente da ferramenta, a meta é esvaziar a cabeça.</p>
<h2>2) depois de organizar, planeje e decomponha</h2>
<p>Agora que você &#8220;<em>deu nome aos bois</em>&#8220;, tome um bom café/refri/cerveja, contemple seu mapa e eleja o que deve ser feito nas próximas semanas. Algumas coisas que você pode ter colocado no mapa mental e que não tinham data para realizar provavelmente, como num passe de &#8220;mágica&#8221;, agora poderão parecer mais &#8220;realizáveis&#8221;. Agora você consegue ver com mais clareza tudo o que é importante (ou não) para você.</p>
<p>Neste ponto, é importante que você priorize o que lhe trará mais do retorno que você busca em seu momento pessoal.</p>
<ul>
<li>se o seu momento pessoal for de retorno financeiro, priorize as idéias que lhe trarão dinheiro</li>
<li>se o seu momento pessoal for de conhecimento, priorize as idéias que lhe farão estudar mais o que você deseja conhecer</li>
</ul>
<p>Antes de partir, você deve fazer algumas decisões que as vezes passam desapercebidas em nosso dia. Muita gente simplesmente deixou de fazer seus planejamentos sinceros de vida se deixando levar pelo cotidiano e imediatismo de um dia-a-dia cada vez mais dinâmico. <strong>Pare, olhe e escute </strong>&#8230; o que você tem que fazer agora para satisfazer seu momento pessoal de vida? Dinheiro, conhecimento, fama ou algo totalmente pessoal? Faça isso com a cabeça fria, tranquilo e num lugar calmo e zen. Abra seu coração, faça uma reflexão: esse momento provavelmente irá te trazer muito mais respostas do que você pensa. <strong>Talvez sua vida mude</strong> &#8230; talvez não &#8230; pra bem ou pra ruim &#8230; mas de forma mais realista. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Como a idéia aqui é mostrar isso na prática, vou pegar meu exemplo: meu momento é <em>procurar um apartamento, implementar um projeto irado na empresa, entregar um projeto de iPad</em>. Se eu conseguisse voltar a tocar guitarra e compor/gravar música eu ficaria muito feliz&#8230; mas isso é <em>realmente importante</em> pro que eu acho que é prioridade pra mim? Tome cuidado com o excesso de coisas neste momento. As vezes acabamos querendo fazer tantas coisas ao mesmo tempo que arriscamos duas coisas muito importantes em nossa vida: nossas vidas em si e nosso convívio social/familiar. <strong>Mantenha o curso e o foco! |o|</strong></p>
<p>Uma prática que poderá ajudar é tranformar essas coisas que escolhemos em histórias, o que na verdade elas são. &#8220;<em>Procurar um apartamento</em>&#8221; é uma história grande: um verdadeiro épico. Dentro dela terei várias histórias como &#8220;procurar um apartamento&#8221;, &#8220;procurar um financiamento&#8221;, &#8220;juntar fiadores&#8221;, &#8220;juntar documentos&#8221; e por ai vai. Essa forma de criar histórias vai te ajudar bastante ter uma pré-decomposição das coisas que você deseja fazer e principalmente será sempre &#8220;entendível&#8221; quando voltar voltar à sua lista.</p>
<p><strong>Tente definir inicialmente dois ou três grandes objetivos da semana</strong>. Isso vai lhe dar uma ótima oportunidade de comprometimento e motivação para matar aquilo. <em>É batata</em>: após um ou dois meses você vai sentir o quanto fazer as coisas &#8220;pouco a pouco&#8221;  vai representar uma grande diferença na sua lista. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <strong>Não aumente o número de objetivos semanais sem ter certeza de que isso lhe trará mais prazer que sacríficio</strong>, a não ser que isso valha a pena. <span style="text-decoration: underline; color: #0000ff;"><strong>Não esqueça de ter uma vida</strong></span>.</p>
<p><strong>Meus objetivos da semana seriam</strong> conseguir ligar para algumas imobiliárias, fazer o planejamento inicial do novo projeto interno da empresa e fazer os testes finais de meu projeto para iPad. Pense sempre na certeza que é <strong>de &#8220;grão em grão que a galinha enche o papo&#8221;</strong>. Com esses objetivos você vai conseguir fazer algo que inicialmente pode parecer gigante e trabalhoso. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Bom, com isso eu <strong>planejei trabalho pra bastante tempo. Agora é hora de decompor as coisas para conseguir transforma-las em tarefas</strong>. Porque isso é importante? Porque é com isso que você vai lidar no dia-a-dia.</p>
<p>O princípio básico é que você consiga dividar algumas de suas &#8220;histórias&#8221; em &#8220;tarefas&#8221;. Por exemplo: quero comprar um apartamento. Duas das coisas que listei em meu mapa mental é &#8220;<em>Procurar um apartamento entre até um milhão de reais</em>&#8221; (hahah, se é pra fictício, vamos aproveitar) e &#8220;<em>procurar financiamentos</em>&#8220;. Se você fazer uma reflexão rápida do que é &#8220;<em>procurar um apartamento</em>&#8220;, vai pensar &#8220;<em>posso procurar em várias imobiliárias</em>&#8220;. Então, sua ação não é apenas procurar mas ligar pra várias delas. Bem como procurar o apartamento, procurar o financiamento envolve procurar vários financiamentos. Temos no final das contas uma lista de tarefas para serem feitas. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div id="attachment_530" class="wp-caption aligncenter" style="width: 712px"><a href="http://www.leohackin.com.br/wp-content/uploads/2011/05/Captura-de-tela-2011-05-22-às-13.10.33.png"><img class="size-full wp-image-530" title="Histórias viram tarefas :)" src="http://www.leohackin.com.br/wp-content/uploads/2011/05/Captura-de-tela-2011-05-22-às-13.10.33.png" alt="Histórias viram tarefas :)" width="702" height="279" /></a><p class="wp-caption-text">Histórias viram tarefas <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p></div>
<p>Agora sim: <strong>temos coisas mais tangíveis e &#8220;realizáveis&#8221;</strong> do que algo abstrato como &#8220;<em>Procurar apartamento até 1 milhão</em>&#8220;.</p>
<p>Apesar de ter feito essa separação neste mapa mental, você também pode fazer isso num sistema de listas, como explicarei a seguir.</p>
<h2>3) cadastre histórias e tarefas em um sistema de listas simples e confiável</h2>
<p>Muita gente é atendida plenamente apenas por mapas mentais. Todavia, e esse é meu caso, muita gente tem uma lista de histórias e tarefas e serem realizadas muito dinâmica e que vive sempre mudando. Por exemplo, escolhi além de comprar um apartamento, implementar um projeto interno e entregar outro projeto desenvolvimento pra iPad. São dois objetivos que tem muitas tarefas distintas e que gerenciar num mapa mental poderia ser não apenas trabalhoso mas muito confuso.</p>
<p>Seu sistema de listas, onde você cadastrará suas tarefas, deve ser simples e confiável. Entra em cena as <strong>ferramentas de gerenciamento e organização de listas e tarefas.</strong> A que utilizo a bastante tempo é o <a href="http://culturedcode.com/things/" target="_blank">Things</a>, da Cultured Code. Por ser feito para pessoas que utilizam GTD, ele serve como uma luva para nossa necessidade que é ter uma forma de criar nossas listas de tarefas, separadas por histórias ou projetos. Em muitos casos <strong>um caderno</strong> ou mesmo uma <strong>caixa com as tarefas em cartões </strong>já bastante. Eu utilizo BASTANTE durante o dia um caderno para anotar as coisas e passo pro Things apenas as coisas que preciso agendar e coisas do gênero.</p>
<div id="attachment_531" class="wp-caption aligncenter" style="width: 460px"><a href="http://www.leohackin.com.br/wp-content/uploads/2011/05/moleskineplannerpda.jpg"><img class="size-full wp-image-531" title="Moleskine " src="http://www.leohackin.com.br/wp-content/uploads/2011/05/moleskineplannerpda.jpg" alt="Moleskine" width="450" height="376" /></a><p class="wp-caption-text">Moleskine</p></div>
<p>O importante é que você tenha um sistema de fácil acesso e confiável para colocar suas tarefas, seja um caderno, um software ou cartões: você deve ter acesso rápido e principalmente organizado às tarefas que você deve fazer.</p>
<p>Ao cadastrar em seu sistema, pense: &#8220;<em>Essa tarefa eu devo realizar por telefone, por e-mail ou ir à rua pra resolver. Essa tarefa depende de alguma outra ação? Eu preciso acompanhar ou delegar essa tarefa para alguém?</em>&#8220;. Essas necessidades podem ser transformadas em listas de contexto de ação. Vamos dar &#8220;categorias de ação&#8221; às nossas tarefas. Atualmente eu categorizo as coisas da seguinte maneira:</p>
<ul>
<li>@resolver, para coisas que eu tenho que resolver e ver se preciso delegar, resolver eu mesmo ou esperar</li>
<li>@fone, para coisas que eu tenho que ligar para finalizar</li>
<li>@rua, para coisas que tenho que resolver fora de casa</li>
<li>@email, para e-mails que eu tenho que enviar para alguém</li>
<li>@trabalho, para coisas que trabalho</li>
<li>@acompanhar, para coisas que eu vou ter que esperar telefone, e-mail ou algo de alguém (geralmente com uma data limite)</li>
</ul>
<p><strong>Para ajudar um pouco mais</strong>, eu uso três categorias adicionais que são as de prioridade: <em>alta, média e baixa.</em></p>
<p>A idéia de separar suas tarefas em listas é simples: você conseguirá delimitar bem as coisas que devem ser feitas a seguir. Por exemplo, ao visualizar minha lista @rua (com coisas que eu tenho que resolver na rua) eu posso agrupar algumas para resolve-las junto. Por exemplo, tenho que ir ver o financiamento no BB direto com meu gerente (eu coloquei essa tarefa como @rua). Vejo que dá tempo ainda de passar numa das imobiliárias que eu tinha que ligar. Dois coelhos com uma cajadada: uma das coisas legais de listas é você pode agrupar as coisas e resolver coisas que geralmente você esqueceria.</p>
<p><strong>Quanto mais simples for seu sistema, melhor</strong>. Não se preocupe em criar listas complicadas pois a lógica é simples: quanto mais listas, mais dificil será você &#8220;eleger&#8221; o que deverá ser feito no seu dia-a-dia. Crie uma lista pra cada aspecto de ação que você tem em sua vida. Se por exemplo, você precisa em seu dia-a-dia delegar várias tarefas, faz sentido você ter uma lista chamada <strong>@delegar</strong>.</p>
<p>E <strong>tarefas</strong> que você precisa fazer numa <strong>data específica</strong> ou todo mês? Use o bom e velho<strong> calendário</strong>! <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>No final das contas, usando o Things terei algo assim:</p>
<div id="attachment_532" class="wp-caption aligncenter" style="width: 780px"><a href="http://www.leohackin.com.br/wp-content/uploads/2011/05/Captura-de-tela-2011-05-22-às-14.06.25.png"><img class="size-full wp-image-532" title="Tarefas a serem feitas no Things" src="http://www.leohackin.com.br/wp-content/uploads/2011/05/Captura-de-tela-2011-05-22-às-14.06.25.png" alt="Tarefas a serem feitas no Things" width="770" height="571" /></a><p class="wp-caption-text">Tarefas a serem feitas no Things</p></div>
<p>Repare que tenho meus <strong>projetos</strong> listados a esquerda e todas as tarefas que ainda devo &#8220;executar&#8221;. O Things tem essa capacidade legal de mostrar os projetos e as coisas que eu devo fazer que estão em aberto. Temos ao lado de cada tarefa a qual lista ela pertence. Num caderno, você teria essas listas separadas em páginas distintas, com marcadores. No caso de pastas, você teria uma pasta para cada lista. Isso vai depender de como você quer organizar. Essas formas pode ser encontradas na literativa GTD/ZTD de uma forma melhor.</p>
<h2>4) Faça! <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </h2>
<p>Agora que você tem tudo o que você deve fazer, com seus grandes objetivos do semana escolhidos, é hora de arregaçar as mangas e se colocar ao trabalho.</p>
<p><strong>No início do dia, tire alguns minutos para separar o que você fará durante o dia</strong>. Abra suas listas e escolhe o que você fará, de preferência por prioridade. Antes de começar:</p>
<ul>
<li>algumas tarefas precisam de &#8220;cuca fresca&#8221; pra serem feitas e outras são mais &#8220;mecânicas&#8221;. É uma estratégia boa deixar as tarefas que requerem mais atenção e decisão para a parte da manhã, pois durante o dia a tendência de coisas inteferirem em seu foco e seu humor é grande. Deixe o que for mais mecânico para depois das coisas que precisam ser feitas com calma e análise.</li>
<li>as tarefas rotineiras podem ficar fixas em sua lista. Coisas como &#8220;ver e-mail&#8221; e &#8220;ver andamento projetos&#8221; não precisam ser nem processados. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p><strong>Para realizar tarefas</strong>, principalmente para quem tem N coisas para fazer, você precisa de <strong>foco</strong>. Muitas pessoas, principalmente com o advento do computador ou um ambiente propício a <strong>interrupções</strong> contínuas e incessantes, simplesmente não conseguem manter o verdadeiro &#8220;foco&#8221; numa tarefa por vez. Temos MSNs, Twitters, Facebooks, pessoas, toques de telefone e tudo o que pode contribuir para você <strong>perder o foco</strong>.</p>
<p>Um segundo impeditivo é a questão do <strong>trabalho contínuo</strong>. Manter o foco por horas a fio é um grande impedimento para muitas pessoas: é uma <strong>tarefa cansativa</strong> e que precisa de muita disciplina para se alcançar o verdadeiro espírito zen para se manter assim por tanto tempo.</p>
<p>Depois de muita pesquisa, tentativas frutsradas e tudo mais, conheci na época com meu sócio-amigo-irmão <a href="http://jeveaux.com" target="_blank">Jeveaux</a> a técnica do <strong>Pomodoro</strong>. Esta técnica consiste num método de <strong>se manter focado por 25 minutos em uma tarefa</strong>: dá-se a este intervalo de tempo o nome de Pomodoro (embora o nome mesmo seja em homenagem àquele relógio de cozinha). Mas o mais interessante não é apenas o foco, mas o sistema de <strong>auto-recompensa</strong> dada pela técnica. <strong>A cada pomodoro</strong> feito você ganha <strong>5 minutos pra fazer o que quiser</strong>. Abrir seu e-mail, ver seu twitter, falar com alguem no MSN. Isso pode parecer contra-producente mas na verdade é totalmente o contrário. Sua produção focada corresponde (e até excede) sua produção normal onde você não tem tempo de parar, respirar, tomar um café ou algo do tipo. Você &#8220;institucionaliza&#8221; seu descanso e isso não vira mais um sentimento ruim de procrastinação.</p>
<p>&#8220;Pomodorar&#8221;, basicamente, segue estes passos:</p>
<ul>
<li>escolha uma tarefa</li>
<li>ligue o timer para contar 25 min</li>
<li>esqueça o planeta e feche tudo o que tira sua atenção</li>
<li>quando acabar o tempo, risque um pomodoro pra tarefa</li>
<li>descanse por 5 min</li>
<li>volte pra tarefa e execute os passos anteriores até concluí-la</li>
</ul>
<p>Para ajudar nesse dia-a-dia, você pode (e deve) usar uma folha simples para anotar suas tarefas e colocar quantos pomodoros você acha que gastará para realizar sua tarefa. Aqui existe um <strong>detalhe muito interessante</strong>: quantos pomodoros você consegue fazer por dia. Um dia de trabalho de 8 horas dão lugar então à uma média 14 a 16 pomodoros. Uma hora é em média dois pomodoros e duas pausas de 5 min. Isso é uma ótima oportunidade de você ver o que você realmente consegue produzir com o passar dos dias e prever, sem sobras, sua capacidade de produção. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Porém, no <strong>começo pegue leve com você</strong>: que tal começar fazendo 5 pomodoros num dia e depois ir aumentando conforme você perceber que consegue se focar?</p>
<p>Para pomodorar, atlém do timer, você precisará de um papel de uma caneta para escrever suas tarefas e os pomodoros que você vai executar. No site oficial da técnica Pomodoro, eles tem uma <a href="http://www.pomodorotechnique.com/resources/pomodoro_todo.pdf" target="_blank">folha modelo</a> que você pode usar suas tarefas, com essa abaixo:</p>
<div id="attachment_536" class="wp-caption aligncenter" style="width: 790px"><a href="http://www.leohackin.com.br/wp-content/uploads/2011/05/Captura-de-tela-2011-05-22-às-16.22.25.png"><img class="size-full wp-image-536" title="Folha com pomodoros" src="http://www.leohackin.com.br/wp-content/uploads/2011/05/Captura-de-tela-2011-05-22-às-16.22.25.png" alt="Folha com pomodoros" width="780" height="160" /></a><p class="wp-caption-text">Folha com pomodoros</p></div>
<p>O que fazer:</p>
<ul>
<li>escolha suas tarefas</li>
<li>transcreva-as para sua folha de pomodoros e coloque um número estimado, se houver, de pomodoros para realização da tarefa</li>
<li>execute o pomodoro</li>
</ul>
<p>Outra coisa super interessante nos pomodoros é como você marca as <strong>interrupções</strong>. Para cada interrupcão que você ter, dê um risco na folha. Isso vai tornar claro o quanto elas estão te atrapalhando e lhe dará argumentos reais para cortar algumas coisas. Se por exemplo, o telefone te atrapalha muito nos pomodoros matinais, desloque as coisas que precisa de mais atenção para a tarde ou parede atender as ligações. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div id="attachment_538" class="wp-caption aligncenter" style="width: 799px"><a href="http://www.leohackin.com.br/wp-content/uploads/2011/05/Captura-de-tela-2011-05-22-às-20.38.11.png"><img class="size-full wp-image-538" title="Marcando interrupções" src="http://www.leohackin.com.br/wp-content/uploads/2011/05/Captura-de-tela-2011-05-22-às-20.38.11.png" alt="Marcando interrupções" width="789" height="153" /></a><p class="wp-caption-text">Marcando interrupções</p></div>
<h2>5) Revise suas listas frequentemente</h2>
<p>Você agrupou suas demandas, separou elas em histórias, depois em tarefas. Depois, separou elas todas e agora sabe como executa-las toda semana de forma ordenada e organizada. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Depois de tudo isso, o que importa é manter o ciclo de coleta e principalmente revisar. Várias coisas podem fazer sentido em algum momento da sua vida de forma mais pontual e que depois de uma semana ou mesmo dias podem não fazer mais sentido. Por exemplo, se eu estava pesquisando por financiamentos e acho um eu não preciso ficar com um monte de tarefas relacionadas a isso em minhas listas.</p>
<p>Para poder sempre estar se focando no que realmente importa é muito bacana revisar sua lista sempre a cada semana ou quinzena.</p>
<p>Menos que uma semana vai acabar tornando isso uma experiência cansativa e mais que isso pode manter alguns itens que podem estar tirando sua atenção na sua cara.</p>
<p>Não deixe de revisar suas listas para não acabar se frustrando. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>6) Evite se frustrar a qualquer custo</h2>
<p>E finalmente: evite tentar dar o passo maior que a perna. Isso pode trazer exatamente o que um sistema de organização e mudança de hábitos quer <strong>evitar: frustração</strong>.</p>
<p>Se você quer correr uma maratona, você tem que primeiro dar umas caminhadas, depois algumas pequenas corridas de 1 minuto e depois ir evoluindo isso até estar preparado. Você vai melhorando vários aspectos seu para alcançar isso: velocidade,  resistência, alimentação, disciplina e por ai vai. Mas se você um dia fica com preguiça ou come besteira, não se martirize ao ponto de achar que nada mais vai dar certo.</p>
<p>A mudança de hábitos para se organizar também conta com a adoção e treinamento pouco a pouco de várias coisas. Não tente tentar mudar da noite pro dia tudo o que você deve mudar pra ser uma pessoa minimamente organizada. O que deveria ser uma tarefa prazerosa e com aquele sentimento de superação vai acabar se tornando uma torrente de frustração. =/</p>
<p>Esse post em si é a condensação de muita coisa que tento seguir todos os dias e que algumas vezes, por mais que queira, sai do script e tenho que retomar no outro dia.</p>
<p>Se tornar uma pessoa organizada é uma batalha diária e temos que aceitar que vamos falhar em alguns aspectos e é ai que nosso treinamento em cada coisa de cada vez vai fazer sentido e ajudar a superar as coisas. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>E é isso &#8230;</h2>
<p>Provavelmente esse é um dos maiores posts que já escrevi mas não encontrei outro jeito de falar sobre o assunto. Como disse, leio várias coisas e aprendo muito não apenas com eles mas com as pessoas que me rodeiam e os erros que cometo e vejo os outros cometerem. Analise sempre o meio em que está e tente adaptar-se da melhor maneira para que essas técnicas possam fazer sentido pra você. Se você não consegue fazer 12 pomodoros por dia, comece com 3 ao menos. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Como diz um grande amigo &#8230; &#8220;O que importa é começar &#8230;&#8221;. Comece nem que seja com uma lista simples feita de manhã, organizando seu Gmail ou fazendo 2 ou 3 pomodoros por dia. Quebra a inércia. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </strong></p>
<p>A idéia desse post é só dar uma idéia de como começar e se estruturar: provavelmente ele pode ter lacunas de linha de pensamento ou mesmo explicações que não foram dadas da maneira mais clara possível. Se por um lado é ruim, por outro é legal pelo fato de ter causado não apenas interesse mas também indagações sobre como poder melhorar um processo. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  Sintam-se a vontade para perguntar. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Recomendo que se quiser se aprofundar (principalmente em XP e ZTD) no assunto, leia os links abaixo:</p>
<ul>
<li><a href="http://zenhabits.net/" target="_blank">Zen Habits</a> (blog do criador do ZTD, Leo Babauta)</li>
<li><a href="http://lucasteixeira.com/ztd" target="_blank">e-book do ZTD traduzido</a></li>
<li><a href="http://www.pomodorotechnique.com/" target="_blank">Pomodoro Technique</a> (site oficial)</li>
<li><a href="http://www.submarino.com.br/produto/1/1062057/arte+de+fazer+acontecer,+a?franq=%20184095" target="_blank">A Arte de Fazer Acontecer </a>(livro David Allen sobre GTD &#8211; link pro Buscapé)</li>
<li><a href="http://improveit.com.br/xp" target="_blank">Página de XP (Extreme Programming) da ImproveIt</a></li>
<li><a href="http://www.efetividade.net/" target="_blank">Efetividade.net</a> (site sobre efetividade muito bom)</li>
<li><a href="http://blog.bluesoft.com.br/" target="_blank">Blog dos brothers da Bluesoft</a> (sempre com ótimos conteúdos)</li>
</ul>
<div>No mais, sucesso a todos e bons pomodoros. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </div>

]]></content:encoded>
			<wfw:commentRss>http://www.leohackin.com.br/2011/09/ztd-e-pomodoros-2-anos-depois/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Review sobre #devincachu: interior do ES bombando!</title>
		<link>http://www.leohackin.com.br/2011/05/review-sobre-devincachu-interior-do-es-bombando/</link>
		<comments>http://www.leohackin.com.br/2011/05/review-sobre-devincachu-interior-do-es-bombando/#comments</comments>
		<pubDate>Sun, 01 May 2011 14:43:05 +0000</pubDate>
		<dc:creator>Léo Hackin</dc:creator>
				<category><![CDATA[eventos]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[devincachu]]></category>

		<guid isPermaLink="false">http://www.leohackin.com.br/?p=519</guid>
		<description><![CDATA[Aloha! Aconteceu ontem em Cachoeiro de Itapemirim, de onte estou blogando nesse momento, a primeira edição do Dev In Cachu: um evento que tinha o seguinte objetivo: reunir desenvolvedores para compartilhar conhecimentos, experiências e novidades, visando assim fomentar a área de desenvolvimento de sotware no sul do Espírito Santo. Tinha, nesse tempo verbal, porque o [...]]]></description>
			<content:encoded><![CDATA[
<p>Aloha!</p>
<p><a href="http://www.leohackin.com.br/wp-content/uploads/2011/05/logo.png"><img class="aligncenter size-full wp-image-520" title="logo" src="http://www.leohackin.com.br/wp-content/uploads/2011/05/logo.png" alt="" width="250" height="102" /></a></p>
<p>Aconteceu ontem em Cachoeiro de Itapemirim, de onte estou blogando nesse momento, a primeira edição do <a href="http://www.devincachu.com.br" target="_blank">Dev In Cachu</a>: um evento que tinha o seguinte objetivo:</p>
<blockquote><p><em>reunir desenvolvedores para compartilhar conhecimentos, experiências e novidades, visando assim fomentar a área de desenvolvimento de sotware no sul do Espírito Santo.</em></p></blockquote>
<p><strong>Tinha</strong>, nesse tempo verbal, <strong>porque o evento foi MUITO mais que simplesmente um evento</strong> para compartilhar conhecimentos, experiências e coisas do tipo. O Dev In Cachu foi um divisor de águas no que podemos considerar a consolidação de Cachoeiro do Itapemirim como um novo lugar onde as pessoas realmente gostam e correm atrás de tecnologia.</p>
<p>Embora o foco de qualquer evento seja simplesmente o aprendizado e fundamentalmente o networking, alguns eventos tem algumas manifestações além-evento que o tornam de certa forma especial. O que encontramos neste evento foi um ambiente muito bacana que propiciava não apenas iteração e conteúdo relevante, como idéias e discussões e tudo mais.</p>
<p>Ahhh sim, isso é um review. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span style="color: #0000ff;"><strong>O lugar</strong> </span>onde foi realizado o evento foi a <a href="http://www.saocamilo-es.br/" target="_blank">Faculdade São Camilo</a>, muito bem escolhido. Além de um auditório com estrutura invejável, que dava uma visão muito boa de qualquer lugar onde você estivesse, ele fica do lado de um Shopping! Nunca foi tão fácil fazer o translado evento -&gt; almoço -&gt; evento. A disposição das coisas, como mesa de cafézinho e o coffee break, ficaram muito bacanas também. Acho que na próxima seria legal fazer ilhas de coffee break para evitar o efeito &#8220;bloqueante&#8221; de um monte de gente querendo pegar algo.</p>
<p><strong><span style="color: #0000ff;">As palestras</span> </strong>foram um deleite a parte. Apresentei com o meu brother <a href="http://www.jeveaux.com" target="_blank">Jeveaux</a> (<a href="http://www.twitter.com/Jeveaux" target="_blank">@jeveaux</a>) uma palestra que tinhamos feito no ano passado, mas com um conteúdo atualizado, sobre nossa experiência de 2 anos de <a href="http://www.giran.com.br" target="_blank">Giran</a>. Falamos sobre o início de tudo e como estamos trabalhando desde então, errando e acertando. Fiquei surpreendido como as pessoas tinham perguntas relevantes e contextuais sobre a palestra.</p>
<p>A parte da manhã foi praticamente voltada para empreendedorismo e condução de projetos. O Denis Ferrari mandou bem na palestra &#8220;Como errar em desenvolvimento de software&#8221;, falando sobre as dificuldades em desenvolver um projeto de software. Depois rolou a palestra, que na minha opinião foi a mais enérgica e bacana do evento, do Henrique Bastos (<a href="http://twitter.com/henriquebastos" target="_blank">@henriquebastos</a>). Com o título de &#8220;Quer aprender a programar? pergunte-me como&#8221;, tivemos uma verdadeira aula motivacional e de coisas que rodeiam a gente. Palestras do tipo são sempre muito bacanas, mas essa foi especial.</p>
<p>Depois do almoço tivemos coisas mais técnicas. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>O Fabrício Barros, da São Camilo, &#8220;viajou&#8221; falando de urban sensing, onde falou sobre a questão de uso de sensores em dispositivos para coleta e processamento para diversos fins afim de criar uma experiência de rede social relevante. Foi uma palestra bacana que condensou muito das teorias que são aplicadas hoje em softwares como Foursquare, social bike e afins. Escrevi feito um louco várias idéias. Muahuhauhauha.</p>
<p>Logo após, tivemos a palestra da dupla de figuras &#8220;global&#8221; da Globo.com, Andrews Medina e Francisco Souza, ex-padawan da Giran. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Eles fizeram uma brincadeira com os 12 trabalhos de Hercules, fazendo 4 (para começar) trabalhos com Pythons, cada um dentro de um expectro de solução diferente. Tivemos aplicações web, para Android, um mapeador de pontos de acesso e um jogo. Um verdadeiro overview de que o Python é capaz.</p>
<p>Depois de um coffee break rolou uma introdução ao TDD pelo Erich Egert, da nossa estimada parceira Caelum. Depois de um dia inteiro falando sobre TDD, BDD, finalmente quem não sabia do assunto teve oportunidade de ver na prática como é desenvolver usando TDD. Salvo o número de tweets reclamando que TDD em Java era dificil de entender, a palestra foi bem bacana e acho que quem conseguiu abstrair o conceito levou uma boa bagagem de um profissional altamente indicado para falar de algo assim.</p>
<p>Estava morto e cansado já no final e depois dessa palestra parti para hotel para descansar e me preparar par ao #horaextra. O pessoal se juntou após o evento pra tomar algumas cervejas e comer algo. É um momento de iteração raro que gostaria muito de ver em Vitória após os eventos. Acredito que a proximidade como Shopping ajudou bastante.</p>
<p>Aliás, o twitter BOMBOU com a hashtag #devincachu. A quantidade de twittadas foi impressionante assim como as brincadeiras contextuais com o pessoal que ficava dormindo durante o evento. hahahaha massa.</p>
<p>Pra fechar, duas coisas muito importantes que contribuiram muito para um evento memorável.</p>
<p>A organização foi impecável. Ver as pessoas se matando pra fazer o melhor evento da melhor forma possível com paixão pelo que se gosta de fazer nos olhos foi iradasso. Meus sinceros parabéns à trupe:</p>
<ul>
<li><a title="Andressa Agnhesi" href="http://agnhesi.com/" target="_blank">@agnhesi</a></li>
<li><a title="Francisco Souza" href="http://franciscosouza.com.br/" target="_blank">@franciscosouza</a></li>
<li><a title="Isaura Rangel" href="http://isaurarangel.wordpress.com/" target="_blank">@isaurarangel</a></li>
<li><a title="Magno Machado" href="http://blog.magnomachado.com.br/" target="_blank">@magnomp</a></li>
<li><a title="Breno Martinusso" href="http://martinusso.com/" target="_blank">@martinusso</a></li>
</ul>
<p>Vocês colocaram a faca nos dentes, foram pra luta e venceram. <strong>À vocês, as batatas. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </strong></p>
<p>Outro ponto foi a posição estratégica e empolgação do pessoal de fora. Gente de vários municípios vizinhos e até um pouco mais longe, como Campos, marcaram presença em peso no evento. Cachoeiro se mostrou, dessa forma, o lugar ideal e propício para muito mais eventos como esse. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Enfim &#8230;</strong></p>
<p>O Dev in Cachu foi f*da. Como pessoa fico orgulhoso por ver o pessoal mandando tão bem, e como empresa, falando pela Giran, foi um prazer ser patrocinador desse grande evento que teve presença até o Prefeito da Cidade. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>E que venha o próximo.</p>

]]></content:encoded>
			<wfw:commentRss>http://www.leohackin.com.br/2011/05/review-sobre-devincachu-interior-do-es-bombando/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>AppleScripts para Pomodoro (for Mac) [UPDATE]</title>
		<link>http://www.leohackin.com.br/2011/04/applescripts-para-pomodoro-for-mac/</link>
		<comments>http://www.leohackin.com.br/2011/04/applescripts-para-pomodoro-for-mac/#comments</comments>
		<pubDate>Tue, 05 Apr 2011 17:39:44 +0000</pubDate>
		<dc:creator>Léo Hackin</dc:creator>
				<category><![CDATA[Efetividade]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[applescript]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[pomodoro]]></category>

		<guid isPermaLink="false">http://www.leohackin.com.br/?p=508</guid>
		<description><![CDATA[Aloha! Utilizo ZTD e Pomodoros a algum tempo (escrevi um pouco até na época falando um pouco disso) para tornar meu dia-a-dia profissional e pessoal mais organizado e menos estressante. Experimentei vários softwares relativos à isso e tratando-se de pomodoros o melhor que achei para Mac foi o Pomodoro, feito pelo Ugo Landini. A técnica [...]]]></description>
			<content:encoded><![CDATA[
<p>Aloha!</p>
<p>Utilizo <a href="http://zenhabits.net/zen-to-done-ztd-the-ultimate-simple-productivity-system/" target="_blank">ZTD</a> e <a href="http://www.pomodorotechnique.com/" target="_blank">Pomodoros</a> a algum tempo (<a href="http://www.leohackin.com.br/2009/11/organizando-o-dia-de-trabalho/" target="_blank">escrevi um pouco</a> até na época falando um pouco disso) para tornar meu dia-a-dia profissional e pessoal mais organizado e menos estressante. Experimentei vários softwares relativos à isso e tratando-se de pomodoros o melhor que achei para Mac foi o <a href="http://pomodoro.ugolandini.com" target="_blank">Pomodoro</a>, feito pelo Ugo Landini.</p>
<p>A técnica pomodoro basicamente é bem simples: escolha uma tarefa, coloque um timer para contar 25 min e foque na conclusão da tarefa. Após 25 min você tem 5 min para fazer o que quiser (sim, o que quiser!). Se quiser ler mais ou não conhecer a técnica, <a href="http://www.pomodorotechnique.com/" target="_blank">dê uma sacada aqui (em inglês)</a> ou <a href="http://www.pensarics.com/2009/08/a-tecnica-pomodoro/" target="_blank">aqui (mais resumido e em português)</a>.</p>
<div id="attachment_511" class="wp-caption aligncenter" style="width: 415px"><a href="http://www.leohackin.com.br/wp-content/uploads/2011/04/Captura-de-tela-2011-04-05-às-13.53.55.png"><img class="size-full wp-image-511 " title="Pomodoro: light e não obstrusivo" src="http://www.leohackin.com.br/wp-content/uploads/2011/04/Captura-de-tela-2011-04-05-às-13.53.55.png" alt="" width="405" height="303" /></a><p class="wp-caption-text">Pomodoro: light e não obstrusivo</p></div>
<p>O programa em si é extremamente leve e não é obstrusivo: ele fica na barra de tarefas, sendo acionado com um simples clique.  Ele tem duas versões: a <strong>0.31</strong> que já esta pronta para download em <a href="http://pomodoro.ugolandini.com/pages/downloads.html" target="_blank">http://pomodoro.ugolandini.com/pages/downloads.html</a> e a <strong>1.2.2</strong> que está <a href="http://itunes.apple.com/en/app/pomodoro/id417574133?mt=12" target="_blank">disponível na Mac AppStore</a> por U$ 4,99. <strong>A diferença básica</strong> são correções de bugs e que na nova versão existem várias integrações novas com softwares como <a href="http://culturedcode.com/things/" target="_blank">Things</a> e o <a href="http://www.omnigroup.com/applications/omnifocus/" target="_blank">OmniFocus</a>, ambos de GTD (o ZTD mais &#8220;puxado&#8221; e de onde ele se originou).</p>
<p>Ah sim: <strong>o Pomodoro é OpenSource</strong>. Você pode baixar o source em http://pomodoro.ugolandini.com/pages/source.html (está num repositório publico no Github) e buida-lo via XCode. <strong>Iradissimo</strong>! <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong><span style="color: #800000;">O grande problema porém era bem específico e sem culpa do aplicativo</span></strong>: sempre que eu começava um pomodoro eu tinha vários programas que tiravam minhas atenção. Adium, Twitter, Echofon &#8230; tudo isso são coisas que podem causar impedimentos e interferências para concluir uma tarefa. É ai que entramos.</p>
<h2>Hackeando o Pomodoro com AppleScripts</h2>
<p>O Pomodoro permite que você acione alguns comandos via <strong>AppleScript</strong>. Explicando, o Mac OS X vem com uma linguagem de script chamado AppleScript que permite manipular programas e enviar comandos para eles.<a href="http://www.macworld.com/article/49438/2006/02/asexcerpt.html" target="_blank"> Conheça um pouco mais de AppleScript nesse link.</a></p>
<p>Para inserir um AppleScript em seu programa Pomodoro, abra-o e clique em Preferences. Em seguida, clique em Scripts. Você verá todas as ações do Pomodoro e um campo onde poderá escrever ou inserir seus scripts.</p>
<div id="attachment_512" class="wp-caption aligncenter" style="width: 651px"><a href="http://www.leohackin.com.br/wp-content/uploads/2011/04/Captura-de-tela-2011-04-05-às-14.16.46.png"><img class="size-full wp-image-512" title="Tela de Scripts do Pomodoro" src="http://www.leohackin.com.br/wp-content/uploads/2011/04/Captura-de-tela-2011-04-05-às-14.16.46.png" alt="Tela de Scripts do Pomodoro" width="641" height="564" /></a><p class="wp-caption-text">Tela de Scripts do Pomodoro (ver. 1.2.2)</p></div>
<p>Cheque a ação que deseja que execute scripts e pronto. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Abaixo, seguem  os links de dois scripts bem funcionais e que são facilmente extendidos.</p>
<ul>
<li>Script para fechar o Twitter e colocam o Adium (messenger mais famoso pra MacOSX) como Away quando um pomodoro é iniciado (START) &#8211; <a href="https://gist.github.com/904053" target="_blank">https://gist.github.com/904053</a></li>
<li>Script para abrir o Twitter e colocam o Adium como Available quando o Pomodoro é resetado (RESET) e finalizado (END) &#8211; <a href="https://gist.github.com/904057" target="_blank">https://gist.github.com/904057</a></li>
</ul>
<p>Lembrando que ao copiar o script, você deve checar a ação para executa-la.</p>
<h2>Extendendo os scripts</h2>
<p>Nos scripts, existe um pequeno manual para extende-los, para que você possa abrir e fechar as aplicações que geralmente usa em seu Mac. A customização é <strong>MUITO</strong> simples e para vê-las funcionando basta startar e finalizar um pomodoro após alterar o script. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong>E é isso! Bons pomodoros! <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </strong></p>
<p><strong>[UPDATE]</strong></p>
<p>Criei um repositório no git com os scripts melhorados para quem quiser copiar, contribuir e tudo mais. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  O endereço é <a href="https://github.com/leohackin/pomodoro-applescripts" target="_blank">https://github.com/leohackin/pomodoro-applescripts</a>. Enjoy!</p>
<p><strong>[/UPDATE]</strong></p>

]]></content:encoded>
			<wfw:commentRss>http://www.leohackin.com.br/2011/04/applescripts-para-pomodoro-for-mac/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails: referências de leitura</title>
		<link>http://www.leohackin.com.br/2011/03/ruby-on-rails-referencias-de-leitura/</link>
		<comments>http://www.leohackin.com.br/2011/03/ruby-on-rails-referencias-de-leitura/#comments</comments>
		<pubDate>Sat, 05 Mar 2011 23:10:29 +0000</pubDate>
		<dc:creator>Léo Hackin</dc:creator>
				<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[blogs]]></category>
		<category><![CDATA[estudos]]></category>
		<category><![CDATA[livros]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[sites]]></category>

		<guid isPermaLink="false">http://www.leohackin.com.br/?p=500</guid>
		<description><![CDATA[Aloha, Antes de tudo gostaria de deixar aqui a surpresa (e alegria) em ver meu post sobre a migração de PHP para o Ruby on Rails depois de 5 meses na capa do iMasters. Muito bacana ver as pessoas discutindo com argumentos e tudo mais sobre Python/Django e PHP. Valew aê a todos. Chegaram alguns [...]]]></description>
			<content:encoded><![CDATA[
<p>Aloha,</p>
<p>Antes de tudo gostaria de deixar aqui a surpresa (e alegria) em ver meu post sobre a migração de PHP para o Ruby on Rails depois de 5 meses na capa do iMasters. Muito bacana ver as pessoas discutindo com argumentos e tudo mais sobre Python/Django e PHP. Valew aê a todos.</p>
<p>Chegaram alguns e-mails do pessoal me pedindo referências de leitura, links, livros e algumas perguntando qual linguagem estudar: tentei ajudar com base no que vejo hoje como desenvolvedor e também como empresário no mercado de desenvolvimento de software. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Então, vai uma lista de coisas que li/leio sobre Ruby (linguagem) e Ruby on Rails (framework) e todo seu entorno. Só pra lembrar: estes foram livros que li e não um compendium de todas as leituras bacanas sobre Rails que existem: existem tanto livros bons que ainda não li quando disposição pra encher meu Kindle com eles. AHEuAe uHA E <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Livros</h2>
<p>Praticamente todos os livros que li são da série T<a href="http://www.pragprog.com/" target="_blank">he Pragmatic Programmers</a>: é uma editora muito bacana e com vários nomes de peso. O bacana é que os livros em versão digital tem valores bem atrativos e quando sai qualquer update, eles mandam um aviso para que você baixe as versões mais novas. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<ul>
<li><a href="http://www.pragprog.com/titles/rails4/agile-web-development-with-rails" target="_blank"><strong>Agile Web Development with Rails (4rd Edition)</strong></a> é um ótimo livro para se começar com Rails. A linguagem é bem prática e ele explora a construção de uma aplicação de loja virtual de cabo a rabo, com testes e tudo. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Existe a versão traduzida dele no Brasil chamada &#8220;<a href="http://www.livrariasaraiva.com.br/produto/produto.dll/detalhe?pro_id=2581305&amp;ID=BD3A1DDE7D80C140F24080486" target="_blank">Desenvolvimento Web Ágil com Rails</a>&#8220;. A diferença é que essa quarta edição é com o Rails 3 já. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
<li><a href="http://www.pragprog.com/titles/ruby3/programming-ruby-1-9" target="_blank">Programming Ruby 1.9: The Pragmatic Programmer&#8217;s Guide</a> é um livro muito muito bom sobre a linguagem Ruby. Não o li todo mas serve como uma ótima referencia à programação Ruby que tem várias particularidades não apenas interessantes mas essenciais para quem quer extrair o máximo da linguagem e extensibilidade do Rails.</li>
<li><a href="http://www.linuxmall.com.br/produto/livro-repensando-a-web-com-rails.html" target="_blank">Repensando a Web com Rails</a>, do <a href="http://akitaonrails.com/" target="_blank">Fábio Akita</a>, foi meu primeiro livro de Rails. Recomendo a todos não apenas porque é de um brazuca mas provavelmente um dos caras que correram atrás pela comunidade. Ele está numa versão antiga do Rails mas vale pela didática.</li>
<li><a href="http://www.pragprog.com/titles/achbd/the-rspec-book" target="_blank">The RSpec Book</a>, um livro obrigatório para quem quer (ou já trabalha) usando BDD como framework de testes e design de aplicações. Decidimos usar o RSpec ao invés da framework de testes que vem no Rails devido à melhor abordagem didática do BDD (precisavamos treinar um time em testes) e poder de descrição de problemas e design que ela traz para gente. Como o próprio autor diz, este é um livro para TODOS os programadores. Vale demais a pena.</li>
<li><a href="http://www.pragprog.com/titles/ltp2/learn-to-program" target="_blank">Learn to Program</a> é um livro extramamente introdutório sobre programação usando Ruby: isto ajuda e muito quem quer dar uma passada de olho no básico da linguagem. O livro da Pragmatic Programmers está em sua segunda edição (e mais completa) mas a primeira (e ainda muito boa) está em português <a href="http://aprendaaprogramar.rubyonrails.pro.br/" target="_blank">neste link</a>. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li><a href="http://www.linuxmall.com.br/produto/livro-ruby-investigando-a-linguagem.html" target="_blank">Ruby: Investigando a Linguagem</a>, de <a href="http://www.ivanmecenas.ecn.br/" target="_blank">Ivan Mecenas</a>, é um livro bem introdutório mas ao mesmo tempo elucidativo. É um livro bem rapido de ler e que dá uma boa visão do que a linguagem pode fazer.</li>
</ul>
<h2>Sites</h2>
<p>Muitos dos sites que leio são de referência da linguagem mas também com uma gama de coisas que ajudam e muito no dia-a-dia.</p>
<ul>
<li><a href="http://guides.rubyonrails.org/" target="_blank">Rails Guides (http://guides.rubyonrails.org/)</a> são os guias oficiais do Rails 3 (e também da 2.3). Leitura diária e obrigatória para conhecer o funcionamento da framework. Peca um pouco em detalhar mais algumas coisas e mostrar coisas que saem das conversões do Rails. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </li>
<li><a href="http://rubyonrails.org/" target="_blank">http://rubyonrails.org/</a> que é o site oficial do Rails: instalação, tutoriais, documentação e um monte de coisa. A versão brazuca dele está em <a href="http://www.rubyonrails.pro.br/" target="_blank">http://www.rubyonrails.pro.br/</a>.</li>
<li><a href="http://www.ruby-doc.org/" target="_blank">http://www.ruby-doc.org/</a> documentação do Ruby <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li><a href="http://www.rubyonrails.pro.br/planeta/" target="_blank">http://www.rubyonrails.pro.br/planeta/</a> é um agregador de blogs de vários figuras conhecidas do mundo Ruby on Rails. Vale adicionar o rss. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </li>
<li><a href="http://railscasts.com/" target="_blank">http://railscasts.com/</a> é site com toneladas de screencasts sobre Rails. Melhor do que quebrar a cabeça lendo é ver o cara quebrando a cabeça por você as vezes. Enjoy!</li>
<li><a href="http://asciicasts.com/" target="_blank">http://asciicasts.com/</a> tem o mesmo conteúdo que o railscasts mas &#8230; EM TEXTO!  Perfeito para quem quer ler e pesquisar por alguns termos, ver se existe um cast relativo a isso e ler código.</li>
<li><a href="http://railsforzombies.org/" target="_blank">http://railsforzombies.org/</a> pode parecer brincadeira, mas é uma forma interessante de iniciar os estudos em Rails. Veja os vídeos, faça os exercícios &#8230; isso tudo com zumbis. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li><a href="http://rubygems.org/" target="_blank">http://rubygems.org/</a> é o diretório oficial de gems do Ruby. As gems são como pacotes para o Ruby. Existe solução para quase tudo lá. se não existir o que você procura, contribua: faça a a sua gem e submeta ela. A comunidade agradece.</li>
</ul>
<h2>Listas de discussão, blogs, empresas e outras coisas mais</h2>
<p>Pra fechar, alguns blogs que acompanho que falam não apenas de Rails mas de várias coisas que considero importantes para quem quer saber sobre agilidade, desenvolvimento e afins.</p>
<ul>
<li>[ Blog ] <a href="http://blog.bluesoft.com.br/" target="_blank">http://blog.bluesoft.com.br/</a> dos brothers da <a href="http://bluesoft.com.br" target="_blank">Bluesoft</a>. Eles tem uma sequência de videos, artigos e tudo mais que abordar desde assuntos ligados à agilidade até programação. Extremamente recomendado.</li>
<li>[ Blog ] <a href="http://www.rubyonrails.pro.br/planeta/" target="_blank">http://www.rubyonrails.pro.br/planeta/</a> que é um agregador dos nomes mais famosos do Rails no Brasil</li>
<li>[ Twitter ] <a href="http://twitter.com/ruby_news" target="_blank">@ruby_news</a> tem várias novidades sobre Ruby (em inglês)</li>
<li>[ Lista ] <a href="https://groups.google.com/group/ruby-sp?hl=pt&amp;pli=1" target="_blank">Ruby-SP</a> lista de discussão de Ruby e Rails <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p>Enfim &#8230; tem MUITO mais coisas além disso, mas acho que já é um bocado de informação pra dar uma sacada. <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Espero que ajude em algo. Bons estudos.</p>

]]></content:encoded>
			<wfw:commentRss>http://www.leohackin.com.br/2011/03/ruby-on-rails-referencias-de-leitura/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>[offtopic] Penne da Mama à la Hackinatelli</title>
		<link>http://www.leohackin.com.br/2011/02/offtopic-penne-da-mama-a-la-hackinatelli/</link>
		<comments>http://www.leohackin.com.br/2011/02/offtopic-penne-da-mama-a-la-hackinatelli/#comments</comments>
		<pubDate>Thu, 17 Feb 2011 18:39:23 +0000</pubDate>
		<dc:creator>Léo Hackin</dc:creator>
				<category><![CDATA[Cotidiano]]></category>
		<category><![CDATA[comida]]></category>
		<category><![CDATA[macarrao]]></category>
		<category><![CDATA[offtopic]]></category>
		<category><![CDATA[spolleto]]></category>

		<guid isPermaLink="false">http://www.leohackin.com.br/?p=497</guid>
		<description><![CDATA[Aloha amigos, Começando com a sessão offtopics &#8230; bom, não vivemos só de tecnologia, programação, nerdisses e coisas do tipo. Temos um pouco de humanidade e o que dizem por ai que as &#8220;pessoas normais&#8221; tem. A gente sai, vê filme, toma sorvete, passeia e por ai vai. Como no Spolleto a tempos mas hoje [...]]]></description>
			<content:encoded><![CDATA[
<p>Aloha amigos,</p>
<p>Começando com a sessão offtopics &#8230; bom, não vivemos só de tecnologia, programação, nerdisses e coisas do tipo. Temos um pouco de humanidade e o que dizem por ai que as &#8220;pessoas normais&#8221; tem. A gente sai, vê filme, toma sorvete, passeia e por ai vai.</p>
<p>Como no <a href="http://www.spoleto.com.br/" target="_blank">Spolleto</a> a tempos mas hoje consegui fazer uma combinação de toppings (os ingredientes que você pode pedir) muito boa: para quem nunca comeu, o prato tem um custo bacana (R$ 14,90 em média) e você pode escolher a massa, o molho e os ingredientes. Então lá vai:</p>
<h2>Penne da Mama à la Hackinatelli</h2>
<ul>
<li>Molho: Rose</li>
<li>Manteiga para preparar os toppings</li>
</ul>
<ul>
<li>2 bacons (peça ele alternado porque eles costumam botar menos quando é seguido hahaha)</li>
<li>Alcaparras</li>
<li>Calabresa</li>
<li>Peito de peru</li>
<li>Azeitona Preta</li>
<li>Alho</li>
<li>Gorgonzola</li>
<li>Mussarela de Bufala</li>
<li>Ovo de Codorna</li>
<li></li>
</ul>
<p>E &#8230;. voilà! Bon Appetit! <img src='http://www.leohackin.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

]]></content:encoded>
			<wfw:commentRss>http://www.leohackin.com.br/2011/02/offtopic-penne-da-mama-a-la-hackinatelli/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

