<?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>Out of Memory</title>
	<atom:link href="http://www.outofmemory.blog.br/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.outofmemory.blog.br</link>
	<description>Blog sobre Tecnologia, desenvolvimento e games !!!</description>
	<lastBuildDate>Tue, 15 May 2012 13:19:40 +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>Diablo 3 está no ar</title>
		<link>http://www.outofmemory.blog.br/2012/05/15/diablo-3-esta-no-ar/</link>
		<comments>http://www.outofmemory.blog.br/2012/05/15/diablo-3-esta-no-ar/#comments</comments>
		<pubDate>Tue, 15 May 2012 13:15:20 +0000</pubDate>
		<dc:creator>Alex Chiaranda</dc:creator>
				<category><![CDATA[Diablo]]></category>
		<category><![CDATA[Jogos]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=960</guid>
		<description><![CDATA[A partir das 4 horas da manhã de hoje (dia 15 de maio, horário de Brasília) os servidores foram abertos para os destemidos jogares que não dormiram ou ajustaram seus despertadores para acordar na madrugada. Porém quem tentou se conectar &#8230; <a class="more-link" href="http://www.outofmemory.blog.br/2012/05/15/diablo-3-esta-no-ar/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_964" class="wp-caption alignleft" style="width: 310px"><a href="http://www.outofmemory.blog.br/wp-content/uploads/2012/05/diablo3.png"><img src="http://www.outofmemory.blog.br/wp-content/uploads/2012/05/diablo3-300x221.png" alt="Diablo 3 Logo" title="Diablo 3" width="300" height="221" class="size-medium wp-image-964" /></a><p class="wp-caption-text">Diablo 3</p></div>A partir das 4 horas da manhã de hoje (dia 15 de maio, horário de Brasília) os servidores foram abertos para os destemidos jogares que não dormiram ou ajustaram seus despertadores para acordar na madrugada. Porém quem tentou se conectar nesse horário encontrou problemas tanto para se conectar quanto para criar seus personagens.<br />
O problema foi resolvido por volta das 5:25 da manhã (horário de Brasília) e todos puderam se conectar normalmente.</p>
<p>Eu tive a oportunidade (e a insônia) de jogar um pouco (até o nível 5 com o Bárbaro, Monk e Demon Hunter) e posso dizer que tanto jogabilidade quanto imersão no mundo do Diablo foram muito boas.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2012/05/15/diablo-3-esta-no-ar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Novo Apple TV e iPad</title>
		<link>http://www.outofmemory.blog.br/2012/03/07/novo-apple-tv-e-ipad/</link>
		<comments>http://www.outofmemory.blog.br/2012/03/07/novo-apple-tv-e-ipad/#comments</comments>
		<pubDate>Wed, 07 Mar 2012 19:02:44 +0000</pubDate>
		<dc:creator>Alex Chiaranda</dc:creator>
				<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=942</guid>
		<description><![CDATA[A Apple anunciou hoje, durante evento realizado em San Francisco (Yerba Buena Center for the Arts) as novas versões da Apple TV e do iPad (ainda sem nome oficial segundo a empresa). Entre as novidades a nova Apple TV traz &#8230; <a class="more-link" href="http://www.outofmemory.blog.br/2012/03/07/novo-apple-tv-e-ipad/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A Apple anunciou hoje, durante evento realizado em San Francisco (Yerba Buena Center for the Arts) as novas versões da Apple TV e do iPad (ainda sem nome oficial segundo a empresa).</p>
<p>Entre as novidades a nova Apple TV traz uma interface renovada e suporte a vídeos 1080p. Para acompanhar o lançamento, o iCloud ganhou suporte a filmes HD.<br />
O novo iPad traz uma tela totalmente nova, com a impressionate resolução de 2048&#215;1536, câmera frontal de 5 mega pixels, capacidade de gravação de vídeos 1080p, suporte a conexões 4G LTE, novo processador A5X Quad-Core e promete manter a autonomia de 10 horas (9 horas em 4G).</p>
<p>A Apple apresentou uma versão do iPhoto para iPad, e alguns aplicativos também ganharam atualizações, como o Garabe Band e o iMovie. </p>
<p>A pré-venda começa hoje em diversos paíse mas o Brasil, como sempre, ficou de fora do lançamento.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2012/03/07/novo-apple-tv-e-ipad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Morre criador da Linguagem C e co-criador do Unix</title>
		<link>http://www.outofmemory.blog.br/2011/10/13/morre-criador-da-linguagem-c-e-co-criador-do-unix/</link>
		<comments>http://www.outofmemory.blog.br/2011/10/13/morre-criador-da-linguagem-c-e-co-criador-do-unix/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 13:17:46 +0000</pubDate>
		<dc:creator>Alex Chiaranda</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[c;unix;dennis ritchie]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=936</guid>
		<description><![CDATA[#include &#60;stdio.h&#62; int main(int argc, char** argv) { printf(&#34;R.I.P. Dennis Ritchie !!!\n&#34;); return ( 0 ); } Dennis Ritchie criador da popular linguagem de programação &#8220;C&#8221; faleceu aos 70 anos. Quem nunca ouviu falar do Dennis Ritchie pode encontrar informações &#8230; <a class="more-link" href="http://www.outofmemory.blog.br/2011/10/13/morre-criador-da-linguagem-c-e-co-criador-do-unix/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<pre>
#include &lt;stdio.h&gt;

int main(int argc, char** argv)
{
   printf(&quot;R.I.P. Dennis Ritchie !!!\n&quot;);

   return ( 0 );
}
</pre>
<p>Dennis Ritchie criador da popular linguagem de programação &#8220;C&#8221; faleceu aos 70 anos. </p>
<p>Quem nunca ouviu falar do Dennis Ritchie pode encontrar informações nas suas páginas na Wikipedia em <a href="http://en.wikipedia.org/wiki/Dennis_Ritchie" title="Dennis Ritchie" target="_blank">Inglês</a> e <a href="http://pt.wikipedia.org/wiki/Dennis_Ritchie" title="Dennis Ritchie" target="_blank">Português</a>.</p>
<p>O ano de 2011 tem sido um ano com grandes perdas para o mundo tecnológico</p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2011/10/13/morre-criador-da-linguagem-c-e-co-criador-do-unix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Steve Jobs</title>
		<link>http://www.outofmemory.blog.br/2011/10/06/steve-jobs/</link>
		<comments>http://www.outofmemory.blog.br/2011/10/06/steve-jobs/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 12:58:37 +0000</pubDate>
		<dc:creator>Alex Chiaranda</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[steve jobs]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=924</guid>
		<description><![CDATA[É com muito pesar que recebemos ontem a notícia do falecimento de um dos grandes inovadores deste século (e do século passado também, é bom lembrar). Tenho certeza que ele mudou a vida de muita gente, e nossos filhos vão &#8230; <a class="more-link" href="http://www.outofmemory.blog.br/2011/10/06/steve-jobs/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="attachment_927" class="wp-caption alignleft" style="width: 250px"><a href="http://www.outofmemory.blog.br/wp-content/uploads/2011/10/steve_jobs_black_apple.jpg"><img class="size-medium wp-image-927 " title="Apple Steve Jobs" src="http://www.outofmemory.blog.br/wp-content/uploads/2011/10/steve_jobs_black_apple-300x300.jpg" alt="" width="240" height="240" /></a><p class="wp-caption-text">Apple Steve Jobs</p></div>
<p>É com muito pesar que recebemos ontem a notícia do falecimento de um dos grandes inovadores deste século (e do século passado também, é bom lembrar).</p>
<p>Tenho certeza que ele mudou a vida de muita gente, e nossos filhos vão se beneficiar de tudo que ele começou nesses últimos anos.</p>
<p><a title="Steve Jobs" href="http://www.apple.com/stevejobs/" target="_blank">Steve Jobs</a>, o mundo sentirá sua falta !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2011/10/06/steve-jobs/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Fim do Rumor: iPhone 4S</title>
		<link>http://www.outofmemory.blog.br/2011/10/04/fim-do-rumor-iphone-4s/</link>
		<comments>http://www.outofmemory.blog.br/2011/10/04/fim-do-rumor-iphone-4s/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 02:55:29 +0000</pubDate>
		<dc:creator>Gabriel Biffi</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iphone 4]]></category>
		<category><![CDATA[iPhone 4S]]></category>
		<category><![CDATA[Siri]]></category>
		<category><![CDATA[smartphone]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=908</guid>
		<description><![CDATA[E hoje os rumores chegaram ao fim. A Apple mostrou o &#8220;novo&#8221; iPhone 4S. Nos últimos 16 meses, o que não faltou foram rumores, fotos montadas, supostas cases para o novo iPhone e por ai vai. A comunidade de Mac &#8230; <a class="more-link" href="http://www.outofmemory.blog.br/2011/10/04/fim-do-rumor-iphone-4s/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>E hoje os rumores chegaram ao fim. A Apple mostrou o &#8220;novo&#8221; iPhone 4S.</p>
<p><span id="more-908"></span></p>
<p>Nos últimos 16 meses, o que não faltou foram rumores, fotos montadas, supostas cases para o novo iPhone e por ai vai. A comunidade de Mac maníacos não falava de outra coisa: &#8220;Como será o novo iPhone 5 ?&#8221; , &#8220;vai ser mais fino ?&#8221; , &#8220;vão remover aquele vidro ?&#8221; , &#8220;a tela vai ser maior né ?&#8221;.<br />
Pois é meus amigos, não teve nada disso. O novo iPhone 5 é na verdade 4S.</p>
<p>Foram 16 meses de espera. O mercado de smartphones nesses últimos meses avançou bastante; Samsung, HTC, LG, Sony Ericsson e Motorola correram pra lançar seus respectivos celulares, tudo isso pensamento no lançamento da Maça.</p>
<p>Porém, o que vimos hoje foi um lançamento nada &#8220;novo&#8221; que, na minha opinião, deixou muito a desejar. A mídia também relatou a sua insatisfação com o lançamento. <a href="http://tecnologia.uol.com.br/ultimas-noticias/redacao/2011/10/04/anuncio-do-iphone-4s-decepciona-e-acoes-da-apple-fecham-em-queda-de.jhtm" target="_blank">As ações da Apple também não gostaram do anúncio</a> e cairam 5%.</p>
<p>Mas por que essa insatisfação ? Bom, vou dar a minha opinião, o que eu senti enquanto acompanhava o anúncio ao vivo. Todos esperavam algo novo, inovador, coisa que a Apple está acostumada a fazer. O iPhone 4S tem um processador mais rápido (coisa que já existe no iPad 2 &#8211; mesmo modelo de processador) e uma câmera melhor, só.</p>
<p>Sabemos que o iOS é um SO fechado e dedicado aos &#8220;iGadgets&#8221;. Performaticamente falando ele já é extremamente rápido, mesmo sem um processador dual core. Já a nova câmera, me parece ser muito boa mesmo, mas os outros smartphones também possuem câmeras excelentes, como o Xperia Arc e o Nokia N8 (Carl Zeiss 12MP).<br />
Estéticamente falando é o mesmo modelo do iPhone 4, que contém o vidro que nós ja <a title="Tela de iPhone 4 quebrada!" href="http://www.outofmemory.blog.br/2010/10/04/tela-de-iphone-4-quebrada/" target="_blank">relatamos aqui no blog</a> ser uma porcaria. A Apple tem ciencia desse defeito e nada fez, ao invés disso, lançou um modelo novo com as mesmas características.</p>
<p>Outra coisa que demonstraram foi o recurso Siri, que é um comando de reconhecimento de voz. Cá entre nós, isso é software, não faz parte dos 16 meses de inovação do novo iPhone.</p>
<div id="attachment_909" class="wp-caption alignright" style="width: 298px"><a href="http://www.outofmemory.blog.br/wp-content/uploads/2011/10/hero.jpg"><img class="size-medium wp-image-909" title="iPhone 4S" src="http://www.outofmemory.blog.br/wp-content/uploads/2011/10/hero-288x300.jpg" alt="" width="288" height="300" /></a><p class="wp-caption-text">iPhone 4S</p></div>
<p>Por falar em software, é engraçado promover o &#8220;novo&#8221; iPhone 4S com o iOS 5. Esse SO estará também disponível para os outros iPhones e realmente trás muitas novidades.</p>
<p>E a bateria ? tive um iPhone 4 e sei que o consumo é alto. Vamos ter um processador dual core com a mesma bateria ? como será o consumo ? provavelmente maior.</p>
<p>Espessura ? peso ? tudo igual.</p>
<p>Vejamos os concorrentes; vou usar o Galaxy S 2 como exemplo.  Celular fino (bem fino), bem leve (116g), tela de 4.3 com gorilla glass e câmera de 8MP. Pode sincronizar o conteúdo via wireless caso tenha uma TV Samsung. Outro exemplo ? Atrix. Inovou com os diversos acessórios, como o lapdock, dock para TV (media center) e o fingerprint.</p>
<p>Portanto, na minha humilde opinião, o novo iPhone deveria ter no mínimo as mesmas especificações dos concorrentes. É ai que surge uma pulga atrás da orelha.</p>
<p>É muito provável que o iPhone 5 já exista. Tanto é que nos últimos meses começaram a vender diversas cases para o suposto novo iPhone, que poderia ter uma tela maior, não teria o botão home etc. Será que a Apple não mudou a estratégia na última hora ? Pode ser.</p>
<p>Todos sabem que sou fã da maça, mas sou imparcial nas minhas críticas. Não gostei do anúncio e esperava mais da empresa que mais admiro.</p>
<p>Ao meu ver, teremos um iPhone realmente novo em menos de 1 ano.</p>
<p><em>Easter Egg: Se entrarmos no site da Apple e salvarmos a imagem do iPhone 4S,  o nome do arquivo  é &#8220;hero.jpg&#8221; <img src='http://www.outofmemory.blog.br/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </em></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2011/10/04/fim-do-rumor-iphone-4s/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Computação em Nuvem</title>
		<link>http://www.outofmemory.blog.br/2011/10/03/computacao-em-nuvem/</link>
		<comments>http://www.outofmemory.blog.br/2011/10/03/computacao-em-nuvem/#comments</comments>
		<pubDate>Tue, 04 Oct 2011 00:13:57 +0000</pubDate>
		<dc:creator>Gabriel Biffi</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Jogos]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[ces]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[computação em nuvem]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[iCloud]]></category>
		<category><![CDATA[kindle fire]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[onlive]]></category>
		<category><![CDATA[steam cloud]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=886</guid>
		<description><![CDATA[Esse é um assunto que me agrada bastante. Houve uma grande evolução nos últimos anos e acredito que isso seja o futuro da computação, futuro este que já está entre nós!! Acho que tudo começou a partir dos discos virtuais. &#8230; <a class="more-link" href="http://www.outofmemory.blog.br/2011/10/03/computacao-em-nuvem/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Esse é um assunto que me agrada bastante. Houve uma grande evolução nos últimos anos e acredito que isso seja o futuro da computação, futuro este que já está entre nós!!</p>
<p>Acho que tudo começou a partir dos discos virtuais. Os usuários podiam publicar seus arquivos nesses discos e acessá-los de qualquer computador. Hoje em dia podemos publicar esses arquivos diretamente dos nossos smartphones e sincronizar tudo nas nuvens. Por exemplo, sicronizo minhas músicas na nuvem e ouço elas via streaming&#8230;diretamente do meu celular. Fantástico.</p>
<p><span id="more-886"></span></p>
<div id="attachment_892" class="wp-caption alignright" style="width: 310px"><a href="http://www.outofmemory.blog.br/wp-content/uploads/2011/10/662px-Cloud_computing.svg_.png"><img class="size-medium wp-image-892" title="Cloud_computing.svg" src="http://www.outofmemory.blog.br/wp-content/uploads/2011/10/662px-Cloud_computing.svg_-300x271.png" alt="" width="300" height="271" /></a><p class="wp-caption-text">Exemplo de Computação em Nuvem</p></div>
<p>Empresas como Google, IBM e Microsoft investem muito dinheiro nessa tecnologia. Entretanto, acredito que a Amazon seja a grande pioneira. Investiu absurdamente em cloud computing e hoje colhe os resultados. Vimos o anúncio do Kindle Fire, o seu novo tablet. Com ele, todo o seu conteúdo da Amazon (que acredito ser 90%), é armazenado e sincronizado na nuvem. Isso quer dizer que seus livros, músicas, filmes e inclusive apps não serão armazenados no seu dispositivo, mas sim na nuvem. Tanto é que não existe &#8220;system requirement&#8221; para esse tablet.</p>
<p>Outro produto que usufrui desse conceito é o <a href="http://www.onlive.com/" target="_blank">Onlive</a>. Com esse serviço, podemos jogar diversos games de última geração sem ter uma placa de vídeo que custe os olhos da cara. Funciona da seguinte forma: você escolhe o jogo, por exemplo, Crysis 2 e ele carrega como se fosse um vídeo. É incrível. Porém, existem alguns pontos fracos, como por exemplo, a latência. Eu testei esse serviço aqui no Brasil e o jogo parava por alguns instantes.</p>
<p>Ainda no ambiente de jogos, temos o <a href="http://steampowered.com/steamworks/ov_cloud.php" target="_blank">Steam Cloud</a>. Pra quem conhece o Steam, já deve ser familiarizado com o serviço. O Steam Cloud guarda todas as suas configurações de jogos na nuvem. Sendo assim, você pode jogar em outro computador e o próprio Steam Cloud vai configurar o jogo da forma que você deixou, e também vai iniciar da onde você parou.</p>
<p>A Apple também aderiu a computação em nuvens. O recente <a href="http://www.apple.com/icloud/what-is.html" target="_blank">iCloud</a> (nome já diz tudo), armazena todas as suas músicas, documentos, fotos, livros, aplicativos etc, e compartilha tudo com os seus disposítivos com iOS 5.0. Seria o fim do iTunes ? espero que sim.</p>
<p>Como usuário final, podemos aplicar essa tecnologia de diversas formas. Por exemplo, acompanhei a CES e já existem câmeras fotográficas com acesso a internet. Portanto, tiramos a foto, mandamos salvar na nuvem e, se a sua TV tiver acesso a internet, você poderá acessar as suas fotos sem ter que sincronizar com o seu computador ou plugar a câmera na TV.</p>
<p>Ao meu ver, os pontos fracos dessa tecnologia é a velocidade de acesso aos dados e também a questão da privacidade/segurança, tendo em vista que os seus dados sempre estão online.</p>
<p>Enfim, esses foram alguns exemplos básicos de como o conceito de cloud computing pode nos ajudar no dia a dia. Existem diversas outras formas de aplicação, como na área da medicina, engenharia etc. Essa tecnologia não só ajuda no lado pessoal, como também no lado corporativo. Diversas empresas já demonstram grande satisfação em ter adotado cloud computing, por exemplo, na parte de custos de manutenção de servidores.</p>
<p>E vocês ? utilizam essa tecnologia de alguma forma ? usam algum aplicativo para nos indicar ? compartilhe conosco!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2011/10/03/computacao-em-nuvem/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>We&#8217;re back!</title>
		<link>http://www.outofmemory.blog.br/2011/10/03/were-back/</link>
		<comments>http://www.outofmemory.blog.br/2011/10/03/were-back/#comments</comments>
		<pubDate>Tue, 04 Oct 2011 00:10:40 +0000</pubDate>
		<dc:creator>Gabriel Biffi</dc:creator>
				<category><![CDATA[Filmes]]></category>
		<category><![CDATA[Geral]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Jogos]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Seriados]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[batman]]></category>
		<category><![CDATA[dark souls]]></category>
		<category><![CDATA[elder scrolls]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[lord of the rings]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[rage]]></category>
		<category><![CDATA[skype]]></category>
		<category><![CDATA[tela de iphone 4 quebrada]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=881</guid>
		<description><![CDATA[Muitas coisas aconteceram nesses últimos meses. Jogos, filmes, séries, novas tecnologias, adquiri um Android (sim&#8230;podem acreditar &#8211; mas por pouco tempo), OSX Lion, Windows 8, novos tablets, novos smartphones, anúncios bombásticos (Microsoft compra Skype, Google compra Motorola)&#8230;ufa! quanta coisa! Impossível &#8230; <a class="more-link" href="http://www.outofmemory.blog.br/2011/10/03/were-back/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Muitas coisas aconteceram nesses últimos meses. Jogos, filmes, séries, novas tecnologias, adquiri um Android (sim&#8230;podem acreditar &#8211; mas por pouco tempo), OSX Lion, Windows 8, novos tablets, novos smartphones, anúncios bombásticos (Microsoft compra Skype, Google compra Motorola)&#8230;ufa! quanta coisa! Impossível eu relatar todos os acontecimentos em um único post.</p>
<p>O meu amigo Alex não deixou o blog morrer. Publicou algumas matérias bem interessantes. O meu post sobre <a href="http://www.outofmemory.blog.br/2010/10/04/tela-de-iphone-4-quebrada/" target="_blank">&#8220;Tela de iPhone 4 Quebrada&#8221;</a> foi bem útil para diversas &#8220;vítimas&#8221; dessa catástrofe.</p>
<p>Mas vamos la, nada como um post de games pra voltar com ânimo! E olha que esse mês de Outubro/Novembro está de arrebentar.</p>
<p>Não vou fazer os meus previews, pois seria muita burrice. Digo isso pois como fiquei ausente nos últimos meses, o que não faltou foram sites publicando notícias desses jogos.</p>
<p>Por outro lado, vou listar os que eu mais aguardo esse ano e que, ao meu ver, são GOTY. Se você é um gamer, não pode perder esses lançamentos (de jeito nenhum).</p>
<ul>
<li><a href="http://www.youtube.com/watch?v=yopt1hJtzQU" target="_blank">Dark Souls</a> (sucessor espiritual de Demon&#8217;s Souls) &#8211; Lançamento 04/10</li>
<li><a href="http://www.youtube.com/watch?v=OVX9V_Uf30Q" target="_blank">Rage</a> - Lançamento 04/10</li>
<li><a href="http://www.youtube.com/watch?v=-V1ZF5cNYCs" target="_blank">Batman: Arkham City</a> &#8211; Lançamento 18/10</li>
<li><a href="http://www.youtube.com/watch?v=k5ySDehGEYE" target="_blank">The Lord of the Rings: War in the North</a> &#8211; Lançamento 01/11</li>
<li><a href="http://www.youtube.com/watch?v=PjqsYzBrP-M" target="_blank">The Elder Scrolls Skyrim</a> &#8211; Lançamento 11/11</li>
</ul>
<p>E, amanhã, temos o evento tão aguardando da Maça. Chega de <a title="Rumor: iPhone 5" href="http://www.outofmemory.blog.br/2011/01/21/rumor-iphone-5/">rumores</a>, e vamos ao iPhone 5!! e torcer para que ele não seja de vidro!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2011/10/03/were-back/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Problemas comuns portando código</title>
		<link>http://www.outofmemory.blog.br/2011/07/22/problemas-comuns-portando-codigo/</link>
		<comments>http://www.outofmemory.blog.br/2011/07/22/problemas-comuns-portando-codigo/#comments</comments>
		<pubDate>Fri, 22 Jul 2011 12:53:13 +0000</pubDate>
		<dc:creator>Alex Chiaranda</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[Dev]]></category>
		<category><![CDATA[32 bits]]></category>
		<category><![CDATA[64 bits]]></category>
		<category><![CDATA[alocação]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[malloc]]></category>
		<category><![CDATA[pointer]]></category>
		<category><![CDATA[porting]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[struct]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=851</guid>
		<description><![CDATA[Nos dias de hoje, onde só se fala em nuvem e o hardware está ficando mais barato é mais comum a necessidade de migrar aplicações entre plataformas, de Solaris e HP para Linux por exemplo, ou ainda mais comum ter &#8230; <a class="more-link" href="http://www.outofmemory.blog.br/2011/07/22/problemas-comuns-portando-codigo/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Nos dias de hoje, onde só se fala em nuvem e o hardware está ficando mais barato é mais comum a necessidade de migrar aplicações entre plataformas, de Solaris e HP para Linux por exemplo, ou ainda mais comum ter a mesma aplicação sendo executada em diferentes plataformas e trocando informações entre si. Estamos falando aqui de aplicações rodando em servidores *nix se comunicando com clientes nas mais diversas plataformas (Mac, Windows, Linux, etc.). Se você esta trabalhando com Java em todas as pontas você praticamente não terá problemas ou terá muito poucos, porém se estiver usando C ou C++ aí a coisa é diferente.</p>
<p style="text-align: justify;"><span id="more-851"></span></p>
<p style="text-align: justify;">A plataforma 64 bits não é uma novidade, ela foi apresentada ao mundo por volta dos anos 90 (o primeiro micro processador lançado rodando em 64 bits foi em 1991 um MIPS R4000), e embora já faça tanto tempo, muito softwares escritos naquela época e alguns ainda hoje não estão preparados para lidar com os problemas decorrentes desta plataforma.</p>
<p style="text-align: justify;">Mas que problemas são esses ? Para enumerar apenas alguns principais, temos:</p>
<ul>
<li>alocação de memória maior que 2GB</li>
<li>diferentes definições para os tipos básicos de inteiros</li>
<li>diferente alinhamento de bits das estruturas</li>
</ul>
<p><span style="font-size: small;"><span class="Apple-style-span" style="line-height: 24px;">para citar apenas alguns, agora vamos aos detalhes:</span></span></p>
<h3><strong>Alocação de memória maior que 2GB</strong></h3>
<p>se você tem ou utiliza uma função que aloca / retorna / acessa / modifica um array alocado dinamicamente (malloc ou variantes) você provavelmente utiliza um código parecido com isso para acessar os seus dados</p>
<pre>
for (int x = 0; x != width; ++x)
{
   for (int y = 0; y != height; ++y)
   {
      for (int z = 0; z != depth; ++z)
      {
         BigArray[z * width * height + y * width + x] = InitValue;
      }
   }
}
</pre>
<p style="text-align: justify;">você deve estar tentando imaginar qual seria o problema aqui, esse código funcionava bem, mas agora em 64 bits começou a dar problema e você não tem a mínima idéia do que do pode ser. Pois bem, se você olhar mais de perto, verá que todas as variáveis utilizadas no índice, são inteiros, então o resultado de</p>
<p style="text-align: justify;">
<pre>z * width * height + y * width + x</pre>
</p>
<p style="text-align: justify;">também é um inteiro, e provavelmente você terá o endereço incorreto se estiver alocando mais de 2GB.</p>
<h3><strong>Diferentes definições para os tipos básicos de inteiros</strong></h3>
<p><strong></strong>Qual o tamanho de um long ?? Se você respondeu prontamente &#8220;o tamanho de um long é 8&#8243;, ou 4, ou qualquer outro valor, pasme, mas esta não é a resposta correta. A resposta correta é outra pergunta &#8220;em qual plataforma ?&#8221; Antes de achar que estou louco e parar de ler o artigo por aqui, você deve saber o seguinte, a ISO do C/C++ define o seguinte </p>
<pre>
sizeof(char) == 1 sizeof(char) &lt;= sizeof(short)
&lt;= sizeof(int) &lt;= sizeof(long)
</pre>
<p>e isso apenas isso, a ISO do C/C++ não define que um int deve ser 4 bytes e um long 8 bytes, apenas define que a regra acima deve ser seguida. Agora você deve estar se perguntando, &#8220;mas como vou saber então qual o tamanho do meu inteiro ?&#8221;, e eu respondo, existem 2 formas, a primeira é olhar o arquivo &#8220;limits.h&#8221; ou &#8220;limits&#8221; ou ainda &#8220;limit&#8221; ou o equivalente para o seu Sistema Operacional e compilador. A segunda e mais simples, é fazer um <strong>sizeof</strong> e ver o que o programa imprime.</p>
<pre>
std::cout &lt;&lt; "tamanho do long: " &lt;&lt; sizeof(long) &lt;&lt;  std::endl
</pre>
<h3><strong>Diferente alinhamento de bits das estruturas</strong></h3>
<p>Vamos assumir por um momento que:</p>
<pre>
sizeof(char) = 1
sizeof(shot) = 2
sizeof(int) = 4
</pre>
<p>como foi dito na sessão anterior os valores podem mudar de acordo com o SO e compilador, mas vamos assumir esses valores para o próximo exemplo. suponha a seguinte estrutura:</p>
<pre>
struct
{
   char a;
   short b;
   int c;
} data;
</pre>
<p>rodando o sizeof nela temos como resultado o tamanho 8, vamos ver porque:</p>
<pre>
+-----------------------------------+
|char| ** |  short |       int      |
+-----------------------------------+
0         2        4                8
</pre>
<p>char ocupa 1 byte, temos 1 byte vazio (representado pelos asteriscos), depois o short ocupando 2 bytes e finalmente o int ocupando 4 bytes. Mas por que isso acontece ? Isso acontece, porque os dados de estruturas são alocados utilizando espaçamento em potência de 2 ou seja, o char ocupou a posição zero, com tamanho 1, o próximo disponível é a posição 2, e assim por diante. Sabendo disso vamos ver o que acontece, quando mudamos nossa estrutura para o seguinte: </p>
<pre>
struct
{
   char a;
   int c;
   short b;
} data;
</pre>
<p>apenas alteramos a declaração da estrutura, alterando a ordem dos elementos, colocando o int logo após o char. Mas uma vez rodando o sizeof temos o tamanho de 12, mas como isso é possível ? Vamos ao desenho:</p>
<pre>
+---------------------------------------------+
|char| ** | ** | ** |       int      |  short |
+---------------------------------------------+
0         2        4                8         12
</pre>
<p>agora vemos que o char continuou ocupando 1 byte, e continuamos perdendo mais 1, porém o int não pode começar na posição, pois ele precisa de 4 bytes, então ele foi para a próxima posição disponível em que fosse possível alocar 4 bytes, a posição 4, desperdiçando assim mas 2 bytes; logo em seguida temos o nosso short. Não sei se vocês notram, mas o short ocupou 4 bytes ao invés dos 2 bytes da estrutura anterior. Isso aconteceu  porque os elementos devem ser alinhados, seguindo o alinhamento do maior membro, nesse caso o int. Agora que você conhece essas regras, você também sabe que pode otimizar o tamanho da sua estrutura agrupando os membros utilizando o tamahno e o tipo, assim se precisarmos adicionar mais 1 char à estrutura original, podemos fazer da seguinte forma: </p>
<pre>
struct
{
   char a;
   char d;
   short b;
   int c;
} data;
</pre>
<p> e com isso utilizar aquele byte que estava perdido e mantemos o tamanho da estrutura como 8 bytes, se colocarmos o novo char no final da estrutura (após o int) ele seria alinhado utilizando o tamanho do int, neste caso 4 bytes, e a estrutura teria tamanho 12. Dessa forma teremos:</p>
<pre>
+-----------------------------------+
|char|char|  short |       int      |
+-----------------------------------+
0         2        4                8
</pre>
<p>Isso é importante para sistemas que utilizam comunicação via rede e precisam trocar mensagens com diferentes plataformas, uma vez que o alinhamento e tamanho depende da plataforma e do compilador. Pensando ainda no alinhamento, com certeza seria interessante ter uma estrutura de 8 bytes ao invés de 12 bytes em uma plataforma móvel por exemplo. Apesar desse alinhamento com potência de 2 ser o padrão, você dizer ao compilador para tentar otimizar o alinhamento utilizando uma prerrogativa de compilação da seguinte forma </p>
<pre>
#pragma pack(push)
#pragma pack(2)
struct
{
   int c;
   short b;
} data;
#pragma pack(pop)
</pre>
<p>dessa forma, a estrutura que teria tamanho 8 bytes, terá o tamanho de 6, se o compilador suportar o pack. A maioria dos compiladores de hoje suportam esse parâmetro, e o gcc permite até passar o parâmetro como uma opção para o compilador via linha de comando: </p>
<pre>-fpack-struct[=n]</pre>
<p>onde &#8220;n&#8221; deve ser um número correspondente a portência de 2, e significa que membros que precisem de um tamanho maior que o especificado PODEM ficar fora do alinhamento. Pessoalmente eu prefiro a anotação no código, pois fica mais explícito para a próxima pessoa que dará manutenção no código. </p>
<p>Espero ter dado uma pequena visão de alguns problemas que frequentemente ocorrem quando um sistema está sendo portado de uma plataforma para a outra, especialmente quando falamos de 32 e 64 bits, mas não recebem a devida atenção antes de começar a codificação.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2011/07/22/problemas-comuns-portando-codigo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Instalando o mercurial no Mac</title>
		<link>http://www.outofmemory.blog.br/2011/05/03/instalando-o-mercurial-no-mac/</link>
		<comments>http://www.outofmemory.blog.br/2011/05/03/instalando-o-mercurial-no-mac/#comments</comments>
		<pubDate>Wed, 04 May 2011 02:18:35 +0000</pubDate>
		<dc:creator>Alex Chiaranda</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[Geral]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[mercurial]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=841</guid>
		<description><![CDATA[para quem não conhece, o Mercurial é um gerenciador de versão para código (como o SVN e o saudoso CVS), ele é muito popular hoje no meio opensource, sendo possível até encontrar repositórios gratuítos pela internet. Após encontrar vários métodos &#8230; <a class="more-link" href="http://www.outofmemory.blog.br/2011/05/03/instalando-o-mercurial-no-mac/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="Mercurial" src="http://www.selenic.com/hg-logo/logo-droplets-100.png" alt="" width="100" height="120" />para quem não conhece, o Mercurial é um gerenciador de versão para código (como o SVN e o saudoso CVS), ele é muito popular hoje no meio opensource, sendo possível até encontrar repositórios gratuítos pela internet.</p>
<p>Após encontrar vários métodos mirabolantes, baixando source, binário, usando o ports (que por sinal não deu certo), finalmente encontrei o melhor jeito de instalar</p>
<pre>

Alex-Chiarandas-MacBook-Pro:~ aechiara$ easy_install -U mercurial
</pre>
<p>após várias mensagens na tela (downloading, installing &#8230;.) você deve ver a mensagem &#8220;Finished processing dependencies for mercurial&#8221;, para verificar basta digitar hg no prompt, a saída deve ser algo assim:</p>
<pre>

Alex-Chiarandas-MacBook-Pro:~ aechiara$ hg
Mercurial Distributed SCM

basic commands:

add        add the specified files on the next commit
annotate   show changeset information by line for each file
clone      make a copy of an existing repository
commit     commit the specified files or all outstanding changes
diff       diff repository (or selected files)
export     dump the header and diffs for one or more changesets
forget     forget the specified files on the next commit
init       create a new repository in the given directory
log        show revision history of entire repository or files
merge      merge working directory with another revision
pull       pull changes from the specified source
push       push changes to the specified destination
remove     remove the specified files on the next commit
serve      start stand-alone webserver
status     show changed files in the working directory
summary    summarize working directory state
update     update working directory (or switch revisions)

use "hg help" for the full list of commands or "hg -v" for details
</pre>
<p>simples, rápido e funciona</p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2011/05/03/instalando-o-mercurial-no-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dica de app: Funambol</title>
		<link>http://www.outofmemory.blog.br/2011/01/22/dica-de-app-funambol/</link>
		<comments>http://www.outofmemory.blog.br/2011/01/22/dica-de-app-funambol/#comments</comments>
		<pubDate>Sat, 22 Jan 2011 17:08:25 +0000</pubDate>
		<dc:creator>Gabriel Biffi</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[backup simcard]]></category>
		<category><![CDATA[Funambol]]></category>
		<category><![CDATA[sincronizar contatos iphone]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=832</guid>
		<description><![CDATA[Se você restaura o seu iPhone e perde todos os seus contatos ou não gosta de fazer backup pelo iTunes, então conheça o Funambol. O Funambol tem como objetivo fazer backup de todos os seus contatos do iPhone num servidor &#8230; <a class="more-link" href="http://www.outofmemory.blog.br/2011/01/22/dica-de-app-funambol/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Se você restaura o seu iPhone e perde todos os seus contatos ou não gosta de fazer backup pelo iTunes, então conheça o Funambol. O Funambol tem como objetivo fazer backup de todos os seus contatos do iPhone num servidor próprio. Você baixa o aplicativo, cria uma conta e sincroniza todos os seus contatos na nuvem. Sendo assim, se você restaurar seu iPhone, é só baixar o app e sincronizar todos os seus contatos de volta.</p>
<p>Antigamente o Funambol era pago, mas essa semana ele foi atualizado trazendo duas novidades: a possibilidade de sincronizar suas fotos e o melhor de tudo, agora ele é totalmente de graça.</p>
<p>Funambol está disponível na App Store.</p>
<p style="text-align: center;"><a href="http://www.outofmemory.blog.br/wp-content/uploads/2011/01/funambol-f17650.png"><img class="size-full wp-image-833   aligncenter" title="-funambol--f17650" src="http://www.outofmemory.blog.br/wp-content/uploads/2011/01/funambol-f17650.png" alt="" width="209" height="219" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2011/01/22/dica-de-app-funambol/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

