<?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>PauloMotta.pro &#187; PROGRAMAÇÃO</title>
	<atom:link href="http://www.paulomotta.pro.br/tag/programacao/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.paulomotta.pro.br</link>
	<description>&#34;Qualquer tecnologia suficientemente avançada é indistinguível da mágica&#34; - Arthur C. Clarke</description>
	<lastBuildDate>Tue, 10 Jan 2012 03:00:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Retomando a programação GPU</title>
		<link>http://www.paulomotta.pro.br/2012/01/09/retomando-a-programacao-gpu/</link>
		<comments>http://www.paulomotta.pro.br/2012/01/09/retomando-a-programacao-gpu/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 03:00:40 +0000</pubDate>
		<dc:creator>prmottajr</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Principal]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Tendências]]></category>
		<category><![CDATA[CUDA]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[GPU]]></category>
		<category><![CDATA[Netbeans]]></category>
		<category><![CDATA[PARALELISMO]]></category>
		<category><![CDATA[PROGRAMAÇÃO]]></category>

		<guid isPermaLink="false">http://www.paulomotta.pro.br/?p=1558</guid>
		<description><![CDATA[Uma das coisas mais complicadas na programação com GPU é escolher as peças para configurar a sua máquina. Sim! Isso é um problema porque são muitas opções de placa-mãe, memória, processador E a placa de vídeo que você vai usar. Também existem questões referentes aos projetos em si, se a computação será exclusivamente na GPU [...]]]></description>
			<content:encoded><![CDATA[<p>Uma das coisas mais complicadas na programação com GPU é escolher as peças para configurar a sua máquina. Sim! Isso é um problema porque são muitas opções de placa-mãe, memória, processador E a placa de vídeo que você vai usar. Também existem questões referentes aos projetos em si, se a computação será exclusivamente na GPU ou se também acontecerão processamentos no processador principal em paralelo.</p>
<p>Ah e a fonte! Essa então é a opção mais cruel, porque quanto melhor a placa (ou placas) de vídeo você quiser usar mais potente terá que ser a sua fonte, e se você já tem uma fonte mais ou menos terá que encostá-la para colocar uma nova. Uma opção pode ser usar uma placa de vídeo mais simples e que tenha um consumo menor de energia.</p>
<p>Eu estava querendo testar algumas coisas com a arquitetura atual da nVidia chamada Fermi que a minha placa GeForce GT240 não suportava então adicionei ao sistema uma GeForce GT440 que basicamente é a própria 240 atualizada. Quer dizer, adicionei ao sistema depois de quase um mês comparando especificações de placas de vídeo em detalhes, consultando preços e fazendo contas em sites que calculam o consumo total do seu sistema. Foi um parto, mas valeu a pena! Já consegui rodar algumas aplicações de teste.</p>
<p>O problema atual é que eu não comprei um cabo mini-HDMI e o meu monitor não tem entrada DVI, ou seja, a placa GT440 mais potente teve que ficar no segundo slot PCI-Express que é compatível com a geração 1 e portanto 4x mais lento <img src='http://www.paulomotta.pro.br/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  por enquanto vou sobreviver a isso, mas em breve vou inverter a configuração porque é até um pecado limitar a transferência de dados da placa nova dessa forma.</p>
<p>Agora estou em uma segunda jornada que é configurar o ambiente de programação. De cara eu consegui colocar o Makefile padrão da nVidia para compilar um projeto meu fora do diretório do toolkit, mas ainda não consegui um ambiente de programação completo. O Netbeans não foi uma opção muito boa, embora exista um plugin da juxtacore para a versão 6.9.1, as macros de CUDA não foram reconhecidas mesmo seguindo a documentação de instalação a risca. Estou agora baixando o Eclipse C++ para testar, mesmo preferindo trabalhar com o Netbeans acho que vou sobreviver a isso <img src='http://www.paulomotta.pro.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.paulomotta.pro.br/2012/01/09/retomando-a-programacao-gpu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Pequenas máquinas poderosas</title>
		<link>http://www.paulomotta.pro.br/2011/10/04/pequenas-maquinas-poderosas/</link>
		<comments>http://www.paulomotta.pro.br/2011/10/04/pequenas-maquinas-poderosas/#comments</comments>
		<pubDate>Tue, 04 Oct 2011 13:01:21 +0000</pubDate>
		<dc:creator>prmottajr</dc:creator>
				<category><![CDATA[Principal]]></category>
		<category><![CDATA[Tendências]]></category>
		<category><![CDATA[GPU]]></category>
		<category><![CDATA[Laptop]]></category>
		<category><![CDATA[Netbook]]></category>
		<category><![CDATA[Notebook]]></category>
		<category><![CDATA[OpenCL]]></category>
		<category><![CDATA[PROGRAMAÇÃO]]></category>

		<guid isPermaLink="false">http://www.paulomotta.pro.br/?p=1449</guid>
		<description><![CDATA[Uma coisa que me intriga é porque as fabricantes de máquinas simplesmente esqueceram de trabalhar com máquinas com mais poder de processamento porém mais leves. Explico. Há algum tempo atrás resolvi comprar um netbook e fiz algumas experiências como mostrei aqui. No geral a máquininha era bem legal e rodava Linux sem qualquer problema, porém [...]]]></description>
			<content:encoded><![CDATA[<p>Uma coisa que me intriga é porque as fabricantes de máquinas simplesmente esqueceram de trabalhar com máquinas com mais poder de processamento porém mais leves. Explico. Há algum tempo atrás resolvi comprar um netbook e fiz algumas experiências como mostrei <a href="http://www.paulomotta.pro.br/2010/10/25/hp-mini-210-1062br/">aqui</a>. No geral a máquininha era bem legal e rodava Linux sem qualquer problema, porém a tela era muito pequena e a resolução também dificultava para algumas tarefas para as quais eu tinha comprado a máquina como por exemplo inserir figuras em um texto (precisava abrir uma janela de inserir arquivo e ela não cabia na tela e tal). Uma das soluções que usei foi trabalhar com a máquina ligada a um monitor e um teclado externos. Ainda restava o problema do processador ser um Atom que fazia as vias de processador principal E de vídeo, além dos 2GB de memória que eu achava pouco.</p>
<p>Eu esbarrei então com uma máquina da Acer como falei <a href="http://www.paulomotta.pro.br/2010/11/29/acer-aspire-1410-3br018-e-ubuntu-10-04/">aqui</a>. Essa máquina tem mais memória, processador de dois núcleos, melhor resolução de vídeo, tela de 11&#8243; e é tão leve quanto a outra. Como uma das minhas principais atividades é desenvolver eu tenho como utilizar essa máquina Acer para mais tarefas do que a HP Mini anterior. Já trabalhei com o Netbeans 7.0 rodando Glassfish 3.1 e tudo correu bem, atualmente estou fazendo uns testes de desenvolvimento com Android e não consegui perceber diferença no tempo para carregar o emulador nessa máquina em relação ao meu desktop.</p>
<p>Então essa é a questão, já percebi que a máquina sem gravador de CD/DVD/Blu-ray fica muito mais leve e a bateria dura muito mais tempo, então porque os fabricantes não se dedicam a fazer mais máquinas assim?</p>
<p>Eu gostaria de uma máquina da seguinte forma:</p>
<ul>
<li>Monitor de 12&#8243; com resolução de pelo menos 1366x 768 mas se pudesse ser 1600 x 900 seria bom</li>
<li>Teclado pode até ser ABNT (recentemente me deram um bom motivo para existir o Ç em nossos teclados, embora a indústria nacional não se beneficie realmente), mas por favor DEIXEM a tecla &#8220;/?&#8221; acessível sem precisar de Alt-Gr</li>
<li>SEM DRIVE DE DVD <img src='http://www.paulomotta.pro.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>Pelo menos 3GB mas 4GB seria melhor de memória</li>
<li>Processador AMD Phenom II X2 ou talvez um X3, eu não parei para ver a necessidade de energia desse processador</li>
<li>Placa de vídeo nVidia GTX 580M mas tem algumas Radeon que talvez fossem ok, eu ainda não consegui fazer a transição para GPUs Radeon, acho que vou começar primeiro experimentando OpenCL</li>
<li>HD de 500GB</li>
<li>Bateria de 6 células mas seria necessário ter algum modo de controle de energia por conta da placa de vídeo e por conta do processador para poder haver alguma economia.</li>
</ul>
<p>Essa máquina seria perfeita para o desenvolvedor (principalmente de aplicações paralelas) que precisa de mobilidade e de uma máquina LEVE. Acredite isso faz toda a diferença, no escritório você poderia ter só um monitor e teclado para não ter que ficar lendo em uma tela tão pequena, mas quando estivesse trabalhando no Outback teria acesso a todo o poder que precisa e ainda sem estragar as costas <img src='http://www.paulomotta.pro.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Eu estou feliz com a minha máquina Acer, nem saio tanto com ela de casa, mas mesmo para andar pela casa ela é muito mais confortável co que ficar com um laptop de 2,5Kg no colo.</p>
<p>Como eu faço para convencer um fabricante a fazer essa configuração? <img src='http://www.paulomotta.pro.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Porque na Dell o mais próximo que eles chegam é a AlienWare 11Mx, mas aqui no Brasil ele vem com drive ótico&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paulomotta.pro.br/2011/10/04/pequenas-maquinas-poderosas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Diferença nos tempos de execução</title>
		<link>http://www.paulomotta.pro.br/2011/06/17/diferenca-nos-tempos-de-execucao/</link>
		<comments>http://www.paulomotta.pro.br/2011/06/17/diferenca-nos-tempos-de-execucao/#comments</comments>
		<pubDate>Fri, 17 Jun 2011 12:06:20 +0000</pubDate>
		<dc:creator>prmottajr</dc:creator>
				<category><![CDATA[Curiosidades]]></category>
		<category><![CDATA[Principal]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[ARQUITETURA]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[Ciências]]></category>
		<category><![CDATA[LINGUAGEM]]></category>
		<category><![CDATA[PARALELISMO]]></category>
		<category><![CDATA[Pesquisa]]></category>
		<category><![CDATA[PROGRAMAÇÃO]]></category>

		<guid isPermaLink="false">http://www.paulomotta.pro.br/?p=1413</guid>
		<description><![CDATA[Essa coisa de estudar paralelismo é legal porque faz a gente testar várias coisas em diferentes plataformas em busca de desempenho. Você sabia que o simples fato de ficar convertendo tipos de dados pode ocasionar uma perda de desempenho que dobra o tempo de execução da sua aplicação ? Se você fizer um programa em [...]]]></description>
			<content:encoded><![CDATA[<p>Essa coisa de estudar paralelismo é legal porque faz a gente testar várias coisas em diferentes plataformas em busca de desempenho. Você sabia que o simples fato de ficar convertendo tipos de dados pode ocasionar uma perda de desempenho que dobra o tempo de execução da sua aplicação ?</p>
<p>Se você fizer um programa em C que precise trabalhar com inteiros muito grandes vai usar long long int, que é um inteiro do tamanho de um double (você pode ver <a href="http://en.wikipedia.org/wiki/C_variable_types_and_declarations" target="_blank">aqui na wikipedia</a>). O resultado disso pode ser devastador e pode ser que valha a pena fazer tudo direto em double. É claro que se você optar por usar somente double terá que tomar cuidado com algumas operações matemáticas porque vão existir casas decimais.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paulomotta.pro.br/2011/06/17/diferenca-nos-tempos-de-execucao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Uma &#8220;fábrica&#8221; feita de LEGO</title>
		<link>http://www.paulomotta.pro.br/2011/06/07/uma-fabrica-feita-de-lego/</link>
		<comments>http://www.paulomotta.pro.br/2011/06/07/uma-fabrica-feita-de-lego/#comments</comments>
		<pubDate>Tue, 07 Jun 2011 12:21:48 +0000</pubDate>
		<dc:creator>prmottajr</dc:creator>
				<category><![CDATA[LEGO]]></category>
		<category><![CDATA[Principal]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[nerd]]></category>
		<category><![CDATA[PROGRAMAÇÃO]]></category>
		<category><![CDATA[Robôs]]></category>

		<guid isPermaLink="false">http://www.paulomotta.pro.br/?p=1404</guid>
		<description><![CDATA[O dia de publicar robôs de LEGO é quarta (eu sei que estou devendo várias semanas&#8230;) mas dessa vez eu não tive como esperar, essa máquina LEGO está muito legal!]]></description>
			<content:encoded><![CDATA[<p>O dia de publicar robôs de LEGO é quarta (eu sei que estou devendo várias semanas&#8230;) mas dessa vez eu não tive como esperar, essa máquina LEGO está muito legal!</p>
<p><object width="500" height="306"><param name="movie" value="http://www.youtube.com/v/rWd3vgLaA_M?version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/rWd3vgLaA_M?version=3" type="application/x-shockwave-flash" width="500" height="306" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.paulomotta.pro.br/2011/06/07/uma-fabrica-feita-de-lego/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Paródia de Let it be</title>
		<link>http://www.paulomotta.pro.br/2011/05/31/parodia-de-let-it-be/</link>
		<comments>http://www.paulomotta.pro.br/2011/05/31/parodia-de-let-it-be/#comments</comments>
		<pubDate>Tue, 31 May 2011 13:39:29 +0000</pubDate>
		<dc:creator>prmottajr</dc:creator>
				<category><![CDATA[Diversão]]></category>
		<category><![CDATA[Humor]]></category>
		<category><![CDATA[Principal]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[LINGUAGEM]]></category>
		<category><![CDATA[nerd]]></category>
		<category><![CDATA[PROGRAMAÇÃO]]></category>

		<guid isPermaLink="false">http://www.paulomotta.pro.br/?p=1387</guid>
		<description><![CDATA[Eu achei muito divertida, mas ainda não achei a versão com legendas. Como a tese tem me consumido vou deixar para colocar a letra aqui mais para frente.]]></description>
			<content:encoded><![CDATA[<p>Eu achei muito divertida, mas ainda não achei a versão com legendas. Como a tese tem me consumido vou deixar para colocar a letra aqui mais para frente.</p>
<p><object width="500" height="306"><param name="movie" value="http://www.youtube.com/v/1S1fISh-pag?version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/1S1fISh-pag?version=3" type="application/x-shockwave-flash" width="500" height="306" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.paulomotta.pro.br/2011/05/31/parodia-de-let-it-be/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

