<?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>pomoTI</title>
	<atom:link href="http://pomoti.com/feed" rel="self" type="application/rss+xml" />
	<link>http://pomoti.com</link>
	<description>Discussões construtivas sobre novas ferramentas, tecnologicas ou não.</description>
	<lastBuildDate>Fri, 05 Feb 2010 13:08:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Twitter Phishing Attack e &#8220;Mais Followers&#8221;</title>
		<link>http://pomoti.com/twitter-phishing-attack-e-mais-followers</link>
		<comments>http://pomoti.com/twitter-phishing-attack-e-mais-followers#comments</comments>
		<pubDate>Tue, 02 Feb 2010 19:15:49 +0000</pubDate>
		<dc:creator>Dirceu Pauka Jr.</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[attack]]></category>
		<category><![CDATA[mais followers]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[pishing]]></category>

		<guid isPermaLink="false">http://pomoti.com/?p=1373</guid>
		<description><![CDATA[Ultimamente tenho observado uma infestação de serviços que prometem uma grande quantidade de seguidores no Twitter.
O esquema é parecido com técnicas malignas de SEO como Google Train e como não chega a atrapalhar diretamente o Twitter não é combatido pela empresa.
Alguns desses serviços utilizam oAuth como promessa de proteção. Mas, por mais que a autorização [...]]]></description>
			<content:encoded><![CDATA[<div class="bzbutton" style="float: left; margin-right: 10px;"><a href="http://buzzvolume.com/compartilhar?url=http%3A%2F%2Fpomoti.com%2Ftwitter-phishing-attack-e-mais-followers&source=dirs"><img src="http://buzzvolume.com/button.png?url=http%3A%2F%2Fpomoti.com%2Ftwitter-phishing-attack-e-mais-followers" /></a></div><p>Ultimamente tenho observado uma infestação de serviços que prometem uma grande quantidade de seguidores no Twitter.</p>
<p>O esquema é parecido com técnicas malignas de SEO como Google Train e como não chega a atrapalhar diretamente o Twitter não é combatido pela empresa.</p>
<p>Alguns desses serviços utilizam oAuth como promessa de proteção. Mas, por mais que a autorização por oAuth possa ser negada depois, a aceitação inicial permite acesso e alteração dos dados do usuário.</p>
<h2>As contas dos participantes desses esquemas estão comprometidas</h2>
<p>Para mim está claro que os criadores desses esquemas possuem objetivos nada sinceros. Roubar senhas e acessar timelines de forma a direcionar trafego para urls maliciosas.</p>
<p>Assim os participantes e amigos de participantes desses esquemas estão sim com suas contas comprometidas.</p>
<h2>Os amigos também?</h2>
<p>Existem vários motivos para usar o perfil no modo &#8220;protegido&#8221;. O mais comum é reservar a privacidade do cidadão.<br />
Se alguém com perfil protegido autorizar um amigo a ver seus updates e esse amigo usar um &#8220;Mais Followers&#8221; os updates do usuário são expostos para <a href="http://blogoscoped.com/archive/2004_04_29_index.html">no mínimo os sujeitos</a> que criaram esse serviço.</p>
<h2>O Twitter está sofrendo um ataque de phishing. Isso pode ser evitado?</h2>
<p>Creio que sim. É difícil enxergar legitimidade em serviços como esses. O Google classifica serviços maliciosos e publica listas com esses dados na web. Se o Twitter <a href="http://github.com/dirs/google-safebrowsing-rb">verificar URLs nessa lista</a> e não permitir o envio das mesmas para a timeline, pode começar a evitar que essa praga se espalhe.</p>
<h2>Enquanto isso?</h2>
<p>Não digite sua senha em nenhum lugar. Evite serviços que não possuem autentificação por oAuth e mesmo nos que possuirem, só autorize se confiar.</p>
]]></content:encoded>
			<wfw:commentRss>http://pomoti.com/twitter-phishing-attack-e-mais-followers/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Google Phone</title>
		<link>http://pomoti.com/google-phone</link>
		<comments>http://pomoti.com/google-phone#comments</comments>
		<pubDate>Wed, 06 Jan 2010 19:08:55 +0000</pubDate>
		<dc:creator>Dirceu Pauka Jr.</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[3G]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[G One]]></category>
		<category><![CDATA[G Phone]]></category>
		<category><![CDATA[G1]]></category>
		<category><![CDATA[Gone]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Google Phone]]></category>
		<category><![CDATA[Googlephone]]></category>
		<category><![CDATA[GPhone]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Nexus One]]></category>
		<category><![CDATA[NexusOne]]></category>
		<category><![CDATA[Phone]]></category>

		<guid isPermaLink="false">http://pomoti.com/?p=1363</guid>
		<description><![CDATA[A URL http://google.com/phone é legal. Não só isso é legal no celular do Google. 
Finalmente o Android ficou pronto a ponto do Google anunciar publicamente sua marca junto a HTC, fabricante dos aparelhos. Alguns destaques do NexusOne: 
Search do Google por voz (GPS + voz, na verdade, o que possibilita você falar &#8220;pizza&#8221; para o [...]]]></description>
			<content:encoded><![CDATA[<div class="bzbutton" style="float: left; margin-right: 10px;"><a href="http://buzzvolume.com/compartilhar?url=http%3A%2F%2Fpomoti.com%2Fgoogle-phone&source=dirs"><img src="http://buzzvolume.com/button.png?url=http%3A%2F%2Fpomoti.com%2Fgoogle-phone" /></a></div><p>A URL <a href="http://google.com/phone">http://google.com/phone</a> é legal. Não só isso é legal no celular do Google. </p>
<p>Finalmente o Android ficou pronto a ponto do Google anunciar publicamente sua marca junto a HTC, fabricante dos aparelhos. Alguns destaques do NexusOne: </p>
<p>Search do Google por voz (GPS + voz, na verdade, o que possibilita você falar &#8220;pizza&#8221; para o telefone e ele te mostrar no Google Maps o caminho às pizzarias próximas).</p>
<p>Hardware e resolução de tela (800&#215;480) para rodar jogos muito melhor que qualquer PSP e o marketplace para baixar legalmente jogos muito melhores até que jogos de PS2. Tudo pelo 3G.</p>
<p>Marketplace dos modelos anteriores da HTC que rodam Android, com mais de 20 mil apps prontas para rodar no telefone do Google (Android 2.1).</p>
<p><a href="http://www.weikhang.com/2006/12/why-most-watch-ads-show-time-as-1008.html" target="_blank"><img src="http://pomoti.com/wp-content/uploads/2010/01/google_phones.png" alt="Google Phones" title="Google Phones" width="632" height="193" /></a></p>
<p>Aparelho fino (1,19cm).</p>
<p>E o mais importante para os devs: SDK simples e publica.</p>
<p>Veja também sobre o Zeebo, <a href="http://pomoti.com/zeebo">um video game da brasileira TecToy que tem um Android dentro e os jogos são baixados pelo 3G</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://pomoti.com/google-phone/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>abbr-log 2009</title>
		<link>http://pomoti.com/abbr-log-2009</link>
		<comments>http://pomoti.com/abbr-log-2009#comments</comments>
		<pubDate>Tue, 22 Dec 2009 16:05:15 +0000</pubDate>
		<dc:creator>Dirceu Pauka Jr.</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2009]]></category>
		<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://pomoti.com/?p=1359</guid>
		<description><![CDATA[Seguindo a tradição vou publicar meu log de abreviações:
2009 no BuzzVolume e na Doin Apps
html, css, javascript, svn, git, twitter api, ruby, memcached, tokyo cabinet, nginx, sinatra, thin, web crawler, solr, mysql, chrome extensions, c, cocoa, obj-c, webos mojo js framework
Veja o do ano passado
]]></description>
			<content:encoded><![CDATA[<div class="bzbutton" style="float: left; margin-right: 10px;"><a href="http://buzzvolume.com/compartilhar?url=http%3A%2F%2Fpomoti.com%2Fabbr-log-2009&source=dirs"><img src="http://buzzvolume.com/button.png?url=http%3A%2F%2Fpomoti.com%2Fabbr-log-2009" /></a></div><p>Seguindo a tradição vou publicar meu log de abreviações:</p>
<p>2009 no <a href="http://buzzvolume.com">BuzzVolume</a> e na <a href="http://doinapps.com">Doin Apps</a></p>
<p>html, css, javascript, svn, git, twitter api, ruby, memcached, tokyo cabinet, nginx, sinatra, thin, web crawler, solr, mysql, chrome extensions, c, cocoa, obj-c, webos mojo js framework</p>
<p><a href="http://pomoti.com/abbr-log">Veja o do ano passado</a></p>
]]></content:encoded>
			<wfw:commentRss>http://pomoti.com/abbr-log-2009/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Melhor Preço: Extensão para Chrome</title>
		<link>http://pomoti.com/melhor-preco-extensao-para-chrome</link>
		<comments>http://pomoti.com/melhor-preco-extensao-para-chrome#comments</comments>
		<pubDate>Fri, 18 Dec 2009 13:55:21 +0000</pubDate>
		<dc:creator>Dirceu Pauka Jr.</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[Economia]]></category>
		<category><![CDATA[extensão]]></category>
		<category><![CDATA[mais barato]]></category>
		<category><![CDATA[natal]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[preço baixo]]></category>

		<guid isPermaLink="false">http://pomoti.com/?p=1352</guid>
		<description><![CDATA[Eu e o @mauricio desenvolvemos uma extensão para o Google Chrome que encontra os melhores preços enquanto o usuário navega em sites de comércio eletrônico.
Após instalar a extensão &#8220;Melhor Preço&#8220;, um botão no navegador alerta o usuário para a possibilidade de encontrar preços menores do produto que está pesquisando. Ao clicar no botão são apresentadas [...]]]></description>
			<content:encoded><![CDATA[<div class="bzbutton" style="float: left; margin-right: 10px;"><a href="http://buzzvolume.com/compartilhar?url=http%3A%2F%2Fpomoti.com%2Fmelhor-preco-extensao-para-chrome&source=dirs"><img src="http://buzzvolume.com/button.png?url=http%3A%2F%2Fpomoti.com%2Fmelhor-preco-extensao-para-chrome" /></a></div><p>Eu e o <a href="http://twitter.com/mauricio" target="_blank">@mauricio</a> desenvolvemos uma extensão para o Google Chrome que encontra os melhores preços enquanto o usuário navega em sites de comércio eletrônico.</p>
<p>Após instalar a extensão &#8220;<a href="https://chrome.google.com/extensions/detail/cjeaiankjpoimefbddckjldhnmckpbjg">Melhor Preço</a>&#8220;, um botão no navegador alerta o usuário para a possibilidade de encontrar preços menores do produto que está pesquisando. Ao clicar no botão são apresentadas as ofertas disponíveis em diversos sites de comércio eletrônico brasileiro.</p>
<p>A ferramenta que deve ajudar o internauta brasileiro a economizar nas compras deste Natal, pode ser instalada a partir da galeria oficial de extensões do Google: <a href="https://chrome.google.com/extensions/detail/cjeaiankjpoimefbddckjldhnmckpbjg">https://chrome.google.com/extensions</a>.</p>
<p>Lançadas em fase beta no último dia 8, as extensões para o Google Chrome permitem que desenvolvedores aumentem as funcionalidades do navegador do Google.</p>
<p><img src="http://pomoti.com/wp-content/uploads/2009/12/3001.png" alt="3001" title="3001" width="410" height="250" class="alignnone size-full wp-image-1353" /></p>
]]></content:encoded>
			<wfw:commentRss>http://pomoti.com/melhor-preco-extensao-para-chrome/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mobile application software &#8211; doin apps</title>
		<link>http://pomoti.com/mobile-application-software-doin-apps</link>
		<comments>http://pomoti.com/mobile-application-software-doin-apps#comments</comments>
		<pubDate>Thu, 03 Dec 2009 20:05:37 +0000</pubDate>
		<dc:creator>Dirceu Pauka Jr.</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[celular]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[palm]]></category>
		<category><![CDATA[smartphone]]></category>
		<category><![CDATA[webos]]></category>

		<guid isPermaLink="false">http://pomoti.com/?p=1342</guid>
		<description><![CDATA[
O celular nunca mudou tanto desde sua invenção quanto mudou com a chegada da banda larga. Com sua história recente mais relacionada com Internet as coisas acontecem mais ou menos da mesma maneira: o custo de desenvolvimento, promoção e distribuição fica cada vez mais barato, permitindo a criação de aplicativos por mais pessoas.
Como vemos atualmente, [...]]]></description>
			<content:encoded><![CDATA[<div class="bzbutton" style="float: left; margin-right: 10px;"><a href="http://buzzvolume.com/compartilhar?url=http%3A%2F%2Fpomoti.com%2Fmobile-application-software-doin-apps&source=dirs"><img src="http://buzzvolume.com/button.png?url=http%3A%2F%2Fpomoti.com%2Fmobile-application-software-doin-apps" /></a></div><p><img src="http://pomoti.com/wp-content/uploads/2009/12/doin.png" alt="doin" title="doin" width="200" height="119" class="aligncenter size-full wp-image-1369" /></p>
<p>O celular nunca mudou tanto desde sua invenção quanto mudou com a chegada da banda larga. Com sua história recente mais relacionada com Internet as coisas acontecem mais ou menos da mesma maneira: o custo de desenvolvimento, promoção e distribuição fica cada vez mais barato, permitindo a criação de aplicativos por mais pessoas.</p>
<p>Como vemos atualmente, 3 novas &#8220;grandes&#8221; plataformas estão sendo construídas: iPhone OS, Android, webOS. Todas são plataformas já consideradas sucedidas e apesar de dizerem que já fechou a conta e o futuro é iPhone, Android e WebOS eu acho que em breve outras também adotarão uma interface boa o suficiente combinada com o WebKit (touch é o grande trunfo do iPhone, Androids e webOS).</p>
<p>Então o mercado está aquecido. Isso é verdade?</p>
<p>As empresas que se arriscaram a construir essas plataformas conseguiram uma base instalada absurda em pouco tempo.</p>
<p>Em novos mercados a concorrência é baixa e a audiência de cada &#8220;player&#8221; é alta. Por isso muitos estão ganhando com <a href="http://www.techcrunch.com/2009/01/29/greystripe-hits-140-million-mobile-advergame-downloads/">publicidade</a> em apps com baixa qualidade no iPhone. Também por isso outros estão ganhando com apps de boa qualidade em plataformas mais novas&#8230;</p>
<p>No último ano coloquei aplicações na iTunes Store e na Palm Pre Store e venho tentando tanto o modelo de publicidade quanto apps pagas.</p>
<p>Eu não ganho muito. Principalmente devido ao fato do AdMob ser um <strong>sistema quebrado</strong>. Mas pretendo ganhar um pouco e por isso acho interessante tornar a brincadeira um pouco mais seria: criei <a href="http://doinapps.com">a página da doin apps</a>. Não é nada muito serio (por enquanto fazemos somente nossas apps), mas também sem deixar o profissionalismo de lado.</p>
<p>Logo mais o Mikael faz uma logo <img src='http://pomoti.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  E a gente coloca um site no ar&#8230;</p>
<p><a href="http://doinapps.com"><img src="http://pomoti.com/wp-content/uploads/2009/12/card.png" alt="card" title="card" style="border:1px solid #666" width="500" height="220" class="alignleft size-full wp-image-1343" /></a></p>
<p>Valeu <img src='http://pomoti.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://pomoti.com/mobile-application-software-doin-apps/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Opções de CDN no Brasil</title>
		<link>http://pomoti.com/opcoes-de-cdn-no-brasil</link>
		<comments>http://pomoti.com/opcoes-de-cdn-no-brasil#comments</comments>
		<pubDate>Tue, 13 Oct 2009 15:54:21 +0000</pubDate>
		<dc:creator>Dirceu Pauka Jr.</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cdn]]></category>
		<category><![CDATA[high scalability]]></category>
		<category><![CDATA[web app]]></category>

		<guid isPermaLink="false">http://pomoti.com/?p=1312</guid>
		<description><![CDATA[Antes de mais nada queria reforçar que o último post não foi meu e sim do Stéfano. Quem está mudando de vida é ele. Eu continuo na minha de pesquisar siglas desconhecidas:
CDN é sigla de Content Delivery Network que em português significa rede de distribuição de conteúdo.
Uma CDN é formada por vários computadores distribuídos geograficamente. [...]]]></description>
			<content:encoded><![CDATA[<div class="bzbutton" style="float: left; margin-right: 10px;"><a href="http://buzzvolume.com/compartilhar?url=http%3A%2F%2Fpomoti.com%2Fopcoes-de-cdn-no-brasil&source=dirs"><img src="http://buzzvolume.com/button.png?url=http%3A%2F%2Fpomoti.com%2Fopcoes-de-cdn-no-brasil" /></a></div><p>Antes de mais nada queria reforçar que o último post não foi meu e sim do Stéfano. Quem está mudando de vida é ele. Eu continuo na minha de pesquisar siglas desconhecidas:</p>
<p>CDN é sigla de Content Delivery Network que em português significa <strong>rede de distribuição de conteúdo</strong>.</p>
<p>Uma CDN é formada por vários computadores distribuídos geograficamente. Esses computadores mantém copias dos mesmos arquivos de forma que quando um usuário tenta acessar um arquivo &#8211; um vídeo do YouTube por exemplo &#8211; o arquivo possa ser baixado do lugar mais próximo.</p>
<p>Esse tipo de serviço é usado para melhorar a experiência do cliente diminuindo o tempo de resposta e aumentando a velocidade.<br />
Além disso, o uso de uma CDN permite a redução dos gastos com banda e facilita a distribuição de carga entre os servidores de aplicação.</p>
<p>Recentemente tive &#8220;problemas&#8221; com banda em um site. Esse site usa muitas fotos e tem muitos pageviews&#8230;<br />
O &#8220;box&#8221; que configurei aguenta as requisições porém o consumo de banda excede o limite mensal do VPS em uma semana. </p>
<p>Isso me levou a procurar um serviço de CDN e apesar de não ter escolhido nenhuma brasileira, acho interessante colocar aqui as opções que encontrei. As seguintes empresas possuem servidores no Brasil e oferecem o serviço de CDN:</p>
<p><a href="http://www.distribui.com/">Distribui</a>: Me pareceu interessante uma vez que o foco deles é justamente CDN no Brasil.<br />
<a href="http://www.exceda.com/">Exceda</a>: Akamai no Brasil. Muito bom e caro.<br />
<a href="http://www.globalcrossing.com/enterprise/cdn/cdn_landing.aspx">Global Crossing</a>: Essa empresa é provedora de banda para as ISPs brasileiras. Possui quilômetros de fibra no território brasileiro.<br />
<a href="http://www.sambatech.com.br/">Samba Tech</a>: O R7 da Record fica lá.<br />
<a href="http://www.admotion.com.br/cdn.htm">Admotion</a>: Interessante porém somente 2 pontos de acesso por aqui (São Paulo e Buenos Aires).</p>
<p>Infelizmente não tenho mais informações sobre cada um dos serviços. Seria interessante saber quantos pontos de distribuição cada um oferece (e a localização deles). Mas mesmo assim espero já ter ajudado.</p>
<p>Se alguém souber de outra ou de mais informações, ajuda ai <img src='http://pomoti.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://pomoti.com/opcoes-de-cdn-no-brasil/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Módulos do Nginx</title>
		<link>http://pomoti.com/modulos-do-nginx</link>
		<comments>http://pomoti.com/modulos-do-nginx#comments</comments>
		<pubDate>Wed, 30 Sep 2009 14:38:10 +0000</pubDate>
		<dc:creator>Dirceu Pauka Jr.</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[hospedagem]]></category>
		<category><![CDATA[memcached]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[webserver]]></category>

		<guid isPermaLink="false">http://pomoti.com/?p=1293</guid>
		<description><![CDATA[
Nginx é um web server e proxy de alta performance capaz de servir milhares de requisições simultâneas.
Tendo usado desde a época da boo-box, recentemente em dois sites que hospedo e também no BuzzVolume, eu posso dizer algo sobre o famoso &#8220;nginx bem configurado&#8221;: funciona e me faz dormir tranquilo.
O nginx é um web server. Responde [...]]]></description>
			<content:encoded><![CDATA[<div class="bzbutton" style="float: left; margin-right: 10px;"><a href="http://buzzvolume.com/compartilhar?url=http%3A%2F%2Fpomoti.com%2Fmodulos-do-nginx&source=dirs"><img src="http://buzzvolume.com/button.png?url=http%3A%2F%2Fpomoti.com%2Fmodulos-do-nginx" /></a></div><div style="text-align: center;"><img src="http://pomoti.com/wp-content/uploads/2009/09/nginx-logo.png" alt="nginx-logo" title="nginx-logo" width="350" height="90" /></div>
<p><a href="http://wiki.nginx.org/">Nginx</a> é um web server e proxy de alta performance capaz de servir milhares de requisições simultâneas.</p>
<p>Tendo usado desde a <a href="http://pomoti.com/mudanca-de-paradigma-em-webservers-encaixa-nginx-no-mercado">época da boo-box</a>, recentemente em dois sites que hospedo e também no <a href="http://buzzvolume.com">BuzzVolume</a>, eu posso dizer algo sobre o famoso &#8220;nginx bem configurado&#8221;: funciona e me faz dormir tranquilo.</p>
<p>O nginx é um web server. Responde as requisições na porta configurada, faz redirecionamentos, retorna arquivos estáticos e <strong>aceita módulos</strong>:</p>
<p>A comunidade está contribuindo bastante e é sobre alguns módulos &#8220;3th party&#8221; que vou falar.</p>
<p>Obs: Por &#8220;backend&#8221; entenda que é a aplicação Ruby, PHP, Python, &#8220;escolha sua linguagem&#8221;, que estiver rodando.</p>
<h3>NginxHttpUpstreamFairModule</h3>
<p>O <a href="http://wiki.nginx.org/NginxHttpUpstreamFairModule">upstream_fair</a> faz com que as requisições batam no backend que estiver com menos carga. Sem esse módulo as requisições são distribuídas para qualquer backend, mesmo que esse estiver ocupado.</p>
<h3>NginxHttpEmptyGifModule</h3>
<p>O <a href="http://wiki.nginx.org/NginxHttpEmptyGifModule">ngx_http_empty_gif_module</a> mantém na memória um GIF de 1&#215;1 pixels e o entrega diretamente, sem buscar no disco.<br />
Eu considero esse o módulo mais curioso. Ele mostra a preocupação com performance e a facilidade de fazer algo assim com o nginx.<br />
Esse gif de 1&#215;1 pode servir como favicon.ico em sites que não usam icone, evitando que o arquivo (que não existe) seja procurado e retorne um erro. Também pode ser usado como &#8220;<a href="http://en.wikipedia.org/wiki/Web_bug">beacon</a>&#8221; para rastreamento de impressões de ads. </p>
<h3>NginxHttpLimitReqModule</h3>
<p>Construindo o próximo Twitter? Mais um encurtador de URL? O módulo <a href="http://wiki.nginx.org/NginxHttpLimitReqModule">NginxHttpLimitReqModule</a> permite impor limite de requisições por cliente nas suas páginas. Acabe com os engraçadinhos que abusam da API no seu URL-Short.</p>
<h3>nginx-ey-balancer</h3>
<p>Com o <a href="http://github.com/ry/nginx-ey-balancer">nginx-ey-balancer</a> é possivel limitar o número de requisições simultâneas passadas ao backend. Ao invés de todas requisições cairem na aplicação elas ficam em fila no nginx aguardando um processo disponível. Segurar a requisição na aplicação precisa de mais memória e faz a performance da aplicação cair consideravelmente. Ótima solução desenvolvida pela <a href="http://www.engineyard.com/">EngineYard</a>.</p>
<h3>NginxHttpMemcachedModule</h3>
<p>Memcached é um software desenvolvido para diminuir a carga da base de dados. Ele faz cache de objetos na memória e permite acesso pela interface rede. O <a href="http://wiki.nginx.org/NginxHttpMemcachedModule">NginxHttpMemcachedModule</a> dá ao nginx o poder de procurar por um objeto no memcached e caso encontrar retorna o seu conteúdo para o navegador.</p>
<h3>NginxHttpImageFilterModule</h3>
<p><a href="http://wiki.nginx.org/NginxHttpImageFilterModule">NginxHttpImageFilterModule</a> é outro software interessante. Esse desenvolvido pelo criador do nginx, muda o tamanho da imagem na hora de entregar para o cliente evitando armazenar vários &#8220;thumbnails&#8221; do mesmo arquivo.</p>
<p>Estão surgindo cada vez mais módulos para o nginx. Confira outros &#8220;<a href="http://wiki.nginx.org/NginxModules">oficiais</a>&#8221; e &#8220;<a href="http://wiki.nginx.org/Nginx3rdPartyModules">3th party</a>&#8220;.</p>
]]></content:encoded>
			<wfw:commentRss>http://pomoti.com/modulos-do-nginx/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>O desenvolvimento do AlarmGame &#8211; Um jogo despertador</title>
		<link>http://pomoti.com/o-desenvolvimento-do-alarmgame-um-jogo-despertador</link>
		<comments>http://pomoti.com/o-desenvolvimento-do-alarmgame-um-jogo-despertador#comments</comments>
		<pubDate>Wed, 02 Sep 2009 21:53:27 +0000</pubDate>
		<dc:creator>Dirceu Pauka Jr.</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[aplicativo]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[palm pre]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[socialmedia]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://pomoti.com/?p=1277</guid>
		<description><![CDATA[Um dia o Mafra mandou um e-mail interessante. O plano era ficar milionário com um aplicativo de iPhone. Eu não tinha o aparelho e também não fazia parte do Apple Developer Program.

No Simulador comecei a fazer algumas brincadeiras com PhoneGap que poderiam um dia se tornar o aplicativo pronto. Não me preocupei com o problema [...]]]></description>
			<content:encoded><![CDATA[<div class="bzbutton" style="float: left; margin-right: 10px;"><a href="http://buzzvolume.com/compartilhar?url=http%3A%2F%2Fpomoti.com%2Fo-desenvolvimento-do-alarmgame-um-jogo-despertador&source=dirs"><img src="http://buzzvolume.com/button.png?url=http%3A%2F%2Fpomoti.com%2Fo-desenvolvimento-do-alarmgame-um-jogo-despertador" /></a></div><p>Um dia o <a href="http://no15.fmafra.com/">Mafra</a> mandou um e-mail interessante. O plano era ficar milionário com um aplicativo de iPhone. Eu não tinha o aparelho e também não fazia parte do Apple Developer Program.<br />
<img src="http://pomoti.com/wp-content/uploads/2009/09/alarm1.png" alt="Aplicativo iPhone AlarmGame" title="alarm1" width="172" height="300" style="margin: 10px 0 10px 10px;float:right;" /><br />
No Simulador comecei a fazer algumas brincadeiras com <a href="http://phonegap.com/">PhoneGap</a> que poderiam um dia se tornar o aplicativo pronto. Não me preocupei com o problema que o <a href="http://pomoti.com/codigo-que-permite-producao-de-aplicativos-para-iphone-os-com-javascript-na-mira-da-apple">PhoneGap enfrentou na App Store</a> e continuei implementando o que precisava em JavaScript.</p>
<p>Quando implementei em JS uma copia do componente de DatePicker da SDK do iPhone ficou claro que eu teria que deixar o PhoneGap de lado e me apoiar em algo mais robusto.</p>
<p>O Cocoa tem suas peculiaridades mas depois que se aprende a ler e brincar com o Objective-C nos exemplos da Apple, tudo fica mais fácil.</p>
<p>Minha App se tornou um <em>frankenstein</em>. Em partes roda no <a href="http://webkit.org/">WebKit</a> (HTML/CSS/JS) e onde algo se move rápido na tela usa as animações da SDK.</p>
<p>Mas não é só na velocidade que o desenvolvimento com PhoneGap pode limitar o que o aplicativo pode fazer. Fazer requisições HTTP é complicado com as restrições impostas no navegador com o sentido de evitar cross-domain HTTP.</p>
<p>Código Objective-C pode ser usado para permitir chamadas em funções da SDK via JavaScript. Na verdade para mim é isso que resume o PhoneGap.</p>
<h2>AlarmGame</h2>
<p>O aplicativo tinha poucas funções programadas e não tinha nome definido ainda quando o <a href="http://twitter.com/laka">@laka</a> começou a desenhar e a criar o visual para ele. Foi nesse dia que fiz a inscrição para o <a href="http://info.abril.com.br/arena/">concurso ARENA INFO</a>. Concorreríamos na categoria iPhone. O premio: R$1000 para os primeiros de cada categoria e uma viagem a NY + U$2000 para o primeiro geral.</p>
<p>Em vez de tentar vender um aplicativo que não funciona*, tentei ir para NY na faixa.<br />
Não deu certo. <a href="http://info.abril.com.br/blog/arena/20090901_listar.shtml?193116">O aplicativo não foi classificado para a última fase de concurso</a>.</p>
<p>Não vou ficar milionário nem ir para NY, <strong>mas fico feliz se você baixar o aplicativo.</strong></p>
<p style="text-align: center;"><a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=325346913"><img alt="Available on the App Store" src="http://pomoti.com/wp-content/uploads/2009/09/App_Store_Badge_EN.png"/></a></p>
<p>Na próxima versão vou apostar no <a href="http://www.admob.com/">Admob</a>.</p>
<p>*A SDK do iPhone não tem uma <a href="http://developer.palm.com/index.php?option=com_content&#038;view=article&#038;id=1584">API de Alarm como o Palm Pre tem</a>, fazendo com que para usar o despertador o aplicativo não possa ser fechado.</p>
]]></content:encoded>
			<wfw:commentRss>http://pomoti.com/o-desenvolvimento-do-alarmgame-um-jogo-despertador/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SVN #fail com muitos arquivos</title>
		<link>http://pomoti.com/svn-fail-com-muitos-arquivos</link>
		<comments>http://pomoti.com/svn-fail-com-muitos-arquivos#comments</comments>
		<pubDate>Wed, 26 Aug 2009 19:14:56 +0000</pubDate>
		<dc:creator>Dirceu Pauka Jr.</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[deploy]]></category>
		<category><![CDATA[memcached]]></category>
		<category><![CDATA[rmagick]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://pomoti.com/?p=1273</guid>
		<description><![CDATA[Durante a semana precisei trabalhar em um projeto que tem muitas imagens geradas por script. Decidi fazer cache dessas imagens deixando em disco/memcached.
O problema: SVN lento para fazer operações com muitos arquivos (no meu caso nem são muitos: 10000).
A solução: tar -zcvf buttons.tar.gz buttons/
E no deploy: tar -zxvf buttons.tar.gz
Comprimi todos arquivos em um só e [...]]]></description>
			<content:encoded><![CDATA[<div class="bzbutton" style="float: left; margin-right: 10px;"><a href="http://buzzvolume.com/compartilhar?url=http%3A%2F%2Fpomoti.com%2Fsvn-fail-com-muitos-arquivos&source=dirs"><img src="http://buzzvolume.com/button.png?url=http%3A%2F%2Fpomoti.com%2Fsvn-fail-com-muitos-arquivos" /></a></div><p>Durante a semana precisei trabalhar em um projeto que tem muitas imagens geradas por script. Decidi fazer cache dessas imagens deixando em disco/memcached.</p>
<p>O problema: SVN lento para fazer operações com muitos arquivos (no meu caso nem são muitos: 10000).</p>
<p>A solução: tar -zcvf buttons.tar.gz buttons/</p>
<p>E no deploy: tar -zxvf buttons.tar.gz</p>
<p>Comprimi todos arquivos em um só e depois de colocar em produção descomprimi. Assim o SVN não dá azia e não preciso me preocupar com RMagick no server <img src='http://pomoti.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://pomoti.com/svn-fail-com-muitos-arquivos/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>YQL + Y! Geocoding API + Google Maps</title>
		<link>http://pomoti.com/yql-y-geocoding-api-google-maps</link>
		<comments>http://pomoti.com/yql-y-geocoding-api-google-maps#comments</comments>
		<pubDate>Tue, 14 Jul 2009 03:01:57 +0000</pubDate>
		<dc:creator>Dirceu Pauka Jr.</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[geocoding]]></category>
		<category><![CDATA[google maps]]></category>
		<category><![CDATA[imobiliaria]]></category>
		<category><![CDATA[londrina]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[yql]]></category>

		<guid isPermaLink="false">http://pomoti.com/?p=1264</guid>
		<description><![CDATA[Sábado eu comecei a procurar uma casa para morar. Eu preciso de uma casa grande e sem vizinhos, assim posso fazer umas festinhas e vender minha cervejinha artesanal. A casa também precisa ficar próxima ao &#8220;busão da UEL&#8220;.
O problema: nenhum site de imobiliária presta, quanto mais em Londrina.
Poucos sites de imobiliárias mostram as opções em [...]]]></description>
			<content:encoded><![CDATA[<div class="bzbutton" style="float: left; margin-right: 10px;"><a href="http://buzzvolume.com/compartilhar?url=http%3A%2F%2Fpomoti.com%2Fyql-y-geocoding-api-google-maps&source=dirs"><img src="http://buzzvolume.com/button.png?url=http%3A%2F%2Fpomoti.com%2Fyql-y-geocoding-api-google-maps" /></a></div><p>Sábado eu comecei a procurar uma casa para morar. Eu preciso de uma casa grande e sem vizinhos, assim posso fazer umas festinhas e vender minha <a href="http://www.howstuffworks.com/beer.htm">cervejinha artesanal</a>. A casa também precisa ficar próxima ao &#8220;busão da <a href="http://www.uel.br/">UEL</a>&#8220;.</p>
<p>O problema: <strong>nenhum site de imobiliária presta, quanto mais em Londrina</strong>.</p>
<p>Poucos sites de imobiliárias mostram as opções em um mapa e nenhuma das páginas que &#8220;unem os imóveis de várias imobiliárias&#8221; funcionam.</p>
<p>A solução: escrever código.</p>
<p>Com Yahoo Query Language (YQL) eu busquei as &#8220;casas para alugar&#8221; de 7 imobiliárias.<br />
De fato essa é a parte mais complicada e demorada uma vez que cada imobiliária usa um &#8220;padrão&#8221; diferente para apresentar as informações e o trabalho aumenta ainda mais por causa da má construção de certas páginas.</p>
<p>Das 7 imobiliárias foi possivel extrair cerca de 100 casas para locação.</p>
<p>Para inserir as informações no mapa foi preciso de uma API de Geocoding. Esse tipo de serviço transforma um endereço (rua e número) em coordenadas geográficas (latitude, longitude).<br />
Minha primeira tentativa foi usar a <a href="http://code.google.com/apis/maps/documentation/geocoding/index.html">API de Geocoding do Google</a> porém a <a href="http://developer.yahoo.com/maps/rest/V1/geocode.html">Geocoding API do Yahoo!</a> se saiu melhor quando o endereço tem &#8220;sujeira&#8221; (erros de digitação e/ou encoding zuado).</p>
<p><strong>O resultado:</strong></p>
<p><a href="http://pomoti.com/file/imoveis-londrina/demo.html" target="_blank"><img src="http://pomoti.com/wp-content/uploads/2009/07/Picture-6.jpg" alt="Picture-6" title="Picture-6" width="600" height="291" class="alignnone size-full wp-image-1265" /></a></p>
<p>Muito mais fácil agora.</p>
<h2>Tech stuff</h2>
<p>O código que une os resultados das imobiliárias foi escrito em Ruby.<br />
A gem <a href="http://github.com/pauldix/typhoeus/tree/master">typhoeus</a> faz as requisições HTTP.<br />
<a href="http://pomoti.com/yql-yahoo-query-language">YQL</a> foi usado para filtrar o conteúdo das páginas.<br />
A gem <a href="http://geokit.rubyforge.org/">geokit</a> permite fazer <a href="http://en.wikipedia.org/wiki/Geocoding">Geocoding</a> em apenas uma função: YahooGeocoder.geocode(&#8221;rua&#8221;).<br />
<a href="http://www.danga.com/memcached/">Memcache</a> faz cache dos resultados (muitas requisições HTTP machucam).<br />
<a href="http://www.sinatrarb.com/">Sinatra</a> para que o código Ruby vire uma aplicação web.<br />
<a href="http://code.google.com/apis/maps/">Google Maps API</a> para inserir os resultados no mapa.</p>
<p>Códigos: <a href="http://gist.github.com/146530"><br />
nerd_searching_house.rb</a> / <a href="http://gist.github.com/146532">index.erb</a></p>
<h2>Exemplo</h2>
<p>Veja o <a href="http://pomoti.com/file/imoveis-londrina/demo.html" target="_blank">resultado da brincadeira</a>.</p>
<p>Colocar em produção e manter esse &#8220;toy project&#8221; não está nos meus planos. O exemplo ficará desatualizado em breve e se você precisar de algo atualizado fique a vontade para fazer o código funcionar <img src='http://pomoti.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://pomoti.com/yql-y-geocoding-api-google-maps/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.744 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2010-02-06 19:33:46 -->
