<?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>O bar no fim do universo &#187; geek</title>
	<atom:link href="http://piero.contezini.net/category/geek/feed/" rel="self" type="application/rss+xml" />
	<link>http://piero.contezini.net</link>
	<description></description>
	<lastBuildDate>Sat, 12 Jun 2010 21:36:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>VIBENEWS &#8211; Seu próximo computador será um Netbook</title>
		<link>http://piero.contezini.net/2010/06/12/301/</link>
		<comments>http://piero.contezini.net/2010/06/12/301/#comments</comments>
		<pubDate>Sat, 12 Jun 2010 20:24:34 +0000</pubDate>
		<dc:creator>piero</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[informação]]></category>
		<category><![CDATA[vibenews]]></category>

		<guid isPermaLink="false">http://piero.contezini.net/2010/06/12/301/</guid>
		<description><![CDATA[Update: Artigo com informação desatualizada, publicada somente para fins históricos.
A era dos computadores de mesa já teve seus dias e todos sabemos, dos PC&#8217;s originais com monitores de Tubo e Gabinetes enormes, pesando muitos kilos, hoje são reduzidos a notebooks com capacidade equivalente, pesando uma fração do seu peso. Mas o que já é pequeno, [...]]]></description>
			<content:encoded><![CDATA[<div id="hojz" style="text-align: left;"><span style="color: #ff0000;">Update: Artigo com informação desatualizada, publicada somente para fins históricos.</span></div>
<div style="text-align: left;">A era dos computadores de mesa já teve seus dias e todos sabemos, dos PC&#8217;s originais com monitores de Tubo e Gabinetes enormes, pesando muitos kilos, hoje são reduzidos a notebooks com capacidade equivalente, pesando uma fração do seu peso. Mas o que já é pequeno, cada vez fica menor, com a chegada da <strong>Computação nas Nuvens</strong>, a necessidade de computadores potentes, capazes de rodar dezenas de aplicações, guardar grandes quantidades de dados e responder rapidamente ao usuário, está se tornando cada vez mais um nicho de mercado. O que manda hoje é a conectividade, a capacidade de acessar a Internet através de qualquer forma disponível onde o usuário esteja, seja ela rede <strong>WIFI</strong>, Bluetooth, <strong>3G</strong> ou até Rede Fixa. Com essa mudança de paradigma, uma nova classe de computadores se tornou popular no mercado, chamados de <strong>Netbooks</strong>, eles fazem exatamente o que o nome deles diz, são prontos para conectividade, porém nada mais, com pouco espaço em disco e processamento, seu uso é totalmente voltado a Internet e aplicações na Web. A novidade nessa classe de computadores vem sendo a disponibilidade de modens 3G internos, assim o usuário só precisa de um chip <strong>GSM</strong> com plano de dados habilitado para estar conectado eternamente a Internet, o pioneiro foi o <strong>Dell Mini 9</strong>, mostrado na foto ao lado.</div>
<div id="hojz" style="text-align: left;">
<p><img style="width: 400px; height: 400px;" src="http://docs.google.com/File?id=dd4kkj7s_18czsj9pfs_b" alt="" /></p>
<div id="sq01" style="text-align: left;"><img style="width: 500px; height: 386px;" src="http://docs.google.com/File?id=dd4kkj7s_19fc6mvpgp_b" alt="" /></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://piero.contezini.net/2010/06/12/301/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Teclado ABNT2 Mac OSX</title>
		<link>http://piero.contezini.net/2010/03/15/teclado-abnt2-mac-osx/</link>
		<comments>http://piero.contezini.net/2010/03/15/teclado-abnt2-mac-osx/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 12:53:10 +0000</pubDate>
		<dc:creator>piero</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[macosx]]></category>
		<category><![CDATA[abnt2]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[teclado]]></category>

		<guid isPermaLink="false">http://piero.contezini.net/?p=290</guid>
		<description><![CDATA[Muita gente procura este arquivo, é um mapa de teclado para o padrao ABNT2, pra quem usa teclados externos comprados no brasil é uma necessidade.
Fazer o download.
]]></description>
			<content:encoded><![CDATA[<p>Muita gente procura este arquivo, é um mapa de teclado para o padrao ABNT2, pra quem usa teclados externos comprados no brasil é uma necessidade.</p>
<p>Fazer o <a href="http://piero.contezini.net/ABNT2-layout.zip">download</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://piero.contezini.net/2010/03/15/teclado-abnt2-mac-osx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aprenda a programar em 10 anos</title>
		<link>http://piero.contezini.net/2009/10/03/aprenda-a-programar-em-10-anos/</link>
		<comments>http://piero.contezini.net/2009/10/03/aprenda-a-programar-em-10-anos/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 03:50:34 +0000</pubDate>
		<dc:creator>piero</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[informação]]></category>

		<guid isPermaLink="false">http://piero.contezini.net/?p=198</guid>
		<description><![CDATA[O texto abaixo foi traduzido pelo meu amigo Augusto Radtke e é de autoria de Peter Norvig. É dirigido para todos que fazem ciência da computação, ou estudam em alguma área das ciências exatas ou tem interesse ou até mesmo em necessidade de aprender a programar.
Para quem já fez Inteligência Artificial na faculdade deve conhecer [...]]]></description>
			<content:encoded><![CDATA[<p>O texto abaixo foi traduzido pelo meu amigo <a href="http://www.radtke.com.br">Augusto Radtke</a> e é de autoria de Peter Norvig. É dirigido para todos que fazem ciência da computação, ou estudam em alguma área das ciências exatas ou tem interesse ou até mesmo em necessidade de aprender a programar.</p>
<p>Para quem já fez Inteligência Artificial na faculdade deve conhecer o Norvig do seu livro verde, o Artificial Intelligence, a Modern Approach, ou AIMA para os íntimos. Ele era chefe de desenvolvimento dos robôs que foram pra marte da NASA, agora trabalha no Google. Ou seja, ele sabe do que está falando! O texto é longo (uns 10 minutos de leitura).<br />
Aprenda a Programar em Dez Anos<br />
Peter Norvig<br />
Tradução por Augusto Radtke<br />
Porque todo mundo tem tanta pressa?</p>
<p>Entre em qualquer livraria, você vai ver Aprenda Java em 7 dias assim como diversas variações oferecendo lições de Visual Basic, Windows, Internet e por ai vai, em dias ou horas. Eu fiz a seguinte pesquisa na Amazon.com:<br />
CODE<br />
pubdate: after 1992 and title: days and</p>
<p>(title: learn or title: teach yourself)</p>
<p>e encontrei 248 entradas. As primeiras 78 eram livros sobre computadores (número 79 era Learn<br />
Bengali in 30 days). Troquei “dias” por “horas” e encontrei resultados incrivelmente similares: 253 livros, 77 de computadores, seguidos de Teach Yourself Grammar and Style in 24 Hours no número 78. Do total de 200, 96% eram livros de computadores.</p>
<p>A conclusão é que ou as pessoas estão com muita pressa de aprender sobre computadores, ou computadores são extremamente fáceis de aprender do que qualquer outra coisa. Não há livros de como aprender Beethoven, ou Física Quântica ou até adestramento de cães em alguns dias.</p>
<p>Vamos analisar o que um título como Learn Pascal in Three Days<br />
pode significar:</p>
<p>* Aprenda: Em três dias você não terá tempo de escrever programas significantes, e aprender com seu sucesso ou fracasso. Você não terá tempo para trabalhar com um programador experiente e entender o que é conviver neste ambiente. Em resumo, você não terá tempo para aprender muito. Logo eles só podem estar falando a respeito de entendimento supercial, como disse Alexander Pope, aprender pouco é uma coisa perigosa.<br />
* Pascal: Em três dias você deve ser capaz de aprender a sintaxe do Pascal (isso se você já conhece uma linguagem similar), mas não vai aprender muito sobre como utilizar essa sintaxe. Em resumo, se você era, vamos dizer, um programador Basic, você pode aprender a escrever programas no estilo Basic usando a sintaxe do Pascal mas não aprender em que o Pascal é bom (ou ruim). Então, qual o ponto? Alan Perlis disse certa vez: “Uma linguagem que não afeta a maneira que você pensa sobre programação, não vela a pena ser aprendida”. Um ponto é se você precisar aprender um pouco de Pascal (ou algo como Visual Basic ou Javascript) porque você precisa interagir com alguma ferramenta existente para uma tarefa específica. Mas nesse caso você não esta aprendendo a programar, você está aprendendo a como resolver essa tarefa.<br />
* em três dias: Infelizmente, não é suficiente, como veremos a seguir.</p>
<p>Aprenda a Programar em Dez Anos.</p>
<p>Pesquisadores (Hayes, Bloom) tem demonstrado que leva em torno de dez anos para desenvolver perícia em qualquer de uma variedade de áreas, includindo jogar xadrez, compor músicas, pintar, tocar piano, nadar, jogar tênis e pesquisar neuropsicologia ou topologia. Aparentemente não há atalhos: até Mozart, que foi um prodígio musical aos 4 anos levou mais 13 antes de compor música de primeira classe. De outra forma, ou Beatles parecem ter disparado nas paradas em primeiro lugar com a aparição no show do Ed Sullivan em 1964. Mas eles estavam tocando em pequenos clubes em Liverpool e Hamburgo desde 1957, e mesmo que eles conseguiram uma aparição em masa, o primeiro grande sucesso mesmo, Sgt. Peppers, foi lançado em 1967. Samuel Johnson pensa que pode levar mais do que dez anos: “Excelência em qualquer departamento pode ser alcançada apenas com o trabalho de uma vida toda; não é possível compra-lá por menos.” E Chaucer reclamou: “vida tão curta, leva tantu pra aprender.” Sim, é “tantu”, e não “tanto”, um dia você entende.</p>
<p>Então aqui vai minha receita para sucesso na programação:</p>
<p>* Aprenda inglês. Leia o original deste texto. Essa tradução só está aqui para exercitar o meu inglês, não o seu. (Nota do tradutor)<br />
* Se interesse por programação, e faça porque é legal. Tenha certeza que isso continue a ser legal para você dedicar dez anos nisso.<br />
* Converse com outros programadores; leia outros programas. Isso é mais importante do que qualquer livro ou curso de treinamento.<br />
* Programe. O melhor tipo de aprendizado é aprender fazendo.<br />
Colocando de uma forma mais técnica, “o nível máximo de performace individual em um domínio é não é alcançado automaticamente em função de uma experiência extendida, mas sim aumentado mesmo por indivíduos extramente experientes por um esforço deliberativo de melhorar.” (p. 366) e “o aprendizado mais efetivo requer uma tarefa bem definida com uma dificuldade apropriada para o indivíduo em particular, dado que exista um retorno sobre a experiência e oportunidades de repetição e correções de erros.” (p. 20-21) do livro<br />
Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life, que é uma referência interessante deste ponto de vista.<br />
* Se você quiser, gaste quatro anos em uma universidade (ou mais em uma pós-graduação). Isso lhe dará acesso a alguns empregos que requerem alguma formação e um grande entendimento do campo de trabalho, mas se você não gosta muito de ir para escolha, você pode (com alguma dedicação) conseguir alguma experiência similiar sobre esse tipo de trabalho. Em qualquer caso, apenas ler livros não será suficiente.<br />
“Educação em ciências da computação não faz de ninguém um gênio em programação tanto quanto estudar pincéis e pigmentos não fazem um bom pintor.” diz Eric Raymond, autor de The New Hacker’s Dictionary. Um dos melhores programadores que eu já contratei tinha apenas o segundo grau, e ele produziu vários softwares incríveis, tem seu próprio grupo de discussão,<br />
e fez dinheiro suficiente em ações para comprar seu próprio clube nortuno.<br />
* Trabalhe em projetos com outros programadores. Seja o melhor programador em alguns projetos, seja o pior em outros. Quando você é o melhor você testa suas habilidades para liderar um projeto, e para inspirar outros com a sua visão. Quando você é o pior aprende o que os mestres ensinam e o que não gostam de fazer (porque eles fazem você fazer por eles).<br />
* Trabalhe em projetos após outros programadores. Esteja envolvido em entender um programa<br />
escrito por outro. Veja o que é preciso para entender e consertar quando o programador original não esta por perto. Pense em como desenvolver seus programas para que seja fácil para quem for mante-lós após você.<br />
* Aprenda pelo menos meia dúzia de linguagens de programação. Includa na lista uma linguagem orientada a objetos (como Java ou C++), uma que seja de abstração funcional (como Lisp ou ML), uma que suporte abstração sintática (como Lisp), uma que suporte especificação declarativa (como Prolog ou C++ com templates), uma que suporte co-rotinas (como Icon ou Scheme), e uma que suporte paralelismo (como Sisal).<br />
* Lembre-se que há um “computador” em “ciência da computação”. Saiba quanto tempo leva para o seu computador computar uma instrução, carregar uma palavra ad memória (com e sem cache), ler palavras consecutivas do disco rígido, procurar por uma nova posição no disco.(As respostas estão aqui.)<br />
* Se envolva no esforço de padronização de uma linguagem. Pode ser o comite ANSI C++, ou na padronização de programação na sua empresa, se utilizaram identação com 2 ou 4 espaços. Em qualquer caso, você aprende o que outras pessoas gostam em uma linguagem, o quanto eles gostam e talvez um pouco do porque eles gostam.<br />
* Tenha o bom senso de cair fora desse processo de padronização tão rápido quanto possível.</p>
<p>Com tudo isso em mente, é questionável o quão longe você pode ir apenas lendo livros. Antes que do meu primeiro filho nascer eu li todos os livros de Como Fazer e ainda me sentia como um novato. Trinta meses depois, quando nasceu meu segundo filho, voltei aos livros para relembra? Não, ao invés disso resolvi utilizar minha experiência pessoal do primeiro filho, que se tornou muito mais útil do que milhares de páginas escritas por especialistas.</p>
<p>Fred Brooks, em seu trabalho No Silver Bullets identificou um plano em três partes para encontrar grandes projetistas de software:</p>
<p>1. Sistematicamente identifique os melhores projetistas o quanto antes.<br />
2. Atribua um orientador de carreira responsável pelo desenvolvimento cuidadosamente de um plano de carreira<br />
3. Promova oportunidades para desenvolvedores em aprendizado interagir e estimular uns aos outros.</p>
<p>Isto assumo que algumas pessoas já possuem as qualidades necessárias para ser um grande desenvolvedor de software; o grande trabalho é apenas coloca-los no caminho correto. AlanPerlis coloca de forma mais sucinta: “Qualquer um pode ser ensinado a esculpir: Michelangelo poderia ser ensinado a não esculpir. É o mesmo com grandes programadores”.</p>
<p>Então vá em frente e compre aquele livro de Java; provavelmente você terá algum uso dele. Mas isso não vai mudar a sua vida, ou o seu conhecimento como um programador em 24 horas, dias, ou meses.<br />
Referências</p>
<p>Bloom, Benjamin (ed.) Developing Talent in Young People, Ballantine, 1985.</p>
<p>Brooks, Fred, No Silver Bullets, IEEE Computer, vol. 20, no. 4, 1987, p. 10-19.</p>
<p>Hayes, John R., Complete Problem Solver Lawrence Erlbaum, 1989.</p>
<p>Lave, Jean, Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life, Cambridge University Press, 1988.<br />
Respostas</p>
<p>O tempo aproximado de execução de várias operações num PC típico de 1Ghz no verão de 2001:<br />
executar uma instrução simples 1 nseg = (1/1,000,000,000) seg<br />
extrair uma palavra da memória L1 2 nseg<br />
extrair uma palavra da memória RAM 10 nsec<br />
extrair uma palavra consecutivamente do disco rígido 200 nseg<br />
extrair uma palavra de uma nova posição o disco (busca) 8,000,000nseg = 8mseg<br />
Apêndice: Escolha de Linguagem</p>
<p>Muitas pessoas tem me perguntado sobre qual linguagem devem aprender primeiro.<br />
Não há resposta, mas considere estes pontos:</p>
<p>* Use os seus amigos. Quando me perguntam “que sistema operacioal devo usar, Windows, Unix ou Mac?” minha resposta geralmenet é: “use o que seus amigos usarem”. A vantagem é que você poder aprender com os seus amigos vence qualquer diferença entre sistemas operacionais ou linguagens. Considere também seus futuros amigos: a comunidade de programadores que você fará parte se continuar. A sua escolha possuia uma grande comunidade de usuários ou apenas uma comunidade morta? Existem livros, sites e fórums para encontrar respostas? Você gosta das pessoas desses fórums?<br />
* Mantenha-se simples. Linguagens como C++ ou Java são desenvolvidas para utilização profissional por um grande time de desenvolvedores experientes que estão preocupados com a eficiência de execução de seus códigos. Como resultado, essas linguagens possuem partes complicadas desenvolvidas para essas circunstâncias. Você esta focado em aprender a programar, não precisa dessa preocupação. Você precisa de uma linguagem que foi desenvolvida para ser fácil de aprender e lembrar.<br />
* Interaja. Como normalmente você aprenderia piano: de modo interativo, no qual você escuta uma nota logo que pressiona uma tecla ou de um modo automizado em que você escuta cada nota quando a música termina de tocar? Claramente, aprender interativamente é muito mais fácil, e assim é com a programação. Insista em uma linguagem com um modo interativo e use-o.</p>
<p>Baseado nesses critérios, minhas recomendações para uma primeira linguagem seria Python ou Scheme. Mas as suas circunstâncias podem variar, e existem<br />
outras boas opções. Se a sua idade ainda tiver apenas um dígito, é melhor escolher Alice ou Squeak (aprendizes mais velhos podem gostar também). O importante é você escolher e começar.<br />
Apêndice: Livros e outros recursos</p>
<p>Muitas pessoas me perguntam em quais livros e páginas elas devem aprender. Eu repito que “apenas ler livros não é suficiente” mas eu posso recomendar o seguinte:</p>
<p>* Scheme: Structure and Interpretation of Computer Programs (Abelson &#038; Sussman)é provavelmente a melhor introdução a ciência da computação e ele faz ensinando a programar enquanto você aprende computação.<br />
Você pode ver vídeos de aulas desde livro, assim como o texto completo. online O livro é desafiante e talvez algumas pessoas precisem de outra forma de aprendizado.<br />
* Scheme: How to Design Programs (Felleisen et al.) é um dos melhores livros sobre como projetar programas de forma elegante e funcional.<br />
* Python:Python Programming: Uma introdução a computação (Zelle) e também a linguagem Python.<br />
* Python: Vários tutorials online estão disponíveis em Python.org.<br />
* Oz: Concepts, Techniques, and Models of Computer Programming (Van Roy &#038; Haridi)parece ser um sucessor moderno para Abelson &#038; Sussman. É um tour pelas grandes idéias da programação, muito mais amplo que<br />
Abelson &#038; Sussman mas mantendo uma certa facilidade de leitura. Ele utiliza uma linguagem, Oz, que não é muito reconhecida mas serve como base para outras linguagens.</p>
<p>Notas</p>
<p>T. Capey informa que a página de Complete Problem Solver na Amazon agora possui “Teach Yourself Bengali in 21 days” e “Teach Yourself Grammar and Style” na lista de livros que “Consumidores que compram esse item também costuma comprar estes”.<br />
Eu imagino que um grande parte das pessoas que visualizam esse livro vem dessa página.</p>
]]></content:encoded>
			<wfw:commentRss>http://piero.contezini.net/2009/10/03/aprenda-a-programar-em-10-anos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GeekTool</title>
		<link>http://piero.contezini.net/2009/09/26/geektool/</link>
		<comments>http://piero.contezini.net/2009/09/26/geektool/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 02:23:00 +0000</pubDate>
		<dc:creator>piero</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[macosx]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[text mode please]]></category>

		<guid isPermaLink="false">http://piero.contezini.net/?p=194</guid>
		<description><![CDATA[Se você é como eu, e de vez em quando gosta de ficar monitorando alguma coisa o tempo todo, aqui vai uma tool interessante, ela te permite configurar um comando do shell e ficar mostrando de tempos em tempo atualizado, no fundo do seu desktop.
Tem varias configurações, e a build desse hasseg tem suporte a [...]]]></description>
			<content:encoded><![CDATA[<p>Se você é como eu, e de vez em quando gosta de ficar monitorando alguma coisa o tempo todo, aqui vai uma tool interessante, ela te permite configurar um comando do shell e ficar mostrando de tempos em tempo atualizado, no fundo do seu desktop.<br />
Tem varias configurações, e a build desse hasseg tem suporte a ANSI, o que pros shell maniacos é ainda mais divertido.</p>
<p>GeekTool custom build com suporte a ANSI pode ser baixado <a href="http://hasseg.org/blog/?p=350">aqui<br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://piero.contezini.net/2009/09/26/geektool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VirtualBox</title>
		<link>http://piero.contezini.net/2009/05/28/virtualbox/</link>
		<comments>http://piero.contezini.net/2009/05/28/virtualbox/#comments</comments>
		<pubDate>Fri, 29 May 2009 00:30:13 +0000</pubDate>
		<dc:creator>piero</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[informação]]></category>
		<category><![CDATA[virtualização]]></category>
		<category><![CDATA[emulação]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://piero.contezini.net/?p=144</guid>
		<description><![CDATA[Há algum tempo vinha procurando uma solução para tornar simples a instalação de um produto de um cliente em empresas.
Sendo uma aplicação web baseada em PHP, com uma série de módulos adicionais e configurações especiais, de início a melhor solução que tínhamos encontrado era a criação de uma distribuição Linux simplificada com todos os componentes [...]]]></description>
			<content:encoded><![CDATA[<p>Há algum tempo vinha procurando uma solução para tornar simples a instalação de um produto de um cliente em empresas.<br />
Sendo uma aplicação web baseada em PHP, com uma série de módulos adicionais e configurações especiais, de início a melhor solução que tínhamos encontrado era a criação de uma distribuição Linux simplificada com todos os componentes necessários.<br />
Esta sem dúvida seria uma solução interessante, mas a necessidade de constantes atualizações para suportar o hardware do cliente e novas versões para corrigir falhas de segurança me fez procurar pela virtualização.<br />
Primeiramente pensei no Vmware ESXi, solução gratuita para virtualização em servidores, após um pouco de estudo conclui a sua inviabilidade para a minha aplicação em 2 pontos: Requer reinstalar a maquina afim de colocar o HyperVisor antes de qualquer sistema operacional, e só roda em processadores 64 bits.<br />
Assim sobrou apenas a solução do VirtualBox, confesso que fiquei com medo inicialmente, pois utilizo no meu Mac para rodar algumas versões de Linux e Windows, e ele apresenta alguns problemas para uso avançado como criar &#8220;Snapshots&#8221; das máquinas para poder reverter alterações, pastas compartilhadas entre host e guest, e o compartilhamento do clipboard ser pura lenda.<br />
Estudei ele um pouco e descobri que havia uma forma muito interessante de rodar máquinas virtuais, chamada HeadLess, onde você instancia uma máquina e a configura para redirecionar a saida do monitor para um serviço RDP, assim podendo conectar de qualquer outro computador nela e vendo exatamente o que sairia no monitor.<br />
Gostei disto pois pude configurar toda a parte de conectividade sem me incomodar com a possibilidade de errar em algo e perder a conexão, já que eu só conecto na maquina hospedeira, em nada intervindo na máquina hóspede.<br />
Além disso, havia um certo medo em relação a performance, mas foi simplesmente surpreendente, no caso dessa aplicação onde o uso principal é I/O em disco, o fato do HD da máquina virtual ser um arquivo do sistema de arquivos da hospedeira, fez com que o cacheamento dos dados ficasse mais tempo em memória RAM, assim o desempenho ficou simplesmente impressionante.<br />
Esta aplicação requer uma técnica de aceleração onde boa parte dos códigos são guardados em arquivos temporários para reaproveitamento nos próximos requests, assim a virtualização ao contrário de perder performance, aparentemente aumentou.<br />
Eu não tenho benchmarks para falar a respeito, mas eu nunca vi uma instância desta aplicação rodando de forma tão rápida, mesmo com uma base de dados com uma quantidade considerável de entradas, de fato a maior quantidade que eu vi até agora.<br />
Parabéns ao VirtualBox, vou utilizá-lo para várias aplicações no futuro. <img src='http://piero.contezini.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://piero.contezini.net/2009/05/28/virtualbox/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>O construtor de mundos</title>
		<link>http://piero.contezini.net/2009/03/17/o-construtor-de-mundos/</link>
		<comments>http://piero.contezini.net/2009/03/17/o-construtor-de-mundos/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 00:07:18 +0000</pubDate>
		<dc:creator>piero</dc:creator>
				<category><![CDATA[filosofia]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[matrix]]></category>

		<guid isPermaLink="false">http://piero.contezini.net/?p=133</guid>
		<description><![CDATA[World Builder from Bruce Branit on Vimeo.
]]></description>
			<content:encoded><![CDATA[<p><object width="400" height="225"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=3365942&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=3365942&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="225"></embed></object><br /><a href="http://vimeo.com/3365942">World Builder</a> from <a href="http://vimeo.com/user1349603">Bruce Branit</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://piero.contezini.net/2009/03/17/o-construtor-de-mundos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Será a computação nas nuvens a primeira inteligência artificial?</title>
		<link>http://piero.contezini.net/2009/03/15/sera-a-computacao-nas-nuvens-a-primeira-inteligencia-artificial/</link>
		<comments>http://piero.contezini.net/2009/03/15/sera-a-computacao-nas-nuvens-a-primeira-inteligencia-artificial/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 18:03:20 +0000</pubDate>
		<dc:creator>piero</dc:creator>
				<category><![CDATA[filosofia]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[singularidade]]></category>
		<category><![CDATA[cloudcomputing]]></category>
		<category><![CDATA[computacao nas nuvens]]></category>
		<category><![CDATA[futuro]]></category>
		<category><![CDATA[inteligencia artificial]]></category>

		<guid isPermaLink="false">http://piero.contezini.net/?p=120</guid>
		<description><![CDATA[A quase um ano atrás, eu escrevi sobre o fim dos sistemas operacionais, já questionando se haveria um dia uma singularidade capaz de ser considerada uma inteligência artificial.
Ultimamente tenho estudado bastante tecnologias baseadas na computação nas nuvens, que nada mais é do que a representação prática da arquitetura SOA (Services Oriented Architecture) em ambientes distribuídos, [...]]]></description>
			<content:encoded><![CDATA[<p>A quase um ano atrás, eu escrevi sobre o <a href="http://piero.contezini.net/2008/07/31/o-fim-dos-sistemas-operacionais/">fim dos sistemas operacionais</a>, já questionando se haveria um dia uma singularidade capaz de ser considerada uma inteligência artificial.<br />
Ultimamente tenho estudado bastante tecnologias baseadas na computação nas nuvens, que nada mais é do que a representação prática da arquitetura SOA (Services Oriented Architecture) em ambientes distribuídos, ou seja utilizando-se da Internet para distribuir a sua aplicação através de um padrão definido e capaz de prover fácil integração com outras aplicações já disponíveis online, assim adicionando funcionalidades a &#8220;nuvem&#8221; sem se preocupar com os detalhes de seu funcionamento.<br />
Neste sentido, é muito fácil traçar um padrão de comportamento das aplicações disponíveis online com o comportamento de um ser inteligente.<br />
A definição mais aceita de inteligência é: a capacidade de compreender o mundo a sua volta, aprender e evoluir com a experiência.<br />
Isto é muito semelhante ao princípio das arquiteturas distribuídas, neste tipo de sistema, como o SOAP por exemplo, uma aplicação não precisa conhecer exatamente como a outra funciona, ela é capaz de aprender como uma informação pode ser requisitada ou enviada através de um padrão declarativo que pode ser facilmente compreendido como a transferência do conhecimento e da interação entre as partes (WSDL), ou seja, aprendizado.<br />
No estágio embrionário em que estamos, os sistemas interconectados ainda não estão desenvolvidos o suficiente para tratarem todas as interações, mas a medida que sistemas vão sendo escritos em cima de outros sistemas, como uma pilha de funcionalidades que vão se tornando cada vez mais complexas, existe uma grande possibilidade que naturalmente uma inteligência artificial capaz de resolver qualquer problema a ela solicitada, seja criada.<br />
Aqui eu falo de potencial, pois se existe a possibilidade de desenvolvermos infinitas aplicações, umas sobre as outras, interconectadas e capazes de se entenderem sem que alguém precise explicar exatamente o que elas precisam fazer em cada interação, há uma grande chance que um dia, ao se escrever uma quantidade gigantesca de funcionalidade, tenha-se criado modelos computacionais para resolver virtualmente qualquer problema, mesmo que inesperado, já que a interação entre as diferentes aplicações não precisa estar pré programada.<br />
Apesar de ainda não existir um &#8220;index&#8221; compartilhado na nuvem com todas as funcionalidades já escritas por programadores, um dia este tipo de sistema será necessário para organizar a internet, mais ou menos como o Google fez para nós, nascerá um Google para as máquinas, capaz de fazer com que elas próprias possam encontrar as funcionalidades que elas precisem, na própria rede.<br />
Num sistema complexo deste tipo, nascerão inúmeras aplicações escritas e desenvolvidas pelas próprias aplicações, estendendo suas funcionalidades a medida que seus usuários as necessitam, ficando cada vez mais conscientes do seu meio e capaz de aprender.<br />
Nesse dia, acredito que teremos criado a nossa primeira AI de verdade, não como os livros e filmes de ficção cientifica nos mostram, e sim um sistema programado de modo determinístico, porém capaz de resolver uma quantidade tão grande de problemas, que o torna tão inteligente quanto nós mesmos, afinal não passará do conhecimento condensado por milhões de programadores e gerações de conhecimento.<br />
É um horizonte de eventos extremamente possível, já que baseia-se em algoritmos em funcionamento, sem ficção nem teorias ainda a serem implementadas.</p>
]]></content:encoded>
			<wfw:commentRss>http://piero.contezini.net/2009/03/15/sera-a-computacao-nas-nuvens-a-primeira-inteligencia-artificial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Feliz Ano Novo!</title>
		<link>http://piero.contezini.net/2009/01/02/feliz-ano-novo/</link>
		<comments>http://piero.contezini.net/2009/01/02/feliz-ano-novo/#comments</comments>
		<pubDate>Fri, 02 Jan 2009 23:04:51 +0000</pubDate>
		<dc:creator>piero</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[informação]]></category>
		<category><![CDATA[bufferoverflow]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://piero.contezini.net/?p=66</guid>
		<description><![CDATA[Pra quem não pode passar o Reveillon conosco no Zoco, desejo um ótimo ano de conquistas e sucesso!
Esse ano pretendo manter uma regularidade nos posts e focar em assuntos menos pessoais e mais técnicos, também com alguma informação sobre filmes e séries que recomendo.
E a novidade que não posso deixar de passar:
Saiu o Unlock via [...]]]></description>
			<content:encoded><![CDATA[<p>Pra quem não pode passar o Reveillon conosco no Zoco, desejo um ótimo ano de conquistas e sucesso!<br />
Esse ano pretendo manter uma regularidade nos posts e focar em assuntos menos pessoais e mais técnicos, também com alguma informação sobre filmes e séries que recomendo.</p>
<p>E a novidade que não posso deixar de passar:<br />
<strong>Saiu o Unlock via Software para o iPhone 3G!</strong><br />
Pelo segundo ano consecutivo o Dev-team consegue desbloquear o baseband do iPhone, desta vez eles utilizaram uma técnica interessante, através de um buffer overflow em tempo de execução eles patcheiam a memória do baseband para aceitar qualquer SIM. Ao contrário do Unlock anterior onde a Flash do baseband era reescrita com uma versão totalmente modificada. Acredito que eles usaram esta técnica pois o baseband atualmente é protegido para escrita através de um sistema de chaves onde somente a apple é capaz de gerar uma assinatura válida para um update de firmware.<br />
Assim é necessário rodar um daemon chamado yellowsn0w para toda vez que o iPhone bootar ser patcheado através deste overflow, é óbvio que a Apple vai corrigir já o bug, mas para a maioria de nós usuários de iPhone a bastante tempo sabemos que não fará nenhuma diferença <img src='http://piero.contezini.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Vale lembrar que o Unlock foi primeiramente liberado via Twitter!<br />
Maiores informações no Blog do Dev-Team: <a href="http://blog.iphone-dev.org/">http://blog.iphone-dev.org/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://piero.contezini.net/2009/01/02/feliz-ano-novo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ajudando o Digital Drops a ganhar o prêmio da LG</title>
		<link>http://piero.contezini.net/2008/12/16/ajudando-o-digital-drops-a-ganhar-o-premio-da-lg/</link>
		<comments>http://piero.contezini.net/2008/12/16/ajudando-o-digital-drops-a-ganhar-o-premio-da-lg/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 19:56:54 +0000</pubDate>
		<dc:creator>piero</dc:creator>
				<category><![CDATA[geek]]></category>

		<guid isPermaLink="false">http://piero.contezini.net/?p=61</guid>
		<description><![CDATA[O post original: Ajude o Digital Drops a Vencer a Última Prova do Desafio LG

Desafio LG
]]></description>
			<content:encoded><![CDATA[<p>O post original: <a href="http://digitaldrops.com.br/drops/2008/12/ajude-o-digital-drops-a-vencer-na-ultima-prova-do-desafio-lg.html">Ajude o Digital Drops a Vencer a Última Prova do Desafio LG</a></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/_hIxARgIxec&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/_hIxARgIxec&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" allowfullscreen="true"></embed></object></p>
<p><a href="http://www.desafiolg.com.br/">Desafio LG</a></p>
]]></content:encoded>
			<wfw:commentRss>http://piero.contezini.net/2008/12/16/ajudando-o-digital-drops-a-ganhar-o-premio-da-lg/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
