<?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>THLopes.com &#187; web</title>
	<atom:link href="http://www.thlopes.com/category/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thlopes.com</link>
	<description>Web, Ciência, Computação e Poesia</description>
	<lastBuildDate>Mon, 02 Jan 2012 20:29:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Curso Engenharia Web propõe desenvolvimento sistemático de aplicações para internet</title>
		<link>http://www.thlopes.com/2011/11/curso-engenharia-web-propoe-desenvolvimento-sistematico-de-aplicacoes-para-internet/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=curso-engenharia-web-propoe-desenvolvimento-sistematico-de-aplicacoes-para-internet</link>
		<comments>http://www.thlopes.com/2011/11/curso-engenharia-web-propoe-desenvolvimento-sistematico-de-aplicacoes-para-internet/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 10:36:09 +0000</pubDate>
		<dc:creator>Thomas Lopes</dc:creator>
				<category><![CDATA[Cultura]]></category>
		<category><![CDATA[Fatos]]></category>
		<category><![CDATA[tecnologia]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[curso]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[senac]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.thlopes.com/?p=1255</guid>
		<description><![CDATA[Nova pós-graduação é voltada a profissionais de tecnologia da informação e interessados em ter uma compreensão mais abrangente da área O mercado de tecnologia da informação tem buscado profissionais capazes de analisar criticamente o ambiente de desenvolvimento web, com visão &#8230; <a href="http://www.thlopes.com/2011/11/curso-engenharia-web-propoe-desenvolvimento-sistematico-de-aplicacoes-para-internet/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em>Nova pós-graduação é voltada a profissionais de tecnologia da informação e interessados em ter uma compreensão mais abrangente da área</em></p>
<p><a href="http://www.thlopes.com/2011/11/curso-engenharia-web-propoe-desenvolvimento-sistematico-de-aplicacoes-para-internet/logotipo-senac-sp/" rel="attachment wp-att-1259"><img class="alignleft size-thumbnail wp-image-1259" style="border-style: initial; border-color: initial; border-width: 0px; margin: 5px;" title="logotipo-senac-sp" src="http://www.thlopes.com/wp-content/uploads/2011/11/logotipo-senac-sp-150x150.jpg" alt="" width="150" height="150" /></a>O mercado de tecnologia da informação tem buscado profissionais capazes de analisar criticamente o ambiente de desenvolvimento web, com visão orientada para qualidade e melhoria de processos. Atento a esse cenário, o Centro Universitário Senac lança a pós-graduação Engenharia Web, a primeira dessa categoria no Estado de São Paulo. Duas unidades, Senac Lapa Tito e Senac Santo André, vão oferecer o curso no próximo ano, capacitando em 366 horas interessados em planejar e coordenar projetos nesse segmento.</p>
<p>“Definida como o uso sistemático da engenharia no desenvolvimento, na implantação e manutenção de aplicações web de alta complexidade, trata-se de uma nova área do conhecimento, ainda pouco explorada. No Brasil, percebe-se que esse trabalho representa uma parte significativa da produção de empresas de softwares”, comenta Richard Martelli, técnico da área de tecnologia da informação do Senac São Paulo. Além dessas organizações, o engenheiro web pode atuar em instituições de comércio eletrônico, de design, de publicidade, portais de conteúdo, comunidades virtuais, bem como órgãos governamentais e ONGs.</p>
<p>Apesar de fortemente baseado na engenharia de software, o curso apresenta como diferencial ao aluno o tratamento multidisciplinar, tendo como público-alvo é formado por profissionais de análise de sistemas, ciências da computação, sistemas de informação, engenharia de software, web design e mídias interativas, além de pessoas que já atuam na área e desejam uma compreensão mais abrangente.</p>
<p>Mais informações podem ser obtidas em <a title="Centro Universitário SENAC" href="http://www.sp.senac.br">www.sp.senac.br</a> ou diretamente no Senac Lapa Tito e Senac Santo André.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thlopes.com/2011/11/curso-engenharia-web-propoe-desenvolvimento-sistematico-de-aplicacoes-para-internet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testando Javascript</title>
		<link>http://www.thlopes.com/2011/10/testando-javascript/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=testando-javascript</link>
		<comments>http://www.thlopes.com/2011/10/testando-javascript/#comments</comments>
		<pubDate>Thu, 27 Oct 2011 01:31:53 +0000</pubDate>
		<dc:creator>Thomas Lopes</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Projetos]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[teste]]></category>

		<guid isPermaLink="false">http://www.thlopes.com/?p=1033</guid>
		<description><![CDATA[Realmente, mesmo usando o Synergy e uma boa configuração de rede local, ainda fica um pouco trabalhoso... Então resolvi pesquisar algumas ferramentas que poderiam ajudar nessa árdua tarefa, e creio que muitos vão agradecer pelas dicas e até colaborar com dezenas de outras nos comentários. Nem todas visam automatizar o teste em escala, mas todas vão facilitar alguma fase dos testes para que seus projetos tenham um excelente resultado <a href="http://www.thlopes.com/2011/10/testando-javascript/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.thlopes.com/?attachment_id=1053" rel="attachment wp-att-1053"><img class="alignleft size-full wp-image-1053" src="http://www.thlopes.com/files/2011/10/javascript-testing-570x190.jpg" alt="javascript-testing-570x190" width="570" height="190" /></a></p>
<p>Outro dia, <a title="Erick Galassi's Thumbler" href="http://ergalassi.tumblr.com/">um grande amigo</a> me perguntou como fazia para automatizar o teste do Javascript desenvolvido em vários browsers. Para ser bem sincero, eu não utilizo nada além de vários browsers diferentes instalados em cada uma das minhas máquinas (virtuais ou não), cada uma com um sistema operacional diferente  (<a href="http://www.ubuntu.com/">Ubuntu</a> 10.10 e 11.04 , Windows XP, Vista e 7 e carente de um Mac por enquanto&#8230;).</p>
<p>Realmente, mesmo usando o <a href="http://synergy-foss.org/">Synergy</a> e uma boa configuração de rede local, ainda fica um pouco trabalhoso&#8230; Então resolvi pesquisar algumas ferramentas que poderiam ajudar nessa árdua tarefa, e creio que muitos vão agradecer pelas dicas e até colaborar com dezenas de outras nos comentários. Nem todas visam automatizar o teste em escala, mas todas vão facilitar alguma fase dos testes para que seus projetos tenham um excelente resultado</p>
<h3><a href="http://browsershots.org/">BrowserShots</a></h3>
<p>Essa ferramenta vai mostrar pra você como seu site irá &#8220;renderizar&#8221; em diversos browsers diferentes, sem que você os tenha instalado, permitindo que você identifique problemas de compatibilidade mais rapidamente (principalmente se você se valeu de javascript para trabalhar estilos/css)</p>
<h3><a href="http://google-opensource.blogspot.com/2011/10/scriptcover-javascript-coverage.html">ScriptCover</a></h3>
<p>Recém-lançado pelo Google, essa ferramenta fornece estatísticas de cobertura de código linha-a-linha, permitindo que você analise (em tempo real até) quantas vezes uma determinada instrução foi executada durante o uso da página. Essa extensão do Chrome funciona desde o instante inicial de carregamento da página e continua enquanto o site vai sendo utilizado, sem atrapalhar o usuário. Excelente  também para debugar códigos complexos, que porventura venham a falhar misteriosamente em algum browser específico (para não dizer logo I.E.).</p>
<h3><a href="http://code.google.com/p/js-test-driver/">js-test-driver</a></h3>
<p>Esse framework permitirá que você trabalhe na filosofia <a href="http://pt.wikipedia.org/wiki/Tdd">TDD</a> (Test Driven Development), integrando-o a sua IDE (<a href="http://www.thlopes.com/2011/02/meu-ambiente-de-trabalho-em-7-itens/">Eclipse</a>, por exemplo) para automatizar a execução dos testes tão logo você modifique os arquivos do projeto. Exige uma preparação dos cases de teste, mas já que estamos falando de TDD, isso não será o problema. Confira nesse <a href="http://googletesting.blogspot.com/2009/05/yet-another-javascript-testing.html">post a apresentação na época de lançamento</a> onde é demonstrada a praticidade do mesmo.</p>
<h3><a href="http://net.tutsplus.com/tutorials/javascript-ajax/how-to-test-your-javascript-code-with-qunit/">QUnit, a filosofia jQuery também nos testes</a></h3>
<p>QUnit é um poderoso framework de Unit Test que o ajuda a depurar o código. É escrito por membros da equipe de <a href="http://www.jquery.com">jQuery</a>, e é o conjunto de testes oficial para este famoso framework. Ele é também o suficiente para testar qualquer código JavaScript regular, e é ainda capaz de testar Javascript server-side, através de algum mecanismo de JavaScript como <a href="http://www.mozilla.org/rhino/">Rhino</a> ou <a href="http://code.google.com/p/v8/">V8</a>.</p>
<h3><a href="http://pivotal.github.com/jasmine/">Jasmine</a></h3>
<p>Não, você não vai contratar uma estagiária chamada <em>Jasmine</em> para fazer o le-rê-le-rê de abrir páginas e págians em todas as máquinas do seu escritório. É um framework <a href="http://pt.wikipedia.org/wiki/Behavior_Driven_Development">BDD</a>, Behaviour Driven Development, ou seja, desenvolvimento orientado a comportamento. Para quem acha o TDD coisa do passado.</p>
<h3><a href="http://validator.w3.org/">W3C Validator</a></h3>
<p>Não menospreze-o. Alguns acham cafona, outros, nem sequer ouviram falar. Mas pense: se o código está de acordo com Standards, a chance de renderizar igual na maior parte dos browsers também é maior! E também, pode ser um excelente atalho para encontrar algum problema misterioso que não consta nos consoles.</p>
<h3><strong><a href="http://getfirebug.com/">Firebug</a></strong></h3>
<p>Apesar de usar o Chrome a maior parte do tempo, ainda acho a versão Firefox da extensão de desenvolvimento web mais prática e rápida para ajudar no debug, teste e inclusive no desenvolvimento (quem nunca desenvolveu uma linha de código javascript direto no console pra depois copiar e colar no código-fonte que atire o primeiro mouse!)</p>
<p><strong>E você</strong>, usa alguma outar ferramenta para facilitar o testes Javascript? Por favor, ajude-nos!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thlopes.com/2011/10/testando-javascript/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Conferir Loterias agora ficou mais fácil</title>
		<link>http://www.thlopes.com/2011/10/conferir-loterias-agora-ficou-mais-facil/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=conferir-loterias-agora-ficou-mais-facil</link>
		<comments>http://www.thlopes.com/2011/10/conferir-loterias-agora-ficou-mais-facil/#comments</comments>
		<pubDate>Fri, 21 Oct 2011 02:37:08 +0000</pubDate>
		<dc:creator>Thomas Lopes</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[loteria]]></category>
		<category><![CDATA[lotofácil]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://www.thlopes.com/?p=1028</guid>
		<description><![CDATA[Post rápido para divulgar um update no projeto PyLottery. Para quem não conhece ainda, recomendo a leitura do post anterior <a href="http://www.thlopes.com/2011/10/conferir-loterias-agora-ficou-mais-facil/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em>Post rápido para divulgar mudanças e updates no projeto <a href="https://bitbucket.org/THLopes/pylottery">PyLottery</a>. Para quem não conhece ainda, recomendo a leitura do <a href="http://www.thlopes.com/2010/12/programando-e-se-divertindo/">post anterior</a></em></p>
<p><a href="https://bitbucket.org/THLopes/pylottery"></a>Além do projeto agora estar no <strong>BitBucket.org</strong>, temos também a opção de conferir as apostas na <a href="http://www1.caixa.gov.br/loterias/loterias/lotofacil/lotofacil_resultado.asp">Lotofacil</a> também, além de algumas mudanças quase imperceptíveis e também o código estava quebrado devido a uma mudança na disponibilização dos resultados por parte da CEF, que agora está funcionando perfeitamente.</p>
<p>Futuramente teremos um refactoring, fazendo a mesclagem dos códigos numa classe única, conforme as diferenças e semelhanças entre cada tipo de Loteria forem sendo analisados.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thlopes.com/2011/10/conferir-loterias-agora-ficou-mais-facil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Meu Ambiente de trabalho em 7 itens</title>
		<link>http://www.thlopes.com/2011/02/meu-ambiente-de-trabalho-em-7-itens/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=meu-ambiente-de-trabalho-em-7-itens</link>
		<comments>http://www.thlopes.com/2011/02/meu-ambiente-de-trabalho-em-7-itens/#comments</comments>
		<pubDate>Fri, 25 Feb 2011 20:07:16 +0000</pubDate>
		<dc:creator>Thomas Lopes</dc:creator>
				<category><![CDATA[Cultura]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Projetos]]></category>
		<category><![CDATA[tecnologia]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[ambiente]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[lista]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.thlopes.com/?p=978</guid>
		<description><![CDATA[Seguindo a "corrente do bem" que chegou até mim via Rocha C. Bruno, segue minha lista para Meu ambiente de trabalho em 7 items (Nossa, um número realmente pequeno para esse tipo de brincadeira...), vamos lá: Python, Django, Javascript, jQuery, Firebug, Mercurial-HG, Eclipse <a href="http://www.thlopes.com/2011/02/meu-ambiente-de-trabalho-em-7-itens/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-989" src="http://www.thlopes.com/files/2011/02/environment.development.tools.thlopes.300x224.jpg" alt="Development tools, THLopes.com" width="300" height="224" />Seguindo a &#8220;corrente do bem&#8221; que chegou até mim via <a href="http://rochacbruno.com.br/blog/">Rocha C. Bruno</a>, segue minha lista para <em>Meu ambiente de trabalho em 7 items </em>(Nossa, um número realmente pequeno para esse tipo de brincadeira&#8230;), vamos lá:</p>
<ol>
<li><strong><a href="http://www.python.org">Python</a></strong>: A linguagem mestre, sempre liderando qualquer projeto. Curiosamente, até em projetos onde o Python não é a linguagem principal, ele exerce sua influência: estou sempre pensando &#8220;Pythonicamente&#8221; para resolver problemas, aplicando o Zen que a comunidade e linguagem prega. Não é apenas linguagem: é Filosofia!</li>
<li><strong><a href="http://www.djangoproject.com">Django</a></strong>: Nem todos projetos são Web, ou 100% Web. Mas os que atendem a esse requisito, sempre tem esse maravilhoso framework direcionando os trabalhos.</li>
<li><strong><a href="http://pt.wikipedia.org/wiki/JavaScript">Javascript</a></strong>: Para muitos, é algo bizarro. Para mim, que trabalho a maior parte com interfaces e interação do usuário com os sistemas, é a arma. E como já disse para muitos amigos de trabalho: &#8220;Para mim, Javascript é o Python rodando diretamente no Browser.</li>
<li><strong><a href="http://www.jquery.com">jQuery</a></strong>: Muitas vezes esse framework chega a se sobrepôr a própria linguagem. Em muitos projetos, dá até pra dizer que temos &#8220;mais linhas jQuery do que Javascript puro&#8221;. Mas o que isso quer dizer? Que Web sem jQuery realmente é muito mais difícil e demorado! Gosto tanto do framework que criei até uns plugins</li>
<li><strong><a href="http://getfirebug.com/">Firebug</a></strong>: Se eu tiver de nomear um dos items como minha Shuriken, o Firebug seria sem dúvida! Muito prático, rápido e a ferramenta ideal para &#8220;prototipar&#8221; qualquer interface. Ainda mais se o cliente estiver do seu lado, esperando uma resposta sua: Você abre o console, algumas linhas e opções depois, você mostra pra ele como pode resolver  o problema&#8230; e negócio mais próximo de estar fechado!</li>
<li><strong><a href="http://mercurial.selenic.com/">Mercurial-HG</a></strong>: Devo confessar, antes usava SVN, e quando a vida me exigiu mudar para Mercurial, tive um pouco de resistência. Mas hoje, alguns meses depois, só vejo vantagens, principalmente  após usar os excelentes recursos do <a href="https://bitbucket.org/THLopes/">Bitbucket </a>e saber que várias boas ferramentas que utilizo, inclusive o próprio Python, tem seu código armazenado por lá, e também que Mercurial é uma ferramenta escrita em Python.</li>
<li><strong><a href="http://www.eclipse.org/">Eclipse</a></strong>: Não vou morrer se o Eclipse não abrir&#8230; mas vou ganhar várias horas de lazer com algumas praticidades que ele traz: com essa IDE, eu centralizo diversas outras ferramentas, libraries, automatizo alguns procedimentos, debugs, vários ambientes de execução e depuração customizados com fácil acesso&#8230; enfim, um verdadeiro Canivete Suíço! Claro, ele tem que estar turbinado com alguns plugins, tais como: <strong><a href="http://www.aptana.com/">Aptana</a></strong>, <strong><a href="http://pydev.sourceforge.net/">PyDev</a></strong>, <strong>Mercurial</strong>, etc.</li>
</ol>
<p>E assim como outros fizeram, vamos às menções honrosas de outras ferramentas que fazer uma pontinha no ambiente com menos frequência. Percebam que muitas ferramentas são claramente feitas para rodar em Windows, geralmente para suprir necessidades que são padrão no Linux</p>
<ol>
<li><strong><a href="http://www.ubuntu.com/">Ubuntu</a></strong>: Companheiro de cada dia! Geralmente uso Windows por conveniência (sempre compro notebooks com Windows original pré-instalado, e dá uma preguiça de instalar e configurar um novo sistema&#8230; apesar de que nas últimas versões de Ubuntu esse processo estar facílimo!). Certas coisas na vida de um desenvolvedor só são possíveis num sistema Linux, e Ubuntu é o mestre nesse aspecto. Um exemplo é um projeto recente que estou trabalhando que envolve processamento de vídeo, usando FFMpeg e PyFFMpeg. Praticamente impossível de rodar em Windows&#8230; porém, no Linux, é <em>mamão-com-açúcar</em>&#8230;</li>
<li><strong><a href="http://code.google.com/appengine/">Google App Engine SDK</a></strong>: Ferramenta essencial para projetos dentro da plataforma do Google. Quando usando com Eclipse, basta integrar no ambiente ou no projeto e o Eclipse/Pydev faz toda a interface pra você.</li>
<li><strong><a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">Putty</a></strong>: Quando não no Linux, uma ferramenta essencial para conectar-se a sistemas remotos.</li>
<li><strong><a href="http://ipython.scipy.org/">iPython</a></strong>: Mão na roda para agilizar alguns comandos experimentais e em testes (Experimentando o <a href="http://dreampie.sourceforge.net/">DreamPie</a> também)</li>
<li><strong><a href="http://www.apachefriends.org/pt_br/xampp.html">XAMPP</a></strong>: Outra ferramenta indispensável quando desenvolvendo fora do Linux</li>
<li><strong><a href="http://www.phpmyadmin.net/">phpMyAdmin</a></strong>: Muita gente torce o nariz, mas essa ferramenta é muito boa e prática. Só não é melhor por não ser em Python, <img src='http://www.thlopes.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> .</li>
<li><strong><a href="http://www.skype.com/intl/pt/home/">Skype</a></strong>: Para conversar com a equipe, clientes, e até fazer pequenos treinamentos</li>
<li><strong><a href="http://db.tt/RKATEsN">DropBox</a></strong>: Backup e compartilhamento entre máquinas remotas. Uso principalmente como backup automatizado do meu ambiente de desenvolvimento remoto e até apaga alguns</li>
<li><strong><a href="http://www.vmware.com/products/player/">VMWare Player</a></strong>: Para rodar mais de um sistema de uma vez, permitindo testes (compatibilidade e usabilidade) mais rápidos e práticos</li>
<li><strong><a href="http://www.realvnc.com/">VNC</a> / <a href="http://sourceforge.net/projects/win2vnc/">Win2VNC</a></strong>: Também para rodar mais de um sistema de uma vez, mas aqui, para controlar mais de uma máquina com um único teclado e mouse, não para visualização remota (inclusive, acho horrível&#8230;)</li>
<li><strong><a href="http://pencil.evolus.vn/">Pencil</a></strong> (Firefox Add-on): Para fazer Wireframes</li>
</ol>
<p>Para dar continuidade, convido os amigos para seguir nesse trend:</p>
<p><a href="http://twitter.com/#!/mauriciosl">@mauriciosl</a><br />
<a href="http://twitter.com/#!/jeanwainer"> @jeanwainer</a><br />
<a href="http://twitter.com/#!/ergalassi"> @ergalassi</a><br />
<a href="http://twitter.com/#!/marcelohonorio"> @marcelohonorio</a><br />
<a href="http://twitter.com/#!/odranoel"> @odranoel</a><br />
<a href="http://twitter.com/#!/ericgoes"> @Ericgoes</a><br />
<a href="http://twitter.com/#!/marcosriso"> @marcosriso</p>
<p></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thlopes.com/2011/02/meu-ambiente-de-trabalho-em-7-itens/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>zipando arrays javascript como no python</title>
		<link>http://www.thlopes.com/2011/01/zipando-arrays-javascript-como-no-python/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=zipando-arrays-javascript-como-no-python</link>
		<comments>http://www.thlopes.com/2011/01/zipando-arrays-javascript-como-no-python/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 19:00:39 +0000</pubDate>
		<dc:creator>Thomas Lopes</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[tecnologia]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[zip]]></category>

		<guid isPermaLink="false">http://www.thlopes.com/?p=964</guid>
		<description><![CDATA[Essa dica rápida é para aqueles que estão procurando uma forma de mesclar (merge) arrays em Javascript como é feito em Python através da função zip. <a href="http://www.thlopes.com/2011/01/zipando-arrays-javascript-como-no-python/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Essa dica rápida é para aqueles que estão procurando uma forma de mesclar (merge) arrays em Javascript como é feito em Python através da função zip():</p>
<pre>function zip() {
    var merged=[],arrays=[],lengths=[];
    for(var i=0; i&lt;arguments.length; i++) {
        arrays.push(arguments[i]);
        lengths.push(arguments[i].length);
    }
    for (var i=0; i &lt; Math.min.apply(null,lengths); i++) {
        merged[i] = arrays.map(function(value) { return value[i]; });
    }
    return merged;
}</pre>
<p>Enjoy!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thlopes.com/2011/01/zipando-arrays-javascript-como-no-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programando e se divertindo</title>
		<link>http://www.thlopes.com/2010/12/programando-e-se-divertindo/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=programando-e-se-divertindo</link>
		<comments>http://www.thlopes.com/2010/12/programando-e-se-divertindo/#comments</comments>
		<pubDate>Fri, 31 Dec 2010 19:03:06 +0000</pubDate>
		<dc:creator>Thomas Lopes</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[loterias]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://www.thlopes.com/?p=938</guid>
		<description><![CDATA[Estava eu aqui, curtindo o "feriado", e pensando no sorteio da Mega da Virada, para o qual fiz algumas apostas. Precisava viajar até a casa de minha sogra, e resolvi fazer um script para conferir os jogos (é, meus amigos e eu fizemos uma quantidade razoável de jogos :D ) em Python. Agora que já cheguei, almocei, e acabei de concluir uma nova versão mais reutilzável, permitindo conferir outros concursos da Mega Sena também, e puxando o resultado direto da fonte oficial: o site da Caixa Econômica Federal! <a href="http://www.thlopes.com/2010/12/programando-e-se-divertindo/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.thlopes.com/2010/12/programando-e-se-divertindo/"><img class="alignright size-thumbnail wp-image-945" src="http://www.thlopes.com/files/2010/12/loteria-numeros-150x147.jpg" alt="loteria-numeros" width="150" height="147" /></a>Estava eu aqui, curtindo o &#8220;feriado&#8221;, e pensando no sorteio da Mega da Virada, para o qual fiz algumas apostas. Precisava viajar até a casa de minha sogra, e resolvi fazer um script para conferir os jogos (é, meus amigos e eu fizemos uma quantidade razoável de jogos <img src='http://www.thlopes.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ) em Python. Agora que já cheguei, almocei, e acabei de concluir uma nova versão mais reutilzável, permitindo conferir outros concursos da Mega Sena também, e puxando o resultado direto da fonte oficial: o site da <a href="http://www.caixa.gov.br/loterias">Caixa Econômica Federal</a>!</p>
<p>E porque não compartilhar <a href="http://dev.thlopes.com/python/MegaDaVirada.zip">esse script para todos</a> aqueles programadores que também fizeram suas apostas?</p>
<p>É bem simples de usar:</p>
<p><em>$ python megadavirada.py 1245 jogos.txt</em></p>
<p>Acho que dá pra perceber a sintaxe do comando: 1245 é o argumento que representa o numero do concurso que você quer conferir, o &#8216;jogos.txt&#8217; o nome do arquivo com suas apostas, seguindo a estrutura:</p>
<p>jose<br />
9,14,16,24,38,45<br />
maria<br />
3,10,32,41,57,60<br />
6,10,21,34,48,52<br />
8,18,19,36,41,58<br />
joazinho<br />
7,13,28,31,43,59</p>
<p>Se você chamar o script sem argumentos, ele vai buscar o concurso 1245 e o arquivo jogos.txt, no mesmo diretório onde está o script. <a href="http://dev.thlopes.com/python/MegaDaVirada.zip">Faça o download através desse link</a>, e aproveite!!! O script tem apenas um pré-requisito, além do <a href="http://www.python.org">Python</a>: a Biblioteca <a href="http://www.crummy.com/software/BeautifulSoup/">BeautifulSoup</a>. Para instalá-la no Ubuntu/Debian, utilize o seguinte comando:</p>
<p><em>$ sudo apt-get install python-beautifulsoup</em></p>
<p>No Windows, basta entrar no <a href="http://www.python.org">site oficial da linguagem</a> e baixar o pacote para instalação. P.S.: Se ganhar, pode fazer uma doação pra mim também! <img src='http://www.thlopes.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  Brincadeiras a parte, quero deixar aqui um Feliz Ano Novo, com mais de 200 milhões de motivos para abraçar cada um dos amigos nessa vida! Saúde e Paz, o resto a gente corre atrás!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thlopes.com/2010/12/programando-e-se-divertindo/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Republicando: jQuery, de olho nos gaps</title>
		<link>http://www.thlopes.com/2010/08/republicando-jquery-de-olho-nos-gaps/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=republicando-jquery-de-olho-nos-gaps</link>
		<comments>http://www.thlopes.com/2010/08/republicando-jquery-de-olho-nos-gaps/#comments</comments>
		<pubDate>Wed, 18 Aug 2010 00:54:50 +0000</pubDate>
		<dc:creator>Thomas Lopes</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[tecnologia]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[standards]]></category>

		<guid isPermaLink="false">http://www.thlopes.com/?p=902</guid>
		<description><![CDATA[Estou republicando esse artigo pois o mesmo recebeu um comentário, e ao mesmo tempo, é um assunto que ainda assola muitas pessoas que utilizam jQuery, principalmente quem começou com ela há pouco tempo. <a href="http://www.thlopes.com/2010/08/republicando-jquery-de-olho-nos-gaps/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em>Estou republicando </em><a href="http://old.thlopes.com/content/view/141/46/"><em>esse artigo</em></a><em> pois o mesmo recebeu um comentário, e ao mesmo tempo, é um assunto que ainda assola muitas pessoas que utilizam </em><a href="http://docs.jquery.com"><em>jQuery</em></a><em>, principalmente quem começou com ela há pouco tempo.</em></p>
<p>Qual webdeveloper nunca usou <a class="bbli" href="http://sledge.boo-box.com/list/page/alF1ZXJ5XyMjX2JveF8jI190YWdnaW5nLXRvb2wtd3BfIyNfMjM5MzQ=-56">jQuery<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a>? Muito difícil&#8230; Bom, mas vamos falar de algo que nem todos os <a class="bbli" href="http://sledge.boo-box.com/list/page/cHJvZ3JhbW1pbmdfIyNfYm94XyMjX3RhZ2dpbmctdG9vbC13cF8jI18yMzkzNA==-64">developers<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a> que usam jQuery se atentam ao programar. Eu mesmo fui pego hoje por um gap que me tomou alguns minutos da tarde&#8230;</p>
<p>Algumas funções (na verdade, a maioria nesse framework) recebem outras funções como <em>callback</em>, aquela função que será chamada assim que a instrução/função chamada acabar seu procedimento. Um exemplo muito utilizado em aplicações reais são as</p>
<h2>Funções Ajax</h2>
<p style="background-color: #ffffff;padding: 2px;border: 1px solid #cccccc"><em>load</em>( url, data, <strong>callback </strong>)<br />
Returns: jQuery. Load HTML from a remote file and inject it into the DOM.</p>
<p style="background-color: #ffffff;padding: 2px;border: 1px solid #cccccc">jQuery.<em>get</em>( url, data, <strong>callback</strong>, type )<br />
Returns: XMLHttpRequest. Load a remote page using an HTTP GET request.</p>
<p style="background-color: #ffffff;padding: 2px;border: 1px solid #cccccc">jQuery.<em>getJSON</em>( url, data, <strong>callback </strong>)<br />
Returns: XMLHttpRequest. Load JSON data using an HTTP GET request.</p>
<p><span id="more-902"></span></p>
<p>Ao usar a função load, você carrega um arquivo remoto (seja ele html puro ou um arquivo dinâmico, como PHP ou outra linguagem), mas o tempo que ele leva para ser processado nem sempre é igual. E se você precisa esperar que o conteúdo seja totalmente carregado antes de proceder com o script?Colocar um timeout? No way, uma vez que você não tem controle sobre o tempo de execução em todas as plataformas e clientes&#8230; Logo, o Callback está aí para sanar essa questão.</p>
<h2>Porém&#8230;</h2>
<p>Temos que tomar cuidado ao usar o Callback, uma vez que o desempenho dos sistemas ainda podem afetar a funcionalidade de seu código, e fazer você perder várias horas de seu precioso descanso&#8230;Veja esse trecho de código que trabalhei recentemente:</p>
<pre>jQuery().ready(function() {
   jQuery.getJSON('/php/data.drafts.php?l=10&amp;f=json', function(data){
      jQuery.each(data, function(i, item){
         jQuery('#latestDraftsTable tbody').append('&lt;tr&gt;&lt;td&gt;'+item.id+'&lt;/td&gt;&lt;td&gt;' + item.title + '&lt;/td&gt;&lt;td&gt;' + item.date+ '&lt;/td&gt;&lt;/tr&gt;');
      });
   });
   jQuery('#latestDraftsTable').tablesorter({widgets: ['zebra']});
);</pre>
<p>Alguém consegue perceber o erro, ou melhor, a Zebra? Muito difícil. Mas ao rodar o código, não acontecia o esperado: que minha tabela apresentasse o comportamento de uma tabela ordenável que o jQuery UI tablesorter plugin proporciona (ou seja, deu Zebra e não ocorreu a <em>Zebra</em>). Aí eu descobri o problema: a penúltima linha do código nem estava sendo executada&#8230; Seriam Gaps de performance?</p>
<h2>Diferentes paradigmas</h2>
<p>Fosse uma linguagem das antigas qualquer, onde o paradigma procedural imperava, esse código não teria problema, pois cada instrução só seria disparada ao final da anterior. No Javascript, a coisa não é bem assim, ainda mais quando se trata de AJAX -<em><strong>Assynchronous</strong> Jacascript and XML</em> &#8211; uma requisição que é disparada e outra estrutura interna fica encarregada de processar os resultados quando eles chegarem. Ao efetuar a função getJSON, a requisição é disparada, e já passamos para a próxima linha (onde eu chamo o tablesorter na tabela), porém, não deu tempo da requisição JSON retornar e popular a tabela. Resultado: minha tabela fica populada mas não fica ordenável.</p>
<p>Graças a um amigo developer fera em JS, eu consegui perceber isso e reordenaro código de maneira que ele funcionasse como o esperado:</p>
<h3>Código corrigido</h3>
<pre>jQuery().ready(function() {
   jQuery.getJSON('/php/data.drafts.php?l=10&amp;f=json', function(data){
      jQuery.each(data, function(i, item){
         jQuery('#latestDraftsTable tbody').append('&lt;tr&gt;&lt;td&gt;'+item.id+'&lt;/td&gt;&lt;td&gt;' + item.title + '&lt;/td&gt;&lt;td&gt;' + item.date+ '&lt;/td&gt;&lt;/tr&gt;');
      });
      <strong>jQuery('#latestDraftsTable').tablesorter({widgets: ['zebra']});</strong>
   });
);</pre>
<p>Assim, o tablesorter vai ocorrer dentro do <em>callback</em>, logo após ter terminado de ser populada a tabela. Na realidade, os callbacks foram feitos exatamente para situações como essa: <em>quando a coisa vai demorar um pouco e você não tem certeza do quanto&#8230;</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thlopes.com/2010/08/republicando-jquery-de-olho-nos-gaps/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The Social Network</title>
		<link>http://www.thlopes.com/2010/07/the-social-network/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-social-network</link>
		<comments>http://www.thlopes.com/2010/07/the-social-network/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 17:29:56 +0000</pubDate>
		<dc:creator>Thomas Lopes</dc:creator>
				<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.thlopes.com/?p=882</guid>
		<description><![CDATA[[youtube]rX1qSJdrgXk[/youtube] Primeiro trailer completo de A Rede Social (The Social Network), filme sobre a história do Facebook dirigido por David Fincher. O filme estréia em Outubro nos EUA. O que esperar depois do lançamento? Sinto cheiro de muitas requisições de empresas &#8230; <a href="http://www.thlopes.com/2010/07/the-social-network/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>[youtube]rX1qSJdrgXk[/youtube]</p>
<p>Primeiro trailer completo de A Rede Social (<a href="http://www.imdb.com/title/tt1285016/">The Social Network</a>), <a class="bbli" href="http://sledge.boo-box.com/list/page/ZmlsbWVfIyNfYm94XyMjX3RhZ2dpbmctdG9vbC13cF8jI18yMzkzNA==-56">filme<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a> sobre a história do <a href="http://www.facebook.com/thlopes">Facebook</a> dirigido por <a href="http://en.wikipedia.org/wiki/David_Fincher">David Fincher</a>. O filme estréia em Outubro nos EUA. O que esperar depois do lançamento? Sinto cheiro de muitas requisições de empresas querendo melhor exposição social na mídia, através de campanhas e aplicativos sociais. Principalmente agora que o cenário da Internet Brasileira parece ter enxergado o Facebook de verdade.</p>
<p>Mas eu já percebi (e provavelmente você também) porque muitos usuários estão finalmente migrando do <a href="http://www.orkut.com.br">Orkut</a> para o Facebook (e a equipe do Orkut também, visto as mudanças corridas que andam fazendo ultimamente): <em>O Facebook é muito mais rápido que o seu rival.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thlopes.com/2010/07/the-social-network/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IBM adota Firefox como browser padrão</title>
		<link>http://www.thlopes.com/2010/07/ibm-adota-firefox-como-browser-padrao/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ibm-adota-firefox-como-browser-padrao</link>
		<comments>http://www.thlopes.com/2010/07/ibm-adota-firefox-como-browser-padrao/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 15:11:27 +0000</pubDate>
		<dc:creator>Thomas Lopes</dc:creator>
				<category><![CDATA[Fatos]]></category>
		<category><![CDATA[tecnologia]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[internet explorer]]></category>

		<guid isPermaLink="false">http://www.thlopes.com/?p=863</guid>
		<description><![CDATA[Algumas coisas as vezes demoram pra acontecer. Mas quando falamos de grandes companhias, é comum uma mudança demorar pra propagar. É o que aconteceu somente agora: IBM adota Firefox como seu browser padrão. Desde antes da época que trabalhei no &#8230; <a href="http://www.thlopes.com/2010/07/ibm-adota-firefox-como-browser-padrao/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Algumas coisas as vezes demoram pra acontecer. Mas quando falamos de grandes companhias, é comum uma mudança demorar pra propagar. É o que aconteceu somente agora: <a href="http://www.ibm.com/br/pt/">IBM </a>adota <a href="http://br.mozdev.org/">Firefox </a>como seu browser padrão. Desde antes da época que trabalhei no departamento web aqui no Brasil, os profissionais do departamento já brigavam para emplacar o Firefox dentro da companhia, mas devido à cultura corporativa adotada, o IE ainda reinava.</p>
<p>Lembro até de campanhas internas para lembrar alguns desenvolvedores que o IE deveria estar instalado em suas máquinas para entrar no esquema de testes. Espero que o IE6 não esteja mais na maioria das máquinas, como acontecia também (afinal, ter um IE6 em sua máquina é um risco considerável&#8230;).</p>
<p>Como disse a <a href="http://tecnologia.ig.com.br/noticia/2010/07/02/firefox+e+o+novo+browser+padrao+da+ibm+9528637.html">editoria de Tecnologia do IG</a>, a IBM adotou o browser por sua veia OpenSource (uma quebra de rotina dessas só poderia partir mesmo do braço livre da empresa), por ter melhor suporte para extensões (aqui com certeza os desenvolvedores quem bateram o pé) e a meu ver, principalmente por ser mais customizável (e assim, a gigante poder ter um melhor controle das ferramentas utilizadas por seus colaboradores, como recursos). Claro, podemos esperar outros motivos ainda, afinal, empresas desse porte nunca fazem mudanças globais sem antes calcular minuciosamente o quanto poderão economizar/ganhar com uma ação dessas. Talvez vejamos em alguns meses alguma nova ferramenta interna sendo vendida globalmente, baseada na tecnologia do browser.</p>
<p>Mas claro, quem conhece, sabe que os benefícios de adotar um browser mais robusto são muito bem vindos, seja sua empresa pequena ou gigante.</p>
<p>Confira mais no<a href="http://tecnologia.ig.com.br/noticia/2010/07/02/firefox+e+o+novo+browser+padrao+da+ibm+9528637.html"> iG &#8211; Tecnologia</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thlopes.com/2010/07/ibm-adota-firefox-como-browser-padrao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Minerando Eleições: opSys, versão 2.0</title>
		<link>http://www.thlopes.com/2010/06/minerando-eleicoes-opsys-versao-2-0/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=minerando-eleicoes-opsys-versao-2-0</link>
		<comments>http://www.thlopes.com/2010/06/minerando-eleicoes-opsys-versao-2-0/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 12:39:09 +0000</pubDate>
		<dc:creator>Thomas Lopes</dc:creator>
				<category><![CDATA[Ciência]]></category>
		<category><![CDATA[Fatos]]></category>
		<category><![CDATA[Projetos]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[Eleições]]></category>
		<category><![CDATA[IA]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[Política]]></category>
		<category><![CDATA[Text mining]]></category>

		<guid isPermaLink="false">http://www.thlopes.com/?p=831</guid>
		<description><![CDATA[Segunda versão do opSys, ferramenta para mineração de opiniões em conteúdo Web. Agora, com recursos que permitem que qualquer pessoa monte um conjunto de processamento de opiniões de acordo com sua necessidade. A maior novidade é também um conjunto para analisar  as Eleições 2010, ou melhor, analisar as opiniões sobre os presidenciáveis num conjunto de blogs, portais e no Twitter. Serra e Dilma já estão sendo minerados pelo sistema. <a href="http://www.thlopes.com/2010/06/minerando-eleicoes-opsys-versao-2-0/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.opsys.com.br"><img class="alignleft size-full wp-image-935" src="http://www.thlopes.com/files/2010/06/opsys-logo.jpg" alt="opsys-logo" width="100" height="35" /></a><a title="opSys: mineração de opiniões em conteúdo web" href="http://www.opsys.com.br"><br />
</a> Algumas semanas atrás, liberei a segunda versão do opSys, ferramenta para mineração de opiniões em conteúdo Web. Agora, com recursos que permitem que qualquer pessoa monte um conjunto (SET) de variáveis e extrair opiniões de acordo com sua necessidade. Assim, você pode configurá-lo para medir a opinião de algum assunto que você gosta, marca, gadget, etc. As aplicações são inúmeras, podendo ser usado em pesquisas para medir uma marca, inclusive. Logo que o usuário acessa, ele tem agora duas opções para visualizar o opSys funcionando: A <strong><a class="bbli" href="http://sledge.boo-box.com/list/page/QW4lRTFsaXNlK2RlK0ludmVzdGltZW50b3NfIyNfYm94XyMjX3RhZ2dpbmctdG9vbC13cF8jI18yMzkzNA==-84">Análise de Investimentos<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a></strong>, que explora notícias e comentários sobre o mundo dos investimentos na bolsa, e também o mais novo Set padrão no sistema: Eleições 2010.</p>
<h3>Minerando opiniões sobre as Eleições</h3>
<p>A maior novidade é que já criei também um conjunto para analisar as Eleições 2010, ou melhor, analisar as opiniões sobre os presidenciáveis num conjunto de blogs, portais e no Twitter. Serra e Dilma já estão sendo minerados pelo sistema, que vai medir o feeling das postagens relacionadas em diversos sites nacionais, blogs diversos e também citações no Twitter. Claro, essa nova investida vai demandar uma série de atualizações no sistema, muitas delas já planejadas desde o ano passado, mas também algumas que vão surgir nesse novo período. Certamente, mudanças esperadas no ciclo de evolução de um sistema dinâmico na Webesfera.</p>
<p>E nesse ponto, as críticas e dicas dos usuários serão muito importantes! Como nunca, aguardo comentários, críticas e sugestões de todos que utilizarem e avaliarem o opSys, para deixá-lo sempre melhor. Confira agora mesmo: <a title="opSys: mineração de opiniões em conteúdo web" href="http://www.opsys.com.br">http://www.opsys.com.br</a></p>
<h3>Novidades chegando</h3>
<p>Nesse momento, já temos algumas pessoas com habilidades distintas colocando seus skills para funcionar, arquitetando mudanças para o opSys, que o tornaram mais fácil de navegar e &#8220;consumir&#8221;. <a class="bbli" href="http://sledge.boo-box.com/list/page/RGVzaWduZXJzXyMjX2JveF8jI190YWdnaW5nLXRvb2wtd3BfIyNfMjM5MzQ=-60">Designers<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a>, <a class="bbli" href="http://sledge.boo-box.com/list/page/QXJxdWl0ZXRvcytpbmZvcm1hJUU3JUUzb18jI19ib3hfIyNfdGFnZ2luZy10b29sLXdwXyMjXzIzOTM0-80">Arquitetos da informação<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a>, marketeiros&#8230; Logo logo, poderão conferir mais novidades! Aguardem!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thlopes.com/2010/06/minerando-eleicoes-opsys-versao-2-0/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

