<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Superfície Reflexiva</title>
	
	<link>http://logbr.reflectivesurface.com</link>
	<description>Ainda movido por uma contradição em termos</description>
	<lastBuildDate>Sun, 17 Apr 2011 20:43:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/SuperficieReflexiva" /><feedburner:info uri="superficiereflexiva" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license><item>
		<title>Clojure, Midje e Emacs</title>
		<link>http://feedproxy.google.com/~r/SuperficieReflexiva/~3/j7-V1wU3exE/</link>
		<comments>http://logbr.reflectivesurface.com/2011/04/17/clojure-midje-e-emacs/#comments</comments>
		<pubDate>Sun, 17 Apr 2011 20:32:08 +0000</pubDate>
		<dc:creator>Ronaldo</dc:creator>
				<category><![CDATA[Clojure]]></category>
		<category><![CDATA[Emacs]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://logbr.reflectivesurface.com/?p=1531</guid>
		<description><![CDATA[Esses dias comecei a brincar mais sério com o Clojure e decidi gastar um tempinho configurando o meu ambiente para a linguagem. Foi mais simples do que eu pensava, embora alguns passos dependam de configurações do lado do projeto também. A primeira coisa é instalar o ambiente. Eu estava usando anteriormente uma versão solta em [...]]]></description>
			<content:encoded><![CDATA[<p>Esses dias comecei a brincar mais sério com o <a href="http://clojure.org/">Clojure</a> e decidi gastar um tempinho configurando o meu ambiente para a linguagem. Foi mais simples do que eu pensava, embora alguns passos dependam de configurações do lado do projeto também.</p>

<p>A primeira coisa é instalar o ambiente. Eu estava usando anteriormente uma versão solta em um diretório mas como o uso o Mac OS X, decidi usar o <a href="http://mxcl.github.com/homebrew/">brew</a>:</p>

<pre><code>~$ brew install clojure clojure-contrib
~$ brew install leiningen
~$ lein plugin install swank-clojure 1.3.0
</code></pre>

<p>O primeiro comando instala o Clojure e algumas bibliotecas opcionais (que todo mundo usa na verdade) e o segundo instala uma das ferramentas de <span class="foreign-word" lang="en">build</span> mais usadas para a linguagem (que será útil depois para os projetos). </p>

<p>Finalmente, o último comando instala o <span class="foreign-word" lang="en">plugin</span> do Swank para o Clojure, para ser usado com o <a href="http://common-lisp.net/project/slime/">Slime</a>. Isso também assume que este último esteja instalado. Caso contrário, basta seguir as <a href="http://common-lisp.net/project/slime/doc/html/Installation.html#Installation">instruções oficiais</a>. Um único detalhe é que a versão do Swank usado pelo <code>swank-clojure</code> não gosta muito do <code>autodoc</code> do Slime&#8211;basta não carregá-lo (o que é padrão).</p>

<p>Em segundo lugar, o que precisei adicionar ao meu <code>.emacs</code> foi o seguinte:</p>

<pre><code>(require 'clojure-mode)
(require 'midje-mode)
(require 'clojure-jump-to-file)

(add-hook 'clojure-mode-hook 
          (lambda ()
            (progn (midje-mode)
                   (paredit-mode +1)
                   (setq inferior-lisp-program "/usr/local/bin/clj"))))

(eval-after-load 'clojure-mode
  '(define-clojure-indent
    (fact 'defun)
    (facts 'defun)
    (against-background 'defun)
    (provided 0)))
</code></pre>

<p>O código acima assume que o diretório onde o <code>clojure-mode</code> e o <code>midje-mode</code> estão está apropriadamente adicionado as caminhos de carregamento do Emacs. </p>

<p>As primeiras três linhas são os <code>require</code>s necessários para carregar o ambiente. O <code>midje-mode</code> é um modo para o <a href="https://github.com/marick/Midje">Midje</a>, um <span class="foreign-word" lang="en">framework</span> de testes para o Clojure que me pareceu mais interessante que a opção padrão, o <code>clojure.test</code>.</p>

<p>O <code>hook</code> eu useu para carregar automaticamente o <code>midje-mode</code> em arquivos <code>.clj</code> para não precisar fazer uma distinção entre testes e arquivos comuns. Eu gosto de usar o <a href="http://www.emacswiki.org/emacs/ParEdit">paredit</a> também mas é opcional. Finalmente, eu configuro qual é o aplicativo do Clojure em si.</p>

<p>O código para depois da carga do <code>clojure-mode</code> é usado somente para configurar indentações específicas para o Midje e é opcional também.</p>

<p>Para criar os projetos em si, é hora de usar o Leiningen:</p>

<pre><code>~$ lein new my-project
</code></pre>

<p>Isso cria um diretório <code>my-project</code> já configurado com tudo o que é necessário para um projeto básico (com um arquivo .gitignore de bônus).</p>

<p>O próximo passo é configurar as dependências do Midje no arquivo <code>project.clj</code>:</p>

<pre><code>(defproject books "1.0.0-SNAPSHOT"
  :description "My project"
  :dependencies [[org.clojure/clojure "1.2.1"]
                 [org.clojure/clojure-contrib "1.2.0"]]
  :dev-dependencies [[midje "1.1"]])
</code></pre>

<p>Depois disso é só usar o comando abaixo para atualizar as dependências:</p>

<pre><code>~$ lein deps
</code></pre>

<p>É interessante também copiar a tarefa do <code>lein</code> que roda os comandos do Midje: é simplesmente baixar o arquivo <a href="https://github.com/marick/Midje/raw/master/leiningen/midje.clj"><code>midje.clj</code></a> e copiá-lo para um diretório chamado <code>leiningen</code> dentro do projeto. Depois disso é possível rodar o comando <code>lein midje</code> para conferir os testes. </p>

<p>Com isso, já é possível usar <code>lein swank</code> para iniciar uma conexão dentro do projeto e, depois de abrir algum arquivo do mesmo no Emacs, rodar <code>slime-connect</code> para conectar o Emacs ao Slime. Um vídeo bom para introduação ao Midje no Emacs <a href="http://www.youtube.com/watch?v=HK2HG9U3anA&amp;feature=related">está disponível no YouTube</a>. As mensagens quando um teste passa são bem divertidas. <img src='http://logbr.reflectivesurface.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p><span class="foreign-word" lang="en">Happy hacking</span>!</p>
<img src="http://feeds.feedburner.com/~r/SuperficieReflexiva/~4/j7-V1wU3exE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://logbr.reflectivesurface.com/2011/04/17/clojure-midje-e-emacs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://logbr.reflectivesurface.com/2011/04/17/clojure-midje-e-emacs/</feedburner:origLink></item>
		<item>
		<title>The Wise Man’s Fear</title>
		<link>http://feedproxy.google.com/~r/SuperficieReflexiva/~3/GBmqu1TYLTw/</link>
		<comments>http://logbr.reflectivesurface.com/2011/04/16/the-wise-mans-fear/#comments</comments>
		<pubDate>Sat, 16 Apr 2011 18:16:48 +0000</pubDate>
		<dc:creator>Ronaldo</dc:creator>
				<category><![CDATA[Livros e Literatura]]></category>

		<guid isPermaLink="false">http://logbr.reflectivesurface.com/?p=1528</guid>
		<description><![CDATA[Essa madrugada&#8211;não consegui parar depois de chegar na metade do livro&#8211;terminei de ler The Wise Man&#8217;s Fear, o segundo volume na trilogia The Kingkiller Chronicle de Patrick Rothfuss. Eu já tinha mencionado o primeiro livro aqui há algum tempo como uma leitura essencial dentro do que a fantasia tem para oferecer nos últimos anos, dando [...]]]></description>
			<content:encoded><![CDATA[<p>Essa madrugada&#8211;não consegui parar depois de chegar na metade do livro&#8211;terminei de ler <a href="http://en.wikipedia.org/wiki/The_Wise_Man's_Fear">The Wise Man&#8217;s Fear</a>, o segundo volume na trilogia <a href="http://en.wikipedia.org/wiki/The_Kingkiller_Chronicle">The Kingkiller Chronicle</a> de  Patrick Rothfuss.</p>

<p>Eu já tinha mencionado <a href="http://logbr.reflectivesurface.com/2009/11/06/leituras-essenciais-de-fantasia/">o primeiro livro aqui</a> há algum tempo como uma leitura essencial dentro do que a fantasia tem para oferecer nos últimos anos, dando um gostinho do que o livro conta: a história de Kvothe, aventureiro, arcanista e músico.</p>

<blockquote>
  <p>I have stolen princesses back from sleeping barrow kings. I burned down the town of Trebon. I have spent the night with Felurian and left with both my sanity and my life. I was expelled from the University at a younger age than most people are allowed in. I tread paths by moonlight that others fear to speak of during day. I have talked to Gods, loved women, and written songs that make the minstrels weep. </p>
  
  <p>You may have heard of me.</p>
</blockquote>

<p>Pelo pequeno trecho acima já dá para ver que Rothfuss não quer saber dos heróis usualmente hesitantes que a fantasia geralmente apresenta. Quando o primeiro livro se abre, Kvothe é o dono de uma hospedaria em uma vila, sob um outro nome, seus atos vivendo quase como uma lenda embora estejam há apenas poucos anos no passado. Sob um outro nome, ele é procurado por um cronista a quem decide contar sua história em três dias&#8211;daí o nome e formato da trilogia.</p>

<p>Dentro da história que ele conta, o começo já é fatídico, espelhando a história exterior: Kvothe perde toda a família em uma idade em que a maioria das outras pessoas não saberia nem ao menos conseguir comida por conta própria e isso o lança em uma caminho trágico e espetacular. </p>

<p>Embora os livros se passem, na maior parte, com um Kvothe adolescente, os livros não são de forma alguma fantasia juvenil. Embora Kvothe às vezes seja maduro de mais para a sua idade, Rothfuss consegue tornar isso não só aceitável como parte integrante da história, mesclando sucesso e falhas com maestria, demonstrando a profunda inteligência e profunda ingenuidade do personagem ao mesmo tempo.</p>

<p>Como eu não quero contar mais da história para não atrapalhar quem não leu, basta dizer que os dois livros representam o que há de melhor sendo escrito do gênero hoje. Um dos grandes méritos do livro, na minha opinião, está no passo forte e consistente de Rothfuss que consegue construir uma mitologia resistente e completa que dá ao mundo uma profundidade enorme ao mesmo tempo que não caí nos erros de outros escritores, descrevendo em excesso partes da história que são desnecessárias para a construção maior dos livros. Um belo exemplo no segundo livro é o momento em que Kvothe faz uma viagem longa e isso é resumido em meras duas páginas enquanto uma outra cena em que ele bebe com os amigos é descrita em detalhes e se prova depois essencial para a compreensão de um mistério. </p>

<p>Tudo isso torna quase certo o fato de que Rothfuss será capaz de terminar bem e satisfatoriamente o seu conto no próximo livro não deixando que sua série se arraste por dez, doze livros como outros autores.</p>

<p>Desnecessário dizer, o primeiro livro foi um enorme sucesso no ano da sua publicação e os fãs ficaram conseqüentemente ansiosos pela continuação que estava prevista para dois anos depois. Foram necessários quatro anos para o segundo livro mas a espera valeu a pena. Agora é voltar a esperar pelo terceiro e último livro que provavelmente vai demorar o mesmo tanto. É o único problema com a trilogia. <img src='http://logbr.reflectivesurface.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/SuperficieReflexiva/~4/GBmqu1TYLTw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://logbr.reflectivesurface.com/2011/04/16/the-wise-mans-fear/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://logbr.reflectivesurface.com/2011/04/16/the-wise-mans-fear/</feedburner:origLink></item>
		<item>
		<title>Nowhere Man</title>
		<link>http://feedproxy.google.com/~r/SuperficieReflexiva/~3/8VCpEJ5kVa8/</link>
		<comments>http://logbr.reflectivesurface.com/2011/04/09/nowhere-man/#comments</comments>
		<pubDate>Sat, 09 Apr 2011 16:51:42 +0000</pubDate>
		<dc:creator>Ronaldo</dc:creator>
				<category><![CDATA[Geral]]></category>

		<guid isPermaLink="false">http://logbr.reflectivesurface.com/?p=1520</guid>
		<description><![CDATA[Hoje é dia quinze, né? Pelo menos eu acho que é. Acho que esqueci de como o tempo passa aqui na rua. Sabe, não é como se os dias fossem iguais uns aos outros, do jeito que é pra todo mundo. Sabe quando o cara trabalha de segunda a sexta, todo dia do mesmo jeito, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/gkomel/90747795/"><img src="http://logbr.reflectivesurface.com/wp-content/uploads/2011/04/90747795_4bb6a3944c_m.jpg" alt="" title="Nowhere man -- (C) 2006, Guilherme Komel" width="240" height="161" class="alignleft size-full wp-image-1524" /></a></p>

<p>Hoje é dia quinze, né? Pelo menos eu acho que é. Acho que esqueci de como o tempo passa aqui na rua.</p>

<p>Sabe, não é como se os dias fossem iguais uns aos outros, do jeito que é pra todo mundo. Sabe quando o cara trabalha de segunda a sexta, todo dia do mesmo jeito, chega no trabalho de manhã cedo, rezando pro chefe não perceber que ele chegou atrasado, come no almoço c’os compadres no mesmo horário, naqueles botequinhos legais na esquina da firma, vai embora na mesma hora, pra pegar o trem lotado, fazer baldeação na Luz, chegar em Tucuruvi com muito esforço?</p>

<p>Sábado e domingo, bem, sábado e domingo são mais ou menos a mesma coisa, eu acho. Sábado é churrasco c’os amigos ou passeio no shopping. Domingo, casa da sogra, ou casa da mãe. Pelo menos é o que acho que as pessoas fazem normalmente. Tem o Jão aí que diz que é assim, ele vai pra casa da irmã todo fim de semana e é isso o que ele diz que acontece. Eu nunca fui lá, claro, mas é isso que o Jão diz que acontece.</p>

<p>Aqui na rua, o tempo não passa direito. Todo dia é tão diferente, todo dia é tão cheio de coisa pra fazer, diferente, que você nem repara direito. De dia, de noite, parece tudo a mesma coisa. Muda um pouco, eu acho. Muda a hora que a polícia passa aqui, muda um pouco o tanto de gente que passa por tal e tal lugar, mas nem tanto assim, sabe. Você acaba dormindo onde consegue achar um lugar pra dormir, mas isso é até tranqüilo porque sempre dá pra achar um lugar escondidinho onde ninguém pertuba você.</p>

<p>Você se acostuma, sabe. Vira parte da paisagem, eu acho. Tem hora qu’eu olho no olho de alguém e a pessoa meio que dá aquele pulo como se um poste de repente tivesse criado vida e falado com ela. Mas eu não ligo, não. Depois de tanto tempo, até isso pára de importar. Você vira mesmo parte da cidade, um lugar nenhum, uma pessoa nenhuma. Dá pra viver.</p>
<img src="http://feeds.feedburner.com/~r/SuperficieReflexiva/~4/8VCpEJ5kVa8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://logbr.reflectivesurface.com/2011/04/09/nowhere-man/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://logbr.reflectivesurface.com/2011/04/09/nowhere-man/</feedburner:origLink></item>
		<item>
		<title>Cast a Spell</title>
		<link>http://feedproxy.google.com/~r/SuperficieReflexiva/~3/AiguC45BIxs/</link>
		<comments>http://logbr.reflectivesurface.com/2011/04/05/cast-a-spell/#comments</comments>
		<pubDate>Tue, 05 Apr 2011 03:42:50 +0000</pubDate>
		<dc:creator>Ronaldo</dc:creator>
				<category><![CDATA[Geral]]></category>

		<guid isPermaLink="false">http://logbr.reflectivesurface.com/?p=1517</guid>
		<description><![CDATA[Meu último texto aqui no blog foi sobre como compilar o LLVM no Mac OS X. Para os curiosos que me perguntaram o motivo disso, a resposta está aqui: Spell. Leitores antigos do blog sabem que linguagens de programação são um dos meus interesses primários dentro do campo da computação. Desde que eu comecei a [...]]]></description>
			<content:encoded><![CDATA[<p>Meu último texto aqui no <span class="foreign-word" lang="en">blog</span> foi sobre como compilar o LLVM no Mac OS X. Para os curiosos que me perguntaram o motivo disso, a resposta está aqui: <a href="https://github.com/rferraz/spell">Spell</a>.</p>

<p>Leitores antigos do <span class="foreign-word" lang="en">blog</span> sabem que linguagens de programação são um dos meus interesses primários dentro do campo da computação. Desde que eu comecei a programar, eu sempre brinquei com a construção de linguagens, embora até então não tivesse tomado tempo para realmente tentar fazer um esforço ponta a ponta usando tecnologia mais recente.</p>

<p>Com o desenvolvimento do <a href="http://llvm.org/">LLVM</a>, as coisas ficaram bem mais simples para alguém que queira construir uma linguagem e produzir algo que realmente tenha alguma utilidade prática&#8211;seja esta simplesmente para aprender alguma coisa nova ou seja para construir algo que seja realmente passível de uso em circunstâncias de produção.</p>

<p>Eu me interessei pelo LLVM assim que li sobre o projeto, mas até então não tivera oportunidade de usar. Spell é o meu primeiro esforço na direção, combinando o que eu aprendi sobre o assunto nos últimos tempos com a vontade de experimentar com algum um pouco mais consitente no campo que não a criação de simples VMs.</p>

<p>Spell não é, de forma alguma, uma linguagem para produção. Antes, é um projeto para o meu aprendizado e o de quaisquer outros interessados em ver com uma linguagem pode funcionar. Eu usei alguns atalhos&#8211;como o <a href="http://treetop.rubyforge.org/">Treetop</a> para fazer a análise léxica e parte da análise sintática&#8211;mas o que está no repositório deve servir com uma referência simples ao que pode ser feito em uma linguagem. </p>

<p>Por exemplo, Spell implementa <span class="foreign-word" lang="en">closures</span> e o código demonstra os <span class="foreign-word" lang="en">trade-offs</span> que foram feitos para fazer isso possível. Outros caminhos estão lá que eu pretendo explorar no futuro, como mecanismos similares à <a href="http://research.microsoft.com/pubs/67083/spineless-tagless-gmachine.ps.gz">Spineless Tagless G-Machine</a> (.ps) e a geração de código para <span class="foreign-word" lang="en">garbage collection</span> através do próprio LLVM.</p>

<p>De resto, construições são bem-vindas. Havendo interesse interesse em aprender também, basta fazer um <span class="foreign-word" lang="en">fork</span> do repositório e implementar o que quiser. Há bastante coisa com que se fuça lá&#8211;afinal de contas, lanças magias é sempre algo divertido. <img src='http://logbr.reflectivesurface.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/SuperficieReflexiva/~4/AiguC45BIxs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://logbr.reflectivesurface.com/2011/04/05/cast-a-spell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://logbr.reflectivesurface.com/2011/04/05/cast-a-spell/</feedburner:origLink></item>
		<item>
		<title>Compilando o LLVM como uma biblioteca no Mac OS X 10.6</title>
		<link>http://feedproxy.google.com/~r/SuperficieReflexiva/~3/Y_yD50Nz5WE/</link>
		<comments>http://logbr.reflectivesurface.com/2011/01/15/compilando-o-llvm-como-uma-biblioteca-no-mac-os-x-10-6/#comments</comments>
		<pubDate>Sat, 15 Jan 2011 05:49:56 +0000</pubDate>
		<dc:creator>Ronaldo</dc:creator>
				<category><![CDATA[LLVM]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Tecnologia]]></category>

		<guid isPermaLink="false">http://logbr.reflectivesurface.com/?p=1510</guid>
		<description><![CDATA[Esses dias andei brincando um pouco com o projeto ruby-llvm, cujo propósito é criar bindings em Ruby para o LLVM usando o Ruby-FFI. Para aprender sobre o projeto, adicionei alguns testes para a funcionalidade já existente e corrigi alguns pequenos problemas. Para fazer isso, eu precisei compilar a biblioteca compartilhada do LLVM, que na maioria [...]]]></description>
			<content:encoded><![CDATA[<p>Esses dias andei brincando um pouco com o projeto <a href="https://github.com/rferraz/ruby-llvm">ruby-llvm</a>, cujo propósito é criar <span class="foreign-word" lang="en">bindings</span> em Ruby para o LLVM usando o <a href="https://github.com/ffi/ffi">Ruby-FFI</a>. Para aprender sobre o projeto, adicionei alguns testes para a funcionalidade já existente e corrigi alguns pequenos problemas. </p>

<p>Para fazer isso, eu precisei compilar a biblioteca compartilhada do LLVM, que na maioria das plataformas é algo trivial. De fato, normalmente só é necessário especificar o <span class="foreign-word" lang="en">flag</span> abaixo no <span class="foreign-word" lang="en">script</span> de configuração:</p>

<pre><code>./configure --enabled-shared
</code></pre>

<p>Eu uso o <a href="https://github.com/rferraz/ruby-llvm">brew</a>, na verdade, mas o princípio é o mesmo:</p>

<pre><code>brew install llvm --shared
</code></pre>

<p>Entretanto, a compilação acima, embora passe limpa no Mac OS X, resulta nos seguintes erros quando a biblioteca é carregada no Ruby-FFI:</p>

<pre><code>dyld: loaded: /Users/&lt;user&gt;/llvm/2.8/lib/libLLVM-2.8.dylib
dyld: lazy symbol binding failed: Symbol not found: 
    __ZN4llvm2cl6Option11addArgumentEv
  Referenced from: /Users/&lt;user&gt;/llvm/2.8/lib/libLLVM-2.8.dylib
  Expected in: flat namespace

dyld: Symbol not found: __ZN4llvm2cl6Option11addArgumentEv
  Referenced from: /Users/&lt;user&gt;/llvm/2.8/lib/libLLVM-2.8.dylib
  Expected in: flat namespace

Trace/BPT trap
</code></pre>

<p>Depois de algumas investigações e uma troca de e-mails com <a href="https://github.com/ishikawa/ruby-llvm">Takanori Ishikawa</a>, eu cheguei ao seguinte <span class="foreign-word" lang="en">patch</span> que resolve o problema e permite que o LLVM seja compilado limpa e corretamente como uma biblioteca compartilhada:</p>

<pre><code>diff --git a/Makefile.rules b/Makefile.rules
index 9cff105..44d5b2d 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -497,7 +497,7 @@ ifeq ($(HOST_OS),Darwin)
   # Get "4" out of 10.4 for later pieces in the makefile.
   DARWIN_MAJVERS := $(shell echo $(DARWIN_VERSION)| sed -E
's/10.([0-9]).*/\1/')

-  SharedLinkOptions=-Wl,-flat_namespace -Wl,-undefined,suppress \
+  SharedLinkOptions=-Wl,-undefined,dynamic_lookup \
                     -dynamiclib
   ifneq ($(ARCH),ARM)
     SharedLinkOptions += -mmacosx-version-min=$(DARWIN_VERSION)
</code></pre>

<p>As opções acima mudam os <span class="foreign-word" lang="en">namespaces</span> para o padrão de dois níveis do OS X e a resolução de nomes para acontecer em tempo de execução.</p>

<p>Usar essas opções não parecer ter causado qualquer problema em outras partes do LLVM mas eu estou curioso para entender porque não são usadas por padrão pelo projeto, especialmente considerando que muitos outros projetos fazem justamente isso como descobri depois. De fato, as opções anteriores parecem ser um legado dos dias pré-10.3 do Mac OS X. De qualquer forma, fiz essa pergunta na lista <a href="http://lists.cs.uiuc.edu/pipermail/llvmdev/2011-January/037465.html">LLVM-dev</a>.</p>

<p>Enquanto isso, o <span class="foreign-word" lang="en">patch</span> funciona para mim. Também disponibilizei uma <a href="https://github.com/rferraz/homebrew/commit/c8a27f1a491beb29c343e2cd23133b400aac9a1c">versão modificada para o brew</a>. YMMV.</p>
<img src="http://feeds.feedburner.com/~r/SuperficieReflexiva/~4/Y_yD50Nz5WE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://logbr.reflectivesurface.com/2011/01/15/compilando-o-llvm-como-uma-biblioteca-no-mac-os-x-10-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://logbr.reflectivesurface.com/2011/01/15/compilando-o-llvm-como-uma-biblioteca-no-mac-os-x-10-6/</feedburner:origLink></item>
		<item>
		<title>Sobre jedis, ninjas e samurais</title>
		<link>http://feedproxy.google.com/~r/SuperficieReflexiva/~3/8_nEbykUbTY/</link>
		<comments>http://logbr.reflectivesurface.com/2011/01/08/sobre-jedis-ninjas-e-samurais/#comments</comments>
		<pubDate>Sat, 08 Jan 2011 21:14:22 +0000</pubDate>
		<dc:creator>Ronaldo</dc:creator>
				<category><![CDATA[Coisas de Geek]]></category>
		<category><![CDATA[Cultura Internet]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Misc]]></category>
		<category><![CDATA[Tecnologia]]></category>

		<guid isPermaLink="false">http://logbr.reflectivesurface.com/?p=1505</guid>
		<description><![CDATA[Geeks de todos os tipos adoram se colocarem como os equivalentes tecnológicos de alguma sociedade guerreira&#8211;real ou imaginada&#8211;que exiba uma quantidade excessiva de coolness no dia-a-dia. Eu não posso culpar ninguém que faz isso porque eu também já fiz a mesma coisa muitas vezes. É claro, eu nunca gostei tanto de Star Wars. Sendo um [...]]]></description>
			<content:encoded><![CDATA[<p><span class="foreign-word">Geeks</span> de todos os tipos adoram se colocarem como os equivalentes tecnológicos de alguma sociedade guerreira&#8211;real ou imaginada&#8211;que exiba uma quantidade excessiva de <span class="foreign-word">coolness</span> no dia-a-dia. Eu não posso culpar ninguém que faz isso porque eu também já fiz a mesma coisa muitas vezes.</p>

<p>É claro, eu nunca gostei tanto de Star Wars. Sendo um fã de Star Trek, eu sempre considerei Star Wars como algo que você superava quando crescia&#8211;bom para crianças, mas não para muito além disso (por favor, sem ameaças de morte, estou brincando&#8211;bem, nem tanto assim). Star Wars é fantasia e Star Trek é ciência. Claro, os Jedi são muito mais legais e eu preferiria andar com um sabre de luz do que com um <span class="foreign-word">phaser</span> mas me dê um torpedo quântico qualquer dia sobre qualquer arma do Império ou da República.</p>

<p>E há sempre os samurais&#8211;aquela velha escola, valorosa, sempre envolvida em negócios por conta de honra, muitas vezes sem qualquer esperança de sucesso. De <a href="http://www.imdb.com/title/tt0047478/">Seven Samurai</a> a <a href="http://www.imdb.com/title/tt0325710/">The Last Samurai</a>&#8211;e não dá para esquecer os livros do <a href="http://en.wikipedia.org/wiki/Musashi_(novel)">Eiji Yoshikawa</a>&#8211;nós ocidentais sempre admiramos a forma como esses guerreiros japoneses se conduziam, considerando o seu <a href="http://en.wikipedia.org/wiki/Bushido">Caminho do Guerreiro</a> como algo a aspirar.</p>

<p>Finalmente, há também os ninjas ou <span class="foreign-word">shinobi</span>. Não muito populares hoje em dia, mas houve um tempo em que eram a febre entre a população mais jovem. Como os samurais, a <a href="http://en.wikipedia.org/wiki/Ninjutsu">arte</a> deles também era baseada em princípios de honra e dever&#8211;embora, no seu auge, eles fosse mais equivalentes a guerrilhas ou equipes <span class="foreign-word">Black Ops</span> do que o modelo mais <span class="foreign-word">Special Forces</span> dos samurais.</p>

<p>Mas uma coisa que todas ordens tem em comum é que elas eram bem monásticas, baseadas em códigos estritos sobre como proceder, treinamentos estritos ao longo dos anos e especialmente, disciplina&#8211;em muitos casos, com o peso da honra coibindo qualquer relação além da com os companheiros de armas.</p>

<p>Como <span class="foreign-word">geeks</span> geralmente gostamos de nos comparar essas ordens porque elas são, bem, fascinantes, e sempre estavam fazendo coisas além no normal, com seus procedimentos arcanos para lidar com situações acima do que uma pessoa normal poderia encontrar. </p>

<p>Mas há algo que é sempre esquecido sobre essas ordens&#8211;como mencionado acima, elas eram primariamente e acima de tudo sobre disciplina; sobre um modo de vida ordenado que permitia com que a pessoa se concentrasse no que realmente importava. Tanto o treinamento histórico e real dos samurais e <span class="foreign-word">shinobi</span> quanto o imaginado, inspirado pelos anteriores, dos Jedi exigia um compromisso com a disciplina que supera qualquer outra coisa que a pessoa precisaria fazer no curso de sua existência como membro dessas ordens. E, acima de tudo, requeria compromissos entre o possível e desejado e o necessário.</p>

<p>O que me traz ao meu ponto.</p>

<p>Nos últimos quatro ou cinco anos, eu fui parte de quase dez times diferentes. Já vi equipes sucederem a falharam, se recuperaram e continuarem, se unirem e se tornaram grandes, acabarem e seguir com suas vidas. Em resumo, fui parte de um número enorme de situações em que pude participar ou observar como times interagem e fazem as coisas acontecerem.</p>

<p>E em todos esses anos, uma das coisas mais importantes que separou os times ruins ou medianos dos grandes times foi a disciplina, que geralmente a parte mais desprezada nos exemplos que os fãs desses grupos tentam emular quando escolhem seus heróis.</p>

<p>É um tanto irônico que pessoas professem gostar tanto de metodologias ágeis porque estas criam ordem do caos através de times auto-gerenciáveis&#8211;times que não precisam de muita direção para fazer e acontecer, times que não precisam ser monitorados continuamente para garantir que estão indo na direção certa&#8211;esqueçam de que gerar ordem do caos exige disciplina.</p>

<p>A verdade é que agilidade em times só acontecem naqueles que são disciplinados e que entendem o que se ganha e o que se perde quando um projeto tem que ser cumprido. Sim, agilidade tem tudo a ver com encarar mudanças mas isso só significa que você tem que conseguir trabalhar muito bem com seus pares e com a organização como tudo&#8211;entendendo o que está mudando e quais são os meio-termos a serem alcançados&#8211;para realizar seus objetivos. Mudança sem contexto, sem disciplina, só gera caos. E isso é que muitos parecem esquecer quando se encantam com o Scrum e suas disciplinas irmãs.</p>

<p>Eu estava falando com um amigo outro dia e estávamos discutindo o fato de que muitos programadores usam a desculpa do <a href="http://en.wikipedia.org/wiki/Attention-deficit_hyperactivity_disorder">ADD</a> para procrastinarem ou para justificar distrações. <span class="foreign-word">Geeks</span>, ele estava dizendo, são notórios pela sua baixa capacidade de atenção.</p>

<p>Eu acho&#8211;e disse para ele&#8211;que o contrário é o correto. Os verdadeiros <span class="foreign-word">geeks</span> são disciplinados o suficiente para manter o seu foco e continuar no que estão fazendo a despeito das distrações. Você precisa ser muito focado se quer depurar aquele <span class="foreign-word">heisenbug</span> que está mantendo você acordado nas últimas 40 horas, fazendo com que seu servidor capote a cada hora e meia. Você precisa de disciplina para continuar afundando na documentação, indo e voltando para encontrar aquela informação elusiva de permitirá que você otimize a sua rotina para que ela rode em massas de dados enormes. E você precisa de um senso forte de direção para participar de um time sem controle gerencial direto em um ambiente que está mudando continuamente.</p>

<p>Em resumo, disciplina é o que separa os diletantes dos artesãos. É que faz as coisas acontecerem e que realmente cria grandes times. Não quer dizer que você tenha que ser um mala sobre horários, procedimentos ou qualquer coisa assim. Não significa que você não possa se divertir ou que tenha que seguir passos ordenados toda vez que vai fazer alguma coisa. Mas significa que você tem que praticar  e pensar e se focar até que isso se torna uma segunda natureza, até que você se torne um mestre no que está fazendo.</p>

<p>E isso é o que ninjas e samurais e Jedi fazem. Eles não param, não correm quando a proverbial situação fica preta. Eles&#8211;você sabe&#8211;simplesmente vão lá e fazem, e fazem bem.</p>
<img src="http://feeds.feedburner.com/~r/SuperficieReflexiva/~4/8_nEbykUbTY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://logbr.reflectivesurface.com/2011/01/08/sobre-jedis-ninjas-e-samurais/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		<feedburner:origLink>http://logbr.reflectivesurface.com/2011/01/08/sobre-jedis-ninjas-e-samurais/</feedburner:origLink></item>
		<item>
		<title>Fazendo aquilo com o Groupon</title>
		<link>http://feedproxy.google.com/~r/SuperficieReflexiva/~3/TGS6H4ARkEs/</link>
		<comments>http://logbr.reflectivesurface.com/2011/01/02/fazendo-aquilo-com-o-groupon/#comments</comments>
		<pubDate>Mon, 03 Jan 2011 01:12:30 +0000</pubDate>
		<dc:creator>Ronaldo</dc:creator>
				<category><![CDATA[Cultura Internet]]></category>
		<category><![CDATA[Negócios]]></category>
		<category><![CDATA[Sociedade]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Misc]]></category>
		<category><![CDATA[Tecnologia]]></category>

		<guid isPermaLink="false">http://logbr.reflectivesurface.com/?p=1499</guid>
		<description><![CDATA[Há uma grande discussão acontecendo agora sobre o modelo de negócios do Groupon. Depois que a empresa recusou a oferta de aquisição do Google, a pergunta que todo mundo está se fazendo é se os donos o Groupon são insanos ou brilhantes, tão confiantes no seu modelo de negócios e na habilidade do mesmo de [...]]]></description>
			<content:encoded><![CDATA[<p>Há uma grande discussão acontecendo agora sobre o modelo de negócios do Groupon. Depois que a empresa recusou a oferta de aquisição do Google, a pergunta que todo mundo está se fazendo é se os donos o Groupon são insanos ou brilhantes, tão confiantes no seu modelo de negócios e na habilidade do mesmo de ir além de qualquer oferta que o Google possa fazer&#8211;e isso depois da oferta ter sido dobrada duas vezes.</p>

<p>John Battelle é um dos que pensam que o Groupon fez a escolha certa. Ele <a href="http://battellemedia.com/archives/2010/12/thinking_out_loud_whats_driving_groupon.php">escreve</a>:</p>

<blockquote>
  <p>Good sources have told me that Groupon is growing at 50 percent a month, 
  with a revenue run rate of nearly $2 billion a year (based on last month&#8217;s revenues). 
  By next month, that run rate may well hit $2.7 billion. 
  The month after that, should the growth continue, the run rate would clear $4 billion.</p>
</blockquote>

<p>Battelle atribui isso a uma combinação de fatores: relacionamentos, localização e <span class="foreign-word">timing</span>&#8211;veja o artigo para uma explicação maisprofundo do que torna o Groupon quase que irresistível para pequenos negócios. E como ele nota em seu artigo, a <span class="foreign-word">run-rate</span> demonstrada até agora pelo Groupon é o triplo do que o próprio Google experimentou em seus anos iniciais.</p>

<p>Eu estava conversando com um amigo outro dia sobre compras coletivas e ele disse que o maior problema que afetaria e eventualmente mataria o modelo de negócios dessas empresas seria o <span class="foreign-word">churn</span>, isto é, o fato de que muitas dessas ofertas estão criando problemas para os pequenos negócios usando a plataforma. De fato, há dezenas de histórias sobre pessoas sendo maltratadas porque chegaram com um cupom do Groupon ou equivalente local e o negócio em questão já estava irritado por estar perdendo dinheiro com esses clientes. Eu escutei várias dessas histórias em primeira mão e em muitos casos, os donos tinham calculado incorretamente o que podiam ou deveria oferecer e ficaram descontendes com a experiência com um todo, consequentemente se tornando menos e menos interessados em trabalhar novamente com compra coletiva.</p>

<p>Eu acredito que o <span class="foreign-word">churn</span> que estamos vendo é somente uma conseqüência da forma como novos mercados funcionam. Se o Battelle está correto&#8211;e eu acredito que sim&#8211;o <span class="foreign-word">churn</span> se tornará cada vez menor à medida que os negócios encontrem seus <span class="foreign-word">sweet spots</span> no ecossistema. Eu não vejo porque, por exemplo, o Groupon não possa oferecer uma ferramenta que permita que os negócios entrem com alguns parâmetros e depois deduza o preço relativamente ideal para uma certa oferta. De fato, isso nunca vai ser exatamente precisa mas dará aos negócios usando a plataforma uma maneira de evitar os problemas mais extremos. </p>

<p>Em última instância, porém, eu acredito que o Groupon será bem sucedido porque está mudando a forma como as pessoas se relacionam com os negócios locais. Recentemente, falando com dois outros amigos, eles me contaram como os clones locais estão tendo um impacto em seus padrões de compra.</p>

<p>Um deles, divorciado, nos seus quarenta, disse que não janta fora mais a menos que tenha um cupom. Esses cupons o estão ajudando a aumentar o <span class="foreign-word">price point</span> dos seus gastos e, consequentemente, melhorar os locais que ele pode freqüentar. Com a ajuda dos cupons, ele está indo para locais mais caros mais vezes por semana. Essa é uma mudança grande que está beneficiando o meu amigo e os pontos que ele gosta. Como os negócios estão se tornando mais cuidados e aumentando os gastos colaterais, como bebidas e outros&#8211;algo perfeitamente aceitável&#8211;isso faz com que o resultado seja proveitoso para todos envolvidos.</p>

<p>O outro amigo, com seus trinta anos, disse que que compras coletivas estavam na verdade ajudando que ele <em>transasse</em> mais. Ele é solteiro e está usando uma variedade de cupons&#8211;restaurantes, spas, roupas, pequenos itens&#8211;para impressionar e interessar mulheres. Ele ainda está usando uma quantidade considerável de dinheiro mas o Groupon e seus similares estão fazendo com que ele gaste esse dinheiro de forma mais eficiente em direção ao seu objetivo&#8211;que, sejamos sinceros, incluem no momento transar tantas vezes quanto possível no menor período de tempo. E é quase auto-evidente pela forma que mercados funcionam que qualquer coisa que ajude pessoas a conseguirem mais sexo&#8211;ou encontram qualquer medida de satisfação sexual&#8211;está em condições muito melhores de ser bem sucedido.</p>

<p>E aqui você tem o resumo final: pessoas <em>estão</em> fazendo mais sexo com o Groupon. E isso torna a sua posição mais forte ainda. Battelle está correto&#8211;do ponto de vista dos pequenos negócios&#8211;e meu amigo também está correto&#8211;do ponto de visto do consumido.</p>

<p>E dos dois modos, o Groupon vence.</p>
<img src="http://feeds.feedburner.com/~r/SuperficieReflexiva/~4/TGS6H4ARkEs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://logbr.reflectivesurface.com/2011/01/02/fazendo-aquilo-com-o-groupon/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://logbr.reflectivesurface.com/2011/01/02/fazendo-aquilo-com-o-groupon/</feedburner:origLink></item>
		<item>
		<title>Contrate-me</title>
		<link>http://feedproxy.google.com/~r/SuperficieReflexiva/~3/CZcHsquac8w/</link>
		<comments>http://logbr.reflectivesurface.com/2010/12/14/contrate-me/#comments</comments>
		<pubDate>Tue, 14 Dec 2010 16:48:05 +0000</pubDate>
		<dc:creator>Ronaldo</dc:creator>
				<category><![CDATA[Geral]]></category>

		<guid isPermaLink="false">http://logbr.reflectivesurface.com/?p=1481</guid>
		<description><![CDATA[Atualização: Obrigado a todos que me ajudaram divulgando esse texto e a todos com quem conversei nas semanas subseqüentes. Recebi excelentes propostas e conheci muita gente que está fazendo coisas impressionantes. E como todo fim tem um próximo começo, minha nova casa é a ThoughtWorks Brazil. Que venha a próxima iteração. Depois de quase três [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Atualização:</strong> Obrigado a todos que me ajudaram divulgando esse texto e a todos com quem conversei nas semanas subseqüentes. Recebi excelentes propostas e conheci muita gente que está fazendo coisas impressionantes. E como todo fim tem um próximo começo, minha nova casa é a <a href="http://www.thoughtworks.com/">ThoughtWorks</a> Brazil. Que venha a próxima iteração. </p>

<p>Depois de quase três anos de WebCo e Abril Digital, chegou a hora de me despedir dessa etapa da minha vida e partir em busca de experiências novas. Esse foi um tempo intenso e completo, mas, como diria um certo Oráculo, &#8220;tudo que tem um começo tem um fim.&#8221;</p>

<p>Sendo assim, estou imediatamente disponível para projetos e contratações&#8211;<span class="foreign-word">full-time</span> preferencialmente, mas aberto também a propostas de outros tipos. </p>

<p>Meu objetivo é trabalhar em alguma empresa que acredite em pessoas como o motor e motivo central do desenvolvimento de <span class="foreign-word">software</span>, que acredite concretamente no Manifesto Ágil e que exerça a arte de desenvolver. Posso contribuir seja fazendo parte de um time ou estando à frente de um.</p>

<p>Meus interesses primários são: Web, metodologias ágeis, linguagens dinâmicas, plataformas, e arquiteturas distribuídas em larga escala.</p>

<p>Se estiver interessado ou conhecer alguém que esteja, meu contato de e-mail e GTalk é ronaldoferraz <span class="foreign-word">at</span> gmail <span class="foreign-word">dot</span> com.</p>

<p>Um currículo resumido se encontra no <a href="http://br.linkedin.com/in/rferraz">Linked In</a>.</p>
<img src="http://feeds.feedburner.com/~r/SuperficieReflexiva/~4/CZcHsquac8w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://logbr.reflectivesurface.com/2010/12/14/contrate-me/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://logbr.reflectivesurface.com/2010/12/14/contrate-me/</feedburner:origLink></item>
		<item>
		<title>2078</title>
		<link>http://feedproxy.google.com/~r/SuperficieReflexiva/~3/utuk1_1r-X8/</link>
		<comments>http://logbr.reflectivesurface.com/2010/01/26/2078/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 11:00:15 +0000</pubDate>
		<dc:creator>Ronaldo</dc:creator>
				<category><![CDATA[Crônicas]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://logbr.reflectivesurface.com/?p=1466</guid>
		<description><![CDATA[Hoje é 13 de junho de 2078. Quase esqueci do dia em particular, mas já se vão cem anos desde que meu avô paterno nasceu. Faz um certo tempo desde que ele morreu e ainda eu sinto muita saudade dele. Sempre vou sentir. Meu avô paterno era um otimista tecnológico nato. Para alguém que considerava [...]]]></description>
			<content:encoded><![CDATA[<p>Hoje é 13 de junho de 2078. Quase esqueci do dia em particular, mas já se vão cem anos desde que meu avô paterno nasceu. Faz um certo tempo desde que ele morreu e ainda eu sinto muita saudade dele. Sempre vou sentir.</p>

<p>Meu avô paterno era um otimista tecnológico nato. Para alguém que considerava ficção científica seu gênero favorito de leitura isso não é de se espantar. Ele ainda viveu para ver muitos dos sonhos da ficção científica realizado e tenho certeza de que teria adorado as mudanças que ainda estão acontecendo. </p>

<p>Meu avô não era um cara que gostava de ficar contando histórias sobre o passado sentado com os netos. Ele gostava de contar histórias sobre o futuro, sobre o que já existia e sobre o que aquilo poderia virar. Eu me lembro de ficar horas sentado no chão da sala enquanto ele falava sobre autores e mais autores, séries e filmes de ficção e como aquilo que esperamos é ao mesmo tempo tão pouco e tão excessivo. </p>

<p>Um das coisas em que meu avô não acreditava era na Singularidade Tecnológica&#8211;o momento em que a tecnologia se expandiria além do que a humanidade como um todo fosse capaz de entender e manipular. Não porque era um homem religioso&#8211;ele era&#8211;mas porque acreditava que alguma coisa aconteceria antes que permitiria ao próprio homem o controle próprio da tecnologia em qualquer escala necessária. Em outras palavras, a tecnologia cresceria junto com a próprio humanidade. Até o momento, isso é o que parece estar acontecendo. Eu ainda não me decidi sobre a Singularidade, mas gosto da visão do meu avô.</p>

<p>Se ele estivesse aqui, ele provavelmente entenderia a maioria da tecnologia que é usada no dia-a-dia, mesmo que o uso pleno do que vem natualmente para nós lhe escapasse. Tecnologia, afinal de contas, é uma habilidade adquirida e cada geração enfrenta seus problemas de adaptação. Não duvido nada que um filho ou um neto poderão escrever a mesma coisa de mim um dia. </p>

<p>É claro que toda tecnologia tem seu preço e isso continua válido. Ainda estamos bem longe de uma solução para o clima, por exemplo, mesmo com toda a parafernália de seqüestro de carbono que já foi desenvolvida. As tempestades e disfunções climáticas ainda estão piorando e eu fico pensando nas obras de Kim Stanley Robinson e Peter Hamilton. De onde estamos hoje para a corrente do Golfo parar ou algo com as tempestades armada se tornarem reais não é uma distância muito grande. Acho que vamos conseguir escapar do pior, mas vai ser pouco.</p>

<p>Por outro lado, com ambientes consensuais de trabalho, dois grandes problemas já se foram e seus resultados já estão se fazendo notar. O trânsito agora existe quase que exclusivamente por conta de lazer e de mão de obra que precisa de local. Mas o efeito de bilhões de pessoas que não precisam mais ir para o trabalho todo o dia pode dobrar alguns balanços em nosso favor. Depois que provaram que P=NP, não foi muito difícil desenvolver um sistema automatizado emergente para cuidar de tudo. A mesma coisa para a quantidade enorme de prédios que existiam somente para servirem de um ponto comum de trabalho. Seria difícil para a maioria das pessoas nascidas há cem anos atrás imaginar isso, é claro.</p>

<p>Se meu avô estivesse aqui, talvez a mudança que mais lhe teria interessado seria  convergência final de dispositivos. Ele não viveu para ver o fim do celular, televisão, rádio, computadores, notebooks, tablets, coisas que eram tão comuns quando ele estava no auge de sua carreira mas provavelmente teria se sentido relativamente confortável com um implante <em>inscape</em> e com os primeiros protótipos de HUDs. Tudo sobre o que um de seus autores favoritos, Charles Stross, falava e escrevia  nos idos dos anos 20.</p>

<p>É, eu sinto falta de meu avô. Gostaria que ele estivesse aqui para compartilhar as próximas grandes mudanças. Mas não importa: eu sei que a imaginação foi suficiente. Espero que a minha seja também.</p>
<img src="http://feeds.feedburner.com/~r/SuperficieReflexiva/~4/utuk1_1r-X8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://logbr.reflectivesurface.com/2010/01/26/2078/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://logbr.reflectivesurface.com/2010/01/26/2078/</feedburner:origLink></item>
		<item>
		<title>Balanço cultural de dezembro</title>
		<link>http://feedproxy.google.com/~r/SuperficieReflexiva/~3/yyK3arwxJY0/</link>
		<comments>http://logbr.reflectivesurface.com/2010/01/22/balanco-cultural-de-dezembro-3/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 11:00:01 +0000</pubDate>
		<dc:creator>Ronaldo</dc:creator>
				<category><![CDATA[Filmes e Séries]]></category>
		<category><![CDATA[Livros e Literatura]]></category>
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://logbr.reflectivesurface.com/?p=1468</guid>
		<description><![CDATA[Dezembro foi mês de final de trabalho e começo de férias e confesso que fiquei com preguiça depois de alguns dias na moleza. Enfim, isso deveria ter sido postado no ano passado, mas para não deixar passar batido. O resultado do mês foi o seguinte: 4 livros 12 filmes Nos livros, comecei o mês com [...]]]></description>
			<content:encoded><![CDATA[<p>Dezembro foi mês de final de trabalho e começo de férias e confesso que fiquei com preguiça depois de alguns dias na moleza. Enfim, isso deveria ter sido postado no ano passado, mas para não deixar passar batido. O resultado do mês foi o seguinte:</p>

<ul>
<li>4 livros</li>
<li>12 filmes</li>
</ul>

<p>Nos livros, comecei o mês com <a href="http://managinghumans.com">Managing Humans</a>, de Michael Lopps. Lopps é muito conhecido pelo seu <span class="foreign-word" lang="en">blog</span> <a href="http://www.randsinrepose.com">Rands in Repose</a> e o livro é um compilação de textos publicados no mesmo durante alguns anos. Eu leio o <span class="foreign-word" lang="en">blog</span> há algum tempo já e considero Lopps um dos melhores escritores no estilo. Além da clareza e atualidade do temas, Lopps consegue destilar seu conhecimento com humor e maestria, deixando o leitor sempre querendo um pouco mais. </p>

<p><em>Managing Humans</em> é, em primeira instância um livro sobre gerência, mas não gerência no sentido de &#8220;mandar&#8221; em outras pessoas&#8211;antes, é uma visão de relacionamento, habilidades e construção de carreira baseados em quinze anos de experiência do autor. Apesar de voltado especialmente para engenheiros de <span class="foreign-word" lang="en">software</span>, os conselhos servem para qualquer pessoa, seja gerido ou gestor (o que é, de um ponto de vista bem prático, o caso de praticamente todos nós). Como Lopps diz na introdução, a mensagem primária do livro é: <span class="foreign-word" lang="en">&#8220;Don&#8217;t be a prick&#8221;</span>. Recomendado em todos os sentidos.</p>

<p>O livro seguinte do mês foi <a href="http://en.wikipedia.org/wiki/The_Silmarillion">The Silmarillion</a>, o conhecido épico mitológico de J. R. R. Tolkien. Eu já lera o livro algumas vezes antes, emprestado, e, depois de comprá-lo finalmente, decidi por mais uma leitura. Ainda permanece o meu preferido entre os trabalhos do Professor. O senso de mito, de estória se desenrolando ao longo dos milênios e de perda é tão forte que é impossível não se impressionar. </p>

<p>Para terminar o mês, li os dois primeiros livros da trilogia <a href="http://en.wikipedia.org/wiki/The_Night%27s_Dawn_Trilogy">The Night&#8217;s Dawn Trilogy</a>, do Peter Hamilton (<em>The Reality Dysfunction</em> e <em>The Neutronium Alchemist</em>). Hamilton é um dos que eu inclui em minhas <a href="http://logbr.reflectivesurface.com/2009/11/04/leituras-essenciais-de-ficcao-cientifica/">leituras essenciais de ficção científica</a> no ano passado e essa trilogia é um dos seus primeiros trabalhos. </p>

<p>Os livros contam da humanidade do século vinte e sete, divididos em duas grandes correntes: edenistas, com sua tecnologia biológica e baseada em inteligências artificiais com cultura unificada e, até certo ponto, utópica; e os adamistas, os humanos &#8220;normais&#8221;, usuários de tecnologia não-orgânica baseada em nanotecnologia. </p>

<p>As duas culturas convivem em paz, habitando os cerca de 900 planetas colonizados pela humanidade em uma organização conhecida com a Confederação, com algum contato alienígena no meio, até que uma ruptura no tecido da realidade libera algo desconhecido que ameaça não só a Confederação mas a própria definição do que é ser humano e do que representam a vida e a morte. </p>

<p>Como nos livros de Hamilton que já li, a estória é enorme e envolve dezenas de personagens primários, secundários e terciários com múltiplos temas permeando a narrativa. O autor cria um mundo verossímil e complexo tanto em termos da descrição das múltiplas facções e divisões da humanidade como na tecnologia descrita. Fiquei especialmente encantado com os <span class="foreign-word" lang="en">voidhawks</span>, naves estelares orgânicas sencientes unidas a seus capitães via uma tecnologia orgânica chamada de afinidade e capazes de navegação FTL. </p>

<p>Os livros&#8211;três calhamaços, por sinal&#8211;exploram, como é comum nos trabalhos de Hamilton, o fato de que, apesar de toda tecnologia, ainda permanecemos essencialmente a mesma espécie, com suas falhas, aspirações e forças. Essa exploração não é isenta de falhas&#8211;o final é um enorme, embora preparado, <span class="foreign-word" lang="la">deus ex machina</span>&#8211;e o estilo é deficitário em relação aos seus trabalhos posteriores. Mesmo assim, ainda vale a pena a leitura.</p>

<p>Nos filmes, comecei o mês vendo <a href="http://www.imdb.com/title/tt0866437/">The Jane Austen Book Club</a>. Alguém me recomendou o filme como sendo um comédia romântica decente envolvendo ficção científica e Jane Austen&#8211;dois temas que eu gosto. Com a esposa, me anime a ver e gostei. Não é muito diferente do usual em comédias românticas mas é divertido o suficiente. Depois descobri que é baseado em um livro do mesmo nome por um autor que, entre outras coisas, escreve ficção científica. Destaque especial para as obras de <a href="http://www.ursulakleguin.com/">Ursula Le Guin</a> que são um <span class="foreign-word" lang="en">plot point</span>.</p>

<p>Depois disso foi a vez de <a href="http://www.imdb.com/title/tt1069238/">Okuriburo</a> (lançado do Brasil como <em>A Partida</em>). O filme conta a estória de um recém-desempregado músico japonês que decide volta à sua pequena cidade natal em busca de um novo começo. Ao chegar à cidade, responde um classificado para um emprego que acredita ser em uma agência de viagens e descobre que, na verdade, é para ser um profissional que prepara pessoas para o enterro (para a partida). À medida em que ele começa encontrar sentido em seu trabalho e sua vida, começa a perder seus amigos e mesmo sua esposa que desprezam o trabalho. O filme é belíssimo, profundo e cômico ao mesmo tempo, explorando a vida, suas alegrias e tristezas. Confesso que ri e chorei durante quase o filme todo. Recomendo completamente.</p>

<p>Na seqüência, assisti <a href="http://www.imdb.com/title/tt1188729/">Pandorum</a>. Descobri quase por acaso durante minhas tradicionais andanças por listas de discussão de ficção científica. O filme conta a estória de dois membros da tripulação de uma nave generacional humana em meio à sua viagem para colonizar um planeta distante. Os dois tripulantes acordam para o seu turno de trabalho encontrando uma nave abandonada e às beiras de um colapso sistêmico. Tentando descobrir o que está acontecendo, encontram algo aterrorizador. A estória é clássica e contada em inúmeros filmes e foi um fracasso de público mas tem suas boas qualidades. Gostei das variações sobre o tema, focando mais nos personagens do que na situação em si e nas conseqüências dos problemas da nave. A fotografia também é muito boa e o final foi bastante satisfatório. Vale a pena para fãs do gênero.</p>

<p>Depois disso foi a vez de <a href="http://www.imdb.com/title/tt0499549/">Avatar</a>. Como todo mundo já deve ter visto a essa altura do campeonato, vou me limitar a algumas impressões básicas. Sim, a estória é batida e já contada milhares de vezes, mas não são todas elas? Já se disse que só existem algumas estórias básicas e o mérito está em como se conta. Isso é algo que acredito que Cameron consegui, contando a mesma estória de uma forma feita nova pela tecnologia e pela beleza da arte do filme. Gostei especialmente do cuidado dado aos detalhes científicos do filme e, se Cameron escorrega em alguns pontos, acerta mais ainda. Fica uma sensação de que o <a href="http://chud.com/articles/articles/21969/1/PROJECT-880-THE-AVATAR-THAT-ALMOST-WAS/Page1.html">roteiro original era bem melhor</a>, mas isso é algo que também pode ser corrigido em parte com uma versão do diretor. Se Lucas pode, Cameron também.</p>

<p>Depois foi a vez de <a href="http://www.imdb.com/title/tt1121931/">Crank 2</a> e <a href="http://www.imdb.com/title/tt1034032/">Gamer</a>. Os dois filmes são escritos e dirigidos pela mesma dupla e são essencialmente a mesma estória fraca recheada de ação contínua e sem sentido mesclada entre cenas de sexo e violência gratuitos. Eu gosto tanto de Gerard Butler quanto de Jason Statham, muito em parte pela capacidade que os dois possuem de auto-ironia mas os filmes são definitivamente descartáveis.</p>

<p><a href="http://www.imdb.com/title/tt1259571/">New Moon</a>, <a href="http://www.imdb.com/title/tt0974661/">17 Again</a>, <a href="http://www.imdb.com/title/tt0465580/">Push</a> e <a href="http://www.imdb.com/title/tt1112782/">Thick as Thieves</a> foram programas de pré-Natal&#8211;suportáveis mas algumas poucas horas perdidas. No caso do último, nem a presença de Antonio Banderas e Morgan Freeman consegue ajudar. Aliás, Banderas parece que se especializou no papel agente da lei genérico infiltrado no últimos anos. Haja paciência.</p>

<p>No próximo mês, mais livros, filmes e passeios.</p>
<img src="http://feeds.feedburner.com/~r/SuperficieReflexiva/~4/yyK3arwxJY0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://logbr.reflectivesurface.com/2010/01/22/balanco-cultural-de-dezembro-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://logbr.reflectivesurface.com/2010/01/22/balanco-cultural-de-dezembro-3/</feedburner:origLink></item>
	</channel>
</rss>

