<?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/tag/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>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>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>Nerdcast sobre programadores</title>
		<link>http://www.thlopes.com/2010/05/nerdcast-sobre-programadores/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nerdcast-sobre-programadores</link>
		<comments>http://www.thlopes.com/2010/05/nerdcast-sobre-programadores/#comments</comments>
		<pubDate>Fri, 28 May 2010 20:10:05 +0000</pubDate>
		<dc:creator>Thomas Lopes</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Fatos]]></category>
		<category><![CDATA[tecnologia]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[profissão]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.thlopes.com/?p=836</guid>
		<description><![CDATA[Quem acompanha o blog sabe que esporadicamente posto links para podcasts de assuntos relacionados a THLopes. E aqui está mais: o Nerdcast de hoje, cujo tema é Profissão: Programador. Como este que vos escreve atua nessa profissão, recomendo ouvir esse excelente podcast para fechar sua sexta-feira. Boas risadas e descobertas! <a href="http://www.thlopes.com/2010/05/nerdcast-sobre-programadores/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a title="Nerdcast #211 Profissão: programador por thlopes, no Flickr" href="http://www.thlopes.com/2010/05/nerdcast-sobre-programadores/"><img src="http://farm5.static.flickr.com/4062/4647820359_286829fea9_o.jpg" alt="Nerdcast #211 Profissão: programador" width="440" height="235" /></a></p>
<p>Quem acompanha o blog sabe que esporadicamente posto links para podcasts de assuntos relacionados a THLopes. E aqui está mais: o Nerdcast de hoje, cujo tema é Profissão: Programador. Como este que vos escreve atua nessa profissão, recomendo <a title="Nerdcast 211 -0 profissão programador" href="http://jovemnerd.ig.com.br/nerdcast/nerdcast-211-profissao-programador/">ouvir esse excelente podcast para fechar sua sexta-feira</a>. Boas risadas e descobertas!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thlopes.com/2010/05/nerdcast-sobre-programadores/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>E se os browsers fossem meios de transporte?</title>
		<link>http://www.thlopes.com/2010/03/e-se-os-browsers-fossem-meios-de-transporte/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=e-se-os-browsers-fossem-meios-de-transporte</link>
		<comments>http://www.thlopes.com/2010/03/e-se-os-browsers-fossem-meios-de-transporte/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 03:52:20 +0000</pubDate>
		<dc:creator>Thomas Lopes</dc:creator>
				<category><![CDATA[Cultura]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[internet explorer]]></category>

		<guid isPermaLink="false">http://www.thlopes.com/?p=774</guid>
		<description><![CDATA[E se os browsers atuais fossem comparados aos meios de transporte? <a href="http://www.thlopes.com/2010/03/e-se-os-browsers-fossem-meios-de-transporte/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a title="Browsers como meios de Transporte por thlopes, no Flickr" href="http://www.flickr.com/photos/thlopes/4474760223/"><img src="http://farm5.static.flickr.com/4069/4474760223_d7d3663931.jpg" alt="Browsers como meios de Transporte" width="500" height="367" /></a></p>
<p>Discordo da definição do Firefox, mas concordo com todas as demais! Via <a title="Post Original no UOL tecnologia" href="http://uoltecnologia.blog.uol.com.br/arch2010-03-28_2010-04-03.html">UOL Tecnologia</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thlopes.com/2010/03/e-se-os-browsers-fossem-meios-de-transporte/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Algumas razões para não fazer um site em flash</title>
		<link>http://www.thlopes.com/2010/03/algumas-razoes-para-nao-fazer-um-site-em-flash/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=algumas-razoes-para-nao-fazer-um-site-em-flash</link>
		<comments>http://www.thlopes.com/2010/03/algumas-razoes-para-nao-fazer-um-site-em-flash/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 13:33:51 +0000</pubDate>
		<dc:creator>Thomas Lopes</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Projetos]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://www.thlopes.com/?p=726</guid>
		<description><![CDATA["Algumas razões para não fazer um site em flash"  mostra alguns dos motivos pelos quais o Flash não é a tecnologia mais indicada para a maioria dos projetos web, mesmo a maioria dos designers insistindo que é. <a href="http://www.thlopes.com/2010/03/algumas-razoes-para-nao-fazer-um-site-em-flash/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Estou citando aqui um artigo muito interessante que acabei de encontrar, que indico principalmente para meus clientes que ainda não decidiram qual estratégia na web adotar: <a href="http://imasters.uol.com.br/artigo/16067/flash/algumas_razoes_para_nao_fazer_um_site_em_flash/">&#8220;Algumas razões para não fazer um site em flash&#8221;</a> mostra alguns dos motivos pelos quais o Flash não é a tecnologia mais indicada para a maioria dos projetos web, mesmo a maioria dos designers insistindo que é.</p>
<p>Confiram mais detalhes no Artigo, no <a href="http://imasters.uol.com.br/artigo/16067/flash/algumas_razoes_para_nao_fazer_um_site_em_flash/">iMasters</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thlopes.com/2010/03/algumas-razoes-para-nao-fazer-um-site-em-flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Motion: animação web sem flash</title>
		<link>http://www.thlopes.com/2010/03/motion-animacao-web-sem-flash/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=motion-animacao-web-sem-flash</link>
		<comments>http://www.thlopes.com/2010/03/motion-animacao-web-sem-flash/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 14:53:02 +0000</pubDate>
		<dc:creator>Thomas Lopes</dc:creator>
				<category><![CDATA[Projetos]]></category>
		<category><![CDATA[tecnologia]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://www.thlopes.com/?p=721</guid>
		<description><![CDATA[Encontrei esse projeto através do LinkedIn. Incrível, o autor consegue gerar um ambiente animado, onde você pode interagir com outros elementos, o cenário tem profundidade, e você pode guiar seu personagem através desse ambiente, usando o teclado, para qualquer direção. Até aí normal, porém, ele fez tudo usando apenas Javascript, sem nenhum Flash sequer. Ver essa audácia me relembrou a época em que desenvolvi um game 2d em Java, na faculdade. <a href="http://www.thlopes.com/2010/03/motion-animacao-web-sem-flash/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a title="Motion: animação sem flash por thlopes, no Flickr" href="http://www.flickr.com/photos/thlopes/4408148145/"><img src="http://farm3.static.flickr.com/2745/4408148145_a6ede04f16.jpg" alt="Motion: animação sem flash" width="500" height="82" /></a></p>
<p>Encontrei esse p<a href="http://www.linkedin.com/groupAnswers?viewQuestionAndAnswers=&amp;discussionID=12806687&amp;gid=100943&amp;trk=EML_anet_qa_ttle-0Ut79xs2RVr6JBpnsJt7dBpSBA">rojeto através do LinkedIn</a>. Incrível, o autor consegue gerar um ambiente animado, onde você pode interagir com outros elementos, o cenário tem profundidade, e você pode guiar seu personagem através desse ambiente, usando o teclado, para qualquer direção. Até aí normal, porém, ele fez tudo usando apenas Javascript, sem nenhum Flash sequer. Ver essa audácia me relembrou a época em que desenvolvi um game 2d em Java, na faculdade, o K-Libre99, totalmente do zero.</p>
<p>O mais bacana é que ele demonstra que podemos sim ter coisas complexas feitas na web, com Javascript (que é nativo de qualquer browser hoje em dia), sem depender de plugins externos, como o Flash. Realmente, um trabalho excelente, demonstrando que a web não é dependente de Flash para criar experiências de usuário dinâmicas. Confira mais em <a title="Motion, by Mathew Dunham" href="http://www.geektestbox.com/devfiles/mdunham/brookside_beta/">http://www.geektestbox.com/devfiles/mdunham/brookside_beta/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thlopes.com/2010/03/motion-animacao-web-sem-flash/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Novidade no Twitter: Hovercards</title>
		<link>http://www.thlopes.com/2010/02/novidade-no-twitter-hovercards/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=novidade-no-twitter-hovercards</link>
		<comments>http://www.thlopes.com/2010/02/novidade-no-twitter-hovercards/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 13:31:29 +0000</pubDate>
		<dc:creator>Thomas Lopes</dc:creator>
				<category><![CDATA[Fatos]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[lançamento]]></category>
		<category><![CDATA[social]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.thlopes.com/?p=700</guid>
		<description><![CDATA[Hoje o Twitter lançou um novo recurso:  Hovercards. A idéia é simples, como podemos notar pelo nome (hover, do evento do mouse; card, de cartão): mostrar a informação do usuário quando você colocar o mouse em cima de seu nick (por exemplo, quando alguém dá um tweet @fulano mandando uma resposta direta a ele), como um cartão de visita. É bem prático, pois permite que você saiba um pouco mais das pessoas com quem seus seguidos se relacionam, expandindo suas possibilidades de contatos. Excelente para ajudar a filtrar indivíduos relevantes para você seguir! <a href="http://www.thlopes.com/2010/02/novidade-no-twitter-hovercards/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a title="Twitter Hovercard screenshot por thlopes, no Flickr" href="http://www.flickr.com/photos/thlopes/4330271610/"><img src="http://farm3.static.flickr.com/2689/4330271610_ed63001a11_o.jpg" alt="Twitter Hovercard screenshot" width="400" height="145" /></a></p>
<p>Hoje o Twitter lançou um novo recurso:  <a href="http://blog.twitter.com/2010/02/flying-around-with-hovercards.html">Hovercards</a>. A idéia é simples, como podemos notar pelo nome (<a href="http://en.wikipedia.org/wiki/Mouseover">hover, do evento do mouse</a>; card, de cartão): mostrar a informação do usuário quando você colocar o mouse em cima de seu <a href="http://pt.wikipedia.org/wiki/Nickname">nick</a> (por exemplo, quando alguém dá um <a href="http://pt.wikipedia.org/wiki/Tweet_(twitter)">tweet</a> @fulano mandando uma resposta direta a ele), como um cartão de visita. É bem prático, pois permite que você saiba um pouco mais das pessoas com quem seus seguidos se relacionam, expandindo suas possibilidades de contatos. Excelente para ajudar a filtrar indivíduos relevantes para você seguir! Ele permite ter uma visão de cartão expandido, mostrando ainda mais informação. Também é possível enviar mensagens direto dele.</p>
<p>Mais legal ainda: ele permite que você siga a pessoa ali mesmo, sem necessidade de trocar de página. Também vai mostrar o status, caso você já o siga. A meu ver, uma ótima ação dos desenvolvedores do Twitter, otimizando não só a experiência do usuário, mas também o <a href="http://www.thlopes.com/2010/01/otimizando-desempenho/">desempenho de seus serviços</a> (isso com certeza vai diminuir a carga dos servidores web do <a href="http://twitter.com/thlopes">Twitter</a>). <em>Não vai demorar muito para ver esse conceito pipocar em outras redes e aplicativos sociais agora&#8230;</em></p>
<p>Porém, é um recurso que <em>não vai aparecer para todos usuários de uma única vez</em>. Será implantando ao poucos (que mania que essas redes sociais tem de fazer suspense com as funcionalidades&#8230;) Fique atento, mais cedo ou mais tarde, você verá!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thlopes.com/2010/02/novidade-no-twitter-hovercards/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vida longa ao Unicode!</title>
		<link>http://www.thlopes.com/2010/02/vida-longa-ao-unicode/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=vida-longa-ao-unicode</link>
		<comments>http://www.thlopes.com/2010/02/vida-longa-ao-unicode/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 23:07:36 +0000</pubDate>
		<dc:creator>Thomas Lopes</dc:creator>
				<category><![CDATA[Fatos]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[Encoding]]></category>
		<category><![CDATA[unicode]]></category>

		<guid isPermaLink="false">http://www.thlopes.com/?p=661</guid>
		<description><![CDATA[A luta pela padronização na Web comemora mais um grade fato: o Unicode (se você não reconhece esse termo, que tal UTF-8?) reina quando o assunto é o encoding utilizado pelas páginas (pelo menos as encontráveis pelo Google). Confira uma parte do post feito por Augusto Campos no blog BR-Linux.org: <a href="http://www.thlopes.com/2010/02/vida-longa-ao-unicode/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A luta pela padronização na Web comemora mais um grade fato: o <a title="Verbete unicode na Wikipedia, pt" href="http://pt.wikipedia.org/wiki/Unicode">Unicode </a>(se você não reconhece esse termo, que tal <a title="Verbete UTF-8 Na wikipedia, pt" href="http://pt.wikipedia.org/wiki/UTF-8">UTF-8</a>?) reina quando o assunto é o encoding utilizado pelas páginas (pelo menos as encontráveis pelo Google). Confira uma parte do <a title="Leia mais sobre Unicode na Web, no BR-Linux.org" href="http://br-linux.org/2010/unicode-dominando-a-web/">post feito por Augusto Campos no blog BR-Linux.org</a>:</p>
<p><a class="flickr-image alignleft" title="Unicode é o mais usado na Web" href="http://www.flickr.com/photos/thlopes/4323742008/"><img class="alignleft" src="http://farm5.static.flickr.com/4046/4323742008_8037bb11d7_o.png" alt="Unicode é o mais usado na Web" /></a></p>
<blockquote><p>E esta maioria está a poucos passos de galgar um degrau a mais: tornar-se superior à soma de todas as demais opções – ao menos no que diz respeito ao conjunto dos sites indexados pelo Google.</p>
<p>Consta que o Google vai promover uma festa quando a marca de 50% for ultrapassada. E como a tendência está bem clara no gráfico, não deve demorar. (<em>via <a href="http://www.h-online.com/open/news/item/Unicode-dominates-web-918063.html" target="_blank">h-online.com</a></em>)</p></blockquote>
<p>Bom, se houver mesmo uma festa, eu gostaria de ir, mas&#8230; será que essa festa será uma festa normal?!?!?</p>
<p>De qualquer forma, é um acontecimento que devemos comemorar (profissionais da web), pois é um grande avanço rumo a um trabalho melhor, menos dependente de monopólios, mais colaborativa ainda! Como muitos leitores já sabem, <a title="Post sobre Python e Unicode" href="http://old.thlopes.com/content/view/97/46/">quando se trabalha com dados oriundos da Web</a>, já é uma briga conseguir extrair tudo num formato decente para seu banco de dados. Quando ainda temos que lidar com vários conjuntos de caracteres diferentes, quando é tão simples usar um único conjunto. Recomendo, caso você trabalhe com Python, a biblioteca <a title="Uma library para parsear HTML/XML em Python" href="http://www.crummy.com/software/BeautifulSoup/">BeautifulSoup</a>, que fará a maior parte do esforço para você lidar com aquelas páginas que insistem em não usar o Unicode. Aliás, segue aqui um ótimo artigo para quem quer falar a mesma língua com a maioria do mundo: <a href="http://www.python.org.br/wiki/TudoSobrePythoneUnicode">Tudo sobre Python e Unicode</a></p>
<p><em>Cheers!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thlopes.com/2010/02/vida-longa-ao-unicode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

