<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,74 +1,74 @@
-
-                 [[ Why's (Poignant) Guide to Ruby ]]
-                    http://poignantguide.net/ruby/
-
-  
-  &quot;Quite so,&quot; he said.  &quot;I went out to my car yesterday and there was a shoe in the passenger's
-  seat.  A very battered oxford.  Looking straight ahead like it needed a lift to the cobbler's.
-  I did a cavity search and came up with a crisp note from my deceased ancestor, the same 
-  whose property I've looked after, lo, these many years.&quot;
-
-  &quot;Wow,&quot; I said.  And I glared at my shoe, at the things it would do when I'm gone.
-
-                                {o}
-                                 ^
-
-You're pulling down your own master copy of my first book, a book I'm gallantly pursuing,
-coding and drawing, tying into a bundle with wax and twine.  This master copy is yours.  You
-can do most anything with it, I just ask you abide by the very simple and rather liberal
-license for this text.  (See the 'deed' portion of poignant.yml.)
-
-=== Building HTML ===
-
-You will need to install RedCloth. &lt;http://whytheluckystiff.net/ruby/redcloth/&gt;
-
-You will also need Rake. &lt;http://rake.rubyforge.org&gt;
-
-If you have RubyGems, both can be installed with:
-
-  gem install redcloth
-  gem install rake
-
-To build the HTML version of this book:
-
-  rake [en|fr] [/path/to/output]
-
-=== What This Package Includes ===
-
-  scripts/poignant.rb: The script which formats output for the book.  Currently, it only outputs
-    HTML and CSS.
-  
-  lang-en/poignant.yml: The YAML text of the entire book.  The entire book has been written using
-    Vim as my word processor and YAML as my document format.  I also use Textile liberally
-    throughout the content.
-
-  lang-en/localization.rb: Localization strings for the English version of the book
-
-  lang-fr/poignant.yml: the French version
-
-  lang-fr/localization.rb: Localization strings for the French version of the book
-
-  Rakefile: a rake file to ease generation 
-
-  scripts/layout/index.erb: An ERb template for the table of contents.
-
-  scripts/layout/chapter.erb: An ERb template for the chapter pages.
-
-  scripts/layout/expansion-pak.erb: An ERb template for expansion pages.
-
-  scripts/layout/guide.css: A CSS file with fonts and colors.
-
-  scripts/images/: The images folder.  Contains images at no larger than 800px.  These images are
-    designed for the website.  Eventually, I will add a folder with 300dpi images.
-
-=== Para a vers&#227;o em Portugu&#234;s ===
-
-  Antes de executar o &quot;rake pt&quot;, conforme explicado acima, primeiro rode este comando:
-
-  rake merge_pt
-
-  Desta forma, os pequenos trechos ser&#227;o mesclados num &#250;nico arquivo &quot;lang-pt/poignant.yml&quot;
-  como era na vers&#227;o original.
-
-  * Google Groups: http://groups.google.com/group/whys-poignant-guide-to-ruby---portugues
+
+                 [[ Why's (Poignant) Guide to Ruby ]]
+                    http://poignantguide.net/ruby/
+
+  
+  &quot;Quite so,&quot; he said.  &quot;I went out to my car yesterday and there was a shoe in the passenger's
+  seat.  A very battered oxford.  Looking straight ahead like it needed a lift to the cobbler's.
+  I did a cavity search and came up with a crisp note from my deceased ancestor, the same 
+  whose property I've looked after, lo, these many years.&quot;
+
+  &quot;Wow,&quot; I said.  And I glared at my shoe, at the things it would do when I'm gone.
+
+                                {o}
+                                 ^
+
+You're pulling down your own master copy of my first book, a book I'm gallantly pursuing,
+coding and drawing, tying into a bundle with wax and twine.  This master copy is yours.  You
+can do most anything with it, I just ask you abide by the very simple and rather liberal
+license for this text.  (See the 'deed' portion of poignant.yml.)
+
+=== Building HTML ===
+
+You will need to install RedCloth. &lt;http://whytheluckystiff.net/ruby/redcloth/&gt;
+
+You will also need Rake. &lt;http://rake.rubyforge.org&gt;
+
+If you have RubyGems, both can be installed with:
+
+  gem install redcloth
+  gem install rake
+
+To build the HTML version of this book:
+
+  rake [en|fr] [/path/to/output]
+
+=== What This Package Includes ===
+
+  scripts/poignant.rb: The script which formats output for the book.  Currently, it only outputs
+    HTML and CSS.
+  
+  lang-en/poignant.yml: The YAML text of the entire book.  The entire book has been written using
+    Vim as my word processor and YAML as my document format.  I also use Textile liberally
+    throughout the content.
+
+  lang-en/localization.rb: Localization strings for the English version of the book
+
+  lang-fr/poignant.yml: the French version
+
+  lang-fr/localization.rb: Localization strings for the French version of the book
+
+  Rakefile: a rake file to ease generation 
+
+  scripts/layout/index.erb: An ERb template for the table of contents.
+
+  scripts/layout/chapter.erb: An ERb template for the chapter pages.
+
+  scripts/layout/expansion-pak.erb: An ERb template for expansion pages.
+
+  scripts/layout/guide.css: A CSS file with fonts and colors.
+
+  scripts/images/: The images folder.  Contains images at no larger than 800px.  These images are
+    designed for the website.  Eventually, I will add a folder with 300dpi images.
+
+=== Para a vers&#227;o em Portugu&#234;s ===
+
+  Antes de executar o &quot;rake pt&quot;, conforme explicado acima, primeiro rode este comando:
+
+  rake merge_pt
+
+  Desta forma, os pequenos trechos ser&#227;o mesclados num &#250;nico arquivo &quot;lang-pt/poignant.yml&quot;
+  como era na vers&#227;o original.
+
+  * Google Groups: http://groups.google.com/group/whys-poignant-guide-to-ruby---portugues
   * Planilha: https://spreadsheets.google.com/ccc?key=pU_MriAPjg2AHUgj-pIVeRQ&amp;hl=en 
\ No newline at end of file</diff>
      <filename>README</filename>
    </modified>
    <modified>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,19 +1,19 @@
-locale:        pt-br
-version:       '0.6'
-next_page:     pr&#243;xima
-previous_page: anterior
-encoding:      utf-8
-turn_page:     Virar a p&#225;gina
-open_the_book: Abrir o livro
-written_by: |
-        Este livro foi carinhosamente escrito e ilustrado por
-        &quot;why the lucky stiff&quot;:http://whytheluckystiff.net/.
-header_title:  why's (poignant) guide to ruby 
-sidebar: sidebar!
-contents: Conte&#250;do
-expansion_pak: Pacote de Expans&#227;o
-expansion_pak_no: Pacote de Expans&#227;o No.
-expansion_paks: Pacotes de Expans&#227;o
-adverrtissements: An&#250;nccios
-see_also: Veja tamb&#233;m
-english_version: Vers&#227;o em Portugu&#234;s
+locale:        pt-br
+version:       '0.6'
+next_page:     pr&#243;xima
+previous_page: anterior
+encoding:      utf-8
+turn_page:     Virar a p&#225;gina
+open_the_book: Abrir o livro
+written_by: |
+        Este livro foi carinhosamente escrito e ilustrado por
+        &quot;why the lucky stiff&quot;:http://whytheluckystiff.net/.
+header_title:  why's (poignant) guide to ruby 
+sidebar: sidebar!
+contents: Conte&#250;do
+expansion_pak: Pacote de Expans&#227;o
+expansion_pak_no: Pacote de Expans&#227;o No.
+expansion_paks: Pacotes de Expans&#227;o
+adverrtissements: An&#250;nccios
+see_also: Veja tamb&#233;m
+english_version: Vers&#227;o em Portugu&#234;s</diff>
      <filename>lang-pt/localization.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,37 +1,37 @@
---- !whytheluckystiff.net,2003/^book
-title: why's (poignant) guide to ruby
-author: why the lucky stiff
-
-terms: &gt;
-  bq(#terms). The text of this book and the encompassing web matter are released under the wholy sympathetic 
-  &quot;Attribution-ShareAlike&quot;:http://creativecommons.org/licenses/by-sa/2.5/
-  license, part of the brilliant family of licenses produced
-  by the &quot;Creative Commons&quot;:http://creativecommons.org/.
-
-
-deed: |
-  Attribution-ShareAlike 2.5
-
-  You are free:
-
-      * to copy, distribute, display, and perform the work
-      * to make derivative works
-      * to make commercial use of the work
-
-  Under the following conditions:
-      
-  *Attribution*. You must give the original author credit.
-      
-  *Share Alike*. If you alter, transform, or build upon this work, you may distribute the 
-  resulting work only under a license identical to this one.
-
-      * For any reuse or distribution, you must make clear to others the license terms of this work.
-      * Any of these conditions can be waived if you get permission from the author.
-
-  Your fair use and other rights are in no way affected by the above.
-
-  This is a human-readable summary of the Legal Code (the full license).
-
-image: !^img 2006.cover.jpg
-teaser:
-
+--- !whytheluckystiff.net,2003/^book
+title: why's (poignant) guide to ruby
+author: why the lucky stiff
+
+terms: &gt;
+  bq(#terms). The text of this book and the encompassing web matter are released under the wholy sympathetic 
+  &quot;Attribution-ShareAlike&quot;:http://creativecommons.org/licenses/by-sa/2.5/
+  license, part of the brilliant family of licenses produced
+  by the &quot;Creative Commons&quot;:http://creativecommons.org/.
+
+
+deed: |
+  Attribution-ShareAlike 2.5
+
+  You are free:
+
+      * to copy, distribute, display, and perform the work
+      * to make derivative works
+      * to make commercial use of the work
+
+  Under the following conditions:
+      
+  *Attribution*. You must give the original author credit.
+      
+  *Share Alike*. If you alter, transform, or build upon this work, you may distribute the 
+  resulting work only under a license identical to this one.
+
+      * For any reuse or distribution, you must make clear to others the license terms of this work.
+      * Any of these conditions can be waived if you get permission from the author.
+
+  Your fair use and other rights are in no way affected by the above.
+
+  This is a human-readable summary of the Legal Code (the full license).
+
+image: !^img 2006.cover.jpg
+teaser:
+</diff>
      <filename>lang-pt/poignant-01.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
-  - Leia este par&#225;grafo: &gt;
-      Na livraria perto de casa, existe uma enorme estante cheia de livros de Java s&#243; esperando 
-      para tombar e cair em cima de mim algum dia. E um dia isto vai acontecer. Analisando como as coisas est&#227;o indo, 
-      um dia esta estante ser&#225; t&#227;o  grande que se tombar vai esmagar todos n&#243;s. Pode at&#233; mesmo dar a volta ao mundo 
-      v&#225;rias vezes, esmagando as edi&#231;&#245;es anteriores dos mesmos livros de Java, e as novas edi&#231;&#245;es atropelando estas tamb&#233;m.
-
+  - Leia este par&#225;grafo: &gt;
+      Na livraria perto de casa, existe uma enorme estante cheia de livros de Java s&#243; esperando 
+      para tombar e cair em cima de mim algum dia. E um dia isto vai acontecer. Analisando como as coisas est&#227;o indo, 
+      um dia esta estante ser&#225; t&#227;o  grande que se tombar vai esmagar todos n&#243;s. Pode at&#233; mesmo dar a volta ao mundo 
+      v&#225;rias vezes, esmagando as edi&#231;&#245;es anteriores dos mesmos livros de Java, e as novas edi&#231;&#245;es atropelando estas tamb&#233;m.
+</diff>
      <filename>lang-pt/poignant-02.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
-  - E este par&#225;grafo tamb&#233;m: &gt;
-      Este &#233; apenas um pequeno livro sobre Ruby. Ele n&#227;o ir&#225; esmag&#225;-lo. &#201; leve como uma
-      pluma (porque eu ainda n&#227;o terminei ele-hehe). E existe um motivo para este livro
-      permanecer leve: Porque Ruby &#233; f&#225;cil de aprender.
-
+  - E este par&#225;grafo tamb&#233;m: &gt;
+      Este &#233; apenas um pequeno livro sobre Ruby. Ele n&#227;o ir&#225; esmag&#225;-lo. &#201; leve como uma
+      pluma (porque eu ainda n&#227;o terminei ele-hehe). E existe um motivo para este livro
+      permanecer leve: Porque Ruby &#233; f&#225;cil de aprender.
+</diff>
      <filename>lang-pt/poignant-03.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,9 @@
-  - Mas n&#227;o leia este!: &gt;
-      _Why's (Poignant) Guide to Ruby_ &#233; liberado sob a Licen&#231;a
-      &quot;Atribui&#231;&#227;o-Compartilhamento&quot;:http://creativecommons.org/licenses/by-sa/2.5/deed.pt
-      .  Ent&#227;o, sim, voc&#234; pode distribuir, imprimir e ler na sua casa de 
-      pijama.  Ali&#225;s, no final do livro faremos um concurso para ver quem tem 
-      o Melhor Pijama.  &#201; um pr&#234;mio excelente e voc&#234; 
-      se sentir&#225; honrado em apenas ler sobre ele!  (Especialmente se voc&#234; estiver lendo
-      isto vestindo seu futuramente-premiado pijama.)
-
+  - Mas n&#227;o leia este!: &gt;
+      _Why's (Poignant) Guide to Ruby_ &#233; liberado sob a Licen&#231;a
+      &quot;Atribui&#231;&#227;o-Compartilhamento&quot;:http://creativecommons.org/licenses/by-sa/2.5/deed.pt
+      .  Ent&#227;o, sim, voc&#234; pode distribuir, imprimir e ler na sua casa de 
+      pijama.  Ali&#225;s, no final do livro faremos um concurso para ver quem tem 
+      o Melhor Pijama.  &#201; um pr&#234;mio excelente e voc&#234; 
+      se sentir&#225; honrado em apenas ler sobre ele!  (Especialmente se voc&#234; estiver lendo
+      isto vestindo seu futuramente-premiado pijama.)
+</diff>
      <filename>lang-pt/poignant-04.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,46 +1,46 @@
-  - Ent&#227;o, Voltando ao Assunto: &gt;
-      Eu vou tentar n&#227;o me sentir veementemente rejeitado se este livro n&#227;o capturar
-      sua simpatia.  Eu posso passar alguns dias intermin&#225;veis de depress&#227;o, acompanhados
-      de um tremendo choro, mas fora isso eu vou estar bem.  &#201; ao menos
-      reconfortante saber que os textos a seguir cobrem o assunto e v&#227;o,
-      sem d&#250;vida, cobri-lo de tes&#227;o pelo Ruby:
-
-
-      * &quot;Aprenda a Programar&quot;:http://aprendaaprogramar.rubyonrails.pro.br/
-
-      ** Um tutorial b&#225;sico para iniciantes em Ruby, do Chris Pine, traduzido pela comunidade brasileira.
-
-      * &quot;Programming Ruby&quot;:http://www.whytheluckystiff.net/ruby/pickaxe/
-
-      ** A refer&#234;ncia completa e original de Ruby. do Dave thomas e Andy Hunt
-      (tamb&#233;m conhecida como _The Pickaxe_)
-
-      * &quot;A Little Ruby, A Lot of Objects&quot;:http://www.visibleworkings.com/little-ruby/
-
-      ** Um tabalho ador&#225;vel, ainda em progresso, que ensina Ruby com simples exemplos de c&#243;dico.
-      Do Brian Marick.
-
-      * &quot;Ruby User's Guide&quot;:http://www.ruby-doc.org/docs/UsersGuide/rg/
-
-      ** Um guia para aprender Ruby (com exemplos de c&#243;digo). Do Matz, o criador do
-        Ruby.  Traduzido para o ingl&#234;s.
-
-      * &quot;Ruby Book List&quot;:http://www.rubygarden.org/ruby?RubyBookList
-
-      ** Uma lista atual de material impresso cobrindo Ruby..
-
-      * &quot;Ruby-Lang.org&quot;:http://www.ruby-lang.org/
-
-      ** O site oficial da linguagem Ruby.
-
-
-      Agora, se voc&#234; n&#227;o consegue encontrar o link dos conte&#250;dos do lado esquerdo da p&#225;gina,
-      ent&#227;o veja este link para a &quot;primeira p&#225;gina&quot;:chapter-1.html
-      do (Comovente) Guia. Se voc&#234; quiser se aventurar nos meus outros projetos, v&#225; para
-      &quot;whytheluckystiff.net&quot;:http://www.whytheluckystiff.net.
-
-
-      Bem-vindo &#224; r&#225;dio pirata dos manuais t&#233;cnicos.
-
-
-chapters:
+  - Ent&#227;o, Voltando ao Assunto: &gt;
+      Eu vou tentar n&#227;o me sentir veementemente rejeitado se este livro n&#227;o capturar
+      sua simpatia.  Eu posso passar alguns dias intermin&#225;veis de depress&#227;o, acompanhados
+      de um tremendo choro, mas fora isso eu vou estar bem.  &#201; ao menos
+      reconfortante saber que os textos a seguir cobrem o assunto e v&#227;o,
+      sem d&#250;vida, cobri-lo de tes&#227;o pelo Ruby:
+
+
+      * &quot;Aprenda a Programar&quot;:http://aprendaaprogramar.rubyonrails.pro.br/
+
+      ** Um tutorial b&#225;sico para iniciantes em Ruby, do Chris Pine, traduzido pela comunidade brasileira.
+
+      * &quot;Programming Ruby&quot;:http://www.whytheluckystiff.net/ruby/pickaxe/
+
+      ** A refer&#234;ncia completa e original de Ruby. do Dave thomas e Andy Hunt
+      (tamb&#233;m conhecida como _The Pickaxe_)
+
+      * &quot;A Little Ruby, A Lot of Objects&quot;:http://www.visibleworkings.com/little-ruby/
+
+      ** Um tabalho ador&#225;vel, ainda em progresso, que ensina Ruby com simples exemplos de c&#243;dico.
+      Do Brian Marick.
+
+      * &quot;Ruby User's Guide&quot;:http://www.ruby-doc.org/docs/UsersGuide/rg/
+
+      ** Um guia para aprender Ruby (com exemplos de c&#243;digo). Do Matz, o criador do
+        Ruby.  Traduzido para o ingl&#234;s.
+
+      * &quot;Ruby Book List&quot;:http://www.rubygarden.org/ruby?RubyBookList
+
+      ** Uma lista atual de material impresso cobrindo Ruby..
+
+      * &quot;Ruby-Lang.org&quot;:http://www.ruby-lang.org/
+
+      ** O site oficial da linguagem Ruby.
+
+
+      Agora, se voc&#234; n&#227;o consegue encontrar o link dos conte&#250;dos do lado esquerdo da p&#225;gina,
+      ent&#227;o veja este link para a &quot;primeira p&#225;gina&quot;:chapter-1.html
+      do (Comovente) Guia. Se voc&#234; quiser se aventurar nos meus outros projetos, v&#225; para
+      &quot;whytheluckystiff.net&quot;:http://www.whytheluckystiff.net.
+
+
+      Bem-vindo &#224; r&#225;dio pirata dos manuais t&#233;cnicos.
+
+
+chapters:</diff>
      <filename>lang-pt/poignant-05.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1 @@
-  - Sobre este Livro:
+  - Sobre este Livro:</diff>
      <filename>lang-pt/poignant-06.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,13 +1,13 @@
-    - &gt;
-      !i/about.the.poignant.guide-1.gif(Que viagem fant&#225;stica!)!
-
-
-      !i/about.the.poignant.guide-2.jpg(Crian&#231;as pequenas podem usar.)!
-
-
-      !i/about.the.poignant.guide-3.gif(O leitor introspectivo.)!
-
-
-      !i/about.the.poignant.guide-4.gif(Meep.)!
-
-
+    - &gt;
+      !i/about.the.poignant.guide-1.gif(Que viagem fant&#225;stica!)!
+
+
+      !i/about.the.poignant.guide-2.jpg(Crian&#231;as pequenas podem usar.)!
+
+
+      !i/about.the.poignant.guide-3.gif(O leitor introspectivo.)!
+
+
+      !i/about.the.poignant.guide-4.gif(Meep.)!
+
+</diff>
      <filename>lang-pt/poignant-07.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1 @@
-  - Kon'nichi wa, Ruby:
+  - Kon'nichi wa, Ruby:</diff>
      <filename>lang-pt/poignant-08.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,31 +1,31 @@
-    - Abrindo este livro: &gt;
-        Finja que voc&#234; abriu esse livro (embora voc&#234; provavelmente _j&#225;_ tenha aberto esse livro),
-        e encontrou uma enorme cebola bem no meio da dobra do livro.
-        (Eu pedi ao fabricante do livro que inclu&#237;sse a cebola.)
-
-
-        Logo voc&#234; pensa, &quot;Wow, esse livro vem com uma cebola!&quot; (Mesmo que voc&#234; n&#227;o tenha um apre&#231;o particular por cebolas, eu tenho certeza que voc&#234; consegue apreciar
-        a log&#237;stica de se enviar
-        qualquer vegetal discretamente dentro de um suposto manual de programa&#231;&#227;o.)
-
-
-        Ent&#227;o voc&#234; se pergunta, &quot;Espera um pouco. Eu pensei que isso fosse um livro sobre Ruby, a incr&#237;vel nova
-        linguagem de programa&#231;&#227;o do Jap&#227;o. E embora eu consiga apreciar a log&#237;stica de se enviar qualquer
-        vegetal discretamente dentro de um suposto manual de programa&#231;&#227;o: Por que uma cebola? O que eu devo 
-        fazer com ela?
-        
-
-        N&#227;o.  Por favor n&#227;o pense sobre isso.  Voc&#234; n&#227;o precisa fazer nada com a cebola.  Deixe a cebola de lado
-        e deixe _ela_ fazer algo com _voc&#234;_.
-
-
-        Eu vou ser direto com voc&#234;.  Eu quero chorar.  Lamentar.  Me lamuriar docemente.  Esse livro &#233; um guia *comovente*
-        de Ruby.  Isso significa c&#243;digo t&#227;o lindo que l&#225;grimas ser&#227;o derramadas.  Isto significa contos nobres e verdades melanc&#243;licas
-        que v&#227;o fazer voc&#234; acordar na manh&#227; seguinte nos bra&#231;os desse livro.  Abra&#231;ando-o forte por todo o dia.
-        Se necess&#225;rio, improvise uma bolsa para o _Why's (Poignant) Guide to Ruby_, assim voc&#234; sempre pode ter a tenra
-        companhia deste livro.        
-
-
-        Voc&#234; deve solu&#231;ar pelo menos uma vez.  Ou no m&#237;nimo suspirar.  Se n&#227;o der certo, a cebola vai fazer tudo isso acontecer para voc&#234;.
-
-
+    - Abrindo este livro: &gt;
+        Finja que voc&#234; abriu esse livro (embora voc&#234; provavelmente _j&#225;_ tenha aberto esse livro),
+        e encontrou uma enorme cebola bem no meio da dobra do livro.
+        (Eu pedi ao fabricante do livro que inclu&#237;sse a cebola.)
+
+
+        Logo voc&#234; pensa, &quot;Wow, esse livro vem com uma cebola!&quot; (Mesmo que voc&#234; n&#227;o tenha um apre&#231;o particular por cebolas, eu tenho certeza que voc&#234; consegue apreciar
+        a log&#237;stica de se enviar
+        qualquer vegetal discretamente dentro de um suposto manual de programa&#231;&#227;o.)
+
+
+        Ent&#227;o voc&#234; se pergunta, &quot;Espera um pouco. Eu pensei que isso fosse um livro sobre Ruby, a incr&#237;vel nova
+        linguagem de programa&#231;&#227;o do Jap&#227;o. E embora eu consiga apreciar a log&#237;stica de se enviar qualquer
+        vegetal discretamente dentro de um suposto manual de programa&#231;&#227;o: Por que uma cebola? O que eu devo 
+        fazer com ela?
+        
+
+        N&#227;o.  Por favor n&#227;o pense sobre isso.  Voc&#234; n&#227;o precisa fazer nada com a cebola.  Deixe a cebola de lado
+        e deixe _ela_ fazer algo com _voc&#234;_.
+
+
+        Eu vou ser direto com voc&#234;.  Eu quero chorar.  Lamentar.  Me lamuriar docemente.  Esse livro &#233; um guia *comovente*
+        de Ruby.  Isso significa c&#243;digo t&#227;o lindo que l&#225;grimas ser&#227;o derramadas.  Isto significa contos nobres e verdades melanc&#243;licas
+        que v&#227;o fazer voc&#234; acordar na manh&#227; seguinte nos bra&#231;os desse livro.  Abra&#231;ando-o forte por todo o dia.
+        Se necess&#225;rio, improvise uma bolsa para o _Why's (Poignant) Guide to Ruby_, assim voc&#234; sempre pode ter a tenra
+        companhia deste livro.        
+
+
+        Voc&#234; deve solu&#231;ar pelo menos uma vez.  Ou no m&#237;nimo suspirar.  Se n&#227;o der certo, a cebola vai fazer tudo isso acontecer para voc&#234;.
+
+</diff>
      <filename>lang-pt/poignant-09.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,59 +1,59 @@
-    - !^sidebar
-      O que eu vou fazer com os lucros massivos deste Livro: &gt;
-
-        Qualquer um que j&#225; tenha escrito um livro pode lhe dizer como &#233; f&#225;cil para um autor se distrair com del&#237;rios de grandeza.
-        Na minha experi&#234;ncia, eu paro duas vezes em cada par&#225;grafo, e quatro vezes em cada tirinha, s&#243; para
-        antever a riqueza e prosperidade que este livro vai propiciar ao meu estilo de vida.  Eu temo que a confec&#231;&#227;o
-        desse livro possa parar completamente para dar espa&#231;o ao ex&#233;rcito de utilit&#225;rios e carros de luxo que est&#227;o
-        passando pela minha cabe&#231;a.
-
-
-        Em vez de parar meu trabalho neste (Comovente) Guia, Eu reservei este espa&#231;o como uma zona de seguran&#231;a
-        para despejar meus vazios e in&#250;teis desejos.
-
-
-        Hoje eu estava nesse restaurante italiano, Granado's, e estava pagando a conta.  Aconteceu de eu notar que
-        que uma garrafa de vinagre bals&#226;mico estava saindo por $150.  Bem pequena.  Eu podia escond&#234;-la na minha
-        m&#227;o.  Envelhecida vinte e dois anos.
-
-
-        Eu gastei muito tempo pensando naquela garrafa.  As vezes ela &#233; um acess&#243;rio em algumas dessas
-        fantasias obsessivas.  Em uma fantasia, eu entro no restaurante, jogo uma pilha de vegetais sobre o balc&#227;o
-        e digo seriamente ao caixa, &quot;R&#225;pido! Eu tenho uma salada importante para fazer!&quot;
-
-
-        Em outra fantasia relacionada, eu estou jogando alface fora.  Tamanha brutalidade n&#227;o vai se benefiar do meu novo
-        vinagre.  N&#227;o, eu vou chegar ao ponto onde a fama e a aristocracia v&#227;o me corromper completamente.
-        Meu novo alface ser&#225; dinheiro.  Frio, duro dinheiro, Sra. Price.
-
-
-        Logo, eu estarei gastando centenas por um bloco de queijo myzithra.
-
-
-        Minha imagina&#231;&#227;o agora foi al&#233;m das posses.  Certamente, eu pensei sobre a minha
-        aquisi&#231;&#227;o de urnas gregas, carreatas, linhas a&#233;reas, pir&#226;mides, ossos de dinossauro.  Ocasionalmente eu verei
-        cidades devastadas no notici&#225;rio e vou anotar na minha lista de compras: _Furac&#227;o_.
-        
-
-        Entretanto, agora eu vejo um objetivo maior.  Colocando de forma simples: e se eu acumulasse uma fortuna t&#227;o grande que
-        casa da moeda n&#227;o conseguisse imprimir o suficiente para atender a minha demanda?  Ent&#227;o, todo mundo seria obrigado a usar dinheiro do &quot;Banco Imobili&#225;rio&quot;
-        como moeda.  E voc&#234; teria que ganhar no &quot;Banco Imobili&#225;rio&quot; para colocar comida na mesa.  Estes seria jogos de
-        extrema tens&#227;o.  Quero dizer, voc&#234; pede hipoteca na Av. Botafogo e as crian&#231;as come&#231;am a chorar.
-        Al&#233;m disso, eu acho que vou ver o in&#237;cio do fim daqueles que usam a regra de Estacionamento Gr&#225;tis
-        como &quot;os cofres subterr&#226;neos&quot;:http://groups.yahoo.com/group/monopoly/message/37 para os recursos da cidade.
-
-
-        Apesar disso, voc&#234; que dar algum valor ao dinheiro falso.  Dinheiro falso detona.  Voc&#234; pode colocar suas m&#227;os nele
-        t&#227;o r&#225;pido.  Em um momento, parece que voc&#234; &#233; podre de rico.  Quando eu era crian&#231;a, eu me juntei com algumas crian&#231;as
-        da vizinhan&#231;a e n&#243;s construimos uma pequena Tijuana na nossa rua.  N&#243;s fizemos nossos pr&#243;prios pesos
-        vestimos sombreros e tudo mais!
-
-
-        Um garoto estava vendendo tamales quentes por dois pesos cada.  _Dois pesos!_  Esse garoto sabia que o dinheiro era falso?
-        Ele era louco?  Quem convidou esse garoto?  Ele n&#227;o sabia que isso aqui n&#227;o era Tijuana de verdade?  Talvez ele fosse de Tijuana!
-        Talvez estes fossem pesos _de verdade_!  Vamos fazer mais pesos _de verdade_!
-
-
-        Eu acho que n&#243;s at&#233; t&#237;nhamos uma taberna onde voc&#234; podia ficar completamente b&#234;bado de Kool-Aid.  Nada como crian&#231;as
-        correndo por a&#237;, resmungando incoer&#234;ncias com os l&#225;bios vermelhos como os de um palha&#231;o.
-        
+    - !^sidebar
+      O que eu vou fazer com os lucros massivos deste Livro: &gt;
+
+        Qualquer um que j&#225; tenha escrito um livro pode lhe dizer como &#233; f&#225;cil para um autor se distrair com del&#237;rios de grandeza.
+        Na minha experi&#234;ncia, eu paro duas vezes em cada par&#225;grafo, e quatro vezes em cada tirinha, s&#243; para
+        antever a riqueza e prosperidade que este livro vai propiciar ao meu estilo de vida.  Eu temo que a confec&#231;&#227;o
+        desse livro possa parar completamente para dar espa&#231;o ao ex&#233;rcito de utilit&#225;rios e carros de luxo que est&#227;o
+        passando pela minha cabe&#231;a.
+
+
+        Em vez de parar meu trabalho neste (Comovente) Guia, Eu reservei este espa&#231;o como uma zona de seguran&#231;a
+        para despejar meus vazios e in&#250;teis desejos.
+
+
+        Hoje eu estava nesse restaurante italiano, Granado's, e estava pagando a conta.  Aconteceu de eu notar que
+        que uma garrafa de vinagre bals&#226;mico estava saindo por $150.  Bem pequena.  Eu podia escond&#234;-la na minha
+        m&#227;o.  Envelhecida vinte e dois anos.
+
+
+        Eu gastei muito tempo pensando naquela garrafa.  As vezes ela &#233; um acess&#243;rio em algumas dessas
+        fantasias obsessivas.  Em uma fantasia, eu entro no restaurante, jogo uma pilha de vegetais sobre o balc&#227;o
+        e digo seriamente ao caixa, &quot;R&#225;pido! Eu tenho uma salada importante para fazer!&quot;
+
+
+        Em outra fantasia relacionada, eu estou jogando alface fora.  Tamanha brutalidade n&#227;o vai se benefiar do meu novo
+        vinagre.  N&#227;o, eu vou chegar ao ponto onde a fama e a aristocracia v&#227;o me corromper completamente.
+        Meu novo alface ser&#225; dinheiro.  Frio, duro dinheiro, Sra. Price.
+
+
+        Logo, eu estarei gastando centenas por um bloco de queijo myzithra.
+
+
+        Minha imagina&#231;&#227;o agora foi al&#233;m das posses.  Certamente, eu pensei sobre a minha
+        aquisi&#231;&#227;o de urnas gregas, carreatas, linhas a&#233;reas, pir&#226;mides, ossos de dinossauro.  Ocasionalmente eu verei
+        cidades devastadas no notici&#225;rio e vou anotar na minha lista de compras: _Furac&#227;o_.
+        
+
+        Entretanto, agora eu vejo um objetivo maior.  Colocando de forma simples: e se eu acumulasse uma fortuna t&#227;o grande que
+        casa da moeda n&#227;o conseguisse imprimir o suficiente para atender a minha demanda?  Ent&#227;o, todo mundo seria obrigado a usar dinheiro do &quot;Banco Imobili&#225;rio&quot;
+        como moeda.  E voc&#234; teria que ganhar no &quot;Banco Imobili&#225;rio&quot; para colocar comida na mesa.  Estes seria jogos de
+        extrema tens&#227;o.  Quero dizer, voc&#234; pede hipoteca na Av. Botafogo e as crian&#231;as come&#231;am a chorar.
+        Al&#233;m disso, eu acho que vou ver o in&#237;cio do fim daqueles que usam a regra de Estacionamento Gr&#225;tis
+        como &quot;os cofres subterr&#226;neos&quot;:http://groups.yahoo.com/group/monopoly/message/37 para os recursos da cidade.
+
+
+        Apesar disso, voc&#234; que dar algum valor ao dinheiro falso.  Dinheiro falso detona.  Voc&#234; pode colocar suas m&#227;os nele
+        t&#227;o r&#225;pido.  Em um momento, parece que voc&#234; &#233; podre de rico.  Quando eu era crian&#231;a, eu me juntei com algumas crian&#231;as
+        da vizinhan&#231;a e n&#243;s construimos uma pequena Tijuana na nossa rua.  N&#243;s fizemos nossos pr&#243;prios pesos
+        vestimos sombreros e tudo mais!
+
+
+        Um garoto estava vendendo tamales quentes por dois pesos cada.  _Dois pesos!_  Esse garoto sabia que o dinheiro era falso?
+        Ele era louco?  Quem convidou esse garoto?  Ele n&#227;o sabia que isso aqui n&#227;o era Tijuana de verdade?  Talvez ele fosse de Tijuana!
+        Talvez estes fossem pesos _de verdade_!  Vamos fazer mais pesos _de verdade_!
+
+
+        Eu acho que n&#243;s at&#233; t&#237;nhamos uma taberna onde voc&#234; podia ficar completamente b&#234;bado de Kool-Aid.  Nada como crian&#231;as
+        correndo por a&#237;, resmungando incoer&#234;ncias com os l&#225;bios vermelhos como os de um palha&#231;o.
+        </diff>
      <filename>lang-pt/poignant-10.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,57 +1,57 @@
-    - A hist&#243;ria do cachorro: &gt;
-
-        Vamos ver se a hist&#243;ria a seguir comove voc&#234;:
-
-
-        Um dia eu estava caminhando numa dessas ruas movimentadas cheias de revendas de carros (isso foi logo ap&#243;s meu casamento
-        ter sido cancelado) e achei um cachorro &#243;rf&#227;o na rua.  Um cachorro preto, peludo, com olhos verde-avermelhados.  Eu meio que
-        me senti &#243;rf&#227;o tamb&#233;m, ent&#227;o eu peguei alguns bal&#245;es que estavam amarrados a um poste em uma revenda
-        e amarrei eles na coleira do cachorro.  Eu decidi, ent&#227;o, que ele seria meu cachorro.  Eu dei a ele o nome de Bigelow.
-
-
-        N&#243;s fomos comprar alguns Biscrocks para o Bigelow e, depois, seguimos para minha casa, onde n&#243;s poder&#237;amos sentar em
-        cadeiras reclin&#225;veis e ouvir Zygotic Mynci de Gorky.  Oh, e n&#243;s tamb&#233;m ter&#237;amos que parar em um bazar para comprar uma cadeira
-        reclin&#225;vel para o Bigelow.
-
-
-        Mas Bigelow n&#227;o tinha me aceitado como seu mestre.  Ent&#227;o, cinco minutos depois, aquele cachorro est&#250;pido mudou de cal&#231;ada
-        e eu o perdi.  Logo, considerando que ele j&#225; esteve perdido uma vez, com essa eram duas.
-        Eu diminu&#237; o passo em dire&#231;&#227;o a uma vida de Biscrocks e um cadeira reclin&#225;vel extra.  Eu tive um cachorro por cinco minutos.
-
-
-        Est&#250;pido cachorro traidor.  Eu me sentei num banco e joguei pinhas em uma est&#225;tua de tr&#234;s ovelhas
-        atravessando uma ponte.  Depois disso, eu chorei por horas.  As l&#225;grimas simplesmente vieram.  Agora existe algo comovente
-        pra come&#231;ar.
-
-
-        Eu imagino aonde foram parar aqueles bal&#245;es.  Aquele cachorro maluco parecia uma festa com
-        patas.
-
-
-        N&#227;o foi muito depois que eu fiz meu pr&#243;prio Bigelow.  Eu imprimi um bando de p&#225;ginas sobre Ruby.  Artigos
-        achados na Web.  Eu dei uma olhada neles no trem indo para casa um dia.  Folheei elas por cinco minutos
-        e desisti.  N&#227;o me impressionou.
-
-
-        Eu sentei, olhando para o mundo atrav&#233;s da janela, um liquidificador gigante misturando grafite e
-        ferro derretido bem na minha frente.  _Este mundo &#233; muito grande para uma linguagem t&#227;o pequena_, pensei.
-        _A pobrezinha n&#227;o tem chance.  N&#227;o tem pernas para se sustentar.  N&#227;o tem bra&#231;os para nadar._
-
-
-        L&#225; estava eu.  Um pequeno homem em um fr&#225;gil e pequeno trem (e eu ainda tinha
-        um dente-de-leite naquela &#233;poca) em meio a bilh&#245;es de pessoas vivendo numa bola azul
-        flutuante.  Como eu posso enfrentar Ruby?  Quem me garante que eu n&#227;o vou morrer engasgado 
-        com meu celular mais tarde naquela mesma noite?  Why est&#225; morto, Ruby ainda vive.
-
-
-        A l&#225;pide:
-
-
-        bq. O que &#233; isso na traqu&#233;ia dele?
-
-        Oh, olha, um Nokia!
-
-
-        &#201; s&#243; a minha sorte.  Finalmente vou ter um gostoso e duradouro cochilo embaixo da terra, s&#243; para ser constantemente
-        incomodado pela _Can&#244;ne de Pachelbel_ tocando incessantemente no meu est&#244;mago.
-
+    - A hist&#243;ria do cachorro: &gt;
+
+        Vamos ver se a hist&#243;ria a seguir comove voc&#234;:
+
+
+        Um dia eu estava caminhando numa dessas ruas movimentadas cheias de revendas de carros (isso foi logo ap&#243;s meu casamento
+        ter sido cancelado) e achei um cachorro &#243;rf&#227;o na rua.  Um cachorro preto, peludo, com olhos verde-avermelhados.  Eu meio que
+        me senti &#243;rf&#227;o tamb&#233;m, ent&#227;o eu peguei alguns bal&#245;es que estavam amarrados a um poste em uma revenda
+        e amarrei eles na coleira do cachorro.  Eu decidi, ent&#227;o, que ele seria meu cachorro.  Eu dei a ele o nome de Bigelow.
+
+
+        N&#243;s fomos comprar alguns Biscrocks para o Bigelow e, depois, seguimos para minha casa, onde n&#243;s poder&#237;amos sentar em
+        cadeiras reclin&#225;veis e ouvir Zygotic Mynci de Gorky.  Oh, e n&#243;s tamb&#233;m ter&#237;amos que parar em um bazar para comprar uma cadeira
+        reclin&#225;vel para o Bigelow.
+
+
+        Mas Bigelow n&#227;o tinha me aceitado como seu mestre.  Ent&#227;o, cinco minutos depois, aquele cachorro est&#250;pido mudou de cal&#231;ada
+        e eu o perdi.  Logo, considerando que ele j&#225; esteve perdido uma vez, com essa eram duas.
+        Eu diminu&#237; o passo em dire&#231;&#227;o a uma vida de Biscrocks e um cadeira reclin&#225;vel extra.  Eu tive um cachorro por cinco minutos.
+
+
+        Est&#250;pido cachorro traidor.  Eu me sentei num banco e joguei pinhas em uma est&#225;tua de tr&#234;s ovelhas
+        atravessando uma ponte.  Depois disso, eu chorei por horas.  As l&#225;grimas simplesmente vieram.  Agora existe algo comovente
+        pra come&#231;ar.
+
+
+        Eu imagino aonde foram parar aqueles bal&#245;es.  Aquele cachorro maluco parecia uma festa com
+        patas.
+
+
+        N&#227;o foi muito depois que eu fiz meu pr&#243;prio Bigelow.  Eu imprimi um bando de p&#225;ginas sobre Ruby.  Artigos
+        achados na Web.  Eu dei uma olhada neles no trem indo para casa um dia.  Folheei elas por cinco minutos
+        e desisti.  N&#227;o me impressionou.
+
+
+        Eu sentei, olhando para o mundo atrav&#233;s da janela, um liquidificador gigante misturando grafite e
+        ferro derretido bem na minha frente.  _Este mundo &#233; muito grande para uma linguagem t&#227;o pequena_, pensei.
+        _A pobrezinha n&#227;o tem chance.  N&#227;o tem pernas para se sustentar.  N&#227;o tem bra&#231;os para nadar._
+
+
+        L&#225; estava eu.  Um pequeno homem em um fr&#225;gil e pequeno trem (e eu ainda tinha
+        um dente-de-leite naquela &#233;poca) em meio a bilh&#245;es de pessoas vivendo numa bola azul
+        flutuante.  Como eu posso enfrentar Ruby?  Quem me garante que eu n&#227;o vou morrer engasgado 
+        com meu celular mais tarde naquela mesma noite?  Why est&#225; morto, Ruby ainda vive.
+
+
+        A l&#225;pide:
+
+
+        bq. O que &#233; isso na traqu&#233;ia dele?
+
+        Oh, olha, um Nokia!
+
+
+        &#201; s&#243; a minha sorte.  Finalmente vou ter um gostoso e duradouro cochilo embaixo da terra, s&#243; para ser constantemente
+        incomodado pela _Can&#244;ne de Pachelbel_ tocando incessantemente no meu est&#244;mago.
+</diff>
      <filename>lang-pt/poignant-11.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,55 +1,55 @@
-    - Nasce o sol vermelho: &gt;
-
-        Ent&#227;o, agora voc&#234; est&#225; se perguntando porque eu mudei de id&#233;ia em rela&#231;&#227;o ao Ruby.  A resposta r&#225;pida &#233;:
-        rolou qu&#237;mica.
-
-
-        Como quando voc&#234; encontra algu&#233;m na faculdade e ela parece com algu&#233;m que 
-        costumava bater na sua cara com um pincel quando voc&#234; era crian&#231;a.  E ent&#227;o, impulsivamente,
-        voc&#234; conclui que esse novo algu&#233;m &#233; provavelmente hostil.  Voc&#234; faz careta quando v&#234; o cabelo
-        dela.  Voc&#234; desliga o telefone bruscamente nos momentos cruciais das piadas dela.  Voc&#234; resolve
-        usar seu pula-pula bem onde ela est&#225; querendo caminhar!
-
-
-        Seis meses depois, de alguma forma, voc&#234; e algu&#233;m est&#227;o sentados a beira de uma fonte tendo
-        uma conversa perfeitamente normal.  A face dela n&#227;o lembra mais seu n&#234;mesis infantil.  Voc&#234; conheceu
-        o g&#234;meo bom.  Rolou qu&#237;mica.
-
-
-        Logo, apesar de que eu provavelmente devesse estar martelando seus dentes com todo o hype sobre Ruby
-        e todos os acr&#244;nimos minuciosamente preparados que a acompanham para todo lugar
-        (afiando as gargantas dos seus chefes e dos chefes do seus chefes), 
-        em vez disso eu vou te deixar velejar.  Vou deixar voc&#234;
-        mergulhar no c&#243;digo, me intrometendo ocasionalmente com minhas pr&#243;prias experi&#234;ncias.
-        Vai ser bem f&#225;cil, bem natural.
-
-
-        Eu devia, entretanto, te oferecer alguma esp&#233;cie de motiva&#231;&#227;o.  Ent&#227;o, Smotchkkiss, eu vou lhe dar minhas tr&#234;s
-        melhores raz&#245;es para aprender ruby e te deixar em paz.
-
-
-        # *Sa&#250;de mental.* &lt;p&gt;Vitamina R.  Vai direto pra cabe&#231;a.  Ruby vai te ensinar a
-        _expressar_ suas id&#233;ias atrav&#233;s de um computador.  Voc&#234; vai estar escrevendo
-        est&#243;rias para uma m&#225;quina.&lt;/p&gt; &lt;p&gt;Habilidades criativas, gente.  Dedu&#231;&#227;o.  Raz&#227;o.  Acenar com a cabe&#231;a inteligentemente.
-        A linguagem vai se tornar uma ferramenta para melhorar a comunica&#231;&#227;o entre sua mente e o mundo.
-        Eu notei que muitos usu&#225;rios experientes de Ruby parecem pensadores mais claros e
-        objetivos.  (Em contraste a: altamente preconceituosos e grosseiros.)&lt;/p&gt;
-        
-        # *Um homem em uma ilha.* &lt;p&gt;Ruby nasceu no Jap&#227;o.  O que &#233; bizarro.  O Jap&#227;o n&#227;o &#233; conhecido
-        por seu software.  E como linguagens de programa&#231;&#227;o s&#227;o largamente escritas em ingl&#234;s, quem
-        iria imaginar uma linguagem vinda do Jap&#227;o?&lt;/p&gt; &lt;p&gt;E ainda assim, aqui temos Ruby.  Contra todas as adversidades,
-        Yukihiro Matsumoto criou Ruby em 24 de Fevereiro de 1993.  Pelos &#250;ltimos dez anos, ele tem obstinadamente
-        trazido Ruby para uma audi&#234;ncia global.  &#201; triunfante, nobre e tudo mais.  Ap&#243;ie a diversidade.
-        Nos ajude a dobrar a Terra, s&#243; um pouquinho.&lt;/p&gt;
-
-        # *Gr&#225;tis.* &lt;p&gt;Usar Ruby n&#227;o custa nada.  O c&#243;digo do pr&#243;prio Ruby est&#225; aberto para todo o mundo
-        inspirar/expirar.  At&#233; esse livro &#233; de gra&#231;a.  &#201; tudo parte de uma enorme doa&#231;&#227;o que deveria
-        ter alguma venda casada junto.&lt;/p&gt; &lt;p&gt;Voc&#234; poderia pensar que n&#243;s far&#237;amos voc&#234; comprar aspiradores-de-p&#243;
-        ou tempo de uso, ou falsos Monet. Voc&#234; poderia pensar que haveria uma palestra de 90 minutos onde o dono 
-        da empresa aparece no final e for&#231;a voc&#234; a fechar neg&#243;cio.&lt;/p&gt; &lt;p&gt;N&#227;o, &#233; gr&#225;tis.&lt;/p&gt;
-
-
-        Com isso, &#233; hora do livro come&#231;ar.  Voc&#234; pode pegar seu marca-texto e come&#231;ar a arrast&#225;-lo
-        sobre cada palavra cativante a partir desta senten&#231;a.  Eu acho que tenho spray de cabelo e dinheiro 
-        de brinquedo o suficiente comigo para me sustentar at&#233; a p&#225;gina final.
-
+    - Nasce o sol vermelho: &gt;
+
+        Ent&#227;o, agora voc&#234; est&#225; se perguntando porque eu mudei de id&#233;ia em rela&#231;&#227;o ao Ruby.  A resposta r&#225;pida &#233;:
+        rolou qu&#237;mica.
+
+
+        Como quando voc&#234; encontra algu&#233;m na faculdade e ela parece com algu&#233;m que 
+        costumava bater na sua cara com um pincel quando voc&#234; era crian&#231;a.  E ent&#227;o, impulsivamente,
+        voc&#234; conclui que esse novo algu&#233;m &#233; provavelmente hostil.  Voc&#234; faz careta quando v&#234; o cabelo
+        dela.  Voc&#234; desliga o telefone bruscamente nos momentos cruciais das piadas dela.  Voc&#234; resolve
+        usar seu pula-pula bem onde ela est&#225; querendo caminhar!
+
+
+        Seis meses depois, de alguma forma, voc&#234; e algu&#233;m est&#227;o sentados a beira de uma fonte tendo
+        uma conversa perfeitamente normal.  A face dela n&#227;o lembra mais seu n&#234;mesis infantil.  Voc&#234; conheceu
+        o g&#234;meo bom.  Rolou qu&#237;mica.
+
+
+        Logo, apesar de que eu provavelmente devesse estar martelando seus dentes com todo o hype sobre Ruby
+        e todos os acr&#244;nimos minuciosamente preparados que a acompanham para todo lugar
+        (afiando as gargantas dos seus chefes e dos chefes do seus chefes), 
+        em vez disso eu vou te deixar velejar.  Vou deixar voc&#234;
+        mergulhar no c&#243;digo, me intrometendo ocasionalmente com minhas pr&#243;prias experi&#234;ncias.
+        Vai ser bem f&#225;cil, bem natural.
+
+
+        Eu devia, entretanto, te oferecer alguma esp&#233;cie de motiva&#231;&#227;o.  Ent&#227;o, Smotchkkiss, eu vou lhe dar minhas tr&#234;s
+        melhores raz&#245;es para aprender ruby e te deixar em paz.
+
+
+        # *Sa&#250;de mental.* &lt;p&gt;Vitamina R.  Vai direto pra cabe&#231;a.  Ruby vai te ensinar a
+        _expressar_ suas id&#233;ias atrav&#233;s de um computador.  Voc&#234; vai estar escrevendo
+        est&#243;rias para uma m&#225;quina.&lt;/p&gt; &lt;p&gt;Habilidades criativas, gente.  Dedu&#231;&#227;o.  Raz&#227;o.  Acenar com a cabe&#231;a inteligentemente.
+        A linguagem vai se tornar uma ferramenta para melhorar a comunica&#231;&#227;o entre sua mente e o mundo.
+        Eu notei que muitos usu&#225;rios experientes de Ruby parecem pensadores mais claros e
+        objetivos.  (Em contraste a: altamente preconceituosos e grosseiros.)&lt;/p&gt;
+        
+        # *Um homem em uma ilha.* &lt;p&gt;Ruby nasceu no Jap&#227;o.  O que &#233; bizarro.  O Jap&#227;o n&#227;o &#233; conhecido
+        por seu software.  E como linguagens de programa&#231;&#227;o s&#227;o largamente escritas em ingl&#234;s, quem
+        iria imaginar uma linguagem vinda do Jap&#227;o?&lt;/p&gt; &lt;p&gt;E ainda assim, aqui temos Ruby.  Contra todas as adversidades,
+        Yukihiro Matsumoto criou Ruby em 24 de Fevereiro de 1993.  Pelos &#250;ltimos dez anos, ele tem obstinadamente
+        trazido Ruby para uma audi&#234;ncia global.  &#201; triunfante, nobre e tudo mais.  Ap&#243;ie a diversidade.
+        Nos ajude a dobrar a Terra, s&#243; um pouquinho.&lt;/p&gt;
+
+        # *Gr&#225;tis.* &lt;p&gt;Usar Ruby n&#227;o custa nada.  O c&#243;digo do pr&#243;prio Ruby est&#225; aberto para todo o mundo
+        inspirar/expirar.  At&#233; esse livro &#233; de gra&#231;a.  &#201; tudo parte de uma enorme doa&#231;&#227;o que deveria
+        ter alguma venda casada junto.&lt;/p&gt; &lt;p&gt;Voc&#234; poderia pensar que n&#243;s far&#237;amos voc&#234; comprar aspiradores-de-p&#243;
+        ou tempo de uso, ou falsos Monet. Voc&#234; poderia pensar que haveria uma palestra de 90 minutos onde o dono 
+        da empresa aparece no final e for&#231;a voc&#234; a fechar neg&#243;cio.&lt;/p&gt; &lt;p&gt;N&#227;o, &#233; gr&#225;tis.&lt;/p&gt;
+
+
+        Com isso, &#233; hora do livro come&#231;ar.  Voc&#234; pode pegar seu marca-texto e come&#231;ar a arrast&#225;-lo
+        sobre cada palavra cativante a partir desta senten&#231;a.  Eu acho que tenho spray de cabelo e dinheiro 
+        de brinquedo o suficiente comigo para me sustentar at&#233; a p&#225;gina final.
+</diff>
      <filename>lang-pt/poignant-12.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,39 +1,39 @@
-    - Como livros come&#231;am: &gt;
-
-        Olha, se voc&#234; algum dia j&#225; leu um livro, voc&#234; sabe que nenhum livro pode come&#231;ar direito sem uma
-        quantidade exorbitante de sinergia.  Sim, sinergia.  Talvez voc&#234; n&#227;o soubesse disso.  Sinergia que dizer que eu e voc&#234;
-        devemos cooperar para fazer desta leitura uma &#243;tima experi&#234;ncia.
-
-
-        Come&#231;amos o livro nos dando bem na Introdu&#231;&#227;o.
-        Esse companheirismo, essa *sinergia*, nos impulsiona pelo livro,
-        comigo guiando voc&#234; em seu caminho. Acene com a cabe&#231;a ou d&#234; uma risadinha para indicar o seu progresso.
-
-
-        Eu sou Peter Pan segurando a sua m&#227;o.  Vamos, Wendy!  Segunda estrela &#224; direita e em frente at&#233; o amanhecer.
-
-
-        Um problema aqui.  Eu n&#227;o me dou bem com gente.  Eu n&#227;o seguro m&#227;os muito bem.  
-
-
-        Qualquer um da minha equipe vai lhe dizer.  Nas Cerim&#244;nias de Abertura Deste Livro (um evento com buffet 
-        e arquibancadas), eu descobri que os sandu&#237;ches de pepino n&#227;o eram servidos em guardanapos de tecido.
-        Como resultado, a manteiga n&#227;o se ajustou aos pepinos direito... De qualquer forma, Eu fiz uma grande cena
-        e ateei fogo a alguns caminh&#245;es de propaganda do lado de fora.  Eu deixei um holofote em peda&#231;os, e coisas 
-        do tipo.  Eu dava risadas man&#237;acas extremamente altas at&#233; o final daquela noite.  Foi uma bagun&#231;a e tanto.
-
-
-        Entretanto, j&#225; que eu n&#227;o me dou bem com gente. Eu n&#227;o convidei ningu&#233;m al&#233;m de mim para as 
-        Cerim&#244;nias de Abertura Deste Livro.  Ent&#227;o n&#227;o foi t&#227;o embara&#231;oso assim.   Eu mantive o caso sob panos quentes
-        e ningu&#233;m jamais ficou sabendo do que aconteceu.
-
-
-        Ent&#227;o voc&#234; tem que saber que *sinergia* n&#227;o significa exatamente *sinergia* nesse livro.  Eu n&#227;o posso com a *sinergia*
-        normal.
-        N&#227;o, neste livro, *sinergia* significa *raposas em quadrinhos*.  O que eu quero dizer &#233;: este livro vai
-        come&#231;ar com uma quantidade exorbitante de *raposas em quadrinhos*.
-
-
-        E eu vou contar com voc&#234; para transform&#225;-las em *sinergia*.
-
-
+    - Como livros come&#231;am: &gt;
+
+        Olha, se voc&#234; algum dia j&#225; leu um livro, voc&#234; sabe que nenhum livro pode come&#231;ar direito sem uma
+        quantidade exorbitante de sinergia.  Sim, sinergia.  Talvez voc&#234; n&#227;o soubesse disso.  Sinergia que dizer que eu e voc&#234;
+        devemos cooperar para fazer desta leitura uma &#243;tima experi&#234;ncia.
+
+
+        Come&#231;amos o livro nos dando bem na Introdu&#231;&#227;o.
+        Esse companheirismo, essa *sinergia*, nos impulsiona pelo livro,
+        comigo guiando voc&#234; em seu caminho. Acene com a cabe&#231;a ou d&#234; uma risadinha para indicar o seu progresso.
+
+
+        Eu sou Peter Pan segurando a sua m&#227;o.  Vamos, Wendy!  Segunda estrela &#224; direita e em frente at&#233; o amanhecer.
+
+
+        Um problema aqui.  Eu n&#227;o me dou bem com gente.  Eu n&#227;o seguro m&#227;os muito bem.  
+
+
+        Qualquer um da minha equipe vai lhe dizer.  Nas Cerim&#244;nias de Abertura Deste Livro (um evento com buffet 
+        e arquibancadas), eu descobri que os sandu&#237;ches de pepino n&#227;o eram servidos em guardanapos de tecido.
+        Como resultado, a manteiga n&#227;o se ajustou aos pepinos direito... De qualquer forma, Eu fiz uma grande cena
+        e ateei fogo a alguns caminh&#245;es de propaganda do lado de fora.  Eu deixei um holofote em peda&#231;os, e coisas 
+        do tipo.  Eu dava risadas man&#237;acas extremamente altas at&#233; o final daquela noite.  Foi uma bagun&#231;a e tanto.
+
+
+        Entretanto, j&#225; que eu n&#227;o me dou bem com gente. Eu n&#227;o convidei ningu&#233;m al&#233;m de mim para as 
+        Cerim&#244;nias de Abertura Deste Livro.  Ent&#227;o n&#227;o foi t&#227;o embara&#231;oso assim.   Eu mantive o caso sob panos quentes
+        e ningu&#233;m jamais ficou sabendo do que aconteceu.
+
+
+        Ent&#227;o voc&#234; tem que saber que *sinergia* n&#227;o significa exatamente *sinergia* nesse livro.  Eu n&#227;o posso com a *sinergia*
+        normal.
+        N&#227;o, neste livro, *sinergia* significa *raposas em quadrinhos*.  O que eu quero dizer &#233;: este livro vai
+        come&#231;ar com uma quantidade exorbitante de *raposas em quadrinhos*.
+
+
+        E eu vou contar com voc&#234; para transform&#225;-las em *sinergia*.
+
+</diff>
      <filename>lang-pt/poignant-13.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1 @@
-  - Um R&#225;pido (e indolor, eu espero) passeio atrav&#233;s do Ruby (com quadrinhos da raposa):
+  - Um R&#225;pido (e indolor, eu espero) passeio atrav&#233;s do Ruby (com quadrinhos da raposa):</diff>
      <filename>lang-pt/poignant-14.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,19 +1,19 @@
-    - &gt;
-      !i/the.foxes-1.png(As raposas aparecem.)!
-
-
-      Isso, essas s&#227;o as duas.  Minha asma est&#225; atacada, preciso dar uma respirada num ar
-      medicinal agora.  J&#225; volto.
-
-
-      !i/the.foxes-2.png(Raposas em quadrinhos.)!
-       
-
-      Me disseram que este cap&#237;tulo combina bem com uma toalha.  Algo para voc&#234; enxugar seu rosto
-      quando o suor come&#231;ar a escorrer.
-
-
-      De fato, estaremos percorrendo toda a linguagem muito r&#225;pido.  Ser&#225; como acender todos os f&#243;sforos 
-      de uma caixa do jeito mais r&#225;pido.
-
-
+    - &gt;
+      !i/the.foxes-1.png(As raposas aparecem.)!
+
+
+      Isso, essas s&#227;o as duas.  Minha asma est&#225; atacada, preciso dar uma respirada num ar
+      medicinal agora.  J&#225; volto.
+
+
+      !i/the.foxes-2.png(Raposas em quadrinhos.)!
+       
+
+      Me disseram que este cap&#237;tulo combina bem com uma toalha.  Algo para voc&#234; enxugar seu rosto
+      quando o suor come&#231;ar a escorrer.
+
+
+      De fato, estaremos percorrendo toda a linguagem muito r&#225;pido.  Ser&#225; como acender todos os f&#243;sforos 
+      de uma caixa do jeito mais r&#225;pido.
+
+</diff>
      <filename>lang-pt/poignant-15.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,77 +1,77 @@
-    - Linguagem e E QUERO DIZER Linguagem: &gt;
-        !i/the.foxes-3.png(Nossos amigos, aqueles dois raposos indefesos, finalmente deram conta
-        da gravidade da situa&#231;&#227;o em que se encontram.)!
-
-
-        Minha consci&#234;ncia n&#227;o me deixa chamar o Ruby de uma linguagem de _computador._  Isso implica que
-        a linguagem funciona primariamente em termos de computador.  Que a linguagem &#233; criada para acomodar
-        o computador, &#250;nica e exclusivamente.  E portanto, n&#243;s, os programadores, somos estrangeiros, buscando cidadania n the
-        no pa&#237;s dos computadores.  &#201; a linguagem do computador e n&#243;s somos os tradutores para o mundo.
-
-
-        Mas como voc&#234; a chamaria quando seu c&#233;rebro come&#231;a a pensar nessa linguagem?  Quando voc&#234;
-        come&#231;a a usar as pr&#243;prias palavras e coloquismos da linguagem para se expressar.  Diga, o computador n&#227;o
-        consegue fazer aquilo.  Como pode ent&#227;o ser a linguagem do computador?  Ela &#233; nossa, n&#243;s a falamos nativamete!
-
-
-        N&#243;s n&#227;o podemos mais verdadeiramente cham&#225;-la de linguagem de _computador_.  
-        Ela &#233; _papo de programador_.  &#201; a linguagem dos nossos pensamentos.
-
-
-        *Leia o trecho a seguir em voz alta.*
-
-
-        bq. @5.times { print &quot;Odelay!&quot; }@
-      
-
-        No ingl&#234;s, as pontua&#231;&#245;es (pontos, exclama&#231;&#245;es, par&#234;nteses) s&#227;o mudas.  Pontua&#231;&#227;o agrega
-        significado &#224;s palavras, d&#225; pistas da inten&#231;&#227;o do autor na frase.  Vamos ent&#227;o ler o trecho
-        assim: _Cinco vezes imprima &quot;Odelay!&quot;._
-
-
-        Que &#233; exatamente o que este pequeno programa Ruby faz.  O &quot;espanhol mutante&quot; do
-        Beck:http://www.whiskeyclone.net/ghost/L/lordonlyknows.html exclamation ir&#225; imprimir
-        cinco vezes na tela do computador.
-
-
-        *Leia o trecho a seguir em voz alta.*
-
-
-        bq. @exit unless &quot;restaurante&quot;.include? &quot;aura&quot;@
-       
-       
-        Aqui estamos fazendo um teste b&#225;sico de realidade.  Nosso programa vai *exit (sair)* (o programa vai terminar) *unless (a menos que)* 
-        a palavra *restaurante* contenha (ou *inclua*) a palavra *aura*.  Novamente, em Portugu&#234;s: _Saia a nao ser que a palavra
-        restaurante inclua a palavra aura._
-
-
-        J&#225; viu alguma linguagem de programa&#231;&#227;o usar a pontua&#231;&#227;o t&#227;o eficientemente?  Ruby usa a pontua&#231;&#227;o,
-        como exclama&#231;&#245;es e interroga&#231;&#245;es, pra melhorar a legibilidade do c&#243;digo.  N&#243;s estamos fazendo uma pergunta
-        no c&#243;digo acima, ent&#227;o por qu&#234; n&#227;o deixar isso aparente?
-
-
-        *Leia o trecho a seguir em voz alta.*
-
-
-        bq. @['torrada', 'queijo', 'vinho'].each { |comida| print comida.capitalize  }@
-       
-      
-        Enquanto este peda&#231;o de c&#243;digo &#233; menos leg&#237;vel e parecido com uma frase que o anterior, eu ainda assim
-        o encorajo a ler em voz alta.  Enquanto o Ruby algumas vezes soa como Portugu&#234;s noutras soa como Portugu&#234;s Curto.
-        Totalmente traduzido pra Portugu&#234;s, voc&#234; poderia ler desta maneira: _Com as palavras 'torrada', 'queijo',
-        e 'vinho': pegue cada comida e a imprima com a primeira letra mai&#250;scula._
-        
-
-        O computador ent&#227;o responde de forma cort&#234;z: @Torrada@, @Queijo@ e @Vinho@.
-
-
-        Neste ponto, voc&#234; deve estar se perguntando como essas palavras realmente funcionam juntas.  O Smotchkkiss est&#225; imaginando
-        o que os pontos e chaves significam.  Vou discutir as v&#225;rias _partes da conversa_ em seguida.
-
-
-        Tudo que voc&#234; precisa saber at&#233; agora &#233; que o Ruby &#233; basicamente constru&#237;do de senten&#231;as.  Ela n&#227;o s&#227;o English
-        sentences.  Elas s&#227;o pequenas cole&#231;&#245;es de palavras e pontua&#231;&#227;o  which encompass a single thought.  Estas
-        senten&#231;as podem formar livros.  Elas podem formar p&#225;ginas.  Elas podem formar romances inteiros, quando combinadas.
-        Romances que modem ser lidos por humanos, mas tamb&#233;m por computadores.
-
-
+    - Linguagem e E QUERO DIZER Linguagem: &gt;
+        !i/the.foxes-3.png(Nossos amigos, aqueles dois raposos indefesos, finalmente deram conta
+        da gravidade da situa&#231;&#227;o em que se encontram.)!
+
+
+        Minha consci&#234;ncia n&#227;o me deixa chamar o Ruby de uma linguagem de _computador._  Isso implica que
+        a linguagem funciona primariamente em termos de computador.  Que a linguagem &#233; criada para acomodar
+        o computador, &#250;nica e exclusivamente.  E portanto, n&#243;s, os programadores, somos estrangeiros, buscando cidadania n the
+        no pa&#237;s dos computadores.  &#201; a linguagem do computador e n&#243;s somos os tradutores para o mundo.
+
+
+        Mas como voc&#234; a chamaria quando seu c&#233;rebro come&#231;a a pensar nessa linguagem?  Quando voc&#234;
+        come&#231;a a usar as pr&#243;prias palavras e coloquismos da linguagem para se expressar.  Diga, o computador n&#227;o
+        consegue fazer aquilo.  Como pode ent&#227;o ser a linguagem do computador?  Ela &#233; nossa, n&#243;s a falamos nativamete!
+
+
+        N&#243;s n&#227;o podemos mais verdadeiramente cham&#225;-la de linguagem de _computador_.  
+        Ela &#233; _papo de programador_.  &#201; a linguagem dos nossos pensamentos.
+
+
+        *Leia o trecho a seguir em voz alta.*
+
+
+        bq. @5.times { print &quot;Odelay!&quot; }@
+      
+
+        No ingl&#234;s, as pontua&#231;&#245;es (pontos, exclama&#231;&#245;es, par&#234;nteses) s&#227;o mudas.  Pontua&#231;&#227;o agrega
+        significado &#224;s palavras, d&#225; pistas da inten&#231;&#227;o do autor na frase.  Vamos ent&#227;o ler o trecho
+        assim: _Cinco vezes imprima &quot;Odelay!&quot;._
+
+
+        Que &#233; exatamente o que este pequeno programa Ruby faz.  O &quot;espanhol mutante&quot; do
+        Beck:http://www.whiskeyclone.net/ghost/L/lordonlyknows.html exclamation ir&#225; imprimir
+        cinco vezes na tela do computador.
+
+
+        *Leia o trecho a seguir em voz alta.*
+
+
+        bq. @exit unless &quot;restaurante&quot;.include? &quot;aura&quot;@
+       
+       
+        Aqui estamos fazendo um teste b&#225;sico de realidade.  Nosso programa vai *exit (sair)* (o programa vai terminar) *unless (a menos que)* 
+        a palavra *restaurante* contenha (ou *inclua*) a palavra *aura*.  Novamente, em Portugu&#234;s: _Saia a nao ser que a palavra
+        restaurante inclua a palavra aura._
+
+
+        J&#225; viu alguma linguagem de programa&#231;&#227;o usar a pontua&#231;&#227;o t&#227;o eficientemente?  Ruby usa a pontua&#231;&#227;o,
+        como exclama&#231;&#245;es e interroga&#231;&#245;es, pra melhorar a legibilidade do c&#243;digo.  N&#243;s estamos fazendo uma pergunta
+        no c&#243;digo acima, ent&#227;o por qu&#234; n&#227;o deixar isso aparente?
+
+
+        *Leia o trecho a seguir em voz alta.*
+
+
+        bq. @['torrada', 'queijo', 'vinho'].each { |comida| print comida.capitalize  }@
+       
+      
+        Enquanto este peda&#231;o de c&#243;digo &#233; menos leg&#237;vel e parecido com uma frase que o anterior, eu ainda assim
+        o encorajo a ler em voz alta.  Enquanto o Ruby algumas vezes soa como Portugu&#234;s noutras soa como Portugu&#234;s Curto.
+        Totalmente traduzido pra Portugu&#234;s, voc&#234; poderia ler desta maneira: _Com as palavras 'torrada', 'queijo',
+        e 'vinho': pegue cada comida e a imprima com a primeira letra mai&#250;scula._
+        
+
+        O computador ent&#227;o responde de forma cort&#234;z: @Torrada@, @Queijo@ e @Vinho@.
+
+
+        Neste ponto, voc&#234; deve estar se perguntando como essas palavras realmente funcionam juntas.  O Smotchkkiss est&#225; imaginando
+        o que os pontos e chaves significam.  Vou discutir as v&#225;rias _partes da conversa_ em seguida.
+
+
+        Tudo que voc&#234; precisa saber at&#233; agora &#233; que o Ruby &#233; basicamente constru&#237;do de senten&#231;as.  Ela n&#227;o s&#227;o English
+        sentences.  Elas s&#227;o pequenas cole&#231;&#245;es de palavras e pontua&#231;&#227;o  which encompass a single thought.  Estas
+        senten&#231;as podem formar livros.  Elas podem formar p&#225;ginas.  Elas podem formar romances inteiros, quando combinadas.
+        Romances que modem ser lidos por humanos, mas tamb&#233;m por computadores.
+
+</diff>
      <filename>lang-pt/poignant-16.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,132 +1,132 @@
-    - !^sidebar
-      A respeito do uso comercial do (Poignant) Guide: &gt;
-
-        Este livro foi lan&#231;ado sob a licen&#231;a Creative Commons que permite uso comercial ilimitado
-        deste texto.  Basicamente, isto significa que voc&#234; pode vender todas c&#243;pias piratas do meu livro
-        e ficar com todo o lucro pra voc&#234;.  Eu confio nos meus leitores (e no mundo ao redor deles) para me passar pra tr&#225;s.
-        E colocar uma edi&#231;&#227;o em Xerox com aquele clipart das m&#227;os unidas rezando, que n&#243;s conhecemos, na capa.
-
-
-        Caras, processar os outros n&#227;o vale a pena, &#233; muita dor de cabe&#231;a.  Ent&#227;o eu simplesmente vou apoiar
-        a pirataria aqui.  Qualquer um que quiser ler este livro deveria poder faz&#234;-lo.
-        Qualquer um que queira comercializar o livro ou criar edi&#231;&#245;es especiais, eu fico lisonjeado.
-
-
-        Porque eu iria querer o $$$?  IGNORE TODAS AS OUTRAS BARRAS LATERAIS: Eu perdi a vontade de ser um rica&#231;o pregui&#231;oso.  
-        Soa um pouco desumano, mas eu gosto da minha televis&#227;o preto-e-branco.  E adoro minha lumin&#225;ria florida.
-        Eu n&#227;o quero uma carreira de escritor.  Dinheiro n&#227;o vai me inspirar.  N&#227;o faz sentido.
-
-
-        Ent&#227;o, se dinheiro n&#227;o significa nada ao the lucky stiff, pra que me enganar quando voc&#234; pode pode optar por
-        pr&#225;ticas comerciais exclusas para literalmente esmagar minhas psiqu&#234; e me deixar chorando com meu pulm&#227;o preto?
-        Oh, e a ironia de usar meu trabalho contra mim!  Morra, garoto comovido!
-
-
-        Pra te dar uma id&#233;ia do que quero dizer, aqui est&#227;o alguns conceitos dissimulados que poderiam seriamente
-        matar minha for&#231;a de vontade de me for&#231;ar a reconsiderar algumas coisas, como a exist&#234;ncia.
-
-
-        *ID&#201;IA UM: BIG TOBACCO*
-
-
-        Compre uma companhia de cigarros.  Use meus cartuns dos raposos pra abastecer uma agressiva campanha publicit&#225;ria.  
-        Aqui est&#225; um an&#250;ncio para come&#231;ar:
-
-
-        !i/the.foxes-0a.png(Vic&#237;o &#233; igual Pokemon!)!
-
-
-        Deixe &#243;bvio que seu p&#250;blico alvo s&#227;o crian&#231;as e asm&#225;ticos.  Ent&#227;o, logo que voc&#234; tiver
-        tudo pronto, fa&#231;a com que as pessoas da *verdade* fa&#231;am um dossi&#234; sobre mim e minha fazenda
-        de raposas de tinta.
-
-
-        bq. *Moderninho sens&#237;vel apoiado na borda da selva urbana*: Ele se entitula the lucky stiff.
-        
-        
-        bq. (Puxa as cortinas para revelar um corpo cinza em uma maca.)
-
-
-        bq. *Moderninho*: Alguns stiffs n&#227;o s&#227;o t&#227;o lucky (sortudo) assim.
-
-
-        bq. (Som err&#225;tico.  Raposas em quadrinhos superimpostas para gerar uma viagem subliminar mental Willy Wonka.)
-
-
-        Yo.  Porque c&#234; tem esses Big Smokies assim, Holmes?
-
-
-        *ID&#201;IA DOIS: HEY, PELOT&#195;O DE FUZILAMENTO*
-
-
-        Como eu disse, comecem a vender c&#243;pias do meu livro, mas corrompam o texto.  Estas c&#243;pias alteradas
-        conteriam numerosas refer&#234;ncias grosseiras (e difamat&#243;rias) &#224;s ag&#234;ncias do governo, como
-        o ex&#233;rcito americano e o pent&#225;gono.  Voc&#234; me faria com que eu parecesse um completo traidor.  Como se eu tivesse
-        todos esses planos para, voc&#234; sabe, matar certos membros menos desej&#225;veis do ex&#233;rcito ou
-        o Pent&#225;gono.
-
-
-        N&#227;o que existam membros menos desej&#225;veis no ex&#233;rcito ou no Pent&#225;gono.  &#201;,
-        n&#227;o era isso que eu queria dizer.
-
-
-        Oh, merda.
-
-
-        Oh, merda.  Oh, merda.  Oh, merda.
-
-
-        Apague as luzes.  Se abaixe.
-
-
-        *ID&#201;IA TR&#202;S: AN&#218;NCIOS, PART II*
-
-
-        Que tal fazer gra&#231;a de asm&#225;ticos diretamente??
-
-
-        !i/the.foxes-0b.png(Chame-o de soprador! ROFL!)!
-
-
-        *ID&#201;IA QUATRO: ALEC BALDWIN*
-
-
-        Fa&#231;a uma adapta&#231;&#227;o do livro para o cinema.  E j&#225; que eu, voc&#234; sabe, sou um personagem no livro
-        voc&#234; poderia conseguir algu&#233;m como Alec Baldwin para me interpretar. Algu&#233;m que esteja num per&#237;odo
-        muito ruim em sua carreira.
-
-
-        Voc&#234; podia fazer como se eu usasse toneladas de drogas.  Como se eu fosse insano de se trabalhar.
-        Como se eu ficasse demitindo pessoas e trancando elas na sala da scooter e obrig&#225;-las a vestir
-        roupas feitas de p&#227;o.  Isso, como se eu pudesse realmente _assar_ as pessoas
-        nas roupas.
-
-
-        Voc&#234; podia dizer que eu tenho uma forma gigante e que eu prendo as pessoas dentro.  Ent&#227;o,
-        eu derramo toda massa e de fato asso eles at&#233; o p&#227;o crescer e eles estarem quase mortos.
-        E quando o pessoal da televis&#227;o vier e eu aparecer no Good Morning America, eles v&#227;o perguntar,
-        &quot;Ent&#227;o, quantas pessoas voc&#234; empregou na produ&#231;&#227;o do seu livro?&quot;  E eu 
-        responderia, &quot;Uma d&#250;zia de padeiro!&quot; e eclodir em gargalhadas man&#237;acas t&#227;o altas que forcariam
-        a audi&#234;ncia a tampar os ouvidos.
-
-
-        &#201; claro que, no curso da minha insaindade, eu declararia guerra ao mundo.  As pessoas
-        p&#227;o aguentariam um bom tempo.  At&#233; que o ex&#233;rcito americano (ou o Pent&#225;gono)
-        constru&#237;sse um c&#233;rebro de macaco rob&#243;tico gigante (interpretado por Burt Lancaster) para me perseguir.
-
-
-        Aqui voc&#234; vai me fazer parecer completamente idiota.  Eu n&#227;o sacrificarei apenas todas
-        as pessoas p&#227;o (os Starchtroopers) para me salvar, n&#227;o apenas me renderei ao
-        grande c&#233;rebro de macaco covardemente, mas quando eu escapar por um triz, eu vou gritar para
-        a plat&#233;ia.  Gritando incessantemente que aquele &#233; _MEU_ filme e que ningu&#233;m deveria mais
-        assist&#237;-lo, eu rasgarei a tela ao meio e o projetor vai rodar seues rolos em v&#227;o.
-        E este ser&#225; o final do filme.  As pessoas ficar&#227;o _t&#227;o_ irritadas.
-
-
-        Fiquei pensando aqui.  De fato Alec Baldwin fez um trabalho decente de dublagem
-        em _Os Exc&#234;ntricos Tenembaums_.  A carreira dele deve estar indo bem.  Voc&#234; pode n&#227;o querer us&#225;-lo.
-        Ele pode n&#227;o aceitar.
-
-
-        Fa&#231;amos o seguinte.  Eu interpreto esse papel.  Eu tenho uma carreira de pap&#233;is ruims.
-        
+    - !^sidebar
+      A respeito do uso comercial do (Poignant) Guide: &gt;
+
+        Este livro foi lan&#231;ado sob a licen&#231;a Creative Commons que permite uso comercial ilimitado
+        deste texto.  Basicamente, isto significa que voc&#234; pode vender todas c&#243;pias piratas do meu livro
+        e ficar com todo o lucro pra voc&#234;.  Eu confio nos meus leitores (e no mundo ao redor deles) para me passar pra tr&#225;s.
+        E colocar uma edi&#231;&#227;o em Xerox com aquele clipart das m&#227;os unidas rezando, que n&#243;s conhecemos, na capa.
+
+
+        Caras, processar os outros n&#227;o vale a pena, &#233; muita dor de cabe&#231;a.  Ent&#227;o eu simplesmente vou apoiar
+        a pirataria aqui.  Qualquer um que quiser ler este livro deveria poder faz&#234;-lo.
+        Qualquer um que queira comercializar o livro ou criar edi&#231;&#245;es especiais, eu fico lisonjeado.
+
+
+        Porque eu iria querer o $$$?  IGNORE TODAS AS OUTRAS BARRAS LATERAIS: Eu perdi a vontade de ser um rica&#231;o pregui&#231;oso.  
+        Soa um pouco desumano, mas eu gosto da minha televis&#227;o preto-e-branco.  E adoro minha lumin&#225;ria florida.
+        Eu n&#227;o quero uma carreira de escritor.  Dinheiro n&#227;o vai me inspirar.  N&#227;o faz sentido.
+
+
+        Ent&#227;o, se dinheiro n&#227;o significa nada ao the lucky stiff, pra que me enganar quando voc&#234; pode pode optar por
+        pr&#225;ticas comerciais exclusas para literalmente esmagar minhas psiqu&#234; e me deixar chorando com meu pulm&#227;o preto?
+        Oh, e a ironia de usar meu trabalho contra mim!  Morra, garoto comovido!
+
+
+        Pra te dar uma id&#233;ia do que quero dizer, aqui est&#227;o alguns conceitos dissimulados que poderiam seriamente
+        matar minha for&#231;a de vontade de me for&#231;ar a reconsiderar algumas coisas, como a exist&#234;ncia.
+
+
+        *ID&#201;IA UM: BIG TOBACCO*
+
+
+        Compre uma companhia de cigarros.  Use meus cartuns dos raposos pra abastecer uma agressiva campanha publicit&#225;ria.  
+        Aqui est&#225; um an&#250;ncio para come&#231;ar:
+
+
+        !i/the.foxes-0a.png(Vic&#237;o &#233; igual Pokemon!)!
+
+
+        Deixe &#243;bvio que seu p&#250;blico alvo s&#227;o crian&#231;as e asm&#225;ticos.  Ent&#227;o, logo que voc&#234; tiver
+        tudo pronto, fa&#231;a com que as pessoas da *verdade* fa&#231;am um dossi&#234; sobre mim e minha fazenda
+        de raposas de tinta.
+
+
+        bq. *Moderninho sens&#237;vel apoiado na borda da selva urbana*: Ele se entitula the lucky stiff.
+        
+        
+        bq. (Puxa as cortinas para revelar um corpo cinza em uma maca.)
+
+
+        bq. *Moderninho*: Alguns stiffs n&#227;o s&#227;o t&#227;o lucky (sortudo) assim.
+
+
+        bq. (Som err&#225;tico.  Raposas em quadrinhos superimpostas para gerar uma viagem subliminar mental Willy Wonka.)
+
+
+        Yo.  Porque c&#234; tem esses Big Smokies assim, Holmes?
+
+
+        *ID&#201;IA DOIS: HEY, PELOT&#195;O DE FUZILAMENTO*
+
+
+        Como eu disse, comecem a vender c&#243;pias do meu livro, mas corrompam o texto.  Estas c&#243;pias alteradas
+        conteriam numerosas refer&#234;ncias grosseiras (e difamat&#243;rias) &#224;s ag&#234;ncias do governo, como
+        o ex&#233;rcito americano e o pent&#225;gono.  Voc&#234; me faria com que eu parecesse um completo traidor.  Como se eu tivesse
+        todos esses planos para, voc&#234; sabe, matar certos membros menos desej&#225;veis do ex&#233;rcito ou
+        o Pent&#225;gono.
+
+
+        N&#227;o que existam membros menos desej&#225;veis no ex&#233;rcito ou no Pent&#225;gono.  &#201;,
+        n&#227;o era isso que eu queria dizer.
+
+
+        Oh, merda.
+
+
+        Oh, merda.  Oh, merda.  Oh, merda.
+
+
+        Apague as luzes.  Se abaixe.
+
+
+        *ID&#201;IA TR&#202;S: AN&#218;NCIOS, PART II*
+
+
+        Que tal fazer gra&#231;a de asm&#225;ticos diretamente??
+
+
+        !i/the.foxes-0b.png(Chame-o de soprador! ROFL!)!
+
+
+        *ID&#201;IA QUATRO: ALEC BALDWIN*
+
+
+        Fa&#231;a uma adapta&#231;&#227;o do livro para o cinema.  E j&#225; que eu, voc&#234; sabe, sou um personagem no livro
+        voc&#234; poderia conseguir algu&#233;m como Alec Baldwin para me interpretar. Algu&#233;m que esteja num per&#237;odo
+        muito ruim em sua carreira.
+
+
+        Voc&#234; podia fazer como se eu usasse toneladas de drogas.  Como se eu fosse insano de se trabalhar.
+        Como se eu ficasse demitindo pessoas e trancando elas na sala da scooter e obrig&#225;-las a vestir
+        roupas feitas de p&#227;o.  Isso, como se eu pudesse realmente _assar_ as pessoas
+        nas roupas.
+
+
+        Voc&#234; podia dizer que eu tenho uma forma gigante e que eu prendo as pessoas dentro.  Ent&#227;o,
+        eu derramo toda massa e de fato asso eles at&#233; o p&#227;o crescer e eles estarem quase mortos.
+        E quando o pessoal da televis&#227;o vier e eu aparecer no Good Morning America, eles v&#227;o perguntar,
+        &quot;Ent&#227;o, quantas pessoas voc&#234; empregou na produ&#231;&#227;o do seu livro?&quot;  E eu 
+        responderia, &quot;Uma d&#250;zia de padeiro!&quot; e eclodir em gargalhadas man&#237;acas t&#227;o altas que forcariam
+        a audi&#234;ncia a tampar os ouvidos.
+
+
+        &#201; claro que, no curso da minha insaindade, eu declararia guerra ao mundo.  As pessoas
+        p&#227;o aguentariam um bom tempo.  At&#233; que o ex&#233;rcito americano (ou o Pent&#225;gono)
+        constru&#237;sse um c&#233;rebro de macaco rob&#243;tico gigante (interpretado por Burt Lancaster) para me perseguir.
+
+
+        Aqui voc&#234; vai me fazer parecer completamente idiota.  Eu n&#227;o sacrificarei apenas todas
+        as pessoas p&#227;o (os Starchtroopers) para me salvar, n&#227;o apenas me renderei ao
+        grande c&#233;rebro de macaco covardemente, mas quando eu escapar por um triz, eu vou gritar para
+        a plat&#233;ia.  Gritando incessantemente que aquele &#233; _MEU_ filme e que ningu&#233;m deveria mais
+        assist&#237;-lo, eu rasgarei a tela ao meio e o projetor vai rodar seues rolos em v&#227;o.
+        E este ser&#225; o final do filme.  As pessoas ficar&#227;o _t&#227;o_ irritadas.
+
+
+        Fiquei pensando aqui.  De fato Alec Baldwin fez um trabalho decente de dublagem
+        em _Os Exc&#234;ntricos Tenembaums_.  A carreira dele deve estar indo bem.  Voc&#234; pode n&#227;o querer us&#225;-lo.
+        Ele pode n&#227;o aceitar.
+
+
+        Fa&#231;amos o seguinte.  Eu interpreto esse papel.  Eu tenho uma carreira de pap&#233;is ruims.
+        </diff>
      <filename>lang-pt/poignant-17.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,591 +1,591 @@
-    - As Partes da Conversa: &gt;
-
-        Assim como a faixa branca nas costas do gamb&#225; e a branca e enrolada grinalda da noiva, v&#225;rias partes
-        da conversa t&#234;m sinaliza&#231;&#245;es visuais para te ajudar a identific&#225;-las.  Pontua&#231;&#227;o, mai&#250;sculas e min&#250;sculas,
-        ir&#227;o ajudar seu c&#233;rebro ver peda&#231;os de c&#243;digo e os reconhec&#234;-los intensamente.
-        Sua mente vai gritar frequentemente _Hey, Eu conhe&#231;o aquele cara!_  Voc&#234; vai tamb&#233;m poder
-        contar vantagem em conversas com outros Rubistas.
-
-
-        Tente se focar na apar&#234;ncia de cada uma destas partes da conversa.  O resto do livro vai
-        entrar em detalhes.  Eu darei pequenas descri&#231;&#245;es de cada parte da conversa, mas voc&#234; n&#227;o precisa
-        entender a explica&#231;&#227;o.  Ao t&#233;rmino deste cap&#237;tulo, voc&#234; deve estar apto a reconhecer 
-        cada parte de um programa Ruby.
-
-
-        h3. Vari&#225;veis
-
-
-        Qualquer palavra simples, em min&#250;sculas, &#233; uma vari&#225;vel no ruby.  Vari&#225;veis podem consistir de
-        letras, d&#237;gitos e travess&#245;es.
-
-
-        bq. @x@, @y@, @banana2@ or @telefone_pruma_codorna@ s&#227;o exemplos.
-
-
-        Vari&#225;veis s&#227;o como apelidos.  Lembra quando todo mundo te chamava de Pete Fedido?
-        As pessoas diziam, &quot;Vem aqui, Pete Fedido!&quot;  E todo mundo milagrosamente sabia que 
-        voc&#234; era o Pete Fedido.
-
-
-        Com vari&#225;veis, voc&#234; d&#225; um apelido a algo que voc&#234; use frequentemente.  Por exemplo, vamos dizer
-        que voc&#234; tem um orfanato.  &#201; um orfanato mal&#233;fico.  E quando o Papai Warbucks vem comprar 
-        mais crian&#231;as, n&#243;s insistimos que ele nos pague *cento e vinte um reais e oito centavos* pelo urso
-        teddy da crian&#231;a, o qual ela ficou apegada nos momentos sombrios que passou vivendo neste pesadelo de
-        cust&#243;dia.
-
-
-        bq. @taxa_de_urso_teddy = 121.08@
-
-
-        Mais tarde, quando voc&#234; pegar ele no caixa (uma registradora turbinada que roda
-        Ruby!), voc&#234; vai precisar juntar as somas em um *total*.
-
-
-        bq. @total = taxa_de_orfao + taxa_de_urso_teddy + gorjeta@
-
-
-        Estes apelidos pra vari&#225;veis v&#234;m a calhar.  E no submundo sedento das vendas infantis, qualquer ajuda
-        &#233; bem-vinda, tenho certeza.
-
-
-        !i/the.foxes-4a.png(They mock my examples.)!
- 
-
-
-        h3. N&#250;meros
-
-
-        O tipo mais b&#225;sico de n&#250;mero &#233; um _integer_ (n&#250;mero inteiro), uma *s&#233;rie de d&#237;gitos* que podem come&#231;ar
-        com um *sinal de menos ou de mais*.
-
-
-        bq. @1@, @23@, e @-10000@ s&#227;o exemplos.
-
-
-        V&#237;rgulas n&#227;o s&#227;o permitidas em n&#250;meros, mas travess&#245;es sim.  Ent&#227;o se voc&#234; acha melhor
-        marcar os milhares para que o n&#250;mero fique mais leg&#237;vel, use um travess&#227;o.
-
-
-        bq. @habitantes = 12_000_000_000@
-
-
-        N&#250;meros decimais s&#227;o chamados de _floats_ (n&#250;meros reais ou ponto flutuante) no Ruby.  
-        N&#250;meros reais consistem em n&#250;meros com
-        *casas decimais* ou *em nota&#231;&#227;o cient&#237;fica*.
-
-
-        bq. @3.14@, @-808.08@ e @12.043e-04@ s&#227;o exemplos.
-
-
-
-        h3. Strings (Conjunto de Caracteres)
-
-
-        Strings s&#227;o quaisquer tipos de caracteres (letras, d&#237;gitos, pontua&#231;&#227;o) cercados por aspas.  
-        *Aspas* simples ou duplas, s&#227;o usadas para se criar strings.
-
-
-        bq. @&quot;laboratoriodomar&quot;@, @'2021'@, or @&quot;Estes quadrinhos s&#227;o hil&#225;rios!&quot;@
-        s&#227;o exemplos.
-
-
-        Quando voc&#234; cerca caracteres em aspas, eles ficam guardados juntos como uma string s&#243;.
-        
-
-        Pense num rep&#243;rter que est&#225; anotando as baboseiras de uma celebridade incoerente.  &quot;Eu estou
-        muito mais s&#225;bia,&quot; disse Avril Lavigne.  &quot;Agora eu sei como as coisas s&#227;o -- o que voc&#234; tem que fazer
-        e como trabalhar isso.&quot;
-
-
-        &lt;pre&gt;
-          frase_da_avril = &quot;Eu estou muito mais s&#225;bia.  Agora eu sei 
-          como as coisas s&#227;o -- o que voc&#234; tem 
-          que fazer e como trabalhar isso.&quot;
-        &lt;/pre&gt;
-
-
-        Ent&#227;o, assim como n&#243;s guardamos um n&#250;mero na vari&#225;vel *taxa_de_urso_teddy,* agora n&#243;s estamos guardando
-        uma cole&#231;&#227;o de caracteres (uma string) na vari&#225;vel *frase_da_avril*.  O rep&#243;rter envia esta frase
-        para impress&#227;o, que por acaso usa  Ruby para operar as impressoras.
-
-
-        &lt;pre&gt;
-         &lt;setup&gt;
-           frase_da_oprah = &quot;O&quot;
-           frase_da_avril = &quot;A&quot;
-           debate_ashlee_simpson = &quot;D&quot;
-         &lt;/setup&gt;
-         print frase_da_oprah
-         print frase_da_avril
-         print debate_ashlee_simpson
-        &lt;/pre&gt;
-
-
-        !i/the.foxes-4b.png(They desire to be in my examples.)!
-
-
-
-        h3. Symbols (S&#237;mbolos)
-
-
-        S&#237;mbolos s&#227;o palavras que parecem vari&#225;veis.  Novamente, elas podem conter letras,
-        d&#237;gitos e travess&#245;es.  Mas elas *come&#231;am com dois pontos*.
-
-
-        bq. @:a@, @:b@, ou @:ponce_de_leon@ are examples.
-
-
-        S&#237;mbolos s&#227;o strings leves.  Geralmente, s&#237;mbolos s&#227;o usados em situa&#231;&#245;es em que voc&#234; precisa de uma string
-        mas n&#227;o vai imprim&#237;-la na tela.
-
-
-        Voc&#234; pode dizer que um s&#237;mbolo &#233; pouco mais diger&#237;vel pro computador.  &#201; como um anti-&#225;cido.  Os dois pontos
-        indicam as bolhas saindo com est&#244;mago do computador enquanto ele digere o s&#237;mbolo.  Ah.  Doce, doce al&#237;vio.
-
-
-        !i/the.foxes-4c.png(Bacon Peda&#231;udo!!)!
-
-
-
-        h3. Constantes
-
-
-        Constantes s&#227;o palavras como vari&#225;veis, mas constantes s&#227;o *mai&#250;sculas*.  Se vari&#225;veis s&#227;o os
-        substativos do Ruby, ent&#227;o pense nas constantes como substantivos pr&#243;prios.
-
-
-        bq. @Time@, @Array@ or @Bunny_Lake_Desapareceu@ s&#227;o exemplos.
-
-
-        Em ingl&#234;s, substantivos pr&#243;prios t&#234;m a primeira letra mai&#250;scula.  O Edif&#237;cio Empire State.  Voc&#234; n&#227;o pode simplesmente
-        mudar o Ed&#237;ficio Empire State.  Voc&#234; n&#227;o pode simplesmente decidir que o Edif&#237;cio Empire State Building &#233; outra coisa.
-        Substantivos pr&#243;prios s&#227;o assim.  Eles se referem a algo muito espec&#237;fico e que usualmente n&#227;o
-        muda com o tempo.
-
-
-        Do mesmo modo, constantes n&#227;o podem ser alteradas depois de criadas.
-
-
-        bq. @EdificioEmpireState = &quot;350 5th Avenue, NYC, NY&quot;@
-
-
-        Se tentarmos mudar a constante, Ruby vai reclamar com a gente.  Coisas assim desagradam ele.
-
-
-        !i/the.foxes-4d.png(Come on, chunky bacon.)!
-
-
-
-        h3. Met&#243;dos
-
-
-        Se vari&#225;veis e constantes s&#227;o substantivos, ent&#227;o m&#233;todos s&#227;o verbos.
-        M&#233;todos geralmente est&#227;o ligados ao final das vari&#225;veis e constantes por um *ponto*.  Voc&#234; j&#225; viu 
-        m&#233;todos trabalhando.
-
-
-        bq. @porta_da_frente.abra@
-
-
-        Acima, *abra* &#233; o m&#233;todo.  Nesta a&#231;&#227;o, o verbo. Em alguns casos, voc&#234; vai ver a&#231;&#245;es ligadas juntas.
-
-
-        bq. @porta_da_frente.abra.feche@
-
-
-        Instru&#237;mos o computador a abrir a porta da frente e depois imediatamente fech&#225;-la.
-
-
-        bq. @porta_da_frente.esta_aberta?@
-
-
-        Acima temos uma a&#231;&#227;o tamb&#233;m.  Estamos instru&#237;do o computador a testar a porta para ver se est&#225; aberta.
-        O m&#233;todo poderia se chamar @Porta.teste_para_ver_se_esta_aberta@, mas o nome @esta_aberta?@ &#233; sucinto e 
-        tamb&#233;m correto.  Exclama&#231;&#245;es e interroga&#231;&#245;es podem ser usadas em nomes de m&#233;todos.
-
-
-        h3. Argumentos de M&#233;todo
-
-
-        Um m&#233;todo talvez precise de mais informa&#231;&#227;o pra realizar sua a&#231;&#227;o.  Se quisermos que o computador
-        pinte a porta, devemos prover uma cor tamb&#233;m.
-
-
-        Argumentos de m&#233;todo v&#227;o ligados ao final do m&#233;todo.  Os argumentos est&#227;o geralmente cercados por
-        *par&#234;nteses* e separados por *v&#237;rgulas*.
-
-
-        bq. @porta_da_frente.pintar( 3, :vermelho )@
-
-
-        O c&#243;digo acima pinta a porta da frente com 3 dem&#227;os de vermelho.
-
-
-        Pense nisso como um tubo inteiror que o m&#233;todo arrumou, cont&#233;ndo suas instru&#231;&#245;es extras.
-        Os par&#234;nteses formam as redondas e molhadas paredes do tubo.  As v&#237;rgulas s&#227;o os p&#233;s de cada argumento,
-        saindo pra fora da beirada.  O &#250;ltimo argumento tem o p&#233; preso embaixo ent&#227;o eles n&#227;o mostram.
-
-
-        Como um barco de b&#243;ias, m&#233;todos com argumentos podem ser ligados.
-
-
-        bq. @porta_da_frente.pintar( 3, :vermelho ).secar( 30 ).fechar()@
-
-
-        O c&#243;digo acima pinta a porta da frente com 3 dem&#227;os de vermelho, seca por 30 minutos, e fecha a porta.  Mesmo que
-        o &#250;ltimo m&#233;todo n&#227;o tenha argumentos, voc&#234; pode colocar par&#234;nteses se quiser.  Um cano vazio n&#227;o tem
-        muito uso, ent&#227;o os par&#234;nteses s&#227;o geralmente deixados pra l&#225;.
-
-
-        Alguns m&#233;todos (como @print@) s&#227;o m&#233;todos do kernel.  Estes m&#233;todos s&#227;o usados por todo Ruby.  J&#225; que elese
-        s&#227;o t&#227;o comuns, voc&#234; n&#227;o usa o ponto.
-
-
-        bq. @print &quot;Veja, sem ponto.&quot;@
-
-
-        h3. M&#233;todos de Classe
-
-
-        Assim como os m&#233;todos descritos acima (tamb&#233;m chamdos m&#233;todos _ de inst&#226;ncia_), m&#233;todos de classe
-        s&#227;o geralmente ligados depois de vari&#225;veis e constantes.  Inv&#233;s de ponto, usa-se *dois pontos duplo.*
-
-
-        bq. @Porta::new( :carvalho )@
-
-
-        Como foi visto acima, o m&#233;todo de classe @new@ &#233; mais usado para se criar coisas.  No exemplo cima, estamos pedindo
-        ao Ruby para fazer uma porta de carvalho nova pra gente.  Claro, o Ruby n&#227;o tem conhecimento de como fazer uma
-        porta--assim como um a pilha de madeira, madeireiros, e aquelas longas, wiggily, two-man saws.
-
-
-        !i/the.foxes-4e.png(Plenty of chunky bacon to go around.)!
-
-
-
-        h3. Vari&#225;veis Globais
-
-
-        Vari&#225;veis que come&#231;am com um *cifr&#227;o* s&#227;o globais.
-
-
-        bq. @$x@, @$1@, @$pedacudo@ and @$BAcOn_PeDAcUDo@ s&#227;o exemplos.
-
-
-        A maioria das v&#225;riaveis s&#227;o tempor&#225;rias por natureza.  Algumas partes do seu programa s&#227;o como casas.
-        Voc&#234; entra e elas tem suas pr&#243;prias vari&#225;veis.  Em um casa, voce pode der um @pai@ que representa
-        Archie, um caixeiro-viajante colecionador de esqueletos.  Em outra casa, @pai@ pode representar
-        Peter, um domador de le&#245;es com grande apre&#231;o por flanela.  Cada casa tem um sentido pr&#243;prio pra @pai@.
-
-
-        Com vari&#225;veis globais, voc&#234; garante que a vari&#225;vel ser&#225; a mesma em cada casinha.
-        O sinal de cifr&#227;o &#233; bem apropriado.  Todo lar Americano respeita o valor do cifr&#227;o.  Somos
-        doidos pela coisa.  Tente bater em qualquer porta na Am&#233;rica e d&#234; a eles dinheiro.  Eu posso garantir
-        que voc&#234; n&#227;o ver&#225; a mesma rea&#231;&#227;o se bater em uma porta e oferecer Peter, um domador de le&#245;es com grande
-        apre&#231;o por flanela.
-
-
-        Vari&#225;veis globais podem ser usadas em qualquer lugar no seu programa.  Elas nunca saem da vista.
-
-
-
-        h3. Vari&#225;veis de Inst&#226;ncia
-
-
-        Vari&#225;veis que come&#231;am com uma *arroba* s&#227;o vari&#225;veis de inst&#226;ncia.
-
-
-        bq. @@x@, @@y@, e @@somente_o_maior_pedaco_de_bacon_que_eu_ja_vi@ s&#227;o exemplos.
-
-
-        Estas vari&#225;veis s&#227;o muito usadas para se definir atributos de alguma coisa.  Por exemplo, voc&#234; pode
-        prover o Ruby com a largura da @porta_da_frente@ criando a vari&#225;vel @@largura@ dentro daquela
-        @porta_da_frente@.  Vari&#225;veis de inst&#226;ncia s&#227;o usadas para se definir caracter&#237;sticas de um objeto
-        em Ruby.
-
-
-        Pense na *arroba (at)* signficando *atributo*.
-        
-
-
-        h3. Vari&#225;veis de Classe
-
-
-        Vari&#225;veis que come&#231;am com *duas arrobas* s&#227;o vari&#225;veis de classe.
-
-
-        bq. @@@x@, @@@y@, e @@@vou_pegar_seus_bacons_pedacudos_e_ensinar_uma_licao_pra_voces_dois@ s&#227;o exemplos.
-
-
-        Vari&#225;veis de classe s&#227;o usadas, tamb&#233;m, para se definir atributos.  Mas ao inv&#233;s de definir um atributo
-        a apenas um objeto no Ruby, vari&#225;veis de classe d&#227;o um atributo a v&#225;rios objetos relacionados no Ruby.
-        Se as vari&#225;veis de inst&#226;ncia estipulam atributos para s&#243; uma @porta_da_frente@, ent&#227;o vari&#225;veis de classe 
-        estipulam atributoes pra tudo que for @Porta@.
-
-
-        Pense no prefixo das *duas arrobas* significando *atribua a todos*.  Adicionalmente, voc&#234; pode pensar em uma
-        manada de *AT-ATs* de _Star Wars_, que s&#227;o comandados pelo Ruby.  Voc&#234; muda uma vari&#225;vel de classe
-        e n&#227;o apenas uma muda, todas elas mudam.
-
-
-        !i/the.foxes-4f.png(Woohoo! Chunky bacon accomplished!)!
-
-
-
-        h3. Blocos
-
-
-        Qualquer c&#243;digo cercado por *colchetes* &#233; um bloco.
-
-
-        bq. @2.times { print &quot;Sim, Tenho usado bacon peda&#231;udo nos meus exemplos, mas n&#227;o farei de novo!&quot; }@ is an example.
-
-
-        Com blocos, voc&#234; pode agrupar peda&#231;os de instru&#231;&#245;es juntas, assim elas pode ser passadas
-        pelo seu programa.  
-        Os colchetes d&#227;o a apar&#234;ncia de garras de caranguejo que pegaram o c&#243;digo e o est&#227;o
-        segurando.  Quando voc&#234; ver estas duas garras, lembre-se que o c&#243;digo dentro
-        foi prensado em uma s&#243; unidade.
-
-
-        &#201; como uma daquelas caixas da Hello Kitty que eles vendem no shopping
-        que v&#234;m lotadas de pequenos l&#225;pis e papel microsc&#243;pico, espremidos numa bolsa
-        transparente e brilhante que pode ser escondida na palma da m&#227;o para opera&#231;&#245;es clandestinas
-        estacion&#225;rias.  Exceto que, blocos n&#227;o ofuscam sua vis&#227;o.
-
-
-        As chaves pode ser substitu&#237;das pelas palavras *do* e *end*, o que &#233; bacana se seu bloco for
-        maior que uma linha.
-
-
-        &lt;pre&gt;
-         loop do
-           print &quot;Bem melhor.&quot;
-           print &quot;Ah.  Mais espa&#231;o!&quot;
-           print &quot;Minhas costas estavam me matando dentro daquelas garras de caranguejo.&quot;
-         end
-         &lt;stdout&gt;Bem melhor.Ah.  Mais espa&#231;o!Minhas costas estavam me matando dentro daquelas garras de caranguejo.&lt;/stdout&gt;
-        &lt;/pre&gt;
-        
-
-
-        h3. Argumentos de Bloco
-
-
-        Argumentos de bloco s&#227;o uma s&#233;rie de vari&#225;veis cercadas por s&#237;mbolos *tal que* 
-        e separadas por *v&#237;rgulas*.
-
-
-        bq. @|en||x|@, @|x,y|@, e @|cima, baixo, todo_lado|@ s&#227;o exemplo.
-
-
-        Argumentos de bloco s&#227;o usando no in&#237;cio do bloco.
-
-
-        bq. @{ |x,y| x + y }@
-
-
-        No c&#243;digo acima, @|x,y|@ s&#227;o os argumentos. Depois dos argumentos, temos um peda&#231;o de c&#243;digo.
-        A express&#227;o @x + y@ soma os argumentos.
-
-
-        Eu gosto de pensar nos s&#237;mbolos tal que representando um t&#250;nel.  Ele d&#227;o a apar&#234;ncia de uma
-        calha na qual as v&#225;riaveis est&#227;o descendo.  (O @x@ desce com as pernas abertas, enquanto o @y@
-        harmoniosamente cruza as pernas.)  Essa calha age como uma passagem entre os blocos e o mundo l&#225; fora.  
-
-
-        Vari&#225;veis s&#227;o passadas por essa calha (ou t&#250;nel) pra dentro do bloco.
-
-
-        !i/the.foxes-4g.png(And then, the dismal truth.)!
-
-
-
-        h3. Ranges (Per&#237;odos)
-
-
-        Range s&#227;o dois valores cercados por *par&#234;nteses* e separados por *uma el&#237;pse* (na forma de
-        dois ou tr&#234;s pontos).
-
-
-        bq. @(1..3)@ &#233; um range, representando os n&#250;meros de 1 at&#233; 3.
-
-
-        bq. @('a'..'z')@ &#233; um range, representando o alfabeto em min&#250;sculas.
-
-
-        Pense neles como um acorde&#227;o que fora fechado para se carregar.  (Voc&#234; pode construir muito amor pr&#243;prio 
-        levando consigo um acorde&#227;o aberto... mas, as vezes uma pessoa tem q mergulhar em d&#250;vidas e esconder 
-        cuidadosamente a sanfona)  Os par&#234;nteses s&#227;o os lados deste pequeno acorde&#227;o de m&#227;o.  
-        Os pontos s&#227;o a fole, mantendo as partes bem unidas.
-
-
-        Normalmente, apenas dois pontos s&#227;o usados. Se um terceiro ponto for usado, o &#250;ltimo valor no range ser&#225;
-        exclu&#237;do.
-
-
-        bq. @(0...5)@ representa os n&#250;meros de 0 at&#233; 4.
-
-
-        Quando voc&#234; v&#234; o terceiro ponto, imagine abrir o acorde&#227;o um pouco menos.  O necess&#225;rio para uma nota
-        apenas de seu fole.  A nota &#233; este &#250;ltimo valor.  N&#243;s vamos deixar que o c&#233;u a coma.
-
-
-        h3. Arrays (Conjuntos, Vetores)
-
-
-        Um array &#233; uma lista cercada por *chaves* e separada por *v&#237;rgulas*.
-
-
-        bq. @[1, 2, 3]@ &#233; um array de n&#250;meros.
-
-
-        bq. @['casaco', 'luvas', 'snowboard']@ &#233; um array de strings.
-
-
-        Pense nele como uma centop&#233;ia que foi grampeada no nosso c&#243;digo.  As duas chaves
-        s&#227;o grampos que n&#227;o deixam a centop&#233;ira se movimentar, ent&#227;o voc&#234; consegue distinguir onde &#233; cabe&#231;a e
-        onde &#233; a cauda.  As v&#237;rgulas s&#227;o as pernas da centop&#233;ia, balan&#231;ando entre cada se&#231;&#227;o do seu corpo.
-
-
-        Era uma vez uma centop&#233;ia que tinha v&#237;rgulas ao inv&#233;s de pernas.  O que significa que ela tinha que
-        dar uma pausa liter&#225;ria a cada passo.  As outra centop&#233;ias a respeitavam muito por isso e ela veio a ter
-        uma bela presen&#231;a no comando.  Oh, e que filantropo!  Ela ficou famosa por
-        dar folhas frescas aos menos afortunados.
-
-
-        Sim, um array &#233; uma cole&#231;&#227;o de coisas, mas ele tamb&#233;m mant&#233;m estas coisas em uma ordem espec&#237;fica.
-
-
-
-        h3. Hashes (Bolo, Mistura)
-
-
-        Um hash &#233; um dicion&#225;rio cercado por *colchetes*.  Dicion&#225;rios servem para encontrar defini&#231;&#245;es
-        das palavras.  O Ruby faz isso com *setas* feitas de sinais de igual, seguida por um sinal de
-        maior que.
-
-
-        bq. @{'a' =&gt; 'aardvark', 'b' =&gt; 'texugo'}@ s&#227;o um exemplo.
-
-
-        Desta vez, os colchetes representam livrinhos.  Veja como eles se parecem com
-        pequenos, livros abertos com dobras no meio?  Eles represntam abrir e fechar
-        nosso dicion&#225;rio. 
-
-
-        Imagine que nosso dicion&#225;rio tem um defini&#231;&#227;o em cada p&#225;gina.  As v&#237;rgulas representam
-        os cantos de cada p&#225;gina, que n&#243;s viramos pra ver a pr&#243;xima defini&#231;&#227;o.  E em cada p&#225;gina:
-        uma palavra seguida por uma seta apontando a defini&#231;&#227;o.
-
-
-        &lt;pre&gt;
-         {
-           'nome' =&gt; 'Peter',
-           'profissao' =&gt; 'domador de le&#245;es',
-           'grande apreco' =&gt; 'flanela'
-         }
-        &lt;/pre&gt;
-
-
-        N&#227;o estou compararando hashes a dicion&#225;rios por que voc&#234; pode guardar s&#243; defini&#231;&#245;es
-        na hash.  No exemplo acima, eu guardei informa&#231;&#227;o pessoal de Peter, o domador
-        de le&#245;es com grande apre&#231;o por flanela.  Hashes s&#227;o como dicion&#225;rios porque elas s&#227;o
-        muito f&#225;ceis de se procurar algo.
-
-
-        Diferentemente dos arrays, os itens na hash n&#227;o s&#227;o mantidos em ordem espec&#237;fica.
-
-
-        !i/the.foxes-5.png(The foxes think silence will kill the comic.)!
-
-
-
-        h3. Express&#245;es Regulares
-
-
-        Uma express&#227;o regular (ou _regexp_) &#233; uma s&#233;rie de caracteres cercados por *barras*.
-
-
-        bq. @/ruby/@, @/[0-9]+/@ e @/^\d{3}-\d{3}-\d{4}/@ s&#227;o exemplos.
-
-
-        Express&#245;es regulares s&#227;o usadas para se achar palavras ou padr&#245;es
-        no texto.  As barras dos lados da express&#227;o s&#227;o alfinetes.  
-
-
-        Imagine se voc&#234; tivesse uma palavrinha com alfinetes de cada lado e voc&#234;
-        a segurasse por cima de um livro. Voc&#234; passa a palavra pelo livro e quando ela chega
-        chega perto de uma palavra que coincida, ela come&#231;a a piscar.  Voc&#234; espeta a express&#227;o regular no livro,
-        bem em cima da palavra que bate e ela brilha com as letras da palavra encontrada.
-
-
-        Oh, e quando voc&#234; espeta os alfinetes no livro, o papel espirra, _reg-exp!_
-
-
-        Express&#245;es regulares s&#227;o muito mais r&#225;pidas que folhear um livro. O Ruby
-        pode usar uma express&#227;o regular pra procurar volumes de livros muito rapidamente.
-
-
-        h3. Operadores
-
-
-        Voc&#234; vai usar a seguinte lista de operadores pra matem&#225;tica ou pra comparar coisas no Ruby.
-        Analise a lista, reconhe&#231;a alguns.  Voc&#234; conhece, adi&#231;&#227;o @+@ e subtra&#231;&#227;o @-@
-        e por a&#237; vai.
-
-
-        &lt;pre class=&quot;text&quot;&gt;
-          ** !  ~  *  /  %  +  -  &amp;  
-          &lt;&lt; &gt;&gt; |  ^  &gt;  &gt;= &lt;  &lt;= &lt;=&gt;
-          || != =~ !~ &amp;&amp; += -= == ===
-          .. ... not and or          
-        &lt;/pre&gt;
-
-
-        h3. Keywords (Palavras-Chave, Palavras-Reservadas)
-
-
-        O Ruby tem um n&#250;mero de palavra embutidas, imbu&#237;das em significado.  Estas palavras n&#227;o podem
-        ser usadas como vari&#225;veis ou modificadas &#224;s suas necessidades.  Algumas delas n&#243;s j&#225;
-        discutimos.  Elas est&#227;o na caixa forte, meu amigo.  &#201; s&#243; relar nelas and voc&#234; ter&#225; 
-        um erro oficial de sintaxe.
-
-
-        &lt;pre class=&quot;text&quot;&gt;
-          alias   and     BEGIN   begin   break   case    class   def     defined 
-          do      else    elsif   END     end     ensure  false   for     if 
-          in      module  next    nil     not     or      redo    rescue  retry 
-          return  self    super   then    true    undef   unless  until   when 
-          while   yield 
-        &lt;/pre&gt;
-
-
-        Muito bom.  Estes s&#227;o os ilustres membros da linguagem Ruby.  Teremos um belo
-        banquete n&#243;s proximos tr&#234;s cap&#237;tulos, grudando estas partes em manhosos peda&#231;os
-        de (comovente) c&#243;digo.
-
-
-        E recomendo que voc&#234; d&#234; mais um olhadela pelas partes da conversa.  D&#234; uma olhada ampla
-        nelas.  Eu estarei testando seu metal na pr&#243;xima se&#231;&#227;o.
-
-
-        !i/the.foxes-6.png(Out in the pickup truck.)!
-
-
-#        h3. You and Your Dictionary 
-#
-#        You are out in a public park with your dictionary, enjoying a nice afternoon in the park.
-#        A light breeze ruffles lexicon's pages carelessly in your lap.  A bird is gently beating
-#        its head against a tree.  A tatterdemalion careens by on his unicycle.  All is well.
-#
-#        Hold up.  Your brain wonders about that word.  Tatterdemalion.  Does it really mean
-#        &quot;a shabbily clothed street urchin&quot; like you think it means?  You look at your dictionary.
-#
-#        Now, here is the question.  How will you answer this question with your dictionary?  Where
-#        will you start?  Will you go page-by-page, scanning for &quot;a shabbily clothed street urchin,&quot;
-#        the definition?  Or will you use the dictionary's tabs to jump straight to the T section,
-#        narrowing down the pages toward &quot;tatterdemalion,&quot; the word itself?
-#
-        
+    - As Partes da Conversa: &gt;
+
+        Assim como a faixa branca nas costas do gamb&#225; e a branca e enrolada grinalda da noiva, v&#225;rias partes
+        da conversa t&#234;m sinaliza&#231;&#245;es visuais para te ajudar a identific&#225;-las.  Pontua&#231;&#227;o, mai&#250;sculas e min&#250;sculas,
+        ir&#227;o ajudar seu c&#233;rebro ver peda&#231;os de c&#243;digo e os reconhec&#234;-los intensamente.
+        Sua mente vai gritar frequentemente _Hey, Eu conhe&#231;o aquele cara!_  Voc&#234; vai tamb&#233;m poder
+        contar vantagem em conversas com outros Rubistas.
+
+
+        Tente se focar na apar&#234;ncia de cada uma destas partes da conversa.  O resto do livro vai
+        entrar em detalhes.  Eu darei pequenas descri&#231;&#245;es de cada parte da conversa, mas voc&#234; n&#227;o precisa
+        entender a explica&#231;&#227;o.  Ao t&#233;rmino deste cap&#237;tulo, voc&#234; deve estar apto a reconhecer 
+        cada parte de um programa Ruby.
+
+
+        h3. Vari&#225;veis
+
+
+        Qualquer palavra simples, em min&#250;sculas, &#233; uma vari&#225;vel no ruby.  Vari&#225;veis podem consistir de
+        letras, d&#237;gitos e travess&#245;es.
+
+
+        bq. @x@, @y@, @banana2@ or @telefone_pruma_codorna@ s&#227;o exemplos.
+
+
+        Vari&#225;veis s&#227;o como apelidos.  Lembra quando todo mundo te chamava de Pete Fedido?
+        As pessoas diziam, &quot;Vem aqui, Pete Fedido!&quot;  E todo mundo milagrosamente sabia que 
+        voc&#234; era o Pete Fedido.
+
+
+        Com vari&#225;veis, voc&#234; d&#225; um apelido a algo que voc&#234; use frequentemente.  Por exemplo, vamos dizer
+        que voc&#234; tem um orfanato.  &#201; um orfanato mal&#233;fico.  E quando o Papai Warbucks vem comprar 
+        mais crian&#231;as, n&#243;s insistimos que ele nos pague *cento e vinte um reais e oito centavos* pelo urso
+        teddy da crian&#231;a, o qual ela ficou apegada nos momentos sombrios que passou vivendo neste pesadelo de
+        cust&#243;dia.
+
+
+        bq. @taxa_de_urso_teddy = 121.08@
+
+
+        Mais tarde, quando voc&#234; pegar ele no caixa (uma registradora turbinada que roda
+        Ruby!), voc&#234; vai precisar juntar as somas em um *total*.
+
+
+        bq. @total = taxa_de_orfao + taxa_de_urso_teddy + gorjeta@
+
+
+        Estes apelidos pra vari&#225;veis v&#234;m a calhar.  E no submundo sedento das vendas infantis, qualquer ajuda
+        &#233; bem-vinda, tenho certeza.
+
+
+        !i/the.foxes-4a.png(They mock my examples.)!
+ 
+
+
+        h3. N&#250;meros
+
+
+        O tipo mais b&#225;sico de n&#250;mero &#233; um _integer_ (n&#250;mero inteiro), uma *s&#233;rie de d&#237;gitos* que podem come&#231;ar
+        com um *sinal de menos ou de mais*.
+
+
+        bq. @1@, @23@, e @-10000@ s&#227;o exemplos.
+
+
+        V&#237;rgulas n&#227;o s&#227;o permitidas em n&#250;meros, mas travess&#245;es sim.  Ent&#227;o se voc&#234; acha melhor
+        marcar os milhares para que o n&#250;mero fique mais leg&#237;vel, use um travess&#227;o.
+
+
+        bq. @habitantes = 12_000_000_000@
+
+
+        N&#250;meros decimais s&#227;o chamados de _floats_ (n&#250;meros reais ou ponto flutuante) no Ruby.  
+        N&#250;meros reais consistem em n&#250;meros com
+        *casas decimais* ou *em nota&#231;&#227;o cient&#237;fica*.
+
+
+        bq. @3.14@, @-808.08@ e @12.043e-04@ s&#227;o exemplos.
+
+
+
+        h3. Strings (Conjunto de Caracteres)
+
+
+        Strings s&#227;o quaisquer tipos de caracteres (letras, d&#237;gitos, pontua&#231;&#227;o) cercados por aspas.  
+        *Aspas* simples ou duplas, s&#227;o usadas para se criar strings.
+
+
+        bq. @&quot;laboratoriodomar&quot;@, @'2021'@, or @&quot;Estes quadrinhos s&#227;o hil&#225;rios!&quot;@
+        s&#227;o exemplos.
+
+
+        Quando voc&#234; cerca caracteres em aspas, eles ficam guardados juntos como uma string s&#243;.
+        
+
+        Pense num rep&#243;rter que est&#225; anotando as baboseiras de uma celebridade incoerente.  &quot;Eu estou
+        muito mais s&#225;bia,&quot; disse Avril Lavigne.  &quot;Agora eu sei como as coisas s&#227;o -- o que voc&#234; tem que fazer
+        e como trabalhar isso.&quot;
+
+
+        &lt;pre&gt;
+          frase_da_avril = &quot;Eu estou muito mais s&#225;bia.  Agora eu sei 
+          como as coisas s&#227;o -- o que voc&#234; tem 
+          que fazer e como trabalhar isso.&quot;
+        &lt;/pre&gt;
+
+
+        Ent&#227;o, assim como n&#243;s guardamos um n&#250;mero na vari&#225;vel *taxa_de_urso_teddy,* agora n&#243;s estamos guardando
+        uma cole&#231;&#227;o de caracteres (uma string) na vari&#225;vel *frase_da_avril*.  O rep&#243;rter envia esta frase
+        para impress&#227;o, que por acaso usa  Ruby para operar as impressoras.
+
+
+        &lt;pre&gt;
+         &lt;setup&gt;
+           frase_da_oprah = &quot;O&quot;
+           frase_da_avril = &quot;A&quot;
+           debate_ashlee_simpson = &quot;D&quot;
+         &lt;/setup&gt;
+         print frase_da_oprah
+         print frase_da_avril
+         print debate_ashlee_simpson
+        &lt;/pre&gt;
+
+
+        !i/the.foxes-4b.png(They desire to be in my examples.)!
+
+
+
+        h3. Symbols (S&#237;mbolos)
+
+
+        S&#237;mbolos s&#227;o palavras que parecem vari&#225;veis.  Novamente, elas podem conter letras,
+        d&#237;gitos e travess&#245;es.  Mas elas *come&#231;am com dois pontos*.
+
+
+        bq. @:a@, @:b@, ou @:ponce_de_leon@ are examples.
+
+
+        S&#237;mbolos s&#227;o strings leves.  Geralmente, s&#237;mbolos s&#227;o usados em situa&#231;&#245;es em que voc&#234; precisa de uma string
+        mas n&#227;o vai imprim&#237;-la na tela.
+
+
+        Voc&#234; pode dizer que um s&#237;mbolo &#233; pouco mais diger&#237;vel pro computador.  &#201; como um anti-&#225;cido.  Os dois pontos
+        indicam as bolhas saindo com est&#244;mago do computador enquanto ele digere o s&#237;mbolo.  Ah.  Doce, doce al&#237;vio.
+
+
+        !i/the.foxes-4c.png(Bacon Peda&#231;udo!!)!
+
+
+
+        h3. Constantes
+
+
+        Constantes s&#227;o palavras como vari&#225;veis, mas constantes s&#227;o *mai&#250;sculas*.  Se vari&#225;veis s&#227;o os
+        substativos do Ruby, ent&#227;o pense nas constantes como substantivos pr&#243;prios.
+
+
+        bq. @Time@, @Array@ or @Bunny_Lake_Desapareceu@ s&#227;o exemplos.
+
+
+        Em ingl&#234;s, substantivos pr&#243;prios t&#234;m a primeira letra mai&#250;scula.  O Edif&#237;cio Empire State.  Voc&#234; n&#227;o pode simplesmente
+        mudar o Ed&#237;ficio Empire State.  Voc&#234; n&#227;o pode simplesmente decidir que o Edif&#237;cio Empire State Building &#233; outra coisa.
+        Substantivos pr&#243;prios s&#227;o assim.  Eles se referem a algo muito espec&#237;fico e que usualmente n&#227;o
+        muda com o tempo.
+
+
+        Do mesmo modo, constantes n&#227;o podem ser alteradas depois de criadas.
+
+
+        bq. @EdificioEmpireState = &quot;350 5th Avenue, NYC, NY&quot;@
+
+
+        Se tentarmos mudar a constante, Ruby vai reclamar com a gente.  Coisas assim desagradam ele.
+
+
+        !i/the.foxes-4d.png(Come on, chunky bacon.)!
+
+
+
+        h3. Met&#243;dos
+
+
+        Se vari&#225;veis e constantes s&#227;o substantivos, ent&#227;o m&#233;todos s&#227;o verbos.
+        M&#233;todos geralmente est&#227;o ligados ao final das vari&#225;veis e constantes por um *ponto*.  Voc&#234; j&#225; viu 
+        m&#233;todos trabalhando.
+
+
+        bq. @porta_da_frente.abra@
+
+
+        Acima, *abra* &#233; o m&#233;todo.  Nesta a&#231;&#227;o, o verbo. Em alguns casos, voc&#234; vai ver a&#231;&#245;es ligadas juntas.
+
+
+        bq. @porta_da_frente.abra.feche@
+
+
+        Instru&#237;mos o computador a abrir a porta da frente e depois imediatamente fech&#225;-la.
+
+
+        bq. @porta_da_frente.esta_aberta?@
+
+
+        Acima temos uma a&#231;&#227;o tamb&#233;m.  Estamos instru&#237;do o computador a testar a porta para ver se est&#225; aberta.
+        O m&#233;todo poderia se chamar @Porta.teste_para_ver_se_esta_aberta@, mas o nome @esta_aberta?@ &#233; sucinto e 
+        tamb&#233;m correto.  Exclama&#231;&#245;es e interroga&#231;&#245;es podem ser usadas em nomes de m&#233;todos.
+
+
+        h3. Argumentos de M&#233;todo
+
+
+        Um m&#233;todo talvez precise de mais informa&#231;&#227;o pra realizar sua a&#231;&#227;o.  Se quisermos que o computador
+        pinte a porta, devemos prover uma cor tamb&#233;m.
+
+
+        Argumentos de m&#233;todo v&#227;o ligados ao final do m&#233;todo.  Os argumentos est&#227;o geralmente cercados por
+        *par&#234;nteses* e separados por *v&#237;rgulas*.
+
+
+        bq. @porta_da_frente.pintar( 3, :vermelho )@
+
+
+        O c&#243;digo acima pinta a porta da frente com 3 dem&#227;os de vermelho.
+
+
+        Pense nisso como um tubo inteiror que o m&#233;todo arrumou, cont&#233;ndo suas instru&#231;&#245;es extras.
+        Os par&#234;nteses formam as redondas e molhadas paredes do tubo.  As v&#237;rgulas s&#227;o os p&#233;s de cada argumento,
+        saindo pra fora da beirada.  O &#250;ltimo argumento tem o p&#233; preso embaixo ent&#227;o eles n&#227;o mostram.
+
+
+        Como um barco de b&#243;ias, m&#233;todos com argumentos podem ser ligados.
+
+
+        bq. @porta_da_frente.pintar( 3, :vermelho ).secar( 30 ).fechar()@
+
+
+        O c&#243;digo acima pinta a porta da frente com 3 dem&#227;os de vermelho, seca por 30 minutos, e fecha a porta.  Mesmo que
+        o &#250;ltimo m&#233;todo n&#227;o tenha argumentos, voc&#234; pode colocar par&#234;nteses se quiser.  Um cano vazio n&#227;o tem
+        muito uso, ent&#227;o os par&#234;nteses s&#227;o geralmente deixados pra l&#225;.
+
+
+        Alguns m&#233;todos (como @print@) s&#227;o m&#233;todos do kernel.  Estes m&#233;todos s&#227;o usados por todo Ruby.  J&#225; que elese
+        s&#227;o t&#227;o comuns, voc&#234; n&#227;o usa o ponto.
+
+
+        bq. @print &quot;Veja, sem ponto.&quot;@
+
+
+        h3. M&#233;todos de Classe
+
+
+        Assim como os m&#233;todos descritos acima (tamb&#233;m chamdos m&#233;todos _ de inst&#226;ncia_), m&#233;todos de classe
+        s&#227;o geralmente ligados depois de vari&#225;veis e constantes.  Inv&#233;s de ponto, usa-se *dois pontos duplo.*
+
+
+        bq. @Porta::new( :carvalho )@
+
+
+        Como foi visto acima, o m&#233;todo de classe @new@ &#233; mais usado para se criar coisas.  No exemplo cima, estamos pedindo
+        ao Ruby para fazer uma porta de carvalho nova pra gente.  Claro, o Ruby n&#227;o tem conhecimento de como fazer uma
+        porta--assim como um a pilha de madeira, madeireiros, e aquelas longas, wiggily, two-man saws.
+
+
+        !i/the.foxes-4e.png(Plenty of chunky bacon to go around.)!
+
+
+
+        h3. Vari&#225;veis Globais
+
+
+        Vari&#225;veis que come&#231;am com um *cifr&#227;o* s&#227;o globais.
+
+
+        bq. @$x@, @$1@, @$pedacudo@ and @$BAcOn_PeDAcUDo@ s&#227;o exemplos.
+
+
+        A maioria das v&#225;riaveis s&#227;o tempor&#225;rias por natureza.  Algumas partes do seu programa s&#227;o como casas.
+        Voc&#234; entra e elas tem suas pr&#243;prias vari&#225;veis.  Em um casa, voce pode der um @pai@ que representa
+        Archie, um caixeiro-viajante colecionador de esqueletos.  Em outra casa, @pai@ pode representar
+        Peter, um domador de le&#245;es com grande apre&#231;o por flanela.  Cada casa tem um sentido pr&#243;prio pra @pai@.
+
+
+        Com vari&#225;veis globais, voc&#234; garante que a vari&#225;vel ser&#225; a mesma em cada casinha.
+        O sinal de cifr&#227;o &#233; bem apropriado.  Todo lar Americano respeita o valor do cifr&#227;o.  Somos
+        doidos pela coisa.  Tente bater em qualquer porta na Am&#233;rica e d&#234; a eles dinheiro.  Eu posso garantir
+        que voc&#234; n&#227;o ver&#225; a mesma rea&#231;&#227;o se bater em uma porta e oferecer Peter, um domador de le&#245;es com grande
+        apre&#231;o por flanela.
+
+
+        Vari&#225;veis globais podem ser usadas em qualquer lugar no seu programa.  Elas nunca saem da vista.
+
+
+
+        h3. Vari&#225;veis de Inst&#226;ncia
+
+
+        Vari&#225;veis que come&#231;am com uma *arroba* s&#227;o vari&#225;veis de inst&#226;ncia.
+
+
+        bq. @@x@, @@y@, e @@somente_o_maior_pedaco_de_bacon_que_eu_ja_vi@ s&#227;o exemplos.
+
+
+        Estas vari&#225;veis s&#227;o muito usadas para se definir atributos de alguma coisa.  Por exemplo, voc&#234; pode
+        prover o Ruby com a largura da @porta_da_frente@ criando a vari&#225;vel @@largura@ dentro daquela
+        @porta_da_frente@.  Vari&#225;veis de inst&#226;ncia s&#227;o usadas para se definir caracter&#237;sticas de um objeto
+        em Ruby.
+
+
+        Pense na *arroba (at)* signficando *atributo*.
+        
+
+
+        h3. Vari&#225;veis de Classe
+
+
+        Vari&#225;veis que come&#231;am com *duas arrobas* s&#227;o vari&#225;veis de classe.
+
+
+        bq. @@@x@, @@@y@, e @@@vou_pegar_seus_bacons_pedacudos_e_ensinar_uma_licao_pra_voces_dois@ s&#227;o exemplos.
+
+
+        Vari&#225;veis de classe s&#227;o usadas, tamb&#233;m, para se definir atributos.  Mas ao inv&#233;s de definir um atributo
+        a apenas um objeto no Ruby, vari&#225;veis de classe d&#227;o um atributo a v&#225;rios objetos relacionados no Ruby.
+        Se as vari&#225;veis de inst&#226;ncia estipulam atributos para s&#243; uma @porta_da_frente@, ent&#227;o vari&#225;veis de classe 
+        estipulam atributoes pra tudo que for @Porta@.
+
+
+        Pense no prefixo das *duas arrobas* significando *atribua a todos*.  Adicionalmente, voc&#234; pode pensar em uma
+        manada de *AT-ATs* de _Star Wars_, que s&#227;o comandados pelo Ruby.  Voc&#234; muda uma vari&#225;vel de classe
+        e n&#227;o apenas uma muda, todas elas mudam.
+
+
+        !i/the.foxes-4f.png(Woohoo! Chunky bacon accomplished!)!
+
+
+
+        h3. Blocos
+
+
+        Qualquer c&#243;digo cercado por *colchetes* &#233; um bloco.
+
+
+        bq. @2.times { print &quot;Sim, Tenho usado bacon peda&#231;udo nos meus exemplos, mas n&#227;o farei de novo!&quot; }@ is an example.
+
+
+        Com blocos, voc&#234; pode agrupar peda&#231;os de instru&#231;&#245;es juntas, assim elas pode ser passadas
+        pelo seu programa.  
+        Os colchetes d&#227;o a apar&#234;ncia de garras de caranguejo que pegaram o c&#243;digo e o est&#227;o
+        segurando.  Quando voc&#234; ver estas duas garras, lembre-se que o c&#243;digo dentro
+        foi prensado em uma s&#243; unidade.
+
+
+        &#201; como uma daquelas caixas da Hello Kitty que eles vendem no shopping
+        que v&#234;m lotadas de pequenos l&#225;pis e papel microsc&#243;pico, espremidos numa bolsa
+        transparente e brilhante que pode ser escondida na palma da m&#227;o para opera&#231;&#245;es clandestinas
+        estacion&#225;rias.  Exceto que, blocos n&#227;o ofuscam sua vis&#227;o.
+
+
+        As chaves pode ser substitu&#237;das pelas palavras *do* e *end*, o que &#233; bacana se seu bloco for
+        maior que uma linha.
+
+
+        &lt;pre&gt;
+         loop do
+           print &quot;Bem melhor.&quot;
+           print &quot;Ah.  Mais espa&#231;o!&quot;
+           print &quot;Minhas costas estavam me matando dentro daquelas garras de caranguejo.&quot;
+         end
+         &lt;stdout&gt;Bem melhor.Ah.  Mais espa&#231;o!Minhas costas estavam me matando dentro daquelas garras de caranguejo.&lt;/stdout&gt;
+        &lt;/pre&gt;
+        
+
+
+        h3. Argumentos de Bloco
+
+
+        Argumentos de bloco s&#227;o uma s&#233;rie de vari&#225;veis cercadas por s&#237;mbolos *tal que* 
+        e separadas por *v&#237;rgulas*.
+
+
+        bq. @|en||x|@, @|x,y|@, e @|cima, baixo, todo_lado|@ s&#227;o exemplo.
+
+
+        Argumentos de bloco s&#227;o usando no in&#237;cio do bloco.
+
+
+        bq. @{ |x,y| x + y }@
+
+
+        No c&#243;digo acima, @|x,y|@ s&#227;o os argumentos. Depois dos argumentos, temos um peda&#231;o de c&#243;digo.
+        A express&#227;o @x + y@ soma os argumentos.
+
+
+        Eu gosto de pensar nos s&#237;mbolos tal que representando um t&#250;nel.  Ele d&#227;o a apar&#234;ncia de uma
+        calha na qual as v&#225;riaveis est&#227;o descendo.  (O @x@ desce com as pernas abertas, enquanto o @y@
+        harmoniosamente cruza as pernas.)  Essa calha age como uma passagem entre os blocos e o mundo l&#225; fora.  
+
+
+        Vari&#225;veis s&#227;o passadas por essa calha (ou t&#250;nel) pra dentro do bloco.
+
+
+        !i/the.foxes-4g.png(And then, the dismal truth.)!
+
+
+
+        h3. Ranges (Per&#237;odos)
+
+
+        Range s&#227;o dois valores cercados por *par&#234;nteses* e separados por *uma el&#237;pse* (na forma de
+        dois ou tr&#234;s pontos).
+
+
+        bq. @(1..3)@ &#233; um range, representando os n&#250;meros de 1 at&#233; 3.
+
+
+        bq. @('a'..'z')@ &#233; um range, representando o alfabeto em min&#250;sculas.
+
+
+        Pense neles como um acorde&#227;o que fora fechado para se carregar.  (Voc&#234; pode construir muito amor pr&#243;prio 
+        levando consigo um acorde&#227;o aberto... mas, as vezes uma pessoa tem q mergulhar em d&#250;vidas e esconder 
+        cuidadosamente a sanfona)  Os par&#234;nteses s&#227;o os lados deste pequeno acorde&#227;o de m&#227;o.  
+        Os pontos s&#227;o a fole, mantendo as partes bem unidas.
+
+
+        Normalmente, apenas dois pontos s&#227;o usados. Se um terceiro ponto for usado, o &#250;ltimo valor no range ser&#225;
+        exclu&#237;do.
+
+
+        bq. @(0...5)@ representa os n&#250;meros de 0 at&#233; 4.
+
+
+        Quando voc&#234; v&#234; o terceiro ponto, imagine abrir o acorde&#227;o um pouco menos.  O necess&#225;rio para uma nota
+        apenas de seu fole.  A nota &#233; este &#250;ltimo valor.  N&#243;s vamos deixar que o c&#233;u a coma.
+
+
+        h3. Arrays (Conjuntos, Vetores)
+
+
+        Um array &#233; uma lista cercada por *chaves* e separada por *v&#237;rgulas*.
+
+
+        bq. @[1, 2, 3]@ &#233; um array de n&#250;meros.
+
+
+        bq. @['casaco', 'luvas', 'snowboard']@ &#233; um array de strings.
+
+
+        Pense nele como uma centop&#233;ia que foi grampeada no nosso c&#243;digo.  As duas chaves
+        s&#227;o grampos que n&#227;o deixam a centop&#233;ira se movimentar, ent&#227;o voc&#234; consegue distinguir onde &#233; cabe&#231;a e
+        onde &#233; a cauda.  As v&#237;rgulas s&#227;o as pernas da centop&#233;ia, balan&#231;ando entre cada se&#231;&#227;o do seu corpo.
+
+
+        Era uma vez uma centop&#233;ia que tinha v&#237;rgulas ao inv&#233;s de pernas.  O que significa que ela tinha que
+        dar uma pausa liter&#225;ria a cada passo.  As outra centop&#233;ias a respeitavam muito por isso e ela veio a ter
+        uma bela presen&#231;a no comando.  Oh, e que filantropo!  Ela ficou famosa por
+        dar folhas frescas aos menos afortunados.
+
+
+        Sim, um array &#233; uma cole&#231;&#227;o de coisas, mas ele tamb&#233;m mant&#233;m estas coisas em uma ordem espec&#237;fica.
+
+
+
+        h3. Hashes (Bolo, Mistura)
+
+
+        Um hash &#233; um dicion&#225;rio cercado por *colchetes*.  Dicion&#225;rios servem para encontrar defini&#231;&#245;es
+        das palavras.  O Ruby faz isso com *setas* feitas de sinais de igual, seguida por um sinal de
+        maior que.
+
+
+        bq. @{'a' =&gt; 'aardvark', 'b' =&gt; 'texugo'}@ s&#227;o um exemplo.
+
+
+        Desta vez, os colchetes representam livrinhos.  Veja como eles se parecem com
+        pequenos, livros abertos com dobras no meio?  Eles represntam abrir e fechar
+        nosso dicion&#225;rio. 
+
+
+        Imagine que nosso dicion&#225;rio tem um defini&#231;&#227;o em cada p&#225;gina.  As v&#237;rgulas representam
+        os cantos de cada p&#225;gina, que n&#243;s viramos pra ver a pr&#243;xima defini&#231;&#227;o.  E em cada p&#225;gina:
+        uma palavra seguida por uma seta apontando a defini&#231;&#227;o.
+
+
+        &lt;pre&gt;
+         {
+           'nome' =&gt; 'Peter',
+           'profissao' =&gt; 'domador de le&#245;es',
+           'grande apreco' =&gt; 'flanela'
+         }
+        &lt;/pre&gt;
+
+
+        N&#227;o estou compararando hashes a dicion&#225;rios por que voc&#234; pode guardar s&#243; defini&#231;&#245;es
+        na hash.  No exemplo acima, eu guardei informa&#231;&#227;o pessoal de Peter, o domador
+        de le&#245;es com grande apre&#231;o por flanela.  Hashes s&#227;o como dicion&#225;rios porque elas s&#227;o
+        muito f&#225;ceis de se procurar algo.
+
+
+        Diferentemente dos arrays, os itens na hash n&#227;o s&#227;o mantidos em ordem espec&#237;fica.
+
+
+        !i/the.foxes-5.png(The foxes think silence will kill the comic.)!
+
+
+
+        h3. Express&#245;es Regulares
+
+
+        Uma express&#227;o regular (ou _regexp_) &#233; uma s&#233;rie de caracteres cercados por *barras*.
+
+
+        bq. @/ruby/@, @/[0-9]+/@ e @/^\d{3}-\d{3}-\d{4}/@ s&#227;o exemplos.
+
+
+        Express&#245;es regulares s&#227;o usadas para se achar palavras ou padr&#245;es
+        no texto.  As barras dos lados da express&#227;o s&#227;o alfinetes.  
+
+
+        Imagine se voc&#234; tivesse uma palavrinha com alfinetes de cada lado e voc&#234;
+        a segurasse por cima de um livro. Voc&#234; passa a palavra pelo livro e quando ela chega
+        chega perto de uma palavra que coincida, ela come&#231;a a piscar.  Voc&#234; espeta a express&#227;o regular no livro,
+        bem em cima da palavra que bate e ela brilha com as letras da palavra encontrada.
+
+
+        Oh, e quando voc&#234; espeta os alfinetes no livro, o papel espirra, _reg-exp!_
+
+
+        Express&#245;es regulares s&#227;o muito mais r&#225;pidas que folhear um livro. O Ruby
+        pode usar uma express&#227;o regular pra procurar volumes de livros muito rapidamente.
+
+
+        h3. Operadores
+
+
+        Voc&#234; vai usar a seguinte lista de operadores pra matem&#225;tica ou pra comparar coisas no Ruby.
+        Analise a lista, reconhe&#231;a alguns.  Voc&#234; conhece, adi&#231;&#227;o @+@ e subtra&#231;&#227;o @-@
+        e por a&#237; vai.
+
+
+        &lt;pre class=&quot;text&quot;&gt;
+          ** !  ~  *  /  %  +  -  &amp;  
+          &lt;&lt; &gt;&gt; |  ^  &gt;  &gt;= &lt;  &lt;= &lt;=&gt;
+          || != =~ !~ &amp;&amp; += -= == ===
+          .. ... not and or          
+        &lt;/pre&gt;
+
+
+        h3. Keywords (Palavras-Chave, Palavras-Reservadas)
+
+
+        O Ruby tem um n&#250;mero de palavra embutidas, imbu&#237;das em significado.  Estas palavras n&#227;o podem
+        ser usadas como vari&#225;veis ou modificadas &#224;s suas necessidades.  Algumas delas n&#243;s j&#225;
+        discutimos.  Elas est&#227;o na caixa forte, meu amigo.  &#201; s&#243; relar nelas and voc&#234; ter&#225; 
+        um erro oficial de sintaxe.
+
+
+        &lt;pre class=&quot;text&quot;&gt;
+          alias   and     BEGIN   begin   break   case    class   def     defined 
+          do      else    elsif   END     end     ensure  false   for     if 
+          in      module  next    nil     not     or      redo    rescue  retry 
+          return  self    super   then    true    undef   unless  until   when 
+          while   yield 
+        &lt;/pre&gt;
+
+
+        Muito bom.  Estes s&#227;o os ilustres membros da linguagem Ruby.  Teremos um belo
+        banquete n&#243;s proximos tr&#234;s cap&#237;tulos, grudando estas partes em manhosos peda&#231;os
+        de (comovente) c&#243;digo.
+
+
+        E recomendo que voc&#234; d&#234; mais um olhadela pelas partes da conversa.  D&#234; uma olhada ampla
+        nelas.  Eu estarei testando seu metal na pr&#243;xima se&#231;&#227;o.
+
+
+        !i/the.foxes-6.png(Out in the pickup truck.)!
+
+
+#        h3. You and Your Dictionary 
+#
+#        You are out in a public park with your dictionary, enjoying a nice afternoon in the park.
+#        A light breeze ruffles lexicon's pages carelessly in your lap.  A bird is gently beating
+#        its head against a tree.  A tatterdemalion careens by on his unicycle.  All is well.
+#
+#        Hold up.  Your brain wonders about that word.  Tatterdemalion.  Does it really mean
+#        &quot;a shabbily clothed street urchin&quot; like you think it means?  You look at your dictionary.
+#
+#        Now, here is the question.  How will you answer this question with your dictionary?  Where
+#        will you start?  Will you go page-by-page, scanning for &quot;a shabbily clothed street urchin,&quot;
+#        the definition?  Or will you use the dictionary's tabs to jump straight to the T section,
+#        narrowing down the pages toward &quot;tatterdemalion,&quot; the word itself?
+#
+        </diff>
      <filename>lang-pt/poignant-18.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,35 +1,35 @@
-    - !^sidebar
-      Sete momentos Zen da minha vida: &gt;
-
-        # 8 anos de idade.  Apenas deitado na cama, pensando.  E eu percebo.  
-        _N&#227;o h&#225; nada que me impe&#231;a de virar um odontopediatra._
-
-        # 21.  Achei um l&#225;pis na praia.  Gravado nele estava: _Eu amo serenidade._  Enfiei ele no
-        bolso do meu palet&#243;.  Assisi as ondas indo e voltando.
-
-        # 22.  Encontrei um besouro no meu banheiro que estava prestes a cair na sa&#237;da do aquecedor.
-        Peguei ele.  Fiz uma pequena mochila com uma folha e linha.
-        Dentro da mochila: um pino e uma pilha AAA.  Isso deve ser suficiente para ele.  Libertei ele
-        pelo port&#227;o da frente.
-
-        # Tr&#234;s anos de idade.  Puxei a cortina para o lado.  Luz do sol.
-
-        # 14.  Andando de bicicleta no p&#237;er com meu treinador correndo logo atr&#225;s de mim
-        enquanto o sol se p&#245;e logo depois que eu nocauteei Piston Honda na vers&#227;o original 
-        para Nintendo de Mike Tyson's Punch-Out.
-
-        # 11.  Doente.  Assistindo Heathcliff na televis&#227;o.  Por horas, era s&#243; Heathcliff.
-        E ele era capaz de vir bem perto do meu rosto.  A cabe&#231;a dele crescia em minha dire&#231;&#227;o.
-        Seu rosto pulsava, bem perto, e depois milh&#245;es de milhas distante.
-        O som havia sumido.  Em fra&#231;&#245;es de segundo, Heathcliff preencheu o universo, ent&#227;o
-        se foi para o fim da eternidade.  Eu ouvi a voz da minha m&#227;e tentando falar mais alto
-        que o desenho.  Heathperto, Heathlonge, Heathperto, Heathlonge.
-        Era um del&#237;rio religioso com um gato, um estrobosc&#243;pio e o grave abafado da voz da minha m&#227;e.
-        (Eu tive 40,5 de febre aquele dia.)
-
-        # 18.  Comprei um gigapet.  Um pato.  Alimentei ele por um tempo.  Dei banho nele.
-        Esqueci dele por quase dois meses.  Um dia, enquanto estava limpando, encontrei uma corrente
-        e ele estava preso a ela.  Hey, patinho.  Louco psic&#243;tico, pulando com seu cabelo pra fora,
-        gritando linhas diagonais.  De smoking.
-
-
+    - !^sidebar
+      Sete momentos Zen da minha vida: &gt;
+
+        # 8 anos de idade.  Apenas deitado na cama, pensando.  E eu percebo.  
+        _N&#227;o h&#225; nada que me impe&#231;a de virar um odontopediatra._
+
+        # 21.  Achei um l&#225;pis na praia.  Gravado nele estava: _Eu amo serenidade._  Enfiei ele no
+        bolso do meu palet&#243;.  Assisi as ondas indo e voltando.
+
+        # 22.  Encontrei um besouro no meu banheiro que estava prestes a cair na sa&#237;da do aquecedor.
+        Peguei ele.  Fiz uma pequena mochila com uma folha e linha.
+        Dentro da mochila: um pino e uma pilha AAA.  Isso deve ser suficiente para ele.  Libertei ele
+        pelo port&#227;o da frente.
+
+        # Tr&#234;s anos de idade.  Puxei a cortina para o lado.  Luz do sol.
+
+        # 14.  Andando de bicicleta no p&#237;er com meu treinador correndo logo atr&#225;s de mim
+        enquanto o sol se p&#245;e logo depois que eu nocauteei Piston Honda na vers&#227;o original 
+        para Nintendo de Mike Tyson's Punch-Out.
+
+        # 11.  Doente.  Assistindo Heathcliff na televis&#227;o.  Por horas, era s&#243; Heathcliff.
+        E ele era capaz de vir bem perto do meu rosto.  A cabe&#231;a dele crescia em minha dire&#231;&#227;o.
+        Seu rosto pulsava, bem perto, e depois milh&#245;es de milhas distante.
+        O som havia sumido.  Em fra&#231;&#245;es de segundo, Heathcliff preencheu o universo, ent&#227;o
+        se foi para o fim da eternidade.  Eu ouvi a voz da minha m&#227;e tentando falar mais alto
+        que o desenho.  Heathperto, Heathlonge, Heathperto, Heathlonge.
+        Era um del&#237;rio religioso com um gato, um estrobosc&#243;pio e o grave abafado da voz da minha m&#227;e.
+        (Eu tive 40,5 de febre aquele dia.)
+
+        # 18.  Comprei um gigapet.  Um pato.  Alimentei ele por um tempo.  Dei banho nele.
+        Esqueci dele por quase dois meses.  Um dia, enquanto estava limpando, encontrei uma corrente
+        e ele estava preso a ela.  Hey, patinho.  Louco psic&#243;tico, pulando com seu cabelo pra fora,
+        gritando linhas diagonais.  De smoking.
+
+</diff>
      <filename>lang-pt/poignant-19.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,64 +1,64 @@
-    - If I Haven't Treated You Like a Child Enough Already: &gt;
-
-        Estou orgulhoso de voc&#234;.   Anyone will tell you how much I brag about you.  How I go on and on about
-        this great anonymous person out there who scrolls and reads and scrolls and reads.  &quot;These
-        kids,&quot; I tell them.  &quot;Man, these kids got heart.  I never...&quot;  And I can't even finish a sentence
-        because I'm absolutely blubbering.
-        
-
-        E meu cora&#231;&#227;o irradia um vermelho intenso sob minha pele transl&#250;cida e eles tiveram que me administrar
-        10cc de Javascript para me fazer voltar.  (Eu respondo bem a toxinas no sangue.)  Man, that stuff will 
-        kick the peaches right out your gills!
-
-
-        So, yes.  Voc&#234; t&#225; indo bem.  Mas agora eu devo come&#231;ar a ser um be a brutal schoolmaster.
-        I need to start seeing good marks from you.  At&#233; agora, voc&#234; n&#227;o fez nada mais do que olhar pra cima
-        e pra baixo.  Okay, claro, voc&#234; fez excepcionais leituras em voz alta mais cedo.  Agora n&#243;s precisamos
-        de habilidade de compreens&#227;o aqui, Smotchkkiss.
-
-
-        *Diga em voz alta cada parte do discurso usada abaixo.*
-
-
-        bq. @5.times { print &quot;Odelay!&quot; }@
-
-
-        You might want to even cover this paragraph up while you read, because your eyes might want
-        to sneak to the answer.  N&#243;s tempos um _n&#250;mero_ @5@, seguido por um _m&#233;todo_ @.times@.  Depois, a primeira
-        garra de caranguejo de um _bloco_.  O _m&#233;todo_ do kernel @print@ n&#227;o tem ponto e &#233; seguido por uma _string_
-        @&quot;Odelay!&quot;@.  A garra de canguejo final fecha nosso _bloco_.
-
-
-        *Say aloud each of the parts of speech used below.*
-
-
-        bq. @exit unless &quot;restaurante&quot;.include? &quot;aura&quot;@
-
-
-        Assim como o m&#233;todo @print@, @exit@ &#233; um _m&#233;todo_ do Kernel.  Se voc&#234; prestou aten&#231;&#227;o na grande lista de 
-        palavras reservadas, voc&#234; saber&#225; que @unless@ &#233; uma dessas _palavras reservadas_.  A _string_ @&quot;restaurante&quot;@
-         is clung to  by the _method_ @include?@.  E finalmente, a string @&quot;aura&quot;@.
-
-
-        *Say aloud each of the parts of speech used below.*
-
-
-        bq. @['torrada', 'queijo', 'vinho'].@
-
-        @each { |alimento| print( alimento.capitalize ) }@
-
-
-        Esta centop&#233;ia partakes of finer delicacies.  Um _array_ inicia o exemplo.  No array, tr&#234;s
-        _strings_ @'torrada'@, @'queijo'@, e @'vinho'@.  Todo o array &#233; seguido por um _m&#233;todo_ @each@.  
-
-
-        Dentro de um _bloco_, o _argumento do bloco_ @alimento@, descendo seu tobo&#225;gua dentro do bloco.
-        O _m&#233;todo_ @capitalize@ ent&#227;o passa pra ma&#237;uscula a primeira letra do argumento do bloco, a qual 
-        &#233;as become _variable_ @food@.  This capitalized _string_ is passed to kernel _method_ @print@.
-
-
-        Olhe os exemplos mais uma vez.  Tenha certeza de que voc&#234; reconhece todas as partes do discurso usadas.
-        Elas s&#227;o bem distintas, n&#227;o?  Respire profundamente, press firmly on your temples.  Now, let's
-        dissect a cow's eye worth of code.
-
-        
+    - If I Haven't Treated You Like a Child Enough Already: &gt;
+
+        Estou orgulhoso de voc&#234;.   Anyone will tell you how much I brag about you.  How I go on and on about
+        this great anonymous person out there who scrolls and reads and scrolls and reads.  &quot;These
+        kids,&quot; I tell them.  &quot;Man, these kids got heart.  I never...&quot;  And I can't even finish a sentence
+        because I'm absolutely blubbering.
+        
+
+        E meu cora&#231;&#227;o irradia um vermelho intenso sob minha pele transl&#250;cida e eles tiveram que me administrar
+        10cc de Javascript para me fazer voltar.  (Eu respondo bem a toxinas no sangue.)  Man, that stuff will 
+        kick the peaches right out your gills!
+
+
+        So, yes.  Voc&#234; t&#225; indo bem.  Mas agora eu devo come&#231;ar a ser um be a brutal schoolmaster.
+        I need to start seeing good marks from you.  At&#233; agora, voc&#234; n&#227;o fez nada mais do que olhar pra cima
+        e pra baixo.  Okay, claro, voc&#234; fez excepcionais leituras em voz alta mais cedo.  Agora n&#243;s precisamos
+        de habilidade de compreens&#227;o aqui, Smotchkkiss.
+
+
+        *Diga em voz alta cada parte do discurso usada abaixo.*
+
+
+        bq. @5.times { print &quot;Odelay!&quot; }@
+
+
+        You might want to even cover this paragraph up while you read, because your eyes might want
+        to sneak to the answer.  N&#243;s tempos um _n&#250;mero_ @5@, seguido por um _m&#233;todo_ @.times@.  Depois, a primeira
+        garra de caranguejo de um _bloco_.  O _m&#233;todo_ do kernel @print@ n&#227;o tem ponto e &#233; seguido por uma _string_
+        @&quot;Odelay!&quot;@.  A garra de canguejo final fecha nosso _bloco_.
+
+
+        *Say aloud each of the parts of speech used below.*
+
+
+        bq. @exit unless &quot;restaurante&quot;.include? &quot;aura&quot;@
+
+
+        Assim como o m&#233;todo @print@, @exit@ &#233; um _m&#233;todo_ do Kernel.  Se voc&#234; prestou aten&#231;&#227;o na grande lista de 
+        palavras reservadas, voc&#234; saber&#225; que @unless@ &#233; uma dessas _palavras reservadas_.  A _string_ @&quot;restaurante&quot;@
+         is clung to  by the _method_ @include?@.  E finalmente, a string @&quot;aura&quot;@.
+
+
+        *Say aloud each of the parts of speech used below.*
+
+
+        bq. @['torrada', 'queijo', 'vinho'].@
+
+        @each { |alimento| print( alimento.capitalize ) }@
+
+
+        Esta centop&#233;ia partakes of finer delicacies.  Um _array_ inicia o exemplo.  No array, tr&#234;s
+        _strings_ @'torrada'@, @'queijo'@, e @'vinho'@.  Todo o array &#233; seguido por um _m&#233;todo_ @each@.  
+
+
+        Dentro de um _bloco_, o _argumento do bloco_ @alimento@, descendo seu tobo&#225;gua dentro do bloco.
+        O _m&#233;todo_ @capitalize@ ent&#227;o passa pra ma&#237;uscula a primeira letra do argumento do bloco, a qual 
+        &#233;as become _variable_ @food@.  This capitalized _string_ is passed to kernel _method_ @print@.
+
+
+        Olhe os exemplos mais uma vez.  Tenha certeza de que voc&#234; reconhece todas as partes do discurso usadas.
+        Elas s&#227;o bem distintas, n&#227;o?  Respire profundamente, press firmly on your temples.  Now, let's
+        dissect a cow's eye worth of code.
+
+        </diff>
      <filename>lang-pt/poignant-20.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,90 +1,90 @@
-    - Um Exemplo Para Te Ajudar a Crescer: &gt;
-
-        !i/the.foxes-7.png(Gettin' cabin fever.)!
-
-
-        *Diga em voz alta cada uma das partes da conversa usadas abaixo.*
-
-
-        &lt;pre&gt;
-         require 'net/http'
-         Net::HTTP.start( 'www.ruby-lang.org', 80 ) do |http|
-             print( http.get( '/en/LICENSE.txt' ).body )
-         end
-        &lt;/pre&gt;
-
-
-        A primeira linha chama um m&#233;todo. O _m&#233;todo_ chamado @require@ &#233; usado.  Uma _string_ &#233; passada ao
-        m&#233;todo contendo @'net/http'@.  Pense nesta primeira linha de c&#243;digo como uma senten&#231;a.  N&#243;s dissemos
-        ao Ruby para carregar um c&#243;digo auxiliar, a biblioteca @Net::HTTP.@
-
-
-        As pr&#243;ximas tr&#234;s linhas v&#227;o todas juntas.  A _constante_ @Net::HTTP@ refere &#224; biblioteca que carregamos acima.
-        N&#243;s estamos usando o _m&#233;todo_ @start@ da biblioteca.  Dentro do m&#233;todo, estamos enviando uma _string_
-        @'www.ruby-lang.org'@ e o _n&#250;mero_ @80@.
-
-
-        A palvra @do@ abre um _block_.  O block tem _uma v&#225;riavel de bloco_ @http@.  Dentro do block, o _m&#233;todo_
-        @print@ &#233; chamado.  O que est&#225; sendo imprimido?
-
-
-        A partir da _vari&#225;vel_ @http@, o _m&#233;todo_ @get@ &#233; chamado.  Dentro do @get@, n&#243;s passamos uma _string_ contendo
-        o caminho @'/en/LICENSE.txt'@.  Agora, repare que outro m&#233;todo est&#225; ligado no @get@.  O _m&#233;todo_
-        @body (corpo)@.  Ent&#227;o, o bloco se fecha com @end@.
-
-
-        T&#225; indo bem?  S&#243; por curiosidade, voc&#234; consegue advinhar o que este exemplo faz?  Espero eu, que voc&#234; j&#225; esteja 
-        vendo alguns padr&#245;es no Ruby.  Se n&#227;o, balance sua cabe&#231;a vigorosamente enquanto voc&#234; p&#245;e estes exemplos
-        na sua mente.  O c&#243;digo deve se quebrar em peda&#231;os gerenci&#225;veis.
-
-
-        Por exemplo, este padr&#227;o &#233; usando um monte de vezes:
-
-
-        bq. _variavel_ . _metodo_ ( _argumentos do metodo_ )
-
-
-        Voc&#234; v&#234; isso dentro do:
-
-
-        bq. @http.get( '/en/LICENSE.txt' )@
-
-
-        Estamos usando o Ruby para pegar uma p&#225;gina da web.  Voc&#234; provavelmente j&#225; usou HTTP com o seu navegador.  HTTP &#233;
-        o Hypertext Transfer Protocol.  HTTP &#233; usado para se transferir p&#225;ginas pela internet.  Conceitualize
-        um motorista de &#244;nibus que pode dirigir por toda a internet e trazer de volta p&#225;ginas pra gente.  No quepe dele
-        est&#227;o estampadas as letras HTTP.
-
-
-        A vari&#225;vel @http@ &#233; aquele motorista.  O -m&#233;todo_ &#233; uma mensagem para o motorista.  V&#225; @get (pegar)@
-        a p&#225;gina da web chamada @/en/LICENSE.txt@.
-
-
-        Ent&#227;o quando voc&#234; v&#234; esta cadeia de m&#233;todos:
-
-
-        bq. @http.get( '/en/LICENSE.txt' ).body@
-
-
-        J&#225; que estaremos recebendo a p&#225;gina de volta pelo motorista @http@, voc&#234; pode ler isto na sua cabe&#231;a
-        assim:
-
-
-        bq. _p&#225;gina web_ .body
-
-
-        E neste peda&#231;o de c&#243;digo:
-
-
-        bq. @print( http.get( '/en/LICENSE.txt' ).body )@
-
-
-        Este c&#243;digo pega a p&#225;gina.  N&#243;s mandamos uma mensagem: @body@ para a p&#225;gina, que por sua vez nos d&#225;
-        HTML em uma _string_.  N&#243;s ent&#227;o @imprimimos@ esta string.  Veja como o b&#225;sico padr&#227;o ponto-m&#233;todo acontece
-        em cadeia.  No pr&#243;ximo cap&#237;tulo vamos explorar todos estes tipos de padr&#245;es no Ruby.  Vai ser boa divers&#227;o.
-
-
-        Ent&#227;o, o que este c&#243;digo faz?  Ele imprime o HTML d&#225; p&#225;gina web do Ruby na tela.  Usando 
-        um motorista de &#244;nibus habilitado pra web.
-
-
+    - Um Exemplo Para Te Ajudar a Crescer: &gt;
+
+        !i/the.foxes-7.png(Gettin' cabin fever.)!
+
+
+        *Diga em voz alta cada uma das partes da conversa usadas abaixo.*
+
+
+        &lt;pre&gt;
+         require 'net/http'
+         Net::HTTP.start( 'www.ruby-lang.org', 80 ) do |http|
+             print( http.get( '/en/LICENSE.txt' ).body )
+         end
+        &lt;/pre&gt;
+
+
+        A primeira linha chama um m&#233;todo. O _m&#233;todo_ chamado @require@ &#233; usado.  Uma _string_ &#233; passada ao
+        m&#233;todo contendo @'net/http'@.  Pense nesta primeira linha de c&#243;digo como uma senten&#231;a.  N&#243;s dissemos
+        ao Ruby para carregar um c&#243;digo auxiliar, a biblioteca @Net::HTTP.@
+
+
+        As pr&#243;ximas tr&#234;s linhas v&#227;o todas juntas.  A _constante_ @Net::HTTP@ refere &#224; biblioteca que carregamos acima.
+        N&#243;s estamos usando o _m&#233;todo_ @start@ da biblioteca.  Dentro do m&#233;todo, estamos enviando uma _string_
+        @'www.ruby-lang.org'@ e o _n&#250;mero_ @80@.
+
+
+        A palvra @do@ abre um _block_.  O block tem _uma v&#225;riavel de bloco_ @http@.  Dentro do block, o _m&#233;todo_
+        @print@ &#233; chamado.  O que est&#225; sendo imprimido?
+
+
+        A partir da _vari&#225;vel_ @http@, o _m&#233;todo_ @get@ &#233; chamado.  Dentro do @get@, n&#243;s passamos uma _string_ contendo
+        o caminho @'/en/LICENSE.txt'@.  Agora, repare que outro m&#233;todo est&#225; ligado no @get@.  O _m&#233;todo_
+        @body (corpo)@.  Ent&#227;o, o bloco se fecha com @end@.
+
+
+        T&#225; indo bem?  S&#243; por curiosidade, voc&#234; consegue advinhar o que este exemplo faz?  Espero eu, que voc&#234; j&#225; esteja 
+        vendo alguns padr&#245;es no Ruby.  Se n&#227;o, balance sua cabe&#231;a vigorosamente enquanto voc&#234; p&#245;e estes exemplos
+        na sua mente.  O c&#243;digo deve se quebrar em peda&#231;os gerenci&#225;veis.
+
+
+        Por exemplo, este padr&#227;o &#233; usando um monte de vezes:
+
+
+        bq. _variavel_ . _metodo_ ( _argumentos do metodo_ )
+
+
+        Voc&#234; v&#234; isso dentro do:
+
+
+        bq. @http.get( '/en/LICENSE.txt' )@
+
+
+        Estamos usando o Ruby para pegar uma p&#225;gina da web.  Voc&#234; provavelmente j&#225; usou HTTP com o seu navegador.  HTTP &#233;
+        o Hypertext Transfer Protocol.  HTTP &#233; usado para se transferir p&#225;ginas pela internet.  Conceitualize
+        um motorista de &#244;nibus que pode dirigir por toda a internet e trazer de volta p&#225;ginas pra gente.  No quepe dele
+        est&#227;o estampadas as letras HTTP.
+
+
+        A vari&#225;vel @http@ &#233; aquele motorista.  O -m&#233;todo_ &#233; uma mensagem para o motorista.  V&#225; @get (pegar)@
+        a p&#225;gina da web chamada @/en/LICENSE.txt@.
+
+
+        Ent&#227;o quando voc&#234; v&#234; esta cadeia de m&#233;todos:
+
+
+        bq. @http.get( '/en/LICENSE.txt' ).body@
+
+
+        J&#225; que estaremos recebendo a p&#225;gina de volta pelo motorista @http@, voc&#234; pode ler isto na sua cabe&#231;a
+        assim:
+
+
+        bq. _p&#225;gina web_ .body
+
+
+        E neste peda&#231;o de c&#243;digo:
+
+
+        bq. @print( http.get( '/en/LICENSE.txt' ).body )@
+
+
+        Este c&#243;digo pega a p&#225;gina.  N&#243;s mandamos uma mensagem: @body@ para a p&#225;gina, que por sua vez nos d&#225;
+        HTML em uma _string_.  N&#243;s ent&#227;o @imprimimos@ esta string.  Veja como o b&#225;sico padr&#227;o ponto-m&#233;todo acontece
+        em cadeia.  No pr&#243;ximo cap&#237;tulo vamos explorar todos estes tipos de padr&#245;es no Ruby.  Vai ser boa divers&#227;o.
+
+
+        Ent&#227;o, o que este c&#243;digo faz?  Ele imprime o HTML d&#225; p&#225;gina web do Ruby na tela.  Usando 
+        um motorista de &#244;nibus habilitado pra web.
+
+</diff>
      <filename>lang-pt/poignant-21.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,49 +1,49 @@
-    - And So, The Quick Trip Came To An Eased, Cushioned Halt: &gt;
-
-        !i/the.foxes-8.png(Running after the truck.)!
-
-
-        So now we have a problem.  I get the feeling that you are enjoying this way too much.
-        And you haven't even hit the chapter where I use jump-roping songs to help you learn
-        how to parse XML!
- 
-
-        If you're already enjoying this, then things are really going bad.  Two chapters from
-        now you'll be writing your own Ruby programs.  In fact, it's right about there that I'll
-        have you start writing your own role-playing game, your own file-sharing network (a la BitTorrent),
-        as well as a program that will pull genuine random numbers from the Internet.  
-
-
-        !&gt;i/graph-1.gif(Proof has been extracted from the pudding.)!
-
-
-        And you know (you've got to know!) that this is going to turn into an obsession.  First, you'll
-        completely forget to take the dog out.  It'll be standing by the screen door, darting its head
-        about, as your eyes devour the code, as your fingers slip messages to the computer.
-
-
-        Thanks to your neglect, things will start to break.  Your mounds of printed 
-        sheets of code will cover up your air vents.  Your furnace
-        will choke.  The trash will pile-up: take-out boxes you hurriedly ordered in, junk mail you couldn't
-        care to dispose of.  Your own uncleanliness will pollute the air.  Moss will infest the rafters, the water
-        will clog, animals will let themselves in, trees will come up through the foundations.
-
-
-        But your computer will be well-cared for.  And you, Smotchkkiss, will have nourished it with your knowledge.
-        In the eons you will have spent with your machine, you will have become part-CPU.  And it will
-        have become part-flesh.  Your arms will flow directly into its ports.  Your eyes will accept
-        the video directly from DVI-24 pin.  Your lungs will sit just above the processor, cooling it.
-
-
-        And just as the room is ready to force itself shut upon you, just as all the overgrowth swallows you
-        and your machine, you will finish your script.  You and the machine together will run this latest Ruby
-        script, the product of your obsession.  And the script will fire up chainsaws to trim the trees, hearths
-        to warm and regulate the house.  Builder nanites will rush from your script, reconstructing your quarters,
-        retiling, renovating, chroming, polishing, disinfecting.  Mighty androids will force your crumbling house into
-        firm, rigid architecture.  Great pillars will rise, statues chiseled.  You will have dominion over this
-        palatial estate and over the encompassing mountains and islands of your stronghold.
-
-
-        So I guess you're going to be okay.  Whatdya say?  Let's get moving on this script of yours?
-
-
+    - And So, The Quick Trip Came To An Eased, Cushioned Halt: &gt;
+
+        !i/the.foxes-8.png(Running after the truck.)!
+
+
+        So now we have a problem.  I get the feeling that you are enjoying this way too much.
+        And you haven't even hit the chapter where I use jump-roping songs to help you learn
+        how to parse XML!
+ 
+
+        If you're already enjoying this, then things are really going bad.  Two chapters from
+        now you'll be writing your own Ruby programs.  In fact, it's right about there that I'll
+        have you start writing your own role-playing game, your own file-sharing network (a la BitTorrent),
+        as well as a program that will pull genuine random numbers from the Internet.  
+
+
+        !&gt;i/graph-1.gif(Proof has been extracted from the pudding.)!
+
+
+        And you know (you've got to know!) that this is going to turn into an obsession.  First, you'll
+        completely forget to take the dog out.  It'll be standing by the screen door, darting its head
+        about, as your eyes devour the code, as your fingers slip messages to the computer.
+
+
+        Thanks to your neglect, things will start to break.  Your mounds of printed 
+        sheets of code will cover up your air vents.  Your furnace
+        will choke.  The trash will pile-up: take-out boxes you hurriedly ordered in, junk mail you couldn't
+        care to dispose of.  Your own uncleanliness will pollute the air.  Moss will infest the rafters, the water
+        will clog, animals will let themselves in, trees will come up through the foundations.
+
+
+        But your computer will be well-cared for.  And you, Smotchkkiss, will have nourished it with your knowledge.
+        In the eons you will have spent with your machine, you will have become part-CPU.  And it will
+        have become part-flesh.  Your arms will flow directly into its ports.  Your eyes will accept
+        the video directly from DVI-24 pin.  Your lungs will sit just above the processor, cooling it.
+
+
+        And just as the room is ready to force itself shut upon you, just as all the overgrowth swallows you
+        and your machine, you will finish your script.  You and the machine together will run this latest Ruby
+        script, the product of your obsession.  And the script will fire up chainsaws to trim the trees, hearths
+        to warm and regulate the house.  Builder nanites will rush from your script, reconstructing your quarters,
+        retiling, renovating, chroming, polishing, disinfecting.  Mighty androids will force your crumbling house into
+        firm, rigid architecture.  Great pillars will rise, statues chiseled.  You will have dominion over this
+        palatial estate and over the encompassing mountains and islands of your stronghold.
+
+
+        So I guess you're going to be okay.  Whatdya say?  Let's get moving on this script of yours?
+
+</diff>
      <filename>lang-pt/poignant-22.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1 @@
-  - Pequenas Folhas de C&#243;digo Flutuando:
+  - Pequenas Folhas de C&#243;digo Flutuando:</diff>
      <filename>lang-pt/poignant-23.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,19 +1,19 @@
-    - &gt;
-      !i/the.elf-1.gif(Imposs&#237;velmente fundo, nas cavernas de Ambrose... o Gnomo com um presunto de estima&#231;&#227;o!)!
-
-      !i/the.elf-2.gif(...e o gato Trady Blix.)!
-
-
-      Eu nunca vi o presunto fazer coisa alguma, a n&#227;o ser urinar. Hoje, nosso neg&#243;cio nas
-      Cavernas Ambrose &#233; com o gnomo.  Ele &#233; uma parte crucial das pr&#243;ximas li&#231;&#245;es.
-      Vamos todos fazer com que ele se sinta bem-vindo.  Comece a esquentar os neur&#244;nios!
-      (E por favor, troque essa rid&#237;cula cal&#231;a de cowboy.)
-
-
-      Aten&#231;&#227;o: esta li&#231;&#227;o &#233; mais vagarosa.  Acompanhe-a.  Isto ser&#225; uma longa e profunda respira&#231;&#227;o.
-      A fase mais crucial de sua instru&#231;&#227;o.  Pode parecer que voc&#234; n&#227;o est&#225; aprendendo muito
-      c&#243;digo a princ&#237;pio.  Voc&#234; estar&#225; aprendendo conceitos.  Ao final deste cap&#237;tulo, voc&#234;
-      saber&#225; a beleza do Ruby.  O conforto do c&#243;digo ir&#225; se tornar um saco de dormir para o seu
-      pr&#243;prio al&#237;vio.
-
-
+    - &gt;
+      !i/the.elf-1.gif(Imposs&#237;velmente fundo, nas cavernas de Ambrose... o Gnomo com um presunto de estima&#231;&#227;o!)!
+
+      !i/the.elf-2.gif(...e o gato Trady Blix.)!
+
+
+      Eu nunca vi o presunto fazer coisa alguma, a n&#227;o ser urinar. Hoje, nosso neg&#243;cio nas
+      Cavernas Ambrose &#233; com o gnomo.  Ele &#233; uma parte crucial das pr&#243;ximas li&#231;&#245;es.
+      Vamos todos fazer com que ele se sinta bem-vindo.  Comece a esquentar os neur&#244;nios!
+      (E por favor, troque essa rid&#237;cula cal&#231;a de cowboy.)
+
+
+      Aten&#231;&#227;o: esta li&#231;&#227;o &#233; mais vagarosa.  Acompanhe-a.  Isto ser&#225; uma longa e profunda respira&#231;&#227;o.
+      A fase mais crucial de sua instru&#231;&#227;o.  Pode parecer que voc&#234; n&#227;o est&#225; aprendendo muito
+      c&#243;digo a princ&#237;pio.  Voc&#234; estar&#225; aprendendo conceitos.  Ao final deste cap&#237;tulo, voc&#234;
+      saber&#225; a beleza do Ruby.  O conforto do c&#243;digo ir&#225; se tornar um saco de dormir para o seu
+      pr&#243;prio al&#237;vio.
+
+</diff>
      <filename>lang-pt/poignant-24.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,42 +1,42 @@
-    - A Folha como um S&#237;mbolo de Status na Ambrose: &gt;
-
-        Tudo certo, Gnomo.  D&#234;-nos um r&#225;pido resumo dos problemas financeiros que voc&#234; enfrentou em seu reino.
-
-
-        !i/the.elf-3.gif(Cristais Azuis foram maltratados.)!
-
-
-        Realmente, n&#227;o &#233; o caminho que eu me lembro.  Esse Gnomo estava me bipando constantemente.  Quando me
-        recusei a cham&#225;-lo de volta, ele deixou uma mensagem no meu pager.  Significado: ele bipou duas vezes e
-        ent&#227;o exibiu uma pequena mensagem.  A mensagem disse alguma coisa sobre, &quot;Des&#231;a aqui, r&#225;pido!&quot; e tamb&#233;m,
-        &quot;N&#243;s temos que livrar a terra destas pestes de lagartas empreendedoras, estes insetos insanos vikings
-        est&#227;o sufocando meus cristais azuis!&quot;
-        
-
-        Ultimamente, a taxa de c&#226;mbio j&#225; se estabelece entre as folhas e cristais. Uma nota de &#225;rvore velha vale
-        cinco cristais.  Ent&#227;o a situa&#231;&#227;o monet&#225;ria b&#225;sica &#233; semelhante a isto:
-
-
-        &lt;pre&gt;
-         cristal_azul = 1
-         folha_macia = 5
-        &lt;/pre&gt;
-
-
-        Este exemplo &#233; _t&#227;o_  &#250;ltimo cap&#237;tulo.  Ainda assim.  Ele &#233; um in&#237;cio.  N&#243;s estamos definindo
-        duas _vari&#225;veis_.  O *sinal de igual* &#233; usado para _atribui&#231;&#227;o_.
-
-
-        Agora @folha_macia@ representa o n&#250;mero @5@ (tal como em: cinco cristais azuis.)  Este conceito, at&#233;
-        aqui, &#233; *metade de Ruby*.  N&#243;s estamos _definindo_.  N&#243;s estamos _criando_.  Isto &#233; a metade do trabalho.
-        Atribui&#231;&#227;o &#233; a forma mais b&#225;sica de defini&#231;&#227;o.
-
-
-        Voc&#234; n&#227;o pode se queixar, pode Gnomo?  Voc&#234; construiu um imp&#233;rio investindo seus cristais azuis no
-        novo mercado livre entre as criaturas da floresta.  (E apesar de ele &#233; ser um gnomo para n&#243;s, ele &#233; um
-        monstro grande para eles.)
-       
-
-        !i/the.elf-4.jpg(Animal Perfeito, LLC)!
-
-
+    - A Folha como um S&#237;mbolo de Status na Ambrose: &gt;
+
+        Tudo certo, Gnomo.  D&#234;-nos um r&#225;pido resumo dos problemas financeiros que voc&#234; enfrentou em seu reino.
+
+
+        !i/the.elf-3.gif(Cristais Azuis foram maltratados.)!
+
+
+        Realmente, n&#227;o &#233; o caminho que eu me lembro.  Esse Gnomo estava me bipando constantemente.  Quando me
+        recusei a cham&#225;-lo de volta, ele deixou uma mensagem no meu pager.  Significado: ele bipou duas vezes e
+        ent&#227;o exibiu uma pequena mensagem.  A mensagem disse alguma coisa sobre, &quot;Des&#231;a aqui, r&#225;pido!&quot; e tamb&#233;m,
+        &quot;N&#243;s temos que livrar a terra destas pestes de lagartas empreendedoras, estes insetos insanos vikings
+        est&#227;o sufocando meus cristais azuis!&quot;
+        
+
+        Ultimamente, a taxa de c&#226;mbio j&#225; se estabelece entre as folhas e cristais. Uma nota de &#225;rvore velha vale
+        cinco cristais.  Ent&#227;o a situa&#231;&#227;o monet&#225;ria b&#225;sica &#233; semelhante a isto:
+
+
+        &lt;pre&gt;
+         cristal_azul = 1
+         folha_macia = 5
+        &lt;/pre&gt;
+
+
+        Este exemplo &#233; _t&#227;o_  &#250;ltimo cap&#237;tulo.  Ainda assim.  Ele &#233; um in&#237;cio.  N&#243;s estamos definindo
+        duas _vari&#225;veis_.  O *sinal de igual* &#233; usado para _atribui&#231;&#227;o_.
+
+
+        Agora @folha_macia@ representa o n&#250;mero @5@ (tal como em: cinco cristais azuis.)  Este conceito, at&#233;
+        aqui, &#233; *metade de Ruby*.  N&#243;s estamos _definindo_.  N&#243;s estamos _criando_.  Isto &#233; a metade do trabalho.
+        Atribui&#231;&#227;o &#233; a forma mais b&#225;sica de defini&#231;&#227;o.
+
+
+        Voc&#234; n&#227;o pode se queixar, pode Gnomo?  Voc&#234; construiu um imp&#233;rio investindo seus cristais azuis no
+        novo mercado livre entre as criaturas da floresta.  (E apesar de ele &#233; ser um gnomo para n&#243;s, ele &#233; um
+        monstro grande para eles.)
+       
+
+        !i/the.elf-4.jpg(Animal Perfeito, LLC)!
+
+</diff>
      <filename>lang-pt/poignant-25.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,31 +1,31 @@
-    - !^sidebar
-      Os comedores de cachec&#243;is: &gt;
-      
-        Eu odeio me intrometer no seu aprendizado, mas eu j&#225; fiz isso tanto que eu n&#227;o
-        me importo mais.  Posso mostrar meu pr&#243;ximo projeto para voc&#234;?
-
-
-        Eu prometi escrever outro livro.  (_Trombones_.)  A boa not&#237;cia &#233; que na realidade
-        eu n&#227;o vou escrever nada.  Voc&#234; n&#227;o vai ter que aguentar ainda mais dessas tolices idiotas.
-
-
-        Est&#225; tudo acabado entre eu e as palavras.  Eu adoraria ficar e explorar cada uma, uma ap&#243;s
-        a outra, mas est&#225; tudo ficando muito previs&#237;vel, voc&#234; n&#227;o acha?  Eventualmente, elas todas
-        ser&#227;o usadas e eu terei de inventar palavras falsas e isso seria muito bizelegarro.
-
-
-        Agora.  Ainda n&#227;o &#233; nada certo, mas j&#225; estou em negocia&#231;&#245;es com a Anna Quindlen para escrever no meu lugar.
-        N&#243;s estamos juntando esfor&#231;os em um livro que vai arrancar o (Comovente) Guia das suas m&#227;os. 
-        Simplificando, o Guia ser&#225; in&#250;til.  You won't be able to pile enough 
-        pomegranates on top of the thing.
-
-
-        Esse novo livro.  Os comedores de cachec&#243;is.  &#201; um romance maduro.  Mas tamb&#233;m &#233; um guia para iniciantes
-        de Macromedia Flash.  &#201; como se Judy Blume encontrasse Praystation.  Ou como 0sil8 estrelando
-        Hillary Duff.
-
-
-        Eu n&#227;o quero entregar nada sobre a hist&#243;ria, mas para provocar o seu apetite eu posso dizer isso:
-        um garoto fala com o seu irm&#227;o morto em ActionScript.  Mais por vir.
-
-
+    - !^sidebar
+      Os comedores de cachec&#243;is: &gt;
+      
+        Eu odeio me intrometer no seu aprendizado, mas eu j&#225; fiz isso tanto que eu n&#227;o
+        me importo mais.  Posso mostrar meu pr&#243;ximo projeto para voc&#234;?
+
+
+        Eu prometi escrever outro livro.  (_Trombones_.)  A boa not&#237;cia &#233; que na realidade
+        eu n&#227;o vou escrever nada.  Voc&#234; n&#227;o vai ter que aguentar ainda mais dessas tolices idiotas.
+
+
+        Est&#225; tudo acabado entre eu e as palavras.  Eu adoraria ficar e explorar cada uma, uma ap&#243;s
+        a outra, mas est&#225; tudo ficando muito previs&#237;vel, voc&#234; n&#227;o acha?  Eventualmente, elas todas
+        ser&#227;o usadas e eu terei de inventar palavras falsas e isso seria muito bizelegarro.
+
+
+        Agora.  Ainda n&#227;o &#233; nada certo, mas j&#225; estou em negocia&#231;&#245;es com a Anna Quindlen para escrever no meu lugar.
+        N&#243;s estamos juntando esfor&#231;os em um livro que vai arrancar o (Comovente) Guia das suas m&#227;os. 
+        Simplificando, o Guia ser&#225; in&#250;til.  You won't be able to pile enough 
+        pomegranates on top of the thing.
+
+
+        Esse novo livro.  Os comedores de cachec&#243;is.  &#201; um romance maduro.  Mas tamb&#233;m &#233; um guia para iniciantes
+        de Macromedia Flash.  &#201; como se Judy Blume encontrasse Praystation.  Ou como 0sil8 estrelando
+        Hillary Duff.
+
+
+        Eu n&#227;o quero entregar nada sobre a hist&#243;ria, mas para provocar o seu apetite eu posso dizer isso:
+        um garoto fala com o seu irm&#227;o morto em ActionScript.  Mais por vir.
+
+</diff>
      <filename>lang-pt/poignant-26.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,116 +1,116 @@
-    - &gt;
-        N&#227;n&#227;n&#227;.  Pera um segundo.  You're not ready for what the Elf here is doing in his caves.
-        You'll think it's all positively inhumane, naughty, sick, tweeested, yada yada.
-
-
-        h3.  Now You're Going to Hear the Animal Perfect Mission Statement Because This Is A
-        Book And We Have Time And No Rush, Right?
-
-
-        Back, back, way back before speedboats, I owned a prize race horse who took a stumble on 
-        the track.  She did ten front flips and crashed into a guy who was carrying a full jar 
-        of mayonnaisse.  We had blood and mayonnaisse up and down the track.  Needless to say, 
-        she was a disaster.
-
-
-        The vet took one look at her and swore she'd never walk again.  Her legs were gone and
-        the vet wouldn't allow a legless horse to just sit around.  We'd need to put her down.  
-        He swore his life and career on it, insisting we divide into two parallel lines.  The people 
-        who could not refute the doctor's claims on one side; those too stubborn to accept his 
-        infallable medical reasoning on the other.  The Elf, his pet ham, and I were the only 
-        ones in that second line.
-
-
-        So while the others heaped up trophies and great wreaths around the horse, bidding it a 
-        fond farewell before the bullet came to take him home, the Elf and I frantically pawed the Internet for 
-        answers.  We took matter into our own hands, cauterizing her leg wounds with live crawdads.  
-        It worked great!  We now had a horse again.   Or at least: a horse body with a crustaceous abdominal
-        frosting.  
-
-
-        She scurried everywhere after that and lived for years in pleasantly moist underground cavities.
-
-
-        Animal Perfect is now the future of animal enhancement.  They build new animals and salvage 
-        old-style animals for parts.  Of course, they've come a long ways.
-        When Animal Perfect started, you'd see a full-grown bear walk into Animal Perfect and you'd
-        see a full-grown bear with sunglasses walk out.  Completely cheesy.
-
-
-        Stick around and you'll see a crab with _his own jet pack_.  That's a new 2004 model jetcrab.
-
-
-        But now, the whole operation is up and running.  And the cleanliness of the place is astonishing.
-        All the equipment is so shiny.  Everything is in chrome.  Oh, and all the staff have concealed
-        weapons.  They're trained to kill anyone who enters unannounced.  Or, if they run out of bullets,
-        they're trained to pistol whip anyone who enters unannounced.
-
-
-        Elfo, me fa&#231;a um macacoestrela.
-
-
-        !i/the.elf-5a.jpg(Primeiro, a estrela &#233; capturada.)!
-
-
-        Um pouco de Ruby imagin&#225;rio pra voc&#234;:
-
-
-        bq. @tubo.pegue_uma_estrela@
-        
-        
-        Vari&#225;vel @tubo@.  M&#233;todo @pegue_uma_estrela@.  Muitos Rubistas gostam de pensar em m&#233;todos como mensagem.
-        A quem vier antes do m&#233;todo &#233; dada a mensagem.  O c&#243;digo acima diz ao @tubo@ que
-        @pegue_uma_estrela@.
-
-
-        Esta &#233; a *segunda metade* do Ruby.  Colocar as coisas em movimento.  Estas coisas que voc&#234; define e cria
-        na primeira metade come&#231;am a _agir_ na segunda metade.
-
-
-        # Defining things.
-
-        # Putting those things into action.
-
-
-        Ent&#227;o e se o c&#243;digo de pegar estrelas funcionar?  Pra onde a estrela vai?
-
-
-        bq. @estrela_presa = pipe.pegue_uma_estrela@
-
-
-        Veja, voc&#234; que deve coletar a miser&#225;vel, estrelinha.  Se voc&#234; nao o fizer, ela vai simplesmente desaparecer.
-        Toa vez que voc&#234; usa um m&#233;todo, voc&#234; recebe algo de volta.  Voc&#234; pode ignor&#225;-lo ou us&#225;-lo.
-
-
-        _Se voc&#234; conseguir aprender a usar as respostas que os m&#233;todos de d&#227;o, ent&#227;o voc&#234; ir&#225; *dominar*._
-
-
-        !i/the.elf-5b.jpg(Star is ratcheted to the monkey's face.)!
-
-
-        Rapidamente ent&#227;o.
-
-
-        bq. @macacoestrela = ratchet.attach( macaco_preso, estrela_presa )@
-
-
-        The @ratchet@ gets an @attach@ message.  What needs to be attached?  The _method arguments_: the
-        @macaco_preso@ e a @estrela_presa@.  &#201; nos dada de volta um @macacoestrela@, which we have
-        decided to hang on to.
-
-
-        !i/the.elf-5c.gif(Frog on the hand.)!
-
-
-        This is turning out to be such a short, little proggie that I'm just going to put it
-        all together as one statement.
-
-
-        bq. @starmonkey = ratchet.attach( captive_monkey, pipe.pegue_uma_estrela ) + deco_hand_frog@
-
-
-        See how @pipe.pegue_uma_estrela@ is right in the arguments for the method?  The caught 
-        star will get passed right to the ratchet.  No need to find a place to put it.  Just
-        let it go.
-
-
+    - &gt;
+        N&#227;n&#227;n&#227;.  Pera um segundo.  You're not ready for what the Elf here is doing in his caves.
+        You'll think it's all positively inhumane, naughty, sick, tweeested, yada yada.
+
+
+        h3.  Now You're Going to Hear the Animal Perfect Mission Statement Because This Is A
+        Book And We Have Time And No Rush, Right?
+
+
+        Back, back, way back before speedboats, I owned a prize race horse who took a stumble on 
+        the track.  She did ten front flips and crashed into a guy who was carrying a full jar 
+        of mayonnaisse.  We had blood and mayonnaisse up and down the track.  Needless to say, 
+        she was a disaster.
+
+
+        The vet took one look at her and swore she'd never walk again.  Her legs were gone and
+        the vet wouldn't allow a legless horse to just sit around.  We'd need to put her down.  
+        He swore his life and career on it, insisting we divide into two parallel lines.  The people 
+        who could not refute the doctor's claims on one side; those too stubborn to accept his 
+        infallable medical reasoning on the other.  The Elf, his pet ham, and I were the only 
+        ones in that second line.
+
+
+        So while the others heaped up trophies and great wreaths around the horse, bidding it a 
+        fond farewell before the bullet came to take him home, the Elf and I frantically pawed the Internet for 
+        answers.  We took matter into our own hands, cauterizing her leg wounds with live crawdads.  
+        It worked great!  We now had a horse again.   Or at least: a horse body with a crustaceous abdominal
+        frosting.  
+
+
+        She scurried everywhere after that and lived for years in pleasantly moist underground cavities.
+
+
+        Animal Perfect is now the future of animal enhancement.  They build new animals and salvage 
+        old-style animals for parts.  Of course, they've come a long ways.
+        When Animal Perfect started, you'd see a full-grown bear walk into Animal Perfect and you'd
+        see a full-grown bear with sunglasses walk out.  Completely cheesy.
+
+
+        Stick around and you'll see a crab with _his own jet pack_.  That's a new 2004 model jetcrab.
+
+
+        But now, the whole operation is up and running.  And the cleanliness of the place is astonishing.
+        All the equipment is so shiny.  Everything is in chrome.  Oh, and all the staff have concealed
+        weapons.  They're trained to kill anyone who enters unannounced.  Or, if they run out of bullets,
+        they're trained to pistol whip anyone who enters unannounced.
+
+
+        Elfo, me fa&#231;a um macacoestrela.
+
+
+        !i/the.elf-5a.jpg(Primeiro, a estrela &#233; capturada.)!
+
+
+        Um pouco de Ruby imagin&#225;rio pra voc&#234;:
+
+
+        bq. @tubo.pegue_uma_estrela@
+        
+        
+        Vari&#225;vel @tubo@.  M&#233;todo @pegue_uma_estrela@.  Muitos Rubistas gostam de pensar em m&#233;todos como mensagem.
+        A quem vier antes do m&#233;todo &#233; dada a mensagem.  O c&#243;digo acima diz ao @tubo@ que
+        @pegue_uma_estrela@.
+
+
+        Esta &#233; a *segunda metade* do Ruby.  Colocar as coisas em movimento.  Estas coisas que voc&#234; define e cria
+        na primeira metade come&#231;am a _agir_ na segunda metade.
+
+
+        # Defining things.
+
+        # Putting those things into action.
+
+
+        Ent&#227;o e se o c&#243;digo de pegar estrelas funcionar?  Pra onde a estrela vai?
+
+
+        bq. @estrela_presa = pipe.pegue_uma_estrela@
+
+
+        Veja, voc&#234; que deve coletar a miser&#225;vel, estrelinha.  Se voc&#234; nao o fizer, ela vai simplesmente desaparecer.
+        Toa vez que voc&#234; usa um m&#233;todo, voc&#234; recebe algo de volta.  Voc&#234; pode ignor&#225;-lo ou us&#225;-lo.
+
+
+        _Se voc&#234; conseguir aprender a usar as respostas que os m&#233;todos de d&#227;o, ent&#227;o voc&#234; ir&#225; *dominar*._
+
+
+        !i/the.elf-5b.jpg(Star is ratcheted to the monkey's face.)!
+
+
+        Rapidamente ent&#227;o.
+
+
+        bq. @macacoestrela = ratchet.attach( macaco_preso, estrela_presa )@
+
+
+        The @ratchet@ gets an @attach@ message.  What needs to be attached?  The _method arguments_: the
+        @macaco_preso@ e a @estrela_presa@.  &#201; nos dada de volta um @macacoestrela@, which we have
+        decided to hang on to.
+
+
+        !i/the.elf-5c.gif(Frog on the hand.)!
+
+
+        This is turning out to be such a short, little proggie that I'm just going to put it
+        all together as one statement.
+
+
+        bq. @starmonkey = ratchet.attach( captive_monkey, pipe.pegue_uma_estrela ) + deco_hand_frog@
+
+
+        See how @pipe.pegue_uma_estrela@ is right in the arguments for the method?  The caught 
+        star will get passed right to the ratchet.  No need to find a place to put it.  Just
+        let it go.
+
+</diff>
      <filename>lang-pt/poignant-27.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,126 +1,126 @@
-    - Pequeno e Quase Sem Valor: &gt;
-
-        !i/blix-1.gif(Law-va.)!
-
-
-        O hotel aqui em Ambrose n&#227;o &#233; nem um pouco bom.  As camas s&#227;o todas tortas.
-        O elevador &#233; min&#250;sculo.  Um cara p&#244;s toda sua bagagem no elevador e n&#227;o sobrou
-        mais lugar pra ele.  Ele apertou o bot&#227;o e as perseguiu pelas escadas.
-        Mas as escadas eram muito estreitas e ele ficou entalado tentando subir.  
-
-
-        Os mini-sabonetes que eles te d&#227;o s&#227;o de tamanho gnomo, ent&#227;o &#233; imposs&#237;vel
-        fazer uma espuma.  Eu odeio isso.  Toda hora eu confundo eles com lentes de contato.
-
-
-        Eu abri a torneira e nada saiu.  O caso &#233; o seguinte: Ambrose &#233; um
-        lugar com propriedades m&#225;gicas, ent&#227;o eu me arrisquei.  Coloquei minha m&#227;o embaixo
-        torneira.  Invisible, warm wetness.  Eu senti a sensa&#231;&#227;o de &#225;gua corrente,
-        passando pelos meus dedos.  Quando tirei minha m&#227;o de l&#225;,
-        elas estavam secas e limpas.
-
-
-        Foi um incr&#237;vel experi&#234;ncia de vazio total.  Foi como @nil@.
-
-
-        h3. Nil (Nada)
-
-
-        No Ruby, o @nil@ representa o vazio.  Ele representa *falta de valor*.  Ele n&#227;o &#233; zero.
-        Zero &#233; um n&#250;mero.  
-
-
-        &#201; um morto-vivo do Ruby, uma palavra chave falecida.  Voc&#234; n&#227;o pode adicionar &#224; ele,
-        ele n&#227;o evolui.  Mas ele &#233; terrivelmente popular.  &#201; este esqueleto sorrindo nas fotos.
-
-
-        bq. @copo_plastico = nil@
-
-
-        No c&#243;digo acima @copo_plastico@ est&#225; *vazio*.  Voc&#234; pode argumentar que o @copo_plastico@
-        cont&#233;m algo, um @nil@.  O @nil@ representa vazio, logo, ent&#227;o,
-        adiante-se e chame-o de vazio.
-
-
-        Alguns de voc&#234;s que j&#225; programaram antes estar&#227;o tentados a dizer que @copo_plastico@ est&#225;
-        *indefinido* (undefined).  Que tal n&#227;o.  Quando voc&#234; diz que uma vari&#225;vel est&#225; indefinida,
-        voc&#234; est&#225; dizendo que o Ruby simplesmente n&#227;o tem lembran&#231;a da vari&#225;vel, ele n&#227;o a conhece, 
-        ela absolutamente n&#227;o existe.
-
-
-        Mas o Ruby est&#225; sabendo do @copo_plastico@.  Ruby pode facilmente olhar dentro do @copo_plastico@.
-        Est&#225; *vazio*, mas n&#227;o est&#225; *indefinido*.
-
-
-        h3. False (Falso)
-
-
-        !&lt;i/blix-neg.gif(Forma de um gato.)!
-
-
-        _The cat Trady Blix.  Frozen in emptiness.  Immaculate whiskers rigid.  Placid
-        eyes of lake.  Tail of warm icicle.  Sponsored by a Very Powerful Pause Button._
-
-
-        A escurid&#227;o que circunda o Blix pode ser chamada de *espa&#231;o negativo*.  Atente-se nessa frase.
-        Deixe ela sugerir que o vazio tem conota&#231;&#227;o negativa.  De um jeito similar,
-        @nil@ tem a slightly sour note that it whistles.
-
-
-        Generalizando, *tudo no Ruby tem uma carga positiva*.  Esta fagulha
-        corre por strings, n&#250;meros, regexps, todos eles.  Somente duas palavras reservadas vestem uma
-        capa sombria: @nil@ e @false@ nos trazendo pra baixo.
-
-
-        Voc&#234; pode *testar essa carga* com a palavra chave @if@.  Ela se parece muito como
-        o bloco @do@ que vimos no &#250;ltimo cap&#237;tulo, no qual ambas terminal com um @end@.
-
-
-        &lt;pre&gt;
-         if copo_plastico
-           print &quot;O copo de pl&#225;stico t&#225; at&#233; transbordando!&quot;
-         end
-        &lt;/pre&gt;
-
-
-        Se @copo_plastico@ conter @nil@ ou @false@, voc&#234; n&#227;o vai ver nada impresso
-        na tela.  Eles n&#227;o est&#227;o na lista de convidados do @if@.  Ent&#227;o o @if@ n&#227;o vai rodar
-        nada do c&#243;digo que ele est&#225; protegendo.
-
-
-        Mas @nil@ e @false@ n&#227;o precisam ir embora constrangidos.  O car&#225;ter deles pode ser meio
-        question&#225;vel, mas o @unless@ gerencia uma estabelecimento que preza ser fuleiro.
-        A palavra chave @unless@ tem por regra *s&#243; deixar aqueles com carga negativa entrar*.
-        Aqueles s&#227;o: @nil@ e @false@.
-        
-
-        &lt;pre&gt;
-         unless copo_plastico
-           print &quot;T&#225; na hora de abastecer o copo pl&#225;stico.&quot;
-         end
-        &lt;/pre&gt;
-
-
-        Voc&#234; tamb&#233;m pode usar @if@ e @unless@ no *fim de uma linha de c&#243;digo*, se apenas
-        aquela linha estiver sendo protegida.
-
-
-        &lt;pre&gt;
-         print &quot;Yeah, o copo t&#225; cheio de novo!&quot; if copo_plastico
-         print &quot;Dificilmente. Ele t&#225; vazio.&quot; unless copo_plastico
-        &lt;/pre&gt;
-
-
-        E mais uma manha: empilhar o @if@ e @unless@.
-
-
-        &lt;pre&gt;
-         print &quot;Estamos usando copos de pl&#225;stico pois n&#227;o temos de vidro.&quot; if copo_plastico unless copo_vidro
-        &lt;/pre&gt;
-
-
-        Esta manha &#233; um lindo jeito de expressar: _Fa&#231;a isso s&#243; se *a* for true e *b* n&#227;o for true_.
-
-
-        Agora que voc&#234; j&#225; conheceu o @false@, Tenho certeza que voc&#234; pode ver o que vem em seguida.
-
+    - Pequeno e Quase Sem Valor: &gt;
+
+        !i/blix-1.gif(Law-va.)!
+
+
+        O hotel aqui em Ambrose n&#227;o &#233; nem um pouco bom.  As camas s&#227;o todas tortas.
+        O elevador &#233; min&#250;sculo.  Um cara p&#244;s toda sua bagagem no elevador e n&#227;o sobrou
+        mais lugar pra ele.  Ele apertou o bot&#227;o e as perseguiu pelas escadas.
+        Mas as escadas eram muito estreitas e ele ficou entalado tentando subir.  
+
+
+        Os mini-sabonetes que eles te d&#227;o s&#227;o de tamanho gnomo, ent&#227;o &#233; imposs&#237;vel
+        fazer uma espuma.  Eu odeio isso.  Toda hora eu confundo eles com lentes de contato.
+
+
+        Eu abri a torneira e nada saiu.  O caso &#233; o seguinte: Ambrose &#233; um
+        lugar com propriedades m&#225;gicas, ent&#227;o eu me arrisquei.  Coloquei minha m&#227;o embaixo
+        torneira.  Invisible, warm wetness.  Eu senti a sensa&#231;&#227;o de &#225;gua corrente,
+        passando pelos meus dedos.  Quando tirei minha m&#227;o de l&#225;,
+        elas estavam secas e limpas.
+
+
+        Foi um incr&#237;vel experi&#234;ncia de vazio total.  Foi como @nil@.
+
+
+        h3. Nil (Nada)
+
+
+        No Ruby, o @nil@ representa o vazio.  Ele representa *falta de valor*.  Ele n&#227;o &#233; zero.
+        Zero &#233; um n&#250;mero.  
+
+
+        &#201; um morto-vivo do Ruby, uma palavra chave falecida.  Voc&#234; n&#227;o pode adicionar &#224; ele,
+        ele n&#227;o evolui.  Mas ele &#233; terrivelmente popular.  &#201; este esqueleto sorrindo nas fotos.
+
+
+        bq. @copo_plastico = nil@
+
+
+        No c&#243;digo acima @copo_plastico@ est&#225; *vazio*.  Voc&#234; pode argumentar que o @copo_plastico@
+        cont&#233;m algo, um @nil@.  O @nil@ representa vazio, logo, ent&#227;o,
+        adiante-se e chame-o de vazio.
+
+
+        Alguns de voc&#234;s que j&#225; programaram antes estar&#227;o tentados a dizer que @copo_plastico@ est&#225;
+        *indefinido* (undefined).  Que tal n&#227;o.  Quando voc&#234; diz que uma vari&#225;vel est&#225; indefinida,
+        voc&#234; est&#225; dizendo que o Ruby simplesmente n&#227;o tem lembran&#231;a da vari&#225;vel, ele n&#227;o a conhece, 
+        ela absolutamente n&#227;o existe.
+
+
+        Mas o Ruby est&#225; sabendo do @copo_plastico@.  Ruby pode facilmente olhar dentro do @copo_plastico@.
+        Est&#225; *vazio*, mas n&#227;o est&#225; *indefinido*.
+
+
+        h3. False (Falso)
+
+
+        !&lt;i/blix-neg.gif(Forma de um gato.)!
+
+
+        _The cat Trady Blix.  Frozen in emptiness.  Immaculate whiskers rigid.  Placid
+        eyes of lake.  Tail of warm icicle.  Sponsored by a Very Powerful Pause Button._
+
+
+        A escurid&#227;o que circunda o Blix pode ser chamada de *espa&#231;o negativo*.  Atente-se nessa frase.
+        Deixe ela sugerir que o vazio tem conota&#231;&#227;o negativa.  De um jeito similar,
+        @nil@ tem a slightly sour note that it whistles.
+
+
+        Generalizando, *tudo no Ruby tem uma carga positiva*.  Esta fagulha
+        corre por strings, n&#250;meros, regexps, todos eles.  Somente duas palavras reservadas vestem uma
+        capa sombria: @nil@ e @false@ nos trazendo pra baixo.
+
+
+        Voc&#234; pode *testar essa carga* com a palavra chave @if@.  Ela se parece muito como
+        o bloco @do@ que vimos no &#250;ltimo cap&#237;tulo, no qual ambas terminal com um @end@.
+
+
+        &lt;pre&gt;
+         if copo_plastico
+           print &quot;O copo de pl&#225;stico t&#225; at&#233; transbordando!&quot;
+         end
+        &lt;/pre&gt;
+
+
+        Se @copo_plastico@ conter @nil@ ou @false@, voc&#234; n&#227;o vai ver nada impresso
+        na tela.  Eles n&#227;o est&#227;o na lista de convidados do @if@.  Ent&#227;o o @if@ n&#227;o vai rodar
+        nada do c&#243;digo que ele est&#225; protegendo.
+
+
+        Mas @nil@ e @false@ n&#227;o precisam ir embora constrangidos.  O car&#225;ter deles pode ser meio
+        question&#225;vel, mas o @unless@ gerencia uma estabelecimento que preza ser fuleiro.
+        A palavra chave @unless@ tem por regra *s&#243; deixar aqueles com carga negativa entrar*.
+        Aqueles s&#227;o: @nil@ e @false@.
+        
+
+        &lt;pre&gt;
+         unless copo_plastico
+           print &quot;T&#225; na hora de abastecer o copo pl&#225;stico.&quot;
+         end
+        &lt;/pre&gt;
+
+
+        Voc&#234; tamb&#233;m pode usar @if@ e @unless@ no *fim de uma linha de c&#243;digo*, se apenas
+        aquela linha estiver sendo protegida.
+
+
+        &lt;pre&gt;
+         print &quot;Yeah, o copo t&#225; cheio de novo!&quot; if copo_plastico
+         print &quot;Dificilmente. Ele t&#225; vazio.&quot; unless copo_plastico
+        &lt;/pre&gt;
+
+
+        E mais uma manha: empilhar o @if@ e @unless@.
+
+
+        &lt;pre&gt;
+         print &quot;Estamos usando copos de pl&#225;stico pois n&#227;o temos de vidro.&quot; if copo_plastico unless copo_vidro
+        &lt;/pre&gt;
+
+
+        Esta manha &#233; um lindo jeito de expressar: _Fa&#231;a isso s&#243; se *a* for true e *b* n&#227;o for true_.
+
+
+        Agora que voc&#234; j&#225; conheceu o @false@, Tenho certeza que voc&#234; pode ver o que vem em seguida.
+</diff>
      <filename>lang-pt/poignant-28.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,33 +1,33 @@
-    - !^sidebar
-      Fa&#231;a Seu Pr&#243;prio Macacoestrela!: &gt;
-
-        1.  Vire uma x&#237;cara de cabe&#231;a pra baixo.
-
-        !i/starmonkeycrafts-1.jpg!
- 
-        2. Adicione uma ma&#231;&#227; com a ajuda de um el&#225;stico.
-
-        !i/starmonkeycrafts-2.jpg!
- 
-        3. Enfie as chaves de carro dos lados da ma&#231;&#227;.
-
-        !i/starmonkeycrafts-3.jpg!
- 
-        4. Cole a face de estrela.
-
-        !i/starmonkeycrafts-4.jpg!
- 
-
-        Voc&#234; tem mais duas faces de estrela complementares
-        esperando na sua conta.
-
-
-        p=. !i/starmonkeycrafts-5.gif!
-
-        Comum, calma.
-
-
-        p=. !i/starmonkeycrafts-6.gif!
- 
-        Comendo giz.
-
+    - !^sidebar
+      Fa&#231;a Seu Pr&#243;prio Macacoestrela!: &gt;
+
+        1.  Vire uma x&#237;cara de cabe&#231;a pra baixo.
+
+        !i/starmonkeycrafts-1.jpg!
+ 
+        2. Adicione uma ma&#231;&#227; com a ajuda de um el&#225;stico.
+
+        !i/starmonkeycrafts-2.jpg!
+ 
+        3. Enfie as chaves de carro dos lados da ma&#231;&#227;.
+
+        !i/starmonkeycrafts-3.jpg!
+ 
+        4. Cole a face de estrela.
+
+        !i/starmonkeycrafts-4.jpg!
+ 
+
+        Voc&#234; tem mais duas faces de estrela complementares
+        esperando na sua conta.
+
+
+        p=. !i/starmonkeycrafts-5.gif!
+
+        Comum, calma.
+
+
+        p=. !i/starmonkeycrafts-6.gif!
+ 
+        Comendo giz.
+</diff>
      <filename>lang-pt/poignant-29.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,167 +1,167 @@
-    - &gt;
-        h3. True (Verdadeiro)
-
-
-        bq. @sujeito_aproximando = true@
-
-
-        Eu vi o @true@ na buffet do hotel hoje.  Eu n&#227;o suporto aquele cara.
-        Ele aparece demais.  And you've never met anyone who planted his
-        feet so hard in the ground.  Ele usa esse colar brega feito de
-        conchas.  Sua face exibe uma confian&#231;a insolente.  (You can tell he's exerting
-        all of his restraint just to keep from bursting into Neo flight.)
-
-
-        Pra ser honesto, n&#227;o consigo ficar do lado de algu&#233;m que sempre tem de estar certo.
-        Esse @true@ est&#225; sempre dizendo, &quot;A-OK.&quot;  Flashing hang ten.  E &#233; s&#233;rio, 
-        ele ama aquele colar.  Ele o usa constantemente.
-
-
-        Assim como voc&#234; suspeitou, ele &#233; condi&#231;&#227;o sine qua non em tudo que o @if@ agende.
-
-
-        bq. @print &quot;Hugo Boss&quot; if true@ se comporta como @print &quot;Hugo Boss&quot;@.
-
-
-        Ocasionalmente, o @if@ vai puxar as cordas vermelhas pra exercer algum controle de multid&#227;o.  
-        Os *dois iguais* d&#227;o a apar&#234;ncia de uma passagem, como cordas dos lados
-        de um carpete vermelho onde s&#243; @true@ &#233; aceito.
-
-
-        &lt;pre&gt;
-         if sujeito_aproximando == true
-           print &quot;Esse colar &#233; cl&#225;ssico.&quot;
-         end
-        &lt;/pre&gt;
-
-
-        Os dois iguais s&#227;o simplesmente *uma checagem de identifica&#231;&#227;o*.  Os cavalheiros dos lados desta corda
-        parecem ser iguais?
-
-
-        Deste jeito, voc&#234; controle quem o @if@ deixa entrar.  Se voc&#234; n&#227;o suporta o @true@ assim como eu,
-        receba de peito aberto o @false@ (falso).
-
-
-        &lt;pre&gt;
-         if sujeito_aproximando == false
-           print &quot;Chega mais, seu diabo conivente.&quot;
-         end
-        &lt;/pre&gt;
-
-
-        Mesma coisa pra @unless@.  O port&#227;o &#233; seu.  Tome o controle dele.
-
-
-        h3. Novamente, Eu Quero Que Voc&#234; Domine
-
-
-        Agora, t&#225; afim de uma viagem mental?  *O sinal de dois iguais &#233; um m&#233;todo.*  Voc&#234; consegue adivinhar
-        como ele funciona?  Aqui, d&#234; uma olhada nele com ponto e parent&#234;ses:
-
-
-        bq. @sujeito_aproximando.==( true )@
-
-
-        Ruby permite o atalho, sem problemas.  Jogue o ponto e v&#225; pra tr&#225;s, devagar.
-
-
-        Agora, voc&#234; se lembra o que deve fazer pra *dominar* no Ruby?  _Use as respostas que
-        os m&#233;todos te d&#227;o._
-
-
-        &lt;pre&gt;
-         if nil.==( true )
-           print &quot;Isto nunca vai acontecer.&quot;
-         end
-        &lt;/pre&gt;
-
-
-        No exemplo acima, como a resposta do m&#233;todo esta sendo usada?
-
-
-        Pegue a afirma&#231;&#227;o @nil == true@.  Isso vai falhar toda hora.  N&#227;o s&#227;o iguais.  
-        Quando n&#227;o h&#225; igualdade, o m&#233;todo dos dois iguais responde com @false@.  Uma balan&#231;ada de cabe&#231;a.
-        Esta resposta &#233; dada ao @if@, que n&#227;o pode aceitar um @false@.  O @print@ nunca acontecer&#225;.
-
-
-        &lt;pre&gt;
-         no_hotel = true
-         email = if no_hotel
-                   &quot;why@hotelambrose.com&quot;
-                 else
-                   &quot;why@drnhowardcham.com&quot;
-                 end
-        &lt;/pre&gt;
-
-
-        Mesmo que @if@ n&#227;o seja um m&#233;todo, o @if@ retorna uma resposta.  Observe o exemplo acima
-        e imagine o que acontece quando @no_hotel@ &#233; @true@.
-
-
-        O @if@ retornar&#225; a resposta dada pelo c&#243;digo que ele decidir rodar.  No caso de 
-        @no_hotel@ ser true, a primeira string, meu endere&#231;o de e-mail no Hotel Ambrose, ser&#225;
-        retornado.  A palavra reservada @else@ marca o c&#243;digo a ser rodado, uma vez que o @if@ falhe.  Se @no_hotel@
-        &#233; false, o @if@ responder&#225; com meu endere&#231;o de e-mail do escrit&#243;rio do Dr. N. Howard Cham, 
-        onde eu recebo meu aprendizado.
-
-
-        Voc&#234; deve ter v&#225;rias linhas de c&#243;digo dentro de um @if@ ou @unless@, *mas somente a resposta oriunda
-        da &#250;ltima afirmac&#227;o completa ser&#225; usada*.
-
-
-        &lt;pre&gt;
-         email = if no_hotel
-                   endereco = &quot;why&quot;
-                   endereco &lt;&lt; &quot;@hotelambrose&quot;
-                   endereco &lt;&lt; &quot;.com&quot;
-                 end
-        &lt;/pre&gt;
-
-
-        Tr&#234;s linhas de c&#243;digo dentro do @if@.  A primeira linha atribui uma string com meu nome dentro a uma vari&#225;vel.
-        A segunda e terceira linha adicionam o resto do meu endere&#231;o de e-mail no fim.  O *menor que duplo @&lt;&lt;@
-        &#233; o operador da concatena&#231;&#227;o*.  Concatenar &#233; o mesmo que *apender*, or *adicionar no fim*.
-
-
-        Assim como vimos com o checador de igualdade @==@, o concatenador &#233; um m&#233;todo.  Ap&#243;s adicionar no fim
-        da string, o concatenador ainda *responde com aquela mesma stringt*.  Ent&#227;o, a terceira linha, que pode ser
-        lida como as @endereco.&lt;&lt;( &quot;.com&quot; )@, retorna @endereco@, que o @if@ ent&#227;o devolve pra a atribui&#231;&#227;o @email@.
-
-
-        Uma pergunta: E se o @if@ falhar?  E se @no_hotel@ for false no exemplo acimoa?
-        Alguma coisa ser&#225; retornada?  Nada &#233; atribu&#237;do a @email@, certo?
-
-
-        Sim, nada &#233; retornado.  Que significa que: @nil@ foi retornado.  E @nil@ &#233; muitas vezes uma
-        resposta muito &#250;til.
-
-        
-        &lt;pre&gt;
-         print( if no_hotel.nil?
-                  &quot;Se pistas se ele est&#225; no hotel.&quot;
-                elsif no_hotel == true
-                  &quot;Definitivamente sim.&quot;
-                elsif no_hotel == false
-                  &quot;Ele saiu.&quot;
-                else
-                  &quot;O sistema est&#225; traaaaavad-iz&quot;
-                end )
-        &lt;/pre&gt;
-
-
-        Voc&#234; pode usar o m&#233;todo @nil?@ em qualquer valor no Ruby.  Novamente, pense nele com uma mensagem.
-        Para o valor: &quot;Voc&#234; &#233; nil?  Voc&#234; est&#225; vazio?&quot;
-
-
-        Se @no_hotel@ estiver vazia, o Ruby n&#227;o tem id&#233;ia se eu estou no hotel ou n&#227;o.  Ent&#227;o o @if@
-        responde com a string &quot;Sem pistas&quot;.  Para manejar as possibilidades de @true@ ou @false@,
-        a palavra reservada @elsif@ &#233; usada.  Enquanto voc&#234; pode ter apenas um @if@ e um @else@, voc&#234; pode encher
-        as entranhas com um exorbitante n&#250;mero de palavras chave @elsif@.  Cada @elsif@ age como *um outro teste @if@*.
-        Checando por uma carga positiva.
-
-
-        Se voc&#234; est&#225; indo bem at&#233; este ponto, ent&#227;o voc&#234; est&#225; em boa forma para o resto do
-        livro.  Voc&#234; viu um c&#243;digo bem parrudo nos &#250;ltimos exemplos.  Voc&#234; &#233; um forte companheiro.
-
-
+    - &gt;
+        h3. True (Verdadeiro)
+
+
+        bq. @sujeito_aproximando = true@
+
+
+        Eu vi o @true@ na buffet do hotel hoje.  Eu n&#227;o suporto aquele cara.
+        Ele aparece demais.  And you've never met anyone who planted his
+        feet so hard in the ground.  Ele usa esse colar brega feito de
+        conchas.  Sua face exibe uma confian&#231;a insolente.  (You can tell he's exerting
+        all of his restraint just to keep from bursting into Neo flight.)
+
+
+        Pra ser honesto, n&#227;o consigo ficar do lado de algu&#233;m que sempre tem de estar certo.
+        Esse @true@ est&#225; sempre dizendo, &quot;A-OK.&quot;  Flashing hang ten.  E &#233; s&#233;rio, 
+        ele ama aquele colar.  Ele o usa constantemente.
+
+
+        Assim como voc&#234; suspeitou, ele &#233; condi&#231;&#227;o sine qua non em tudo que o @if@ agende.
+
+
+        bq. @print &quot;Hugo Boss&quot; if true@ se comporta como @print &quot;Hugo Boss&quot;@.
+
+
+        Ocasionalmente, o @if@ vai puxar as cordas vermelhas pra exercer algum controle de multid&#227;o.  
+        Os *dois iguais* d&#227;o a apar&#234;ncia de uma passagem, como cordas dos lados
+        de um carpete vermelho onde s&#243; @true@ &#233; aceito.
+
+
+        &lt;pre&gt;
+         if sujeito_aproximando == true
+           print &quot;Esse colar &#233; cl&#225;ssico.&quot;
+         end
+        &lt;/pre&gt;
+
+
+        Os dois iguais s&#227;o simplesmente *uma checagem de identifica&#231;&#227;o*.  Os cavalheiros dos lados desta corda
+        parecem ser iguais?
+
+
+        Deste jeito, voc&#234; controle quem o @if@ deixa entrar.  Se voc&#234; n&#227;o suporta o @true@ assim como eu,
+        receba de peito aberto o @false@ (falso).
+
+
+        &lt;pre&gt;
+         if sujeito_aproximando == false
+           print &quot;Chega mais, seu diabo conivente.&quot;
+         end
+        &lt;/pre&gt;
+
+
+        Mesma coisa pra @unless@.  O port&#227;o &#233; seu.  Tome o controle dele.
+
+
+        h3. Novamente, Eu Quero Que Voc&#234; Domine
+
+
+        Agora, t&#225; afim de uma viagem mental?  *O sinal de dois iguais &#233; um m&#233;todo.*  Voc&#234; consegue adivinhar
+        como ele funciona?  Aqui, d&#234; uma olhada nele com ponto e parent&#234;ses:
+
+
+        bq. @sujeito_aproximando.==( true )@
+
+
+        Ruby permite o atalho, sem problemas.  Jogue o ponto e v&#225; pra tr&#225;s, devagar.
+
+
+        Agora, voc&#234; se lembra o que deve fazer pra *dominar* no Ruby?  _Use as respostas que
+        os m&#233;todos te d&#227;o._
+
+
+        &lt;pre&gt;
+         if nil.==( true )
+           print &quot;Isto nunca vai acontecer.&quot;
+         end
+        &lt;/pre&gt;
+
+
+        No exemplo acima, como a resposta do m&#233;todo esta sendo usada?
+
+
+        Pegue a afirma&#231;&#227;o @nil == true@.  Isso vai falhar toda hora.  N&#227;o s&#227;o iguais.  
+        Quando n&#227;o h&#225; igualdade, o m&#233;todo dos dois iguais responde com @false@.  Uma balan&#231;ada de cabe&#231;a.
+        Esta resposta &#233; dada ao @if@, que n&#227;o pode aceitar um @false@.  O @print@ nunca acontecer&#225;.
+
+
+        &lt;pre&gt;
+         no_hotel = true
+         email = if no_hotel
+                   &quot;why@hotelambrose.com&quot;
+                 else
+                   &quot;why@drnhowardcham.com&quot;
+                 end
+        &lt;/pre&gt;
+
+
+        Mesmo que @if@ n&#227;o seja um m&#233;todo, o @if@ retorna uma resposta.  Observe o exemplo acima
+        e imagine o que acontece quando @no_hotel@ &#233; @true@.
+
+
+        O @if@ retornar&#225; a resposta dada pelo c&#243;digo que ele decidir rodar.  No caso de 
+        @no_hotel@ ser true, a primeira string, meu endere&#231;o de e-mail no Hotel Ambrose, ser&#225;
+        retornado.  A palavra reservada @else@ marca o c&#243;digo a ser rodado, uma vez que o @if@ falhe.  Se @no_hotel@
+        &#233; false, o @if@ responder&#225; com meu endere&#231;o de e-mail do escrit&#243;rio do Dr. N. Howard Cham, 
+        onde eu recebo meu aprendizado.
+
+
+        Voc&#234; deve ter v&#225;rias linhas de c&#243;digo dentro de um @if@ ou @unless@, *mas somente a resposta oriunda
+        da &#250;ltima afirmac&#227;o completa ser&#225; usada*.
+
+
+        &lt;pre&gt;
+         email = if no_hotel
+                   endereco = &quot;why&quot;
+                   endereco &lt;&lt; &quot;@hotelambrose&quot;
+                   endereco &lt;&lt; &quot;.com&quot;
+                 end
+        &lt;/pre&gt;
+
+
+        Tr&#234;s linhas de c&#243;digo dentro do @if@.  A primeira linha atribui uma string com meu nome dentro a uma vari&#225;vel.
+        A segunda e terceira linha adicionam o resto do meu endere&#231;o de e-mail no fim.  O *menor que duplo @&lt;&lt;@
+        &#233; o operador da concatena&#231;&#227;o*.  Concatenar &#233; o mesmo que *apender*, or *adicionar no fim*.
+
+
+        Assim como vimos com o checador de igualdade @==@, o concatenador &#233; um m&#233;todo.  Ap&#243;s adicionar no fim
+        da string, o concatenador ainda *responde com aquela mesma stringt*.  Ent&#227;o, a terceira linha, que pode ser
+        lida como as @endereco.&lt;&lt;( &quot;.com&quot; )@, retorna @endereco@, que o @if@ ent&#227;o devolve pra a atribui&#231;&#227;o @email@.
+
+
+        Uma pergunta: E se o @if@ falhar?  E se @no_hotel@ for false no exemplo acimoa?
+        Alguma coisa ser&#225; retornada?  Nada &#233; atribu&#237;do a @email@, certo?
+
+
+        Sim, nada &#233; retornado.  Que significa que: @nil@ foi retornado.  E @nil@ &#233; muitas vezes uma
+        resposta muito &#250;til.
+
+        
+        &lt;pre&gt;
+         print( if no_hotel.nil?
+                  &quot;Se pistas se ele est&#225; no hotel.&quot;
+                elsif no_hotel == true
+                  &quot;Definitivamente sim.&quot;
+                elsif no_hotel == false
+                  &quot;Ele saiu.&quot;
+                else
+                  &quot;O sistema est&#225; traaaaavad-iz&quot;
+                end )
+        &lt;/pre&gt;
+
+
+        Voc&#234; pode usar o m&#233;todo @nil?@ em qualquer valor no Ruby.  Novamente, pense nele com uma mensagem.
+        Para o valor: &quot;Voc&#234; &#233; nil?  Voc&#234; est&#225; vazio?&quot;
+
+
+        Se @no_hotel@ estiver vazia, o Ruby n&#227;o tem id&#233;ia se eu estou no hotel ou n&#227;o.  Ent&#227;o o @if@
+        responde com a string &quot;Sem pistas&quot;.  Para manejar as possibilidades de @true@ ou @false@,
+        a palavra reservada @elsif@ &#233; usada.  Enquanto voc&#234; pode ter apenas um @if@ e um @else@, voc&#234; pode encher
+        as entranhas com um exorbitante n&#250;mero de palavras chave @elsif@.  Cada @elsif@ age como *um outro teste @if@*.
+        Checando por uma carga positiva.
+
+
+        Se voc&#234; est&#225; indo bem at&#233; este ponto, ent&#227;o voc&#234; est&#225; em boa forma para o resto do
+        livro.  Voc&#234; viu um c&#243;digo bem parrudo nos &#250;ltimos exemplos.  Voc&#234; &#233; um forte companheiro.
+
+</diff>
      <filename>lang-pt/poignant-30.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,83 +1,83 @@
-    - Chaining Delusions Together: &gt;
-
-        !i/the.elf-6.jpg(55,000 starmonkeys and one spirited Olympic hopeful.)!
-
-
-        You finish reading the above comic and retire to your daybed for reflection. It's one of
-        those canopy affairs which is always logjammed with pillows.  You sit atop the pile,
-        gazing out upon the world.  You see the tall smokestacks belching wide spools of fume and
-        haze.  The tangled concourses of freeways smattered with swift, shimmering traffic is but
-        a gently pulsing eye muscle from your vantage point.
-
-
-        It is all so fantastic.  How the colors of the horizon spread across the landscape as a great
-        mix of butter and grease with a tablespoon of vanilla extract.
-
-
-        Yet, for all of the beauty which beckons for your attention, the images of the Elf and 
-        his Olympic Hopeful return.  And more especially, that order for *55,000* starmonkeys.  
-        _55,000 starmonkeys_, you think.  _Fifty-five Thousand_.
-
-
-        You think of just the number itself.  _55,000_.  It's walking down a road.  It might be in
-        a forest, you don't know for sure as your eyes are fixed right on the number itself.  It's stopping
-        and talking to people.  To tennis players, to a men's choral group.  There is merriment and good 
-        feeling.  When it laughs, its lower zeros quiver with glee.
-
-
-        You want to talk to it.  You want to skip along that forest trail with it.  You want to climb
-        aboard a jet bound to Brazil with it.  And after five days and four nights at the leisureful
-        Costa do Sauipe Marriott Resort &amp; Spa, to marry it, to bear a family of 55,000 starmonkeys with it.
-        To take possession of Nigeria with it.
-
-
-        With a flying leap, you dismount your pillow tower of isolation.  Scrambling with the key,
-        you unlock your roll top desk and pull out a sheet of paper, holding it firmly upon the
-        desk.  You begin scribbling.
-
-
-        bq. _Take possession of Nigeria with my new 55,000 starmonkeys_... 
-
-        _Over it, build Nigeria-sized *vegetarians only* casino and go-cart arena_...
-
-        _Wings... we could have our own special sauce on the wings that's different_...
-
-        _Mustard + codeine = Smotchkkiss' Starry Starmonkey Glow Sauce_...
-
-        _Franchise, franchise... logos_... 
-
-        _Employee instructional videos_... 
-
-        _When you give the customer change,
-        let them reach inside the frog on your hand to get it_...  
-
-        _If they have no change, at least put their
-        reciept some place where they have to touch the frog_...  
-
-        _We're leveling the playing field here_...
-
-        _Advertise cheap pizza, let's make our money off soda_...
-
-        _Collect all 4 frosted glasses_...
-
-
-        Wow, the ideas are really coming out.  You literally had to smack yourself to stop.  We need to put these
-        in a safe place.  Actually, we should store them on your computer and mangle the words.  You look out the
-        window and watch for FBI.  I'm going to start this script.
-
- 
-        h3. The Flipping Script
-
-
-        &lt;pre&gt;
-         print &quot;Type and be diabolical: &quot;
-         idea_backwards = gets.reverse
-        &lt;/pre&gt;
-
-
-        Let this script be your confidante.  It will ask for evil plans and turn their letters backwards.
-        The @gets@ method is *built into Ruby*.  It's a *kernel method* like @print@.  This method @gets@
-        will pause Ruby to let you type.  When you hit _Enter_, @gets@ will then stop paying attention
-        to your keyboard punchings and answer back to Ruby with a string that contains everything you typed.
-
-
+    - Chaining Delusions Together: &gt;
+
+        !i/the.elf-6.jpg(55,000 starmonkeys and one spirited Olympic hopeful.)!
+
+
+        You finish reading the above comic and retire to your daybed for reflection. It's one of
+        those canopy affairs which is always logjammed with pillows.  You sit atop the pile,
+        gazing out upon the world.  You see the tall smokestacks belching wide spools of fume and
+        haze.  The tangled concourses of freeways smattered with swift, shimmering traffic is but
+        a gently pulsing eye muscle from your vantage point.
+
+
+        It is all so fantastic.  How the colors of the horizon spread across the landscape as a great
+        mix of butter and grease with a tablespoon of vanilla extract.
+
+
+        Yet, for all of the beauty which beckons for your attention, the images of the Elf and 
+        his Olympic Hopeful return.  And more especially, that order for *55,000* starmonkeys.  
+        _55,000 starmonkeys_, you think.  _Fifty-five Thousand_.
+
+
+        You think of just the number itself.  _55,000_.  It's walking down a road.  It might be in
+        a forest, you don't know for sure as your eyes are fixed right on the number itself.  It's stopping
+        and talking to people.  To tennis players, to a men's choral group.  There is merriment and good 
+        feeling.  When it laughs, its lower zeros quiver with glee.
+
+
+        You want to talk to it.  You want to skip along that forest trail with it.  You want to climb
+        aboard a jet bound to Brazil with it.  And after five days and four nights at the leisureful
+        Costa do Sauipe Marriott Resort &amp; Spa, to marry it, to bear a family of 55,000 starmonkeys with it.
+        To take possession of Nigeria with it.
+
+
+        With a flying leap, you dismount your pillow tower of isolation.  Scrambling with the key,
+        you unlock your roll top desk and pull out a sheet of paper, holding it firmly upon the
+        desk.  You begin scribbling.
+
+
+        bq. _Take possession of Nigeria with my new 55,000 starmonkeys_... 
+
+        _Over it, build Nigeria-sized *vegetarians only* casino and go-cart arena_...
+
+        _Wings... we could have our own special sauce on the wings that's different_...
+
+        _Mustard + codeine = Smotchkkiss' Starry Starmonkey Glow Sauce_...
+
+        _Franchise, franchise... logos_... 
+
+        _Employee instructional videos_... 
+
+        _When you give the customer change,
+        let them reach inside the frog on your hand to get it_...  
+
+        _If they have no change, at least put their
+        reciept some place where they have to touch the frog_...  
+
+        _We're leveling the playing field here_...
+
+        _Advertise cheap pizza, let's make our money off soda_...
+
+        _Collect all 4 frosted glasses_...
+
+
+        Wow, the ideas are really coming out.  You literally had to smack yourself to stop.  We need to put these
+        in a safe place.  Actually, we should store them on your computer and mangle the words.  You look out the
+        window and watch for FBI.  I'm going to start this script.
+
+ 
+        h3. The Flipping Script
+
+
+        &lt;pre&gt;
+         print &quot;Type and be diabolical: &quot;
+         idea_backwards = gets.reverse
+        &lt;/pre&gt;
+
+
+        Let this script be your confidante.  It will ask for evil plans and turn their letters backwards.
+        The @gets@ method is *built into Ruby*.  It's a *kernel method* like @print@.  This method @gets@
+        will pause Ruby to let you type.  When you hit _Enter_, @gets@ will then stop paying attention
+        to your keyboard punchings and answer back to Ruby with a string that contains everything you typed.
+
+</diff>
      <filename>lang-pt/poignant-31.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,12 +1,12 @@
-    - !^sidebar
-      Saia na frente com A Roupa do Tigre: &gt;
-
-        !i/ad-tiger.gif!:expansion-pak-1.html
-
-
-        Quer come&#231;ar a usar o Ruby junto com a leitura?  Divida sua aten&#231;&#227;o e veja o
-        &quot;Pacote de Expans&#227;o I: A Roupa do Tigre&quot;:expansion-pak-1.html, um mini-cap&#237;tulo usual
-        que vai te ajudar a instalar o Ruby.  E ainda, aprender como usar Irb e Ri, dois
-        modos de ajuda que v&#234;m com o Ruby e ir&#227;o agilizar seu aprendizado.
-
-
+    - !^sidebar
+      Saia na frente com A Roupa do Tigre: &gt;
+
+        !i/ad-tiger.gif!:expansion-pak-1.html
+
+
+        Quer come&#231;ar a usar o Ruby junto com a leitura?  Divida sua aten&#231;&#227;o e veja o
+        &quot;Pacote de Expans&#227;o I: A Roupa do Tigre&quot;:expansion-pak-1.html, um mini-cap&#237;tulo usual
+        que vai te ajudar a instalar o Ruby.  E ainda, aprender como usar Irb e Ri, dois
+        modos de ajuda que v&#234;m com o Ruby e ir&#227;o agilizar seu aprendizado.
+
+</diff>
      <filename>lang-pt/poignant-32.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,326 +1,326 @@
-    - &gt;
-        O m&#233;todo @reverse@ &#233; ent&#227;o usado na String que o @gets@ est&#225; devolvendo.  O m&#233;todo @reverse@ 
-        &#233; parte da classe @String@.  O que significa que *tudo que for uma string tem o m&#233;todo @reverse@
-        dispon&#237;vel*.  Mais sobre classes no pr&#243;ximo cap&#237;tulo, por enquanto s&#243; saiba que *alguns m&#233;todos
-        s&#243; est&#227;o dispon&#237;veis para certos tipos de valores*.
-
-
-        Eu n&#227;o acho que o @reverse@ vai dar muito certo.  As autoridades s&#243; precisam por um espelho na frente
-        de &quot;air&#233;giN ad elortnoc o emoT.&quot;  Prender&#227;o a gente quando as starmonkeys come&#231;arem a pousar em Lagos.
-
-
-        As letras mai&#250;sculas est&#227;o entregando o ouro.  Talvez se n&#243;s pass&#225;ssemos todas as letras na string
-        para mai&#250;sculas antes de inverter.
-
-    
-        &lt;pre&gt;
-         ideia_ao_contrario = gets.upcase.reverse
-        &lt;/pre&gt;
-
-
-        h3. Sua Repetitividade Compensa
-
-
-        Voc&#234; me entrega um bloco de notas, cheio de garranchos ileg&#237;veis.  Analisando ele, eu come&#231;o a notar
-        padr&#245;es.  Notar que voc&#234; parece usar as mesmas palavras repetidamente in your musings.  
-        Palavras como _macacoestrela_, _Nig&#233;ria_, _bomba_.  Algumas frases at&#233;.  _Put the kabosh on._
-        Que s&#227;o ditas toda hora.
-
-
-        Vamos disfar&#231;ar estes termos bobos, meu irm&#227;o.  Vamos ofusc&#225;-los de olhos comichantes que
-        choram para saber nossos delicados planos e para nos impedir de ter grande prazer e muitos karts.
-        Vamos troc&#225;-los por linguagem inocente.  Novas palavras com significado secreto.
-
-
-        Eu comecei uma lista de palavras, uma @Hash@ do Ruby, que cont&#233;m estas suas palavras t&#227;o freq&#252;entes e perigosas.
-        Na Hash, cada palavra perigosa &#233; comparada contra uma palavra c&#243;digo (ou frase).  A palavra c&#243;digo ent&#227;o
-        ser&#225; trocada pela palavra real.
-
-
-        &lt;pre&gt;
-         palavras_codigo = {
-           'macacosestrela' =&gt; 'Phil e Pete, those prickly chancellors of the New Reich', 
-           'catapulta' =&gt; 'chucky go-go', 'bomba' =&gt; 'Heat-Assisted Living', 
-           'Nigeria' =&gt; &quot;Ny e Jerry's Lavagem a Seco (com Donuts)&quot;,
-           'Put the kabosh on' =&gt; 'Put the cable box on'
-         }
-        &lt;/pre&gt;
-
-
-        As palavras que s&#227;o colocadas antes da seta s&#227;o chamadas *chaves*.  As palavras depois
-        das setas, as defini&#231;&#245;es, geralmente s&#227;o chamadas de *valores* simplesmente.
-
-
-        Note as aspas duplas em volta de @Ny e Jerry's Lavagem a Seco (com Donuts)@.  J&#225; que nas
-        aspas est&#225; sendo usado um ap&#243;strofo, n&#243;s n&#227;o podemos usar aspas simples em torno
-        da string.  (Todavia, voc&#234; pode usar aspas simples se voc&#234; colocar uma barra invertida antes
-        do ap&#243;strofo como em: @'Ny e Jerry\'s Lavagem a Seco (com Donuts)'@.)
-
-
-        Se voc&#234; precisar procurar por uma palavra em espec&#237;fico, voc&#234; pode usar o m&#233;todo das *chaves*.
-
-
-        bq. @palavras_codigo['catapulta']@ ir&#225; responder com a string @'chucky go-go'@.
-        
-
-        Olhe as chaves como se elas fossem paletes de madeira nas quais as palavras est&#227;o em cima.
-        Uma empilhadeira poderia usar suas p&#225;s em cada lado da palete e a trazer da prateleira
-        de volta ao dep&#243;sito.  A palavra na palete &#233; chamada de _indexador_.
-        Estamos pedido para a empilhadeira achar o indexador pra gente e nos trazer de volta
-        o valor correspondente.
-
-
-        Se voc&#234; nunca esteve num dep&#243;sito, voc&#234; pode ver as chaves como al&#231;as.
-        Imagine um trabalhador industrial colocando suas luvas e levando o index de volta &#224;
-        sua cust&#243;dia.  Se voc&#234; nunca usou uma al&#231;a, ou te dar cerca de
-        trinta segundo pra achar uma e usar antes que eu fique nervoso.
-
-
-        Assim como os v&#225;rios operadores que voc&#234; viu recentemente, as chaves indexadoras s&#227;o
-        simplesmente um atalho para um m&#233;todo.
-
-
-        bq. @palavras_codigo.[]( 'catapulta' )@ ir&#225; responder com a string @'chucky go-go'@.
-
-
-        h3. Fazendo a Troca
-
-        
-        Eu me adiantei e salvei a Hash de c&#243;digo em um arquivo chamado *listadepalavras.rb*.
-
-
-        &lt;pre&gt;
-         require 'listadepalavras'
-
-         # Pegar a id&#233;ia do mal e converter em palavra c&#243;digo
-         print &quot;Entre com sua nova id&#233;ia: &quot; 
-         ideia = gets
-         palavras_codigo.each do |real, codigo| 
-           ideia.gsub!( real, codigo )
-         end
-
-         # Salva o papo-furado num novo arquivo
-         print &quot;Arquivo codificado.  Favor entrar com um nome para esta id&#233;ia: &quot;
-         nome_ideia = gets.strip
-         File::open( &quot;ideia-&quot; + nome_ideia + &quot;.txt&quot;, &quot;w&quot; ) do |f|
-           f &lt;&lt; ideia
-         end
-        &lt;/pre&gt;
-
-
-        O Script come&#231;a puxando nossa lista de palavras.  Assim como @gets@ e @print@, o m&#233;todo @require@
-        &#233; um m&#233;todo do kernel, voc&#234; pode us&#225;-lo em qualquer lugar.  Eu dei a ele a string @'listadepalavras'@
-        e ele vai procurar um arquivo chamado *listadepalavras.rb*.
-
-
-        Depois disso, h&#225; duas se&#231;&#245;es.  Estou marcando estas se&#231;&#245;es com coment&#225;rios, as linhas que come&#231;am
-        com o s&#237;mbolo *cerquilha #*.  Coment&#225;rios s&#227;o  *notas &#250;teis* que acompanham seu c&#243;digo.  Colegas que
-        vierem ver seu c&#243;digo v&#227;o apreciar tal ajuda.  Voc&#234; mesmo, quando vier no seu c&#243;digo novamente
-        depois de algum tempo, coment&#225;rios v&#227;o te ajudar a retomar o fio da meada.  E ainda existe
-        softwares por a&#237; que pegam seus coment&#225;rios e fazem documenta&#231;&#227;o &#224; partir deles.  (RDoc e Ri --
-        veja o Pacote de Expans&#227;o #1!)
-
-
-        Eu gosto de coment&#225;rios porque posso passar os olhos por uma grande pilha de c&#243;digo e identificar pontos importantes.
-
-
-        Como os coment&#225;rios nos dizem, a primeira se&#231;&#227;o de pergunta uma id&#233;ia mal&#233;fica e a troca por uma
-        palavra c&#243;digo.  A segunda se&#231;&#227;o salva a id&#233;ia codificada num novo arquivo de texto.
-
-
-        &lt;pre&gt;
-         palavras_codigo.each do |real, codigo| 
-           ideia.gsub!( real, codigo )
-         end
-        &lt;/pre&gt;
-
-
-        Voc&#234; viu o m&#233;todo @each@?  O m&#233;todo @each@ est&#225; em todo lugar no Ruby.  
-        Est&#225; dispon&#237;vel para Arrays, Hashes, at&#233; Strings.  
-        Aqui, nosso dicion&#225;rio @palavras_chave@ &#233; mantido numa Hash.  Este m&#233;todo @each@ corre entre
-        *todos os pares da Hash*, cada palavra perigosa &#233; comparada com sua palavra c&#243;digo, mandando cada par para 
-        o m&#233;otodo @gsub!@ para a troca atual.
-
-
-        No Ruby, @gsub@ &#233; abrevia&#231;&#227;o de _global substitution_ (substitui&#231;&#227;o global).  O m&#233;todo &#233; usado para procurar
-        e substituir.  Aqui, queremos achar todas as oc&#244;rrencias de palavras perigosas e substitu&#237;-las com a segura
-        palavra c&#243;digo.  Com @gsub@, voc&#234; prov&#234; a *palavra a ser achada como primeiro argunmento*, depois a *palavra
-        que tomar&#225; o lugar como segundo argumento*.
-
-
-        Por que n&#243;s n&#227;o estamos  we hanging on to the answer from @gsub@?  Doesn't @gsub@ give us an answer back that
-        we should keep?  You'd think the line would read:
-
-
-        &lt;pre&gt;
-         ideia_segura = ideia.gsub( real, codigo )
-        &lt;/pre&gt;
-
-
-        Sim, com @gsub@ n&#243;s temos que ficar com a resposta.  Estamos usando uma varia&#231;&#227;o do @gsub@ que &#233;
-        totalmente hyper.  Notou a *exclama&#231;&#227;o* no @gsub!@ usada dentro de cada bloco @each@?  A
-        exclama&#231;&#227;o &#233; um sinal de que @gsub!@ &#233; meio radical.  Veja, @gsub!@ vai mais longe e
-        *troca as palavras em @ideia@ diretamente*.  Quando ele termina @ideia@ vai conter a nova string
-        alterada e voc&#234; n&#227;o vai mais achar a string velha.
-
-
-        Pode chamar @gsub!@ de *m&#233;todo destrutivo*.  Ele faz suas modifica&#231;&#245;es no valor diretamente. Enquanto @gsub@
-        deixa o valor intacto, apenas respondendo com uma nova string que cont&#233;m as altera&#231;&#245;es.
-        (Why must @gsub!@ scream when he descends upon his prey?  Merciless assailant!)
-
-
-        h3.  Arquivo de Texto de um Homem Louco
-
-
-        Vamos salvar a id&#233;ia codificada em um arquivo.
-
-
-        &lt;pre&gt;
-         # Salva as palavras sem sentido em um novo arquivo
-         print &quot;Arquivo codificado.  Favor entrar com um nome para esta id&#233;ia: &quot;
-         nome_ideia = gets.strip
-         File::open( 'ideia-' + nome_ideia + '.txt', 'w' ) do |f|
-           f &lt;&lt; ideia
-         end
-        &lt;/pre&gt;
-
-
-        Esta se&#231;&#227;o come&#231;a perguntando por um nome pelo qual a id&#233;ia possa ser chamada.  Este nome ser&#225; usado
-        para se fazer o nome do arquivo quando salvarmos a id&#233;ia.
-
-
-        O m&#233;todo @strip@ serve pra todas strings.  Este m&#233;todo *corta espa&#231;os e linhas vazias* do *come&#231;o
-        e fim* de uma string.  Isto ir&#225; remover o _Enter_ no fim da string que voc&#234; digitou.
-        E tamb&#233;m ir&#225; remover espa&#231;os caso voc&#234; tenha acidentalmente deixado algum.
-
-
-        Depois que temos o nome da id&#233;ia, vamos abrir um novo arquivo de texto em branco.  O nome do arquivo &#233;
-        contru&#237;do adicionando-se strings.  Se voc&#234; digitou @'mostarda-mais-codeine'@, nossa matem&#225;tica ser&#225;: @'ideia-' +
-        'mostarda-mais-codeine' + '.txt'@.  O Ruby pressiona isso em uma &#250;nica string.
-        @'ideia-mostarda-mais-codeine.txt'@ &#233; o arquivo.
-
-
-        Estamos usando o m&#233;todo de classe @File::open@ para criar um novo arquivo.  At&#233; agora, n&#243;s usamos
-        v&#225;rios m&#233;todos do kernel para fazer nosso servi&#231;o.  N&#243;s damos uma string pro m&#233;todo @print@ e ele a
-        imprime na nossa tela.  Um segredo sobre m&#233;todo do kernel como @print@: eles s&#227;o na verdade 
-        *m&#233;todos de classe*.
-
-
-        bq. @Kernel::print( &quot;55,000 Macacosestrela o Sa&#250;dam!&quot; )@
-
-
-        O que isto significa?  Por que isto importa?  Isto significa que o @Kernel@ &#233; o centro do universo Ruby.
-        Sempre que voc&#234; est&#225; no seu c&#243;digo, o @Kernel@ estar&#225; do seu lado.  Voc&#234; nem precisa dizer
-        @Kernel@ pro Ruby.  O Ruby sabe checar o @Kernel@.
-
-
-        A maioria dos m&#233;todos s&#227;o mais especializados que @print@ ou @gets@.  Pegue @File::open@ por
-        exemplo.  O criador do Ruby, Matz, nos deu v&#225;rios m&#233;todos diferentes que l&#234;em,
-        renomeiam, ou deletam arquivos.  Eles est&#227;o todos organizados dentro da classe @File@.
-
-
-        bq. @File::read( &quot;ideia-mostarda-mais-codeine.txt&quot; )@ vai responder uma com uma string
-        contendo todo o texto do seu arquivo de id&#233;ias. (Read significa ler.)
-
-
-        bq. @File::rename( &quot;aquivd_antigo.txt&quot;, &quot;aquivo_novo.txt&quot; )@ ir&#225; renomear o @aquivo_antigo.txt@.
-
-
-        bq. @File::delete( &quot;aquivo_novo.txt&quot; )@ ir&#225; explodir o novo arquivo.
-
-
-        Estes m&#233;todos File est&#227;o todos *dentro do Ruby*.  Est&#227;o apenas armazenados num
-        cont&#234;iner chamado Classe @File@.  Ent&#227;o, enquanto voc&#234; pode seguramente chamar os m&#233;todos do kernel
-        sem precisar digitar @Kernel@, o Ruby n&#227;o checa automaticamente a classe @File@.
-        Voc&#234; precisa dizer o nome do m&#233;todo completo.
-    
-
-        &lt;pre&gt;
-         File::open( 'ideia-' + nome_ideia + '.txt', 'w' ) do |f|
-           f &lt;&lt; ideia
-         end
-        &lt;/pre&gt;
-
-
-        N&#243;s passamos dois argumentos dentro de @File::open@.  O primeiro &#233; o *nome do arquivo para abrir*.
-        O segundo &#233; uma string contendo o *modo do arquivo*.  Usamos @'w'@, que significa escrever em um novo
-        arquivo.  (Outras op&#231;&#245;es s&#227;o: @'r'@ para ler o arquivo ou @'a'@ para adicionar no fim do arquivo.)
-
-
-        O arquivo est&#225; aberto para escrita e nos &#233; dado na forma de vari&#225;vel @f@, que pode ser vista
-        *descendo a calha pra dentro do nosso block*.  Dentro do bloco, n&#243;s escrevemos no arquivo.  Quando
-        o bloco se fecha com @end@, nosso arquivo &#233; fechado tamb&#233;m.
-
-
-        Note que n&#243;s usamos o *concatenador* @&lt;&lt;@ para escrever no arquivo.  Podemos fazer isto porque arquivos
-        t&#234;m um m&#233;todo chamado @&lt;&lt;@, assim como as Strings.
-
-
-        h3. Acalme-se, Suas Id&#233;ias N&#227;o Est&#227;o Presas
-
-
-        Aqui, vamos pegar nossas id&#233;ia de volta em seus verbos originais,
-        para que voc&#234; possa ruminar sobre o brilhantismo delas.
-
-
-        &lt;pre&gt;
-         require 'listadepalavras'
-
-         # Imprima cada id&#233;ia com as palavras corretas
-         Dir['ideia-*.txt'].each do |nome_arquivo|
-           ideia = File.read( nome_arquivo )
-           palavras_codigo.each do |real, codigo| 
-             ideia.gsub!( codigo, real )
-           end
-           puts ideia
-         end
-        &lt;/pre&gt;
-
-
-        Nessa altura, voc&#234; j&#225; deve estar sabendo o que este exemplo faz.  N&#227;o vou te incomodar com
-        detalhes mundanos.  Veja se voc&#234; consegue entender sozinho como isso funciona.
-
-
-        Contudo, temos um m&#233;todo de classe interessante aqui.  O m&#233;todo @Dir::[]@ procura num diret&#243;rio (alguns
-        de voc&#234;s podem cham&#225;-los de &quot;pastas&quot;).  Assim como voc&#234; viu com as Hashes, os colchetes indexadores
-        pode ser m&#233;todos de Classe.  (Come&#231;ando a ver a brilhante, glinting gorgeousness of Ruby?)
-
-
-        Ent&#227;o n&#243;s estamos usando a empilhadeira para pegar os arquivos no diret&#243;rio que coincidem @'ideia-*.txt'@.  The
-        @Dir::[]@ ir&#225; usar o asterisco como um coringa.  Estamos basicamente dizendo, &quot;Encontre tudo que
-        comece com _ideia-_ e termine com _.txt_.&quot;  A empilhadeira vai para o diret&#243;rio e volta
-        com uma lista de arquivos encontrados.
-
-
-        Esta *lista de arquivos* vem na forma de @Array@ a Centop&#233;ia, com uma @String@ para cada 
-        arquivo.  Se voc&#234; est&#225; curioso e que brincar com @Dir::[]@, tente isso:
-
-
-        bq. @p Dir['ideia-*.txt']@ ir&#225; imprimir:
-
-
-        bq. @['ideia-mostarda-mais-codeine.txt']@ (_um Array de nomes de arquivos!_)
-
-
-        Sim, o m&#233;todo @p@ funciona igual @print@.  Mas @print@ &#233; para se imprimir strings,
-        enquanto @p@ ir&#225; imprimir _qualquer coisa_.  Veja isso. 
-        
-
-        bq. @p File::methods@ ir&#225; imprimir:
-
-
-        bq. @[&quot;send&quot;, &quot;display&quot;, &quot;name&quot;, &quot;exist?&quot;, &quot;split&quot;,@ ... _a lista completa dos nomes dos m&#233;todos!_ @]@ 
-
-
-#        h3. Extra Credit: PStore
-#
-#        
-#        &lt;pre&gt;
-#         require 'pstore'
-#         journal = PStore.new( 'journal.p' )
-#         journal.transaction do
-#           journal.
-#         end
-#        &lt;/pre&gt;
-
-
+    - &gt;
+        O m&#233;todo @reverse@ &#233; ent&#227;o usado na String que o @gets@ est&#225; devolvendo.  O m&#233;todo @reverse@ 
+        &#233; parte da classe @String@.  O que significa que *tudo que for uma string tem o m&#233;todo @reverse@
+        dispon&#237;vel*.  Mais sobre classes no pr&#243;ximo cap&#237;tulo, por enquanto s&#243; saiba que *alguns m&#233;todos
+        s&#243; est&#227;o dispon&#237;veis para certos tipos de valores*.
+
+
+        Eu n&#227;o acho que o @reverse@ vai dar muito certo.  As autoridades s&#243; precisam por um espelho na frente
+        de &quot;air&#233;giN ad elortnoc o emoT.&quot;  Prender&#227;o a gente quando as starmonkeys come&#231;arem a pousar em Lagos.
+
+
+        As letras mai&#250;sculas est&#227;o entregando o ouro.  Talvez se n&#243;s pass&#225;ssemos todas as letras na string
+        para mai&#250;sculas antes de inverter.
+
+    
+        &lt;pre&gt;
+         ideia_ao_contrario = gets.upcase.reverse
+        &lt;/pre&gt;
+
+
+        h3. Sua Repetitividade Compensa
+
+
+        Voc&#234; me entrega um bloco de notas, cheio de garranchos ileg&#237;veis.  Analisando ele, eu come&#231;o a notar
+        padr&#245;es.  Notar que voc&#234; parece usar as mesmas palavras repetidamente in your musings.  
+        Palavras como _macacoestrela_, _Nig&#233;ria_, _bomba_.  Algumas frases at&#233;.  _Put the kabosh on._
+        Que s&#227;o ditas toda hora.
+
+
+        Vamos disfar&#231;ar estes termos bobos, meu irm&#227;o.  Vamos ofusc&#225;-los de olhos comichantes que
+        choram para saber nossos delicados planos e para nos impedir de ter grande prazer e muitos karts.
+        Vamos troc&#225;-los por linguagem inocente.  Novas palavras com significado secreto.
+
+
+        Eu comecei uma lista de palavras, uma @Hash@ do Ruby, que cont&#233;m estas suas palavras t&#227;o freq&#252;entes e perigosas.
+        Na Hash, cada palavra perigosa &#233; comparada contra uma palavra c&#243;digo (ou frase).  A palavra c&#243;digo ent&#227;o
+        ser&#225; trocada pela palavra real.
+
+
+        &lt;pre&gt;
+         palavras_codigo = {
+           'macacosestrela' =&gt; 'Phil e Pete, those prickly chancellors of the New Reich', 
+           'catapulta' =&gt; 'chucky go-go', 'bomba' =&gt; 'Heat-Assisted Living', 
+           'Nigeria' =&gt; &quot;Ny e Jerry's Lavagem a Seco (com Donuts)&quot;,
+           'Put the kabosh on' =&gt; 'Put the cable box on'
+         }
+        &lt;/pre&gt;
+
+
+        As palavras que s&#227;o colocadas antes da seta s&#227;o chamadas *chaves*.  As palavras depois
+        das setas, as defini&#231;&#245;es, geralmente s&#227;o chamadas de *valores* simplesmente.
+
+
+        Note as aspas duplas em volta de @Ny e Jerry's Lavagem a Seco (com Donuts)@.  J&#225; que nas
+        aspas est&#225; sendo usado um ap&#243;strofo, n&#243;s n&#227;o podemos usar aspas simples em torno
+        da string.  (Todavia, voc&#234; pode usar aspas simples se voc&#234; colocar uma barra invertida antes
+        do ap&#243;strofo como em: @'Ny e Jerry\'s Lavagem a Seco (com Donuts)'@.)
+
+
+        Se voc&#234; precisar procurar por uma palavra em espec&#237;fico, voc&#234; pode usar o m&#233;todo das *chaves*.
+
+
+        bq. @palavras_codigo['catapulta']@ ir&#225; responder com a string @'chucky go-go'@.
+        
+
+        Olhe as chaves como se elas fossem paletes de madeira nas quais as palavras est&#227;o em cima.
+        Uma empilhadeira poderia usar suas p&#225;s em cada lado da palete e a trazer da prateleira
+        de volta ao dep&#243;sito.  A palavra na palete &#233; chamada de _indexador_.
+        Estamos pedido para a empilhadeira achar o indexador pra gente e nos trazer de volta
+        o valor correspondente.
+
+
+        Se voc&#234; nunca esteve num dep&#243;sito, voc&#234; pode ver as chaves como al&#231;as.
+        Imagine um trabalhador industrial colocando suas luvas e levando o index de volta &#224;
+        sua cust&#243;dia.  Se voc&#234; nunca usou uma al&#231;a, ou te dar cerca de
+        trinta segundo pra achar uma e usar antes que eu fique nervoso.
+
+
+        Assim como os v&#225;rios operadores que voc&#234; viu recentemente, as chaves indexadoras s&#227;o
+        simplesmente um atalho para um m&#233;todo.
+
+
+        bq. @palavras_codigo.[]( 'catapulta' )@ ir&#225; responder com a string @'chucky go-go'@.
+
+
+        h3. Fazendo a Troca
+
+        
+        Eu me adiantei e salvei a Hash de c&#243;digo em um arquivo chamado *listadepalavras.rb*.
+
+
+        &lt;pre&gt;
+         require 'listadepalavras'
+
+         # Pegar a id&#233;ia do mal e converter em palavra c&#243;digo
+         print &quot;Entre com sua nova id&#233;ia: &quot; 
+         ideia = gets
+         palavras_codigo.each do |real, codigo| 
+           ideia.gsub!( real, codigo )
+         end
+
+         # Salva o papo-furado num novo arquivo
+         print &quot;Arquivo codificado.  Favor entrar com um nome para esta id&#233;ia: &quot;
+         nome_ideia = gets.strip
+         File::open( &quot;ideia-&quot; + nome_ideia + &quot;.txt&quot;, &quot;w&quot; ) do |f|
+           f &lt;&lt; ideia
+         end
+        &lt;/pre&gt;
+
+
+        O Script come&#231;a puxando nossa lista de palavras.  Assim como @gets@ e @print@, o m&#233;todo @require@
+        &#233; um m&#233;todo do kernel, voc&#234; pode us&#225;-lo em qualquer lugar.  Eu dei a ele a string @'listadepalavras'@
+        e ele vai procurar um arquivo chamado *listadepalavras.rb*.
+
+
+        Depois disso, h&#225; duas se&#231;&#245;es.  Estou marcando estas se&#231;&#245;es com coment&#225;rios, as linhas que come&#231;am
+        com o s&#237;mbolo *cerquilha #*.  Coment&#225;rios s&#227;o  *notas &#250;teis* que acompanham seu c&#243;digo.  Colegas que
+        vierem ver seu c&#243;digo v&#227;o apreciar tal ajuda.  Voc&#234; mesmo, quando vier no seu c&#243;digo novamente
+        depois de algum tempo, coment&#225;rios v&#227;o te ajudar a retomar o fio da meada.  E ainda existe
+        softwares por a&#237; que pegam seus coment&#225;rios e fazem documenta&#231;&#227;o &#224; partir deles.  (RDoc e Ri --
+        veja o Pacote de Expans&#227;o #1!)
+
+
+        Eu gosto de coment&#225;rios porque posso passar os olhos por uma grande pilha de c&#243;digo e identificar pontos importantes.
+
+
+        Como os coment&#225;rios nos dizem, a primeira se&#231;&#227;o de pergunta uma id&#233;ia mal&#233;fica e a troca por uma
+        palavra c&#243;digo.  A segunda se&#231;&#227;o salva a id&#233;ia codificada num novo arquivo de texto.
+
+
+        &lt;pre&gt;
+         palavras_codigo.each do |real, codigo| 
+           ideia.gsub!( real, codigo )
+         end
+        &lt;/pre&gt;
+
+
+        Voc&#234; viu o m&#233;todo @each@?  O m&#233;todo @each@ est&#225; em todo lugar no Ruby.  
+        Est&#225; dispon&#237;vel para Arrays, Hashes, at&#233; Strings.  
+        Aqui, nosso dicion&#225;rio @palavras_chave@ &#233; mantido numa Hash.  Este m&#233;todo @each@ corre entre
+        *todos os pares da Hash*, cada palavra perigosa &#233; comparada com sua palavra c&#243;digo, mandando cada par para 
+        o m&#233;otodo @gsub!@ para a troca atual.
+
+
+        No Ruby, @gsub@ &#233; abrevia&#231;&#227;o de _global substitution_ (substitui&#231;&#227;o global).  O m&#233;todo &#233; usado para procurar
+        e substituir.  Aqui, queremos achar todas as oc&#244;rrencias de palavras perigosas e substitu&#237;-las com a segura
+        palavra c&#243;digo.  Com @gsub@, voc&#234; prov&#234; a *palavra a ser achada como primeiro argunmento*, depois a *palavra
+        que tomar&#225; o lugar como segundo argumento*.
+
+
+        Por que n&#243;s n&#227;o estamos  we hanging on to the answer from @gsub@?  Doesn't @gsub@ give us an answer back that
+        we should keep?  You'd think the line would read:
+
+
+        &lt;pre&gt;
+         ideia_segura = ideia.gsub( real, codigo )
+        &lt;/pre&gt;
+
+
+        Sim, com @gsub@ n&#243;s temos que ficar com a resposta.  Estamos usando uma varia&#231;&#227;o do @gsub@ que &#233;
+        totalmente hyper.  Notou a *exclama&#231;&#227;o* no @gsub!@ usada dentro de cada bloco @each@?  A
+        exclama&#231;&#227;o &#233; um sinal de que @gsub!@ &#233; meio radical.  Veja, @gsub!@ vai mais longe e
+        *troca as palavras em @ideia@ diretamente*.  Quando ele termina @ideia@ vai conter a nova string
+        alterada e voc&#234; n&#227;o vai mais achar a string velha.
+
+
+        Pode chamar @gsub!@ de *m&#233;todo destrutivo*.  Ele faz suas modifica&#231;&#245;es no valor diretamente. Enquanto @gsub@
+        deixa o valor intacto, apenas respondendo com uma nova string que cont&#233;m as altera&#231;&#245;es.
+        (Why must @gsub!@ scream when he descends upon his prey?  Merciless assailant!)
+
+
+        h3.  Arquivo de Texto de um Homem Louco
+
+
+        Vamos salvar a id&#233;ia codificada em um arquivo.
+
+
+        &lt;pre&gt;
+         # Salva as palavras sem sentido em um novo arquivo
+         print &quot;Arquivo codificado.  Favor entrar com um nome para esta id&#233;ia: &quot;
+         nome_ideia = gets.strip
+         File::open( 'ideia-' + nome_ideia + '.txt', 'w' ) do |f|
+           f &lt;&lt; ideia
+         end
+        &lt;/pre&gt;
+
+
+        Esta se&#231;&#227;o come&#231;a perguntando por um nome pelo qual a id&#233;ia possa ser chamada.  Este nome ser&#225; usado
+        para se fazer o nome do arquivo quando salvarmos a id&#233;ia.
+
+
+        O m&#233;todo @strip@ serve pra todas strings.  Este m&#233;todo *corta espa&#231;os e linhas vazias* do *come&#231;o
+        e fim* de uma string.  Isto ir&#225; remover o _Enter_ no fim da string que voc&#234; digitou.
+        E tamb&#233;m ir&#225; remover espa&#231;os caso voc&#234; tenha acidentalmente deixado algum.
+
+
+        Depois que temos o nome da id&#233;ia, vamos abrir um novo arquivo de texto em branco.  O nome do arquivo &#233;
+        contru&#237;do adicionando-se strings.  Se voc&#234; digitou @'mostarda-mais-codeine'@, nossa matem&#225;tica ser&#225;: @'ideia-' +
+        'mostarda-mais-codeine' + '.txt'@.  O Ruby pressiona isso em uma &#250;nica string.
+        @'ideia-mostarda-mais-codeine.txt'@ &#233; o arquivo.
+
+
+        Estamos usando o m&#233;todo de classe @File::open@ para criar um novo arquivo.  At&#233; agora, n&#243;s usamos
+        v&#225;rios m&#233;todos do kernel para fazer nosso servi&#231;o.  N&#243;s damos uma string pro m&#233;todo @print@ e ele a
+        imprime na nossa tela.  Um segredo sobre m&#233;todo do kernel como @print@: eles s&#227;o na verdade 
+        *m&#233;todos de classe*.
+
+
+        bq. @Kernel::print( &quot;55,000 Macacosestrela o Sa&#250;dam!&quot; )@
+
+
+        O que isto significa?  Por que isto importa?  Isto significa que o @Kernel@ &#233; o centro do universo Ruby.
+        Sempre que voc&#234; est&#225; no seu c&#243;digo, o @Kernel@ estar&#225; do seu lado.  Voc&#234; nem precisa dizer
+        @Kernel@ pro Ruby.  O Ruby sabe checar o @Kernel@.
+
+
+        A maioria dos m&#233;todos s&#227;o mais especializados que @print@ ou @gets@.  Pegue @File::open@ por
+        exemplo.  O criador do Ruby, Matz, nos deu v&#225;rios m&#233;todos diferentes que l&#234;em,
+        renomeiam, ou deletam arquivos.  Eles est&#227;o todos organizados dentro da classe @File@.
+
+
+        bq. @File::read( &quot;ideia-mostarda-mais-codeine.txt&quot; )@ vai responder uma com uma string
+        contendo todo o texto do seu arquivo de id&#233;ias. (Read significa ler.)
+
+
+        bq. @File::rename( &quot;aquivd_antigo.txt&quot;, &quot;aquivo_novo.txt&quot; )@ ir&#225; renomear o @aquivo_antigo.txt@.
+
+
+        bq. @File::delete( &quot;aquivo_novo.txt&quot; )@ ir&#225; explodir o novo arquivo.
+
+
+        Estes m&#233;todos File est&#227;o todos *dentro do Ruby*.  Est&#227;o apenas armazenados num
+        cont&#234;iner chamado Classe @File@.  Ent&#227;o, enquanto voc&#234; pode seguramente chamar os m&#233;todos do kernel
+        sem precisar digitar @Kernel@, o Ruby n&#227;o checa automaticamente a classe @File@.
+        Voc&#234; precisa dizer o nome do m&#233;todo completo.
+    
+
+        &lt;pre&gt;
+         File::open( 'ideia-' + nome_ideia + '.txt', 'w' ) do |f|
+           f &lt;&lt; ideia
+         end
+        &lt;/pre&gt;
+
+
+        N&#243;s passamos dois argumentos dentro de @File::open@.  O primeiro &#233; o *nome do arquivo para abrir*.
+        O segundo &#233; uma string contendo o *modo do arquivo*.  Usamos @'w'@, que significa escrever em um novo
+        arquivo.  (Outras op&#231;&#245;es s&#227;o: @'r'@ para ler o arquivo ou @'a'@ para adicionar no fim do arquivo.)
+
+
+        O arquivo est&#225; aberto para escrita e nos &#233; dado na forma de vari&#225;vel @f@, que pode ser vista
+        *descendo a calha pra dentro do nosso block*.  Dentro do bloco, n&#243;s escrevemos no arquivo.  Quando
+        o bloco se fecha com @end@, nosso arquivo &#233; fechado tamb&#233;m.
+
+
+        Note que n&#243;s usamos o *concatenador* @&lt;&lt;@ para escrever no arquivo.  Podemos fazer isto porque arquivos
+        t&#234;m um m&#233;todo chamado @&lt;&lt;@, assim como as Strings.
+
+
+        h3. Acalme-se, Suas Id&#233;ias N&#227;o Est&#227;o Presas
+
+
+        Aqui, vamos pegar nossas id&#233;ia de volta em seus verbos originais,
+        para que voc&#234; possa ruminar sobre o brilhantismo delas.
+
+
+        &lt;pre&gt;
+         require 'listadepalavras'
+
+         # Imprima cada id&#233;ia com as palavras corretas
+         Dir['ideia-*.txt'].each do |nome_arquivo|
+           ideia = File.read( nome_arquivo )
+           palavras_codigo.each do |real, codigo| 
+             ideia.gsub!( codigo, real )
+           end
+           puts ideia
+         end
+        &lt;/pre&gt;
+
+
+        Nessa altura, voc&#234; j&#225; deve estar sabendo o que este exemplo faz.  N&#227;o vou te incomodar com
+        detalhes mundanos.  Veja se voc&#234; consegue entender sozinho como isso funciona.
+
+
+        Contudo, temos um m&#233;todo de classe interessante aqui.  O m&#233;todo @Dir::[]@ procura num diret&#243;rio (alguns
+        de voc&#234;s podem cham&#225;-los de &quot;pastas&quot;).  Assim como voc&#234; viu com as Hashes, os colchetes indexadores
+        pode ser m&#233;todos de Classe.  (Come&#231;ando a ver a brilhante, glinting gorgeousness of Ruby?)
+
+
+        Ent&#227;o n&#243;s estamos usando a empilhadeira para pegar os arquivos no diret&#243;rio que coincidem @'ideia-*.txt'@.  The
+        @Dir::[]@ ir&#225; usar o asterisco como um coringa.  Estamos basicamente dizendo, &quot;Encontre tudo que
+        comece com _ideia-_ e termine com _.txt_.&quot;  A empilhadeira vai para o diret&#243;rio e volta
+        com uma lista de arquivos encontrados.
+
+
+        Esta *lista de arquivos* vem na forma de @Array@ a Centop&#233;ia, com uma @String@ para cada 
+        arquivo.  Se voc&#234; est&#225; curioso e que brincar com @Dir::[]@, tente isso:
+
+
+        bq. @p Dir['ideia-*.txt']@ ir&#225; imprimir:
+
+
+        bq. @['ideia-mostarda-mais-codeine.txt']@ (_um Array de nomes de arquivos!_)
+
+
+        Sim, o m&#233;todo @p@ funciona igual @print@.  Mas @print@ &#233; para se imprimir strings,
+        enquanto @p@ ir&#225; imprimir _qualquer coisa_.  Veja isso. 
+        
+
+        bq. @p File::methods@ ir&#225; imprimir:
+
+
+        bq. @[&quot;send&quot;, &quot;display&quot;, &quot;name&quot;, &quot;exist?&quot;, &quot;split&quot;,@ ... _a lista completa dos nomes dos m&#233;todos!_ @]@ 
+
+
+#        h3. Extra Credit: PStore
+#
+#        
+#        &lt;pre&gt;
+#         require 'pstore'
+#         journal = PStore.new( 'journal.p' )
+#         journal.transaction do
+#           journal.
+#         end
+#        &lt;/pre&gt;
+
+</diff>
      <filename>lang-pt/poignant-33.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-    - O Milagre dos Blocos (Blocks): &gt;
-
-        !i/blix-2.gif(Entregadores de flores?  J&#225; ouvi essa antes.)!
-
+    - O Milagre dos Blocos (Blocks): &gt;
+
+        !i/blix-2.gif(Entregadores de flores?  J&#225; ouvi essa antes.)!
+</diff>
      <filename>lang-pt/poignant-34.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,58 +1,58 @@
-    - !^sidebar
-      Extra&#237;do de Os Comedores de Cachec&#243;is: &gt;
-
-        (_do Cap&#237;tulo V: Um Homem de Uniforme_.)
-
-
-        Em Abril, os l&#237;rios verdes voltaram.  Eles abriram suas asinhas de anjo,
-        saindo para o mundo.  Gentilmente, seus rebentos acariciaram os
-        tristes postes da cerca at&#233; que eles cantassem alegremente.
-
-
-        Da janela do seu quarto, Lara olhava os l&#237;rios exibirem sua feminilidade s&#243;lida.
-        Ela colocou a franja de um cachecol carpatiano, bordado, novo, em sua boca e comeu
-        vagarosamente. A malha longa desceu por sua garganta provocando c&#243;cegas enquanto serpenteava pelo
-        es&#244;fago.  Ela riu e arrotou.
-
-
-        Oh, como a flora a atra&#237;a.  Olhar para flores combinava tanto com ser uma garota adolescente. 
-        Ela queria pint&#225;-las, ent&#227;o ela abriu um novo modelo no Flash.  Um filme vazio dessa vez.
-
-
-        Ela deixou seu cursor passear pelos jardins da &#225;rea vis&#237;vel do filme.  Linhas vetoriais brancas
-        sob linhas vetoriais amarelas mais curtas.  Ela selecionou as linhas brancas e as agrupou.
-        Ela at&#233; moveu as linhas para uma nova camada chamada &quot;Chora, Anjinho, Chora.&quot;  Ent&#227;o ela
-        as converteu em um objeto gr&#225;fico e o moveu para a biblioteca.
-
-
-        Ela sentiu um calafrio morno enquanto movia as longas, p&#233;talas brancas para a biblioteca do filme.
-        Aquilo parecia t&#227;o oficial.  _Eu escolho voc&#234;.  Eu nomeio voc&#234;.   Fa&#231;am do conforto do meu pal&#225;cio sua morada eterna._
-        
-
-        Heh.  Ela riu.  Colorado Springs n&#227;o era nenhum &quot;pal&#225;cio&quot;.
-        
-
-        Desde que eles se mudaram, papai s&#243; esteve em casa uma vez.  Ele entrou violentamente pela porta da frente
-        vestindo seu uniforme completo e j&#225; come&#231;ou a passar um serm&#227;o em Lara e sua m&#227;e.  Sua m&#227;e at&#233; deixou cair
-        um p&#233; de alface -- que ela havia acabado de lavar -- em um pote de Lick-M-Aid.  
-        
-
-        O alface mal coube no pote, mas ele se alojou l&#225; direitinho.
-        Papai veio e sacou o p&#233; de alface, fitando-o por algum tempo, at&#233; declar&#225;-lo PT (Perda Total), em
-        uma voz ao mesmo tempo confusa e desapontada.  E jogou aquele vegetal sujo na lata do lixo.
-
-
-        Foi s&#243; mais tarde aquele dia que a m&#227;e de Lara concluiu que ela poderia simplesmente ter cortado o alface
-        ao meio com uma faca el&#233;trica.  Papai sorriu e estapeou a pr&#243;pria testa.  Ele, ent&#227;o, foi at&#233; Lara
-        e tamb&#233;m lhe deu um tapa na testa, e em sua m&#227;e tamb&#233;m, afetuosamente.
-
-
-        &quot;N&#243;s n&#227;o est&#225;vamos pensando, n&#227;o &#233; mesmo?&quot; ele disse.  &quot;E quem pode nos culpar?  N&#243;s somos
-        uma fam&#237;lia de verdade hoje.  E n&#243;s n&#227;o dever&#237;amos ter que fazer mais nada no dia em que
-        reunimos nossa fam&#237;lia de novo.&quot;
-
-
-        O sorriso de Lara refletiu no vidro do monitor.  Ela escolheu o programa de texto
-        e em fonte serif tamanho 42 escreveu: &quot;Pai.&quot;  Ela criou um caminho para ele e deixou que uma
-        anima&#231;&#227;o o levasse para fora da tela.  Ela chorou por algum tempo depois que aquilo se fora.
-
+    - !^sidebar
+      Extra&#237;do de Os Comedores de Cachec&#243;is: &gt;
+
+        (_do Cap&#237;tulo V: Um Homem de Uniforme_.)
+
+
+        Em Abril, os l&#237;rios verdes voltaram.  Eles abriram suas asinhas de anjo,
+        saindo para o mundo.  Gentilmente, seus rebentos acariciaram os
+        tristes postes da cerca at&#233; que eles cantassem alegremente.
+
+
+        Da janela do seu quarto, Lara olhava os l&#237;rios exibirem sua feminilidade s&#243;lida.
+        Ela colocou a franja de um cachecol carpatiano, bordado, novo, em sua boca e comeu
+        vagarosamente. A malha longa desceu por sua garganta provocando c&#243;cegas enquanto serpenteava pelo
+        es&#244;fago.  Ela riu e arrotou.
+
+
+        Oh, como a flora a atra&#237;a.  Olhar para flores combinava tanto com ser uma garota adolescente. 
+        Ela queria pint&#225;-las, ent&#227;o ela abriu um novo modelo no Flash.  Um filme vazio dessa vez.
+
+
+        Ela deixou seu cursor passear pelos jardins da &#225;rea vis&#237;vel do filme.  Linhas vetoriais brancas
+        sob linhas vetoriais amarelas mais curtas.  Ela selecionou as linhas brancas e as agrupou.
+        Ela at&#233; moveu as linhas para uma nova camada chamada &quot;Chora, Anjinho, Chora.&quot;  Ent&#227;o ela
+        as converteu em um objeto gr&#225;fico e o moveu para a biblioteca.
+
+
+        Ela sentiu um calafrio morno enquanto movia as longas, p&#233;talas brancas para a biblioteca do filme.
+        Aquilo parecia t&#227;o oficial.  _Eu escolho voc&#234;.  Eu nomeio voc&#234;.   Fa&#231;am do conforto do meu pal&#225;cio sua morada eterna._
+        
+
+        Heh.  Ela riu.  Colorado Springs n&#227;o era nenhum &quot;pal&#225;cio&quot;.
+        
+
+        Desde que eles se mudaram, papai s&#243; esteve em casa uma vez.  Ele entrou violentamente pela porta da frente
+        vestindo seu uniforme completo e j&#225; come&#231;ou a passar um serm&#227;o em Lara e sua m&#227;e.  Sua m&#227;e at&#233; deixou cair
+        um p&#233; de alface -- que ela havia acabado de lavar -- em um pote de Lick-M-Aid.  
+        
+
+        O alface mal coube no pote, mas ele se alojou l&#225; direitinho.
+        Papai veio e sacou o p&#233; de alface, fitando-o por algum tempo, at&#233; declar&#225;-lo PT (Perda Total), em
+        uma voz ao mesmo tempo confusa e desapontada.  E jogou aquele vegetal sujo na lata do lixo.
+
+
+        Foi s&#243; mais tarde aquele dia que a m&#227;e de Lara concluiu que ela poderia simplesmente ter cortado o alface
+        ao meio com uma faca el&#233;trica.  Papai sorriu e estapeou a pr&#243;pria testa.  Ele, ent&#227;o, foi at&#233; Lara
+        e tamb&#233;m lhe deu um tapa na testa, e em sua m&#227;e tamb&#233;m, afetuosamente.
+
+
+        &quot;N&#243;s n&#227;o est&#225;vamos pensando, n&#227;o &#233; mesmo?&quot; ele disse.  &quot;E quem pode nos culpar?  N&#243;s somos
+        uma fam&#237;lia de verdade hoje.  E n&#243;s n&#227;o dever&#237;amos ter que fazer mais nada no dia em que
+        reunimos nossa fam&#237;lia de novo.&quot;
+
+
+        O sorriso de Lara refletiu no vidro do monitor.  Ela escolheu o programa de texto
+        e em fonte serif tamanho 42 escreveu: &quot;Pai.&quot;  Ela criou um caminho para ele e deixou que uma
+        anima&#231;&#227;o o levasse para fora da tela.  Ela chorou por algum tempo depois que aquilo se fora.
+</diff>
      <filename>lang-pt/poignant-35.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,303 +1,303 @@
-    - &gt;
-        J&#225; que estamos ficando &#237;ntimos enquanto compartilhamos este tempo juntos, eu 
-        provavelmente deveria te falar um pouco mais sobre a minha hist&#243;ria.  &#201; uma boa hora pruma pausa,
-        eu diria.
-
-
-        Primeiramente, voc&#234; deve saber que o Blix &#233; meu gato.  Meu segundo animal de estima&#231;&#227;o&#160;&#233; o Bigelow.
-        E digo, n&#243;s raramente nos vemos.  Ele &#233; totalmente auto-suficiente.
-        Eu n&#227;o sei exatamente onde ele mora hoje em dia, ele n&#227;o mora mais na ante-sala
-        do meu quarto.  Ele esvaziou a conta banc&#225;ria h&#225; cerca de sete meses.
-
-
-        Ele tem uma c&#243;pia da chave de casa e uma do (Cadillac) Seville.  Se algum dia ele quiser
-        voltar, eu alegremente deixarei de lado nossas diferen&#231;as e entreterei and entertain his
-        antics around the house again.
-
-
-        Mas n&#227;o se engane.  Eu sinto falta dele por perto.  N&#227;o sei se ele sente falta da minha companhia, mas
-        eu sinto a dele.
-
-
-        h3. Uma Sirene e Uma Ora&#231;&#227;o
-
-
-        Eu vi o Blix a primeira vez pela televis&#227;o quando eu era um garoto.  Ele estrelava um drama policial empoeirado
-        chamado _Uma Sirene e Uma Ora&#231;&#227;o_.  O seriado era sobre um esquadr&#227;o policial religioso que fazia
-        seu servi&#231;o, e o fazia bem, e tinham suas cotas de milagres nas ruas.  Quero dizer,
-        os oficiais no show eram _&#243;timas_ pessoas, muito religiosos, praticamente cl&#233;rgicos.  Mas, 
-        voc&#234; sabe, at&#233; cl&#233;rgicos n&#227;o tem o bom senso de matar um cara que tenha ido longe demais.
-        Esses caras sabiam disso. E o faziam todo dia.
-
-
-        Ent&#227;o, aquilo era um seriado bem sangrento, mas eles sempre tinham uma boa li&#231;&#227;o de moral no final. Na maioria
-        das vezes algo como, &quot;Nossa, escapamos dessa bem r&#225;pido.&quot;  H&#225; uma s&#233;ria camaradagem numa declara&#231;&#227;o como essa.
-
-        
-        O show basicamente girava em torno deste policial.  Dick Robinson &quot;O Doid&#227;o&quot;.  As Pessoas o
-        chamavam de &quot;O Doid&#227;o&quot; porque basicamente ele era insano. N&#227;o me lembro se isso foi diagnosticado
-        clinicamente, mas as pessoas sempre questionavam suas decis&#245;es.  O Doid&#227;o regularmente estourava e
-        mordia alguns policiais, a maioria deles personagens de moral inquestion&#225;vel.  Mas todos
-        sabemos que esse &#233; um mundo c&#227;o, as apostas s&#227;o altas, e todos que assistiam ao seriado
-        tinham O Doi&#227;o com grande estima.  Eu penso que todos no esquadr&#227;o cresceram bastante como pessoas,
-        gra&#231;as &#224; determina&#231;&#227;o do Doid&#227;o.
-
-
-        Todavia, os policiais n&#227;o conseguiam dar conta do servi&#231;o por si mesmos. Em cada um dos epis&#243;dios eles
-        imploravam por uma ajuda maior.  E, em cada um dos epis&#243;dios, eles conseguiam ajuda de um gato
-        chamdo Terry (encenado pelo meu gato Blix).  Ele era apenas um gatinho na &#233;poca, e como um garoto novo
-        &#225;vido por _Uma Sirene e Uma Ora&#231;&#227;o_, me encontrei na busca do meu pr&#243;prio gato-solucionador-de-crimes.
-        Terry levava aqueles caras por t&#250;neis subterr&#226;neos, marinas abandonadas, imensos galp&#245;es industriais.
-
-
-        Algumas vezes ele aparecia o epis&#243;dio inteiro, indo e vindo, fazendo armadilhas e controlando o tr&#226;nsito.
-        Mas outras vezes voc&#234; quase n&#227;o o via no epis&#243;dio.  Ent&#227;o voc&#234; rebobinava e assistia e assistia
-        e assistia.  Voc&#234; desistia.  Ele n&#227;o estava naquele epis&#243;dio.  
-
-
-        Ainda assim, voc&#234; nao desistia, voc&#234; ia quadro por quadro com o jog do controle, analisando cada cena.
-        E esteva l&#225;.  No alto atr&#225;s do holofote que foi acionado com muita for&#231;a.  O que deixou
-        o Doid&#227;o com danos permanentes nos olhos.  Por qu&#234;?  Por qu&#234; queimar as retinas do seu companheiro,
-        Terry?
-
-
-        Mas a pergunta nunca foi respondida pois a s&#233;rie foi cancelada. Eles come&#231;aram a fazer efeitos especiais
-        com o gato e tudo foi por &#225;gua abaixo.  No &#250;ltimo epis&#243;dio, houve um momento em que
-        Terry estava preso em cima de um guindaste, preste a cair na fornalha de uma fundi&#231;&#227;o de ferro.
-        Ele olha pra tr&#225;s.  N&#227;o d&#225; pra voltar.  Ele olha pra baixo.  Tapa os olhos com as patas (_s&#233;rio!_), ele puta
-        do guindates e, no meio do v&#244;o, agarra uma corda e se salva, coming down on a soft antelope
-        hide that one of the workers had presumably been tanning that afternoon.
-
-
-        As pessoas desligavam a televis&#227;o na hora que o seriado ia ao ar. Tentaram mudar o nome.
-        Primeiro foi _Deus nos Deu um Esquadr&#227;o_.  _Beijo de Dor_.  Ent&#227;o, _Beijo de Dor em Maine_, j&#225; que o
-        distrito inteiro acabou se mudando pra l&#225;.  Mas a m&#225;gica se fora.  Eu voltei pra escola no ver&#227;o daquele ano
-        pra algumas aulas e as crian&#231;as todas j&#225; estavam na onda dos l&#225;pis de futebol.
-
-        
-        h3. Blocos
-
-
-        H&#225; alguns anos, eu comecei a ensinar o Blix sobre Ruby.  Quando n&#243;s chegamos nesta parte,
-        a parte que cobre blocos, ele me disse, &quot;Blocos me lembram o Dick Robinson Doid&#227;o.&quot;
-
-
-        &quot;Mesmo?&quot;  Eu n&#227;o ouvia esse nome faz tempo.  &quot;N&#227;o sei como voc&#234; se lembrou disso.&quot;
-
-
-        &quot;Bem, voc&#234; disse que blocos s&#227;o dif&#237;ceis de entender.&quot;
-
-
-        &quot;Eles n&#227;o s&#227;o dif&#237;ceis&quot;, eu disse.  &quot;Um *bloco* &#233; apenas *c&#243;digo agrupado*.&quot;
-
-
-        &quot;E o Doid&#227;o era apenas um policial, que jurou cumprir seu dever,&quot; ele disse.  &quot;Mas ele era um verdadeiro
-        milagre ambulante.  E agora, este primeiro exemplo que voc&#234; me mostrou...&quot;  Ele aponta um exemplo
-        que eu havia escrito.
-
-        
-        &lt;pre&gt;
-         brinquedos_do_gatinho =
-           [:formato =&gt; 'meia', :material =&gt; 'caximira'] +
-           [:formato =&gt; 'mouse', :material =&gt; 'calico'] +
-           [:formato =&gt; 'bolinho-primavera', :material =&gt; 'chenille']
-         brinquedos_do_gatinho.sort_by { |brinquedo| brinquedo[:material] }
-        &lt;/pre&gt;
-
-
-        &quot;Isto &#233; um pequeno milagre&quot;, ele disse. &quot;N&#227;o posso negar sua beleza.  Olhe, l&#225; est&#227;o meus brinquedos, junto
-        com suas caracter&#237;sticas.  Abaixo deles, o bloco, ordenando eles por material.&quot;
-
-
-        &quot;Pe&#231;o desculpas se a sua lista de brinquedos parece um pouco complicada,&quot; eu disse. Assim como voc&#234;, ele j&#225;
-        havia aprendido sobre Array, a centop&#233;ia caida no c&#243;digo, colchetes de cada lado
-        e cada item separado por v&#237;rgulas.  (Ah, aqui est&#225; uma: @['meia', 'rato', 'bolinho-primavera']@.) 
-        Ele tamb&#233;m sabia sobre a Hash, que &#233; como um dicion&#225;rio, com chaves de cada lado
-        que parecem livrinhos abertos.  V&#237;rgulas na Hash entre cada par.  Cada palavra
-        no dicion&#225;rio encontra seu par por uma seta.  (Estupefa-se: @{'blix' =&gt; 'gato',
-        'why' =&gt; 'humano'}@.)
-        
-
-        &quot;Sim, pertubante,&quot; ele disse.  &quot;Isso tem colchetes como se fosse Array, mas com as setas &#233; uma Hash.
-        Voc&#234; vai ter que explicar isso.&quot;
-
-
-        &quot;Subversivo ele, n&#227;o?&quot;  Eu disse, cutucando ele com uma colher.  &quot;Eu fiz sua lista de brinquedos
-        misturando os dois.  Estou usando um atalho.  Que &#233;: *Se voc&#234; usar a seta (=&gt;) dentro de um Array, 
-        voc&#234; ter&#225; uma Hash inv&#233;s de um Array.*&quot;
-
-
-        &quot;Ah, entendi,&quot; ele disse.  &quot;Voc&#234; cruzou eles.  Que bacana!&quot;
-
-
-        &quot;Sim, sim, voc&#234; t&#225; entendendo,&quot; eu disse.  Ele era muito bom com um transferidor tamb&#233;m.  &quot;Eu tenho tr&#234;s Arrays,
-        cada cont&#233;m uma Hash. Notou o sinal de mais?  Eu os estou adicionando num Array maior. Aqui
-        est&#225; outro jeito de escrever isto...&quot;  Eu rabisquei.
-
-
-        &lt;pre&gt;
-         brinquedos_do_gatinho = [
-           {:formato =&gt; 'meia', :material =&gt; 'caximira'},
-           {:formato =&gt; 'rato', :material =&gt; 'calico'},
-           {:formato =&gt; 'bolinho-primavera', :material =&gt; 'chenille'}
-         ]
-        &lt;/pre&gt;
-
-
-        Um Array, que age como uma lista de brinquedos de mastigar.  Tr&#234;s Hashes est&#227;o no Array descrevendo
-        cada brinquedo.
-
-
-        h3. Ordenando e Iterando Para Salvar Vidas
-
-
-        &quot;Vamos ordenar seus brinquedos por forma agora,&quot; Eu disse.  &quot;E depois, imprimi-los nesta ordem.&quot;
-
-
-        &lt;pre&gt;
-         brinquedos_do_gatinho.sort_by { |brinquedo| brinquedo[:formato] }.each do |brinquedo|
-           puts &quot;Blixy tem um #{ brinquedo[:formato] } feito de #{ brinquedo[:material] }&quot;
-         end
-        &lt;/pre&gt;
-
-
-        &quot;Como @sort_by@ funciona?&quot; perguntou Blix.  &quot;Eu sei que &#233; um m&#233;todo que voc&#234; pode usar com Arrays.  Pois
-        @brinquedos_do_gatinho@ &#233; um Array.  Mas e quanto a @brinquedo@?&quot;
-
-
-        &quot;Okay, @brinquedo@ is a *argumento do bloco*,&quot; Eu disse.  &quot;Lembre-se: os corrim&#227;os magrelos de cada lado do @brinquedo@ fazem dele
-        uma *calha*.&quot;
-
-
-        &quot;Claro, mas parece que voc&#234; o est&#225; usando como Hash. Dentro do bloco vc tem @brinquedo[:formato]@.
-        Isto se parece com uma Hash.&quot;
-
-
-        &quot;O m&#233;todo @sort_by@ &#233; um *iterador*, Blix.  Ele *iterage*, ou *faz o ciclo*, com a *lista de coisas*.  Voc&#234;
-        se lembra daquele epis&#243;dio quando o Doid&#227;o...&quot; 
-
-
-        &quot;Epis&#243;dio?&quot; ele disse.  Sim, ele n&#227;o consegue entender o conceito de seriados de TV.  
-        Sim, eu tentei explicar.
-
-
-        &quot;Ou, sim, lembra daquele _O caso da testemunha ocular_ que n&#243;s assistimos que o Doid&#227;o estava tentando conversar
-        com aquele concorrente do soletrando que queria pular da biblioteca do col&#233;gio?&quot; 
-
-
-        &quot;Eu me lembro melhor do que voc&#234; porque eu estava voando num avi&#227;o de controle remoto.&quot;  Sim, foi um
-        daqueles epis&#243;dios.
-
-
-        &quot;Voc&#234; se lembra como o Doid&#227;o fez pro cara descer?&quot; Eu indaguei.
-
-
-        &quot;Pessoas que concorrem ao soletrando adoram cartas,&quot; disse Blix.  &quot;Ent&#227;o o Doid&#227;o teve uma id&#233;ia de g&#234;nio.
-        Ele come&#231;ou uma carta com a letra A e deu raz&#245;es, para cada letra do alfabeto, de por que o cara devia
-        sair do beiral do pr&#233;dio e voltar a salvo pro ch&#227;o.&quot;
-
-
-        &quot;'A' &#233; para Arquitetura de pr&#233;dios como esse,'&quot; eu disse, com a voz rude do Doid&#227;o.
-        &quot;'Que nos d&#225; esperan&#231;a num mundo a ruir.'&quot;
-
-
-        &quot;'B' &#233; para Brutamontes, assim como seu amigo O Policial Doid&#227;o,'&quot; disse Blix.  &quot;'Caras que ajudam pessoas todo o tempo
-        e n&#227;o sabem escrever muito bem, mas mesmo assim ajudam caras que escrevem muito bem.'&quot;
-        
-        
-        &quot;Viu, ele passou por todas as letras, uma a uma.  Ele estava _iterando_ por elas.&quot; _It Err Ate Ing._ (Iterando)
-
-
-        &quot;Mas o cara desistiu, Why.  Ele desistiu na letra Q eu acho.&quot;
-
-
-        &quot;'Q' &#233; para momentos Quietos que nos ajudam a relaxar e pensar sobre todos os pequenos prazeres da vida, assim 
-        n&#243;s nao ficamos tensos e come&#231;amos a fazer besteira andando na ponta do p&#233; na beira de algum edif&#237;cio alto e maligno.'&quot;
-
-
-        &quot;A&#237; ele pulou,&quot; disse Blix. Ele balan&#231;ou a cabe&#231;a.  &quot;Voc&#234; n&#227;o pode culpar o Doid&#227;o. Ele fez o melhor q pode.&quot;
-        
-        
-        &quot;Ele tinha um cora&#231;&#227;o grande, isso &#233; verdade,&quot; eu disse, dando um tapinha no ombro do Blix.
-
-
-        &lt;pre&gt;
-         brinquedos_do_gatinho.sort_by { |brinquedo| brinquedo[:formato] }.each do |brinquedo|
-           puts &quot;Blixy tem um #{ brinquedo[:formato] } feito de #{ brinquedo[:material] }&quot;
-         end
-        &lt;/pre&gt;
-
-
-        &quot;Quanto ao seu @sort_by@, ele *come&#231;a no topo* da lista e vai *descendo at&#233; o ultimo &#237;tem*, um de cada vez.
-        Ent&#227;o @brinquedo@ &#233; um destes items.  Em cada item, o @sort_by@ para e *joga aquele item pela calha*,
-        sob o nome de @brinquedo@, e deixa voc&#234; decidir o que fazer com ele.&quot;
- 
-
-        &quot;Ok, ent&#227;o @brinquedo@ ser&#225;, cada hora, um dos brinquedos que eu tenho.&quot;
-
-
-        &quot;Correto,&quot; eu disse.  &quot;Voc&#234; sabe como eu tenho batido na mesma tecla _usando as respostas que os m&#233;todo te
-        d&#227;o_?  Aqui, n&#243;s estamos apenas olhando a forma do brinquedo dentro do bloco.  O bloco ent&#227;o responde para o @sort_by@
-        uma frase contendo o formato, algo como @&quot;rato&quot;@ ou @&quot;meia&quot;@.  Uma vez que ele passe por toda a lista, o @sort_by@
-        ter&#225; comparado alfab&#233;ticamente o texto de cada forma e vai retornar um novo Array, agora ordenado.&quot;
-
-
-        h3.  Uma Li&#231;&#227;o Inacabada
-
-
-        &quot;T&#225; bom por hoje,&quot; disse o Blix.  &quot;Que tal um pires de leite fresco, por favor?&quot;
-
-
-        Eu enchi o pires dele at&#233; a borda e ele se esbaldou daquilo por algum tempo enquanto eu jogava poker e
-        jabbed at coals in the fireplace.  Minha mente vagou e eu n&#227;o pude n&#227;o pensar mais sobre blocos.
-        Eu pensei no que ensinar pro Blix em seguida.
-
-
-        Eu provavelmente o teria ensinado sobre @next@.  Quando voc&#234; est&#225; interando uma lista, voc&#234;
-        pode usar @next@ para *pular para o pr&#243;ximo item*.  Aqui estamos contando brinquedos que n&#227;o tenham
-        forma de bolinho-primavera,  pulando eles com @next@.
-
-
-        &lt;pre&gt;
-         nao_bolinho_primavera = 0
-         brinquedos_do_gatinho.each do |brinquedo|
-           next if brinquedo[:formato] == 'bolinho-primavera'
-           nao_bolinho_primavera = nao_bolinho_primavera + 1
-         end
-        &lt;/pre&gt;
-
-
-        Eu poderia tamb&#233;m t&#234;-lo ensinado sobre @break@, que *te joga pra fora de um loop*.
-        No c&#243;digo abaixo, vamo imprimir (usando @p@) cada brinquedo at&#233; encontrarmos
-        o brinquedo cujo material seja chenille.  O @break@ far&#225; com que o @each@ termine abruptamente.
-
-
-        &lt;pre&gt;
-         brinquedos_do_gatinho.each do |brinquedo|
-           break if brinquedo[:material] == 'chenille'
-           p brinquedo
-         end
-        &lt;/pre&gt;
-
-
-        Eu nunca cheguei a ensinar a ele essas coisas. Eu continuei viajando num peda&#231;o de lenha em particular
-        que acabou preso na prote&#231;&#227;o da lareira e quase que cai no meu tapete de pele de ant&#237;lope.
-        
-
-        Assim que me esquivei ferozmente daquela pedra negra, Blix sumiu, presumo que pro
-        &#244;nibus para Wixl, a capital econ&#244;mica dos animais.  Quem sabe, ele pode ter parado
-        em Ambrose ou Riathna ou qualquer outra vila pelo caminho.  Meu instinto me diz
-        que Wixl era definitivamente sua &#250;ltima parada. 
-
-
-        Sem nenhum estudante para instruir ou prosear, me encontrei sozinho, enfurnado em casa.
-        Na quietude dos corredores mortos, eu comecei a rascunhar uma bioagrafia na 
-        forma deste guia.
-
-
-        Eu trabalhei nisso sempre que me sentia entendiado. E quando n&#227;o estava entendiado, eu ia assistir
-        _The Phantom Menace_ (Guerra nas Estrelas - A Amea&#231;a Fantasma) pra ficar no clima.
-
-
-        !i/the.elf-7.jpg(Someone let them all out.)!
-  
+    - &gt;
+        J&#225; que estamos ficando &#237;ntimos enquanto compartilhamos este tempo juntos, eu 
+        provavelmente deveria te falar um pouco mais sobre a minha hist&#243;ria.  &#201; uma boa hora pruma pausa,
+        eu diria.
+
+
+        Primeiramente, voc&#234; deve saber que o Blix &#233; meu gato.  Meu segundo animal de estima&#231;&#227;o&#160;&#233; o Bigelow.
+        E digo, n&#243;s raramente nos vemos.  Ele &#233; totalmente auto-suficiente.
+        Eu n&#227;o sei exatamente onde ele mora hoje em dia, ele n&#227;o mora mais na ante-sala
+        do meu quarto.  Ele esvaziou a conta banc&#225;ria h&#225; cerca de sete meses.
+
+
+        Ele tem uma c&#243;pia da chave de casa e uma do (Cadillac) Seville.  Se algum dia ele quiser
+        voltar, eu alegremente deixarei de lado nossas diferen&#231;as e entreterei and entertain his
+        antics around the house again.
+
+
+        Mas n&#227;o se engane.  Eu sinto falta dele por perto.  N&#227;o sei se ele sente falta da minha companhia, mas
+        eu sinto a dele.
+
+
+        h3. Uma Sirene e Uma Ora&#231;&#227;o
+
+
+        Eu vi o Blix a primeira vez pela televis&#227;o quando eu era um garoto.  Ele estrelava um drama policial empoeirado
+        chamado _Uma Sirene e Uma Ora&#231;&#227;o_.  O seriado era sobre um esquadr&#227;o policial religioso que fazia
+        seu servi&#231;o, e o fazia bem, e tinham suas cotas de milagres nas ruas.  Quero dizer,
+        os oficiais no show eram _&#243;timas_ pessoas, muito religiosos, praticamente cl&#233;rgicos.  Mas, 
+        voc&#234; sabe, at&#233; cl&#233;rgicos n&#227;o tem o bom senso de matar um cara que tenha ido longe demais.
+        Esses caras sabiam disso. E o faziam todo dia.
+
+
+        Ent&#227;o, aquilo era um seriado bem sangrento, mas eles sempre tinham uma boa li&#231;&#227;o de moral no final. Na maioria
+        das vezes algo como, &quot;Nossa, escapamos dessa bem r&#225;pido.&quot;  H&#225; uma s&#233;ria camaradagem numa declara&#231;&#227;o como essa.
+
+        
+        O show basicamente girava em torno deste policial.  Dick Robinson &quot;O Doid&#227;o&quot;.  As Pessoas o
+        chamavam de &quot;O Doid&#227;o&quot; porque basicamente ele era insano. N&#227;o me lembro se isso foi diagnosticado
+        clinicamente, mas as pessoas sempre questionavam suas decis&#245;es.  O Doid&#227;o regularmente estourava e
+        mordia alguns policiais, a maioria deles personagens de moral inquestion&#225;vel.  Mas todos
+        sabemos que esse &#233; um mundo c&#227;o, as apostas s&#227;o altas, e todos que assistiam ao seriado
+        tinham O Doi&#227;o com grande estima.  Eu penso que todos no esquadr&#227;o cresceram bastante como pessoas,
+        gra&#231;as &#224; determina&#231;&#227;o do Doid&#227;o.
+
+
+        Todavia, os policiais n&#227;o conseguiam dar conta do servi&#231;o por si mesmos. Em cada um dos epis&#243;dios eles
+        imploravam por uma ajuda maior.  E, em cada um dos epis&#243;dios, eles conseguiam ajuda de um gato
+        chamdo Terry (encenado pelo meu gato Blix).  Ele era apenas um gatinho na &#233;poca, e como um garoto novo
+        &#225;vido por _Uma Sirene e Uma Ora&#231;&#227;o_, me encontrei na busca do meu pr&#243;prio gato-solucionador-de-crimes.
+        Terry levava aqueles caras por t&#250;neis subterr&#226;neos, marinas abandonadas, imensos galp&#245;es industriais.
+
+
+        Algumas vezes ele aparecia o epis&#243;dio inteiro, indo e vindo, fazendo armadilhas e controlando o tr&#226;nsito.
+        Mas outras vezes voc&#234; quase n&#227;o o via no epis&#243;dio.  Ent&#227;o voc&#234; rebobinava e assistia e assistia
+        e assistia.  Voc&#234; desistia.  Ele n&#227;o estava naquele epis&#243;dio.  
+
+
+        Ainda assim, voc&#234; nao desistia, voc&#234; ia quadro por quadro com o jog do controle, analisando cada cena.
+        E esteva l&#225;.  No alto atr&#225;s do holofote que foi acionado com muita for&#231;a.  O que deixou
+        o Doid&#227;o com danos permanentes nos olhos.  Por qu&#234;?  Por qu&#234; queimar as retinas do seu companheiro,
+        Terry?
+
+
+        Mas a pergunta nunca foi respondida pois a s&#233;rie foi cancelada. Eles come&#231;aram a fazer efeitos especiais
+        com o gato e tudo foi por &#225;gua abaixo.  No &#250;ltimo epis&#243;dio, houve um momento em que
+        Terry estava preso em cima de um guindaste, preste a cair na fornalha de uma fundi&#231;&#227;o de ferro.
+        Ele olha pra tr&#225;s.  N&#227;o d&#225; pra voltar.  Ele olha pra baixo.  Tapa os olhos com as patas (_s&#233;rio!_), ele puta
+        do guindates e, no meio do v&#244;o, agarra uma corda e se salva, coming down on a soft antelope
+        hide that one of the workers had presumably been tanning that afternoon.
+
+
+        As pessoas desligavam a televis&#227;o na hora que o seriado ia ao ar. Tentaram mudar o nome.
+        Primeiro foi _Deus nos Deu um Esquadr&#227;o_.  _Beijo de Dor_.  Ent&#227;o, _Beijo de Dor em Maine_, j&#225; que o
+        distrito inteiro acabou se mudando pra l&#225;.  Mas a m&#225;gica se fora.  Eu voltei pra escola no ver&#227;o daquele ano
+        pra algumas aulas e as crian&#231;as todas j&#225; estavam na onda dos l&#225;pis de futebol.
+
+        
+        h3. Blocos
+
+
+        H&#225; alguns anos, eu comecei a ensinar o Blix sobre Ruby.  Quando n&#243;s chegamos nesta parte,
+        a parte que cobre blocos, ele me disse, &quot;Blocos me lembram o Dick Robinson Doid&#227;o.&quot;
+
+
+        &quot;Mesmo?&quot;  Eu n&#227;o ouvia esse nome faz tempo.  &quot;N&#227;o sei como voc&#234; se lembrou disso.&quot;
+
+
+        &quot;Bem, voc&#234; disse que blocos s&#227;o dif&#237;ceis de entender.&quot;
+
+
+        &quot;Eles n&#227;o s&#227;o dif&#237;ceis&quot;, eu disse.  &quot;Um *bloco* &#233; apenas *c&#243;digo agrupado*.&quot;
+
+
+        &quot;E o Doid&#227;o era apenas um policial, que jurou cumprir seu dever,&quot; ele disse.  &quot;Mas ele era um verdadeiro
+        milagre ambulante.  E agora, este primeiro exemplo que voc&#234; me mostrou...&quot;  Ele aponta um exemplo
+        que eu havia escrito.
+
+        
+        &lt;pre&gt;
+         brinquedos_do_gatinho =
+           [:formato =&gt; 'meia', :material =&gt; 'caximira'] +
+           [:formato =&gt; 'mouse', :material =&gt; 'calico'] +
+           [:formato =&gt; 'bolinho-primavera', :material =&gt; 'chenille']
+         brinquedos_do_gatinho.sort_by { |brinquedo| brinquedo[:material] }
+        &lt;/pre&gt;
+
+
+        &quot;Isto &#233; um pequeno milagre&quot;, ele disse. &quot;N&#227;o posso negar sua beleza.  Olhe, l&#225; est&#227;o meus brinquedos, junto
+        com suas caracter&#237;sticas.  Abaixo deles, o bloco, ordenando eles por material.&quot;
+
+
+        &quot;Pe&#231;o desculpas se a sua lista de brinquedos parece um pouco complicada,&quot; eu disse. Assim como voc&#234;, ele j&#225;
+        havia aprendido sobre Array, a centop&#233;ia caida no c&#243;digo, colchetes de cada lado
+        e cada item separado por v&#237;rgulas.  (Ah, aqui est&#225; uma: @['meia', 'rato', 'bolinho-primavera']@.) 
+        Ele tamb&#233;m sabia sobre a Hash, que &#233; como um dicion&#225;rio, com chaves de cada lado
+        que parecem livrinhos abertos.  V&#237;rgulas na Hash entre cada par.  Cada palavra
+        no dicion&#225;rio encontra seu par por uma seta.  (Estupefa-se: @{'blix' =&gt; 'gato',
+        'why' =&gt; 'humano'}@.)
+        
+
+        &quot;Sim, pertubante,&quot; ele disse.  &quot;Isso tem colchetes como se fosse Array, mas com as setas &#233; uma Hash.
+        Voc&#234; vai ter que explicar isso.&quot;
+
+
+        &quot;Subversivo ele, n&#227;o?&quot;  Eu disse, cutucando ele com uma colher.  &quot;Eu fiz sua lista de brinquedos
+        misturando os dois.  Estou usando um atalho.  Que &#233;: *Se voc&#234; usar a seta (=&gt;) dentro de um Array, 
+        voc&#234; ter&#225; uma Hash inv&#233;s de um Array.*&quot;
+
+
+        &quot;Ah, entendi,&quot; ele disse.  &quot;Voc&#234; cruzou eles.  Que bacana!&quot;
+
+
+        &quot;Sim, sim, voc&#234; t&#225; entendendo,&quot; eu disse.  Ele era muito bom com um transferidor tamb&#233;m.  &quot;Eu tenho tr&#234;s Arrays,
+        cada cont&#233;m uma Hash. Notou o sinal de mais?  Eu os estou adicionando num Array maior. Aqui
+        est&#225; outro jeito de escrever isto...&quot;  Eu rabisquei.
+
+
+        &lt;pre&gt;
+         brinquedos_do_gatinho = [
+           {:formato =&gt; 'meia', :material =&gt; 'caximira'},
+           {:formato =&gt; 'rato', :material =&gt; 'calico'},
+           {:formato =&gt; 'bolinho-primavera', :material =&gt; 'chenille'}
+         ]
+        &lt;/pre&gt;
+
+
+        Um Array, que age como uma lista de brinquedos de mastigar.  Tr&#234;s Hashes est&#227;o no Array descrevendo
+        cada brinquedo.
+
+
+        h3. Ordenando e Iterando Para Salvar Vidas
+
+
+        &quot;Vamos ordenar seus brinquedos por forma agora,&quot; Eu disse.  &quot;E depois, imprimi-los nesta ordem.&quot;
+
+
+        &lt;pre&gt;
+         brinquedos_do_gatinho.sort_by { |brinquedo| brinquedo[:formato] }.each do |brinquedo|
+           puts &quot;Blixy tem um #{ brinquedo[:formato] } feito de #{ brinquedo[:material] }&quot;
+         end
+        &lt;/pre&gt;
+
+
+        &quot;Como @sort_by@ funciona?&quot; perguntou Blix.  &quot;Eu sei que &#233; um m&#233;todo que voc&#234; pode usar com Arrays.  Pois
+        @brinquedos_do_gatinho@ &#233; um Array.  Mas e quanto a @brinquedo@?&quot;
+
+
+        &quot;Okay, @brinquedo@ is a *argumento do bloco*,&quot; Eu disse.  &quot;Lembre-se: os corrim&#227;os magrelos de cada lado do @brinquedo@ fazem dele
+        uma *calha*.&quot;
+
+
+        &quot;Claro, mas parece que voc&#234; o est&#225; usando como Hash. Dentro do bloco vc tem @brinquedo[:formato]@.
+        Isto se parece com uma Hash.&quot;
+
+
+        &quot;O m&#233;todo @sort_by@ &#233; um *iterador*, Blix.  Ele *iterage*, ou *faz o ciclo*, com a *lista de coisas*.  Voc&#234;
+        se lembra daquele epis&#243;dio quando o Doid&#227;o...&quot; 
+
+
+        &quot;Epis&#243;dio?&quot; ele disse.  Sim, ele n&#227;o consegue entender o conceito de seriados de TV.  
+        Sim, eu tentei explicar.
+
+
+        &quot;Ou, sim, lembra daquele _O caso da testemunha ocular_ que n&#243;s assistimos que o Doid&#227;o estava tentando conversar
+        com aquele concorrente do soletrando que queria pular da biblioteca do col&#233;gio?&quot; 
+
+
+        &quot;Eu me lembro melhor do que voc&#234; porque eu estava voando num avi&#227;o de controle remoto.&quot;  Sim, foi um
+        daqueles epis&#243;dios.
+
+
+        &quot;Voc&#234; se lembra como o Doid&#227;o fez pro cara descer?&quot; Eu indaguei.
+
+
+        &quot;Pessoas que concorrem ao soletrando adoram cartas,&quot; disse Blix.  &quot;Ent&#227;o o Doid&#227;o teve uma id&#233;ia de g&#234;nio.
+        Ele come&#231;ou uma carta com a letra A e deu raz&#245;es, para cada letra do alfabeto, de por que o cara devia
+        sair do beiral do pr&#233;dio e voltar a salvo pro ch&#227;o.&quot;
+
+
+        &quot;'A' &#233; para Arquitetura de pr&#233;dios como esse,'&quot; eu disse, com a voz rude do Doid&#227;o.
+        &quot;'Que nos d&#225; esperan&#231;a num mundo a ruir.'&quot;
+
+
+        &quot;'B' &#233; para Brutamontes, assim como seu amigo O Policial Doid&#227;o,'&quot; disse Blix.  &quot;'Caras que ajudam pessoas todo o tempo
+        e n&#227;o sabem escrever muito bem, mas mesmo assim ajudam caras que escrevem muito bem.'&quot;
+        
+        
+        &quot;Viu, ele passou por todas as letras, uma a uma.  Ele estava _iterando_ por elas.&quot; _It Err Ate Ing._ (Iterando)
+
+
+        &quot;Mas o cara desistiu, Why.  Ele desistiu na letra Q eu acho.&quot;
+
+
+        &quot;'Q' &#233; para momentos Quietos que nos ajudam a relaxar e pensar sobre todos os pequenos prazeres da vida, assim 
+        n&#243;s nao ficamos tensos e come&#231;amos a fazer besteira andando na ponta do p&#233; na beira de algum edif&#237;cio alto e maligno.'&quot;
+
+
+        &quot;A&#237; ele pulou,&quot; disse Blix. Ele balan&#231;ou a cabe&#231;a.  &quot;Voc&#234; n&#227;o pode culpar o Doid&#227;o. Ele fez o melhor q pode.&quot;
+        
+        
+        &quot;Ele tinha um cora&#231;&#227;o grande, isso &#233; verdade,&quot; eu disse, dando um tapinha no ombro do Blix.
+
+
+        &lt;pre&gt;
+         brinquedos_do_gatinho.sort_by { |brinquedo| brinquedo[:formato] }.each do |brinquedo|
+           puts &quot;Blixy tem um #{ brinquedo[:formato] } feito de #{ brinquedo[:material] }&quot;
+         end
+        &lt;/pre&gt;
+
+
+        &quot;Quanto ao seu @sort_by@, ele *come&#231;a no topo* da lista e vai *descendo at&#233; o ultimo &#237;tem*, um de cada vez.
+        Ent&#227;o @brinquedo@ &#233; um destes items.  Em cada item, o @sort_by@ para e *joga aquele item pela calha*,
+        sob o nome de @brinquedo@, e deixa voc&#234; decidir o que fazer com ele.&quot;
+ 
+
+        &quot;Ok, ent&#227;o @brinquedo@ ser&#225;, cada hora, um dos brinquedos que eu tenho.&quot;
+
+
+        &quot;Correto,&quot; eu disse.  &quot;Voc&#234; sabe como eu tenho batido na mesma tecla _usando as respostas que os m&#233;todo te
+        d&#227;o_?  Aqui, n&#243;s estamos apenas olhando a forma do brinquedo dentro do bloco.  O bloco ent&#227;o responde para o @sort_by@
+        uma frase contendo o formato, algo como @&quot;rato&quot;@ ou @&quot;meia&quot;@.  Uma vez que ele passe por toda a lista, o @sort_by@
+        ter&#225; comparado alfab&#233;ticamente o texto de cada forma e vai retornar um novo Array, agora ordenado.&quot;
+
+
+        h3.  Uma Li&#231;&#227;o Inacabada
+
+
+        &quot;T&#225; bom por hoje,&quot; disse o Blix.  &quot;Que tal um pires de leite fresco, por favor?&quot;
+
+
+        Eu enchi o pires dele at&#233; a borda e ele se esbaldou daquilo por algum tempo enquanto eu jogava poker e
+        jabbed at coals in the fireplace.  Minha mente vagou e eu n&#227;o pude n&#227;o pensar mais sobre blocos.
+        Eu pensei no que ensinar pro Blix em seguida.
+
+
+        Eu provavelmente o teria ensinado sobre @next@.  Quando voc&#234; est&#225; interando uma lista, voc&#234;
+        pode usar @next@ para *pular para o pr&#243;ximo item*.  Aqui estamos contando brinquedos que n&#227;o tenham
+        forma de bolinho-primavera,  pulando eles com @next@.
+
+
+        &lt;pre&gt;
+         nao_bolinho_primavera = 0
+         brinquedos_do_gatinho.each do |brinquedo|
+           next if brinquedo[:formato] == 'bolinho-primavera'
+           nao_bolinho_primavera = nao_bolinho_primavera + 1
+         end
+        &lt;/pre&gt;
+
+
+        Eu poderia tamb&#233;m t&#234;-lo ensinado sobre @break@, que *te joga pra fora de um loop*.
+        No c&#243;digo abaixo, vamo imprimir (usando @p@) cada brinquedo at&#233; encontrarmos
+        o brinquedo cujo material seja chenille.  O @break@ far&#225; com que o @each@ termine abruptamente.
+
+
+        &lt;pre&gt;
+         brinquedos_do_gatinho.each do |brinquedo|
+           break if brinquedo[:material] == 'chenille'
+           p brinquedo
+         end
+        &lt;/pre&gt;
+
+
+        Eu nunca cheguei a ensinar a ele essas coisas. Eu continuei viajando num peda&#231;o de lenha em particular
+        que acabou preso na prote&#231;&#227;o da lareira e quase que cai no meu tapete de pele de ant&#237;lope.
+        
+
+        Assim que me esquivei ferozmente daquela pedra negra, Blix sumiu, presumo que pro
+        &#244;nibus para Wixl, a capital econ&#244;mica dos animais.  Quem sabe, ele pode ter parado
+        em Ambrose ou Riathna ou qualquer outra vila pelo caminho.  Meu instinto me diz
+        que Wixl era definitivamente sua &#250;ltima parada. 
+
+
+        Sem nenhum estudante para instruir ou prosear, me encontrei sozinho, enfurnado em casa.
+        Na quietude dos corredores mortos, eu comecei a rascunhar uma bioagrafia na 
+        forma deste guia.
+
+
+        Eu trabalhei nisso sempre que me sentia entendiado. E quando n&#227;o estava entendiado, eu ia assistir
+        _The Phantom Menace_ (Guerra nas Estrelas - A Amea&#231;a Fantasma) pra ficar no clima.
+
+
+        !i/the.elf-7.jpg(Someone let them all out.)!
+  </diff>
      <filename>lang-pt/poignant-36.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1,2 @@
-  - Aqueles Que Fazem as Regras e Aqueles Que Vivem o Sonho:
-
+  - Aqueles Que Fazem as Regras e Aqueles Que Vivem o Sonho:
+</diff>
      <filename>lang-pt/poignant-37.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,22 +1,22 @@
-    - &gt;
-      !i/dr.cham-1.gif(Pelo espa&#231;o e tempo... na sua jarra de sino... numa miss&#227;o para se encontrar...)!
-
-
-      Francamente, estou cansado de ouvir que o Dr. Cham &#233; louco.  Sim, ele tentou se enterrar
-      vivo.  Sim, ele eletrocutou sua sobrinha.  Sim, &#233; fato, ele explodiu um asilo.
-      Mas tudo isso foi por uma boa causa e, em cada caso, eu acredito que ele tenha 
-      tomado a decis&#227;o correta.
-
-
-      Tenho certeza que voc&#234; gostaria de ficar do lado da opini&#227;o popular, mas voc&#234; est&#225; prestes
-      a sentir um pequeno comich&#227;o de admira&#231;&#227;o por ele, uma vez que ele te ensine tudo
-      sobre as defini&#231;&#245;es de classe do Ruby.
-      E ainda mais quando voc&#234; aprender sobre mixins.  Talvez at&#233;, no final do cap&#237;tulo, n&#243;s todos
-      comecemos a olhar al&#233;m do passado obscuro do Doutor, e n&#227;o mais o chamaremos de louco.
-
-
-      Ent&#227;o, se voc&#234; quer cham&#225;-lo de louco, eu come&#231;aria indo na esta&#231;&#227;o de trem
-      quebrar umas l&#226;mpadas fluorescentes grandes.  Tire-o do seu sistema agora, 
-      antes de irmos mais fundo.
-
-
+    - &gt;
+      !i/dr.cham-1.gif(Pelo espa&#231;o e tempo... na sua jarra de sino... numa miss&#227;o para se encontrar...)!
+
+
+      Francamente, estou cansado de ouvir que o Dr. Cham &#233; louco.  Sim, ele tentou se enterrar
+      vivo.  Sim, ele eletrocutou sua sobrinha.  Sim, &#233; fato, ele explodiu um asilo.
+      Mas tudo isso foi por uma boa causa e, em cada caso, eu acredito que ele tenha 
+      tomado a decis&#227;o correta.
+
+
+      Tenho certeza que voc&#234; gostaria de ficar do lado da opini&#227;o popular, mas voc&#234; est&#225; prestes
+      a sentir um pequeno comich&#227;o de admira&#231;&#227;o por ele, uma vez que ele te ensine tudo
+      sobre as defini&#231;&#245;es de classe do Ruby.
+      E ainda mais quando voc&#234; aprender sobre mixins.  Talvez at&#233;, no final do cap&#237;tulo, n&#243;s todos
+      comecemos a olhar al&#233;m do passado obscuro do Doutor, e n&#227;o mais o chamaremos de louco.
+
+
+      Ent&#227;o, se voc&#234; quer cham&#225;-lo de louco, eu come&#231;aria indo na esta&#231;&#227;o de trem
+      quebrar umas l&#226;mpadas fluorescentes grandes.  Tire-o do seu sistema agora, 
+      antes de irmos mais fundo.
+
+</diff>
      <filename>lang-pt/poignant-38.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,119 +1,119 @@
-    - Esta &#233; para os desprivilegiados: &gt;
-
-        !i/elderly-1.gif(Algumas pessoas ainda nao conseguem acreditar no que fizemos.)!
-
-
-        Se voc&#234; me der um n&#250;mero, seja ele um per&#237;odo da vida do Dr. Cham, lhe darei uma sinopse daquele
-        per&#237;odo.  E eu farei isso com um m&#233;todo Ruby, isso ser&#225; uma pe&#231;a independente, um peda&#231;o de c&#243;digo
-        isolado que pode ser ligado &#224; voz de um vulc&#227;o rob&#243;tico, quando essas coisas forem o &#225;pice
-        das vozes talentosas n&#227;o autorit&#225;rias.
-
-
-        Ok, eu preciso que voc&#234; preste aten&#231;&#227;o nos comandos @def@ , @case@ e @when@.  Voc&#234; j&#225; viu Ranges (Per&#237;odos), os
-        acordi&#245;es fechados @1895..1913@, no cap&#237;tulo 3.  Eles cont&#233;m as pontas e todos os n&#250;meros entre.  E as barras
-        no fim de cada linha simplesmente ignoram o _Enter_, assegurando ao Ruby que _h&#225; mais linhas por vir_.
-        
-
-
-        Ent&#227;o, por favor: @def@, @case@ e @when@.
-
-
-        &lt;pre&gt;
-         def biografia_do_dr_cham( ano )
-           case ano
-           when 1894
-             &quot;Nasceu.&quot;
-           when 1895..1913
-             &quot;Inf&#226;ncia em Lousville, Winston Co., Mississippi.&quot;
-           when 1914..1919
-             &quot;Trabalhou numa enfermaria de Pec&#227;s; socou um protestante.&quot;
-           when 1920..1928
-             &quot;Navegou na companhia do Rio Wisdomming, que se juntou \
-              ao Rio Mississippi e se engajou em reflex&#227;o e auto-aprimoramento, \
-              onde ele concluiu 140 horas de cr&#233;dito para sua Remoniversidade&quot;
-           when 1929
-             &quot;Voltou &#224; Louisville para escrever um romance sobre camponeses ca&#231;adores que viajam no tempo.&quot;
-           when 1930..1933
-             &quot;Ergueu uma respeit&#225;vel carreira medicando pec&#227;s.  Financeiramente est&#225;vel, ele \
-              passou algum tempo no Brasil e Novo M&#233;xico, comprando raras &#225;rvores de pec&#227; de casca fina.  Assim \
-              que sua notoriedade chegou a um alto patamar: caramba, ele tentou se enterrar vivo.&quot;
-           when 1934
-             &quot;Voltou a escrever seu romance.  Mudou de ca&#231;adores para funcion&#225;rios de seguradora e \
-              de camponeses para protestantes.&quot;
-           when 1935..1940
-             &quot;Recebeu Arthur Cone, o chefe da Irmandade do Rio Wisdomming, em sua resid&#234;ncia \
-              como convidado. Juntos por cinco anos, planejaram e inventaram.&quot;
-           when 1941
-             &quot;Aqui as coisas come&#231;am a ficar interessantes.&quot;
-           end
-         end
-        &lt;/pre&gt;
-
-
-        O comando @def@.  Aqui esta nossa primeira *defini&#231;&#227;o de m&#233;todo*.  Um m&#233;todo simples, que pode
-        ser usado em qualquer lugar no Ruby.  E como rodamos ele?
-
-
-        &lt;pre&gt;
-         puts biografia_do_dr_cham( 1941 )
-        &lt;/pre&gt;
-
-
-        Que por sua vez responde &quot;Aqui as coisas come&#231;am a ficar interessantes.&quot;  &#201; sempre a mesma hist&#243;ria:
-        _use suas respostas._  Eu fiz as coisas ali de tal modo que o @case@ sempre responder&#225; com uma String.
-        E j&#225; que o case &#233; o &#250;ltimo (e &#250;nico) comando no m&#233;todo, ent&#227;o o m&#233;todo
-        responder&#225; aquela String.  Trickling water spilling down from ledge to ledge.
-
-
-        Deixe me ser mais claro sobre a condi&#231;&#227;o @case@.  Na verdade, eu deveria cham&#225;-la de @case..when@,
-        j&#225; que elas n&#227;o pode ser usadas separadamente.  O comando @case@ &#233; serguido de um valor, que &#233; comparado contra
-        cada valor que segue o comando @when@.  O primeiro valor a coincidir &#233; usado pelo @case@,
-        o resto &#233; ignorado.  Voc&#234; pode fazer a mesma coisa com um monte de @if..elsif@,
-        mas isso &#233; muito palavreado.
-       
-
-        &lt;pre&gt;
-         case ano
-         when 1894
-           &quot;Nasceu.&quot;
-         when 1895..1913
-           &quot;Inf&#226;ncia em Lousville, Winston Co., Mississippi.&quot;
-         else
-           &quot;Sem informa&#231;&#245;es sobre este ano.&quot;
-         end
-        &lt;/pre&gt;
-
-
-        &#201; a mesma coisa que:
-
-
-        &lt;pre&gt;
-         if 1894 === ano
-           &quot;Nasceu.&quot;
-         elsif 1895..1913 === ano
-           &quot;Inf&#226;ncia em Lousville, Winston Co., Mississippi.&quot;
-         else
-           &quot;Sem informa&#231;&#245;es para este ano.&quot;
-         end
-        &lt;/pre&gt;
-
-
-        Os *tr&#234;s iguais (===)* s&#227;o o comprimento da corda de veludo, checando valores como assim como dois iguais (==).  
-        Resumindo: os tr&#234;s iguais s&#227;o uma corda maior e ela folga um pouco no meio.  N&#227;o &#233; t&#227;o tensionada, &#233; um pouco mais
-        male&#225;vel.
-
-
-        Veja os per&#237;odos assim:  @(1895..1913)@ n&#227;o &#233; nem um pouco *igual* a @1905@.  N&#227;o, o per&#237;odo @(1895..1913)@ s&#243; &#233;
-        realmente *igual* a qualquer outro per&#237;odo @(1895..1913)@.  Os tr&#234;s iguais, no caso de um per&#237;odo,  d&#227;o uma folga
-        e deixam o n&#250;mero inteiro @1905@ entrar, pois mesmo ele n&#227;o sendo *igual* ao per&#237;odo, ele est&#225; *inclu&#237;do* na lista
-        de n&#250;mero inteiros representados pelo per&#237;do.  O que &#233; suficiente em alguns casos, como o da biografia que
-        eu fiz anteriormente.
-
-
-        A qual realmente se parece com uma biografia, n&#227;o?  Quero dizer, claro, o m&#233;todo @biografia_do_dr_cham@ &#233; c&#243;digo, mas
-        ele se parece com uma biografia, limpa e af&#225;vel.
-
-
-        !i/elderly-2.gif(O que a pesquisa revelou.)!
-
-
+    - Esta &#233; para os desprivilegiados: &gt;
+
+        !i/elderly-1.gif(Algumas pessoas ainda nao conseguem acreditar no que fizemos.)!
+
+
+        Se voc&#234; me der um n&#250;mero, seja ele um per&#237;odo da vida do Dr. Cham, lhe darei uma sinopse daquele
+        per&#237;odo.  E eu farei isso com um m&#233;todo Ruby, isso ser&#225; uma pe&#231;a independente, um peda&#231;o de c&#243;digo
+        isolado que pode ser ligado &#224; voz de um vulc&#227;o rob&#243;tico, quando essas coisas forem o &#225;pice
+        das vozes talentosas n&#227;o autorit&#225;rias.
+
+
+        Ok, eu preciso que voc&#234; preste aten&#231;&#227;o nos comandos @def@ , @case@ e @when@.  Voc&#234; j&#225; viu Ranges (Per&#237;odos), os
+        acordi&#245;es fechados @1895..1913@, no cap&#237;tulo 3.  Eles cont&#233;m as pontas e todos os n&#250;meros entre.  E as barras
+        no fim de cada linha simplesmente ignoram o _Enter_, assegurando ao Ruby que _h&#225; mais linhas por vir_.
+        
+
+
+        Ent&#227;o, por favor: @def@, @case@ e @when@.
+
+
+        &lt;pre&gt;
+         def biografia_do_dr_cham( ano )
+           case ano
+           when 1894
+             &quot;Nasceu.&quot;
+           when 1895..1913
+             &quot;Inf&#226;ncia em Lousville, Winston Co., Mississippi.&quot;
+           when 1914..1919
+             &quot;Trabalhou numa enfermaria de Pec&#227;s; socou um protestante.&quot;
+           when 1920..1928
+             &quot;Navegou na companhia do Rio Wisdomming, que se juntou \
+              ao Rio Mississippi e se engajou em reflex&#227;o e auto-aprimoramento, \
+              onde ele concluiu 140 horas de cr&#233;dito para sua Remoniversidade&quot;
+           when 1929
+             &quot;Voltou &#224; Louisville para escrever um romance sobre camponeses ca&#231;adores que viajam no tempo.&quot;
+           when 1930..1933
+             &quot;Ergueu uma respeit&#225;vel carreira medicando pec&#227;s.  Financeiramente est&#225;vel, ele \
+              passou algum tempo no Brasil e Novo M&#233;xico, comprando raras &#225;rvores de pec&#227; de casca fina.  Assim \
+              que sua notoriedade chegou a um alto patamar: caramba, ele tentou se enterrar vivo.&quot;
+           when 1934
+             &quot;Voltou a escrever seu romance.  Mudou de ca&#231;adores para funcion&#225;rios de seguradora e \
+              de camponeses para protestantes.&quot;
+           when 1935..1940
+             &quot;Recebeu Arthur Cone, o chefe da Irmandade do Rio Wisdomming, em sua resid&#234;ncia \
+              como convidado. Juntos por cinco anos, planejaram e inventaram.&quot;
+           when 1941
+             &quot;Aqui as coisas come&#231;am a ficar interessantes.&quot;
+           end
+         end
+        &lt;/pre&gt;
+
+
+        O comando @def@.  Aqui esta nossa primeira *defini&#231;&#227;o de m&#233;todo*.  Um m&#233;todo simples, que pode
+        ser usado em qualquer lugar no Ruby.  E como rodamos ele?
+
+
+        &lt;pre&gt;
+         puts biografia_do_dr_cham( 1941 )
+        &lt;/pre&gt;
+
+
+        Que por sua vez responde &quot;Aqui as coisas come&#231;am a ficar interessantes.&quot;  &#201; sempre a mesma hist&#243;ria:
+        _use suas respostas._  Eu fiz as coisas ali de tal modo que o @case@ sempre responder&#225; com uma String.
+        E j&#225; que o case &#233; o &#250;ltimo (e &#250;nico) comando no m&#233;todo, ent&#227;o o m&#233;todo
+        responder&#225; aquela String.  Trickling water spilling down from ledge to ledge.
+
+
+        Deixe me ser mais claro sobre a condi&#231;&#227;o @case@.  Na verdade, eu deveria cham&#225;-la de @case..when@,
+        j&#225; que elas n&#227;o pode ser usadas separadamente.  O comando @case@ &#233; serguido de um valor, que &#233; comparado contra
+        cada valor que segue o comando @when@.  O primeiro valor a coincidir &#233; usado pelo @case@,
+        o resto &#233; ignorado.  Voc&#234; pode fazer a mesma coisa com um monte de @if..elsif@,
+        mas isso &#233; muito palavreado.
+       
+
+        &lt;pre&gt;
+         case ano
+         when 1894
+           &quot;Nasceu.&quot;
+         when 1895..1913
+           &quot;Inf&#226;ncia em Lousville, Winston Co., Mississippi.&quot;
+         else
+           &quot;Sem informa&#231;&#245;es sobre este ano.&quot;
+         end
+        &lt;/pre&gt;
+
+
+        &#201; a mesma coisa que:
+
+
+        &lt;pre&gt;
+         if 1894 === ano
+           &quot;Nasceu.&quot;
+         elsif 1895..1913 === ano
+           &quot;Inf&#226;ncia em Lousville, Winston Co., Mississippi.&quot;
+         else
+           &quot;Sem informa&#231;&#245;es para este ano.&quot;
+         end
+        &lt;/pre&gt;
+
+
+        Os *tr&#234;s iguais (===)* s&#227;o o comprimento da corda de veludo, checando valores como assim como dois iguais (==).  
+        Resumindo: os tr&#234;s iguais s&#227;o uma corda maior e ela folga um pouco no meio.  N&#227;o &#233; t&#227;o tensionada, &#233; um pouco mais
+        male&#225;vel.
+
+
+        Veja os per&#237;odos assim:  @(1895..1913)@ n&#227;o &#233; nem um pouco *igual* a @1905@.  N&#227;o, o per&#237;odo @(1895..1913)@ s&#243; &#233;
+        realmente *igual* a qualquer outro per&#237;odo @(1895..1913)@.  Os tr&#234;s iguais, no caso de um per&#237;odo,  d&#227;o uma folga
+        e deixam o n&#250;mero inteiro @1905@ entrar, pois mesmo ele n&#227;o sendo *igual* ao per&#237;odo, ele est&#225; *inclu&#237;do* na lista
+        de n&#250;mero inteiros representados pelo per&#237;do.  O que &#233; suficiente em alguns casos, como o da biografia que
+        eu fiz anteriormente.
+
+
+        A qual realmente se parece com uma biografia, n&#227;o?  Quero dizer, claro, o m&#233;todo @biografia_do_dr_cham@ &#233; c&#243;digo, mas
+        ele se parece com uma biografia, limpa e af&#225;vel.
+
+
+        !i/elderly-2.gif(O que a pesquisa revelou.)!
+
+</diff>
      <filename>lang-pt/poignant-39.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,75 +1,75 @@
-    - !^sidebar
-      Pensando em voc&#234;.  E em seu bem-estar.: &gt;
-
-        Eu preciso que voc&#234; esteja num bom estado mental para o resto do livro.
-        Agora &#233; hora de come&#231;ar a te condicionar.
-
-
-        Vamos come&#231;ar respirando profundamente.  Inspire profundamente
-        e conte at&#233; quatro comigo.
-
-
-        Vamos l&#225;.  1.  2.  3.  4.   Agora expire.  Voc&#234; pode
-        sentir seus olhos.  Bom, &#233; isso mesmo.
-
-
-        Agora vamos inspirar profundamente e, na sua mente, desenhe um hipop&#243;tamo
-        o mais r&#225;pido que puder.  R&#225;pido r&#225;pido.  Suas pernas, sua forma, seus dentes
-        de marshmallow.  Ok, feito.  Agora expire.
-
-
-        D&#234; mais uma boa inspirada e segure.  Enquanto voc&#234; segura o ar firme
-        no seu peito, imagine que a press&#227;o o est&#225; reduzindo ao tamanho de um inseto.
-        Voc&#234; segurou seu f&#244;lego t&#227;o forte que agora voc&#234; &#233; um inseto.  E todos os
-        outros insetos viram voc&#234; diminuir e adoraram a fa&#231;anha.  Eles est&#227;o batendo
-        palmas e ro&#231;ando as anteninhas fren&#233;ticamente.   Mas voc&#234; tinha uma ma&#231;&#227; na
-        m&#227;o quando voc&#234; era grande, e ela te pegou agora, esmagou
-        toda a multid&#227;o.  Voc&#234; est&#225; morto, tamb&#233;m.  Agora expire.
-
-
-        Agora d&#234; uma uma boa respirada e imagine que voc&#234; vive em uma cidade
-        em que tudo &#233; feito de fios de telefone.  As casas s&#227;o todas de fios
-        de telefone, as paredes, o telhado.  As portas s&#227;o um massa densa
-        de fios de telefone que voc&#234; simplesmente atravessa.  Quando voc&#234; vai
-        pra cama, a cama &#233; de fios de telefone.  E o colch&#227;o e as molas
-        da cama s&#227;o fios de telefone, tamb&#233;m.  Como eu disse, tudo &#233; feito de
-        fios de telefone.  O pr&#243;prio telefone &#233; feito de fios de telefone.
-        Mas o fio de telefone que vai pro telefone &#233; feito de p&#227;o
-        e palitos.  Agora expire.
-
-
-        Inspire.  1.  2.  3.  4.  Expire.
-
-
-        Inspire.  1.  2.  Inspire mais um pouco.  3.  4.  Imagine suas m&#227;os
-        saindo dos pulsos, voando at&#225; a tela do computador
-        e programando ele de dentro.  Expire.
-
-
-        Respire fundo, fundo.  Abaixo the voc&#234; tem um submarino.
-        Ele tem uma l&#237;ngua.  Expire.
-
-
-        Respire pelo nariz.  Respire fundo.  Filtre o ar pelo 
-        seu nariz.  Respirar pelo nariz te d&#225; ar de qualidade.
-        Seu nariz se abre, voc&#234; recebe o ar da natureza, do jeito
-        que Deus planejou.  Imagine um leitor de disquetes lotado de &#243;rf&#227;os.
-        Enquanto ele se engasga com os &#243;rf&#227;os, voc&#234; tem o &#243;timo, o maravilhoso ar de Deus 
-        em seus pulm&#245;es.  Mas este ar prazeiroso e cheio de vida
-        vira uma poderosa toxina se voc&#234; segurar por muito tempo.  _R&#225;pido, exale
-        o ar de Deus e da natureza!_
-
-
-        Agora, voc&#234; vai acordar, desamassando as dobras desta p&#225;gina
-        no seu navegador.  Voc&#234; relembrar&#225; toda sua vida
-        e n&#227;o se esquecer&#225; de nenhuma das v&#225;rias aventuras 
-        que voc&#234; teve nela.  Voc&#234; se sentir&#225;
-        rico, renovado e mais experiente.  Voc&#234; n&#227;o ter&#225; lembran&#231;as
-        desde curto exerc&#237;cio, na verdade voc&#234; vai lembrar de estar ensinando a dist&#226;ncia
-        um coelho a usar tesouras.
-
-
-        J&#225; que voc&#234; vai acordar e ver este exerc&#237;cio de novo, voc&#234;
-        vai faz&#234;-lo novamente.  Mas desta vez, tente imaginar
-        que at&#233; _sua sombra_ &#233; um fio de telefone.
-
+    - !^sidebar
+      Pensando em voc&#234;.  E em seu bem-estar.: &gt;
+
+        Eu preciso que voc&#234; esteja num bom estado mental para o resto do livro.
+        Agora &#233; hora de come&#231;ar a te condicionar.
+
+
+        Vamos come&#231;ar respirando profundamente.  Inspire profundamente
+        e conte at&#233; quatro comigo.
+
+
+        Vamos l&#225;.  1.  2.  3.  4.   Agora expire.  Voc&#234; pode
+        sentir seus olhos.  Bom, &#233; isso mesmo.
+
+
+        Agora vamos inspirar profundamente e, na sua mente, desenhe um hipop&#243;tamo
+        o mais r&#225;pido que puder.  R&#225;pido r&#225;pido.  Suas pernas, sua forma, seus dentes
+        de marshmallow.  Ok, feito.  Agora expire.
+
+
+        D&#234; mais uma boa inspirada e segure.  Enquanto voc&#234; segura o ar firme
+        no seu peito, imagine que a press&#227;o o est&#225; reduzindo ao tamanho de um inseto.
+        Voc&#234; segurou seu f&#244;lego t&#227;o forte que agora voc&#234; &#233; um inseto.  E todos os
+        outros insetos viram voc&#234; diminuir e adoraram a fa&#231;anha.  Eles est&#227;o batendo
+        palmas e ro&#231;ando as anteninhas fren&#233;ticamente.   Mas voc&#234; tinha uma ma&#231;&#227; na
+        m&#227;o quando voc&#234; era grande, e ela te pegou agora, esmagou
+        toda a multid&#227;o.  Voc&#234; est&#225; morto, tamb&#233;m.  Agora expire.
+
+
+        Agora d&#234; uma uma boa respirada e imagine que voc&#234; vive em uma cidade
+        em que tudo &#233; feito de fios de telefone.  As casas s&#227;o todas de fios
+        de telefone, as paredes, o telhado.  As portas s&#227;o um massa densa
+        de fios de telefone que voc&#234; simplesmente atravessa.  Quando voc&#234; vai
+        pra cama, a cama &#233; de fios de telefone.  E o colch&#227;o e as molas
+        da cama s&#227;o fios de telefone, tamb&#233;m.  Como eu disse, tudo &#233; feito de
+        fios de telefone.  O pr&#243;prio telefone &#233; feito de fios de telefone.
+        Mas o fio de telefone que vai pro telefone &#233; feito de p&#227;o
+        e palitos.  Agora expire.
+
+
+        Inspire.  1.  2.  3.  4.  Expire.
+
+
+        Inspire.  1.  2.  Inspire mais um pouco.  3.  4.  Imagine suas m&#227;os
+        saindo dos pulsos, voando at&#225; a tela do computador
+        e programando ele de dentro.  Expire.
+
+
+        Respire fundo, fundo.  Abaixo the voc&#234; tem um submarino.
+        Ele tem uma l&#237;ngua.  Expire.
+
+
+        Respire pelo nariz.  Respire fundo.  Filtre o ar pelo 
+        seu nariz.  Respirar pelo nariz te d&#225; ar de qualidade.
+        Seu nariz se abre, voc&#234; recebe o ar da natureza, do jeito
+        que Deus planejou.  Imagine um leitor de disquetes lotado de &#243;rf&#227;os.
+        Enquanto ele se engasga com os &#243;rf&#227;os, voc&#234; tem o &#243;timo, o maravilhoso ar de Deus 
+        em seus pulm&#245;es.  Mas este ar prazeiroso e cheio de vida
+        vira uma poderosa toxina se voc&#234; segurar por muito tempo.  _R&#225;pido, exale
+        o ar de Deus e da natureza!_
+
+
+        Agora, voc&#234; vai acordar, desamassando as dobras desta p&#225;gina
+        no seu navegador.  Voc&#234; relembrar&#225; toda sua vida
+        e n&#227;o se esquecer&#225; de nenhuma das v&#225;rias aventuras 
+        que voc&#234; teve nela.  Voc&#234; se sentir&#225;
+        rico, renovado e mais experiente.  Voc&#234; n&#227;o ter&#225; lembran&#231;as
+        desde curto exerc&#237;cio, na verdade voc&#234; vai lembrar de estar ensinando a dist&#226;ncia
+        um coelho a usar tesouras.
+
+
+        J&#225; que voc&#234; vai acordar e ver este exerc&#237;cio de novo, voc&#234;
+        vai faz&#234;-lo novamente.  Mas desta vez, tente imaginar
+        que at&#233; _sua sombra_ &#233; um fio de telefone.
+</diff>
      <filename>lang-pt/poignant-40.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,167 +1,167 @@
-    - &gt;
-        h3. Mas Ele Era Doente??
-
-
-        Voc&#234; sabe, ele n&#227;o dava muita sorte.  Era um desastre como novelista, mas suas empreitadas na alquimia
-        eram muito promissoras.  Ele tinha um elixir de leite de cabra e sal marinho que melhorava dores nas pernas.
-        Um cara at&#233; regenerou um peda&#231;o do dedo que havia perdido.  Ele tinha um fumo medicinal org&#226;nico que cheirava
-        chul&#233; mas te dava vis&#227;o noturna.  Ele estava trabalhando em algo chamado Escada L&#237;quida, mas nunca vi
-        ou li nada a respeito.  N&#227;o pode ser pra subir.  Quem sabe.
-
-
-        Um jornal local uma vez visitou o Dr. Cham.  A cr&#237;tica liter&#225;ria deles deu a ele quatro estrelas.
-        S&#233;rio.  Ela fez um artigo sobre ele.  Ela deu uma nota.
-
-
-        Mas saiba que o Dr. N. Harold Cham se sentia muito mal com rela&#231;&#227;o &#224; sua sobrinha.  Ele acreditou que o tratamento
-        de choque funcionaria.  A p&#243;lio a teria matado de qualquer jeito, mas ele tentou.
-
-
-        Em 9 de Setembro de 1941, depois de sed&#225;-la como uma dose de phenacetin na sua sala de opera&#231;&#245;es, ele colocou
-        os clips condutores no nariz, l&#237;ngua, dedos e ombros de Hannah.  Com a ajuda de seu aprendiz, um estudante
-        perspicaz chamado Marvin Holyoake, eles polvilharam a garota com flocos de uma subst&#226;ncia que o doutor
-        chamou de _opus magnum_. Um p&#243; de ouro branco que levaria a corrente e evidentemente energizaria a menina,
-        for&#231;ando seu sangue a aflorar e lutar e vencer.
-        
-
-        Mas aquilo n&#227;o deu muito certo, quando a alavanca foi puxada, ela se debateu e chutou -- e 
-        *KABLAM!* -- e *BLOY-OY-OY-KKPOY!*  An&#233;is de cabelo e uma parede de luz, e o sino 
-        da morte tocou.  A experi&#234;ncia sucumbiu em uma estreita pluma de fuma&#231;a
-        e a inoc&#234;ncia dela (_durante semanas, todo mundo s&#243; falava: &quot;Ela nunca vai ter
-        a chance de...&quot;_) foi um rombo no ch&#227;o e nos pulm&#245;es deles.
-
-
-        Para Hannah, eu programo.
-
-
-        &lt;pre&gt;
-         opus_magnum = true
-         def salve_hannah
-           sucesso = opus_magnum
-         end
-        &lt;/pre&gt;
-
-
-        Um m&#233;todo na sua ilha.  E o que vai dentro n&#227;o &#233; afetado por simples v&#225;riaveis externas.
-        O Dr. Cham n&#227;o podia penetrar na doen&#231;a da sua sobrinha assim como uma vari&#225;vel @opus_magnum@
-        n&#227;o pode penetrar o fechado m&#233;todo.
-
-
-        Se rodarmos o m&#233;todo @salve_hannah@, o Ruby vai gritar com a gente, alegando que n&#227;o sabe de @opus_magnum@ nenhuma.
-
-
-        Eu t&#244; falando de *foco, escopo*.  Microsc&#243;pios restringem e magnificam sua vis&#227;o.  Telesc&#243;pios extendem
-        seu campo de vis&#227;o.  No Ruby, *escopo* referecia o campo de vis&#227;o dentro de m&#233;todos e blocos.
-
-
-        A declara&#231;&#227;o @def@ do m&#233;todo abre sua vis&#227;o.  Nomes de vari&#225;veis introduzidos ali ser&#227;o vistos
-        pelo m&#233;todo e continuar&#227;o valendo at&#233; que o @end@ feche seus olhos.  Voc&#234; pode passar dados para um
-        m&#233;todo usando argumentos e dados podem ser resgatados de m&#233;todo, mas os nomes usados dentro
-        do m&#233;todo s&#243; valem no escopo dele.
-
-
-        Algumas v&#225;riveis tem um escopo mais amplo.  Vari&#225;veis globais, como @$LOAD_PATH@, que come&#231;am com um *cifr&#227;o*
-        est&#227;o dispon&#237;veis sob qualquer escopo.  Vari&#225;veis de inst&#226;ncia como @@nomes@, que come&#231;am com uma *arroba*
-        est&#227;o dispon&#237;veis em todo lugar dentro do escopo da classe.  A mesma coisa serve para vari&#225;veis de classe como @@@ingressos@.
-        Vari&#225;veis de classe e de inst&#226;ncia ser&#227;o exploradas em breve.
-
-
-        Blocos t&#234;m escopo, mas um escopo mais difuso.  Mais flex&#237;vel.
-
-
-        &lt;pre&gt;
-         verbo = 'resgatou'
-         ['sedou', 'polvilhou', 'eletrocutou'].
-         each do |verbo|
-           puts &quot;O Dr. Cham &quot; + verbo + &quot; sua sobrinha Hannah.&quot;
-         end
-         puts &quot;Sim, o Dr. Cham &quot; + verbo + &quot; sua sobrinha Hannah.&quot;
-        &lt;/pre&gt;
-
-
-        O bloco _iterage_ (circunda, revolve) pelas a&#231;&#245;es do Doutor.  A vari&#225;vel @verbo@
-        muda a cada passagem.  Em uma passagem, ele a est&#225; sedando.  Na pr&#243;xima, ele a est&#225; queimando.  
-        E a&#237;, eletrocutando.
-
-
-        Ent&#227;o, a quest&#227;o &#233;: ap&#243;s o t&#233;rmino do bloco, ter&#225; ele resgatado a Hannah?
-
-
-        &lt;pre class=&quot;result&quot;&gt;
-         O Dr. Cham sedou sua sobrinha Hannah.
-         O Dr. Cham polvilhou sua sobrinha Hannah.
-         O Dr. Cham eletrocutou sua sobrinha Hannah.
-         Sim, o Dr. Cham eletrocutou sua sobrinha Hannah.
-        &lt;/pre&gt;
-
-
-        Os blocos podem ver vari&#225;veis da vizinhan&#231;a.  O bloco viu que a vari&#225;vel @verbo@ existia,
-        ele reescreveu o que ela continha e continuou.  Quando o bloco acabou e sua pequena vida 
-        se esvaiu, a vari&#225;vel @verbo@ saiu de l&#225; uma outra criatura.
-
-
-        Se o bloco usar uma vari&#225;vel que ainda n&#227;o tenha sido usada previamente, essa vari&#225;vel desaparece ap&#243;s
-        o t&#233;rmino do bloco.  O *escopo* do bloco se fecha e a vari&#225;vel vai junto.  Aqui um exemplo em que @verbo@
-        n&#227;o foi usado antes do bloco:
-
-
-        &lt;pre&gt;
-         ['sedou', 'queimou', 'eletrocutou'].
-         each do |verbo|
-           puts &quot;O Dr. Cham &quot; + verbo + &quot; sua sobrinha Hannah.&quot;
-         end
-         puts &quot;Sim, O Dr. Cham &quot; + verbo + &quot; sua sobrinha Hannah.&quot;
-        &lt;/pre&gt;
-
-
-        D&#225; um erro: @undefined local variable or method 'verbo'@.  Poof.
-        (M&#233;todo ou vari&#225;vel local 'verbo' n&#227;o definido.)
-
-
-        Deve ser dif&#237;cil, mesmo para um grande cientista, sumir com o corpo de uma garotinha
-        cujo vestido ainda est&#225; passado e bordado, mas cuja boca est&#225; roxa nos cantos.  
-        No jornal do Dr. Cham, ele relata que fora atormentado pelo fantasma dela, que reluzia ouro and scorched
-        lace.  Suas desilus&#245;es aumentaram e ele fugiu de c&#227;es do inferno e massivas, vingativas m&#227;os angelicais.
-
-
-        Somente semanas mais tarde, ele foi embora, impulsionado desses arrependimentos, sumindo na 
-        explos&#227;o que o levaria pra fora do planeta.
-
-
-        At&#233; que enquanto voc&#234; l&#234; isso agora, em algum momento, a jarra em formato de sino do nosso
-        solit&#225;rio Dr. Cham pousou num distante planeta depois de viajar sessenta anos.  
-        Assim que o novo mundo apareceu, assim que a curvatura do planeta se mostrou, 
-        assim que a jarra em formato de sino varreu os c&#233;us tempestuosos, rasgando folhas de aurora e
-        vento solar, os olhos do Dr. Chams se abriram.
-
-
-        !i/dr.cham-2.gif(Pouso seguro.  Espanto.)!
-
-
-        O que voc&#234; esta testemunhando &#233; o pouso do Dr. Cham no planeta Endertromb.  Do que eu pude
-        perceber, ele pousou no meio de uma esta&#231;&#227;o desolada, quando n&#227;o tem muita coisa acontecendo
-        no planeta.  A maioria dos habitantes t&#234;m susas mentes presas a um zumbido desanimador
-        que faz com que eles se desintegrem em fantasmas f&#250;teis uma-parte-conhecimento e tr&#234;s-partes-vapor
-        por um tempo.
-
-
-        Meu modesto conhecimento sobre a hist&#243;ria e clima de Endertromb foi adquirido convivendo
-        com o professor de piano da minha filha, que nasceu l&#225;.
-
-
-        !i/elderly-3.gif(Dead husbands could destroy the Doctor.)!
-
-
-        Eu frequentemente treino o professor de piano da minha filha para assegurar que ele mantenha
-        seus compromissos.  Que ele atenda chamadas em horas estranhas e responda chamadas de 
-        emerg&#234;ncia prontamente. Quando ele finalmente me contou que era um alien cujo dia consistia em 
-        quinhentas e quarenta horas acordado, eu estava incrivelmente favor&#225;vel a um relacionamento
-        contratual com ele que durar&#225; at&#233; 2060.
-
-        
-        Por tr&#234;s dias (de acordo com seu rel&#243;gio de bolso), o Dr. Cham viajou nas escuras passagens de ar,
-        respirando o vento empoeirado daquele planeta in&#243;spito.
-        Mas no terceiro dia, a Esta&#231;&#227;o Desolada acabara e ele acordou para uma vista magn&#237;fica, 
-        decorada com rec&#233;m-floridas &#225;rvores de ma&#231;&#227; e dewy castle tiers.
-
-
+    - &gt;
+        h3. Mas Ele Era Doente??
+
+
+        Voc&#234; sabe, ele n&#227;o dava muita sorte.  Era um desastre como novelista, mas suas empreitadas na alquimia
+        eram muito promissoras.  Ele tinha um elixir de leite de cabra e sal marinho que melhorava dores nas pernas.
+        Um cara at&#233; regenerou um peda&#231;o do dedo que havia perdido.  Ele tinha um fumo medicinal org&#226;nico que cheirava
+        chul&#233; mas te dava vis&#227;o noturna.  Ele estava trabalhando em algo chamado Escada L&#237;quida, mas nunca vi
+        ou li nada a respeito.  N&#227;o pode ser pra subir.  Quem sabe.
+
+
+        Um jornal local uma vez visitou o Dr. Cham.  A cr&#237;tica liter&#225;ria deles deu a ele quatro estrelas.
+        S&#233;rio.  Ela fez um artigo sobre ele.  Ela deu uma nota.
+
+
+        Mas saiba que o Dr. N. Harold Cham se sentia muito mal com rela&#231;&#227;o &#224; sua sobrinha.  Ele acreditou que o tratamento
+        de choque funcionaria.  A p&#243;lio a teria matado de qualquer jeito, mas ele tentou.
+
+
+        Em 9 de Setembro de 1941, depois de sed&#225;-la como uma dose de phenacetin na sua sala de opera&#231;&#245;es, ele colocou
+        os clips condutores no nariz, l&#237;ngua, dedos e ombros de Hannah.  Com a ajuda de seu aprendiz, um estudante
+        perspicaz chamado Marvin Holyoake, eles polvilharam a garota com flocos de uma subst&#226;ncia que o doutor
+        chamou de _opus magnum_. Um p&#243; de ouro branco que levaria a corrente e evidentemente energizaria a menina,
+        for&#231;ando seu sangue a aflorar e lutar e vencer.
+        
+
+        Mas aquilo n&#227;o deu muito certo, quando a alavanca foi puxada, ela se debateu e chutou -- e 
+        *KABLAM!* -- e *BLOY-OY-OY-KKPOY!*  An&#233;is de cabelo e uma parede de luz, e o sino 
+        da morte tocou.  A experi&#234;ncia sucumbiu em uma estreita pluma de fuma&#231;a
+        e a inoc&#234;ncia dela (_durante semanas, todo mundo s&#243; falava: &quot;Ela nunca vai ter
+        a chance de...&quot;_) foi um rombo no ch&#227;o e nos pulm&#245;es deles.
+
+
+        Para Hannah, eu programo.
+
+
+        &lt;pre&gt;
+         opus_magnum = true
+         def salve_hannah
+           sucesso = opus_magnum
+         end
+        &lt;/pre&gt;
+
+
+        Um m&#233;todo na sua ilha.  E o que vai dentro n&#227;o &#233; afetado por simples v&#225;riaveis externas.
+        O Dr. Cham n&#227;o podia penetrar na doen&#231;a da sua sobrinha assim como uma vari&#225;vel @opus_magnum@
+        n&#227;o pode penetrar o fechado m&#233;todo.
+
+
+        Se rodarmos o m&#233;todo @salve_hannah@, o Ruby vai gritar com a gente, alegando que n&#227;o sabe de @opus_magnum@ nenhuma.
+
+
+        Eu t&#244; falando de *foco, escopo*.  Microsc&#243;pios restringem e magnificam sua vis&#227;o.  Telesc&#243;pios extendem
+        seu campo de vis&#227;o.  No Ruby, *escopo* referecia o campo de vis&#227;o dentro de m&#233;todos e blocos.
+
+
+        A declara&#231;&#227;o @def@ do m&#233;todo abre sua vis&#227;o.  Nomes de vari&#225;veis introduzidos ali ser&#227;o vistos
+        pelo m&#233;todo e continuar&#227;o valendo at&#233; que o @end@ feche seus olhos.  Voc&#234; pode passar dados para um
+        m&#233;todo usando argumentos e dados podem ser resgatados de m&#233;todo, mas os nomes usados dentro
+        do m&#233;todo s&#243; valem no escopo dele.
+
+
+        Algumas v&#225;riveis tem um escopo mais amplo.  Vari&#225;veis globais, como @$LOAD_PATH@, que come&#231;am com um *cifr&#227;o*
+        est&#227;o dispon&#237;veis sob qualquer escopo.  Vari&#225;veis de inst&#226;ncia como @@nomes@, que come&#231;am com uma *arroba*
+        est&#227;o dispon&#237;veis em todo lugar dentro do escopo da classe.  A mesma coisa serve para vari&#225;veis de classe como @@@ingressos@.
+        Vari&#225;veis de classe e de inst&#226;ncia ser&#227;o exploradas em breve.
+
+
+        Blocos t&#234;m escopo, mas um escopo mais difuso.  Mais flex&#237;vel.
+
+
+        &lt;pre&gt;
+         verbo = 'resgatou'
+         ['sedou', 'polvilhou', 'eletrocutou'].
+         each do |verbo|
+           puts &quot;O Dr. Cham &quot; + verbo + &quot; sua sobrinha Hannah.&quot;
+         end
+         puts &quot;Sim, o Dr. Cham &quot; + verbo + &quot; sua sobrinha Hannah.&quot;
+        &lt;/pre&gt;
+
+
+        O bloco _iterage_ (circunda, revolve) pelas a&#231;&#245;es do Doutor.  A vari&#225;vel @verbo@
+        muda a cada passagem.  Em uma passagem, ele a est&#225; sedando.  Na pr&#243;xima, ele a est&#225; queimando.  
+        E a&#237;, eletrocutando.
+
+
+        Ent&#227;o, a quest&#227;o &#233;: ap&#243;s o t&#233;rmino do bloco, ter&#225; ele resgatado a Hannah?
+
+
+        &lt;pre class=&quot;result&quot;&gt;
+         O Dr. Cham sedou sua sobrinha Hannah.
+         O Dr. Cham polvilhou sua sobrinha Hannah.
+         O Dr. Cham eletrocutou sua sobrinha Hannah.
+         Sim, o Dr. Cham eletrocutou sua sobrinha Hannah.
+        &lt;/pre&gt;
+
+
+        Os blocos podem ver vari&#225;veis da vizinhan&#231;a.  O bloco viu que a vari&#225;vel @verbo@ existia,
+        ele reescreveu o que ela continha e continuou.  Quando o bloco acabou e sua pequena vida 
+        se esvaiu, a vari&#225;vel @verbo@ saiu de l&#225; uma outra criatura.
+
+
+        Se o bloco usar uma vari&#225;vel que ainda n&#227;o tenha sido usada previamente, essa vari&#225;vel desaparece ap&#243;s
+        o t&#233;rmino do bloco.  O *escopo* do bloco se fecha e a vari&#225;vel vai junto.  Aqui um exemplo em que @verbo@
+        n&#227;o foi usado antes do bloco:
+
+
+        &lt;pre&gt;
+         ['sedou', 'queimou', 'eletrocutou'].
+         each do |verbo|
+           puts &quot;O Dr. Cham &quot; + verbo + &quot; sua sobrinha Hannah.&quot;
+         end
+         puts &quot;Sim, O Dr. Cham &quot; + verbo + &quot; sua sobrinha Hannah.&quot;
+        &lt;/pre&gt;
+
+
+        D&#225; um erro: @undefined local variable or method 'verbo'@.  Poof.
+        (M&#233;todo ou vari&#225;vel local 'verbo' n&#227;o definido.)
+
+
+        Deve ser dif&#237;cil, mesmo para um grande cientista, sumir com o corpo de uma garotinha
+        cujo vestido ainda est&#225; passado e bordado, mas cuja boca est&#225; roxa nos cantos.  
+        No jornal do Dr. Cham, ele relata que fora atormentado pelo fantasma dela, que reluzia ouro and scorched
+        lace.  Suas desilus&#245;es aumentaram e ele fugiu de c&#227;es do inferno e massivas, vingativas m&#227;os angelicais.
+
+
+        Somente semanas mais tarde, ele foi embora, impulsionado desses arrependimentos, sumindo na 
+        explos&#227;o que o levaria pra fora do planeta.
+
+
+        At&#233; que enquanto voc&#234; l&#234; isso agora, em algum momento, a jarra em formato de sino do nosso
+        solit&#225;rio Dr. Cham pousou num distante planeta depois de viajar sessenta anos.  
+        Assim que o novo mundo apareceu, assim que a curvatura do planeta se mostrou, 
+        assim que a jarra em formato de sino varreu os c&#233;us tempestuosos, rasgando folhas de aurora e
+        vento solar, os olhos do Dr. Chams se abriram.
+
+
+        !i/dr.cham-2.gif(Pouso seguro.  Espanto.)!
+
+
+        O que voc&#234; esta testemunhando &#233; o pouso do Dr. Cham no planeta Endertromb.  Do que eu pude
+        perceber, ele pousou no meio de uma esta&#231;&#227;o desolada, quando n&#227;o tem muita coisa acontecendo
+        no planeta.  A maioria dos habitantes t&#234;m susas mentes presas a um zumbido desanimador
+        que faz com que eles se desintegrem em fantasmas f&#250;teis uma-parte-conhecimento e tr&#234;s-partes-vapor
+        por um tempo.
+
+
+        Meu modesto conhecimento sobre a hist&#243;ria e clima de Endertromb foi adquirido convivendo
+        com o professor de piano da minha filha, que nasceu l&#225;.
+
+
+        !i/elderly-3.gif(Dead husbands could destroy the Doctor.)!
+
+
+        Eu frequentemente treino o professor de piano da minha filha para assegurar que ele mantenha
+        seus compromissos.  Que ele atenda chamadas em horas estranhas e responda chamadas de 
+        emerg&#234;ncia prontamente. Quando ele finalmente me contou que era um alien cujo dia consistia em 
+        quinhentas e quarenta horas acordado, eu estava incrivelmente favor&#225;vel a um relacionamento
+        contratual com ele que durar&#225; at&#233; 2060.
+
+        
+        Por tr&#234;s dias (de acordo com seu rel&#243;gio de bolso), o Dr. Cham viajou nas escuras passagens de ar,
+        respirando o vento empoeirado daquele planeta in&#243;spito.
+        Mas no terceiro dia, a Esta&#231;&#227;o Desolada acabara e ele acordou para uma vista magn&#237;fica, 
+        decorada com rec&#233;m-floridas &#225;rvores de ma&#231;&#227; e dewy castle tiers.
+
+</diff>
      <filename>lang-pt/poignant-41.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,518 +1,518 @@
-    - Um Castelo Tem Seus Computadores: &gt;
-
-        !i/dr.cham-3.jpg(The panoramic vales of Sedna on Endertromb.)!
-
-
-        Nosso intr&#233;pido Doutor partiu para o castelo alien&#237;gena, lan&#231;ando-se sobre as flores.  The ground belted
-        past his heels.  The castle inched up the horizon.  Ele gostaria de um cavalo, mas nenhum cavalo
-        apareceu.  E foi assim que ele descobriu que o planeta n&#227;o leria sua mente e n&#227;o responderia seus
-        pedidos.
-
-
-        Por&#233;m, como o instrutor de &#243;rg&#227;o da minha filha havia me explicado, o planeta *podia ler mentes* e *podia
-        realizar desejos*.  S&#243; que n&#227;o os dois ao mesmo tempo.
-
-
-        Um dia questionando o maestro de &#243;rg&#227;o, ele rascunhou o seguinte c&#243;digo Ruby numa folha
-        de papel cor-de-queijo.  (E cheiros estranhos de queijo est&#227;o vindo de algum lugar,
-        eu n&#227;o posso dizer onde.)
-
-
-        &lt;pre&gt;
-         require 'endertromb'
-         class FazedorPedidos
-           def initialize
-             @energia = rand( 6 )
-           end
-           def realize( pedido )
-             if pedido.length &gt; 10 or pedido.include? ' '
-               raise ArgumentError, &quot;Pedido ruim.&quot;
-             end
-             if @energia.zero?
-               raise Exception, &quot;Sem energia.&quot;
-             end
-             @energia -= 1
-             Endertromb::realize( pedido )
-           end
-         end
-        &lt;/pre&gt;
-
-
-        Este &#233; o fazedor de pedidos.  
-
-
-        Na verdade, n&#227;o, esta &#233; a *defini&#231;&#227;o de um fazedor de pedidos.*  Para o Ruby, &#233; uma *defini&#231;&#227;o de classe*.
-        O c&#243;digo descreve como um certo *objeto* vai funcionar.
-
-
-        Cada manh&#227;, o fazedor de pedidos arts out with up to five wishes available for granting.
-        Um novo @FazedorPedidos@ &#233; criado quando o sol levanta.
-
-
-        &lt;pre&gt;
-         pedidos_do_dia = FazedorPedidos.new
-        &lt;/pre&gt;
-
-
-        O m&#233;todo @new@ &#233; um m&#233;todo de classe que um novo, objeto em branco.  Ele tamb&#233;m o chama o m&#233;todo
-        @initialize@ do objeto automaticamente.  Na defini&#231;&#227;o do @FazedorPedidos,@ voc&#234; vai ver o m&#233;todo
-        @initialize@, que cont&#233;m uma &#250;nica linha de c&#243;digo: @@energia = rand( 6 )@.
-
-
-        O @rand( 6 )@ sorteia um n&#250;mero entre 0 e 5.  Este n&#250;mero vai representar quantos pedidos
-        ainda restam no dia.  Ent&#227;o, occasionalmente n&#227;o haver&#227;o pedidos dispon&#237;veis do fazedor de
-        pedidos.
-
-
-        O n&#250;mero aleat&#243;rio &#233; dado &#224; uma *vari&#225;vel de inst&#226;ncia* de nome @@energia@.
-        Esta vari&#225;vel inst&#226;ncia vai estar dispon&#237;vel a qualquer por entre a classe.  A vari&#225;vel
-        n&#227;o pode ser usada fora do *escopo* da classe.
-
-
-        No cap&#237;tulo tr&#234;s, demos uma breve olhada em vari&#225;veis de inst&#226;ncia e decidimos respeit&#225;-las
-        como *atributos*.  (O s&#237;mbolo *arroba* poderia significar *atributo*.)  Vari&#225;veis de inst&#226;ncia podem
-        ser usadas para guardar qualquer tipo de informa&#231;&#227;o, mas elas s&#227;o mais usadas para se guardar peda&#231;os
-        de informa&#231;&#227;o sobre o objeto representado pela classe.
-
-
-        No caso acima, cada fazendor de pedidos para o dia tem seu pr&#243;prio n&#237;vel de energia.  Se o fazendor de pedidos
-        fosse uma m&#225;quina, voc&#234; talvez veria um medidor nele que marca a energia restante.
-        A vari&#225;vel de inst&#226;ncia @@energia@ age como esse medidor.
-
-
-        &lt;pre&gt;
-         pedidos_do_dia = FazedorPedidos.new
-         pedidos_do_dia.realize( &quot;galhada&quot; )
-        &lt;/pre&gt;
-
-
-        Okay, volte um pouco e tenha certeza de entender o exemplo aqui.  A classe @FazedorPedidos@ &#233; a planta
-        que elaboramos para como toda a m&#225;gica dos pedidos funciona.  N&#227;o &#233; o _realmente_ o g&#234;nio na l&#226;mpada,
-        &#233; a papelada por tr&#225;s das cenas.  S&#227;o as regras e obriga&#231;&#245;es em que o g&#234;nio vive.
-
-
-        O @pedidos_do_dia@ &#233; o g&#234;nio da l&#226;mpada.  E aqui estamos dando um pedido pra a ser realizado.
-        Nos d&#234; uma galhada, g&#234;nio.  (Se voc&#234; realmente arranjar uma galhada neste exemplo, eu nem quero saber.
-        V&#225; saltitar em campinas verdes com seus amigos.)
-
-
-        No cap&#237;tulo anterior, o treinamento era: Ruby tem duas metades.
-
-
-        # Definindo coisas.
-
-        # Colocando estas coisas em a&#231;&#227;o.
-
-
-        O que s&#227;o as a&#231;&#245;es no Ruby?  M&#233;todos.  E agora, voc&#234; est&#225; provando a linguagem de defini&#231;&#227;o
-        interna do Ruby.  Defini&#231;&#245;es de m&#233;todos usando @def@.  Defini&#231;&#245;es de classe usando @class@.
-
-
-        Neste ponto da sua instru&#231;&#227;o, &#233; mais f&#225;cil entender que *tudo no Ruby &#233; um objeto.*
-
-
-        &lt;pre&gt;
-         numero = 5
-         print numero.next                 # imprime '6'
-
-         frase = 'desejando uma galhada'
-         print frase.length                # imprime '19'
-
-         pedidos_do_dia = FazedorPedidos.new
-         pedidos_do_dia.grant( &quot;galhada&quot; )
-        &lt;/pre&gt;
-
-
-        E, consequentemente, cada objeto tem uma classe atr&#225;s da cortina.
-
-
-        &lt;pre&gt;
-         print 5.class                         # imprime 'Integer'
-         print 'desejando uma galhada'.class   # imprime 'String'
-         print FazedorPedidos.new.class        # imprime 'FazedorPedidos'
-        &lt;/pre&gt;
-
-
-        Dr. Cham nunca viu o fazendor de pedidos enquanto desbravava a paisagem.
-        It lay far beyond his landing in the valley of Sedna.  Down sheer cliffs
-        stuffed with layers of thicket, where you might toss your wish (written
-        on a small 1&quot; x 6&quot; slip), down into the gaping void.  Hopefully it will
-        land on a lizard's back, sticking to its spindly little horn.
-
-
-        E digamos que seu pedido chegue l&#225;.  Well, then, _down the twisted wood_ goes
-        the skinny salamander, scurrying through the decaying churches which had been
-        *pushed* over that steep canyon ledge once and for all.  And the expired priest inside, _who
-        weathered the fall_ as well, will kill the little amphibian -- strangle it
-        to death with a blessed gold chain -- and save it for the annual _Getting To
-        Know You_ breakfast.  He'll step on your precious little wish and, when the
-        *thieves come*, that slip will still be there, stuck on his sole.  Of course,
-        the thieves' *preferred method of torture* is to cut a priest in thin deli-shaved slices _from
-        top to bottom_.  Who can cull evidence from that?  And when they chop that last thin
-        slice of shoe sole, they'll have that *rubber scalp* in hand for _good luck_ and _good times_.
-        But they *canoe* much too hard, these thieves.  They slap their paddles swiftly in the current
-        to get that great _outboard motor mist_ going.  But the shoe sole is _on a weak chain_, tied
-        to one man s belt.  And a *hairy old carp* _leaps, latches_ on to that minute fraction of
-        footwear.  And the thieves _can try_, but they don't see _underwater_.  If they could, they'd
-        see that *mighty cable*, packed with millions of _needly_ fiber optics.  Indeed, *that fish is
-        a peripheral plugged* right into the _core workings_ of the planet Endertromb.  *All it takes
-        is one swallow* from that fish *and your wish is home free!*
-
-
-        E &#233; assim que os pedidos das crian&#231;as se realizam neste lugar.
-
-
-        Depois que o instrutor de &#243;rg&#227;o da minha filha ter desenhado a classe para o fazendor de pedidos, 
-        ele continuou com uma classe para o leito de mentes do planeta.
-
-
-        &lt;pre&gt;
-         require 'endertromb'
-         class LeitorMental
-           def initialize
-             @mentes = Endertromb::procurar_por_consciencia
-           end
-           def read
-             @mentes.collect do |mente|
-                mente.read
-             end
-           end
-         end
-        &lt;/pre&gt;
-
-
-        Como voc&#234; j&#225; viu antes, o @initalize@ acontece quando um novo (new) objeto @LeitorMental@ &#233; criado.
-        Este @initialize@ gathers scans the planet for mindshare.  Parece que as mentes
-        est&#227;o guardadas em um array, j&#225; que h&#225; uma itera&#231;&#227;o nelas no final usando o m&#233;todo @collect.@
-
-
-        Ambos o fazedor de pedidos e o leitor mental referem-se a uma classe chamada @Endertromb@.  Esta classe est&#225;
-        guardada em um arquivo @endertromb.rb@, que &#233; carregado com o c&#243;digo: @require 'endertromb'@.
-        Voc&#234; vai, muitas vezes, usar outras classes para realizar parte da sua tarefa.  Most of the latter half of this
-        book will explore the a grande variedade de classes &#250;teis que podem ser carregadas no Ruby.
-
-
-        h3. Dr. Cham Arrisca Entrar
-
-
-        Mas assim que o Dr. Cham se aproximava do castelo, although the planet was aware of his thoughts, sensing his
-        wonderment and anticipation, all Dr. Cham felt was deadness.  He tromped up the steps of its
-        open gate and through the entrance of the most beautiful architecture and was almost certain it
-        was deserted.
-
-
-        For a while he knocked.  Which paid off.
-
-
-        !i/castle-1.jpg(Blocky whale greeting.)!
-
-
-        He watched the baby whale rise like a determined balloon.  He marvelled at his first alien introduction
-        and felt some concern that it had passed so quickly.  Well, he would wait inside.
-
-
-        Assim que ele entrou pela porta do castelo, se sentiu com sorte pela porta n&#227;o ter sido atendida por 
-        uma &#225;guia gigante com garras afiadas, &#225;vida pra brincar.  Ou um cabe&#231;a de rato gigante.  Ou at&#233; mesmo um
-        furac&#227;o Or even a man-sized hurricane.  Somente uma pequena baleia rechonchuda choo-choo.
-
-
-        &quot;Not a place to sit down in this castle,&quot; he said.
-
-
-        &#192; primeira vista, ele pensou ter entrado em um sagu&#227;o escuro, mas assim que seus olhos se ajustaram, ele viu
-        que a entrada se extendia em um t&#250;nel.  A porta do castelo seu abriu bem em uma passagem feita de peda&#231;os 
-        longos, e planos de rocha.  Algumas partes eram congruentes e lembravam um corredor.  Outras partes 
-        eram estreitas, e at&#233; se inclinadas, o fim sumia de vista.
-
-
-        A passagem era iluminada por pequenas geladeiras sem portas, big enough to hold an armful of cabbage, 
-        down by his feet.  He peered inside one, which was hollow, illuminated along all sides, and
-        turning out ice shards methodically.
-
-
-        He pawed the ice chips, which clung dryly to his fingertips, and he scrubbed his hands in the
-        ice.  Which left some muddy streaks on his hands, mas satisfez um pouco sua saudade de um banho.
-        Quanto tempo j&#225; fazia?  Dez anos?  Trinta?
-
-
-        Pela passagem, longos tubos de tecido lotavam algumas se&#231;&#245;es.  Mais tarde, mat&#233;ria brilhante feita de pixels em
-        vertedouros de porcelana e baldes.
-
-
-        Ele caiu em uma sala que havia sido escavada ao lado do t&#250;nel e nela haviam alguns cascos de tartaruga vazios
-        no ch&#227;o e uma grande parede iluminada.  He examinou a sala, perplexo.  O que seria isso?
-        Por um instante, ele pensou em sentar em um casco.  Isto poderia ser a entrada finalmente, algum
-        tipo de receiving room.  Por outro lado, aranhas poderiam sair dos buracos dos cascos quando ele sentasse.
-        Ele seguiu viagem.
-
-        
-        h3. Refei&#231;&#227;o no Bolso do Castelo
-
-
-        As he journeyed along the passageways (for the central tunnel forked and joined larger, vacuous caverns), he picked up
-        themes in some locations.  Groups of rooms infested with pumping machinery.  Cloth and vats of glue
-        dominated another area.  He followed voices down a plush, pillowed cavity, which led him to a
-        dead end: a curved wall with a small room carved at eye-level.
-
-
-        Ele se aproximou da parede e, dentro do buraco quadrado, estavam dois porcos-da-terra comendendo &#224; mesa.
-
-
-        Eles o encaram serenamente, ambos degustando um pouco de besouros escavados, que davam dois deles, abertos ao meio 
-        e parados com as costas na mesa.
-
-
-        &quot;Ol&#225;, bonequinhos,&quot; ele disse, e eles terminaram suas mordidas e ficaram olhando com seus garfos
-        held aloof.
-
-
-        &quot;Eu queria que minha sobrinha Hannah estive aqui para conhec&#234;-los,&quot; disse ele aos atenciosos porcos-da-terra.
-        &quot;She'd think you were an intricate puppet show.&quot;  He peered in at the dining area, shelves with sets of
-        plates, hand towels.  Half of a tiny rabbit was jutting out from the top a machine,
-        creamy red noodles were spilling out underneath it.  A door at the back of the room hung ajar.  Dr. Cham could
-        see a flickering room with chairs and whirring motors through the door.
-
-
-        &quot;Toda crian&#231;a gostaria desta casa de bonecas,&quot; ele disse.  &quot;Hannah, minha sobrinha, como mencionei, she has
-        a wind-up doll that sits at a spindle and spins yarn.  It's an illusion, of course.  
-        The doll produces no yarn at all.&quot;
-
-
-        Um dos porcos-da-terra abriu um al&#231;ap&#227;o no ch&#227;o e pressionou um bot&#227;o ali, que se iluminou.
-        Ent&#227;o, um pequeno projetor de filme veio lentamente em rod.  O outro porco-da-terra sentou e olhou o Dr. Cham.
-       
-
-        &quot;But Hannah still reaches down into the dollhouse and collects all the imaginary yarn into a
-        bundle.  Which she takes to her mother, my sister, who is very good at humoring Hannah.
-        Ela costura um vestido no tamanho da boneca, o qual Hannah leva at&#233; a boneca.
-
-
-        &quot;E ela diz &#224; boneca,
-        'Aqui, olhe, seu trabalho duro e perseveran&#231;a resultaram neste lindo vestido.
-        Agora voc&#234; pode aceitar o convite e acompanhar o Chefe de Pol&#237;cia hoje &#224; noite na Mans&#227;o
-        do Governador.'  E ela tem uma boneca vestida de pocial que faz o papel do Chefe. 
-        Ele &#233; muito raqu&#237;tico pra ser o Chefe de verdade, isso precisaria de um bom peda&#231;o de pl&#225;stico.&quot;
-
-
-        O porco-da-terra respons&#225;vel pelo projetor o carregou com um rolo e o mirou na parede do
-        fundo.  O filme come&#231;ou e os porcos-da-terra se sentaram.  Um quadrado verde apareceu na
-        parede.  O atencioso porco-da-terra encarou o Dr. Cham parado.
-
-
-        &quot;Seus filmes s&#227;o coloridos,&quot; disse o Dr. Cham.  &quot;What a lovely, little life.&quot;
-
-
-        O filme exibido foi: um quadrado azul.  A&#237;, um c&#237;rculo vermelho.  A&#237;, um quadrado laranja.  Os atenciosos
-        porcos-da-terra se viraram, assistiram a tela virar um tri&#226;ngulo rosa, e ambos porcos-da-terra voltaram a comer.
-
-
-        Uma estrela roxa.  Um quadrado vermelho.  With quietness settling, Dr. Cham could hear notes droning
-        from the projector.  Like a slow, plodding music box trying to roll its gears along the train
-        tracks.
-
-
-        &quot;Sim, aproveitem o jantar,&quot; disse o Dr. Cham e educadamente se virou, marchando
-        de volta no caminho que ele tomara.
-
-
-        h3. Outra Rua Sem Sa&#237;da Onde as Coisas Come&#231;am
-
-
-        Ele se encontrou perdido nos t&#250;neis do castelo.  Nada parecia familiar.  Todavia, ele n&#227;o estava muito preocupado.
-        Ele estava noutro planeta.  Ele estava perdido de qualquer maneira.
-
-
-        Ele se contorceu pelos t&#250;neis, tentando lembrar o caminho, mas muito mais interessado
-        em explorar para lembrar seus passos.  Ele seguiu um &#250;nico t&#250;nel profundamente, descendo, descendo,
-        ficou t&#227;o inclinado que ele tinha que pular entre as beiradas e cuidadosamente achar apoio para os p&#233;s.
-        A gravidade aqui n&#227;o parecia ser diferente da Terra.  Ele escorregava com a mesma facilidade.
-
-
-        Mesmo sem ter absolutamente nenhuma maneira de saber onde ele estava, ele tinha certeza de ter sa&#237;do
-        dos limites do castelo.  Esta profundidade, este tanto de caminhada.  J&#225; fazia uma hora desde que ele
-        adentrara a porta.  E, as the tunnel wound back up, he was sure that he would
-        emerge into a new dwelling, perhaps even a manhole which he could peek out from and see
-        the castle.  Talvez ele n&#227;o devesse ter ido t&#227;o longe nessa rota.  Ele espera que nada esteja
-        hibernando aqui emabaixo.
-
-
-        O t&#250;nel chegou ao fim.   Um escuro, fim sem sa&#237;da.
-
-
-        !i/dr.cham-4.gif(No fim dos t&#250;neis: um computador e um livro.)!
-
-
-        Ele tinha tempo.  Ent&#227;o ele leu o livro.  Ele leu sobre os raposos e sua persegui&#231;&#227;o ao porco-espinho que roubou
-        a caminhonete deles.  Ele leu sobre o elfo e o presunto.  Ele He saw the pictographs of himself and found he
-        could really relate to his own struggles.  Ele at&#233; aprendeu Ruby.  Ele viu como isso tudo termina.
-
-
-        Eu n&#227;o teria est&#244;mago pra isso, no lugar dele.  Mas ele teve.  And he pledged in his bosom to see
-        things out just as they happened.
-
-
-        No monitor do computador, o Dr. Cham viu o prompt do @irb@ piscando.  Assim como o Dr. Cham, voc&#234; deve
-        reconhecer o prompt do @irb@ prompt do &quot;A Roupa Do Tigre&quot;:expansion-pak-1.html
-        (o primeiro pacote de expans&#227;o deste livro, que inclui uma introdu&#231;&#227;o b&#225;sica ao IRB - Interactive Ruby.)
-
-
-        Assim como ele acabou de explorar os t&#250;neis a p&#233;, agora ele explora as configura&#231;&#245;es da m&#225;quina com
-        a prompt.  Ele colocou o livro onde o encontrou.  Ele n&#227;o precisava mais dele.  This was
-        all going to happen whether he used it or not.
-
-
-        Ele come&#231;ou com:
-
-
-        &lt;pre&gt;
-         irb&gt; Object::constants
-           =&gt; [&quot;Marshal&quot;, &quot;String&quot;, &quot;Dir&quot;, &quot;LoadError&quot;, &quot;Float&quot;, ... e por a&#237; vai ]
-        &lt;/pre&gt;
-
-
-        Este comando lista as constantes de n&#237;vel mais alto.  Classes s&#227;o listadas como constantes tamb&#233;m, 
-        ent&#227;o esta lista &#233; &#243;tima pra ver o que est&#225; carregado no ruby a qualquer momento.
-
-
-        Ele examinou a lista procurando algo n&#227;o familiar.  Qualquer classe que n&#227;o vem com o Ruby.
-        @Marshal@, @String@, @Dir@, @LoadError@, @Float@.  Cada uma dessas v&#234;m com o Ruby.
-
-
-        Mas um pouco pra baixo na lista:
-
-
-        &lt;pre&gt;
-         ... &quot;Struct&quot;, &quot;Values&quot;, &quot;Time&quot;, &quot;Elevador&quot;, &quot;Range&quot; ...
-        &lt;/pre&gt;
-        
-
-        _Elevador?_  Exatamente o tipo de classe a se bisbilhotar.  He had a go.
-
-
-        &lt;pre&gt;
-         irb&gt; Elevador::methods
-           =&gt; [&quot;method&quot;, &quot;freeze&quot;, &quot;allocate&quot;, ... outra lista grande ... ]
-         irb&gt; Elevador::class_variables
-           =&gt; ['@@relatorio_diagnostico', '@@circuito_eletrico_ativo', '@@senha_manutencao']
-         irb&gt; Elevador::constants
-           =&gt; []
-        &lt;/pre&gt;
-
-
-        Parece que a classe @Elevator@ tem um monte de m&#233;todos.  A maioria deles parece
-        ser os mesmo m&#233;todos que todo objeto tem no Ruby.  Por exemplo,
-        @method@, @freeze@ e @allocate@ v&#234;m com toda classe no Ruby.  (@Elevador::freeze@
-        n&#227;o deixaria que a classe @Elevator@ seja alterada.  @Elevador::allocate@ criaria
-        um novo objeto @Elevator@ sem chamar o m&#233;todo @initialize.@)
-
-
-        As @class_variables@ foram interessantes pro Dr. Cham.  Este elevador parece genu&#237;no.
-        Mas sem @constantes@ dispon&#237;veis.  Isso nos diz que n&#227;o h&#225; classes aninhadas dentro
-        da classe @Elevator.@
-
-
-        Ele tentou criar um objeto @Elevator.@
-
-
-        &lt;pre&gt;
-         irb&gt; e = Elevador::new
-         ArgumentError: wrong number of arguments (0 for 1), requires a password
-                 from (irb):2:in `initialize'
-                 from (irb):2:in `new'
-                 from (irb):2
-                 from :0
-        &lt;/pre&gt;
-
-
-        Ele tentou algumas senhas.
-
- 
-        &lt;pre&gt;
-         irb&gt; e = Elevador::new( &quot;pra cima&quot; )
-         AccessDeniedError: bad password
-         irb&gt; e = Elevador::new( &quot;subindo&quot; )
-         AccessDeniedError: bad password
-         irb&gt; e = Elevador::new( &quot;escadas_sao_terriveis&quot; )
-         AccessDeniedError: bad password
-         irb&gt; e = Elevador::new( &quot;EscadasSaoTerriveis&quot; )
-         AccessDeniedError: bad password
-        &lt;/pre&gt;
-
-
-        Aqui foi in&#250;til.  _Oh, espere!_  A senha de manuten&#231;&#227;o.  Listada nas @class_variables@.
-
-
-        &lt;pre&gt;
-         irb&gt; Elevador::senha_manutencao
-         NoMethodError: undefined method `senha_manutencao' for Elevador:Class
-                 from (irb):1
-                 from :0
-        &lt;/pre&gt;
-
-
-        Hmm.  Vari&#225;veis de int&#226;ncia s&#243; est&#227;o dispon&#237;veis dentro de um objeto.  E vari&#225;veis de classe s&#243; est&#227;o
-        dispon&#237;veis dentro de uma classe.  Como conseguir aquela senha?
-
-
-        &lt;pre&gt;
-         irb&gt; class Elevator
-         irb&gt;   def Elevador.senha_manutencao
-         irb&gt;     @@senha_manutencao
-         irb&gt;   end
-         irb&gt; end
-           =&gt; nil
-         irb&gt; Elevador::senha_manutencao
-           =&gt; &quot;escadas_sao_passado!&quot;
-        &lt;/pre&gt;
- 
-
-        Agora sim!  Conseguimos a senha.  Voc&#234; viu aquilo?
-
-
-        Ele adicionou um m&#233;todo de classe &#224; classe @Elevator.@  N&#227;o &#233; &#243;timo como voc&#234; pode come&#231;ar a definir
-        uma nova classe @Elevador@ e o Ruby simplesmente adiciona susas modifica&#231;&#245;es na defini&#231;&#227;o de classe j&#225; existente?
-
-
-        M&#233;todos de classe s&#227;o geralmente chamadaos com os *dois pontos duplos*.  Mas, um ponto tamb&#233;m serve.
-        J&#225; que @Elevador@ &#233; uma classe por si s&#243;, Ruby vai entender que se voc&#234; chama @Elevador.senha_manutencao@,
-        voc&#234; est&#225; chamando um m&#233;todo de classe.  Os dois pontos duplo simplesmente ajudam a tornar m&#233;todos de classe &#243;bvios
-        para o leitor.
-
-
-        And justly so.  M&#233;todos de classe s&#227;o um pouco comuns.  Normalmente voc&#234; n&#227;o quer guardar informa&#231;&#227;o
-        diretamente dentro de uma classe.  Contudo, se voc&#234; tem um peda&#231;o de informa&#231;&#227;o que voc&#234; precisa
-        compartilhar com todos os objetos de uma classe, ento voc&#234; tem um bom motivo pra usar a classe como armazenamento.
-        &#201; compreens&#237;vel que a @@@senha_manutencao@ tenha sido armazenada na classe, inv&#233;s de
-        cada objeto separado.  Deste modo, O objeto pode simplismente alcan&#231;ar a classe e ver a senha
-        compartilhada.
-
-
-        Provavelmente &#233; assim que a prote&#231;&#227;o por senha funciona.
-
-
-        &lt;pre&gt;
-         class Elevador
-           def initialize( senha )
-             raise AccessDeniedError, &quot;senha incorreta&quot; \
-               unless senha.equals? @@senha_manutencao
-           end
-         end
-        &lt;/pre&gt;
-
-
-        Proteger uma classe assim n&#227;o faz sentido, j&#225; que tudo no Ruby pode ser alterado e 
-        reescrito e remoldado.  O Dr. Cham tinha a senha e agora o elevador era dele.
-
-
-        &lt;pre&gt;
-         irb&gt; e = Elevador.new( &quot;escadas_sao_passado!&quot; )
-         #&lt;Elevador:0x81f12f4 @level=4&gt;
-         irb&gt; e.andar = 1
-        &lt;/pre&gt;
-
-
-        Dr. Cham estava parado l&#225; quando as portas do elevador, atr&#225;s do terminal do computador,
-        se abriram pra ele.  With an exasperated sense of accomplishment and a good deal of excitement
-        surrounding all of the events that lie ahead, ele entrou no elevador e apertou o 4.
-
-
+    - Um Castelo Tem Seus Computadores: &gt;
+
+        !i/dr.cham-3.jpg(The panoramic vales of Sedna on Endertromb.)!
+
+
+        Nosso intr&#233;pido Doutor partiu para o castelo alien&#237;gena, lan&#231;ando-se sobre as flores.  The ground belted
+        past his heels.  The castle inched up the horizon.  Ele gostaria de um cavalo, mas nenhum cavalo
+        apareceu.  E foi assim que ele descobriu que o planeta n&#227;o leria sua mente e n&#227;o responderia seus
+        pedidos.
+
+
+        Por&#233;m, como o instrutor de &#243;rg&#227;o da minha filha havia me explicado, o planeta *podia ler mentes* e *podia
+        realizar desejos*.  S&#243; que n&#227;o os dois ao mesmo tempo.
+
+
+        Um dia questionando o maestro de &#243;rg&#227;o, ele rascunhou o seguinte c&#243;digo Ruby numa folha
+        de papel cor-de-queijo.  (E cheiros estranhos de queijo est&#227;o vindo de algum lugar,
+        eu n&#227;o posso dizer onde.)
+
+
+        &lt;pre&gt;
+         require 'endertromb'
+         class FazedorPedidos
+           def initialize
+             @energia = rand( 6 )
+           end
+           def realize( pedido )
+             if pedido.length &gt; 10 or pedido.include? ' '
+               raise ArgumentError, &quot;Pedido ruim.&quot;
+             end
+             if @energia.zero?
+               raise Exception, &quot;Sem energia.&quot;
+             end
+             @energia -= 1
+             Endertromb::realize( pedido )
+           end
+         end
+        &lt;/pre&gt;
+
+
+        Este &#233; o fazedor de pedidos.  
+
+
+        Na verdade, n&#227;o, esta &#233; a *defini&#231;&#227;o de um fazedor de pedidos.*  Para o Ruby, &#233; uma *defini&#231;&#227;o de classe*.
+        O c&#243;digo descreve como um certo *objeto* vai funcionar.
+
+
+        Cada manh&#227;, o fazedor de pedidos arts out with up to five wishes available for granting.
+        Um novo @FazedorPedidos@ &#233; criado quando o sol levanta.
+
+
+        &lt;pre&gt;
+         pedidos_do_dia = FazedorPedidos.new
+        &lt;/pre&gt;
+
+
+        O m&#233;todo @new@ &#233; um m&#233;todo de classe que um novo, objeto em branco.  Ele tamb&#233;m o chama o m&#233;todo
+        @initialize@ do objeto automaticamente.  Na defini&#231;&#227;o do @FazedorPedidos,@ voc&#234; vai ver o m&#233;todo
+        @initialize@, que cont&#233;m uma &#250;nica linha de c&#243;digo: @@energia = rand( 6 )@.
+
+
+        O @rand( 6 )@ sorteia um n&#250;mero entre 0 e 5.  Este n&#250;mero vai representar quantos pedidos
+        ainda restam no dia.  Ent&#227;o, occasionalmente n&#227;o haver&#227;o pedidos dispon&#237;veis do fazedor de
+        pedidos.
+
+
+        O n&#250;mero aleat&#243;rio &#233; dado &#224; uma *vari&#225;vel de inst&#226;ncia* de nome @@energia@.
+        Esta vari&#225;vel inst&#226;ncia vai estar dispon&#237;vel a qualquer por entre a classe.  A vari&#225;vel
+        n&#227;o pode ser usada fora do *escopo* da classe.
+
+
+        No cap&#237;tulo tr&#234;s, demos uma breve olhada em vari&#225;veis de inst&#226;ncia e decidimos respeit&#225;-las
+        como *atributos*.  (O s&#237;mbolo *arroba* poderia significar *atributo*.)  Vari&#225;veis de inst&#226;ncia podem
+        ser usadas para guardar qualquer tipo de informa&#231;&#227;o, mas elas s&#227;o mais usadas para se guardar peda&#231;os
+        de informa&#231;&#227;o sobre o objeto representado pela classe.
+
+
+        No caso acima, cada fazendor de pedidos para o dia tem seu pr&#243;prio n&#237;vel de energia.  Se o fazendor de pedidos
+        fosse uma m&#225;quina, voc&#234; talvez veria um medidor nele que marca a energia restante.
+        A vari&#225;vel de inst&#226;ncia @@energia@ age como esse medidor.
+
+
+        &lt;pre&gt;
+         pedidos_do_dia = FazedorPedidos.new
+         pedidos_do_dia.realize( &quot;galhada&quot; )
+        &lt;/pre&gt;
+
+
+        Okay, volte um pouco e tenha certeza de entender o exemplo aqui.  A classe @FazedorPedidos@ &#233; a planta
+        que elaboramos para como toda a m&#225;gica dos pedidos funciona.  N&#227;o &#233; o _realmente_ o g&#234;nio na l&#226;mpada,
+        &#233; a papelada por tr&#225;s das cenas.  S&#227;o as regras e obriga&#231;&#245;es em que o g&#234;nio vive.
+
+
+        O @pedidos_do_dia@ &#233; o g&#234;nio da l&#226;mpada.  E aqui estamos dando um pedido pra a ser realizado.
+        Nos d&#234; uma galhada, g&#234;nio.  (Se voc&#234; realmente arranjar uma galhada neste exemplo, eu nem quero saber.
+        V&#225; saltitar em campinas verdes com seus amigos.)
+
+
+        No cap&#237;tulo anterior, o treinamento era: Ruby tem duas metades.
+
+
+        # Definindo coisas.
+
+        # Colocando estas coisas em a&#231;&#227;o.
+
+
+        O que s&#227;o as a&#231;&#245;es no Ruby?  M&#233;todos.  E agora, voc&#234; est&#225; provando a linguagem de defini&#231;&#227;o
+        interna do Ruby.  Defini&#231;&#245;es de m&#233;todos usando @def@.  Defini&#231;&#245;es de classe usando @class@.
+
+
+        Neste ponto da sua instru&#231;&#227;o, &#233; mais f&#225;cil entender que *tudo no Ruby &#233; um objeto.*
+
+
+        &lt;pre&gt;
+         numero = 5
+         print numero.next                 # imprime '6'
+
+         frase = 'desejando uma galhada'
+         print frase.length                # imprime '19'
+
+         pedidos_do_dia = FazedorPedidos.new
+         pedidos_do_dia.grant( &quot;galhada&quot; )
+        &lt;/pre&gt;
+
+
+        E, consequentemente, cada objeto tem uma classe atr&#225;s da cortina.
+
+
+        &lt;pre&gt;
+         print 5.class                         # imprime 'Integer'
+         print 'desejando uma galhada'.class   # imprime 'String'
+         print FazedorPedidos.new.class        # imprime 'FazedorPedidos'
+        &lt;/pre&gt;
+
+
+        Dr. Cham nunca viu o fazendor de pedidos enquanto desbravava a paisagem.
+        It lay far beyond his landing in the valley of Sedna.  Down sheer cliffs
+        stuffed with layers of thicket, where you might toss your wish (written
+        on a small 1&quot; x 6&quot; slip), down into the gaping void.  Hopefully it will
+        land on a lizard's back, sticking to its spindly little horn.
+
+
+        E digamos que seu pedido chegue l&#225;.  Well, then, _down the twisted wood_ goes
+        the skinny salamander, scurrying through the decaying churches which had been
+        *pushed* over that steep canyon ledge once and for all.  And the expired priest inside, _who
+        weathered the fall_ as well, will kill the little amphibian -- strangle it
+        to death with a blessed gold chain -- and save it for the annual _Getting To
+        Know You_ breakfast.  He'll step on your precious little wish and, when the
+        *thieves come*, that slip will still be there, stuck on his sole.  Of course,
+        the thieves' *preferred method of torture* is to cut a priest in thin deli-shaved slices _from
+        top to bottom_.  Who can cull evidence from that?  And when they chop that last thin
+        slice of shoe sole, they'll have that *rubber scalp* in hand for _good luck_ and _good times_.
+        But they *canoe* much too hard, these thieves.  They slap their paddles swiftly in the current
+        to get that great _outboard motor mist_ going.  But the shoe sole is _on a weak chain_, tied
+        to one man s belt.  And a *hairy old carp* _leaps, latches_ on to that minute fraction of
+        footwear.  And the thieves _can try_, but they don't see _underwater_.  If they could, they'd
+        see that *mighty cable*, packed with millions of _needly_ fiber optics.  Indeed, *that fish is
+        a peripheral plugged* right into the _core workings_ of the planet Endertromb.  *All it takes
+        is one swallow* from that fish *and your wish is home free!*
+
+
+        E &#233; assim que os pedidos das crian&#231;as se realizam neste lugar.
+
+
+        Depois que o instrutor de &#243;rg&#227;o da minha filha ter desenhado a classe para o fazendor de pedidos, 
+        ele continuou com uma classe para o leito de mentes do planeta.
+
+
+        &lt;pre&gt;
+         require 'endertromb'
+         class LeitorMental
+           def initialize
+             @mentes = Endertromb::procurar_por_consciencia
+           end
+           def read
+             @mentes.collect do |mente|
+                mente.read
+             end
+           end
+         end
+        &lt;/pre&gt;
+
+
+        Como voc&#234; j&#225; viu antes, o @initalize@ acontece quando um novo (new) objeto @LeitorMental@ &#233; criado.
+        Este @initialize@ gathers scans the planet for mindshare.  Parece que as mentes
+        est&#227;o guardadas em um array, j&#225; que h&#225; uma itera&#231;&#227;o nelas no final usando o m&#233;todo @collect.@
+
+
+        Ambos o fazedor de pedidos e o leitor mental referem-se a uma classe chamada @Endertromb@.  Esta classe est&#225;
+        guardada em um arquivo @endertromb.rb@, que &#233; carregado com o c&#243;digo: @require 'endertromb'@.
+        Voc&#234; vai, muitas vezes, usar outras classes para realizar parte da sua tarefa.  Most of the latter half of this
+        book will explore the a grande variedade de classes &#250;teis que podem ser carregadas no Ruby.
+
+
+        h3. Dr. Cham Arrisca Entrar
+
+
+        Mas assim que o Dr. Cham se aproximava do castelo, although the planet was aware of his thoughts, sensing his
+        wonderment and anticipation, all Dr. Cham felt was deadness.  He tromped up the steps of its
+        open gate and through the entrance of the most beautiful architecture and was almost certain it
+        was deserted.
+
+
+        For a while he knocked.  Which paid off.
+
+
+        !i/castle-1.jpg(Blocky whale greeting.)!
+
+
+        He watched the baby whale rise like a determined balloon.  He marvelled at his first alien introduction
+        and felt some concern that it had passed so quickly.  Well, he would wait inside.
+
+
+        Assim que ele entrou pela porta do castelo, se sentiu com sorte pela porta n&#227;o ter sido atendida por 
+        uma &#225;guia gigante com garras afiadas, &#225;vida pra brincar.  Ou um cabe&#231;a de rato gigante.  Ou at&#233; mesmo um
+        furac&#227;o Or even a man-sized hurricane.  Somente uma pequena baleia rechonchuda choo-choo.
+
+
+        &quot;Not a place to sit down in this castle,&quot; he said.
+
+
+        &#192; primeira vista, ele pensou ter entrado em um sagu&#227;o escuro, mas assim que seus olhos se ajustaram, ele viu
+        que a entrada se extendia em um t&#250;nel.  A porta do castelo seu abriu bem em uma passagem feita de peda&#231;os 
+        longos, e planos de rocha.  Algumas partes eram congruentes e lembravam um corredor.  Outras partes 
+        eram estreitas, e at&#233; se inclinadas, o fim sumia de vista.
+
+
+        A passagem era iluminada por pequenas geladeiras sem portas, big enough to hold an armful of cabbage, 
+        down by his feet.  He peered inside one, which was hollow, illuminated along all sides, and
+        turning out ice shards methodically.
+
+
+        He pawed the ice chips, which clung dryly to his fingertips, and he scrubbed his hands in the
+        ice.  Which left some muddy streaks on his hands, mas satisfez um pouco sua saudade de um banho.
+        Quanto tempo j&#225; fazia?  Dez anos?  Trinta?
+
+
+        Pela passagem, longos tubos de tecido lotavam algumas se&#231;&#245;es.  Mais tarde, mat&#233;ria brilhante feita de pixels em
+        vertedouros de porcelana e baldes.
+
+
+        Ele caiu em uma sala que havia sido escavada ao lado do t&#250;nel e nela haviam alguns cascos de tartaruga vazios
+        no ch&#227;o e uma grande parede iluminada.  He examinou a sala, perplexo.  O que seria isso?
+        Por um instante, ele pensou em sentar em um casco.  Isto poderia ser a entrada finalmente, algum
+        tipo de receiving room.  Por outro lado, aranhas poderiam sair dos buracos dos cascos quando ele sentasse.
+        Ele seguiu viagem.
+
+        
+        h3. Refei&#231;&#227;o no Bolso do Castelo
+
+
+        As he journeyed along the passageways (for the central tunnel forked and joined larger, vacuous caverns), he picked up
+        themes in some locations.  Groups of rooms infested with pumping machinery.  Cloth and vats of glue
+        dominated another area.  He followed voices down a plush, pillowed cavity, which led him to a
+        dead end: a curved wall with a small room carved at eye-level.
+
+
+        Ele se aproximou da parede e, dentro do buraco quadrado, estavam dois porcos-da-terra comendendo &#224; mesa.
+
+
+        Eles o encaram serenamente, ambos degustando um pouco de besouros escavados, que davam dois deles, abertos ao meio 
+        e parados com as costas na mesa.
+
+
+        &quot;Ol&#225;, bonequinhos,&quot; ele disse, e eles terminaram suas mordidas e ficaram olhando com seus garfos
+        held aloof.
+
+
+        &quot;Eu queria que minha sobrinha Hannah estive aqui para conhec&#234;-los,&quot; disse ele aos atenciosos porcos-da-terra.
+        &quot;She'd think you were an intricate puppet show.&quot;  He peered in at the dining area, shelves with sets of
+        plates, hand towels.  Half of a tiny rabbit was jutting out from the top a machine,
+        creamy red noodles were spilling out underneath it.  A door at the back of the room hung ajar.  Dr. Cham could
+        see a flickering room with chairs and whirring motors through the door.
+
+
+        &quot;Toda crian&#231;a gostaria desta casa de bonecas,&quot; ele disse.  &quot;Hannah, minha sobrinha, como mencionei, she has
+        a wind-up doll that sits at a spindle and spins yarn.  It's an illusion, of course.  
+        The doll produces no yarn at all.&quot;
+
+
+        Um dos porcos-da-terra abriu um al&#231;ap&#227;o no ch&#227;o e pressionou um bot&#227;o ali, que se iluminou.
+        Ent&#227;o, um pequeno projetor de filme veio lentamente em rod.  O outro porco-da-terra sentou e olhou o Dr. Cham.
+       
+
+        &quot;But Hannah still reaches down into the dollhouse and collects all the imaginary yarn into a
+        bundle.  Which she takes to her mother, my sister, who is very good at humoring Hannah.
+        Ela costura um vestido no tamanho da boneca, o qual Hannah leva at&#233; a boneca.
+
+
+        &quot;E ela diz &#224; boneca,
+        'Aqui, olhe, seu trabalho duro e perseveran&#231;a resultaram neste lindo vestido.
+        Agora voc&#234; pode aceitar o convite e acompanhar o Chefe de Pol&#237;cia hoje &#224; noite na Mans&#227;o
+        do Governador.'  E ela tem uma boneca vestida de pocial que faz o papel do Chefe. 
+        Ele &#233; muito raqu&#237;tico pra ser o Chefe de verdade, isso precisaria de um bom peda&#231;o de pl&#225;stico.&quot;
+
+
+        O porco-da-terra respons&#225;vel pelo projetor o carregou com um rolo e o mirou na parede do
+        fundo.  O filme come&#231;ou e os porcos-da-terra se sentaram.  Um quadrado verde apareceu na
+        parede.  O atencioso porco-da-terra encarou o Dr. Cham parado.
+
+
+        &quot;Seus filmes s&#227;o coloridos,&quot; disse o Dr. Cham.  &quot;What a lovely, little life.&quot;
+
+
+        O filme exibido foi: um quadrado azul.  A&#237;, um c&#237;rculo vermelho.  A&#237;, um quadrado laranja.  Os atenciosos
+        porcos-da-terra se viraram, assistiram a tela virar um tri&#226;ngulo rosa, e ambos porcos-da-terra voltaram a comer.
+
+
+        Uma estrela roxa.  Um quadrado vermelho.  With quietness settling, Dr. Cham could hear notes droning
+        from the projector.  Like a slow, plodding music box trying to roll its gears along the train
+        tracks.
+
+
+        &quot;Sim, aproveitem o jantar,&quot; disse o Dr. Cham e educadamente se virou, marchando
+        de volta no caminho que ele tomara.
+
+
+        h3. Outra Rua Sem Sa&#237;da Onde as Coisas Come&#231;am
+
+
+        Ele se encontrou perdido nos t&#250;neis do castelo.  Nada parecia familiar.  Todavia, ele n&#227;o estava muito preocupado.
+        Ele estava noutro planeta.  Ele estava perdido de qualquer maneira.
+
+
+        Ele se contorceu pelos t&#250;neis, tentando lembrar o caminho, mas muito mais interessado
+        em explorar para lembrar seus passos.  Ele seguiu um &#250;nico t&#250;nel profundamente, descendo, descendo,
+        ficou t&#227;o inclinado que ele tinha que pular entre as beiradas e cuidadosamente achar apoio para os p&#233;s.
+        A gravidade aqui n&#227;o parecia ser diferente da Terra.  Ele escorregava com a mesma facilidade.
+
+
+        Mesmo sem ter absolutamente nenhuma maneira de saber onde ele estava, ele tinha certeza de ter sa&#237;do
+        dos limites do castelo.  Esta profundidade, este tanto de caminhada.  J&#225; fazia uma hora desde que ele
+        adentrara a porta.  E, as the tunnel wound back up, he was sure that he would
+        emerge into a new dwelling, perhaps even a manhole which he could peek out from and see
+        the castle.  Talvez ele n&#227;o devesse ter ido t&#227;o longe nessa rota.  Ele espera que nada esteja
+        hibernando aqui emabaixo.
+
+
+        O t&#250;nel chegou ao fim.   Um escuro, fim sem sa&#237;da.
+
+
+        !i/dr.cham-4.gif(No fim dos t&#250;neis: um computador e um livro.)!
+
+
+        Ele tinha tempo.  Ent&#227;o ele leu o livro.  Ele leu sobre os raposos e sua persegui&#231;&#227;o ao porco-espinho que roubou
+        a caminhonete deles.  Ele leu sobre o elfo e o presunto.  Ele He saw the pictographs of himself and found he
+        could really relate to his own struggles.  Ele at&#233; aprendeu Ruby.  Ele viu como isso tudo termina.
+
+
+        Eu n&#227;o teria est&#244;mago pra isso, no lugar dele.  Mas ele teve.  And he pledged in his bosom to see
+        things out just as they happened.
+
+
+        No monitor do computador, o Dr. Cham viu o prompt do @irb@ piscando.  Assim como o Dr. Cham, voc&#234; deve
+        reconhecer o prompt do @irb@ prompt do &quot;A Roupa Do Tigre&quot;:expansion-pak-1.html
+        (o primeiro pacote de expans&#227;o deste livro, que inclui uma introdu&#231;&#227;o b&#225;sica ao IRB - Interactive Ruby.)
+
+
+        Assim como ele acabou de explorar os t&#250;neis a p&#233;, agora ele explora as configura&#231;&#245;es da m&#225;quina com
+        a prompt.  Ele colocou o livro onde o encontrou.  Ele n&#227;o precisava mais dele.  This was
+        all going to happen whether he used it or not.
+
+
+        Ele come&#231;ou com:
+
+
+        &lt;pre&gt;
+         irb&gt; Object::constants
+           =&gt; [&quot;Marshal&quot;, &quot;String&quot;, &quot;Dir&quot;, &quot;LoadError&quot;, &quot;Float&quot;, ... e por a&#237; vai ]
+        &lt;/pre&gt;
+
+
+        Este comando lista as constantes de n&#237;vel mais alto.  Classes s&#227;o listadas como constantes tamb&#233;m, 
+        ent&#227;o esta lista &#233; &#243;tima pra ver o que est&#225; carregado no ruby a qualquer momento.
+
+
+        Ele examinou a lista procurando algo n&#227;o familiar.  Qualquer classe que n&#227;o vem com o Ruby.
+        @Marshal@, @String@, @Dir@, @LoadError@, @Float@.  Cada uma dessas v&#234;m com o Ruby.
+
+
+        Mas um pouco pra baixo na lista:
+
+
+        &lt;pre&gt;
+         ... &quot;Struct&quot;, &quot;Values&quot;, &quot;Time&quot;, &quot;Elevador&quot;, &quot;Range&quot; ...
+        &lt;/pre&gt;
+        
+
+        _Elevador?_  Exatamente o tipo de classe a se bisbilhotar.  He had a go.
+
+
+        &lt;pre&gt;
+         irb&gt; Elevador::methods
+           =&gt; [&quot;method&quot;, &quot;freeze&quot;, &quot;allocate&quot;, ... outra lista grande ... ]
+         irb&gt; Elevador::class_variables
+           =&gt; ['@@relatorio_diagnostico', '@@circuito_eletrico_ativo', '@@senha_manutencao']
+         irb&gt; Elevador::constants
+           =&gt; []
+        &lt;/pre&gt;
+
+
+        Parece que a classe @Elevator@ tem um monte de m&#233;todos.  A maioria deles parece
+        ser os mesmo m&#233;todos que todo objeto tem no Ruby.  Por exemplo,
+        @method@, @freeze@ e @allocate@ v&#234;m com toda classe no Ruby.  (@Elevador::freeze@
+        n&#227;o deixaria que a classe @Elevator@ seja alterada.  @Elevador::allocate@ criaria
+        um novo objeto @Elevator@ sem chamar o m&#233;todo @initialize.@)
+
+
+        As @class_variables@ foram interessantes pro Dr. Cham.  Este elevador parece genu&#237;no.
+        Mas sem @constantes@ dispon&#237;veis.  Isso nos diz que n&#227;o h&#225; classes aninhadas dentro
+        da classe @Elevator.@
+
+
+        Ele tentou criar um objeto @Elevator.@
+
+
+        &lt;pre&gt;
+         irb&gt; e = Elevador::new
+         ArgumentError: wrong number of arguments (0 for 1), requires a password
+                 from (irb):2:in `initialize'
+                 from (irb):2:in `new'
+                 from (irb):2
+                 from :0
+        &lt;/pre&gt;
+
+
+        Ele tentou algumas senhas.
+
+ 
+        &lt;pre&gt;
+         irb&gt; e = Elevador::new( &quot;pra cima&quot; )
+         AccessDeniedError: bad password
+         irb&gt; e = Elevador::new( &quot;subindo&quot; )
+         AccessDeniedError: bad password
+         irb&gt; e = Elevador::new( &quot;escadas_sao_terriveis&quot; )
+         AccessDeniedError: bad password
+         irb&gt; e = Elevador::new( &quot;EscadasSaoTerriveis&quot; )
+         AccessDeniedError: bad password
+        &lt;/pre&gt;
+
+
+        Aqui foi in&#250;til.  _Oh, espere!_  A senha de manuten&#231;&#227;o.  Listada nas @class_variables@.
+
+
+        &lt;pre&gt;
+         irb&gt; Elevador::senha_manutencao
+         NoMethodError: undefined method `senha_manutencao' for Elevador:Class
+                 from (irb):1
+                 from :0
+        &lt;/pre&gt;
+
+
+        Hmm.  Vari&#225;veis de int&#226;ncia s&#243; est&#227;o dispon&#237;veis dentro de um objeto.  E vari&#225;veis de classe s&#243; est&#227;o
+        dispon&#237;veis dentro de uma classe.  Como conseguir aquela senha?
+
+
+        &lt;pre&gt;
+         irb&gt; class Elevator
+         irb&gt;   def Elevador.senha_manutencao
+         irb&gt;     @@senha_manutencao
+         irb&gt;   end
+         irb&gt; end
+           =&gt; nil
+         irb&gt; Elevador::senha_manutencao
+           =&gt; &quot;escadas_sao_passado!&quot;
+        &lt;/pre&gt;
+ 
+
+        Agora sim!  Conseguimos a senha.  Voc&#234; viu aquilo?
+
+
+        Ele adicionou um m&#233;todo de classe &#224; classe @Elevator.@  N&#227;o &#233; &#243;timo como voc&#234; pode come&#231;ar a definir
+        uma nova classe @Elevador@ e o Ruby simplesmente adiciona susas modifica&#231;&#245;es na defini&#231;&#227;o de classe j&#225; existente?
+
+
+        M&#233;todos de classe s&#227;o geralmente chamadaos com os *dois pontos duplos*.  Mas, um ponto tamb&#233;m serve.
+        J&#225; que @Elevador@ &#233; uma classe por si s&#243;, Ruby vai entender que se voc&#234; chama @Elevador.senha_manutencao@,
+        voc&#234; est&#225; chamando um m&#233;todo de classe.  Os dois pontos duplo simplesmente ajudam a tornar m&#233;todos de classe &#243;bvios
+        para o leitor.
+
+
+        And justly so.  M&#233;todos de classe s&#227;o um pouco comuns.  Normalmente voc&#234; n&#227;o quer guardar informa&#231;&#227;o
+        diretamente dentro de uma classe.  Contudo, se voc&#234; tem um peda&#231;o de informa&#231;&#227;o que voc&#234; precisa
+        compartilhar com todos os objetos de uma classe, ento voc&#234; tem um bom motivo pra usar a classe como armazenamento.
+        &#201; compreens&#237;vel que a @@@senha_manutencao@ tenha sido armazenada na classe, inv&#233;s de
+        cada objeto separado.  Deste modo, O objeto pode simplismente alcan&#231;ar a classe e ver a senha
+        compartilhada.
+
+
+        Provavelmente &#233; assim que a prote&#231;&#227;o por senha funciona.
+
+
+        &lt;pre&gt;
+         class Elevador
+           def initialize( senha )
+             raise AccessDeniedError, &quot;senha incorreta&quot; \
+               unless senha.equals? @@senha_manutencao
+           end
+         end
+        &lt;/pre&gt;
+
+
+        Proteger uma classe assim n&#227;o faz sentido, j&#225; que tudo no Ruby pode ser alterado e 
+        reescrito e remoldado.  O Dr. Cham tinha a senha e agora o elevador era dele.
+
+
+        &lt;pre&gt;
+         irb&gt; e = Elevador.new( &quot;escadas_sao_passado!&quot; )
+         #&lt;Elevador:0x81f12f4 @level=4&gt;
+         irb&gt; e.andar = 1
+        &lt;/pre&gt;
+
+
+        Dr. Cham estava parado l&#225; quando as portas do elevador, atr&#225;s do terminal do computador,
+        se abriram pra ele.  With an exasperated sense of accomplishment and a good deal of excitement
+        surrounding all of the events that lie ahead, ele entrou no elevador e apertou o 4.
+
+</diff>
      <filename>lang-pt/poignant-42.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,49 +1,49 @@
-    - !^sidebar
-      Uma noite de voltagem desobstru&#237;da: &gt;
-
-        Eu desenterrei esse artigo do _The Consistent Reminder_, um jornal de Connecticut
-        que deu quatro estrelas na resenha do Dr. Cham.  Midgie Dare, a resenhista do livro
-        que subitamente extendeu seu olhar cr&#237;tico a qualquer coisa tang&#237;vel, elogiou ou Doutor por suas
-        maneiras e inova&#231;&#245;es na mesma edi&#231;&#227;o di&#225;ria em que ela difamou mel&#227;o e diminuiu
-        Manitoba por ter um p&#233;ssimo servi&#231;o telef&#244;nico.
-
-
-        Eu consegui um peda&#231;o do final do artigo dela.  Aqui vai.
-
-
-        bq. Ele desmontou do cavalo com um cuidado inquestion&#225;vel por qualquer um
-        que estivesse nas redondezas.  Cort&#234;s de todos os lados, ele desceu da sela
-        gentilmente, desacelerando para um ritmo que deveria ser medido em micrometros
-        por segundo para ser apreciado.
-
-
-        bq. Seus companheiros entre n&#243;s
-        ficaram de boca aberta, assistindo sua bota tocar o ch&#227;o.
-        Um passo t&#227;o limpo e preciso que parecia que jamais iria encontrar o solo,
-        apenas deslizar suavemente sobre ele.  Ent&#227;o, antes que a aterrissagem
-        fosse notada por n&#243;s, est&#225;vamos indo para a cozinha, levados
-        pela onda de felicidade que sempre estava logo a frente de Harold Cham,
-        e sempre logo atr&#225;s dele, e especialmente concentrada diretamente
-        no seu pr&#243;prio ser iluminado.
-
-
-        bq. Ele tamb&#233;m carregava livremente ao seu lado a filha especialmente ignorante de um
-        estadista, que n&#227;o nos deixava em paz com suas constantes cr&#237;ticas aos ate&#237;stas
-        e rotas ferrovi&#225;rias.
-
-
-        bq. &quot;Em casa, meus esfor&#231;os para acender uma vela foram in&#250;teis gra&#231;as
-        a novos abalos causados por trens, que jogavam o f&#243;sforo na minha m&#227;o para perto das cortinas!&quot;
-        Ela ridicularizou o Dr. Cham por seu agarre suave no bra&#231;o dela 
-        e sentiu ci&#250;mes quando ele conseguiu sintonizar uma voz feminina agrad&#225;vel
-        no r&#225;dio logo que eles voltaram para sua resid&#234;ncia.
-
-
-        bq. O sol se p&#244;s, entretanto, e n&#243;s nos vimos em um deslumbre comunal embaixo de
-        grossas part&#237;culas de algod&#227;o que flutuavam pela sala do piano, um tanto
-        entretidos pelo _Programa Soneca da Tarde_, que tocava na vitrola com o volume
-        t&#227;o baixo na esta&#231;&#227;o que n&#243;s s&#243; consegu&#237;amos ouvir o arrastar das mangas 
-        do finado Napole&#227;o pelos lenc&#243;is.  Eu senti um calafrio dentro de mim s&#243; de pensar!
-        Ainda assim, em cadeiras distantes, os dois amantes mantinham uma dist&#226;ncia abrupta entre eles
-        e eu me senti cercado pelo olhar acalentador do Dr. Cham enquanto bebia jocosamente sua ta&#231;a de xerez.
-
+    - !^sidebar
+      Uma noite de voltagem desobstru&#237;da: &gt;
+
+        Eu desenterrei esse artigo do _The Consistent Reminder_, um jornal de Connecticut
+        que deu quatro estrelas na resenha do Dr. Cham.  Midgie Dare, a resenhista do livro
+        que subitamente extendeu seu olhar cr&#237;tico a qualquer coisa tang&#237;vel, elogiou ou Doutor por suas
+        maneiras e inova&#231;&#245;es na mesma edi&#231;&#227;o di&#225;ria em que ela difamou mel&#227;o e diminuiu
+        Manitoba por ter um p&#233;ssimo servi&#231;o telef&#244;nico.
+
+
+        Eu consegui um peda&#231;o do final do artigo dela.  Aqui vai.
+
+
+        bq. Ele desmontou do cavalo com um cuidado inquestion&#225;vel por qualquer um
+        que estivesse nas redondezas.  Cort&#234;s de todos os lados, ele desceu da sela
+        gentilmente, desacelerando para um ritmo que deveria ser medido em micrometros
+        por segundo para ser apreciado.
+
+
+        bq. Seus companheiros entre n&#243;s
+        ficaram de boca aberta, assistindo sua bota tocar o ch&#227;o.
+        Um passo t&#227;o limpo e preciso que parecia que jamais iria encontrar o solo,
+        apenas deslizar suavemente sobre ele.  Ent&#227;o, antes que a aterrissagem
+        fosse notada por n&#243;s, est&#225;vamos indo para a cozinha, levados
+        pela onda de felicidade que sempre estava logo a frente de Harold Cham,
+        e sempre logo atr&#225;s dele, e especialmente concentrada diretamente
+        no seu pr&#243;prio ser iluminado.
+
+
+        bq. Ele tamb&#233;m carregava livremente ao seu lado a filha especialmente ignorante de um
+        estadista, que n&#227;o nos deixava em paz com suas constantes cr&#237;ticas aos ate&#237;stas
+        e rotas ferrovi&#225;rias.
+
+
+        bq. &quot;Em casa, meus esfor&#231;os para acender uma vela foram in&#250;teis gra&#231;as
+        a novos abalos causados por trens, que jogavam o f&#243;sforo na minha m&#227;o para perto das cortinas!&quot;
+        Ela ridicularizou o Dr. Cham por seu agarre suave no bra&#231;o dela 
+        e sentiu ci&#250;mes quando ele conseguiu sintonizar uma voz feminina agrad&#225;vel
+        no r&#225;dio logo que eles voltaram para sua resid&#234;ncia.
+
+
+        bq. O sol se p&#244;s, entretanto, e n&#243;s nos vimos em um deslumbre comunal embaixo de
+        grossas part&#237;culas de algod&#227;o que flutuavam pela sala do piano, um tanto
+        entretidos pelo _Programa Soneca da Tarde_, que tocava na vitrola com o volume
+        t&#227;o baixo na esta&#231;&#227;o que n&#243;s s&#243; consegu&#237;amos ouvir o arrastar das mangas 
+        do finado Napole&#227;o pelos lenc&#243;is.  Eu senti um calafrio dentro de mim s&#243; de pensar!
+        Ainda assim, em cadeiras distantes, os dois amantes mantinham uma dist&#226;ncia abrupta entre eles
+        e eu me senti cercado pelo olhar acalentador do Dr. Cham enquanto bebia jocosamente sua ta&#231;a de xerez.
+</diff>
      <filename>lang-pt/poignant-43.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,327 +1,327 @@
-    - A Continua&#231;&#227;o da Hist&#243;ria do Instrutor de &#211;rg&#227;o da Minha Filha: &gt;
-
-        Eu sei que voc&#234; pode estar surpreso em saber que eu tenho uma filha.  Voc&#234; pensa que meu estilo
-        de escrita indica uma mente imatura ou infantil.  Bem, por favor relaxe.  Eu n&#227;o tenho uma filha.
-        Mas isso n&#227;o me impede de pensar no treinamento musical dela.
-
-
-        Enquanto essas hist&#243;rias do planeta Endertromb eram relatadas a mim, eu me vi vagando
-        por corredores, passando as pontas dos meus dedos por sof&#225;s fortemente abotoados
-        e me envolvendo nos gritos saturados dos tubos, enquanto o instrutor de &#243;rg&#227;o da minha filha
-        tocava.  Suas notas ressoavam t&#227;o ocas e profundas nas paredes de sua mans&#227;o
-        que eu comecei a confund&#237;-las com um sil&#234;ncio nefasto, e achava ainda mais f&#225;cil
-        me recolher ao espa&#231;o infinito dos meus pensamentos.  Para pensar no planeta ancestral
-        e suas filosofias obscuras: seus templos carnais, corados com os res&#237;duos d&#233;rmicos
-        dos seus m&#225;rtires; seus cart&#233;is de baleias, engolindo seus inimigos e prendendo-os por
-        d&#233;cadas, arrastando-os para cima e para baixo em suas escadarias de costelas; suas brumas venenosas e
-        seus portais dolorosos; e, as cru&#233;is dinastias
-        dos Originais, a esp&#233;cie que clama paternidade de toda vida inteligente no universo.
-
-
-        Mas, eventualmente, eu ouvia aqueles tubos de oitavas mais altas cantar e acabava voltando
-        para a mesma tarde jovial de onde havia sa&#237;do.
-
-
-        &#201; interessante como at&#233; a brisa do nosso planeta &#233; uma coisa um tanto estranha para
-        forasteiros.  Ele tamb&#233;m me contou sobre viajantes de Rath-d, que se aventuraram na Terra
-        cinco s&#233;culos atr&#225;s, mas se dissiparam rapidamente nas nossas correntes de ar j&#225; que eles, seus equipamentos e
-        sua armadura eram todos feitos de carv&#227;o.
-
-
-        Eu tinha me sentado ao &#243;rg&#227;o, ouvindo as hist&#243;rias sobre sua col&#244;nia, enquanto ele acentuava suas
-        sinfonias e as hist&#243;rias desapareciam por um tempo, at&#233; que a melodia terminasse.
-        Ele falava sobre ele e seus irm&#227;os sendo abra&#231;ados pela cauda de sua m&#227;e e arrancando
-        o tecido macio da parede interna.  Um sab&#227;o suculento, esponjoso e melado que limpou
-        suas bocas e es&#244;fagos enquanto descia.  Eles mastigaram fortemente aquilo e espuma se formava.
-        Depois de comer, eles sopraram bolhas uns sobre os outros, cada bolha cheia de uma espuma densa,
-        sobre a qual eles dormiram.  E de manh&#227; bem cedo, quando a m&#227;e os soltava do abra&#231;o, ela observava
-        serenamente enquanto seus beb&#234;s dormiam em um ensopado de bolas de carne escuras e um molho doce e grudento.
-
-        
-        Ele soletrou todos os gostos de Endertromb.  Dos seus &#243;rg&#227;os cor de salm&#227;o engomados, que se tornavam
-        uma pasta quando cozidos, e seus olhos que derretiam e viravam um rico creme.  Das suas manteigocias com tent&#225;culos.
-        E ele estava apenas come&#231;ando a apreciar essas del&#237;cias, ainda crian&#231;a, para ser elevado de um
-        jardim de inf&#226;ncia por um par de elefantes pigmeus que des&#231;eram um enorme guindaste dos c&#233;us, e o ergueram
-        pela gola.
-
-
-        Eles o transplantaram para a Terra, o guiaram em seu of&#237;cio, tompeteando suas trombas alto para a cidade de
-        Grand Rapids ouvir, ent&#227;o se foram, chorando e abra&#231;ando uns aos outros.
-
-
-        &quot;Mas, estranhamente (em-pithy-dah), Eu aprendi, toquei (pon-shoo) nos &#243;rg&#227;os no meu planeta
-        (oth-rea) natal,&quot; ele disse.
-
-
-        O instrutor de &#243;rg&#227;o da minha filha fala essas palavras extras que voc&#234; v&#234; em par&#234;nteses.  Quem &#233;
-        que sabe se &#233; sua l&#237;ngua nativa ou seu solu&#231;o sonoro.  Ele mant&#233;m outro
-        tra&#231;o de Endertromb: ele tem doze nomes.
-
-
-        &quot;N&#227;o, (wen-is-wen),&quot; ele disse.  &quot;Eu tenho um nome (im-apalla) que &#233; dito (iff)
-        de muitas-muitas maneiras difentes.&quot;
-
-
-        Eu o chamo de Paij-ree nas manh&#227;s e Paij-plo de tarde.
-        J&#225; que estou escrevendo de dia, o chamarei de Paij-ree aqui.
-
-
-        h3. Protetores de Ouvido M&#250;rmurio-Free
-
-
-        !&gt;i/my.daughters.organ-1.gif(Alien at the keys.)!
-
-
-        Ent&#227;o eu disse a Paij-ree, &quot;Paij-ree, eu estou escrevendo um livro.  Para ensinar ao mundo Ruby.&quot;
-
-
-        &quot;Oh, (pill-nog-pill-yacht) bacana,&quot; ele disse.  Ele conhece Ruby h&#225; mais tempo que eu, mas mesmo assim:
-        _Eu_ serei o instrutor de Ruby da minha filha.
-
-
-        E eu disse, &quot;Paij-ree, voc&#234; est&#225; no livro.  E as est&#243;rias do seu planeta.&quot;  Eu falo com ele como
-        se ele fosse o E.T.  Eu n&#227;o sei porqu&#234;. Como o que disse em seguida, &quot;E da&#237; talvez algum dia
-        voc&#234; possa ir pra casa pro seu pai e pra sua m&#227;e!&quot;
-
-
-        Ele replicou, &quot;(pon-shoo) (pon-shoo) (em-pithy-dah).&quot;  Que &#233; o jeito dele de expressar em voz alta
-        seu sil&#234;ncio e medo.
-
-
-        Ele queria ver o que eu havia escrito, ent&#227;o eu mostrei a ele este pequeno m&#233;todo que escrevi pra voc&#234;.
-    
-
-        &lt;pre&gt;
-         def limpar_murmurios_de( frase )
-           while frase.include? '('
-             abre = frase.index( '(' )
-             fecha = frase.index( ')', abre )
-             frase[abre..fecha] = '' if fecha
-           end
-         end
-        &lt;/pre&gt;
-
-
-        &quot;Viu o que isto faz, Paij-ree?  Qualquer Smotchkkiss velho pode usar este m&#233;todo
-        pra remover todas as o take all the incoherent babblings out of your speaking,&quot; I said.
-
-
-        E eu alimentei o m&#233;todo com algo que ele havia dito mais cedo.
-
-
-        &lt;pre&gt;
-         o_que_ele_disse = &quot;Mas, estranhamente (em-pithy-dah), 
-         Eu aprendi, toquei (pon-shoo) em &#243;rg&#227;os no meu planeta
-         (oth-rea) natal.&quot;
-         limpar_murmurios_de( o_que_ele_disse )
-         print o_que_ele_disse
-        &lt;/pre&gt;
-
-
-        E saiu de certa forma uma frase mais clara.
-
-
-        &lt;pre&gt;
-        Mas, estranhamente , 
-        Eu aprendi, toquei em &#243;rg&#227;os no meu planeta
-        natal.
-        &lt;/pre&gt;
-
-
-        &quot;Voc&#234; n&#227;o deveria usar este (wary-to) loop while,&quot; ele disse.  &quot;Existem jeitos mais am&#225;veis, (thopt-er),
-        e gentis.&quot;
-
-
-        No m&#233;todo @limpar_murmurios_de@, estou basicamente procurando por abre par&#234;nteses.  Quando eu
-        encontrou um, eu procuro um fecha par&#234;nteses na sequencia.  Uma vez que tenha encontrado ambos, eu troco
-        eles e seu conte&#250;do por uma string vazia.  O loop @while@ continua at&#233; que todos os par&#234;nteses se acabem.
-        Os murm&#250;rios s&#227;o removidos e o m&#233;todo termina.
-
-
-        &quot;Agora olhando este m&#233;todo,&quot; eu disse.  &quot;Eu vejo que h&#225; alguns aspectos confusos 
-        e outras coisas que eu poderia ter feito melhor.&quot;  Por favor n&#227;o me olhe estranho por seu professor 
-        ter escrito este c&#243;digo.  Eu acho certo the mostrar algumas t&#233;cnicas sloppy techniques 
-        pra te ajudar  to help you work through them with me.  Ent&#227;o vamos.
-
-
-        Okay, *Aspecto confuso No. 1*: Este m&#233;todo limpa uma string.  Mas e se n&#243;s acidentalmente
-        dermos a ele um @File@?  Ou um n&#250;mero?  O que acontece?  E se rodarmos @limpar_murmurios_de( 1 )@?
-
-
-        Se n&#243;s dermos ao @limpar_murmurios_de@ o n&#250;mero 1, o Ruby ir&#225; imprimir o seguinte e depois sair.
-
-
-        &lt;pre&gt;
-         NoMethodError: undefined method `include?' for 1:Fixnum
-                 from (irb):2:in `limpar_murmurios_de'
-                 from (irb):8
-        &lt;/pre&gt;
-
-
-        O que voc&#234; v&#234; aqui ere is a rather twisted and verbose (mas noutras vezes muito &#250;til) amiguinho
-        chamado de o *depurador*.  He's a wound-up policeman who, ao menor sinal de problema,
-        imediatamente apreende todo e qualquer suspeito, os p&#245;e contra a parede e l&#234; os direitos deles
-        t&#227;o rapidamente que ningu&#233;m consegue ouvir tudo.  Mas est&#225; claro que h&#225; um problema.
-        E, &#233; claro, tudo n&#227;o passou de um mal entendido, certo?
-
-
-        Quando o Ruby ler pra voc&#234; esses direitos de Miranda, preste aten&#231;&#227;o no come&#231;o.  A primeira linha
-        &#233; quase sempre tudo que voc&#234; precisa.  Nessa primeira linha est&#225; contido a mensagem essencial.  E ali
-        em cima, a primeira linha est&#225; nos dizendo que n&#227;o h&#225; m&#233;todo @include?@ para o n&#250;mero 1.
-        Lembra, quando est&#225;vamos conversando sobre o m&#233;todo @reverse@ no cap&#237;tulo anterior?  Naquela hora, eu disse,
-        &quot;*v&#225;rios m&#233;todos s&#243; est&#227;o dispon&#237;veis com certos tipos de valores*.&quot;  Ambos @reverse@ e
-        @include?@ s&#227;o m&#233;todos que funcionam com strings mas s&#227;o sem sentido e indispon&#237;veis para n&#250;meros.
-
-
-        Pra deixar claro: o m&#233;todo tenta usar o n&#250;mero.  O m&#233;todo vai iniciar com @frase@ valendo 1.
-        Ent&#227;o, ele chega na segunda linha: @while frase.include? '('@.  N&#250;meros n&#227;o t&#234;m m&#233;todo @include?@.
-        Maravilha, o depurador nos mostrou onde o problema est&#225;.  Eu n&#227;o esperava que algu&#233;m fosse passar
-        um n&#250;mero, ent&#227;o estou usando m&#233;todos que n&#227;o funcionam com n&#250;meros.
-
-
-        *Viu, &#233; s&#243; isso.*  Nosso m&#233;todo &#233; seu pr&#243;prio bolso de ferramentas, certo?  Ele age como seu pr&#243;prio
-        widget independente de todo o resto.  Pra todos por a&#237; usando o m&#233;todo @limpar_murmurios_de@,
-        se eles passarem um n&#250;mero, ser&#225; atirado pra eles esta mensagem de p&#226;nico que n&#227;o faz
-        sentido pra eles.  Eles ser&#227;o convidados a bisbilhotar o m&#233;todo, o que realmente n&#227;o &#233;
-        trabalho deles.  Eles n&#227;o sabem como se virar l&#225; dentro.
-
-
-        Felizmente, n&#243;s podemos inserir nossos pr&#243;prios erros, nossas pr&#243;prias *exce&#231;&#245;es*, o que pode fazer mais
-        sentido a algum desavisado que d&#234; um objeto errado pra ser limpo.
-
-
-        &lt;pre&gt;
-         def limpar_murmurios_de( frase )
-           unless frase.respond_to? :include?
-             raise ArgumentError, 
-              &quot;n&#227;o posso limpar os m&#250;rmurios de um(a) #{ frase.class }&quot;
-           end
-           while frase.include? '('
-             abre = frase.index( '(' )
-             fecha = frase.index( ')', abre )
-             frase[abre..fecha] = '' if fecha
-           end
-         end
-        &lt;/pre&gt;
-
-
-        Desta vez, se passarmos um n&#250;mero (de novo, o n&#250;mero 1), teremos algo mais sensato.
-
-
-        &lt;pre&gt;
-         ArgumentError: n&#227;o posso limpar os m&#250;rmurios de um(a) Fixnum
-                 from (irb):3:in `limpar_murmurios_de'
-                 from (irb):12
-        &lt;/pre&gt;
-
-
-        O m&#233;todo @respond_to?@ &#233; realmente bacana e eu imploro que voc&#234; nunca se esque&#231;a dele.
-        O @respond_to?@ checa qualquer objeto para garantir que nele cont&#233;m um determinado m&#233;todo.  Ele ent&#227;o retorna
-        com @true@ o @false@.  No caso acima, &#233; checado se o objeto @frase@ recebido cont&#233;m algum m&#233;todo
-        @include?@.  Se nenhum m&#233;todo @include?@ for encontrado, ent&#227;o causamos o erro.
-
-
-        Voc&#234; deve estar pensando por que eu usei um s&#237;mbolo com o @respond_to?@.  Eu usei um s&#237;mbolo @:include?@
-        inv&#233;s da string @'include?'@.  Na verdade, ambos funcionar&#227;o com o @respond_to?@.
-
-
-        Geralmente s&#237;mbolos s&#227;o usados quando voc&#234; est&#225; passando o nome de um m&#233;todo ou qualquer outro construtor.
-        &#201; mais eficiente, chama mais aten&#231;&#227;o.  O @respond_to?@ pergunta ao Ruby to look inside itself
-        and see if a method is available.  Estamos conversando com o Ruby, ent&#227;o o s&#237;mbolo helps denote that.
-        N&#227;o &#233; grande coisa, Ruby s&#243; reconhece s&#237;mbolos mais rapidamente que strings.
-
-
-        Agora, *Aspecto Confuso No. 2*: Voc&#234; notou como nosso m&#233;todo modifica a frase?
-
-
-        &lt;pre&gt;
-         algo_dito = &quot;Uma (gith) espa&#231;onave.&quot;
-         limpar_murmurios_de( algo_dito )
-         print algo_dito
-        &lt;/pre&gt;
-
-
-        Voc&#234; notou isso?  Na primeira linha do c&#243;digo acima, a vari&#225;vel @algo_dito@
-        cont&#233;m a string @&quot;Uma espa&#231;onave (gith).&quot;@.  Mas, depois de invocar o m&#233;todo, na terceira
-        linha, n&#243;s imprimimos a vari&#225;vel @algo_dito@ e nesse momemento ela cont&#233;m a string limpa
-        string @&quot;Uma  espa&#231;onave.&quot;@.
-
-
-        Como isso funciona?  Como o m&#233;todo modifica a string?  Ele n&#227;o deveria fazer uma c&#243;pia
-        da string antes de modific&#225;-la?
-
-
-        Sim, absolutamente, ele deveria!  *&#201; falta de educa&#231;&#227;o modificar strings daquele jeito.*  N&#243;s usamos @gsub@ e
-        @gsub!@ no cap&#237;tulo passado.  Voc&#234; se lembra qual destes dois m&#233;todos &#233; um *m&#233;todo destrutivo*,
-        que modifica strings diretamente?
-
-
-        Ou n&#243;s chamamos este m&#233;todo de @limpar_murmurios_de!@ (cortesia a todos os colegas bacanas
-        por a&#237; que podem vir a usar este m&#233;todo) ou modificar o m&#233;todo para trabalhar em uma c&#243;pia
-        da string inv&#233;s da coisa real.  O que &#233; uma modifica&#231;&#227;o muito f&#225;cil!  N&#243;s s&#243; precisamos dar
-        um @dup@ na string.
-
-
-        &lt;pre&gt;
-         def limpar_murmurios_de( frase )
-           unless frase.respond_to? :include?
-             raise ArgumentError, 
-              &quot;n&#227;o posso limpar os m&#250;rmurios de um(a) #{ frase.class }&quot;
-           end
-           frase = frase.dup
-           while frase.include? '('
-             abre = frase.index( '(' )
-             fecha = frase.index( ')', abre )
-             frase[abre..fecha] = '' if fecha
-           end
-           frase
-         end
-        &lt;/pre&gt;
-
-
-        O m&#233;todo @dup@ faz uma c&#243;pia de qualquer objeto.  Veja a linha que adicionamos separada:
-
-
-        &lt;pre&gt;
-         frase = frase.dup
-        &lt;/pre&gt;
-
-
-        Que linha de c&#243;digo peculiar.  Como que @frase@ vira uma c&#243;pia de @frase@?
-        Ela se apaga?  O que acontece com a @frase@ original?  Ela desaparece?
-
-
-        Lembre que vari&#225;veis s&#227;o como apelidos.  Quando voc&#234; v&#234; @frase = &quot;Uma (gith) espa&#231;onave.&quot;@,
-        voc&#234; o Ruby criando uma string e ent&#227;o dando um apelido a essa string.
-
-
-        Do mesmo modo, quando voc&#234; v&#234; @frase = frase.dup@, voc&#234; ve o Ruby criando uma nova string e ent&#227;o
-        dando um apelido a essa string.  Iso &#233; &#250;til dentro do seu m&#233;todo porque agora @frase@ &#233;
-        um pelido para uma nova c&#243;pia da string que voc&#234; pode usar seguramente *sem modificar a string
-        que foi passada pro m&#233;todo*.
-
-
-        Voc&#234; vai ver muitos exemplos de nomes de vari&#225;veis seudo reusados.
-
-
-        &lt;pre&gt;
-         x = 5
-         x = x + 1
-         # x agora &#233; igual a 6
-
-         y = &quot;Endertromb&quot;
-         y = y.length
-         # y agora &#233; igual a 10
-         
-         z = :include?
-         z = &quot;a string&quot;.respond_to? z
-         # z agora &#233; igual a true
-        &lt;/pre&gt;
-
-
-        E, sim, algumas vezes objetos desaparecem.  *Se voc&#234; n&#227;o consege pegar um objeto por uma v&#225;riavel, ent&#227;o
-        o Ruby vai entender que voc&#234; j&#225; terminou com ele e vai se livrar dele.*  Periodicamente, o Ruby envia seu 
-        *garbage collector (coletor de lixo)* pra libertar estes objetos.  Todo objeto &#233; mantido na mem&#243;ria do 
-        seu computador at&#233; que o coletor de lixo se livre dele.
-
-
+    - A Continua&#231;&#227;o da Hist&#243;ria do Instrutor de &#211;rg&#227;o da Minha Filha: &gt;
+
+        Eu sei que voc&#234; pode estar surpreso em saber que eu tenho uma filha.  Voc&#234; pensa que meu estilo
+        de escrita indica uma mente imatura ou infantil.  Bem, por favor relaxe.  Eu n&#227;o tenho uma filha.
+        Mas isso n&#227;o me impede de pensar no treinamento musical dela.
+
+
+        Enquanto essas hist&#243;rias do planeta Endertromb eram relatadas a mim, eu me vi vagando
+        por corredores, passando as pontas dos meus dedos por sof&#225;s fortemente abotoados
+        e me envolvendo nos gritos saturados dos tubos, enquanto o instrutor de &#243;rg&#227;o da minha filha
+        tocava.  Suas notas ressoavam t&#227;o ocas e profundas nas paredes de sua mans&#227;o
+        que eu comecei a confund&#237;-las com um sil&#234;ncio nefasto, e achava ainda mais f&#225;cil
+        me recolher ao espa&#231;o infinito dos meus pensamentos.  Para pensar no planeta ancestral
+        e suas filosofias obscuras: seus templos carnais, corados com os res&#237;duos d&#233;rmicos
+        dos seus m&#225;rtires; seus cart&#233;is de baleias, engolindo seus inimigos e prendendo-os por
+        d&#233;cadas, arrastando-os para cima e para baixo em suas escadarias de costelas; suas brumas venenosas e
+        seus portais dolorosos; e, as cru&#233;is dinastias
+        dos Originais, a esp&#233;cie que clama paternidade de toda vida inteligente no universo.
+
+
+        Mas, eventualmente, eu ouvia aqueles tubos de oitavas mais altas cantar e acabava voltando
+        para a mesma tarde jovial de onde havia sa&#237;do.
+
+
+        &#201; interessante como at&#233; a brisa do nosso planeta &#233; uma coisa um tanto estranha para
+        forasteiros.  Ele tamb&#233;m me contou sobre viajantes de Rath-d, que se aventuraram na Terra
+        cinco s&#233;culos atr&#225;s, mas se dissiparam rapidamente nas nossas correntes de ar j&#225; que eles, seus equipamentos e
+        sua armadura eram todos feitos de carv&#227;o.
+
+
+        Eu tinha me sentado ao &#243;rg&#227;o, ouvindo as hist&#243;rias sobre sua col&#244;nia, enquanto ele acentuava suas
+        sinfonias e as hist&#243;rias desapareciam por um tempo, at&#233; que a melodia terminasse.
+        Ele falava sobre ele e seus irm&#227;os sendo abra&#231;ados pela cauda de sua m&#227;e e arrancando
+        o tecido macio da parede interna.  Um sab&#227;o suculento, esponjoso e melado que limpou
+        suas bocas e es&#244;fagos enquanto descia.  Eles mastigaram fortemente aquilo e espuma se formava.
+        Depois de comer, eles sopraram bolhas uns sobre os outros, cada bolha cheia de uma espuma densa,
+        sobre a qual eles dormiram.  E de manh&#227; bem cedo, quando a m&#227;e os soltava do abra&#231;o, ela observava
+        serenamente enquanto seus beb&#234;s dormiam em um ensopado de bolas de carne escuras e um molho doce e grudento.
+
+        
+        Ele soletrou todos os gostos de Endertromb.  Dos seus &#243;rg&#227;os cor de salm&#227;o engomados, que se tornavam
+        uma pasta quando cozidos, e seus olhos que derretiam e viravam um rico creme.  Das suas manteigocias com tent&#225;culos.
+        E ele estava apenas come&#231;ando a apreciar essas del&#237;cias, ainda crian&#231;a, para ser elevado de um
+        jardim de inf&#226;ncia por um par de elefantes pigmeus que des&#231;eram um enorme guindaste dos c&#233;us, e o ergueram
+        pela gola.
+
+
+        Eles o transplantaram para a Terra, o guiaram em seu of&#237;cio, tompeteando suas trombas alto para a cidade de
+        Grand Rapids ouvir, ent&#227;o se foram, chorando e abra&#231;ando uns aos outros.
+
+
+        &quot;Mas, estranhamente (em-pithy-dah), Eu aprendi, toquei (pon-shoo) nos &#243;rg&#227;os no meu planeta
+        (oth-rea) natal,&quot; ele disse.
+
+
+        O instrutor de &#243;rg&#227;o da minha filha fala essas palavras extras que voc&#234; v&#234; em par&#234;nteses.  Quem &#233;
+        que sabe se &#233; sua l&#237;ngua nativa ou seu solu&#231;o sonoro.  Ele mant&#233;m outro
+        tra&#231;o de Endertromb: ele tem doze nomes.
+
+
+        &quot;N&#227;o, (wen-is-wen),&quot; ele disse.  &quot;Eu tenho um nome (im-apalla) que &#233; dito (iff)
+        de muitas-muitas maneiras difentes.&quot;
+
+
+        Eu o chamo de Paij-ree nas manh&#227;s e Paij-plo de tarde.
+        J&#225; que estou escrevendo de dia, o chamarei de Paij-ree aqui.
+
+
+        h3. Protetores de Ouvido M&#250;rmurio-Free
+
+
+        !&gt;i/my.daughters.organ-1.gif(Alien at the keys.)!
+
+
+        Ent&#227;o eu disse a Paij-ree, &quot;Paij-ree, eu estou escrevendo um livro.  Para ensinar ao mundo Ruby.&quot;
+
+
+        &quot;Oh, (pill-nog-pill-yacht) bacana,&quot; ele disse.  Ele conhece Ruby h&#225; mais tempo que eu, mas mesmo assim:
+        _Eu_ serei o instrutor de Ruby da minha filha.
+
+
+        E eu disse, &quot;Paij-ree, voc&#234; est&#225; no livro.  E as est&#243;rias do seu planeta.&quot;  Eu falo com ele como
+        se ele fosse o E.T.  Eu n&#227;o sei porqu&#234;. Como o que disse em seguida, &quot;E da&#237; talvez algum dia
+        voc&#234; possa ir pra casa pro seu pai e pra sua m&#227;e!&quot;
+
+
+        Ele replicou, &quot;(pon-shoo) (pon-shoo) (em-pithy-dah).&quot;  Que &#233; o jeito dele de expressar em voz alta
+        seu sil&#234;ncio e medo.
+
+
+        Ele queria ver o que eu havia escrito, ent&#227;o eu mostrei a ele este pequeno m&#233;todo que escrevi pra voc&#234;.
+    
+
+        &lt;pre&gt;
+         def limpar_murmurios_de( frase )
+           while frase.include? '('
+             abre = frase.index( '(' )
+             fecha = frase.index( ')', abre )
+             frase[abre..fecha] = '' if fecha
+           end
+         end
+        &lt;/pre&gt;
+
+
+        &quot;Viu o que isto faz, Paij-ree?  Qualquer Smotchkkiss velho pode usar este m&#233;todo
+        pra remover todas as o take all the incoherent babblings out of your speaking,&quot; I said.
+
+
+        E eu alimentei o m&#233;todo com algo que ele havia dito mais cedo.
+
+
+        &lt;pre&gt;
+         o_que_ele_disse = &quot;Mas, estranhamente (em-pithy-dah), 
+         Eu aprendi, toquei (pon-shoo) em &#243;rg&#227;os no meu planeta
+         (oth-rea) natal.&quot;
+         limpar_murmurios_de( o_que_ele_disse )
+         print o_que_ele_disse
+        &lt;/pre&gt;
+
+
+        E saiu de certa forma uma frase mais clara.
+
+
+        &lt;pre&gt;
+        Mas, estranhamente , 
+        Eu aprendi, toquei em &#243;rg&#227;os no meu planeta
+        natal.
+        &lt;/pre&gt;
+
+
+        &quot;Voc&#234; n&#227;o deveria usar este (wary-to) loop while,&quot; ele disse.  &quot;Existem jeitos mais am&#225;veis, (thopt-er),
+        e gentis.&quot;
+
+
+        No m&#233;todo @limpar_murmurios_de@, estou basicamente procurando por abre par&#234;nteses.  Quando eu
+        encontrou um, eu procuro um fecha par&#234;nteses na sequencia.  Uma vez que tenha encontrado ambos, eu troco
+        eles e seu conte&#250;do por uma string vazia.  O loop @while@ continua at&#233; que todos os par&#234;nteses se acabem.
+        Os murm&#250;rios s&#227;o removidos e o m&#233;todo termina.
+
+
+        &quot;Agora olhando este m&#233;todo,&quot; eu disse.  &quot;Eu vejo que h&#225; alguns aspectos confusos 
+        e outras coisas que eu poderia ter feito melhor.&quot;  Por favor n&#227;o me olhe estranho por seu professor 
+        ter escrito este c&#243;digo.  Eu acho certo the mostrar algumas t&#233;cnicas sloppy techniques 
+        pra te ajudar  to help you work through them with me.  Ent&#227;o vamos.
+
+
+        Okay, *Aspecto confuso No. 1*: Este m&#233;todo limpa uma string.  Mas e se n&#243;s acidentalmente
+        dermos a ele um @File@?  Ou um n&#250;mero?  O que acontece?  E se rodarmos @limpar_murmurios_de( 1 )@?
+
+
+        Se n&#243;s dermos ao @limpar_murmurios_de@ o n&#250;mero 1, o Ruby ir&#225; imprimir o seguinte e depois sair.
+
+
+        &lt;pre&gt;
+         NoMethodError: undefined method `include?' for 1:Fixnum
+                 from (irb):2:in `limpar_murmurios_de'
+                 from (irb):8
+        &lt;/pre&gt;
+
+
+        O que voc&#234; v&#234; aqui ere is a rather twisted and verbose (mas noutras vezes muito &#250;til) amiguinho
+        chamado de o *depurador*.  He's a wound-up policeman who, ao menor sinal de problema,
+        imediatamente apreende todo e qualquer suspeito, os p&#245;e contra a parede e l&#234; os direitos deles
+        t&#227;o rapidamente que ningu&#233;m consegue ouvir tudo.  Mas est&#225; claro que h&#225; um problema.
+        E, &#233; claro, tudo n&#227;o passou de um mal entendido, certo?
+
+
+        Quando o Ruby ler pra voc&#234; esses direitos de Miranda, preste aten&#231;&#227;o no come&#231;o.  A primeira linha
+        &#233; quase sempre tudo que voc&#234; precisa.  Nessa primeira linha est&#225; contido a mensagem essencial.  E ali
+        em cima, a primeira linha est&#225; nos dizendo que n&#227;o h&#225; m&#233;todo @include?@ para o n&#250;mero 1.
+        Lembra, quando est&#225;vamos conversando sobre o m&#233;todo @reverse@ no cap&#237;tulo anterior?  Naquela hora, eu disse,
+        &quot;*v&#225;rios m&#233;todos s&#243; est&#227;o dispon&#237;veis com certos tipos de valores*.&quot;  Ambos @reverse@ e
+        @include?@ s&#227;o m&#233;todos que funcionam com strings mas s&#227;o sem sentido e indispon&#237;veis para n&#250;meros.
+
+
+        Pra deixar claro: o m&#233;todo tenta usar o n&#250;mero.  O m&#233;todo vai iniciar com @frase@ valendo 1.
+        Ent&#227;o, ele chega na segunda linha: @while frase.include? '('@.  N&#250;meros n&#227;o t&#234;m m&#233;todo @include?@.
+        Maravilha, o depurador nos mostrou onde o problema est&#225;.  Eu n&#227;o esperava que algu&#233;m fosse passar
+        um n&#250;mero, ent&#227;o estou usando m&#233;todos que n&#227;o funcionam com n&#250;meros.
+
+
+        *Viu, &#233; s&#243; isso.*  Nosso m&#233;todo &#233; seu pr&#243;prio bolso de ferramentas, certo?  Ele age como seu pr&#243;prio
+        widget independente de todo o resto.  Pra todos por a&#237; usando o m&#233;todo @limpar_murmurios_de@,
+        se eles passarem um n&#250;mero, ser&#225; atirado pra eles esta mensagem de p&#226;nico que n&#227;o faz
+        sentido pra eles.  Eles ser&#227;o convidados a bisbilhotar o m&#233;todo, o que realmente n&#227;o &#233;
+        trabalho deles.  Eles n&#227;o sabem como se virar l&#225; dentro.
+
+
+        Felizmente, n&#243;s podemos inserir nossos pr&#243;prios erros, nossas pr&#243;prias *exce&#231;&#245;es*, o que pode fazer mais
+        sentido a algum desavisado que d&#234; um objeto errado pra ser limpo.
+
+
+        &lt;pre&gt;
+         def limpar_murmurios_de( frase )
+           unless frase.respond_to? :include?
+             raise ArgumentError, 
+              &quot;n&#227;o posso limpar os m&#250;rmurios de um(a) #{ frase.class }&quot;
+           end
+           while frase.include? '('
+             abre = frase.index( '(' )
+             fecha = frase.index( ')', abre )
+             frase[abre..fecha] = '' if fecha
+           end
+         end
+        &lt;/pre&gt;
+
+
+        Desta vez, se passarmos um n&#250;mero (de novo, o n&#250;mero 1), teremos algo mais sensato.
+
+
+        &lt;pre&gt;
+         ArgumentError: n&#227;o posso limpar os m&#250;rmurios de um(a) Fixnum
+                 from (irb):3:in `limpar_murmurios_de'
+                 from (irb):12
+        &lt;/pre&gt;
+
+
+        O m&#233;todo @respond_to?@ &#233; realmente bacana e eu imploro que voc&#234; nunca se esque&#231;a dele.
+        O @respond_to?@ checa qualquer objeto para garantir que nele cont&#233;m um determinado m&#233;todo.  Ele ent&#227;o retorna
+        com @true@ o @false@.  No caso acima, &#233; checado se o objeto @frase@ recebido cont&#233;m algum m&#233;todo
+        @include?@.  Se nenhum m&#233;todo @include?@ for encontrado, ent&#227;o causamos o erro.
+
+
+        Voc&#234; deve estar pensando por que eu usei um s&#237;mbolo com o @respond_to?@.  Eu usei um s&#237;mbolo @:include?@
+        inv&#233;s da string @'include?'@.  Na verdade, ambos funcionar&#227;o com o @respond_to?@.
+
+
+        Geralmente s&#237;mbolos s&#227;o usados quando voc&#234; est&#225; passando o nome de um m&#233;todo ou qualquer outro construtor.
+        &#201; mais eficiente, chama mais aten&#231;&#227;o.  O @respond_to?@ pergunta ao Ruby to look inside itself
+        and see if a method is available.  Estamos conversando com o Ruby, ent&#227;o o s&#237;mbolo helps denote that.
+        N&#227;o &#233; grande coisa, Ruby s&#243; reconhece s&#237;mbolos mais rapidamente que strings.
+
+
+        Agora, *Aspecto Confuso No. 2*: Voc&#234; notou como nosso m&#233;todo modifica a frase?
+
+
+        &lt;pre&gt;
+         algo_dito = &quot;Uma (gith) espa&#231;onave.&quot;
+         limpar_murmurios_de( algo_dito )
+         print algo_dito
+        &lt;/pre&gt;
+
+
+        Voc&#234; notou isso?  Na primeira linha do c&#243;digo acima, a vari&#225;vel @algo_dito@
+        cont&#233;m a string @&quot;Uma espa&#231;onave (gith).&quot;@.  Mas, depois de invocar o m&#233;todo, na terceira
+        linha, n&#243;s imprimimos a vari&#225;vel @algo_dito@ e nesse momemento ela cont&#233;m a string limpa
+        string @&quot;Uma  espa&#231;onave.&quot;@.
+
+
+        Como isso funciona?  Como o m&#233;todo modifica a string?  Ele n&#227;o deveria fazer uma c&#243;pia
+        da string antes de modific&#225;-la?
+
+
+        Sim, absolutamente, ele deveria!  *&#201; falta de educa&#231;&#227;o modificar strings daquele jeito.*  N&#243;s usamos @gsub@ e
+        @gsub!@ no cap&#237;tulo passado.  Voc&#234; se lembra qual destes dois m&#233;todos &#233; um *m&#233;todo destrutivo*,
+        que modifica strings diretamente?
+
+
+        Ou n&#243;s chamamos este m&#233;todo de @limpar_murmurios_de!@ (cortesia a todos os colegas bacanas
+        por a&#237; que podem vir a usar este m&#233;todo) ou modificar o m&#233;todo para trabalhar em uma c&#243;pia
+        da string inv&#233;s da coisa real.  O que &#233; uma modifica&#231;&#227;o muito f&#225;cil!  N&#243;s s&#243; precisamos dar
+        um @dup@ na string.
+
+
+        &lt;pre&gt;
+         def limpar_murmurios_de( frase )
+           unless frase.respond_to? :include?
+             raise ArgumentError, 
+              &quot;n&#227;o posso limpar os m&#250;rmurios de um(a) #{ frase.class }&quot;
+           end
+           frase = frase.dup
+           while frase.include? '('
+             abre = frase.index( '(' )
+             fecha = frase.index( ')', abre )
+             frase[abre..fecha] = '' if fecha
+           end
+           frase
+         end
+        &lt;/pre&gt;
+
+
+        O m&#233;todo @dup@ faz uma c&#243;pia de qualquer objeto.  Veja a linha que adicionamos separada:
+
+
+        &lt;pre&gt;
+         frase = frase.dup
+        &lt;/pre&gt;
+
+
+        Que linha de c&#243;digo peculiar.  Como que @frase@ vira uma c&#243;pia de @frase@?
+        Ela se apaga?  O que acontece com a @frase@ original?  Ela desaparece?
+
+
+        Lembre que vari&#225;veis s&#227;o como apelidos.  Quando voc&#234; v&#234; @frase = &quot;Uma (gith) espa&#231;onave.&quot;@,
+        voc&#234; o Ruby criando uma string e ent&#227;o dando um apelido a essa string.
+
+
+        Do mesmo modo, quando voc&#234; v&#234; @frase = frase.dup@, voc&#234; ve o Ruby criando uma nova string e ent&#227;o
+        dando um apelido a essa string.  Iso &#233; &#250;til dentro do seu m&#233;todo porque agora @frase@ &#233;
+        um pelido para uma nova c&#243;pia da string que voc&#234; pode usar seguramente *sem modificar a string
+        que foi passada pro m&#233;todo*.
+
+
+        Voc&#234; vai ver muitos exemplos de nomes de vari&#225;veis seudo reusados.
+
+
+        &lt;pre&gt;
+         x = 5
+         x = x + 1
+         # x agora &#233; igual a 6
+
+         y = &quot;Endertromb&quot;
+         y = y.length
+         # y agora &#233; igual a 10
+         
+         z = :include?
+         z = &quot;a string&quot;.respond_to? z
+         # z agora &#233; igual a true
+        &lt;/pre&gt;
+
+
+        E, sim, algumas vezes objetos desaparecem.  *Se voc&#234; n&#227;o consege pegar um objeto por uma v&#225;riavel, ent&#227;o
+        o Ruby vai entender que voc&#234; j&#225; terminou com ele e vai se livrar dele.*  Periodicamente, o Ruby envia seu 
+        *garbage collector (coletor de lixo)* pra libertar estes objetos.  Todo objeto &#233; mantido na mem&#243;ria do 
+        seu computador at&#233; que o coletor de lixo se livre dele.
+
+</diff>
      <filename>lang-pt/poignant-44.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,18 +1,18 @@
-    - !^sidebar
-      Tirado de Os Comedores de Cachec&#243;is: &gt;
-
-        (_from Chapter VII: When Push Comes to Shove -- or Love_.)
-
-
-        &quot;Nunca diga meu nome de novo!&quot; gritou Chester, e com o mesmo entusiasmo, ele voltou para a
-        tela de di&#225;logo *Arquivo &gt; Configurar Publica&#231;&#227;o...* para otimizar mais ainda seu filme at&#233; 
-        meros 15k.
-
-
-#        Mrs. Cothway appeared in the vaulted entry way with three elegant Arabian horses,  
-#        but Woody refused to look away from his Vaio and shaved another 6k off his movie.
-#
-#
-#        And so she cantered with them to the laundry room entrace, which was fatal for each of the mares, as 
-#        young Annabelle fed them too much 7-Up and Earmuffs.
-
+    - !^sidebar
+      Tirado de Os Comedores de Cachec&#243;is: &gt;
+
+        (_from Chapter VII: When Push Comes to Shove -- or Love_.)
+
+
+        &quot;Nunca diga meu nome de novo!&quot; gritou Chester, e com o mesmo entusiasmo, ele voltou para a
+        tela de di&#225;logo *Arquivo &gt; Configurar Publica&#231;&#227;o...* para otimizar mais ainda seu filme at&#233; 
+        meros 15k.
+
+
+#        Mrs. Cothway appeared in the vaulted entry way with three elegant Arabian horses,  
+#        but Woody refused to look away from his Vaio and shaved another 6k off his movie.
+#
+#
+#        And so she cantered with them to the laundry room entrace, which was fatal for each of the mares, as 
+#        young Annabelle fed them too much 7-Up and Earmuffs.
+</diff>
      <filename>lang-pt/poignant-45.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,293 +1,293 @@
-    - &gt;
-        Oh, e mais uma coisa sobre o @dup@.  Algumas coisas n&#227;o podem ser &quot;dupadas&quot;.  N&#250;meros, por exemplo.  
-        S&#237;mbolos (que se parecem com @:morte@) s&#227;o id&#234;nticos quando grafados iguais.  Assim como n&#250;meros.
-
-
-        Al&#233;m disso, algumas vari&#225;veis especiais: @nil@, @true@, @false@.  Estas s&#227;o coisas que o Ruby n&#227;o vai
-        te deixar alterar, ent&#227;o n&#227;o faz sentido copiar mesmo.  Quero dizer, imagine se voc&#234; pudesse mudar o 
-        @false@ para que seja @true@.  A coisa toda vira uma mentira.
-
-
-        Talvez o *Aspecto Confuso No. 3* seja um simples.  Estou usando aquelas chaves na string. 
-        Estou tratando a como se ela fosse um Array ou Hash.  Eu posso fazer isso.  Porque strings
-        t&#234;m um m&#233;todo @[]@.
-
-
-        Quando usadas numa string, as chaves v&#227;o extrair parte daquela string.  Mais uma vez,
-        espa&#231;o para as p&#225;s da empilhadeira. A string &#233; como uma longa prateleira e a empilhadeira
-        tira os peda&#231;os da string.
-
-
-        Dentro das chaves, n&#243;s passamos o _index (&#237;ndice)_.  &#201; a etiqueta que colocamos entre as p&#225;s,
-        onde o trabalhador pode v&#234;-las.  Quando o assunto s&#227;o strings, podemos usar v&#225;rios objetos como
-        &#237;ndices.
-        
-
-        &lt;pre&gt;
-         str = &quot;Uma string &#233; uma longa prateleira de letras e espa&#231;os.&quot;
-         puts str[0]       # imprime 85 (o c&#243;digo do caracter 'U')
-         puts str[0..-1]   # imprime 'Uma string &#233; uma longa prateleira de letras e espa&#231;os.'
-         puts str[1..-2]   # imprime 'ma string &#233; uma longa prateleira de letras e espa&#231;os'
-         puts str[1, 3]    # imprime 'ma '
-         puts str['prateleira'] # imrpime 'shelf'
-        &lt;/pre&gt;
-
-
-        Tudo bem, o &#250;ltimo *Aspecto Confuso No. 4*: este m&#233;todo pode ser enviado a um loop sem fim.
-        Voc&#234; pode dar uma string para este m&#233;todo que vai fazer com que ele trave e nunca mais volte.
-        D&#234; uma olhada no m&#233;todo.  Voc&#234; consegue jogar um graveto que trave o loop?
-
-
-        &lt;pre&gt;
-         def limpar_murmurios_de( frase )
-           unless frase.respond_to? :include?
-             raise ArgumentError, 
-              &quot;n&#227;o posso limpar os m&#250;rmurios de um(a) #{ frase.class }&quot;
-           end
-           frase = frase.dup
-           while frase.include? '('
-             abre = frase.index( '(' )
-             fecha = frase.index( ')', abre )
-             frase[abre..fecha] = '' if fecha
-           end
-           frase
-         end
-        &lt;/pre&gt;
-
-
-        Aqui, entorte o graveto antes de jog&#225;-lo.
-
-
-        &lt;pre&gt;
-         graveto = &quot;Aqui est&#225; uma ( curva.&quot;
-         limpar_murmurios_de( graveto )
-        &lt;/pre&gt;
-
-
-        Por que o m&#233;todo trava?  Bem, o loop @while@ espera at&#233; que todos os par&#234;nteses abertos se 
-        acabem antes de parar de looping.  E ele s&#243; modifica um par&#234;ntese aberto que tenha um par par&#234;ntese fechado.
-        Ent&#227;o, se nenhum par&#234;ntese fechado &#233; encontrado, o par&#234;ntese aberto n&#227;o ser&#225; modificado
-        e o @while@ nunca ficar&#225; satisfeito.
-
-
-        Como voc&#234; reescreveria este m&#233;todo?  Eu sei como me virar no Ruby, ent&#227;o eu usaria uma express&#227;o
-        regular.
-
-
-        &lt;pre&gt;
-         def limpar_murmurios_de( frase )
-           unless frase.respond_to? :gsub
-             raise ArgumentError, 
-               &quot;n&#227;o posso limpar os m&#250;rmurios de um(a) #{ frase.class }&quot;
-           end
-           frase.gsub( /\([-\w]+\)/, '' )
-         end
-        &lt;/pre&gt;
-
-
-        D&#234; o seu melhor quando pensar nos seus loops.  &#201; muito f&#225;cil especialmente pros loops @while@ e @until@
-        sa&#237;rem do controle.  Melhor usar um iterador.  E n&#243;s chegaremos em express&#245;es regulares na hora certa.
-
-
-        Resumidamente, aqui est&#225; o que aprendemos sobre escrever m&#233;todos:
-
-
-        # N&#227;o se surpreenda se as pessoas passarem objetos inesperados pros seus m&#233;todos.
-        Se voc&#234; n&#227;o pode maneira algum usar o que te deram, @raise (cause)@ um erro.
-
-        # &#201; falta de educa&#231;&#227;o mudar objetos que s&#227;o dados aos seus m&#233;todos.  Use @dup@ para
-        fazer uma c&#243;pia.  Ou encontre um m&#233;todo como @gsub@ que automaticamente faz a c&#243;pia
-        enquanto faz o seu servi&#231;o.
-
-        # As chaves podem ser usadas para procurar partes dentro de qualquer objeto @Array@, @Hash@ ou @String@,
-        j&#225; que estes objetos prov&#233;m um m&#233;todo @[]@.  E tamb&#233;m, j&#225; que este objetos prov&#233;m um m&#233;todo @[]=@,
-        as chaves podem ser usadas pra assignment (do lado esquerdo do sinal de igual) to
-        change the parts of those objects.
-
-        # Cuidado com loops fuj&#245;es.  Evite @while@ e @until@ se voc&#234; puder.
- 
-
-        h3. Os Mecanismos do Estere&#243;tipo
-
-
-        !&gt;i/my.daughters.organ-2.gif(Vendedor de gatos do espa&#231;o.)!
-
-
-        Imediatamente ouve-se um sussuro nas &#225;rvores atr&#225;s da casa do Paij-ree e acabou que era
-        o homem que ca&#237;ra do c&#233;u.  Seu nome era Doug e ele vendia gatos.
-
-
-        Ent&#227;o, assim que deu pra v&#234;-lo, quando sua sombra (e as sombras dos gatos amarrados aos seus
-        p&#233;s) entrou na frente do pass&#225;ro no gramado que n&#243;s est&#225;vamos tentando acertar com uma raquete, 
-        enquanto ele retirava o h&#233;lio do grande bal&#227;o, n&#243;s gritamos, &quot;Ol&#225;, Doug!&quot;
-
-
-        E ele diz, &quot;Ol&#225;, Gonk-ree!  Ol&#225;, Why!&quot;
-
-
-        Paij-ree checa os bolsos pra ter certeza que ele tem o real-e-vinte-sete que vai precisar pra comprar
-        comprar os tr&#234;s gatos que ele necessita pra manter a fornalha abastecida e a parab&#243;lica virando. Estes
-        gatos geram montes de eletricidade est&#225;tica quando Paij-ree os joga no gerador, onde eles esetar&#227;o em
-        inferioridade num&#233;rica a gigantes bast&#245;es de vidro, que os acariciam continuamente-- Mas, espere!  
-        Voc&#234; reparou como o corretor de gatos chamou ele de Gonk-ree?
-
-        
-        E ele o chama de Gonk-ree de dia e Gonk-plo de noite.
-
-
-        Ent&#227;o o sufixo &#233; definitivamente relacionado &#224; luz do sol.  At&#233; onde eu sei, o prefixo indica
-        a rela&#231;&#227;o de quem chama o Paij-ree.
-
-        
-        &lt;pre&gt;
-         class String
-
-           # As partes do nome do professor
-           # de &#243;rg&#227;o da minha filha.
-           @@silabas = [
-             { 'Paij' =&gt; 'Pessoal',
-               'Gonk' =&gt; 'Neg&#243;cios',
-               'Blon' =&gt; 'Escravo',
-               'Stro' =&gt; 'Mestre',
-               'Wert' =&gt; 'Pai',
-               'Onnn' =&gt; 'M&#227;e' },
-             { 'ree'  =&gt; 'AM',
-               'plo'  =&gt; 'PM' }
-           ]
-
-           # Um m&#233;todo pra determinar o que
-           # signfica certos nomes dele.
-           def significado_do_nome
-             partes = self.split( '-' )
-             silabas = @@silabas.dup
-             significado = partes.collect do |p|
-               silabas.shift[p]
-             end
-             significado.join( ' ' )
-           end
-
-         end
-        &lt;/pre&gt;
-
-
-        Agora eu fui bem mais al&#233;m do que te mostrar apenas c&#243;digo banal.  Houve aqui uma grave libertinagem 
-        e um crime contra a natureza.  Um crime que a maioria das linguagens n&#227;o permitiriam que voc&#234; cometesse.  
-        N&#243;s estamos mudando a @String@, *uma das classes do n&#250;cleo do Ruby*!
-
-
-        &quot;Eu sei que isto &#233; um pouco perigoso,&quot; Eu disse, quando passei isso por baixo do nariz do Paij-ree.
-        &quot;Eu espero que ningu&#233;m se machuque.&quot;
-
-
-        &quot;Todo Smotchkkiss deve experimentar o que esse (kep-yo-iko) perigo faz,&quot; ele disse.  &quot;Dogs and logs
-        and swampy bogs (kul-ip), all must be tasted.&quot;  E ele deu uma golada no seu drink de p&#226;ntano Beagle Berry.
-
-
-        Ent&#227;o o que &#233; que eu estou adicionando &#224; classe @String?@  Duas coisas: uma vari&#225;vel de classe e
-        um m&#233;todo.  Um *m&#233;todo de inst&#226;ncia* normal.
-
-
-        Eu gosto de ver a *arroba* como um caracter que significa *atributo*.  A *arroba dupla*
-        *atributo coletivo*.  Uma vari&#225;vel de classe.  Todas as inst&#226;ncias da classe podem olhar
-        pra esta v&#225;riavel e ela &#233; a mesma pra todas.  A vari&#225;vel @@@silabas@ &#233; um Array
-        que agora pode ser usado dentro da classe String.
-
-
-        O novo m&#233;todo &#233; @significado_do_nome@ e esse novo m&#233;todo pode ser usado com qualquer string.
-
-
-        bq. @print &quot;Paij-ree&quot;.significado_do_nome@ imprime @Pessoal AM@.
-
-
-        Como voc&#234; pode ver, Paij-ree &#233; um nome pessoal.  Um nome que os amigos usam nas manh&#227;s.
-
-
-        Tenha certeza de ter visto a linha de c&#243;digo que usa @self@.  Esta &#233; uma vari&#225;vel especial, uma
-        vari&#225;vel que representa o objeto cujo m&#233;todo voc&#234; est&#225; chamando.  Para simplificar as coisas um
-        pouco, vamos tentar fazer um m&#233;todo que separe uma string pelos h&#237;fens.
-
-
-        &lt;pre&gt;
-         class String
-           def separar_hifen
-             self.split( '-' )
-           end
-         end
-        &lt;/pre&gt;
-
-
-        De novo, aqui est&#225; um m&#233;todo que pode ser usando com qualquer string.
-
-
-        bq. @&quot;Gonk-plo&quot;.separar_hifen@ retorna o Array @['Gonk', 'plo']@.
-
-
-        Usar @self@ marca o a entrada em um novo est&#225;gio com id&#233;ias mais avan&#231;adas no Ruby.
-        Esta &#233; uma linguagem de defini&#231;&#227;o.  Voc&#234; est&#225; definindo um m&#233;todo, desenhando ele antes dele ser usado.  Voc&#234; est&#225;
-        preparando para a exist&#234;ncia de um objeto que use aquele m&#233;todo.  Voc&#234; est&#225; dizendo, &quot;Quando @separar_hifen@ 
-        for usado, haver&#225; uma string a qual estaremos separando-h&#237;fens.  E @self@ &#233; uma vari&#225;vel especial 
-        que faz refer&#234;ncia &#224;quela string.&quot;
-
-
-        Ruby &#233; uma linguagem de defini&#231;&#227;o imbat&#237;vel.  Uma discuss&#227;o suculenta e de rachar a cuca estar&#225; no seu caminho
-        mais fundo no livro.
-
-
-        Na maioria das vezes voc&#234; n&#227;o precisa usar @self@ expl&#237;citamente, j&#225; que voc&#234; pode chamar m&#233;todos
-        diretamente dentro de outra defini&#231;&#227;o de m&#233;todo.
-
-
-        &lt;pre&gt;
-         class String
-           def separar_hifen; split( '-' ); end
-         end
-        &lt;/pre&gt;
-
-
-        No m&#233;todo @significado_do_nome@, encontre o loop.  Aprender sobre @Array#collect@ &#233; essencial.
-        Vamos olhar de perto.
-
-
-        &lt;pre&gt;
-         significado = partes.collect do |p|
-           silabas.shift[p]
-         end
-        &lt;/pre&gt;
-
-
-        O Array @partes@ cont&#233;m o nome separado.  @['Paij', 'plo']@, por exemplo.  Estamos iterando por
-        cada item naquele Array com @collect@.  Mas @collect@ vai uma passo a frente ao que o @each@ faz.  Assim
-        como @each@, collect joga cada item pela calha como uma vari&#225;vel de bloco.  E a&#237;, ao t&#233;rmino do 
-        block, @collect@ *mant&#233;m a resposta que o block d&#225; e a adiciona em um novo Array*.  O m&#233;todo 
-        @collect@ &#233; o jeito perfeito de se fazer um novo Array que &#233; baseado em itens de um Array existente.
-
-
-        O Doug tem tr&#234;s gatos &#224; venda.  Um custa doze centavos, um sessenta e tr&#234;s centavos, um nove centavos.
-        Vamos ver quanto cada gato custaria se n&#243;s adicion&#225;ssemos uma gorjeta de 20%.
-
-
-        &lt;pre&gt;
-         gatosegorjetas = [0.12, 0.63, 0.09].collect { |custogato| custogato + ( custogato * 0.20 ) }
-        &lt;/pre&gt;
-
-
-        Costumo dizer que a propriedade do Paij-ree &#233; um charmoso peda&#231;o de floresta quando n&#227;o est&#225; chovendo gatos e Doug.
-        Por v&#225;rios dias, Paij-ree e eu acampamos em tendas perto do rio atr&#225;s da casa dele, subsistindo de
-        fuma&#231;a de turdus e retalhando indiozinhos adormecidos ao por do sol.  Em uma ocasi&#227;o ele perdeu no
-        carteado e eu sabia que sua mente estava distra&#237;da, pensando em Endertromb.  Tudo isso deve estar
-        remoendo nele por algum tempo j&#225;.  Eu fui o primeiro confidente que ele tivera.
-
-
-        &quot;Acabei de vir de Ambrose,&quot; Eu disse.  &quot;Sort of my own underground home, a place where elves
-        strive to perfect animals.&quot;
-
-
-        He mumbled and nodded.  &quot;You can't be (poth-in-oin) part of (in) such things.&quot;
-
-
-        &quot;Voc&#234; acha que n&#243;s falharemos?&quot;
-
-
-        &quot;Eu (preep) j&#225; vi isso antes,&quot; ele disse.  E da&#237;, ele falou sobre a Loteria.
-
-
+    - &gt;
+        Oh, e mais uma coisa sobre o @dup@.  Algumas coisas n&#227;o podem ser &quot;dupadas&quot;.  N&#250;meros, por exemplo.  
+        S&#237;mbolos (que se parecem com @:morte@) s&#227;o id&#234;nticos quando grafados iguais.  Assim como n&#250;meros.
+
+
+        Al&#233;m disso, algumas vari&#225;veis especiais: @nil@, @true@, @false@.  Estas s&#227;o coisas que o Ruby n&#227;o vai
+        te deixar alterar, ent&#227;o n&#227;o faz sentido copiar mesmo.  Quero dizer, imagine se voc&#234; pudesse mudar o 
+        @false@ para que seja @true@.  A coisa toda vira uma mentira.
+
+
+        Talvez o *Aspecto Confuso No. 3* seja um simples.  Estou usando aquelas chaves na string. 
+        Estou tratando a como se ela fosse um Array ou Hash.  Eu posso fazer isso.  Porque strings
+        t&#234;m um m&#233;todo @[]@.
+
+
+        Quando usadas numa string, as chaves v&#227;o extrair parte daquela string.  Mais uma vez,
+        espa&#231;o para as p&#225;s da empilhadeira. A string &#233; como uma longa prateleira e a empilhadeira
+        tira os peda&#231;os da string.
+
+
+        Dentro das chaves, n&#243;s passamos o _index (&#237;ndice)_.  &#201; a etiqueta que colocamos entre as p&#225;s,
+        onde o trabalhador pode v&#234;-las.  Quando o assunto s&#227;o strings, podemos usar v&#225;rios objetos como
+        &#237;ndices.
+        
+
+        &lt;pre&gt;
+         str = &quot;Uma string &#233; uma longa prateleira de letras e espa&#231;os.&quot;
+         puts str[0]       # imprime 85 (o c&#243;digo do caracter 'U')
+         puts str[0..-1]   # imprime 'Uma string &#233; uma longa prateleira de letras e espa&#231;os.'
+         puts str[1..-2]   # imprime 'ma string &#233; uma longa prateleira de letras e espa&#231;os'
+         puts str[1, 3]    # imprime 'ma '
+         puts str['prateleira'] # imrpime 'shelf'
+        &lt;/pre&gt;
+
+
+        Tudo bem, o &#250;ltimo *Aspecto Confuso No. 4*: este m&#233;todo pode ser enviado a um loop sem fim.
+        Voc&#234; pode dar uma string para este m&#233;todo que vai fazer com que ele trave e nunca mais volte.
+        D&#234; uma olhada no m&#233;todo.  Voc&#234; consegue jogar um graveto que trave o loop?
+
+
+        &lt;pre&gt;
+         def limpar_murmurios_de( frase )
+           unless frase.respond_to? :include?
+             raise ArgumentError, 
+              &quot;n&#227;o posso limpar os m&#250;rmurios de um(a) #{ frase.class }&quot;
+           end
+           frase = frase.dup
+           while frase.include? '('
+             abre = frase.index( '(' )
+             fecha = frase.index( ')', abre )
+             frase[abre..fecha] = '' if fecha
+           end
+           frase
+         end
+        &lt;/pre&gt;
+
+
+        Aqui, entorte o graveto antes de jog&#225;-lo.
+
+
+        &lt;pre&gt;
+         graveto = &quot;Aqui est&#225; uma ( curva.&quot;
+         limpar_murmurios_de( graveto )
+        &lt;/pre&gt;
+
+
+        Por que o m&#233;todo trava?  Bem, o loop @while@ espera at&#233; que todos os par&#234;nteses abertos se 
+        acabem antes de parar de looping.  E ele s&#243; modifica um par&#234;ntese aberto que tenha um par par&#234;ntese fechado.
+        Ent&#227;o, se nenhum par&#234;ntese fechado &#233; encontrado, o par&#234;ntese aberto n&#227;o ser&#225; modificado
+        e o @while@ nunca ficar&#225; satisfeito.
+
+
+        Como voc&#234; reescreveria este m&#233;todo?  Eu sei como me virar no Ruby, ent&#227;o eu usaria uma express&#227;o
+        regular.
+
+
+        &lt;pre&gt;
+         def limpar_murmurios_de( frase )
+           unless frase.respond_to? :gsub
+             raise ArgumentError, 
+               &quot;n&#227;o posso limpar os m&#250;rmurios de um(a) #{ frase.class }&quot;
+           end
+           frase.gsub( /\([-\w]+\)/, '' )
+         end
+        &lt;/pre&gt;
+
+
+        D&#234; o seu melhor quando pensar nos seus loops.  &#201; muito f&#225;cil especialmente pros loops @while@ e @until@
+        sa&#237;rem do controle.  Melhor usar um iterador.  E n&#243;s chegaremos em express&#245;es regulares na hora certa.
+
+
+        Resumidamente, aqui est&#225; o que aprendemos sobre escrever m&#233;todos:
+
+
+        # N&#227;o se surpreenda se as pessoas passarem objetos inesperados pros seus m&#233;todos.
+        Se voc&#234; n&#227;o pode maneira algum usar o que te deram, @raise (cause)@ um erro.
+
+        # &#201; falta de educa&#231;&#227;o mudar objetos que s&#227;o dados aos seus m&#233;todos.  Use @dup@ para
+        fazer uma c&#243;pia.  Ou encontre um m&#233;todo como @gsub@ que automaticamente faz a c&#243;pia
+        enquanto faz o seu servi&#231;o.
+
+        # As chaves podem ser usadas para procurar partes dentro de qualquer objeto @Array@, @Hash@ ou @String@,
+        j&#225; que estes objetos prov&#233;m um m&#233;todo @[]@.  E tamb&#233;m, j&#225; que este objetos prov&#233;m um m&#233;todo @[]=@,
+        as chaves podem ser usadas pra assignment (do lado esquerdo do sinal de igual) to
+        change the parts of those objects.
+
+        # Cuidado com loops fuj&#245;es.  Evite @while@ e @until@ se voc&#234; puder.
+ 
+
+        h3. Os Mecanismos do Estere&#243;tipo
+
+
+        !&gt;i/my.daughters.organ-2.gif(Vendedor de gatos do espa&#231;o.)!
+
+
+        Imediatamente ouve-se um sussuro nas &#225;rvores atr&#225;s da casa do Paij-ree e acabou que era
+        o homem que ca&#237;ra do c&#233;u.  Seu nome era Doug e ele vendia gatos.
+
+
+        Ent&#227;o, assim que deu pra v&#234;-lo, quando sua sombra (e as sombras dos gatos amarrados aos seus
+        p&#233;s) entrou na frente do pass&#225;ro no gramado que n&#243;s est&#225;vamos tentando acertar com uma raquete, 
+        enquanto ele retirava o h&#233;lio do grande bal&#227;o, n&#243;s gritamos, &quot;Ol&#225;, Doug!&quot;
+
+
+        E ele diz, &quot;Ol&#225;, Gonk-ree!  Ol&#225;, Why!&quot;
+
+
+        Paij-ree checa os bolsos pra ter certeza que ele tem o real-e-vinte-sete que vai precisar pra comprar
+        comprar os tr&#234;s gatos que ele necessita pra manter a fornalha abastecida e a parab&#243;lica virando. Estes
+        gatos geram montes de eletricidade est&#225;tica quando Paij-ree os joga no gerador, onde eles esetar&#227;o em
+        inferioridade num&#233;rica a gigantes bast&#245;es de vidro, que os acariciam continuamente-- Mas, espere!  
+        Voc&#234; reparou como o corretor de gatos chamou ele de Gonk-ree?
+
+        
+        E ele o chama de Gonk-ree de dia e Gonk-plo de noite.
+
+
+        Ent&#227;o o sufixo &#233; definitivamente relacionado &#224; luz do sol.  At&#233; onde eu sei, o prefixo indica
+        a rela&#231;&#227;o de quem chama o Paij-ree.
+
+        
+        &lt;pre&gt;
+         class String
+
+           # As partes do nome do professor
+           # de &#243;rg&#227;o da minha filha.
+           @@silabas = [
+             { 'Paij' =&gt; 'Pessoal',
+               'Gonk' =&gt; 'Neg&#243;cios',
+               'Blon' =&gt; 'Escravo',
+               'Stro' =&gt; 'Mestre',
+               'Wert' =&gt; 'Pai',
+               'Onnn' =&gt; 'M&#227;e' },
+             { 'ree'  =&gt; 'AM',
+               'plo'  =&gt; 'PM' }
+           ]
+
+           # Um m&#233;todo pra determinar o que
+           # signfica certos nomes dele.
+           def significado_do_nome
+             partes = self.split( '-' )
+             silabas = @@silabas.dup
+             significado = partes.collect do |p|
+               silabas.shift[p]
+             end
+             significado.join( ' ' )
+           end
+
+         end
+        &lt;/pre&gt;
+
+
+        Agora eu fui bem mais al&#233;m do que te mostrar apenas c&#243;digo banal.  Houve aqui uma grave libertinagem 
+        e um crime contra a natureza.  Um crime que a maioria das linguagens n&#227;o permitiriam que voc&#234; cometesse.  
+        N&#243;s estamos mudando a @String@, *uma das classes do n&#250;cleo do Ruby*!
+
+
+        &quot;Eu sei que isto &#233; um pouco perigoso,&quot; Eu disse, quando passei isso por baixo do nariz do Paij-ree.
+        &quot;Eu espero que ningu&#233;m se machuque.&quot;
+
+
+        &quot;Todo Smotchkkiss deve experimentar o que esse (kep-yo-iko) perigo faz,&quot; ele disse.  &quot;Dogs and logs
+        and swampy bogs (kul-ip), all must be tasted.&quot;  E ele deu uma golada no seu drink de p&#226;ntano Beagle Berry.
+
+
+        Ent&#227;o o que &#233; que eu estou adicionando &#224; classe @String?@  Duas coisas: uma vari&#225;vel de classe e
+        um m&#233;todo.  Um *m&#233;todo de inst&#226;ncia* normal.
+
+
+        Eu gosto de ver a *arroba* como um caracter que significa *atributo*.  A *arroba dupla*
+        *atributo coletivo*.  Uma vari&#225;vel de classe.  Todas as inst&#226;ncias da classe podem olhar
+        pra esta v&#225;riavel e ela &#233; a mesma pra todas.  A vari&#225;vel @@@silabas@ &#233; um Array
+        que agora pode ser usado dentro da classe String.
+
+
+        O novo m&#233;todo &#233; @significado_do_nome@ e esse novo m&#233;todo pode ser usado com qualquer string.
+
+
+        bq. @print &quot;Paij-ree&quot;.significado_do_nome@ imprime @Pessoal AM@.
+
+
+        Como voc&#234; pode ver, Paij-ree &#233; um nome pessoal.  Um nome que os amigos usam nas manh&#227;s.
+
+
+        Tenha certeza de ter visto a linha de c&#243;digo que usa @self@.  Esta &#233; uma vari&#225;vel especial, uma
+        vari&#225;vel que representa o objeto cujo m&#233;todo voc&#234; est&#225; chamando.  Para simplificar as coisas um
+        pouco, vamos tentar fazer um m&#233;todo que separe uma string pelos h&#237;fens.
+
+
+        &lt;pre&gt;
+         class String
+           def separar_hifen
+             self.split( '-' )
+           end
+         end
+        &lt;/pre&gt;
+
+
+        De novo, aqui est&#225; um m&#233;todo que pode ser usando com qualquer string.
+
+
+        bq. @&quot;Gonk-plo&quot;.separar_hifen@ retorna o Array @['Gonk', 'plo']@.
+
+
+        Usar @self@ marca o a entrada em um novo est&#225;gio com id&#233;ias mais avan&#231;adas no Ruby.
+        Esta &#233; uma linguagem de defini&#231;&#227;o.  Voc&#234; est&#225; definindo um m&#233;todo, desenhando ele antes dele ser usado.  Voc&#234; est&#225;
+        preparando para a exist&#234;ncia de um objeto que use aquele m&#233;todo.  Voc&#234; est&#225; dizendo, &quot;Quando @separar_hifen@ 
+        for usado, haver&#225; uma string a qual estaremos separando-h&#237;fens.  E @self@ &#233; uma vari&#225;vel especial 
+        que faz refer&#234;ncia &#224;quela string.&quot;
+
+
+        Ruby &#233; uma linguagem de defini&#231;&#227;o imbat&#237;vel.  Uma discuss&#227;o suculenta e de rachar a cuca estar&#225; no seu caminho
+        mais fundo no livro.
+
+
+        Na maioria das vezes voc&#234; n&#227;o precisa usar @self@ expl&#237;citamente, j&#225; que voc&#234; pode chamar m&#233;todos
+        diretamente dentro de outra defini&#231;&#227;o de m&#233;todo.
+
+
+        &lt;pre&gt;
+         class String
+           def separar_hifen; split( '-' ); end
+         end
+        &lt;/pre&gt;
+
+
+        No m&#233;todo @significado_do_nome@, encontre o loop.  Aprender sobre @Array#collect@ &#233; essencial.
+        Vamos olhar de perto.
+
+
+        &lt;pre&gt;
+         significado = partes.collect do |p|
+           silabas.shift[p]
+         end
+        &lt;/pre&gt;
+
+
+        O Array @partes@ cont&#233;m o nome separado.  @['Paij', 'plo']@, por exemplo.  Estamos iterando por
+        cada item naquele Array com @collect@.  Mas @collect@ vai uma passo a frente ao que o @each@ faz.  Assim
+        como @each@, collect joga cada item pela calha como uma vari&#225;vel de bloco.  E a&#237;, ao t&#233;rmino do 
+        block, @collect@ *mant&#233;m a resposta que o block d&#225; e a adiciona em um novo Array*.  O m&#233;todo 
+        @collect@ &#233; o jeito perfeito de se fazer um novo Array que &#233; baseado em itens de um Array existente.
+
+
+        O Doug tem tr&#234;s gatos &#224; venda.  Um custa doze centavos, um sessenta e tr&#234;s centavos, um nove centavos.
+        Vamos ver quanto cada gato custaria se n&#243;s adicion&#225;ssemos uma gorjeta de 20%.
+
+
+        &lt;pre&gt;
+         gatosegorjetas = [0.12, 0.63, 0.09].collect { |custogato| custogato + ( custogato * 0.20 ) }
+        &lt;/pre&gt;
+
+
+        Costumo dizer que a propriedade do Paij-ree &#233; um charmoso peda&#231;o de floresta quando n&#227;o est&#225; chovendo gatos e Doug.
+        Por v&#225;rios dias, Paij-ree e eu acampamos em tendas perto do rio atr&#225;s da casa dele, subsistindo de
+        fuma&#231;a de turdus e retalhando indiozinhos adormecidos ao por do sol.  Em uma ocasi&#227;o ele perdeu no
+        carteado e eu sabia que sua mente estava distra&#237;da, pensando em Endertromb.  Tudo isso deve estar
+        remoendo nele por algum tempo j&#225;.  Eu fui o primeiro confidente que ele tivera.
+
+
+        &quot;Acabei de vir de Ambrose,&quot; Eu disse.  &quot;Sort of my own underground home, a place where elves
+        strive to perfect animals.&quot;
+
+
+        He mumbled and nodded.  &quot;You can't be (poth-in-oin) part of (in) such things.&quot;
+
+
+        &quot;Voc&#234; acha que n&#243;s falharemos?&quot;
+
+
+        &quot;Eu (preep) j&#225; vi isso antes,&quot; ele disse.  E da&#237;, ele falou sobre a Loteria.
+
+</diff>
      <filename>lang-pt/poignant-46.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,61 +1,61 @@
-    - A Cabra Quer Ver Um Filme Inteiro: &gt;
-
-
-        !i/the.goat-1.gif(Blinky, winky, uma cabra... desperta...)!
-
-
-        O elevador se abriu numa sala verde cheia de estantes e arquivos. 
-        Rolos de filme e latas de filme e fitas de v&#237;deo por toda parte.  O Dr. Cham n&#227;o
-        fazia id&#233;ia do que a maioria das coisas eram.  Tudo que ele viu uma grande, bagun&#231;a futur&#237;stica.
-
-
-        Ele chamou novamente, esbarrando em estreitos becos entre estantes, 
-        &quot;Al-&#244;-&#244;??  Estou procurando vida inteligente, sou um viajante
-        do espa&#231;o!&quot;  Ele trope&#231;ou quando seu p&#233; enroscou num videocassete.
-        &quot;Algum outro ser que eu possa me comunicar?&quot;
-
-
-        Com as m&#227;os em volta da boca, ele gritou, &quot;Al-&#244;-&#244;?&quot;
-
-
-        &quot;Crying out loud.&quot;*  A cabra sonolenta veio trotando pelo corredor.
-        * Livro do poeta norte-americano Cid Corman
-         
-        
-        !i/dr.cham-5.gif(A cabra j&#225; conhece o Dr. Cham.)!
-
-
-        &quot;Eu odeio aquele livro,&quot; disse a cabra.  &quot;Eu acho que o autor &#233; insincero.&quot;
-
-
-        &quot;Mesmo?&quot; perguntou o Dr. Cham.
-
-
-        &quot;Tenho certeza que tudo &#233; verdade.  Mas &#233; muito enfeitado.  Eu fico tipo: 
-        Chega.   J&#225; entendi.  P&#225;ra com isso.&quot;
-
-
-        &quot;I'm not quite sure what to make of it,&quot; said the Doctor.  &quot;It seems like an honest effort.
-        I actually wrote something in Ruby back there.&quot;
-
-
-        &quot;Isto n&#227;o d&#225; &#224;s cabras uma boa reputa&#231;&#227;o,&quot; disse a cabra.
-
-
-        &quot;Mas voc&#234; &#233; a &#250;nica cabra no livro,&quot; disse o Doutor.
-
-
-        &quot;E totalmente mal interpretada.&quot;
-
-
-        !i/dr.cham-6.gif(The mechanics behind devouring Dr. Cham.)!
-
-
-        The goat closed his mouth and Dr. Cham held his heart.
-
-
-        &quot;Eu sou na verdade muito letrada,&quot; disse a cabra.  &quot;Se bem que, recentemente, eu estou vendo
-        mais filmes.  Eu amo filmes estrangeiros.  Um de meus parentes acabou de trazer _Ishtar_
-        do seu planeta.  Wow, aquilo foi excelente.&quot;
-
-
+    - A Cabra Quer Ver Um Filme Inteiro: &gt;
+
+
+        !i/the.goat-1.gif(Blinky, winky, uma cabra... desperta...)!
+
+
+        O elevador se abriu numa sala verde cheia de estantes e arquivos. 
+        Rolos de filme e latas de filme e fitas de v&#237;deo por toda parte.  O Dr. Cham n&#227;o
+        fazia id&#233;ia do que a maioria das coisas eram.  Tudo que ele viu uma grande, bagun&#231;a futur&#237;stica.
+
+
+        Ele chamou novamente, esbarrando em estreitos becos entre estantes, 
+        &quot;Al-&#244;-&#244;??  Estou procurando vida inteligente, sou um viajante
+        do espa&#231;o!&quot;  Ele trope&#231;ou quando seu p&#233; enroscou num videocassete.
+        &quot;Algum outro ser que eu possa me comunicar?&quot;
+
+
+        Com as m&#227;os em volta da boca, ele gritou, &quot;Al-&#244;-&#244;?&quot;
+
+
+        &quot;Crying out loud.&quot;*  A cabra sonolenta veio trotando pelo corredor.
+        * Livro do poeta norte-americano Cid Corman
+         
+        
+        !i/dr.cham-5.gif(A cabra j&#225; conhece o Dr. Cham.)!
+
+
+        &quot;Eu odeio aquele livro,&quot; disse a cabra.  &quot;Eu acho que o autor &#233; insincero.&quot;
+
+
+        &quot;Mesmo?&quot; perguntou o Dr. Cham.
+
+
+        &quot;Tenho certeza que tudo &#233; verdade.  Mas &#233; muito enfeitado.  Eu fico tipo: 
+        Chega.   J&#225; entendi.  P&#225;ra com isso.&quot;
+
+
+        &quot;I'm not quite sure what to make of it,&quot; said the Doctor.  &quot;It seems like an honest effort.
+        I actually wrote something in Ruby back there.&quot;
+
+
+        &quot;Isto n&#227;o d&#225; &#224;s cabras uma boa reputa&#231;&#227;o,&quot; disse a cabra.
+
+
+        &quot;Mas voc&#234; &#233; a &#250;nica cabra no livro,&quot; disse o Doutor.
+
+
+        &quot;E totalmente mal interpretada.&quot;
+
+
+        !i/dr.cham-6.gif(The mechanics behind devouring Dr. Cham.)!
+
+
+        The goat closed his mouth and Dr. Cham held his heart.
+
+
+        &quot;Eu sou na verdade muito letrada,&quot; disse a cabra.  &quot;Se bem que, recentemente, eu estou vendo
+        mais filmes.  Eu amo filmes estrangeiros.  Um de meus parentes acabou de trazer _Ishtar_
+        do seu planeta.  Wow, aquilo foi excelente.&quot;
+
+</diff>
      <filename>lang-pt/poignant-47.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,30 +1,30 @@
-    - !^sidebar
-      ~: |
-
-        &lt;pre&gt;
-           n&#243;s queremos um tamborim!
-                    /
-                   |  n&#243;s todos queremos um tamborim!
-                   |      /
-                   \__  |
-                 /  o o \__/\__/\_
-               /.           \ o o \____
-                /'      ----/          \
-         _____ /  '    / /.\\   #------/
-                /     /        /     \\
-                      /       ///
-               /de               \
-                    /\   \vez  en\\..
-                /qu/  \do estas fotos\\
-               /an/   \n&#227;o fun\ \ci onam\
-              ***      *** direito mas
-                acho que desta vez
-                   funcionou
-                     ooo o
-                      oo
-                     o
-                  o
-               {o}
-            ^
-        &lt;/pre&gt;
-
+    - !^sidebar
+      ~: |
+
+        &lt;pre&gt;
+           n&#243;s queremos um tamborim!
+                    /
+                   |  n&#243;s todos queremos um tamborim!
+                   |      /
+                   \__  |
+                 /  o o \__/\__/\_
+               /.           \ o o \____
+                /'      ----/          \
+         _____ /  '    / /.\\   #------/
+                /     /        /     \\
+                      /       ///
+               /de               \
+                    /\   \vez  en\\..
+                /qu/  \do estas fotos\\
+               /an/   \n&#227;o fun\ \ci onam\
+              ***      *** direito mas
+                acho que desta vez
+                   funcionou
+                     ooo o
+                      oo
+                     o
+                  o
+               {o}
+            ^
+        &lt;/pre&gt;
+</diff>
      <filename>lang-pt/poignant-48.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,519 +1,519 @@
-    - &gt;
-        &quot;Eu n&#227;o visito o meu planeta h&#225; muito tempo.  Seria dif&#237;cil consider&#225;-lo minha casa
-        a esta altura do campeonato.&quot;
-
-
-        &quot;Bem, Warren Beatty &#233; maravilhoso.  Sua personagem &#233; basicamente socialmente aleijada.  Ele
-        at&#233; tenta se matar, mas Dustin Hoffman senta no peitoril da janela e come&#231;a a chorar
-        e cantar uma m&#250;sica totalmente hil&#225;ria, &#233; de partir o cora&#231;&#227;o.  Eu tenho ele aqui,
-        voc&#234; devia assist&#237;-lo.&quot;
-
-
-        &quot;Posso pegar algo para comer?&quot; perguntou o Doutor.  E ainda se sentia sujo.
-
-
-        &quot;How about we watch a film and you can have a buttermelon with tentacles?&quot; said the goat.
-
-
-        So, they worked their way back toward the goat's projector.  Back by the freezer locker,
-        they sat on a giant rug and broke off the appendages of frozen buttermelons.  The shell
-        was solid, but once it cracked, rich fruit cream was in abundance.  Sweet to taste and
-        a very pleasant scent.
-
-
-        &quot;First film, you've got to see,&quot; said the goat.  &quot;Locally filmed and produced.  I'm
-        good friends with the lady who did casting.  Dated her for awhile.  Knew everyone
-        who was going to play the different roles long before it was announced.&quot;
-
-
-        The goat set the projector by Dr. Cham.  &quot;I ve got the music on the surround sound.
-        You can man the knob.&quot;
-
-
-        !i/filmstrip-1.gif(The Originals and their lonesome planet.)!
-
-
-        Dr. Cham's mind wandered at this point in the presentation, just as the land war
-        mounted between the two throngs of animal settlers.  The details of their wars
-        and campaigns continued to consume the spool of transparent film that Dr. Cham
-        was feeding through the projector.  
-
-
-        War after war after war.  The Sieging of Elmer Lake.  The Last Stand of Newton P. Giraffe
-        and Sons.  Dog Invasion of Little Abandoned Cloud.  Nenhum animal morreu nessas guerras. 
-        Most often an attack consisted of bopping another
-        animal on the head.  And they philipped each other s noses.  But, believe me,
-        it was humiliating.
-
-
-        Blasted crying shame.  Things could have worked out.
-
-
-        h3. O Nascimento de um Objeto
-
-
-        &quot;N&#227;o se preocupe,&quot; disse a cabra, anxious to sway Dr. Chams attention back to the film.  &quot;Things _do_
-        work out.&quot;
-
-
-        No Ruby, o Objeto &#233; o centro exato das todas as coisas.  Ele &#233; O Original.
-
-
-        &lt;pre&gt;
-         class UrsoTostado &lt; Object; end
-        &lt;/pre&gt;
-
-
-        The angle bracket indicates *inheritance*.  Isto significa que a nova classe @UrsoTostado@
-        &#233; um nova classe baseada na classe @Objeto@.  Todo m&#233;todo que @Objeto@ tem vai estar
-        dispon&#237;vel na @UrsoTostado@.  Constantes dispon&#237;veis em @Objeto@ v&#227;o estar dispon&#237;veis em
-        @UrsoTostado@.
-
-
-        Mas todo objeto &#233; herdeiro de @Object@.  O c&#243;digo...
-
-
-        &lt;pre&gt;
-         class UrsoTostado; end
-        &lt;/pre&gt;
-
-
-        &#201; id&#234;ntico a...
-
-
-        &lt;pre&gt;
-         class UrsoTostado &lt; Object; end
-        &lt;/pre&gt;
-
-
-        Heran&#231;a &#233; &#250;til.  Voc&#234; pode criar esp&#233;cies de objetos que se relacionam entre si.
-        Quase sempre, quando voc&#234; est&#225; dissecando um problema, voc&#234; vai se deparar com v&#225;rios objetos que
-        compartilham atributos.  Voc&#234; pode ter menos trabalho herdando de classes que j&#225; solucionam
-        parte desse problema.
-
-
-        Voc&#234; pode ter uma classe @BrasilEndereco@ que guarda o endere&#231;o, cidade, estado,
-        e cep de alguem que more no Brasil.  Quando voc&#234; come&#231;ar a guardar endere&#231;os
-        da Inglaterra, voc&#234; pode adicionar uma classe @ReinoUnidoEnderecos@.  Se voc&#234; ent&#227;o
-        garantir que os dois endere&#231;os herdem de uma classe m&#227;e @Endereco@, voc&#234; pode
-        planejar seu software de correspond&#234;ncia de modo que aceite todo tipo de endere&#231;o.
-
-
-        &lt;pre&gt;
-         def envie_a_eles_um_kit( endereco )
-           unless endereco.is_a? Endereco
-             raise ArgumentError, &quot;Objeto Endereco n&#227;o encontrado.&quot;
-           end
-           print endereco.formatted
-         end
-        &lt;/pre&gt;
- 
-
-        Al&#233;m disso, heran&#231;a &#233; &#243;timo se voc&#234; quer sobreescrever certos comportamentos numa classe.
-        Por exemplo, talvez voc&#234; queira fazer a sua pr&#243;pria varia&#231;&#227;o variation to the @Array@ class.
-        You want to enhance the @join@ method.  But if you change @Array#join@ directly, you
-        will affect other classes in Ruby that use Arrays.
-
-
-        Ent&#227;o voc&#234; come&#231;a sua pr&#243;pria classe chamada @MeuArray@, que &#233; baseada na classe @Array@ original.
-        
-
-        &lt;pre&gt;
-         class MeuArray &lt; Array
-           # Contruir uma string neste array, formatando cada entrada
-           # e depois as unindo.
-           def join( sep = $,, format = &quot;%s&quot; )
-             collect do |item|
-               sprintf( format, item )
-             end.join( sep )
-           end
-         end
-        &lt;/pre&gt;
-
-
-        @MeuArray@ &#233; agora uma classe @Array@ customizada com o seu pr&#243;prio m&#233;todo @join@.  @Array@ &#233;
-        a *superclass (classe-superior, classe-m&#227;e)* do @MeuArray@.  Cada objeto tem um m&#233;todo @superclass@ 
-        onde voc&#234; pode verificar esta rela&#231;&#227;o.
-
-
-        &lt;pre&gt;
-         irb&gt; MinhaArray.superclass
-           =&gt; Array
-        &lt;/pre&gt;
-
-
-        Perfeito.  N&#243;s administramos um hotel e n&#243;s temos uma @Array@ dos tamanhos dos nossos quarots: @[3, 4, 6]@.
-        Vamos imprimir isso de um jeito bacana pra encadenarmos.
-
-
-        &lt;pre&gt;
-         quartos = MinhaArray[3, 4, 6]
-         print &quot;N&#243;s temos quartos de &quot; + quartos.join( &quot;, &quot;, &quot;%d camas&quot; ) + &quot; dispon&#237;veis.&quot;
-        &lt;/pre&gt;
-
-
-        Que imprime, &quot;N&#243;s temos quartos de 3 camas, 4 camas, 6 camas dispon&#237;veis.&quot;
-
-
-        Dr. Cham estava procurando por um banheiro, but archival video tape was everywhere.
-        Ele acabou encontrando um lugar, que poderia ser um banheiro.  Tinha um vaso de metal.
-        Mas mais importante, era escuro e escondido.
-        
-
-        Enquanto s in there, let me add that enquanto Os Originais slaughtered The Invaders
-        to prove their rights as First Creatures, o Objeto Ruby Object n&#227;o disputou nada.
-        Ele &#233; rei absoluto Objeto o Primeiro.
-
-
-        Observe.
-
-
-        &lt;pre&gt;
-         irb&gt; Class.superclass
-           =&gt; Module
-         irb&gt; Kernel.class
-           =&gt; Module
-         irb&gt; Module.superclass
-           =&gt; Object
-         irb&gt; Object.superclass
-           =&gt; nil
-        &lt;/pre&gt;
-
-
-        At&#233; @Classe@ &#233; um @Objeto@!  Veja, mesmo as classes sendo linguagem de defini&#231;&#227;o para objetos,
-        n&#243;s ainda pode mos chamar m&#233;todos de classe nelas e trat&#225;-los como objetos ocasionalmente.  It may seem
-        like a dizzying circle, but it s truly a very strict parentage.  E garante que quando voc&#234;
-        altera o @Object@, voc&#234; altera *tudo no Ruby*.  Which is impossibly scary and all-powerful
-        and cataclysmic and awesome!  *Ruby n&#227;o te restringe, minha irm&#227;, meu irm&#227;o!* 
-
-
-        Entre @Class@ e @Object@, voc&#234; v&#234; @Module@?  Se @Object@ &#233; o rei, the one who has
-        sired every other part of Ruby, then @Module@ is the poor waifish nun, shielding
-        and protecting all her little Ruby townspeople children.  (To complete the analogy:
-        @Class@ &#233; a professora da escola da vila e @Kernel@ &#233; the self-important colonel.)
-
-
-        O motivo da exist&#234;ncia do @Module@ &#233; dar comida e abrigo a c&#243;digo.  M&#233;todos
-        podem ficar abrigados embaixo da manta do @Module@.  @Module@ pode conter classes, constantes e 
-        vari&#225;veis de qualquer tipo.
-
-
-        &quot;Mas o que um Module _faz_?&quot; voc&#234; pergunta.  &quot;Como ele &#233; lucrativamente utilizado??&quot;
-
-
-        &quot;Isso &#233; tudo que ele faz!!&quot; Eu replico, mostrando as palmas da m&#227;o na maior express&#227;o
-        de futilidade conhecida pelo homem.  &quot;Agora me escute -- pois n&#227;o me repetirei -- essa 
-        M&#227;e M&#243;dulo Superior deu a estes pobres objetos um lugar pra morar!!&quot;
-
-
-        &lt;pre&gt;
-         # Veja, aqui est&#225; o module -- onde mais seu c&#243;digo poderia estar?
-         module AtenciosaSantaInes
-
-           # Uma CONSTANTE repousa perto da porta.  &#211;timo.
-           HOMEM_DESDENTADO_COM_GARFO = ['homem', 'garfo', 'exposed gums']
-
-           # Uma Class est&#225; comendo, vivendo bem na cozinha.
-           class CriancaGordaDeCera; end
-
-           # Um M&#233;todo est&#225; se escondendo l&#225; atr&#225;s no arm&#225;rio banana, Deus sabe porqu&#234;.
-           def timida_garota_com_cara_de_raposa; {'please' =&gt; 'eu quero uma bolota de carvalho por favor'}; end
-
-         end
-        &lt;/pre&gt;
-           
-           
-        Agora voc&#234; tem que ir pela Santa In&#234;s para ach&#225;-los.
-
-
-        &lt;pre&gt;
-         &gt;&gt; AtenciosaSantaInes::HOMEM_DESDENTADO_COM_GARFO
-         =&gt; [&quot;homem&quot;, &quot;garfo&quot;, &quot;exposed gums&quot;]
-         &gt;&gt; AtenciosaSantaInes::CriancaGordaDeCera.new
-         =&gt; #&lt;AtenciosaSantaInes::FatWaxyChild:0xb7d2ad78&gt;
-         &gt;&gt; AtenciosaSantaInes::instance_methods
-         =&gt; [&quot;timida_garota_com_cara_de_raposa&quot;]
-        &lt;/pre&gt;
-
-
-        Lembre-se sempre que um @Module@ &#233; somente um hotel.  Um teto sob as cabe&#231;as deles.  Ele n&#227;o &#233; uma
-        auto-consciente @Classe@ e,  portanto, n&#227;o pode ser trazida &#224; vida com @new@.
-
-
-        &lt;pre&gt;
-         &gt;&gt; AtenciosaSantaInes.new
-         NoMethodError: undefined method `new' for AtenciosaSantaInes:Module
-                 from (irb):2
-        &lt;/pre&gt;
-
-
-        Santa In&#234;s deu a pr&#243;pria vida pra cuidar desses peda&#231;os de c&#243;digo desesperados.
-        Por favor.  N&#227;o tire isso dela.
-
-
-        Se, todavia, voc&#234; quer roubar da Santa In&#234;s, eu posso te ajudar.
-        Voc&#234; pode arrumar um grande mosteiro pra engrupir o minist&#233;rio da @AtenciosaSantaInes@ e da&#237;
-        o qu&#234; sobrar&#225; pra ela?
-
-
-        Para isso voc&#234; pode usar @extend@, que vai puxar todos os m&#233;todos do m&#243;dulo pra dentro de uma classe ou um objeto.
-
-
-        &lt;pre&gt;
-         &gt;&gt; class FundacaoDeAmorEAmparoTimeWarnerAolCitibank; end
-         &gt;&gt; FundacaoDeAmorEAmparoTimeWarnerAolCitibank.extend AtenciosaSantaInes
-         &gt;&gt; FundacaoDeAmorEAmparoTimeWarnerAolCitibank::instance_methods
-         =&gt; [&quot;timida_garota_com_cara_de_raposa&quot;]
-        &lt;/pre&gt;
-
-
-        Na verdade, ningu&#233;m _roubou_ da @AtenciosaSantaInes@, somente pegaram emprestado.
-        A @timida_garota_com_cara_de_raposa@ agora tem dois endere&#231;os.
-
-
-        Voc&#234; deve admitir.  O velho mosteiro pode ser comprado um zilh&#227;o de vezes e a pequena garota-com-cara-de-raposa
-        _ainda_ estar&#225; nos fundos no arm&#225;rio banana esperando uma bolota de carvalho!  Que pena que n&#227;o podemos aliment&#225;-la.
-        Ela &#233; um m&#233;todo sem argumentos.
-
-
-        When Dr. Cham came out refreshed, the filmstrip was a bit behind.  Mas a cabra n&#227;o notou,
-        ent&#227;o o Doutor avan&#231;ou alguns quadros at&#233; fazer algum sentido.
-
-
-        !i/filmstrip-2.gif(The goats that told a planet it was ugly.)!
-
-
-        Ent&#227;o os invasores deixaram o planeta.
-
-
-        &quot;Este planeta _&#233;_ decr&#233;pito,&quot; disse o Dr. Cham.  &quot;O castelo &#233; bacana.  Mas por dentro
-        &#233; um desastre.&quot;
-
-
-        &quot;O castelo parece uma proje&#231;&#227;o,&quot; disse a cabra.  &quot;All the flowers
-        and apple blossoms and the sky even.  &#201; uma proje&#231;&#227;o de baixa resolu&#231;&#227;o.&quot;
-
-
-        &quot;Sim?  Ele &#233; encantador.&quot;
-
-
-        &quot;I guess.&quot;
-
-
-        !i/filmstrip-3.gif(The spool ends.)!
-
-
-        &quot;That's messed up!&quot; said the goat.  &quot;N&#227;o &#233; assim que o filme termina!
-        N&#227;o teve sangue!  O que aconteceu?  O que aconteceu?  Voc&#234; apertou o bot&#227;o errado, idiota?&quot;
-
-
-        &quot;Bem, eu n&#227;o sei,&quot; disse o Dr. Cham.  Ele girou o bot&#227;o pra frente e pra tr&#225;s.
-        Tapped the lens.
-
-
-        &quot;Cheque a fita!  Cheque a fita!&quot;
-
-
-        Dr. Cham tirou um peda&#231;o do filme do alimentador do projetor, derretido e pingando
-        nas pontas.
-
-
-        &quot;Maldi&#231;&#227;o!  Estes projetores s&#227;o de qualidade!  Nunca vi isso acontecer.  N&#227;o pode ser.&quot;
-
-
-        h3. Hunting For a Voice
-
-
-        &quot;Eu n&#227;o acho que tenha sido o projetor,&quot; disse o Dr. Cham.  &quot;Something flew across that screen
-        and uttered a blistering moan.&quot;
-
-
-        &quot;I don't have any dupes of that movie,&quot; said the goat somberly.  &quot;And that girl.  That casting
-        director.  I never see her anymore.&quot;
-
-
-        Dr. Cham stood up and looked over the dumpy aisles of magnetic carnage, searching.
-
-
-        &quot;Oh, hey, you should call that girl,&quot; the goat went on. &quot;You could talk to her, get an understanding.
-        Tell her about me.  Don't act like your my friend, just, you know, 'Oh, that guy?
-        Yeah, whatta maroon.'&quot;
-
-
-        Dr. Cham spotted the doorway and exited.
-
-
-        The hallways were an entirely new world of mess.  In the goat's archives, the shelves had been messy.
-        In the hallway, shelves were completely tipped.  Sinks were falling through the ceiling.  
-        The Doctor ventured under the debris, kicking through plywood when necessary.
-
-
-        &quot;You shouldn't be out here,&quot; said the goat.  &quot;You're on someone else's property at this point.
-        A couple of pygmy elephants own all this.  They're nasty guys.  They'll beat the crap outta you
-        with their trunks.  They ball it up and just whack ya.&quot;
-
-
-        Dr. Cham pushed a file cabinet out of his way, which fell through a flimsy wall, then through
-        the floor of the next room over.  And they heard it fall through several floors after that.
-
-
-        &quot;I'm trying to remember how it goes in the book,&quot; said Dr. Cham, as he walked swiftly through
-        the hall.  &quot;That milky fog that swept
-        across the projection.  We find that thing.&quot;  He jiggled a door handle, broke it off.  Forged
-        through the doorway and disappeared inside.
-
-
-        &quot;You really get a kick out of beating stuff up, don't you?&quot; said the goat.  &quot;Walls, doors.&quot;
-        The goat headbutted a wall.  The wall shuddered and then laid still.
-
-
-        Then, it was quiet.  And black.
-
-
-        The goat stayed put in the bleak hallway, expecting Dr. Cham to flip over a few desks and emerge,
-        ready to move on from the room he'd busted into.  But Dr. Cham didn't return, and the goat opted
-        to share a moment with the neglected wreckage left by his neighbors.  Not that he could see at all.
-        He could only hear the occassional rustling of the piles of invoices and carbon copy masters and
-        manila envelopes when he shifted his legs.
-
-
-        The ground seemed to buckling right under the goat, as if the heaps of kipple around him were
-        beginning to slide toward his weight.  He would be at the center of this whirlpool of elephant
-        documentation.  Would he die of papercuts first?  Or would he suffocate under the solid burial
-        by office supplies?
-
-
-        A soft light, however, crept up to him.  A floating, silver fish.  No, it was a -- was it scissors?
-        The scissors grew into a shimmering cluster of intellegent bread, each slice choking on glitter.
-        But, no, it was hands.  And an Easter hat.
-
-
-        !i/hannah-1.gif(The goat alone in the hallway, meets an apparition.)!
-
-
-        In another room, Dr. Cham stood under the clear glass silently.  The ceiling had abruptly
-        gone transparent, then starlight washed over his pants and jacket.  He walked further to
-        the room's center in muted colors, lit as softly as an ancient manuscript in its own box at
-        the museum.  More stars, more cotton clusters of fire, unveiled as he came across the floor.
-        And it peeked into view soon enough, he expected it to be larger, but it wasn't.
-
-
-        Earth.  Like a painted egg, still fresh.  He felt long cello strings sing right up
-        against his spine.  How could that be called Peoplemud?  Here was a vibrant and grassy
-        lightbulb.  The one big ball that had something going for it.
-
-
-        He thought of The Rockettes.  Actually, he missed The Rockettes.  What a bunch of
-        great dancers.  He had yelled something to The Rockettes when he saw them.  Something
-        very observant and flattering.
-
-
-        Oh, yes, while The Rockettes were spinning, arm in arm, he had yelled, &quot;Concentric circles!&quot;
-        Which no one else cared to observe. 
-        
-
-        And this thought was enough to feed Dr. Cham's superiority complex.  He wore a goofy
-        smile as he retraced his footsteps.  He truthfully felt his genius coming through in
-        such a statement.  To realize the simplicity of a circle was his.  He reflected on it
-        all the way back to the hallway.
-
-
-        Which I think is great.  Adore yourself when you have a second.
-
- 
-        !i/hannah-2.gif(The Doctor knows this ghost.)!
-
-
-        &quot;Oh, right,&quot; said the goat.  &quot;Your niece.  The niece you killed.  I'm with ya now.&quot;
-
-
-        For just a few moments, they all looked at each other.  Just enough
-        time for both Dr. Cham and the goat to think: _Oh, yeah.  Hannah
-        causes us a lot of trouble.  She's already talking about maple donuts._
-
-
-        &quot;Does she start talking about maple donuts right away like that?&quot;
-        asked the goat.
-
-
-        &quot;Yes, she does,&quot; said the Doctor.  &quot;She brings it up to you, then
-        she brings it up to me.  She sees a maple donut somewhere -- I don't
-        quite remember where.&quot;
-
-
-        &quot;Do I see a real maple donut?&quot; Hannah said.  &quot;I need a real one.&quot;
-
-
-        &quot;Okay, okay,&quot; said the goat.  &quot;Yeah, I remember: here's where she says
-        that if she gets a real maple donut, she'll become a real person again.
-        Because her real destiny was to own a bakery and you ruined that destiny
-        and now she's trapped as a ghost.&quot;
-
-
-        &quot;Hey, that's the truth!&quot; Hannah yelped.
-
-
-        &quot;It's terrible that we must bear through this whole scene again,&quot; said
-        the Doctor.  &quot;The donuts are immaterial.  They should be left out altogether.&quot;
-
-
-        &quot;Man, I am having a _hard_ time remembering all of this chapter,&quot; said
-        the goat.  &quot;I don't even remember how to get out of this hallway.  I must
-        have read that book like thirty times.  Do we blast through a wall?   Do
-        we scream until someone finds us?&quot;
-
-
-        &quot;We get Hannah to float through walls and she finds some kind of machine,&quot;
-        says Dr. Cham.  &quot;I have to write a program -- it all works out somehow.&quot;
-
-
-        &quot;But, you know what I'm saying?&quot; said the goat.  &quot;I forget all the details.
-        Especially the earlier chapters.  I mean I can remember the ending perfectly.
-        It's hard to sit through all this.  The end is so much better.&quot;
-
-
-        Dr. Cham folded his arms and teetered on a heel.  &quot;The porcupine.&quot;  He
-        smiled greedily at the goat.
-
-
-        &quot;Oh, totally.  The porcupine is definitely who I want to meet,&quot; said the
-        goat.  &quot;I wonder what he does with all that money when the book is over.&quot;
-
-
-        Dr. Cham nodded respectfully.  &quot;I'm very excited to see him wearing slippers.&quot;
-
-
-        &quot;Those infernal slippers!&quot; said the goat and he haw-hawed coarsely, a shower
-        of saliva cascading from his jaws.
-
-
-        Hannah's mind rattled, waiting for this nonsense to break for a moment.
-        She tipped her head on its side and the rattle slid along the curve of
-        her cranium.  The little noise died away, though, as the back of her head
-        vanished (_fluxed out_ is what she called it) and then her head was  
-        back again with its little rattle and she caught herself doing that
-        careless moaning again.  *HRRRRRR-RRR-OH-RRRR-RRRR.*
-
-
-        &quot;I'm not as into the chunky bacon stuff,&quot; said the goat.  &quot;I don't see
-        what's so great about it.&quot;
-
-
-        Could she speak while moaning? *BON-BON.*  Com um sotaque franc&#234;s.  *BOHN-BOHN.
-        BOHN-APPE-TEET-OHHHH-RRRR.*
-
-
-        &quot;I know she's harmless, but that sound freaks me out.  My hair is
-        *completely* on end.&quot;
-
-
-        &quot;Hannah?&quot; disse o Dr. Cham.  &quot;Onde voc&#234; est&#225;, crian&#231;a?  Come do a good turn
-        for us, my niece.&quot;
-
-
-        She was right near them, in and out.  And they could hear her
-        cleaning up her voice, bright, speaking like a angel scattering stardust.
-        Yes, the whole maple donut story came out again, and more about the
-        bakery she would own, the muffins and rolls and baguettes.
-
-
+    - &gt;
+        &quot;Eu n&#227;o visito o meu planeta h&#225; muito tempo.  Seria dif&#237;cil consider&#225;-lo minha casa
+        a esta altura do campeonato.&quot;
+
+
+        &quot;Bem, Warren Beatty &#233; maravilhoso.  Sua personagem &#233; basicamente socialmente aleijada.  Ele
+        at&#233; tenta se matar, mas Dustin Hoffman senta no peitoril da janela e come&#231;a a chorar
+        e cantar uma m&#250;sica totalmente hil&#225;ria, &#233; de partir o cora&#231;&#227;o.  Eu tenho ele aqui,
+        voc&#234; devia assist&#237;-lo.&quot;
+
+
+        &quot;Posso pegar algo para comer?&quot; perguntou o Doutor.  E ainda se sentia sujo.
+
+
+        &quot;How about we watch a film and you can have a buttermelon with tentacles?&quot; said the goat.
+
+
+        So, they worked their way back toward the goat's projector.  Back by the freezer locker,
+        they sat on a giant rug and broke off the appendages of frozen buttermelons.  The shell
+        was solid, but once it cracked, rich fruit cream was in abundance.  Sweet to taste and
+        a very pleasant scent.
+
+
+        &quot;First film, you've got to see,&quot; said the goat.  &quot;Locally filmed and produced.  I'm
+        good friends with the lady who did casting.  Dated her for awhile.  Knew everyone
+        who was going to play the different roles long before it was announced.&quot;
+
+
+        The goat set the projector by Dr. Cham.  &quot;I ve got the music on the surround sound.
+        You can man the knob.&quot;
+
+
+        !i/filmstrip-1.gif(The Originals and their lonesome planet.)!
+
+
+        Dr. Cham's mind wandered at this point in the presentation, just as the land war
+        mounted between the two throngs of animal settlers.  The details of their wars
+        and campaigns continued to consume the spool of transparent film that Dr. Cham
+        was feeding through the projector.  
+
+
+        War after war after war.  The Sieging of Elmer Lake.  The Last Stand of Newton P. Giraffe
+        and Sons.  Dog Invasion of Little Abandoned Cloud.  Nenhum animal morreu nessas guerras. 
+        Most often an attack consisted of bopping another
+        animal on the head.  And they philipped each other s noses.  But, believe me,
+        it was humiliating.
+
+
+        Blasted crying shame.  Things could have worked out.
+
+
+        h3. O Nascimento de um Objeto
+
+
+        &quot;N&#227;o se preocupe,&quot; disse a cabra, anxious to sway Dr. Chams attention back to the film.  &quot;Things _do_
+        work out.&quot;
+
+
+        No Ruby, o Objeto &#233; o centro exato das todas as coisas.  Ele &#233; O Original.
+
+
+        &lt;pre&gt;
+         class UrsoTostado &lt; Object; end
+        &lt;/pre&gt;
+
+
+        The angle bracket indicates *inheritance*.  Isto significa que a nova classe @UrsoTostado@
+        &#233; um nova classe baseada na classe @Objeto@.  Todo m&#233;todo que @Objeto@ tem vai estar
+        dispon&#237;vel na @UrsoTostado@.  Constantes dispon&#237;veis em @Objeto@ v&#227;o estar dispon&#237;veis em
+        @UrsoTostado@.
+
+
+        Mas todo objeto &#233; herdeiro de @Object@.  O c&#243;digo...
+
+
+        &lt;pre&gt;
+         class UrsoTostado; end
+        &lt;/pre&gt;
+
+
+        &#201; id&#234;ntico a...
+
+
+        &lt;pre&gt;
+         class UrsoTostado &lt; Object; end
+        &lt;/pre&gt;
+
+
+        Heran&#231;a &#233; &#250;til.  Voc&#234; pode criar esp&#233;cies de objetos que se relacionam entre si.
+        Quase sempre, quando voc&#234; est&#225; dissecando um problema, voc&#234; vai se deparar com v&#225;rios objetos que
+        compartilham atributos.  Voc&#234; pode ter menos trabalho herdando de classes que j&#225; solucionam
+        parte desse problema.
+
+
+        Voc&#234; pode ter uma classe @BrasilEndereco@ que guarda o endere&#231;o, cidade, estado,
+        e cep de alguem que more no Brasil.  Quando voc&#234; come&#231;ar a guardar endere&#231;os
+        da Inglaterra, voc&#234; pode adicionar uma classe @ReinoUnidoEnderecos@.  Se voc&#234; ent&#227;o
+        garantir que os dois endere&#231;os herdem de uma classe m&#227;e @Endereco@, voc&#234; pode
+        planejar seu software de correspond&#234;ncia de modo que aceite todo tipo de endere&#231;o.
+
+
+        &lt;pre&gt;
+         def envie_a_eles_um_kit( endereco )
+           unless endereco.is_a? Endereco
+             raise ArgumentError, &quot;Objeto Endereco n&#227;o encontrado.&quot;
+           end
+           print endereco.formatted
+         end
+        &lt;/pre&gt;
+ 
+
+        Al&#233;m disso, heran&#231;a &#233; &#243;timo se voc&#234; quer sobreescrever certos comportamentos numa classe.
+        Por exemplo, talvez voc&#234; queira fazer a sua pr&#243;pria varia&#231;&#227;o variation to the @Array@ class.
+        You want to enhance the @join@ method.  But if you change @Array#join@ directly, you
+        will affect other classes in Ruby that use Arrays.
+
+
+        Ent&#227;o voc&#234; come&#231;a sua pr&#243;pria classe chamada @MeuArray@, que &#233; baseada na classe @Array@ original.
+        
+
+        &lt;pre&gt;
+         class MeuArray &lt; Array
+           # Contruir uma string neste array, formatando cada entrada
+           # e depois as unindo.
+           def join( sep = $,, format = &quot;%s&quot; )
+             collect do |item|
+               sprintf( format, item )
+             end.join( sep )
+           end
+         end
+        &lt;/pre&gt;
+
+
+        @MeuArray@ &#233; agora uma classe @Array@ customizada com o seu pr&#243;prio m&#233;todo @join@.  @Array@ &#233;
+        a *superclass (classe-superior, classe-m&#227;e)* do @MeuArray@.  Cada objeto tem um m&#233;todo @superclass@ 
+        onde voc&#234; pode verificar esta rela&#231;&#227;o.
+
+
+        &lt;pre&gt;
+         irb&gt; MinhaArray.superclass
+           =&gt; Array
+        &lt;/pre&gt;
+
+
+        Perfeito.  N&#243;s administramos um hotel e n&#243;s temos uma @Array@ dos tamanhos dos nossos quarots: @[3, 4, 6]@.
+        Vamos imprimir isso de um jeito bacana pra encadenarmos.
+
+
+        &lt;pre&gt;
+         quartos = MinhaArray[3, 4, 6]
+         print &quot;N&#243;s temos quartos de &quot; + quartos.join( &quot;, &quot;, &quot;%d camas&quot; ) + &quot; dispon&#237;veis.&quot;
+        &lt;/pre&gt;
+
+
+        Que imprime, &quot;N&#243;s temos quartos de 3 camas, 4 camas, 6 camas dispon&#237;veis.&quot;
+
+
+        Dr. Cham estava procurando por um banheiro, but archival video tape was everywhere.
+        Ele acabou encontrando um lugar, que poderia ser um banheiro.  Tinha um vaso de metal.
+        Mas mais importante, era escuro e escondido.
+        
+
+        Enquanto s in there, let me add that enquanto Os Originais slaughtered The Invaders
+        to prove their rights as First Creatures, o Objeto Ruby Object n&#227;o disputou nada.
+        Ele &#233; rei absoluto Objeto o Primeiro.
+
+
+        Observe.
+
+
+        &lt;pre&gt;
+         irb&gt; Class.superclass
+           =&gt; Module
+         irb&gt; Kernel.class
+           =&gt; Module
+         irb&gt; Module.superclass
+           =&gt; Object
+         irb&gt; Object.superclass
+           =&gt; nil
+        &lt;/pre&gt;
+
+
+        At&#233; @Classe@ &#233; um @Objeto@!  Veja, mesmo as classes sendo linguagem de defini&#231;&#227;o para objetos,
+        n&#243;s ainda pode mos chamar m&#233;todos de classe nelas e trat&#225;-los como objetos ocasionalmente.  It may seem
+        like a dizzying circle, but it s truly a very strict parentage.  E garante que quando voc&#234;
+        altera o @Object@, voc&#234; altera *tudo no Ruby*.  Which is impossibly scary and all-powerful
+        and cataclysmic and awesome!  *Ruby n&#227;o te restringe, minha irm&#227;, meu irm&#227;o!* 
+
+
+        Entre @Class@ e @Object@, voc&#234; v&#234; @Module@?  Se @Object@ &#233; o rei, the one who has
+        sired every other part of Ruby, then @Module@ is the poor waifish nun, shielding
+        and protecting all her little Ruby townspeople children.  (To complete the analogy:
+        @Class@ &#233; a professora da escola da vila e @Kernel@ &#233; the self-important colonel.)
+
+
+        O motivo da exist&#234;ncia do @Module@ &#233; dar comida e abrigo a c&#243;digo.  M&#233;todos
+        podem ficar abrigados embaixo da manta do @Module@.  @Module@ pode conter classes, constantes e 
+        vari&#225;veis de qualquer tipo.
+
+
+        &quot;Mas o que um Module _faz_?&quot; voc&#234; pergunta.  &quot;Como ele &#233; lucrativamente utilizado??&quot;
+
+
+        &quot;Isso &#233; tudo que ele faz!!&quot; Eu replico, mostrando as palmas da m&#227;o na maior express&#227;o
+        de futilidade conhecida pelo homem.  &quot;Agora me escute -- pois n&#227;o me repetirei -- essa 
+        M&#227;e M&#243;dulo Superior deu a estes pobres objetos um lugar pra morar!!&quot;
+
+
+        &lt;pre&gt;
+         # Veja, aqui est&#225; o module -- onde mais seu c&#243;digo poderia estar?
+         module AtenciosaSantaInes
+
+           # Uma CONSTANTE repousa perto da porta.  &#211;timo.
+           HOMEM_DESDENTADO_COM_GARFO = ['homem', 'garfo', 'exposed gums']
+
+           # Uma Class est&#225; comendo, vivendo bem na cozinha.
+           class CriancaGordaDeCera; end
+
+           # Um M&#233;todo est&#225; se escondendo l&#225; atr&#225;s no arm&#225;rio banana, Deus sabe porqu&#234;.
+           def timida_garota_com_cara_de_raposa; {'please' =&gt; 'eu quero uma bolota de carvalho por favor'}; end
+
+         end
+        &lt;/pre&gt;
+           
+           
+        Agora voc&#234; tem que ir pela Santa In&#234;s para ach&#225;-los.
+
+
+        &lt;pre&gt;
+         &gt;&gt; AtenciosaSantaInes::HOMEM_DESDENTADO_COM_GARFO
+         =&gt; [&quot;homem&quot;, &quot;garfo&quot;, &quot;exposed gums&quot;]
+         &gt;&gt; AtenciosaSantaInes::CriancaGordaDeCera.new
+         =&gt; #&lt;AtenciosaSantaInes::FatWaxyChild:0xb7d2ad78&gt;
+         &gt;&gt; AtenciosaSantaInes::instance_methods
+         =&gt; [&quot;timida_garota_com_cara_de_raposa&quot;]
+        &lt;/pre&gt;
+
+
+        Lembre-se sempre que um @Module@ &#233; somente um hotel.  Um teto sob as cabe&#231;as deles.  Ele n&#227;o &#233; uma
+        auto-consciente @Classe@ e,  portanto, n&#227;o pode ser trazida &#224; vida com @new@.
+
+
+        &lt;pre&gt;
+         &gt;&gt; AtenciosaSantaInes.new
+         NoMethodError: undefined method `new' for AtenciosaSantaInes:Module
+                 from (irb):2
+        &lt;/pre&gt;
+
+
+        Santa In&#234;s deu a pr&#243;pria vida pra cuidar desses peda&#231;os de c&#243;digo desesperados.
+        Por favor.  N&#227;o tire isso dela.
+
+
+        Se, todavia, voc&#234; quer roubar da Santa In&#234;s, eu posso te ajudar.
+        Voc&#234; pode arrumar um grande mosteiro pra engrupir o minist&#233;rio da @AtenciosaSantaInes@ e da&#237;
+        o qu&#234; sobrar&#225; pra ela?
+
+
+        Para isso voc&#234; pode usar @extend@, que vai puxar todos os m&#233;todos do m&#243;dulo pra dentro de uma classe ou um objeto.
+
+
+        &lt;pre&gt;
+         &gt;&gt; class FundacaoDeAmorEAmparoTimeWarnerAolCitibank; end
+         &gt;&gt; FundacaoDeAmorEAmparoTimeWarnerAolCitibank.extend AtenciosaSantaInes
+         &gt;&gt; FundacaoDeAmorEAmparoTimeWarnerAolCitibank::instance_methods
+         =&gt; [&quot;timida_garota_com_cara_de_raposa&quot;]
+        &lt;/pre&gt;
+
+
+        Na verdade, ningu&#233;m _roubou_ da @AtenciosaSantaInes@, somente pegaram emprestado.
+        A @timida_garota_com_cara_de_raposa@ agora tem dois endere&#231;os.
+
+
+        Voc&#234; deve admitir.  O velho mosteiro pode ser comprado um zilh&#227;o de vezes e a pequena garota-com-cara-de-raposa
+        _ainda_ estar&#225; nos fundos no arm&#225;rio banana esperando uma bolota de carvalho!  Que pena que n&#227;o podemos aliment&#225;-la.
+        Ela &#233; um m&#233;todo sem argumentos.
+
+
+        When Dr. Cham came out refreshed, the filmstrip was a bit behind.  Mas a cabra n&#227;o notou,
+        ent&#227;o o Doutor avan&#231;ou alguns quadros at&#233; fazer algum sentido.
+
+
+        !i/filmstrip-2.gif(The goats that told a planet it was ugly.)!
+
+
+        Ent&#227;o os invasores deixaram o planeta.
+
+
+        &quot;Este planeta _&#233;_ decr&#233;pito,&quot; disse o Dr. Cham.  &quot;O castelo &#233; bacana.  Mas por dentro
+        &#233; um desastre.&quot;
+
+
+        &quot;O castelo parece uma proje&#231;&#227;o,&quot; disse a cabra.  &quot;All the flowers
+        and apple blossoms and the sky even.  &#201; uma proje&#231;&#227;o de baixa resolu&#231;&#227;o.&quot;
+
+
+        &quot;Sim?  Ele &#233; encantador.&quot;
+
+
+        &quot;I guess.&quot;
+
+
+        !i/filmstrip-3.gif(The spool ends.)!
+
+
+        &quot;That's messed up!&quot; said the goat.  &quot;N&#227;o &#233; assim que o filme termina!
+        N&#227;o teve sangue!  O que aconteceu?  O que aconteceu?  Voc&#234; apertou o bot&#227;o errado, idiota?&quot;
+
+
+        &quot;Bem, eu n&#227;o sei,&quot; disse o Dr. Cham.  Ele girou o bot&#227;o pra frente e pra tr&#225;s.
+        Tapped the lens.
+
+
+        &quot;Cheque a fita!  Cheque a fita!&quot;
+
+
+        Dr. Cham tirou um peda&#231;o do filme do alimentador do projetor, derretido e pingando
+        nas pontas.
+
+
+        &quot;Maldi&#231;&#227;o!  Estes projetores s&#227;o de qualidade!  Nunca vi isso acontecer.  N&#227;o pode ser.&quot;
+
+
+        h3. Hunting For a Voice
+
+
+        &quot;Eu n&#227;o acho que tenha sido o projetor,&quot; disse o Dr. Cham.  &quot;Something flew across that screen
+        and uttered a blistering moan.&quot;
+
+
+        &quot;I don't have any dupes of that movie,&quot; said the goat somberly.  &quot;And that girl.  That casting
+        director.  I never see her anymore.&quot;
+
+
+        Dr. Cham stood up and looked over the dumpy aisles of magnetic carnage, searching.
+
+
+        &quot;Oh, hey, you should call that girl,&quot; the goat went on. &quot;You could talk to her, get an understanding.
+        Tell her about me.  Don't act like your my friend, just, you know, 'Oh, that guy?
+        Yeah, whatta maroon.'&quot;
+
+
+        Dr. Cham spotted the doorway and exited.
+
+
+        The hallways were an entirely new world of mess.  In the goat's archives, the shelves had been messy.
+        In the hallway, shelves were completely tipped.  Sinks were falling through the ceiling.  
+        The Doctor ventured under the debris, kicking through plywood when necessary.
+
+
+        &quot;You shouldn't be out here,&quot; said the goat.  &quot;You're on someone else's property at this point.
+        A couple of pygmy elephants own all this.  They're nasty guys.  They'll beat the crap outta you
+        with their trunks.  They ball it up and just whack ya.&quot;
+
+
+        Dr. Cham pushed a file cabinet out of his way, which fell through a flimsy wall, then through
+        the floor of the next room over.  And they heard it fall through several floors after that.
+
+
+        &quot;I'm trying to remember how it goes in the book,&quot; said Dr. Cham, as he walked swiftly through
+        the hall.  &quot;That milky fog that swept
+        across the projection.  We find that thing.&quot;  He jiggled a door handle, broke it off.  Forged
+        through the doorway and disappeared inside.
+
+
+        &quot;You really get a kick out of beating stuff up, don't you?&quot; said the goat.  &quot;Walls, doors.&quot;
+        The goat headbutted a wall.  The wall shuddered and then laid still.
+
+
+        Then, it was quiet.  And black.
+
+
+        The goat stayed put in the bleak hallway, expecting Dr. Cham to flip over a few desks and emerge,
+        ready to move on from the room he'd busted into.  But Dr. Cham didn't return, and the goat opted
+        to share a moment with the neglected wreckage left by his neighbors.  Not that he could see at all.
+        He could only hear the occassional rustling of the piles of invoices and carbon copy masters and
+        manila envelopes when he shifted his legs.
+
+
+        The ground seemed to buckling right under the goat, as if the heaps of kipple around him were
+        beginning to slide toward his weight.  He would be at the center of this whirlpool of elephant
+        documentation.  Would he die of papercuts first?  Or would he suffocate under the solid burial
+        by office supplies?
+
+
+        A soft light, however, crept up to him.  A floating, silver fish.  No, it was a -- was it scissors?
+        The scissors grew into a shimmering cluster of intellegent bread, each slice choking on glitter.
+        But, no, it was hands.  And an Easter hat.
+
+
+        !i/hannah-1.gif(The goat alone in the hallway, meets an apparition.)!
+
+
+        In another room, Dr. Cham stood under the clear glass silently.  The ceiling had abruptly
+        gone transparent, then starlight washed over his pants and jacket.  He walked further to
+        the room's center in muted colors, lit as softly as an ancient manuscript in its own box at
+        the museum.  More stars, more cotton clusters of fire, unveiled as he came across the floor.
+        And it peeked into view soon enough, he expected it to be larger, but it wasn't.
+
+
+        Earth.  Like a painted egg, still fresh.  He felt long cello strings sing right up
+        against his spine.  How could that be called Peoplemud?  Here was a vibrant and grassy
+        lightbulb.  The one big ball that had something going for it.
+
+
+        He thought of The Rockettes.  Actually, he missed The Rockettes.  What a bunch of
+        great dancers.  He had yelled something to The Rockettes when he saw them.  Something
+        very observant and flattering.
+
+
+        Oh, yes, while The Rockettes were spinning, arm in arm, he had yelled, &quot;Concentric circles!&quot;
+        Which no one else cared to observe. 
+        
+
+        And this thought was enough to feed Dr. Cham's superiority complex.  He wore a goofy
+        smile as he retraced his footsteps.  He truthfully felt his genius coming through in
+        such a statement.  To realize the simplicity of a circle was his.  He reflected on it
+        all the way back to the hallway.
+
+
+        Which I think is great.  Adore yourself when you have a second.
+
+ 
+        !i/hannah-2.gif(The Doctor knows this ghost.)!
+
+
+        &quot;Oh, right,&quot; said the goat.  &quot;Your niece.  The niece you killed.  I'm with ya now.&quot;
+
+
+        For just a few moments, they all looked at each other.  Just enough
+        time for both Dr. Cham and the goat to think: _Oh, yeah.  Hannah
+        causes us a lot of trouble.  She's already talking about maple donuts._
+
+
+        &quot;Does she start talking about maple donuts right away like that?&quot;
+        asked the goat.
+
+
+        &quot;Yes, she does,&quot; said the Doctor.  &quot;She brings it up to you, then
+        she brings it up to me.  She sees a maple donut somewhere -- I don't
+        quite remember where.&quot;
+
+
+        &quot;Do I see a real maple donut?&quot; Hannah said.  &quot;I need a real one.&quot;
+
+
+        &quot;Okay, okay,&quot; said the goat.  &quot;Yeah, I remember: here's where she says
+        that if she gets a real maple donut, she'll become a real person again.
+        Because her real destiny was to own a bakery and you ruined that destiny
+        and now she's trapped as a ghost.&quot;
+
+
+        &quot;Hey, that's the truth!&quot; Hannah yelped.
+
+
+        &quot;It's terrible that we must bear through this whole scene again,&quot; said
+        the Doctor.  &quot;The donuts are immaterial.  They should be left out altogether.&quot;
+
+
+        &quot;Man, I am having a _hard_ time remembering all of this chapter,&quot; said
+        the goat.  &quot;I don't even remember how to get out of this hallway.  I must
+        have read that book like thirty times.  Do we blast through a wall?   Do
+        we scream until someone finds us?&quot;
+
+
+        &quot;We get Hannah to float through walls and she finds some kind of machine,&quot;
+        says Dr. Cham.  &quot;I have to write a program -- it all works out somehow.&quot;
+
+
+        &quot;But, you know what I'm saying?&quot; said the goat.  &quot;I forget all the details.
+        Especially the earlier chapters.  I mean I can remember the ending perfectly.
+        It's hard to sit through all this.  The end is so much better.&quot;
+
+
+        Dr. Cham folded his arms and teetered on a heel.  &quot;The porcupine.&quot;  He
+        smiled greedily at the goat.
+
+
+        &quot;Oh, totally.  The porcupine is definitely who I want to meet,&quot; said the
+        goat.  &quot;I wonder what he does with all that money when the book is over.&quot;
+
+
+        Dr. Cham nodded respectfully.  &quot;I'm very excited to see him wearing slippers.&quot;
+
+
+        &quot;Those infernal slippers!&quot; said the goat and he haw-hawed coarsely, a shower
+        of saliva cascading from his jaws.
+
+
+        Hannah's mind rattled, waiting for this nonsense to break for a moment.
+        She tipped her head on its side and the rattle slid along the curve of
+        her cranium.  The little noise died away, though, as the back of her head
+        vanished (_fluxed out_ is what she called it) and then her head was  
+        back again with its little rattle and she caught herself doing that
+        careless moaning again.  *HRRRRRR-RRR-OH-RRRR-RRRR.*
+
+
+        &quot;I'm not as into the chunky bacon stuff,&quot; said the goat.  &quot;I don't see
+        what's so great about it.&quot;
+
+
+        Could she speak while moaning? *BON-BON.*  Com um sotaque franc&#234;s.  *BOHN-BOHN.
+        BOHN-APPE-TEET-OHHHH-RRRR.*
+
+
+        &quot;I know she's harmless, but that sound freaks me out.  My hair is
+        *completely* on end.&quot;
+
+
+        &quot;Hannah?&quot; disse o Dr. Cham.  &quot;Onde voc&#234; est&#225;, crian&#231;a?  Come do a good turn
+        for us, my niece.&quot;
+
+
+        She was right near them, in and out.  And they could hear her
+        cleaning up her voice, bright, speaking like a angel scattering stardust.
+        Yes, the whole maple donut story came out again, and more about the
+        bakery she would own, the muffins and rolls and baguettes.
+
+</diff>
      <filename>lang-pt/poignant-49.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,416 +1,416 @@
-    - O Roubo do Capit&#227;o Loteria: &gt;
-
-
-        !&gt;i/my.daughters.organ-3.gif(Os tubos e misturas das loterias.)!
-
-
-        E agora, as hist&#243;rias das Loterias Paij-ree.
-
-
-        Em Endertromb, o pai do inventou a loteria.  A id&#233;ia surgiu quando estava rezando
-        para Escavador Dosh.
-
-
-        Escavador Dosh &#233; uma esp&#233;cie de deus para eles.  Mas dez vezes mais
-        assustador.  Esse cara cava um t&#250;nel infinitamente profundo atrav&#233;s do planeta
-        e sai morto.  Mas ele n&#227;o est&#225; realmente morto.  Ele est&#225; realmente _um segundo_
-        atr&#225;s deles.  E ele come tempo.
-
-
-        &#201; mais ou menos complicado, porque o Escavador Dosh mata totalmente as pessoas.  Mas
-        eu convido voc&#234; a fazer o que ele diz, ele n&#227;o &#233; t&#227;o mal.  Talvez eu fale sobre isso
-        mais tarde.  &#201; um tal de fala sobre dor, porque isso &#233; t&#227;o assustador e ainda um dos
-        meus amigos realmente acredita em tudo isso.  Eu consigo um tipo de
-        estrangulador -- n&#227;o que eu esteja precisando, mais
-        I get kind of choked up -- not like I'm crying, more like I'm choking.
-
-
-        De qualquer forma, enquanto rezava, tr&#234;s n&#250;meros vieram para o pai do Paij-ree.
-
-
-        Ele ent&#227;o se perguntou. &quot;O que s&#227;o esses n&#250;meros?&quot;
-
-
-        E sua mente tocou um pequeno v&#237;deo clip dele vendendo todos os tipos de n&#250;meros.  E,
-        por anos e anos, viajando e vendendo n&#250;meros.
-
-
-        E ele perguntou ao seu c&#233;rebro, &quot;Pessoas comprar&#227;o n&#250;meros?&quot;
-
-
-        E seu c&#233;rebro disse, &quot;Se eles compram o direito de tr&#234;s n&#250;meros, d&#234;-lhes um pr&#233;mio.&quot;
-
-
-        Pelo que ele mesmo imaginava um salto alto com um ski e jogando neve nas pessoas
-        presentes.  N&#227;o questione: ele seria um &#237;cone.
-
-
-        Ent&#227;o ele foi e fez o que seu c&#233;rebro disse e vendeu n&#250;meros. O pai da loteria
-        simples consistia em tr&#234;s &#250;nicos n&#250;meros, retirados de um conjunto de 25 n&#250;meros.
-
-
-        &lt;pre&gt;
-         class BilheteLoteria
-
-           INTERVALO_NUMERICO = 1..25
-
-           attr_reader :numeros_escolhidos, :data_compra
-
-           def initialize( *numeros_escolhidos )
-             if numeros_escolhidos.length != 3
-               raise ArgumentError, &quot;tr&#234;s n&#250;meros devem ser escolhido&quot;
-             elsif numeros_escolhidos.uniq.length != 3
-               raise ArgumentError, &quot;os tr&#234;s escolhidos devem ser n&#250;meros diferentes&quot;
-             elsif numeros_escolhidos.detect { |p| not INTERVALO_NUMERICO === p }
-               raise ArgumentError, &quot;os tr&#234;s escolhidos devem ser n&#250;meros entre 1 e 25.&quot;
-             end
-             @numeros_escolhidos = numeros_escolhidos
-             @data_compra = Time.now
-           end
-
-         end
-        &lt;/pre&gt;
-
-
-        Sim, a classe @BilheteLoteria@ cont&#233;m os tr&#234;s n&#250;meros (@@numeros_escolhidos@) e o
-        momento em que o bilhete foi adquirido (@@data_compra@).  O intervalo de n&#250;meros
-        permitidos (de *um* a *vinte e cinco*) &#233; mantido na constante @INTERVALO_NUMERICO@.
-
-
-        O m&#233;todo @initialize@ pode ter qualquer n&#250;mero de argumentos passados. O *aster&#237;sco*
-        no argumento @numeros_escolhidos@ significa que *quaisquer argumentos ser&#227;o passados
-        como um Array*.  Tendo os argumentos em um Array significa que m&#233;todos como @uniq@ e
-        @detect@ podem ser usados juntos nos argumentos.
-
-
-        Esta classe cont&#233;m duas defini&#231;&#245;es: o m&#233;todo de defini&#231;&#227;o (@def@) e um
-        de defini&#231;&#227;o de atributos (@attr_reader@).  Ambos s&#227;o, realmente, *apenas m&#233;todos de
-        defini&#231;&#227;o*.
-
-
-        O @attr_reader@ &#233; um atalho id&#234;ntico &#224; escrever o este c&#243;digo Ruby:
-
-
-        &lt;pre&gt;
-         class BilheteLoteria
-           def numeros_escolhidos; @numeros_escolhidos; end
-           def data_compra; @data_compra; end
-         end
-        &lt;/pre&gt;
-
-
-        Atributos s&#227;o m&#233;todos empacotados para vari&#225;veis de inst&#226;ncia (assim como
-        @@numeros_escolhidos@) que podem ser usados *fora da pr&#243;pria classe*.  Pai da
-        Paij-ree queria codificar uma m&#225;quina que pudesse ler n&#250;meros e a data da
-        compra do bilhete.  Para fazer isso, estas vari&#225;veis de inst&#226;ncia devem ser expostas.
-
-
-        Vamos criar um bilhete aleat&#243;rio e ler os n&#250;meros de volta:
-
-
-        &lt;pre&gt;
-         bilhete = BilheteLoteria.new( rand( 25 ) + 1,
-                     rand( 25 ) + 1, rand( 25 ) + 1 )
-         p bilhete.numeros_escolhidos
-        &lt;/pre&gt;
-
-
-        Executando o c&#243;digo acima, eu apenas pego: @[23, 14, 20]@.  Voc&#234; receber&#225; um
-        erro se acontecer dos dois n&#250;meros aleat&#243;rios serem id&#234;nticos.
-
-
-        Entretanto, eu n&#227;o posso mudar os n&#250;meros escolhidos no bilhete de loteria de
-        fora da classe.
-
-
-        &lt;pre&gt;
-         bilhete.numeros_escolhidos = [2, 6, 19]
-        &lt;/pre&gt;
-
-
-        Eu receberei um erro: @undefined method `numeros_escolhidos=`@
-        Isto porque @attr_reader@ somente adiciona um m&#233;todo de *leitura*, n&#227;o um m&#233;todo
-        de escrita.  Embora isso seja bom.  N&#243;s n&#227;o queremos mudan&#231;as nos n&#250;meros ou na
-        data.
-
-
-        Ent&#227;o, os bilhetes s&#227;o _objetos_.  Inst&#226;ncias da classe @BilheteLoteria@.  Fa&#231;a
-        um bilhete com @BilheteLoteria.new@.  Cada bilhete tem as suas vari&#225;veis de inst&#226;ncia
-        @@numeros_escolhidos@ e @@data_compra@.
-
-
-        O capit&#227;o loteria teria necessidade de gerar tr&#234;s n&#250;meros aleat&#243;rios no
-        encerramento do sorteio, por isso vamos acrescentar um m&#233;todo de classe
-        conveniente para gera&#231;&#227;o aleat&#243;ria de bilhetes.
-
-
-        &lt;pre&gt;
-         class BilheteLoteria
-           def self.novo_aleatorio
-             new( rand( 25 ) + 1, rand( 25 ) + 1, rand( 25 ) + 1 )
-           end
-         end
-        &lt;/pre&gt;
-
-
-        Oh, n&#227;o.  Mas n&#243;s temos um est&#250;pido erro que aparece quando dois dos n&#250;meros
-        aleat&#243;rios s&#227;o id&#234;nticos.  Se dois n&#250;meros s&#227;o iguais, o @initialize@ lan&#231;a um
-        @ArgumentError@.
-
-
-        O truque &#233; voltar e reiniciar o m&#233;todo se um erro acontecer.
-        N&#243;s podemos usar o @rescue@ (_resgate_) do Ruby para apanhar o erro e @redo@
-        (_refazer_) o m&#233;todo do in&#237;cio.
-
-
-        &lt;pre&gt;
-         class BilheteLoteria
-           def self.novo_aleatorio
-             new( rand( 25 ) + 1, rand( 25 ) + 1, rand( 25 ) + 1 )
-           rescue ArgumentError
-             redo
-           end
-         end
-        &lt;/pre&gt;
-
-
-        Melhor.  Pode demorar duas vezes mais para os n&#250;meros cairem juntos
-        corretamente, mas cair&#227;o.  O tempo de espera far&#225; o suspense, n&#227;o?
-
-
-        O capit&#227;o loteria mant&#233;m um registro de todos que compraram bilhetes,
-        junto com os n&#250;meros sorteados.
-
-
-        &lt;pre&gt;
-         class SorteioLoteria
-           @@bilhetes = {}
-           def SorteioLoteria.comprado_por( cliente, *bilhetes )
-             unless @@bilhetes.has_key?( cliente )
-               @@bilhetes[cliente] = []
-             end
-             @@bilhetes[cliente] += bilhetes
-           end
-         end
-        &lt;/pre&gt;
-
-
-        Yal-dal-rip-sip foi o primeiro cliente.
-
-
-        &lt;pre&gt;
-         SorteioLoteria.comprado_por 'Yal-dal-rip-sip',
-             BilheteLoteria.new( 12, 6, 19 ),
-             BilheteLoteria.new( 5, 1, 3 ),
-             BilheteLoteria.new( 24, 6, 8 )
-        &lt;/pre&gt;
-
-
-        Quando chega a hora de sortear a loteria, o pai do Paij-ree (o capit&#227;o loteria)
-        adiciona um bit de c&#243;digo para selecionar aleatoriamente os n&#250;meros.
-
-
-        &lt;pre&gt;
-         class BilheteLoteria
-           def pontuacao( final )
-             contador = 0
-             final.numeros_escolhidos.each do |nota|
-               contador += 1 if numeros_escolhidos.include? nota
-             end
-             contador
-           end
-         end
-        &lt;/pre&gt;
-
-
-        O m&#233;todo @pontuacao@ compara um @BilheteLoteria@ com um bilhete aleat&#243;rio,
-        o qual representa a combina&#231;&#227;o vencedora.  O bilhete aleat&#243;rio &#233; passado
-        atrav&#233;s da vari&#225;vel @final@.  O bilhete recupera um ponto para todo n&#250;mero
-        vencedor.  A pontua&#231;&#227;o final &#233; retornada pelo m&#233;todo @pontuacao@.
-
-
-        &lt;pre&gt;
-         irb&gt; bilhete  = BilheteLoteria.new( 2, 5, 19 )
-         irb&gt; vencedor = BilheteLoteria.new( 4, 5, 19 )
-         irb&gt; bilhete.pontuacao( vencedor )
-           =&gt; 2
-        &lt;/pre&gt;
-
-
-        Voc&#234; ver&#225; como Paij-ree &#233; brilhante, em tempo h&#225;bil.  Seu pai lhe encarregou
-        de finalizar a loteria para ele, enquanto a demanda de bilhetes consumidos...
-
-        Voc&#234; n&#227;o pode apenas imaginar o jovem Paij-ree em seu escrit&#243;rio, 
-
-        You will see how brilliant Paij-ree is, in time.  His father commissioned him
-        to finish the lottery for him, while the demand for tickets consumed the
-        lottery captain's daylight hours.  Can't you just imagine young Paij-ree in his stuffy
-        suit, snapping a rubber band in his young thumbs at the company meetings where he proposed the
-        final piece of the system?  Sure, when he stood up, his dad did all the talking for
-        him, but he flipped on the projector and performed all the hand motions.
-
- 
-        &lt;pre&gt;
-         class &lt;&lt; SorteioLoteria
-           def joga
-             final = BilheteLoteria.novo_aleatorio
-             vencedores = {}
-             @@bilhetes.each do |comprador, lista_bilhetes|
-               lista_bilhetes.each do |bilhete|
-                 pontuacao = bilhete.pontuacao( final )
-                 next if pontuacao.zero?
-                 vencedores[comprador] ||= []
-                 vencedores[comprador] &lt;&lt; [ bilhete, pontuacao ]
-               end
-             end
-             @@bilhetes.clear
-             vencedores
-           end
-         end
-        &lt;/pre&gt;
-
-
-        His father's associates were stunned.  What was this?  (Paij-ree knew this
-        was just another class method definition -- they would all feel completely
-        demoralized when he told them so.)  They couldn't understand the *double
-        angle bracket* up there!  Yes, it was a concatenator, but how is it in
-        the class title?
-
-
-        _Infants_, thought Paij-ree, although he held everyone of those men in very
-        high esteem.  He was just a kid and kids are tough as a brick's teeth. 
-
-
-        O operador @&lt;&lt;@ permite &#224; voc&#234; alterar a defini&#231;&#227;o de um objeto.
-        Paij-ree simplesmente tinha usado a classe @SorteioLoteria@, e o m&#233;todo
-        dele, @joga@, seria um m&#233;todo de inst&#226;ncia normal.  Mas, uma vez que ele
-        usou o operador @&lt;&lt;@, o m&#233;todo @joga@ ser&#225; adicionado diretamente &#224; classe,
-        como um m&#233;todo de classe.
-
-
-        Quando voc&#234; viu @class &lt;&lt; objeto@, acredite em seu cora&#231;&#227;o, _eu estou adicionando diretamente
-        para a defini&#231;&#227;o de @objeto@._
-
-
-        A 
-        The budding organ instructor also threw in a tricky syntax worth examining.
-        In the ninth line, a winner has been found.
-
-
-        &lt;pre&gt;
-         winners[buyer] ||= []
-         winners[buyer] &lt;&lt; [ ticket, score ]
-        &lt;/pre&gt;
-
-
-        The @||=@ syntax is a shortcut.
-
-
-        &lt;pre&gt;
-         winners[buyer] = winners[buyer] || []
-        &lt;/pre&gt;
-
-
-        The *double pipe* is an *or* logic.  Set @winners[buyer]@ equal to @winners[buyer]@ or,
-        if @winners[buyer]@ is nil, set it to @[]@.  This shortcut is a little strange, but if you
-        can really plant it in your head, it's a nice timesaver.  You're just making sure a variable
-        is set before using it.
-
-
-        &lt;pre&gt;
-         irb&gt; LotteryDraw.play.each do |winner, tickets|
-         irb&gt;   puts winner + &quot;won on &quot; + tickets.length + &quot; ticket(s)!&quot;
-         irb&gt;   tickets.each do |ticket, score|
-         irb&gt;     puts &quot;\t&quot; + ticket.picks.join( ', ' ) + &quot;: &quot; + score
-         irb&gt;   end
-         irb&gt; end
-
-         Gram-yol won on 2 ticket(s)!
-             25, 14, 33: 1
-             12, 11, 29: 1
-         Tarker-azain won on 1 ticket(s)!
-             13, 15, 29: 2
-         Bramlor-exxon won on 1 ticket(s)!
-             2, 6, 14: 1
-        &lt;/pre&gt;
-
-
-        But these salad days were not to continue for Paij-ree and his father.  His father often
-        neglected to launder his uniform and contracted a moss disease on his shoulders.  The disease
-        gradually stole his equilibrium and his sense of direction.
-
-
-        His father still futilely attempted to keep the business running.  He spiraled through the
-        city, sometimes tumbling leg-over-leg down the cobbled stone, most often slowly feeling the walls,
-        counting bricks to the math parlours and coachmen stations, where he would thrust tickets
-        at the bystanders, who hounded him and slapped him away with long, wet beets.  Later, Paij-ree
-        would find him in a corner, his blood running into the city drains alongside the juices of the
-        dark, splattered beets, which juice weaseled its way up into his veins and stung and clotted
-        and glowed fiercely like a congested army of brake lights fighting their way through toll bridges.
-
-
-        h3. A Word About Accessors (Because I Love You and I Hope For Your Success and My Hair is On End
-        About This and Dreams Really Do Come True)
-        
-
-        Earlier, I mentioned that @attr_reader@ adds *reader* methods, but not *writer* methods.
-
-
-        &lt;pre&gt;
-         irb&gt; ticket = LotteryTicket.new
-         irb&gt; ticket.picks = 3
-         NoMethodError: undefined method `picks=' for #&lt;LotteryTicket:0xb7d49110&gt;
-        &lt;/pre&gt;
-
-
-        Which is okay in this case, since Paij-ree's father didn't want the numbers to be
-        changed after the ticket was bought.  If we were interested in having instance
-        variables which had *both readers and writers*, we would use @attr_accessor@.
-
-
-        &lt;pre&gt;
-         class LotteryTicket
-           attr_accessor :picks, :purchased
-         end
-        &lt;/pre&gt;
-
-
-        Which is exactly the same as this lengthier code:
-
-
-        &lt;pre&gt;
-         class LotteryTicket
-           def picks;           @picks;            end
-           def picks=(var);     @picks = var;      end
-           def purchased;       @purchased;        end
-           def purchased=(var); @purchased = var;  end
-         end
-        &lt;/pre&gt;
-
-
-        Holy cats!  Look at those writer methods for a moment.  They are the methods named
-        @picks=@ and @purchased=@.  These methods *intercept outside assignment* to instance variables.
-        Usually you will just let @attr_reader@ or @attr_accessor@ (or even perhaps @attr_writer@)
-        do the work for you.
-        Other times you may want to put a guard at the door yourself, checking variables in closer
-        detail.
-
-
-        &lt;pre&gt;
-         class SkatingContest
-           def the_winner; @the_winner; end
-           def the_winner=( name )
-             unless name.respond_to? :to_str
-               raise ArgumentError, &quot;The winner's name must be a String,
-                 not a math problem or a list of names or any of that business.&quot;
-             end
-             @the_winner = name
-           end
-         end
-        &lt;/pre&gt;
-
-
-        Most of the time you won't use this.  But, as we move along through your lessons, you'll find that
-        Ruby has lots of escape hatches and alley ways you can sneak into and hack code into.  I'm also
-        preparing you for metaprogramming, which, if you can smell that dragon, is ominously near.
-
+    - O Roubo do Capit&#227;o Loteria: &gt;
+
+
+        !&gt;i/my.daughters.organ-3.gif(Os tubos e misturas das loterias.)!
+
+
+        E agora, as hist&#243;rias das Loterias Paij-ree.
+
+
+        Em Endertromb, o pai do inventou a loteria.  A id&#233;ia surgiu quando estava rezando
+        para Escavador Dosh.
+
+
+        Escavador Dosh &#233; uma esp&#233;cie de deus para eles.  Mas dez vezes mais
+        assustador.  Esse cara cava um t&#250;nel infinitamente profundo atrav&#233;s do planeta
+        e sai morto.  Mas ele n&#227;o est&#225; realmente morto.  Ele est&#225; realmente _um segundo_
+        atr&#225;s deles.  E ele come tempo.
+
+
+        &#201; mais ou menos complicado, porque o Escavador Dosh mata totalmente as pessoas.  Mas
+        eu convido voc&#234; a fazer o que ele diz, ele n&#227;o &#233; t&#227;o mal.  Talvez eu fale sobre isso
+        mais tarde.  &#201; um tal de fala sobre dor, porque isso &#233; t&#227;o assustador e ainda um dos
+        meus amigos realmente acredita em tudo isso.  Eu consigo um tipo de
+        estrangulador -- n&#227;o que eu esteja precisando, mais
+        I get kind of choked up -- not like I'm crying, more like I'm choking.
+
+
+        De qualquer forma, enquanto rezava, tr&#234;s n&#250;meros vieram para o pai do Paij-ree.
+
+
+        Ele ent&#227;o se perguntou. &quot;O que s&#227;o esses n&#250;meros?&quot;
+
+
+        E sua mente tocou um pequeno v&#237;deo clip dele vendendo todos os tipos de n&#250;meros.  E,
+        por anos e anos, viajando e vendendo n&#250;meros.
+
+
+        E ele perguntou ao seu c&#233;rebro, &quot;Pessoas comprar&#227;o n&#250;meros?&quot;
+
+
+        E seu c&#233;rebro disse, &quot;Se eles compram o direito de tr&#234;s n&#250;meros, d&#234;-lhes um pr&#233;mio.&quot;
+
+
+        Pelo que ele mesmo imaginava um salto alto com um ski e jogando neve nas pessoas
+        presentes.  N&#227;o questione: ele seria um &#237;cone.
+
+
+        Ent&#227;o ele foi e fez o que seu c&#233;rebro disse e vendeu n&#250;meros. O pai da loteria
+        simples consistia em tr&#234;s &#250;nicos n&#250;meros, retirados de um conjunto de 25 n&#250;meros.
+
+
+        &lt;pre&gt;
+         class BilheteLoteria
+
+           INTERVALO_NUMERICO = 1..25
+
+           attr_reader :numeros_escolhidos, :data_compra
+
+           def initialize( *numeros_escolhidos )
+             if numeros_escolhidos.length != 3
+               raise ArgumentError, &quot;tr&#234;s n&#250;meros devem ser escolhido&quot;
+             elsif numeros_escolhidos.uniq.length != 3
+               raise ArgumentError, &quot;os tr&#234;s escolhidos devem ser n&#250;meros diferentes&quot;
+             elsif numeros_escolhidos.detect { |p| not INTERVALO_NUMERICO === p }
+               raise ArgumentError, &quot;os tr&#234;s escolhidos devem ser n&#250;meros entre 1 e 25.&quot;
+             end
+             @numeros_escolhidos = numeros_escolhidos
+             @data_compra = Time.now
+           end
+
+         end
+        &lt;/pre&gt;
+
+
+        Sim, a classe @BilheteLoteria@ cont&#233;m os tr&#234;s n&#250;meros (@@numeros_escolhidos@) e o
+        momento em que o bilhete foi adquirido (@@data_compra@).  O intervalo de n&#250;meros
+        permitidos (de *um* a *vinte e cinco*) &#233; mantido na constante @INTERVALO_NUMERICO@.
+
+
+        O m&#233;todo @initialize@ pode ter qualquer n&#250;mero de argumentos passados. O *aster&#237;sco*
+        no argumento @numeros_escolhidos@ significa que *quaisquer argumentos ser&#227;o passados
+        como um Array*.  Tendo os argumentos em um Array significa que m&#233;todos como @uniq@ e
+        @detect@ podem ser usados juntos nos argumentos.
+
+
+        Esta classe cont&#233;m duas defini&#231;&#245;es: o m&#233;todo de defini&#231;&#227;o (@def@) e um
+        de defini&#231;&#227;o de atributos (@attr_reader@).  Ambos s&#227;o, realmente, *apenas m&#233;todos de
+        defini&#231;&#227;o*.
+
+
+        O @attr_reader@ &#233; um atalho id&#234;ntico &#224; escrever o este c&#243;digo Ruby:
+
+
+        &lt;pre&gt;
+         class BilheteLoteria
+           def numeros_escolhidos; @numeros_escolhidos; end
+           def data_compra; @data_compra; end
+         end
+        &lt;/pre&gt;
+
+
+        Atributos s&#227;o m&#233;todos empacotados para vari&#225;veis de inst&#226;ncia (assim como
+        @@numeros_escolhidos@) que podem ser usados *fora da pr&#243;pria classe*.  Pai da
+        Paij-ree queria codificar uma m&#225;quina que pudesse ler n&#250;meros e a data da
+        compra do bilhete.  Para fazer isso, estas vari&#225;veis de inst&#226;ncia devem ser expostas.
+
+
+        Vamos criar um bilhete aleat&#243;rio e ler os n&#250;meros de volta:
+
+
+        &lt;pre&gt;
+         bilhete = BilheteLoteria.new( rand( 25 ) + 1,
+                     rand( 25 ) + 1, rand( 25 ) + 1 )
+         p bilhete.numeros_escolhidos
+        &lt;/pre&gt;
+
+
+        Executando o c&#243;digo acima, eu apenas pego: @[23, 14, 20]@.  Voc&#234; receber&#225; um
+        erro se acontecer dos dois n&#250;meros aleat&#243;rios serem id&#234;nticos.
+
+
+        Entretanto, eu n&#227;o posso mudar os n&#250;meros escolhidos no bilhete de loteria de
+        fora da classe.
+
+
+        &lt;pre&gt;
+         bilhete.numeros_escolhidos = [2, 6, 19]
+        &lt;/pre&gt;
+
+
+        Eu receberei um erro: @undefined method `numeros_escolhidos=`@
+        Isto porque @attr_reader@ somente adiciona um m&#233;todo de *leitura*, n&#227;o um m&#233;todo
+        de escrita.  Embora isso seja bom.  N&#243;s n&#227;o queremos mudan&#231;as nos n&#250;meros ou na
+        data.
+
+
+        Ent&#227;o, os bilhetes s&#227;o _objetos_.  Inst&#226;ncias da classe @BilheteLoteria@.  Fa&#231;a
+        um bilhete com @BilheteLoteria.new@.  Cada bilhete tem as suas vari&#225;veis de inst&#226;ncia
+        @@numeros_escolhidos@ e @@data_compra@.
+
+
+        O capit&#227;o loteria teria necessidade de gerar tr&#234;s n&#250;meros aleat&#243;rios no
+        encerramento do sorteio, por isso vamos acrescentar um m&#233;todo de classe
+        conveniente para gera&#231;&#227;o aleat&#243;ria de bilhetes.
+
+
+        &lt;pre&gt;
+         class BilheteLoteria
+           def self.novo_aleatorio
+             new( rand( 25 ) + 1, rand( 25 ) + 1, rand( 25 ) + 1 )
+           end
+         end
+        &lt;/pre&gt;
+
+
+        Oh, n&#227;o.  Mas n&#243;s temos um est&#250;pido erro que aparece quando dois dos n&#250;meros
+        aleat&#243;rios s&#227;o id&#234;nticos.  Se dois n&#250;meros s&#227;o iguais, o @initialize@ lan&#231;a um
+        @ArgumentError@.
+
+
+        O truque &#233; voltar e reiniciar o m&#233;todo se um erro acontecer.
+        N&#243;s podemos usar o @rescue@ (_resgate_) do Ruby para apanhar o erro e @redo@
+        (_refazer_) o m&#233;todo do in&#237;cio.
+
+
+        &lt;pre&gt;
+         class BilheteLoteria
+           def self.novo_aleatorio
+             new( rand( 25 ) + 1, rand( 25 ) + 1, rand( 25 ) + 1 )
+           rescue ArgumentError
+             redo
+           end
+         end
+        &lt;/pre&gt;
+
+
+        Melhor.  Pode demorar duas vezes mais para os n&#250;meros cairem juntos
+        corretamente, mas cair&#227;o.  O tempo de espera far&#225; o suspense, n&#227;o?
+
+
+        O capit&#227;o loteria mant&#233;m um registro de todos que compraram bilhetes,
+        junto com os n&#250;meros sorteados.
+
+
+        &lt;pre&gt;
+         class SorteioLoteria
+           @@bilhetes = {}
+           def SorteioLoteria.comprado_por( cliente, *bilhetes )
+             unless @@bilhetes.has_key?( cliente )
+               @@bilhetes[cliente] = []
+             end
+             @@bilhetes[cliente] += bilhetes
+           end
+         end
+        &lt;/pre&gt;
+
+
+        Yal-dal-rip-sip foi o primeiro cliente.
+
+
+        &lt;pre&gt;
+         SorteioLoteria.comprado_por 'Yal-dal-rip-sip',
+             BilheteLoteria.new( 12, 6, 19 ),
+             BilheteLoteria.new( 5, 1, 3 ),
+             BilheteLoteria.new( 24, 6, 8 )
+        &lt;/pre&gt;
+
+
+        Quando chega a hora de sortear a loteria, o pai do Paij-ree (o capit&#227;o loteria)
+        adiciona um bit de c&#243;digo para selecionar aleatoriamente os n&#250;meros.
+
+
+        &lt;pre&gt;
+         class BilheteLoteria
+           def pontuacao( final )
+             contador = 0
+             final.numeros_escolhidos.each do |nota|
+               contador += 1 if numeros_escolhidos.include? nota
+             end
+             contador
+           end
+         end
+        &lt;/pre&gt;
+
+
+        O m&#233;todo @pontuacao@ compara um @BilheteLoteria@ com um bilhete aleat&#243;rio,
+        o qual representa a combina&#231;&#227;o vencedora.  O bilhete aleat&#243;rio &#233; passado
+        atrav&#233;s da vari&#225;vel @final@.  O bilhete recupera um ponto para todo n&#250;mero
+        vencedor.  A pontua&#231;&#227;o final &#233; retornada pelo m&#233;todo @pontuacao@.
+
+
+        &lt;pre&gt;
+         irb&gt; bilhete  = BilheteLoteria.new( 2, 5, 19 )
+         irb&gt; vencedor = BilheteLoteria.new( 4, 5, 19 )
+         irb&gt; bilhete.pontuacao( vencedor )
+           =&gt; 2
+        &lt;/pre&gt;
+
+
+        Voc&#234; ver&#225; como Paij-ree &#233; brilhante, em tempo h&#225;bil.  Seu pai lhe encarregou
+        de finalizar a loteria para ele, enquanto a demanda de bilhetes consumidos...
+
+        Voc&#234; n&#227;o pode apenas imaginar o jovem Paij-ree em seu escrit&#243;rio, 
+
+        You will see how brilliant Paij-ree is, in time.  His father commissioned him
+        to finish the lottery for him, while the demand for tickets consumed the
+        lottery captain's daylight hours.  Can't you just imagine young Paij-ree in his stuffy
+        suit, snapping a rubber band in his young thumbs at the company meetings where he proposed the
+        final piece of the system?  Sure, when he stood up, his dad did all the talking for
+        him, but he flipped on the projector and performed all the hand motions.
+
+ 
+        &lt;pre&gt;
+         class &lt;&lt; SorteioLoteria
+           def joga
+             final = BilheteLoteria.novo_aleatorio
+             vencedores = {}
+             @@bilhetes.each do |comprador, lista_bilhetes|
+               lista_bilhetes.each do |bilhete|
+                 pontuacao = bilhete.pontuacao( final )
+                 next if pontuacao.zero?
+                 vencedores[comprador] ||= []
+                 vencedores[comprador] &lt;&lt; [ bilhete, pontuacao ]
+               end
+             end
+             @@bilhetes.clear
+             vencedores
+           end
+         end
+        &lt;/pre&gt;
+
+
+        His father's associates were stunned.  What was this?  (Paij-ree knew this
+        was just another class method definition -- they would all feel completely
+        demoralized when he told them so.)  They couldn't understand the *double
+        angle bracket* up there!  Yes, it was a concatenator, but how is it in
+        the class title?
+
+
+        _Infants_, thought Paij-ree, although he held everyone of those men in very
+        high esteem.  He was just a kid and kids are tough as a brick's teeth. 
+
+
+        O operador @&lt;&lt;@ permite &#224; voc&#234; alterar a defini&#231;&#227;o de um objeto.
+        Paij-ree simplesmente tinha usado a classe @SorteioLoteria@, e o m&#233;todo
+        dele, @joga@, seria um m&#233;todo de inst&#226;ncia normal.  Mas, uma vez que ele
+        usou o operador @&lt;&lt;@, o m&#233;todo @joga@ ser&#225; adicionado diretamente &#224; classe,
+        como um m&#233;todo de classe.
+
+
+        Quando voc&#234; viu @class &lt;&lt; objeto@, acredite em seu cora&#231;&#227;o, _eu estou adicionando diretamente
+        para a defini&#231;&#227;o de @objeto@._
+
+
+        A 
+        The budding organ instructor also threw in a tricky syntax worth examining.
+        In the ninth line, a winner has been found.
+
+
+        &lt;pre&gt;
+         winners[buyer] ||= []
+         winners[buyer] &lt;&lt; [ ticket, score ]
+        &lt;/pre&gt;
+
+
+        The @||=@ syntax is a shortcut.
+
+
+        &lt;pre&gt;
+         winners[buyer] = winners[buyer] || []
+        &lt;/pre&gt;
+
+
+        The *double pipe* is an *or* logic.  Set @winners[buyer]@ equal to @winners[buyer]@ or,
+        if @winners[buyer]@ is nil, set it to @[]@.  This shortcut is a little strange, but if you
+        can really plant it in your head, it's a nice timesaver.  You're just making sure a variable
+        is set before using it.
+
+
+        &lt;pre&gt;
+         irb&gt; LotteryDraw.play.each do |winner, tickets|
+         irb&gt;   puts winner + &quot;won on &quot; + tickets.length + &quot; ticket(s)!&quot;
+         irb&gt;   tickets.each do |ticket, score|
+         irb&gt;     puts &quot;\t&quot; + ticket.picks.join( ', ' ) + &quot;: &quot; + score
+         irb&gt;   end
+         irb&gt; end
+
+         Gram-yol won on 2 ticket(s)!
+             25, 14, 33: 1
+             12, 11, 29: 1
+         Tarker-azain won on 1 ticket(s)!
+             13, 15, 29: 2
+         Bramlor-exxon won on 1 ticket(s)!
+             2, 6, 14: 1
+        &lt;/pre&gt;
+
+
+        But these salad days were not to continue for Paij-ree and his father.  His father often
+        neglected to launder his uniform and contracted a moss disease on his shoulders.  The disease
+        gradually stole his equilibrium and his sense of direction.
+
+
+        His father still futilely attempted to keep the business running.  He spiraled through the
+        city, sometimes tumbling leg-over-leg down the cobbled stone, most often slowly feeling the walls,
+        counting bricks to the math parlours and coachmen stations, where he would thrust tickets
+        at the bystanders, who hounded him and slapped him away with long, wet beets.  Later, Paij-ree
+        would find him in a corner, his blood running into the city drains alongside the juices of the
+        dark, splattered beets, which juice weaseled its way up into his veins and stung and clotted
+        and glowed fiercely like a congested army of brake lights fighting their way through toll bridges.
+
+
+        h3. A Word About Accessors (Because I Love You and I Hope For Your Success and My Hair is On End
+        About This and Dreams Really Do Come True)
+        
+
+        Earlier, I mentioned that @attr_reader@ adds *reader* methods, but not *writer* methods.
+
+
+        &lt;pre&gt;
+         irb&gt; ticket = LotteryTicket.new
+         irb&gt; ticket.picks = 3
+         NoMethodError: undefined method `picks=' for #&lt;LotteryTicket:0xb7d49110&gt;
+        &lt;/pre&gt;
+
+
+        Which is okay in this case, since Paij-ree's father didn't want the numbers to be
+        changed after the ticket was bought.  If we were interested in having instance
+        variables which had *both readers and writers*, we would use @attr_accessor@.
+
+
+        &lt;pre&gt;
+         class LotteryTicket
+           attr_accessor :picks, :purchased
+         end
+        &lt;/pre&gt;
+
+
+        Which is exactly the same as this lengthier code:
+
+
+        &lt;pre&gt;
+         class LotteryTicket
+           def picks;           @picks;            end
+           def picks=(var);     @picks = var;      end
+           def purchased;       @purchased;        end
+           def purchased=(var); @purchased = var;  end
+         end
+        &lt;/pre&gt;
+
+
+        Holy cats!  Look at those writer methods for a moment.  They are the methods named
+        @picks=@ and @purchased=@.  These methods *intercept outside assignment* to instance variables.
+        Usually you will just let @attr_reader@ or @attr_accessor@ (or even perhaps @attr_writer@)
+        do the work for you.
+        Other times you may want to put a guard at the door yourself, checking variables in closer
+        detail.
+
+
+        &lt;pre&gt;
+         class SkatingContest
+           def the_winner; @the_winner; end
+           def the_winner=( name )
+             unless name.respond_to? :to_str
+               raise ArgumentError, &quot;The winner's name must be a String,
+                 not a math problem or a list of names or any of that business.&quot;
+             end
+             @the_winner = name
+           end
+         end
+        &lt;/pre&gt;
+
+
+        Most of the time you won't use this.  But, as we move along through your lessons, you'll find that
+        Ruby has lots of escape hatches and alley ways you can sneak into and hack code into.  I'm also
+        preparing you for metaprogramming, which, if you can smell that dragon, is ominously near.
+</diff>
      <filename>lang-pt/poignant-50.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,75 +1,75 @@
-    - !^sidebar
-      Another Excerpt from The Scarf Eaters: &gt;
-
-        (_from Chapter VIII: Sky High_.)
-
-
-        &quot;I know you,&quot; said Brent.  &quot;And I know your timelines.
-        You couldn't have done this Flash piece.&quot;
-
-
-        &quot;So, you're saying I'm predictable?&quot; said Deborah.  She
-        opened her hands and the diced potatoes stumbled like little,
-        drunk sea otters happily into the open crockpot.
-
-
-        &quot;You're very linear,&quot; said Brent.  He took up a mechanical pencil,
-        held it straight before his eyes, gazing tightly at it before
-        replacing it in the pencil holder on the counter.  &quot;Do you
-        even know how to load a scene?  How to jump frames?  This
-        movie I saw was all over the place, Deb.&quot;
-
-
-        She heaped five knit scarves and a single bandana into the slow
-        cooker and set it on high.  She closed the lid, leaving her hand
-        resting upon it.
-
-
-        &quot;What is it about this movie?&quot;  Deborah asked.  &quot;You go to
-        Flash sites all the time.  You played the Elf Snowball game
-        for two seconds, it didn't interest you.  You didn't care for
-        Elf Bowling games even.  And you weren't even phased by that
-        Hit The Penguin flash game.  Elf versus Penguin?  Don't even
-        ask!
-
-
-        &quot;Now this movie comes along and you can't get a grip.&quot;
-        She walked over and siddled up next to him.  &quot;Yo, bro, it's me.
-        Deborah.  What happened when you saw that movie?&quot;
-
-
-        &quot;Everything,&quot; said Brent, his eyes reflecting a million worlds.
-        &quot;And: nothing.  It opened with a young girl riding upon a wild
-        boar.  She was playing harmonica.  The harmonica music washed in
-        and out, uneasy, unsure.  But she rode naturally, as if it wasn't
-        anything of a big deal to ride a wild boar.  And with
-        Flash, riding a wild boar really isn't a big deal.&quot;
-
-
-        Deborah unclasped her bracelet and set it on the counter by the
-        crockpot.
-
-
-        &quot;The bottom of the movie started to break up, an ink puddle formed.
-        The boar reared up, but his legs gave way to the all the dark,
-        sputtering ink.&quot;
-
-
-        &quot;Dark clouds converged.  Hardcore music started to play.  Secret
-        agents came out of the clouds.  CIA guys and stuff.  The animation
-        simply rocked.
-
-
-        &quot;And then, at the very end of the movie, these words fade upon the
-        screen.  In white, bold letters.&quot;
-
-
-        &quot;Sky high,&quot; said Deborah.
-
-
-        &quot;How did you know?&quot; Brent's lip quivered.  Could she be trusted?
-
-
-        &quot;There is no room left in the world,&quot; she said.  &quot;No room for Scarf Eaters,
-        no room for you and I.  Here, take my hand.&quot;
-
+    - !^sidebar
+      Another Excerpt from The Scarf Eaters: &gt;
+
+        (_from Chapter VIII: Sky High_.)
+
+
+        &quot;I know you,&quot; said Brent.  &quot;And I know your timelines.
+        You couldn't have done this Flash piece.&quot;
+
+
+        &quot;So, you're saying I'm predictable?&quot; said Deborah.  She
+        opened her hands and the diced potatoes stumbled like little,
+        drunk sea otters happily into the open crockpot.
+
+
+        &quot;You're very linear,&quot; said Brent.  He took up a mechanical pencil,
+        held it straight before his eyes, gazing tightly at it before
+        replacing it in the pencil holder on the counter.  &quot;Do you
+        even know how to load a scene?  How to jump frames?  This
+        movie I saw was all over the place, Deb.&quot;
+
+
+        She heaped five knit scarves and a single bandana into the slow
+        cooker and set it on high.  She closed the lid, leaving her hand
+        resting upon it.
+
+
+        &quot;What is it about this movie?&quot;  Deborah asked.  &quot;You go to
+        Flash sites all the time.  You played the Elf Snowball game
+        for two seconds, it didn't interest you.  You didn't care for
+        Elf Bowling games even.  And you weren't even phased by that
+        Hit The Penguin flash game.  Elf versus Penguin?  Don't even
+        ask!
+
+
+        &quot;Now this movie comes along and you can't get a grip.&quot;
+        She walked over and siddled up next to him.  &quot;Yo, bro, it's me.
+        Deborah.  What happened when you saw that movie?&quot;
+
+
+        &quot;Everything,&quot; said Brent, his eyes reflecting a million worlds.
+        &quot;And: nothing.  It opened with a young girl riding upon a wild
+        boar.  She was playing harmonica.  The harmonica music washed in
+        and out, uneasy, unsure.  But she rode naturally, as if it wasn't
+        anything of a big deal to ride a wild boar.  And with
+        Flash, riding a wild boar really isn't a big deal.&quot;
+
+
+        Deborah unclasped her bracelet and set it on the counter by the
+        crockpot.
+
+
+        &quot;The bottom of the movie started to break up, an ink puddle formed.
+        The boar reared up, but his legs gave way to the all the dark,
+        sputtering ink.&quot;
+
+
+        &quot;Dark clouds converged.  Hardcore music started to play.  Secret
+        agents came out of the clouds.  CIA guys and stuff.  The animation
+        simply rocked.
+
+
+        &quot;And then, at the very end of the movie, these words fade upon the
+        screen.  In white, bold letters.&quot;
+
+
+        &quot;Sky high,&quot; said Deborah.
+
+
+        &quot;How did you know?&quot; Brent's lip quivered.  Could she be trusted?
+
+
+        &quot;There is no room left in the world,&quot; she said.  &quot;No room for Scarf Eaters,
+        no room for you and I.  Here, take my hand.&quot;
+</diff>
      <filename>lang-pt/poignant-51.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,144 +1,144 @@
-    - &gt;
-        Paij-ree was an enterprising young Endertromaltoek.  He hammered animal bones into long,
-        glistening trumpets with deep holes that were plugged by corks the musicians banded to
-        their fingers.  Sure, he only sold three of those units, but he was widely reviled as
-        a freelance scholar, a demonic one, for he was of a poorer class and the poor only
-        ever acquired their brilliance through satanic practice.  Of course, they were right,
-        indeed, he did have a bargain with the dark mages, whom he kept appointments with annually,
-        enduring torturous hot springs, bathing as they chanted spells.
-
-
-        He adored his father, even as his father deteriorated into but a gyroscope.  He idolized the
-        man's work and spent his own small earnings playing the lottery.  He loved to watch the
-        numerals, each painted upon hollow clay balls, rise in the _robloch_ (which is any fluid,
-        pond or spill that has happened to withstand the presence of ghosts), the great bankers
-        tying them together on a silver string, reading them in order.
-
-
-        Even today, Paij-ree paints the scenes with crude strokes of black ink on sheets of aluminum 
-        foil.  It is very touching to see him caught up in the preciousness of his memory, but I don't 
-        know exactly why he does it on aluminum foil.  His drawings rip too easily.  Paij-ree himself
-        gets mixed up and will serve you crumbcake right off of some of this art, even after it has
-        been properly framed.  So many things about him are troubling and absurd and downright wretched.
-
-
-        The disease spread over his father's form and marshy weeds covered his father's hands
-        and face.  The moss pulled his spine up into a rigid uprightness.  So thick was the
-        growth over his head that he appeared to wear a shrub molded into a bowler's hat.  He
-        also called himself by a new name -- *Quos* -- and he healed the people he touched, leaving
-        a pile of full-blooded, greenly-cheeked villages in his wake as he travelled the
-        townships.  Many called him The Mossiah and wept on his feet, which wet the buds and caused
-        him to weed into the ground.  This made him momentarily angry, he harshly jogged his legs
-        to break free and thrashed his fists wildly in the sky, bringing down a storm of lightning
-        shards upon these pitiful.
-
-
-        Paij-ree was apart from the spiritual odysseys of his father (in fact, thought the man
-        dead), so he only saw the decay of the lottery without its captain present.  Here is
-        where Paij-ree went to work, reviving the dead lottery of his family.
-
-
-        h3. Gambling with Fewer Fingers
-
-
-        The city was crowded with people who had lost interest in the lottery.  The weather
-        had really worn everyone down as well.  Such terrible rain flooding their cellars.
-        The entire city was forced to move up one story.  You'd go to put the cap back on your
-        pen and you'd ruin the pen, since the cap was already full of slosh.  Everyone was depleted,
-        many people drowned.
-
-
-        Paij-ree found himself wasting his days in a quadruple bunkbed, the only furniture that
-        managed to stay above sea level.  He slept on the top bed.  The third bed up was dry as
-        well, so he let a homeless crater gull nest upon it.  The gull didn't need the whole bed,
-        so Paij-ree also kept his calculators and pencils down there.
-
-
-        At first, these were very dark times for both of them, and they insisted on remaining
-        haggard at all times.  Paij-ree became obsessed with his fingernails, kept them long and
-        pristine, while the rest of him deteriorated under a suit of hair.  In the company of
-        Paij-ree, the crater gull learned his own eccentrity and plucked all the feathers on
-        the right side of his body.  He looked like a cutaway diagram.
-
-
-        They learned to have happier times.  Paij-ree carved a flute from the wall with his nails and played
-        it often.  Mostly he played his relaxed ballads during the daytime.  In the evening,
-        they pounded the wall and shook the bed frame in time to his songs.  The gull went
-        nuts when he played a certain four notes and he looped this section repeatedly,
-        watching the gull swoop and circle in ectasy.  Paij-ree could hardly keep his
-        composure over the effect the little tune had and he couldn't keep it together,
-        fell all apart, slobbering and horse-giggling.
-
-
-        Paij-ree called the gull _Eb-F-F-A_, after that favorite song.
-
-
-        Friendship can be a very good catalyst for progress.  A friend can find traits in you
-        that no one else can.  It's like they searched your person and somehow came up
-        with five full sets of silverware you never knew were there.  And even though
-        that friend may not understand why you had these utensils concealed, it's still a
-        great feat, worth honoring.
-
-
-        While _Eb-F-F-A_ didn't find silverware, he did find something else.  A
-        pile of something else.  Since Paij-ree was stranded on the quadruple bed, the gull
-        would scout around for food.  One day, he flew down upon a barrel, floating over where
-        the toolshed had been.  _Eb-F-F-A_ walked on top of the barrel, spinning it back to Paij-ree's
-        house and they cracked it open, revealing Paij-ree's lost collection of duck bills.
-
-
-        Yes, real duck bills. (_Eb-F-F-A_ was esophagizing his squawks, remaining calm,
-        sucking beads of sweat back into his forehead -- ducks were not _of his chosen feather_,
-        but still in the species.)  Paij-ree clapped gleefully, absolutely, he had intended
-        to shingle his house with these, they could have deflected a bit of the torrent.
-        Probably not much, nothing to cry about.
-
-
-        And the roof glue was at the barrel's bottom and they were two enterprising
-        bunkmates with time to kill, so they made a raft from the previously-quacked
-        lip shades.  And off they were to the country!  Stirring through a real mess of
-        city and soup.  How strange it was to hit a beach and find out it was just the old
-        dirt road passed Toffletown Junction.
-
-
-        In the country, they sold.  It was always a long walk to the next plantation,
-        but there would be a few buyers up in the mansion (&quot;Welcome to The Mansion Built on Beets&quot;,
-        they'd say or, &quot;The Mansion Built on Cellophane Substitutes -- don't you know how
-        harmful real cellophane can be?&quot;)  And one of the families wrapped up some excess
-        jelly and ham in some cellophane for the two travellers.  And they almost died one day later
-        because of it.
-        
-
-        Then, when the heat came and, as the first countryside lottery was at nigh,
-        a farmer called to them from his field, as he stood by his grazing cow.
-        Paij-ree and _Eb-F-F-A_ wandered out to him, murmuring to each other as to
-        whether they should offer him the Wind-Beaten Ticket Special or whether he
-        might want to opt in to winning Risky Rosco's Original Homestyle Country 
-        Medallion.
-
-
-        But the farmer waved them down as he approached, &quot;No, put your calculators and probability
-        wheels away.  It's for my grazledon.&quot;  He meant his cow.  The Endertromb version:
-        twice as much flesh, twice as meaty, doesn't produce milk, produces paper plates.  Still,
-        it grazes.
-
-
-        &quot;Your grazledon (poh-kon-ic) wants a lucky ticket?&quot; asked Paij-ree.
-
-
-        &quot;He saw you two and got real excited,&quot; said the farmer.  &quot;He doesn't know numbers,
-        but he understands luck a bit.  He almost got hit by a doter plane one day and, when
-        I found him, he just gave shrug.  It was like he said, 'Well, I guess that worked out
-        okay.'&quot;
-
-
-        &quot;The whole (shas-op) lottery is numer-(ig-ig)-ic,&quot; said Paij-ree.  &quot;Does he know
-        (elsh) notes?  My eagle knows (losh) notes.&quot;  Paij-ree whistled at the crater gull,
-        who cooed back a sustained _D_.
-
-
-        The farmer couldn't speak to his grazledon's tonal awareness, so Paij-ree sent the gull
-        to find out (_D-D-D-A-D_, _go-teach-the-gra-zle_) while he hacked some notes into
-        his calculator.
-
-
+    - &gt;
+        Paij-ree was an enterprising young Endertromaltoek.  He hammered animal bones into long,
+        glistening trumpets with deep holes that were plugged by corks the musicians banded to
+        their fingers.  Sure, he only sold three of those units, but he was widely reviled as
+        a freelance scholar, a demonic one, for he was of a poorer class and the poor only
+        ever acquired their brilliance through satanic practice.  Of course, they were right,
+        indeed, he did have a bargain with the dark mages, whom he kept appointments with annually,
+        enduring torturous hot springs, bathing as they chanted spells.
+
+
+        He adored his father, even as his father deteriorated into but a gyroscope.  He idolized the
+        man's work and spent his own small earnings playing the lottery.  He loved to watch the
+        numerals, each painted upon hollow clay balls, rise in the _robloch_ (which is any fluid,
+        pond or spill that has happened to withstand the presence of ghosts), the great bankers
+        tying them together on a silver string, reading them in order.
+
+
+        Even today, Paij-ree paints the scenes with crude strokes of black ink on sheets of aluminum 
+        foil.  It is very touching to see him caught up in the preciousness of his memory, but I don't 
+        know exactly why he does it on aluminum foil.  His drawings rip too easily.  Paij-ree himself
+        gets mixed up and will serve you crumbcake right off of some of this art, even after it has
+        been properly framed.  So many things about him are troubling and absurd and downright wretched.
+
+
+        The disease spread over his father's form and marshy weeds covered his father's hands
+        and face.  The moss pulled his spine up into a rigid uprightness.  So thick was the
+        growth over his head that he appeared to wear a shrub molded into a bowler's hat.  He
+        also called himself by a new name -- *Quos* -- and he healed the people he touched, leaving
+        a pile of full-blooded, greenly-cheeked villages in his wake as he travelled the
+        townships.  Many called him The Mossiah and wept on his feet, which wet the buds and caused
+        him to weed into the ground.  This made him momentarily angry, he harshly jogged his legs
+        to break free and thrashed his fists wildly in the sky, bringing down a storm of lightning
+        shards upon these pitiful.
+
+
+        Paij-ree was apart from the spiritual odysseys of his father (in fact, thought the man
+        dead), so he only saw the decay of the lottery without its captain present.  Here is
+        where Paij-ree went to work, reviving the dead lottery of his family.
+
+
+        h3. Gambling with Fewer Fingers
+
+
+        The city was crowded with people who had lost interest in the lottery.  The weather
+        had really worn everyone down as well.  Such terrible rain flooding their cellars.
+        The entire city was forced to move up one story.  You'd go to put the cap back on your
+        pen and you'd ruin the pen, since the cap was already full of slosh.  Everyone was depleted,
+        many people drowned.
+
+
+        Paij-ree found himself wasting his days in a quadruple bunkbed, the only furniture that
+        managed to stay above sea level.  He slept on the top bed.  The third bed up was dry as
+        well, so he let a homeless crater gull nest upon it.  The gull didn't need the whole bed,
+        so Paij-ree also kept his calculators and pencils down there.
+
+
+        At first, these were very dark times for both of them, and they insisted on remaining
+        haggard at all times.  Paij-ree became obsessed with his fingernails, kept them long and
+        pristine, while the rest of him deteriorated under a suit of hair.  In the company of
+        Paij-ree, the crater gull learned his own eccentrity and plucked all the feathers on
+        the right side of his body.  He looked like a cutaway diagram.
+
+
+        They learned to have happier times.  Paij-ree carved a flute from the wall with his nails and played
+        it often.  Mostly he played his relaxed ballads during the daytime.  In the evening,
+        they pounded the wall and shook the bed frame in time to his songs.  The gull went
+        nuts when he played a certain four notes and he looped this section repeatedly,
+        watching the gull swoop and circle in ectasy.  Paij-ree could hardly keep his
+        composure over the effect the little tune had and he couldn't keep it together,
+        fell all apart, slobbering and horse-giggling.
+
+
+        Paij-ree called the gull _Eb-F-F-A_, after that favorite song.
+
+
+        Friendship can be a very good catalyst for progress.  A friend can find traits in you
+        that no one else can.  It's like they searched your person and somehow came up
+        with five full sets of silverware you never knew were there.  And even though
+        that friend may not understand why you had these utensils concealed, it's still a
+        great feat, worth honoring.
+
+
+        While _Eb-F-F-A_ didn't find silverware, he did find something else.  A
+        pile of something else.  Since Paij-ree was stranded on the quadruple bed, the gull
+        would scout around for food.  One day, he flew down upon a barrel, floating over where
+        the toolshed had been.  _Eb-F-F-A_ walked on top of the barrel, spinning it back to Paij-ree's
+        house and they cracked it open, revealing Paij-ree's lost collection of duck bills.
+
+
+        Yes, real duck bills. (_Eb-F-F-A_ was esophagizing his squawks, remaining calm,
+        sucking beads of sweat back into his forehead -- ducks were not _of his chosen feather_,
+        but still in the species.)  Paij-ree clapped gleefully, absolutely, he had intended
+        to shingle his house with these, they could have deflected a bit of the torrent.
+        Probably not much, nothing to cry about.
+
+
+        And the roof glue was at the barrel's bottom and they were two enterprising
+        bunkmates with time to kill, so they made a raft from the previously-quacked
+        lip shades.  And off they were to the country!  Stirring through a real mess of
+        city and soup.  How strange it was to hit a beach and find out it was just the old
+        dirt road passed Toffletown Junction.
+
+
+        In the country, they sold.  It was always a long walk to the next plantation,
+        but there would be a few buyers up in the mansion (&quot;Welcome to The Mansion Built on Beets&quot;,
+        they'd say or, &quot;The Mansion Built on Cellophane Substitutes -- don't you know how
+        harmful real cellophane can be?&quot;)  And one of the families wrapped up some excess
+        jelly and ham in some cellophane for the two travellers.  And they almost died one day later
+        because of it.
+        
+
+        Then, when the heat came and, as the first countryside lottery was at nigh,
+        a farmer called to them from his field, as he stood by his grazing cow.
+        Paij-ree and _Eb-F-F-A_ wandered out to him, murmuring to each other as to
+        whether they should offer him the Wind-Beaten Ticket Special or whether he
+        might want to opt in to winning Risky Rosco's Original Homestyle Country 
+        Medallion.
+
+
+        But the farmer waved them down as he approached, &quot;No, put your calculators and probability
+        wheels away.  It's for my grazledon.&quot;  He meant his cow.  The Endertromb version:
+        twice as much flesh, twice as meaty, doesn't produce milk, produces paper plates.  Still,
+        it grazes.
+
+
+        &quot;Your grazledon (poh-kon-ic) wants a lucky ticket?&quot; asked Paij-ree.
+
+
+        &quot;He saw you two and got real excited,&quot; said the farmer.  &quot;He doesn't know numbers,
+        but he understands luck a bit.  He almost got hit by a doter plane one day and, when
+        I found him, he just gave shrug.  It was like he said, 'Well, I guess that worked out
+        okay.'&quot;
+
+
+        &quot;The whole (shas-op) lottery is numer-(ig-ig)-ic,&quot; said Paij-ree.  &quot;Does he know
+        (elsh) notes?  My eagle knows (losh) notes.&quot;  Paij-ree whistled at the crater gull,
+        who cooed back a sustained _D_.
+
+
+        The farmer couldn't speak to his grazledon's tonal awareness, so Paij-ree sent the gull
+        to find out (_D-D-D-A-D_, _go-teach-the-gra-zle_) while he hacked some notes into
+        his calculator.
+
+</diff>
      <filename>lang-pt/poignant-52.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,116 +1,116 @@
-        &lt;pre&gt;
-         class AnimalLottoTicket
-
-           # A list of valid notes.
-           NOTES = [:Ab, :A, :Bb, :B, :C, :Db, :D, :Eb, :E, :F, :Gb, :G]
-
-           # Stores the three picked notes and a purchase date.
-           attr_reader :picks, :purchased
-
-           # Creates a new ticket from three chosen notes.  The three notes
-           # must be unique notes.
-           def initialize( note1, note2, note3 )
-             if [note1, note2, note3].uniq!
-               raise ArgumentError, &quot;the three picks must be different notes&quot;
-             elsif picks.detect { |p| not NOTES.include? p }
-               raise ArgumentError, &quot;the three picks must be notes in the chromatic scale.&quot;
-             end
-             @picks = picks
-             @purchased = Time.now
-           end
-
-           # Score this ticket against the final draw.
-           def score( final )
-             count = 0
-             final.picks.each do |note|
-               count +=1 if picks.include? note
-             end
-             count
-           end
-
-           # Constructor to create a random AnimalLottoTicket
-           def self.new_random
-             new( NOTES[ rand( NOTES.length ) ], NOTES[ rand( NOTES.length ) ],
-                  NOTES[ rand( NOTES.length ) ] )
-           rescue ArgumentError
-             redo
-           end
-
-         end
-        &lt;/pre&gt;
-
-
-        No need for the animal's tickets to behave drastically different from the traditional
-        tickets.  The @AnimalLottoTicket@ class is internally different, but exposes the same
-        methods seen in the original @LotteryTicket@ class.
-        The @score@ method is even identical to the @score@ method from the old @LotteryTicket@
-        class.
-
-
-        Instead of using a class variable to store the musical note list, they're stored in
-        a constant called @AnimalLottoTicket::NOTES@.  Variables change and the note list
-        shouldn't change.  Constants are designed to stay the same.  You can still change the
-        constant, but you'll have to be tricky or Ruby will speak up.
-
-
-        &lt;pre&gt;
-         irb&gt; AnimalLottoTicket::NOTES = [:TOOT, :TWEET, :BLAT]
-         (irb):3: warning: already initialized constant NOTES
-           =&gt; [:TOOT, :TWEET, :BLAT]
-        &lt;/pre&gt;
-
-
-        The gull came back with the grazledon, his name was Merphy, he was thrilled to play chance,
-        he puffed his face dreamily, whistled five and six notes
-        in series, they all held his collar, pulled him close to the calculator and let him breathe
-        three notes, then they choked the bedosh outta him until his ticket was printed and 
-        everything was nicely catalogued inside @@@tickets['merphy']@.  Thankyou, see ya at the draw!
-
-
-        So, the fever of the lottery became an epidemic among the simple minds of the animals.  
-        Paij-ree saved his costs, used the same @LotteryDraw@ class he'd used in the corporate environment of
-        the lottery from his childhood.  And soon enough, the animals were making their own
-        music and their own maps and films.
-
-
-        &quot;What about The Originals?&quot; I asked Paij-ree.  &quot;They must have hated your animals!&quot;
-
-
-        But he winced sourly and pinched his forehead.  &quot;I am an Original.  You as well.
-        Do we (ae-o) hate any of them?&quot;
-
-
-        Not too long after the lottery ended, Paij-ree felt the crater gull _Eb-F-F-A_
-        lighting upon his shoulder, which whistled an urgent and sad _C-Eb-D C-A-Eb_.
-        These desparate notes sent an organ roll of chills straight through Paij-ree.  Had the
-        King God of Potted Soil, Our Beloved Topiary, *the Mossiah Quos*, Literal Father of
-        That Man Who Would Be My Daughter's Organ Instructor -- had he truly come to his end?
-        How could this be?  Could the great arbors no longer nourish him and guide the moist crosswinds
-        to him?  Or did his own spindly lichen hedge up his way and grow against his breathing?
-
-
-        _You never mind_, went the tune of the gull.  _He has detoriated and weakened and fallen in the
-        lit door of your home cottage.  His tendrils needing and crying for the day to not end.
-        For the sun to stay fixed and wide and attentive._
-
-
-        Plor-ian, the house attendant, kept the pitchers coming and Quos stayed well watered
-        until Paij-ree arrived to survey the decaying buds of soft plant and the emerging face of
-        his father, the lottery captain.  His skin deeply pocked like an overly embroidered pillow.
-        Great shoots springing from his sleeves now curled back with lurching thirst.
-
-
-        Paij-ree combed back the longer stems around his father's eyes and those coming from the
-        corners of his mouth.  While I'd like to tell you that Paij-ree's tears rolled down
-        his sleeves and into the pours of his father, rejuvenating and restoring the grassy gentleman:
-        I cannot say this.
-
-
-        Rather, Paij-ree's tears rolled down his sleeves and into the creaking clapboard floor,
-        nourishing the vile weeds, energizing the dark plant matter, which literally lept through
-        the floor at night and strangled Our Quos.  Yank, pull, crack.  And that was his skull.
-
-
-        So Paij-ree could never be called Wert-ree or Wert-plo after that.
-
-
+        &lt;pre&gt;
+         class AnimalLottoTicket
+
+           # A list of valid notes.
+           NOTES = [:Ab, :A, :Bb, :B, :C, :Db, :D, :Eb, :E, :F, :Gb, :G]
+
+           # Stores the three picked notes and a purchase date.
+           attr_reader :picks, :purchased
+
+           # Creates a new ticket from three chosen notes.  The three notes
+           # must be unique notes.
+           def initialize( note1, note2, note3 )
+             if [note1, note2, note3].uniq!
+               raise ArgumentError, &quot;the three picks must be different notes&quot;
+             elsif picks.detect { |p| not NOTES.include? p }
+               raise ArgumentError, &quot;the three picks must be notes in the chromatic scale.&quot;
+             end
+             @picks = picks
+             @purchased = Time.now
+           end
+
+           # Score this ticket against the final draw.
+           def score( final )
+             count = 0
+             final.picks.each do |note|
+               count +=1 if picks.include? note
+             end
+             count
+           end
+
+           # Constructor to create a random AnimalLottoTicket
+           def self.new_random
+             new( NOTES[ rand( NOTES.length ) ], NOTES[ rand( NOTES.length ) ],
+                  NOTES[ rand( NOTES.length ) ] )
+           rescue ArgumentError
+             redo
+           end
+
+         end
+        &lt;/pre&gt;
+
+
+        No need for the animal's tickets to behave drastically different from the traditional
+        tickets.  The @AnimalLottoTicket@ class is internally different, but exposes the same
+        methods seen in the original @LotteryTicket@ class.
+        The @score@ method is even identical to the @score@ method from the old @LotteryTicket@
+        class.
+
+
+        Instead of using a class variable to store the musical note list, they're stored in
+        a constant called @AnimalLottoTicket::NOTES@.  Variables change and the note list
+        shouldn't change.  Constants are designed to stay the same.  You can still change the
+        constant, but you'll have to be tricky or Ruby will speak up.
+
+
+        &lt;pre&gt;
+         irb&gt; AnimalLottoTicket::NOTES = [:TOOT, :TWEET, :BLAT]
+         (irb):3: warning: already initialized constant NOTES
+           =&gt; [:TOOT, :TWEET, :BLAT]
+        &lt;/pre&gt;
+
+
+        The gull came back with the grazledon, his name was Merphy, he was thrilled to play chance,
+        he puffed his face dreamily, whistled five and six notes
+        in series, they all held his collar, pulled him close to the calculator and let him breathe
+        three notes, then they choked the bedosh outta him until his ticket was printed and 
+        everything was nicely catalogued inside @@@tickets['merphy']@.  Thankyou, see ya at the draw!
+
+
+        So, the fever of the lottery became an epidemic among the simple minds of the animals.  
+        Paij-ree saved his costs, used the same @LotteryDraw@ class he'd used in the corporate environment of
+        the lottery from his childhood.  And soon enough, the animals were making their own
+        music and their own maps and films.
+
+
+        &quot;What about The Originals?&quot; I asked Paij-ree.  &quot;They must have hated your animals!&quot;
+
+
+        But he winced sourly and pinched his forehead.  &quot;I am an Original.  You as well.
+        Do we (ae-o) hate any of them?&quot;
+
+
+        Not too long after the lottery ended, Paij-ree felt the crater gull _Eb-F-F-A_
+        lighting upon his shoulder, which whistled an urgent and sad _C-Eb-D C-A-Eb_.
+        These desparate notes sent an organ roll of chills straight through Paij-ree.  Had the
+        King God of Potted Soil, Our Beloved Topiary, *the Mossiah Quos*, Literal Father of
+        That Man Who Would Be My Daughter's Organ Instructor -- had he truly come to his end?
+        How could this be?  Could the great arbors no longer nourish him and guide the moist crosswinds
+        to him?  Or did his own spindly lichen hedge up his way and grow against his breathing?
+
+
+        _You never mind_, went the tune of the gull.  _He has detoriated and weakened and fallen in the
+        lit door of your home cottage.  His tendrils needing and crying for the day to not end.
+        For the sun to stay fixed and wide and attentive._
+
+
+        Plor-ian, the house attendant, kept the pitchers coming and Quos stayed well watered
+        until Paij-ree arrived to survey the decaying buds of soft plant and the emerging face of
+        his father, the lottery captain.  His skin deeply pocked like an overly embroidered pillow.
+        Great shoots springing from his sleeves now curled back with lurching thirst.
+
+
+        Paij-ree combed back the longer stems around his father's eyes and those coming from the
+        corners of his mouth.  While I'd like to tell you that Paij-ree's tears rolled down
+        his sleeves and into the pours of his father, rejuvenating and restoring the grassy gentleman:
+        I cannot say this.
+
+
+        Rather, Paij-ree's tears rolled down his sleeves and into the creaking clapboard floor,
+        nourishing the vile weeds, energizing the dark plant matter, which literally lept through
+        the floor at night and strangled Our Quos.  Yank, pull, crack.  And that was his skull.
+
+
+        So Paij-ree could never be called Wert-ree or Wert-plo after that.
+
+</diff>
      <filename>lang-pt/poignant-52a.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,138 +1,138 @@
-    - Them What Make the Rules: &gt;
-
-        Hannah lept back from the wall and clenched down on her fingers.
-
-
-        &quot;This is the wall,&quot; said Dr. Cham.  &quot;The Originals are in there.  My child, can you
-        lead us to the observation deck?&quot;
-
-
-        &quot;You expect us to go up against those guys?&quot; asked the goat.  &quot;They're mad as koalas.  But these
-        koalas have lasers!&quot;
-
-
-        &quot;We prevail, though,&quot; said Dr. Cham.  &quot;You and I know this.&quot;
-
-
-        &quot;Okay, well I'm muddled on that point,&quot; said the goat.  &quot;Do we really win?
-        Or could we be thinking about _Kramer vs. Kramer_?  Does Dustin Hoffman win or do we win?&quot;
-
-
-        &quot;No.  No.  No.  No.&quot;  Hannah hovered and dragged her legs along the wall nervously.
-        &quot;There is a man with a huge face in there!&quot;
-
-
-        &quot;Mr. Face,&quot; said the Doctor.  &quot;He is the original face.&quot;
-
-
-        &quot;He didn't see me,&quot; said Hannah and moaned.  *HOMA-HOMA-ALLO-ALLO.*
-
-
-        She made that hollow weeping through the crumbling mouseholes and the freezer gateways,
-        fluxing in and out, causing the video checkpoints to hiss and the wall panels to
-        brace themselves and fall silent.  The three passed through two levels of frayed security
-        and emerged in the observation deck overlooking the cargo bay.
-
-
-        !i/the.originals-1.jpg(Klon Ooper. Corwood. Mr. Face. Vonblisser.  The Originals.)!
-
-
-        &quot;The last living among The Originals,&quot; said Dr. Cham.  &quot;Are you alright with this,
-        Hannah?&quot;  Which she didn't hear in any way, as her eyes laid fixed on the legendary
-        creatures.
-
-
-        &quot;Look at them,&quot; said the goat.  &quot;These guys wrote the rule books, Doctor.  We owe
-        everything to these guys.&quot;
-
-
-        &quot;What about God?&quot; said Dr. Cham.
-
-        
-        &quot;I don't really know,&quot; said the goat.  &quot;Hannah probably knows better than any of us
-        about that.&quot;
-
-
-        Hannah said nothing.  She only really knew one other ghost and that was her Post-Decease Mediator,
-        Jamie Huft.  Who didn't seem to have any answers for her and required questions to be submitted
-        in writing with a self-addressed stamped envelope included.  Hannah hadn't gotten the ball rolling
-        on that P.O. Box yet.
-
-
-        &quot;We must be up in the mountains,&quot; said the goat.  &quot;Look out at that blackness.&quot;
-
-
-        &quot;I saw another deck like this down by where we found Hannah,&quot; said Dr. Cham.  &quot;Down closer
-        to your living area.  You should take time to search for it.  It's very peaceful there.
-        You can see Earth and the seven seas.&quot;
-
-
-        &quot;The seven seas?&quot;  The goat wondered if that was near The Rockettes.  He'd read his share
-        of material on precision dancing and he'd seen that line of legs, mincing across the
-        stage like a big, glitsy rototiller.
-        
-
-        Hannah stirred to life.
-
-
-        !i/the.originals-2.jpg(Hannah panicks. Maple donuts are within reach.)!
-
-
-        !i/the.originals-3.jpg(They couldn't hear them, but they saw their slides.)!
-
-
-        And none of the three spoke when The Originals flicked off the slide projector
-        and boarded a very slender rocketship and cleanly exploded through a crevice in the
-        cargo bay roof.
-
-
-        &quot;Oh, boy,&quot; said the goat.
-
-
-        &quot;What?&quot; said Hannah.
-
-
-        &quot;You're going to die,&quot; said the goat.
-
-
-        Dr. Cham looked over the controls in front of them, a long panel of padded handles and
-        green screens.
-
-
-        &quot;I'm already dead.  I'm a ghost.&quot;
-
-
-        The goat looked down at the Doctor, who was rummaging under the control panel.  &quot;Okay, well
-        if your uncle isn't going to have a talk with you, I'm going to make things very clear.  There's
-        a good chance these guys are going to build a bomb.  And you see how I'm fidgeting?  You see
-        how my knees are wobbling?&quot;
-
-
-        &quot;Yeah.&quot;
-
-
-        &quot;Yeah, that's how real this is, kid.  I don't remember anything from that _confounded book_ except
-        that these guys are building a bomb that can blow up the ghost world.  
-        Because once the ghost world's gone, then Digger Dosh gets his one second back.  
-        It's a trade they've worked out.  Hell, it's sick stuff, that's all you need to know.&quot;
-
-
-        &quot;But I'm dead.&quot;
-
-
-        &quot;Okay, well, we're talking, aren't we?  You can talk, so are you dead?&quot;  The goat shook his head.
-        &quot;I wish I could remember if we win or if it was Dustin Hoffman.&quot;
-
-
-        Hannah cried.  &quot;Why do I have to die again?&quot;  She wailed and her legs fell into
-        flux and she sunk into the floor.  *MOH-MOHHH-MAO-MAOOO.*
-
-
-        Dr. Cham had forceably yanked on a plush handle, which unlocked and slid open like a breadbox.
-        He reached his hands inside and found a keyboard firmly bolted deep inside.
-
-
-        &quot;That's it,&quot; he said and pulled up @irb@, which appeared on a display to the left of his
-        concealed typing.  He checked the Ruby version.
-
-
+    - Them What Make the Rules: &gt;
+
+        Hannah lept back from the wall and clenched down on her fingers.
+
+
+        &quot;This is the wall,&quot; said Dr. Cham.  &quot;The Originals are in there.  My child, can you
+        lead us to the observation deck?&quot;
+
+
+        &quot;You expect us to go up against those guys?&quot; asked the goat.  &quot;They're mad as koalas.  But these
+        koalas have lasers!&quot;
+
+
+        &quot;We prevail, though,&quot; said Dr. Cham.  &quot;You and I know this.&quot;
+
+
+        &quot;Okay, well I'm muddled on that point,&quot; said the goat.  &quot;Do we really win?
+        Or could we be thinking about _Kramer vs. Kramer_?  Does Dustin Hoffman win or do we win?&quot;
+
+
+        &quot;No.  No.  No.  No.&quot;  Hannah hovered and dragged her legs along the wall nervously.
+        &quot;There is a man with a huge face in there!&quot;
+
+
+        &quot;Mr. Face,&quot; said the Doctor.  &quot;He is the original face.&quot;
+
+
+        &quot;He didn't see me,&quot; said Hannah and moaned.  *HOMA-HOMA-ALLO-ALLO.*
+
+
+        She made that hollow weeping through the crumbling mouseholes and the freezer gateways,
+        fluxing in and out, causing the video checkpoints to hiss and the wall panels to
+        brace themselves and fall silent.  The three passed through two levels of frayed security
+        and emerged in the observation deck overlooking the cargo bay.
+
+
+        !i/the.originals-1.jpg(Klon Ooper. Corwood. Mr. Face. Vonblisser.  The Originals.)!
+
+
+        &quot;The last living among The Originals,&quot; said Dr. Cham.  &quot;Are you alright with this,
+        Hannah?&quot;  Which she didn't hear in any way, as her eyes laid fixed on the legendary
+        creatures.
+
+
+        &quot;Look at them,&quot; said the goat.  &quot;These guys wrote the rule books, Doctor.  We owe
+        everything to these guys.&quot;
+
+
+        &quot;What about God?&quot; said Dr. Cham.
+
+        
+        &quot;I don't really know,&quot; said the goat.  &quot;Hannah probably knows better than any of us
+        about that.&quot;
+
+
+        Hannah said nothing.  She only really knew one other ghost and that was her Post-Decease Mediator,
+        Jamie Huft.  Who didn't seem to have any answers for her and required questions to be submitted
+        in writing with a self-addressed stamped envelope included.  Hannah hadn't gotten the ball rolling
+        on that P.O. Box yet.
+
+
+        &quot;We must be up in the mountains,&quot; said the goat.  &quot;Look out at that blackness.&quot;
+
+
+        &quot;I saw another deck like this down by where we found Hannah,&quot; said Dr. Cham.  &quot;Down closer
+        to your living area.  You should take time to search for it.  It's very peaceful there.
+        You can see Earth and the seven seas.&quot;
+
+
+        &quot;The seven seas?&quot;  The goat wondered if that was near The Rockettes.  He'd read his share
+        of material on precision dancing and he'd seen that line of legs, mincing across the
+        stage like a big, glitsy rototiller.
+        
+
+        Hannah stirred to life.
+
+
+        !i/the.originals-2.jpg(Hannah panicks. Maple donuts are within reach.)!
+
+
+        !i/the.originals-3.jpg(They couldn't hear them, but they saw their slides.)!
+
+
+        And none of the three spoke when The Originals flicked off the slide projector
+        and boarded a very slender rocketship and cleanly exploded through a crevice in the
+        cargo bay roof.
+
+
+        &quot;Oh, boy,&quot; said the goat.
+
+
+        &quot;What?&quot; said Hannah.
+
+
+        &quot;You're going to die,&quot; said the goat.
+
+
+        Dr. Cham looked over the controls in front of them, a long panel of padded handles and
+        green screens.
+
+
+        &quot;I'm already dead.  I'm a ghost.&quot;
+
+
+        The goat looked down at the Doctor, who was rummaging under the control panel.  &quot;Okay, well
+        if your uncle isn't going to have a talk with you, I'm going to make things very clear.  There's
+        a good chance these guys are going to build a bomb.  And you see how I'm fidgeting?  You see
+        how my knees are wobbling?&quot;
+
+
+        &quot;Yeah.&quot;
+
+
+        &quot;Yeah, that's how real this is, kid.  I don't remember anything from that _confounded book_ except
+        that these guys are building a bomb that can blow up the ghost world.  
+        Because once the ghost world's gone, then Digger Dosh gets his one second back.  
+        It's a trade they've worked out.  Hell, it's sick stuff, that's all you need to know.&quot;
+
+
+        &quot;But I'm dead.&quot;
+
+
+        &quot;Okay, well, we're talking, aren't we?  You can talk, so are you dead?&quot;  The goat shook his head.
+        &quot;I wish I could remember if we win or if it was Dustin Hoffman.&quot;
+
+
+        Hannah cried.  &quot;Why do I have to die again?&quot;  She wailed and her legs fell into
+        flux and she sunk into the floor.  *MOH-MOHHH-MAO-MAOOO.*
+
+
+        Dr. Cham had forceably yanked on a plush handle, which unlocked and slid open like a breadbox.
+        He reached his hands inside and found a keyboard firmly bolted deep inside.
+
+
+        &quot;That's it,&quot; he said and pulled up @irb@, which appeared on a display to the left of his
+        concealed typing.  He checked the Ruby version.
+
+</diff>
      <filename>lang-pt/poignant-53.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,138 +1,138 @@
-        &lt;pre&gt;
-         irb&gt; RUBY_VERSION
-           =&gt; &quot;1.8.3&quot;
-        &lt;/pre&gt;
-
-
-        Ruby was up-to-date.  What else could he do?  Scanning @constants@ and @class_variables@ was pointless.
-        The only reason that had worked with the @Elevator@ class was because someone had left @irb@ running
-        with their classes still loaded.
-
-
-        He had just loaded this @irb@, so no special classes were available yet.  He had to find some classes.
-        He started by loading the @`rbconfig`@ file to get an idea of what Ruby's settings were.
-
-
-        &lt;pre&gt;
-         irb&gt; require 'rbconfig'
-           =&gt; true
-         irb&gt; Config::CONFIG
-           =&gt; {&quot;abs_srcdir&quot;=&gt;&quot;$(ac_abs_srcdir)&quot;, &quot;sitedir&quot;=&gt;&quot;bay://Ruby/lib/site_ruby&quot;, ... }
-        &lt;/pre&gt;
-
-
-        Too much information to sort through there.  The @Config::CONFIG@ constant is a Hash that
-        contains every environment setting used to setup Ruby.  You can find the operating system
-        name at @Config::CONFIG['host_os']@.  The directory where core Ruby libraries are stored
-        can be found at @Config::CONFIG['rubylibdir']@.  Ruby programs can store helper files at
-        @Config::CONFIG['datadir']@.
-        
-
-        What Dr. Cham really needed, though, was a list of all the libraries that aren't core Ruby
-        libraries.  Libraries which were installed by The Originals or whoever manned this console.
-        He checked a few global variables for this information.
-
-
-        &lt;pre&gt;
-         irb&gt; $&quot;
-           =&gt; [&quot;irb.rb&quot;, &quot;e2mmap.rb&quot;, &quot;irb/init.rb&quot;, ... &quot;rbconfig.rb&quot;]
-         irb&gt; $:
-           =&gt; [&quot;bay://Ruby/lib/site_ruby/1.9&quot;, &quot;bay://Ruby/lib/site_ruby/1.9/i686-unknown&quot;,
-               &quot;bay://Ruby/lib/site_ruby&quot;, &quot;bay://Ruby/lib/1.9&quot;, 
-               &quot;bay://Ruby/lib/1.9/i686-unknown&quot;, &quot;.&quot;]
-        &lt;/pre&gt;
-
-
-        Aha, good.  Dr. Cham stroked his beard and looked over his @irb@ session.  The @$&quot;@ global variable
-        contains an Array of every library which has been loaded with @require@.  Most of these libraries
-        had been loaded by @irb@.  He had loaded @'rbconfig.rb'@ earlier, though.
-
-
-        The @$:@ global variable, which can also be accessed as @$LOAD_PATH@, contains a list of all
-        the directories which Ruby will check when you try to load a file with @require@.  When Dr.
-        Cham ran @require 'rbconfig'@, Ruby checked each directory in order.
-
-
-        &lt;pre&gt;
-         bay://Ruby/lib/site_ruby/1.9/rbconfig.rb
-         bay://Ruby/lib/site_ruby/1.9/i686-unknown/rbconfig.rb (*)
-         bay://Ruby/lib/site_ruby/rbconfig.rb
-         bay://Ruby/lib/1.9/rbconfig.rb
-         bay://Ruby/lib/1.9/i686-unknown/rbconfig.rb
-         ./rbconfig.rb
-        &lt;/pre&gt;
-
-
-        The second path was where Ruby ended up finding the rbconfig.rb file.  Dr. Cham guessed that
-        the first five paths were *absolute paths*.  These were paths to directories on a drive called
-        @bay@.  Absolute paths may vary on your system.  On Windows, absolute paths will start with
-        a drive letter.  On Linux, absolute paths start with a slash.
-
-
-        The directory @&quot;.&quot;@ indicates a *relative path*.  The lone period represents the current
-        work directory.  The directory where Dr. Cham started up @irb@.  So, after Ruby has searched
-        all the standard places, it checks the current directory.
-
-
-        The goat had peeked his head around Dr. Cham and was watching all these instructions
-        transpire, as he licked his lips to keep his salivations from running all over the monitors
-        and glossy buttons.  He had been interjecting a few short cheers (along the lines of:
-        _No, not that_ or _Yes, yes, right_ or _Okay, well, your choice_), but now he was
-        fully involved, recommending code, &quot;Try @require 'setup'@ or, no, try
-        @3 * 5@.  Make sure that basic math works.&quot;
-
-
-        &quot;Of course the math works,&quot; said Dr. Cham.  &quot;Let me be, I need to find some useful classes.&quot;
-
-
-        &quot;It's a basic sanity test,&quot; said the goat.  &quot;Just try it.  Do @3 * 5@ and see what
-        comes up.&quot;
-
-
-        Dr. Cham caved.
-
-
-        &lt;pre&gt;
-         irb&gt; 3 * 5
-           =&gt; 15
-        &lt;/pre&gt;
-
-
-        &quot;Okay, great!  We're in business!&quot; the goat tossed his furry face about in glee.
-        
-
-        Dr. Cham patted the goat's head, &quot;Well done.  We can continue.&quot;
-
-
-        &lt;pre&gt;
-         irb&gt; Dir.chdir( &quot;bay://Ruby/lib/site_ruby/1.9/&quot; )
-           =&gt; 0
-         irb&gt; Dir[&quot;./*.{rb}&quot;]
-           =&gt; ['endertromb.rb', 'mindreader.rb', 'wishmaker.rb']
-        &lt;/pre&gt;
-
-
-        Dr. Cham had use @chdir@ to change the current working directory over the the first
-        path listed in @$LOAD_PATH@.  This first path in @site_ruby@ is a common place to store
-        custom classes.
-
-
-        Here were the three legendary classes that my daughter's organ instructor had inscribed
-        for me earlier in this chapter.  And, Dr. Cham, having read this selfsame chapter, recognized
-        these three pieces of the system immediately.
-
-
-        The @Endertromb@ class which contained the mysteries of this planet's powers.  The @MindReader@
-        class which, upon scanning the minds of its inhabitants, read each mind's contents.  And, finally,
-        the crucial @WishMaker@ class which powered the granting of ten-letter wishes, should the wish
-        ever find its way to the core of Endertromb.
-
-
-        &quot;How about @4 * 56 + 9@?&quot; asked the goat.  &quot;We don't know if it can do compound expressions.&quot;
-
-
-        &quot;I've got the @MindReader@ right here,&quot; said Dr. Cham.  &quot;And I have the @WishMaker@ here next to it.
-        This planet can read minds.  And this planet can make wishes.  Now, let's see if it can do both at
-        the same time.&quot;
-
-
+        &lt;pre&gt;
+         irb&gt; RUBY_VERSION
+           =&gt; &quot;1.8.3&quot;
+        &lt;/pre&gt;
+
+
+        Ruby was up-to-date.  What else could he do?  Scanning @constants@ and @class_variables@ was pointless.
+        The only reason that had worked with the @Elevator@ class was because someone had left @irb@ running
+        with their classes still loaded.
+
+
+        He had just loaded this @irb@, so no special classes were available yet.  He had to find some classes.
+        He started by loading the @`rbconfig`@ file to get an idea of what Ruby's settings were.
+
+
+        &lt;pre&gt;
+         irb&gt; require 'rbconfig'
+           =&gt; true
+         irb&gt; Config::CONFIG
+           =&gt; {&quot;abs_srcdir&quot;=&gt;&quot;$(ac_abs_srcdir)&quot;, &quot;sitedir&quot;=&gt;&quot;bay://Ruby/lib/site_ruby&quot;, ... }
+        &lt;/pre&gt;
+
+
+        Too much information to sort through there.  The @Config::CONFIG@ constant is a Hash that
+        contains every environment setting used to setup Ruby.  You can find the operating system
+        name at @Config::CONFIG['host_os']@.  The directory where core Ruby libraries are stored
+        can be found at @Config::CONFIG['rubylibdir']@.  Ruby programs can store helper files at
+        @Config::CONFIG['datadir']@.
+        
+
+        What Dr. Cham really needed, though, was a list of all the libraries that aren't core Ruby
+        libraries.  Libraries which were installed by The Originals or whoever manned this console.
+        He checked a few global variables for this information.
+
+
+        &lt;pre&gt;
+         irb&gt; $&quot;
+           =&gt; [&quot;irb.rb&quot;, &quot;e2mmap.rb&quot;, &quot;irb/init.rb&quot;, ... &quot;rbconfig.rb&quot;]
+         irb&gt; $:
+           =&gt; [&quot;bay://Ruby/lib/site_ruby/1.9&quot;, &quot;bay://Ruby/lib/site_ruby/1.9/i686-unknown&quot;,
+               &quot;bay://Ruby/lib/site_ruby&quot;, &quot;bay://Ruby/lib/1.9&quot;, 
+               &quot;bay://Ruby/lib/1.9/i686-unknown&quot;, &quot;.&quot;]
+        &lt;/pre&gt;
+
+
+        Aha, good.  Dr. Cham stroked his beard and looked over his @irb@ session.  The @$&quot;@ global variable
+        contains an Array of every library which has been loaded with @require@.  Most of these libraries
+        had been loaded by @irb@.  He had loaded @'rbconfig.rb'@ earlier, though.
+
+
+        The @$:@ global variable, which can also be accessed as @$LOAD_PATH@, contains a list of all
+        the directories which Ruby will check when you try to load a file with @require@.  When Dr.
+        Cham ran @require 'rbconfig'@, Ruby checked each directory in order.
+
+
+        &lt;pre&gt;
+         bay://Ruby/lib/site_ruby/1.9/rbconfig.rb
+         bay://Ruby/lib/site_ruby/1.9/i686-unknown/rbconfig.rb (*)
+         bay://Ruby/lib/site_ruby/rbconfig.rb
+         bay://Ruby/lib/1.9/rbconfig.rb
+         bay://Ruby/lib/1.9/i686-unknown/rbconfig.rb
+         ./rbconfig.rb
+        &lt;/pre&gt;
+
+
+        The second path was where Ruby ended up finding the rbconfig.rb file.  Dr. Cham guessed that
+        the first five paths were *absolute paths*.  These were paths to directories on a drive called
+        @bay@.  Absolute paths may vary on your system.  On Windows, absolute paths will start with
+        a drive letter.  On Linux, absolute paths start with a slash.
+
+
+        The directory @&quot;.&quot;@ indicates a *relative path*.  The lone period represents the current
+        work directory.  The directory where Dr. Cham started up @irb@.  So, after Ruby has searched
+        all the standard places, it checks the current directory.
+
+
+        The goat had peeked his head around Dr. Cham and was watching all these instructions
+        transpire, as he licked his lips to keep his salivations from running all over the monitors
+        and glossy buttons.  He had been interjecting a few short cheers (along the lines of:
+        _No, not that_ or _Yes, yes, right_ or _Okay, well, your choice_), but now he was
+        fully involved, recommending code, &quot;Try @require 'setup'@ or, no, try
+        @3 * 5@.  Make sure that basic math works.&quot;
+
+
+        &quot;Of course the math works,&quot; said Dr. Cham.  &quot;Let me be, I need to find some useful classes.&quot;
+
+
+        &quot;It's a basic sanity test,&quot; said the goat.  &quot;Just try it.  Do @3 * 5@ and see what
+        comes up.&quot;
+
+
+        Dr. Cham caved.
+
+
+        &lt;pre&gt;
+         irb&gt; 3 * 5
+           =&gt; 15
+        &lt;/pre&gt;
+
+
+        &quot;Okay, great!  We're in business!&quot; the goat tossed his furry face about in glee.
+        
+
+        Dr. Cham patted the goat's head, &quot;Well done.  We can continue.&quot;
+
+
+        &lt;pre&gt;
+         irb&gt; Dir.chdir( &quot;bay://Ruby/lib/site_ruby/1.9/&quot; )
+           =&gt; 0
+         irb&gt; Dir[&quot;./*.{rb}&quot;]
+           =&gt; ['endertromb.rb', 'mindreader.rb', 'wishmaker.rb']
+        &lt;/pre&gt;
+
+
+        Dr. Cham had use @chdir@ to change the current working directory over the the first
+        path listed in @$LOAD_PATH@.  This first path in @site_ruby@ is a common place to store
+        custom classes.
+
+
+        Here were the three legendary classes that my daughter's organ instructor had inscribed
+        for me earlier in this chapter.  And, Dr. Cham, having read this selfsame chapter, recognized
+        these three pieces of the system immediately.
+
+
+        The @Endertromb@ class which contained the mysteries of this planet's powers.  The @MindReader@
+        class which, upon scanning the minds of its inhabitants, read each mind's contents.  And, finally,
+        the crucial @WishMaker@ class which powered the granting of ten-letter wishes, should the wish
+        ever find its way to the core of Endertromb.
+
+
+        &quot;How about @4 * 56 + 9@?&quot; asked the goat.  &quot;We don't know if it can do compound expressions.&quot;
+
+
+        &quot;I've got the @MindReader@ right here,&quot; said Dr. Cham.  &quot;And I have the @WishMaker@ here next to it.
+        This planet can read minds.  And this planet can make wishes.  Now, let's see if it can do both at
+        the same time.&quot;
+
+</diff>
      <filename>lang-pt/poignant-53a.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,147 +1,147 @@
-    - Them What Live the Dream: &gt;
-
-        While The Originals' craft had long disappeared, Dr. Cham frantically worked away at the
-        computer built into the control panel up in the observation deck.  Hannah had disappeared
-        into the floor (or perhaps those little sparks along the ground were still wisps of her
-        paranormal presence!) and the goat amicably watched Dr. Cham hack out a Ruby module.
-
-
-        &lt;pre&gt;
-         require 'endertromb'
-         module WishScanner
-           def scan_for_a_wish
-             wish = self.read.detect do |thought|
-               thought.index( 'wish: ' ) == 0
-             end
-             wish.gsub( 'wish: ', '' )
-           end
-         end
-        &lt;/pre&gt;
-
-
-        &quot;What's your plan?&quot; asked the goat.  &quot;It seems like I could have solved this problem in
-        like three lines.&quot;
-
-
-        &quot;This @Module@ is the new @WishScanner@ technology,&quot; he said.  &quot;The scanner only picks up
-        a wish if it starts with the word @wish@ and a colon and a space.  That way the planet doesn't
-        fill up with every less-than-ten-letter word that appears in people's heads.&quot;
-
-
-        &quot;Why don't you just use a class?&quot; asked the goat.
-
-
-        &quot;Because a @Module@ is simpler than a class.  It's basically just a storage facility
-        for methods.  It keeps a group of methods together.  You can't create new objects
-        from a method.&quot;
-
-
-        &quot;But aren't you going to want a @WishScanner@ object, so you can actually use
-        it?&quot; said the goat, appalled.
-
-
-        &quot;I'm going to mix it into the @MindReader@,&quot; said Dr. Cham.  And he did.
-
-
-        &lt;pre&gt;
-         require 'mindreader'
-         class MindReader
-           include MindScanner
-         end
-        &lt;/pre&gt;
-
-
-        &quot;Now, the @MindScanner@ module is mixed in to the @MindReader@,&quot; said Dr. Cham.
-        &quot;I can call the @scan_for_a_wish@ method on any @MindReader@ object.&quot;
-
-
-        &quot;So, it's a mixin,&quot; said the goat.  &quot;The @MindScanner@ mixin.&quot;
-
-
-        &quot;Yes, any module which is introduced into a class with @include@ is a mixin to that
-        class.  If you go back and look at the @scan_for_a_wish@ method, you'll see that it
-        calls a @self.read@ method.  I just have to make sure that whatever class I'm mixing
-        @MindScanner@ into has a @read@ method.  Otherwise, an error will be thrown.&quot;
-
-
-        &quot;That seems really wierd that the mixin requires certain methods that it doesn't already have.
-        It seems like it should work by itself.&quot;
-
-
-        Dr. Cham looked up from the keyboard at the goat.  &quot;Well, it's sort of like your video collection.
-        None of your video cassettes work unless they are put in a machine that uses video cassettes.
-        The depend on each other.  A mixin has some basic requirements, but once a class meets those
-        requirements, you can add all this extra functionality in.&quot;
-
-
-        &quot;Hey, that's cool,&quot; said the goat.
-
-
-        &quot;You read the book thirty times and you didn't pick that up?&quot; asked Dr. Cham.
-
-
-        &quot;You're a much better teacher in person,&quot; said the goat.  &quot;I really didn't think I was going
-        to like you very much.&quot;
-
-
-        &quot;I completely understand,&quot; said the Doctor.  &quot;This is much more real than the cartoons
-        make it seem.&quot;
-
-
-        &lt;pre&gt;
-         require 'wishmaker'
-         reader = MindReader.new
-         wisher = WishMaker.new
-         loop do
-           wish = reader.scan_for_a_wish
-           if wish
-             wisher.grant( wish )
-           end
-         end
-        &lt;/pre&gt;
-
-
-
-        Irb sat and looped on the screen.  It'll do that until you hit Control-C.  But Dr. Cham let it
-        churn away.  Looping endlessly, scanning the mind waves for a proper wish.
-
-
-        And Dr. Cham readied his wish.  At first, he thought immediately of a @stallion@.  To ride bareback
-        over the vales of Sedna.  But he pulled the thought back, his wish hadn't been formed properly.
-        A stallion was useless in pursuing The Originals, so he closed his eyes again, bit his lip
-        and he thought to himself: @wish: whale@.
-
-
-        h3. Last Whale to Peoplemud
-
-
-        The blocky, sullen whale appeared down at the castle entrance, where Hannah was
-        bashing on a rosebud with her hand.  She whacked at it with a fist, but it only stayed
-        perfect and pleasant and crisp against the solid blue sky of Endertromb.
-
-
-        &quot;I'm bored,&quot; she said to the whale.  *BOHR-BOHR-OHRRRRRR.*
-
-
-        &quot;Ok,&quot; said the whale, deep and soft.  As the word slid along his massive tongue, its
-        edges chipped off and the word slid out polished and worn in a bubble by his mouth's
-        corner.
-
-
-        &quot;I always have to die,&quot; said the young ghost.  &quot;People always kill me.&quot;
-
-
-        The whale fluttered his short fins, which hung at useless distance from the ground.
-        So, he pushed himself toward her with his tail.  Scooting over patches of grass.
-
-
-        &quot;People kill, so who do they kill?&quot; said the girl.  &quot;Me.  They kill me every time.&quot;
-
-
-        The whale made it to within three meters of the girl, where he towered like a
-        great war monument that represents enough dead soldiers to actually steal a lumbering step
-        towards you.  And now, the whale rested his tail and, exhausted by the climb thus far,
-        let his eyelids fall shut and became a gently puffing clay mountain, his shadow
-        rich and doubled-up all around the hardly visible Hannah.
-
-
+    - Them What Live the Dream: &gt;
+
+        While The Originals' craft had long disappeared, Dr. Cham frantically worked away at the
+        computer built into the control panel up in the observation deck.  Hannah had disappeared
+        into the floor (or perhaps those little sparks along the ground were still wisps of her
+        paranormal presence!) and the goat amicably watched Dr. Cham hack out a Ruby module.
+
+
+        &lt;pre&gt;
+         require 'endertromb'
+         module WishScanner
+           def scan_for_a_wish
+             wish = self.read.detect do |thought|
+               thought.index( 'wish: ' ) == 0
+             end
+             wish.gsub( 'wish: ', '' )
+           end
+         end
+        &lt;/pre&gt;
+
+
+        &quot;What's your plan?&quot; asked the goat.  &quot;It seems like I could have solved this problem in
+        like three lines.&quot;
+
+
+        &quot;This @Module@ is the new @WishScanner@ technology,&quot; he said.  &quot;The scanner only picks up
+        a wish if it starts with the word @wish@ and a colon and a space.  That way the planet doesn't
+        fill up with every less-than-ten-letter word that appears in people's heads.&quot;
+
+
+        &quot;Why don't you just use a class?&quot; asked the goat.
+
+
+        &quot;Because a @Module@ is simpler than a class.  It's basically just a storage facility
+        for methods.  It keeps a group of methods together.  You can't create new objects
+        from a method.&quot;
+
+
+        &quot;But aren't you going to want a @WishScanner@ object, so you can actually use
+        it?&quot; said the goat, appalled.
+
+
+        &quot;I'm going to mix it into the @MindReader@,&quot; said Dr. Cham.  And he did.
+
+
+        &lt;pre&gt;
+         require 'mindreader'
+         class MindReader
+           include MindScanner
+         end
+        &lt;/pre&gt;
+
+
+        &quot;Now, the @MindScanner@ module is mixed in to the @MindReader@,&quot; said Dr. Cham.
+        &quot;I can call the @scan_for_a_wish@ method on any @MindReader@ object.&quot;
+
+
+        &quot;So, it's a mixin,&quot; said the goat.  &quot;The @MindScanner@ mixin.&quot;
+
+
+        &quot;Yes, any module which is introduced into a class with @include@ is a mixin to that
+        class.  If you go back and look at the @scan_for_a_wish@ method, you'll see that it
+        calls a @self.read@ method.  I just have to make sure that whatever class I'm mixing
+        @MindScanner@ into has a @read@ method.  Otherwise, an error will be thrown.&quot;
+
+
+        &quot;That seems really wierd that the mixin requires certain methods that it doesn't already have.
+        It seems like it should work by itself.&quot;
+
+
+        Dr. Cham looked up from the keyboard at the goat.  &quot;Well, it's sort of like your video collection.
+        None of your video cassettes work unless they are put in a machine that uses video cassettes.
+        The depend on each other.  A mixin has some basic requirements, but once a class meets those
+        requirements, you can add all this extra functionality in.&quot;
+
+
+        &quot;Hey, that's cool,&quot; said the goat.
+
+
+        &quot;You read the book thirty times and you didn't pick that up?&quot; asked Dr. Cham.
+
+
+        &quot;You're a much better teacher in person,&quot; said the goat.  &quot;I really didn't think I was going
+        to like you very much.&quot;
+
+
+        &quot;I completely understand,&quot; said the Doctor.  &quot;This is much more real than the cartoons
+        make it seem.&quot;
+
+
+        &lt;pre&gt;
+         require 'wishmaker'
+         reader = MindReader.new
+         wisher = WishMaker.new
+         loop do
+           wish = reader.scan_for_a_wish
+           if wish
+             wisher.grant( wish )
+           end
+         end
+        &lt;/pre&gt;
+
+
+
+        Irb sat and looped on the screen.  It'll do that until you hit Control-C.  But Dr. Cham let it
+        churn away.  Looping endlessly, scanning the mind waves for a proper wish.
+
+
+        And Dr. Cham readied his wish.  At first, he thought immediately of a @stallion@.  To ride bareback
+        over the vales of Sedna.  But he pulled the thought back, his wish hadn't been formed properly.
+        A stallion was useless in pursuing The Originals, so he closed his eyes again, bit his lip
+        and he thought to himself: @wish: whale@.
+
+
+        h3. Last Whale to Peoplemud
+
+
+        The blocky, sullen whale appeared down at the castle entrance, where Hannah was
+        bashing on a rosebud with her hand.  She whacked at it with a fist, but it only stayed
+        perfect and pleasant and crisp against the solid blue sky of Endertromb.
+
+
+        &quot;I'm bored,&quot; she said to the whale.  *BOHR-BOHR-OHRRRRRR.*
+
+
+        &quot;Ok,&quot; said the whale, deep and soft.  As the word slid along his massive tongue, its
+        edges chipped off and the word slid out polished and worn in a bubble by his mouth's
+        corner.
+
+
+        &quot;I always have to die,&quot; said the young ghost.  &quot;People always kill me.&quot;
+
+
+        The whale fluttered his short fins, which hung at useless distance from the ground.
+        So, he pushed himself toward her with his tail.  Scooting over patches of grass.
+
+
+        &quot;People kill, so who do they kill?&quot; said the girl.  &quot;Me.  They kill me every time.&quot;
+
+
+        The whale made it to within three meters of the girl, where he towered like a
+        great war monument that represents enough dead soldiers to actually steal a lumbering step
+        towards you.  And now, the whale rested his tail and, exhausted by the climb thus far,
+        let his eyelids fall shut and became a gently puffing clay mountain, his shadow
+        rich and doubled-up all around the hardly visible Hannah.
+
+</diff>
      <filename>lang-pt/poignant-54.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,55 +1,55 @@
-        But another shadow combined, narrow and determined.  Right behind her, the hand came
-        on to her shoulder, and the warm ghost inside the hand touched her sleeve.
-
-
-        &quot;How did you get down here?&quot; said the girl.
-
-
-        Dr. Cham sat right alongside her and the goat walked around and stood in front.
-
-
-        &quot;Listen to us,&quot; said Dr. Cham.  &quot;We've got to follow this mangy pack of ne'er-do-wells
-        to the very end, Hannah.  And to nab them, we need your faithful assistance!&quot;
-
-
-        &quot;I'm scared,&quot; cried Hannah.
-
-
-        &quot;You're not scared,&quot; said the goat.  &quot;Come on.  You're a terrifying little phantom child.&quot;
-
-
-        &quot;Well,&quot; she said.  &quot;I'm a little bored.&quot;
-
-
-        Dr. Cham bent down on a knee, bringing his shaggy presence toward the ground, his face
-        just inches from hers.  &quot;If you come with us, if you can trust what we know, then we can bag
-        this foul troupe.  Now, you say your destiny is to be a baker.  I won't dispute that.
-        You have every right on Earth -- and Endertromb, for that matter -- to become a baker.
-        Say, if you didn't become a baker, that would be a great tragedy.  Who's going to take
-        care of all those donuts if you don't?&quot; 
-
-
-        She shrugged.  &quot;That's what I've been saying.&quot;
-
-
-        &quot;You're right,&quot; said the Doctor.  &quot;You've been saying it from the start.&quot;  He looked up to
-        the sky, where the wind whistled peacefully despite its forceful piercing by The Originals'
-        rocketship.  &quot;If your destiny is to be a baker, then mine is to stop all this, to end the
-        mayhem that is just beginning to boil.  And hear me, child -- hear how sure and solid my voice
-        becomes when I say this -- I ended your life, I bear sole responsibility for your life as
-        an apparition, but I will get it back.  It's going to take more than a donut, but you will
-        have a real childhood.  I promise you.&quot;
-
-
-        !i/whale.escape-1.jpg(On the wished whale... away...)!
-
-
-        Sure, it took a minute for the goat to cut his wish down to ten letters, but he was shortly on
-        his way, following the same jetstreams up into the sky, up toward Dr. Cham and his ghost
-        niece Hannah.  Up toward the villanous animal combo pak called The Originals.  Up toward
-        The Rockettes.
-
-
-        And Digger Dosh bludgeoned and feasted on each second they left behind them.
-
-
+        But another shadow combined, narrow and determined.  Right behind her, the hand came
+        on to her shoulder, and the warm ghost inside the hand touched her sleeve.
+
+
+        &quot;How did you get down here?&quot; said the girl.
+
+
+        Dr. Cham sat right alongside her and the goat walked around and stood in front.
+
+
+        &quot;Listen to us,&quot; said Dr. Cham.  &quot;We've got to follow this mangy pack of ne'er-do-wells
+        to the very end, Hannah.  And to nab them, we need your faithful assistance!&quot;
+
+
+        &quot;I'm scared,&quot; cried Hannah.
+
+
+        &quot;You're not scared,&quot; said the goat.  &quot;Come on.  You're a terrifying little phantom child.&quot;
+
+
+        &quot;Well,&quot; she said.  &quot;I'm a little bored.&quot;
+
+
+        Dr. Cham bent down on a knee, bringing his shaggy presence toward the ground, his face
+        just inches from hers.  &quot;If you come with us, if you can trust what we know, then we can bag
+        this foul troupe.  Now, you say your destiny is to be a baker.  I won't dispute that.
+        You have every right on Earth -- and Endertromb, for that matter -- to become a baker.
+        Say, if you didn't become a baker, that would be a great tragedy.  Who's going to take
+        care of all those donuts if you don't?&quot; 
+
+
+        She shrugged.  &quot;That's what I've been saying.&quot;
+
+
+        &quot;You're right,&quot; said the Doctor.  &quot;You've been saying it from the start.&quot;  He looked up to
+        the sky, where the wind whistled peacefully despite its forceful piercing by The Originals'
+        rocketship.  &quot;If your destiny is to be a baker, then mine is to stop all this, to end the
+        mayhem that is just beginning to boil.  And hear me, child -- hear how sure and solid my voice
+        becomes when I say this -- I ended your life, I bear sole responsibility for your life as
+        an apparition, but I will get it back.  It's going to take more than a donut, but you will
+        have a real childhood.  I promise you.&quot;
+
+
+        !i/whale.escape-1.jpg(On the wished whale... away...)!
+
+
+        Sure, it took a minute for the goat to cut his wish down to ten letters, but he was shortly on
+        his way, following the same jetstreams up into the sky, up toward Dr. Cham and his ghost
+        niece Hannah.  Up toward the villanous animal combo pak called The Originals.  Up toward
+        The Rockettes.
+
+
+        And Digger Dosh bludgeoned and feasted on each second they left behind them.
+
+</diff>
      <filename>lang-pt/poignant-54a.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1 @@
-  - Centro da Cidade:
+  - Centro da Cidade:</diff>
      <filename>lang-pt/poignant-55.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,22 +1,22 @@
-    - &gt;
-      !i/wixl-1.jpg(Lost in Wixl)!
-
-      !i/wixl-2.gif(This heist goes all the way up?)!
-
-
-      Oblivious to their involvement in the expansive plan of The Originals, both the tall fox and the
-      much shorter fox had wandered right into the red alert zone, the city Wixl.  I desire a spatula
-      to scoop them aside with, shuffle them off to the coast near the beach hatcheries, hide them in
-      piles of fish eggs, hold down their pointy ears, concealing their luxurious hides.  And above them
-      I would stand, casting an unmoving shadow, holding my rifle aloof.
-
-
-      I can't.  I have you to teach.  I have to groom and care for myself.  The lightbulbs
-      upstairs need changing.  A free pack of halogen lightbulbs just showed up out of the mail.  Somebody out
-      there is obviously trying to get me to use them.  So I'm going to screw 'em in.  And just stand there,
-      casting an unmoving shadow, holding my rifle aloof.
-
-
-      Should that shadow be nice and defined, then I'll keep 'em.
-
-
+    - &gt;
+      !i/wixl-1.jpg(Lost in Wixl)!
+
+      !i/wixl-2.gif(This heist goes all the way up?)!
+
+
+      Oblivious to their involvement in the expansive plan of The Originals, both the tall fox and the
+      much shorter fox had wandered right into the red alert zone, the city Wixl.  I desire a spatula
+      to scoop them aside with, shuffle them off to the coast near the beach hatcheries, hide them in
+      piles of fish eggs, hold down their pointy ears, concealing their luxurious hides.  And above them
+      I would stand, casting an unmoving shadow, holding my rifle aloof.
+
+
+      I can't.  I have you to teach.  I have to groom and care for myself.  The lightbulbs
+      upstairs need changing.  A free pack of halogen lightbulbs just showed up out of the mail.  Somebody out
+      there is obviously trying to get me to use them.  So I'm going to screw 'em in.  And just stand there,
+      casting an unmoving shadow, holding my rifle aloof.
+
+
+      Should that shadow be nice and defined, then I'll keep 'em.
+
+</diff>
      <filename>lang-pt/poignant-56.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,84 +1,84 @@
-    - If I Were Looking For a Vehicle: &gt;
-
-        !i/wixl-7.gif(Sitting for a moment.)!
-
-
-        I like seeing these two out in the wild.  They got pretty bored here in the studio.  They started making
-        up wierd slogans and stuff.  They had some phrase they kept repeating, forming fixations upon.
-        You can't be exposed to all that contrived fox nonsense.
-        
-
-        Let's just say: I am really trying my best to keep things collegiate.  Having never attended college, I can't
-        well say if every passage written chimes right with the stringent criteria which academia demands.
-        I have university friends aplenty, some who tour the globe in their pursuits, and I try to
-        inflect my voice with just their blend of high culture.
-
-
-        Sometimes I applaud myself for going beyond the work of my educated friends -- only in quiet corridors, we never
-        butt heads publicly -- because _I have actually subscribed_ to a school of thought while they are still
-        in their books, turning and turning.
-
-
-        *I am a preeventualist.*  I have dabbled in it long enough and am glad to come forth with it.
-        Inevitably, some of you have already started mining this book for Marxist symbology.  I am sad
-        to kill those interpretations, but I believe any nihilist conclusions you've drawn will still hold up
-        under scrutiny.
-
-
-        Anyway, I'll drop the rhetoric.  I only mention preeventualism because, aside from being a refreshing
-        and easy alternative to the post-modernism we're born with, _this_ meta-cult offers a free lost-and-found
-        service for the residents of Wixl.
-
-
-        &lt;pre&gt;
-         require 'open-uri'
-         open( &quot;http://preeventualist.org/lost&quot; ) do |lost|
-           puts lost.read
-         end
-        &lt;/pre&gt;
-
-
-        I have no way of alerting the foxes to this service.  And I'm sure it's too soon for their truck to be listed.
-        Still, the good intentions are here.
-
-
-        If you're connected to the Internet, the above Ruby should have downloaded the web page from the Internet and
-        printed it to the screen.  In a message resembling this:
-
-
-        &lt;pre class=&quot;text&quot;&gt;
-                           THE PREEVENTUALIST'S LOSING AND FINDING REGISTRY
-                  (a free service benefiting the ENLIGHTENED who have been LIGHTENED)
-
-
-                                              ---
-                              updates are made daily, please check back!
-                                              ---
-
-
-                                 this service is commissioned and
-                             subsidized in part by The Ashley Raymond
-                                        Youth Study Clan
-
-
-                                              ...
-                              all seals and privileges have been filed
-                        under the notable authorship of Perry W. L. Von Frowling,
-                  Magistrate Polywaif of Dispossession.  Also, Seventh Straight Winner
-                           of the esteemed Persistent Beggar's Community Cup.
-                                              ...
-
-
-          ABOUT THE REGISTRY
-          ==================
-          Hello, if you are new, please stay with us.  A brief explanation of our service will 
-          follow.  First, a bit of important news from our beloved magistrate.  (The kids call
-          him Uncle Von Guffuncle. Tehe!)
-
-          IMPORTANT NEWS
-          ==============
-          / 15 April 2005 /
-          hi, big news.  we were on channel 8 in wixl and ordish.  cory saw it.  i was on and 
-          jerry mathers was on.  if you didn't see it, e-mail cory.  he tells it the best.  all 
-          i can say is those aren't MY hand motions!! (joke for people who watch channel 8.)  
-          thanks harry and whole channel 8 news team!!
+    - If I Were Looking For a Vehicle: &gt;
+
+        !i/wixl-7.gif(Sitting for a moment.)!
+
+
+        I like seeing these two out in the wild.  They got pretty bored here in the studio.  They started making
+        up wierd slogans and stuff.  They had some phrase they kept repeating, forming fixations upon.
+        You can't be exposed to all that contrived fox nonsense.
+        
+
+        Let's just say: I am really trying my best to keep things collegiate.  Having never attended college, I can't
+        well say if every passage written chimes right with the stringent criteria which academia demands.
+        I have university friends aplenty, some who tour the globe in their pursuits, and I try to
+        inflect my voice with just their blend of high culture.
+
+
+        Sometimes I applaud myself for going beyond the work of my educated friends -- only in quiet corridors, we never
+        butt heads publicly -- because _I have actually subscribed_ to a school of thought while they are still
+        in their books, turning and turning.
+
+
+        *I am a preeventualist.*  I have dabbled in it long enough and am glad to come forth with it.
+        Inevitably, some of you have already started mining this book for Marxist symbology.  I am sad
+        to kill those interpretations, but I believe any nihilist conclusions you've drawn will still hold up
+        under scrutiny.
+
+
+        Anyway, I'll drop the rhetoric.  I only mention preeventualism because, aside from being a refreshing
+        and easy alternative to the post-modernism we're born with, _this_ meta-cult offers a free lost-and-found
+        service for the residents of Wixl.
+
+
+        &lt;pre&gt;
+         require 'open-uri'
+         open( &quot;http://preeventualist.org/lost&quot; ) do |lost|
+           puts lost.read
+         end
+        &lt;/pre&gt;
+
+
+        I have no way of alerting the foxes to this service.  And I'm sure it's too soon for their truck to be listed.
+        Still, the good intentions are here.
+
+
+        If you're connected to the Internet, the above Ruby should have downloaded the web page from the Internet and
+        printed it to the screen.  In a message resembling this:
+
+
+        &lt;pre class=&quot;text&quot;&gt;
+                           THE PREEVENTUALIST'S LOSING AND FINDING REGISTRY
+                  (a free service benefiting the ENLIGHTENED who have been LIGHTENED)
+
+
+                                              ---
+                              updates are made daily, please check back!
+                                              ---
+
+
+                                 this service is commissioned and
+                             subsidized in part by The Ashley Raymond
+                                        Youth Study Clan
+
+
+                                              ...
+                              all seals and privileges have been filed
+                        under the notable authorship of Perry W. L. Von Frowling,
+                  Magistrate Polywaif of Dispossession.  Also, Seventh Straight Winner
+                           of the esteemed Persistent Beggar's Community Cup.
+                                              ...
+
+
+          ABOUT THE REGISTRY
+          ==================
+          Hello, if you are new, please stay with us.  A brief explanation of our service will 
+          follow.  First, a bit of important news from our beloved magistrate.  (The kids call
+          him Uncle Von Guffuncle. Tehe!)
+
+          IMPORTANT NEWS
+          ==============
+          / 15 April 2005 /
+          hi, big news.  we were on channel 8 in wixl and ordish.  cory saw it.  i was on and 
+          jerry mathers was on.  if you didn't see it, e-mail cory.  he tells it the best.  all 
+          i can say is those aren't MY hand motions!! (joke for people who watch channel 8.)  
+          thanks harry and whole channel 8 news team!!</diff>
      <filename>lang-pt/poignant-57.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,14 +1,14 @@
-                                                           - perry
-
-          / 07 April 2005 /
-          we're all sifting through the carpet here at hq, but if you could all keep an eye out 
-          for caitlin's clipboard, she's too quiet of a gal to post it and i know that it's 
-          REALLY important to her.  she had a few really expensive panoramic radiographs of her 
-          husband's underbite clipped to a few irreplacable photos of her husband in a robocop 
-          costume back when the underbite was more prominent.  she says (to me), &quot;they'll know
-          what i mean when they see them.&quot;  i don't know what that means.  :(
-
-          i've checked: * the front desk * the hall * the waiting area * the bathroom * the candy 
-          closet * the big tv area * the lunch counter * the disciples room * gaff's old room
-          (the one with the painting of the cherry tree) * the server room * staircase.  i'll 
-          update this as i find more rooms.
+                                                           - perry
+
+          / 07 April 2005 /
+          we're all sifting through the carpet here at hq, but if you could all keep an eye out 
+          for caitlin's clipboard, she's too quiet of a gal to post it and i know that it's 
+          REALLY important to her.  she had a few really expensive panoramic radiographs of her 
+          husband's underbite clipped to a few irreplacable photos of her husband in a robocop 
+          costume back when the underbite was more prominent.  she says (to me), &quot;they'll know
+          what i mean when they see them.&quot;  i don't know what that means.  :(
+
+          i've checked: * the front desk * the hall * the waiting area * the bathroom * the candy 
+          closet * the big tv area * the lunch counter * the disciples room * gaff's old room
+          (the one with the painting of the cherry tree) * the server room * staircase.  i'll 
+          update this as i find more rooms.</diff>
      <filename>lang-pt/poignant-58.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
-                                                           - com amor, perry
-
-          / 25 Fev 2005 /
-          servidor caiu &#224;s 3 horas.  to puto com voc&#234;s. o gaff t&#225; l&#225; embaixo e ele vai 
-          ficar l&#225; at&#233; consertar. :O -- ATUALIZA&#199;&#195;O: consertado, de volta na ativa!!
+                                                           - com amor, perry
+
+          / 25 Fev 2005 /
+          servidor caiu &#224;s 3 horas.  to puto com voc&#234;s. o gaff t&#225; l&#225; embaixo e ele vai 
+          ficar l&#225; at&#233; consertar. :O -- ATUALIZA&#199;&#195;O: consertado, de volta na ativa!!</diff>
      <filename>lang-pt/poignant-59.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,16 +1,16 @@
-                                                           - perry
-
-          / 23 de fevereiro de 2005 /
-          eu sei que tem muito barulho hoje.  stanley bros circus perdeu doze lhamas, um trailer,
-          um monte de cadeados e cinco tendas.  eles ainda est&#227;o encontrando o material perdido.
-          por favor mantenham suas cabe&#231;as, eu preciso da ajuda de todos. esses comediantes n&#227;o 
-          t&#234;m nada.  eu falo s&#233;rio.  hoje eu dei a um cara um adesivo roxo (&#233; somente uma 
-          coisa que eu gostaria de fazer como gesto de solidariedade) e ele praticamente dormiu nele 
-          e nele cultivou os ingredientes pra molho de pizza.  eles est&#227;o no fundo do po&#231;o.
-
-          entao d&#244;e por favor.  eu sei que n&#227;o temos paypal nem nada.  se voc&#234; quiser doar,
-          ent&#227;o divulgue que voc&#234; encontrou alguma coisa (uma bicicleta de crian&#231;a, uma compra do m&#234;s 
-          com um monte de coisas estragadas ) e que isso tenha o nome do pessoal do circo escrito nele 
-          ou algo assim.
-          
-          
+                                                           - perry
+
+          / 23 de fevereiro de 2005 /
+          eu sei que tem muito barulho hoje.  stanley bros circus perdeu doze lhamas, um trailer,
+          um monte de cadeados e cinco tendas.  eles ainda est&#227;o encontrando o material perdido.
+          por favor mantenham suas cabe&#231;as, eu preciso da ajuda de todos. esses comediantes n&#227;o 
+          t&#234;m nada.  eu falo s&#233;rio.  hoje eu dei a um cara um adesivo roxo (&#233; somente uma 
+          coisa que eu gostaria de fazer como gesto de solidariedade) e ele praticamente dormiu nele 
+          e nele cultivou os ingredientes pra molho de pizza.  eles est&#227;o no fundo do po&#231;o.
+
+          entao d&#244;e por favor.  eu sei que n&#227;o temos paypal nem nada.  se voc&#234; quiser doar,
+          ent&#227;o divulgue que voc&#234; encontrou alguma coisa (uma bicicleta de crian&#231;a, uma compra do m&#234;s 
+          com um monte de coisas estragadas ) e que isso tenha o nome do pessoal do circo escrito nele 
+          ou algo assim.
+          
+          </diff>
      <filename>lang-pt/poignant-60.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +1,8 @@
-                                                          - &#243;timo, perry
-
-          /15 de novembro de 2004
-          promo&#231;&#227;o do dia dos &quot;esperansosos&quot;.  se voc&#234; perdeu algo hoje,  pode escolher um 
-          item gr&#225;tis (no valor de $40 ou menor) da casa de algu&#233;m que encontrou algo.  nos 
-          estamos nos divertindo tanto com isso!! &#233; EXATAMENTE assim que eu consegui minha 
-          m&#225;quina de remar no ano passado e eu a AMO!
-          
+                                                          - &#243;timo, perry
+
+          /15 de novembro de 2004
+          promo&#231;&#227;o do dia dos &quot;esperansosos&quot;.  se voc&#234; perdeu algo hoje,  pode escolher um 
+          item gr&#225;tis (no valor de $40 ou menor) da casa de algu&#233;m que encontrou algo.  nos 
+          estamos nos divertindo tanto com isso!! &#233; EXATAMENTE assim que eu consegui minha 
+          m&#225;quina de remar no ano passado e eu a AMO!
+          </diff>
      <filename>lang-pt/poignant-61.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,135 +1,135 @@
-                                                           - perry
-        &lt;/pre&gt;
-
-
-        I think the Youth Study Clan is doing a great job with this service.  It's a little hokey and
-        threadbare, but if it can get animals to stop using their instinctive means of declaring ownership,
-        then hats off.
-
-
-        Still, a preeventualist youth group?  How can that be?  You've got to at least _flirted with
-        real cynicism_ before you can become a preeventualist.  And you definitely can't attend school.
-        So, I don't know.
-
-
-        Going back to the list of instructions from the Preeventualist's Losing and Finding Registry.
-
-
-        &lt;pre class=&quot;text&quot;&gt;
-         USING THE L&amp;F SERVER
-         ====================
-         The L&amp;F is a free service.  The acts of losing and finding are essential qualities in
-         building a preeventualist lifestyle.  We hope to accomodate your belief.
-
-
-         We do not use HTML, in order to simplify our work here.  Our guys are already working
-         fifteen hour days.  (Thanks, Terk!!  Thanks, Horace!!)
-
-
-         You may search our service for your lost items.  Or you may add your lost (or found)
-         item to our registry.  This is done by typing the proper address into your browser.
-
-         SEARCHING
-         =========
-         To search for lost items, use the following address:
-
-           http://preeventualist.org/lost/search?q={search word}
-
-         You may replace {search word} with your search term.  For example, to search for &quot;cup&quot;:
-
-           http://preeventualist.org/lost/search?q=cup
-
-         You will be given a list of cups which have been lost or found.
-
-         If you want to search for only lost cups or only found cups, use the `searchlost' and
-         `searchfound' pages:
-
-           http://preeventualist.org/lost/searchlost?q=cup
-        &lt;/pre&gt;
-
-
-        I'm not playing games.  I know where the truck is.  Really, I'm not teasing you.  I'll 
-        show you in just a sec.  I'm just saying, look at the foxes:
-
-
-        !i/wixl-11.gif(Hummmmm.)!
-
-
-        They are helpless.  And yet, here is this great tool.  A possible key to getting out of this mess.
-        I just want to poke around, see if there are any clues here.
-
-
-        &lt;pre&gt;
-         require 'open-uri'
-         
-         # Searching all found items containing the word `truck'.
-         open( &quot;http://preeventualist.org/lost/searchfound?q=truck&quot; ) do |truck|
-           puts truck.read
-         end
-        &lt;/pre&gt;
-
-
-        I'm not seeing anything about the tall fox's truck in this list.  That's okay.
-        The foxes are out of it anyway.  We have some time.
-
-
-        You've learned a very simple technique for retrieving a web page from the Internet.  The code
-        uses the @OpenURI@ library, which was written by one of my favorite Rubyists, Akira Tanaka.  He's
-        simplified reading from the Internet so that it's identical to reading a file from your computer.
-
-
-        In a previous chapter, we stored your diabolical ideas in a text file.  You read these files in Ruby
-        using @open@.
-
-
-        &lt;pre&gt;
-         require 'open-uri'
-
-         # Opening an idea file from a folder on your computer.
-         open( &quot;folder/idea-about-hiding-lettuce-in-the-church-chairs.txt&quot; ) do |idea|
-           puts idea.read
-         end
-        &lt;/pre&gt;
-
-
-        Files are *input-output objects*.  You can read and write to a file.  In Ruby, all IO (input-output)
-        objects have @read@ and @write@ methods.  The @open@ method slides an IO object *down the chute*
-        into a block for your use.  IO is your ticket to the outside world.  It's the rays of sunlight cast
-        through the prison bars.  (However, you can't @write@ to a web page with @OpenURI@.  You'll need to find a
-        tool for copying to your web server.  An FTP program, for instance.)
-
-
-        If someone wants to read your diabolical idea about hiding lettuce in the church chairs, assuming
-        you've posted it as a web page:
-
-
-        &lt;pre&gt;
-         require 'open-uri'
-
-         # Opening an idea file available on a web site.
-         open( &quot;http://your.com/idea-about-hiding-lettuce-in-the-church-chairs.txt&quot; ) do |idea|
-           puts idea.read
-         end
-        &lt;/pre&gt;
-
-
-        The @OpenURI@ library also understands FTP addresses as well.  This widens the possibilities for
-        where you can store files.  On your system or elsewhere on the Internet.
-
-
-        h3. Reading Files Line by Line
-
-
-        When you're using @OpenURI@ to get information from the web with the @open@ and @read@ methods,
-        the page is given to you as a @String@.  You can also read the page one line at a time, if you're
-        searching for something.  Or if the page is big and you want to conserve your computer's memory.
-
-
-        &lt;pre&gt;
-         require 'open-uri'
-         open( &quot;http://preeventualist.org/lost/searchfound?q=truck&quot; ) do |truck|
-           truck.each_line do |line|
-             puts line if line['pickup']
-           end
-         end
-        &lt;/pre&gt;
+                                                           - perry
+        &lt;/pre&gt;
+
+
+        I think the Youth Study Clan is doing a great job with this service.  It's a little hokey and
+        threadbare, but if it can get animals to stop using their instinctive means of declaring ownership,
+        then hats off.
+
+
+        Still, a preeventualist youth group?  How can that be?  You've got to at least _flirted with
+        real cynicism_ before you can become a preeventualist.  And you definitely can't attend school.
+        So, I don't know.
+
+
+        Going back to the list of instructions from the Preeventualist's Losing and Finding Registry.
+
+
+        &lt;pre class=&quot;text&quot;&gt;
+         USING THE L&amp;F SERVER
+         ====================
+         The L&amp;F is a free service.  The acts of losing and finding are essential qualities in
+         building a preeventualist lifestyle.  We hope to accomodate your belief.
+
+
+         We do not use HTML, in order to simplify our work here.  Our guys are already working
+         fifteen hour days.  (Thanks, Terk!!  Thanks, Horace!!)
+
+
+         You may search our service for your lost items.  Or you may add your lost (or found)
+         item to our registry.  This is done by typing the proper address into your browser.
+
+         SEARCHING
+         =========
+         To search for lost items, use the following address:
+
+           http://preeventualist.org/lost/search?q={search word}
+
+         You may replace {search word} with your search term.  For example, to search for &quot;cup&quot;:
+
+           http://preeventualist.org/lost/search?q=cup
+
+         You will be given a list of cups which have been lost or found.
+
+         If you want to search for only lost cups or only found cups, use the `searchlost' and
+         `searchfound' pages:
+
+           http://preeventualist.org/lost/searchlost?q=cup
+        &lt;/pre&gt;
+
+
+        I'm not playing games.  I know where the truck is.  Really, I'm not teasing you.  I'll 
+        show you in just a sec.  I'm just saying, look at the foxes:
+
+
+        !i/wixl-11.gif(Hummmmm.)!
+
+
+        They are helpless.  And yet, here is this great tool.  A possible key to getting out of this mess.
+        I just want to poke around, see if there are any clues here.
+
+
+        &lt;pre&gt;
+         require 'open-uri'
+         
+         # Searching all found items containing the word `truck'.
+         open( &quot;http://preeventualist.org/lost/searchfound?q=truck&quot; ) do |truck|
+           puts truck.read
+         end
+        &lt;/pre&gt;
+
+
+        I'm not seeing anything about the tall fox's truck in this list.  That's okay.
+        The foxes are out of it anyway.  We have some time.
+
+
+        You've learned a very simple technique for retrieving a web page from the Internet.  The code
+        uses the @OpenURI@ library, which was written by one of my favorite Rubyists, Akira Tanaka.  He's
+        simplified reading from the Internet so that it's identical to reading a file from your computer.
+
+
+        In a previous chapter, we stored your diabolical ideas in a text file.  You read these files in Ruby
+        using @open@.
+
+
+        &lt;pre&gt;
+         require 'open-uri'
+
+         # Opening an idea file from a folder on your computer.
+         open( &quot;folder/idea-about-hiding-lettuce-in-the-church-chairs.txt&quot; ) do |idea|
+           puts idea.read
+         end
+        &lt;/pre&gt;
+
+
+        Files are *input-output objects*.  You can read and write to a file.  In Ruby, all IO (input-output)
+        objects have @read@ and @write@ methods.  The @open@ method slides an IO object *down the chute*
+        into a block for your use.  IO is your ticket to the outside world.  It's the rays of sunlight cast
+        through the prison bars.  (However, you can't @write@ to a web page with @OpenURI@.  You'll need to find a
+        tool for copying to your web server.  An FTP program, for instance.)
+
+
+        If someone wants to read your diabolical idea about hiding lettuce in the church chairs, assuming
+        you've posted it as a web page:
+
+
+        &lt;pre&gt;
+         require 'open-uri'
+
+         # Opening an idea file available on a web site.
+         open( &quot;http://your.com/idea-about-hiding-lettuce-in-the-church-chairs.txt&quot; ) do |idea|
+           puts idea.read
+         end
+        &lt;/pre&gt;
+
+
+        The @OpenURI@ library also understands FTP addresses as well.  This widens the possibilities for
+        where you can store files.  On your system or elsewhere on the Internet.
+
+
+        h3. Reading Files Line by Line
+
+
+        When you're using @OpenURI@ to get information from the web with the @open@ and @read@ methods,
+        the page is given to you as a @String@.  You can also read the page one line at a time, if you're
+        searching for something.  Or if the page is big and you want to conserve your computer's memory.
+
+
+        &lt;pre&gt;
+         require 'open-uri'
+         open( &quot;http://preeventualist.org/lost/searchfound?q=truck&quot; ) do |truck|
+           truck.each_line do |line|
+             puts line if line['pickup']
+           end
+         end
+        &lt;/pre&gt;</diff>
      <filename>lang-pt/poignant-62.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,125 +1,125 @@
-
-
-        The above code will retrieve the list of trucks found by preeventualists, then display only
-        those lines that actually contain the word 'pickup'.
-        That way we can trim out the descriptions and look for only the pertinent lines.
-
-
-        Above, the *index brackets* are used on a string, so the string is searched for whatever is inside
-        the brackets.  Since the string @'pickup'@ is inside the brackets, the @line@ string is searched
-        for the word &quot;pickup&quot;.
-
-
-        !i/wixl-13.gif(On being funny.)!
-
-
-        When a web page is loaded with @read@, the entire page is loaded into memory.  Usually this
-        only takes up a few thousand bytes.  But if a page is big (several megabytes), you'll probably
-        want to use @each_line@, which loads one line at a time to avoid exhausting memory.
-
-
-        h3. Yielding is Kiddie Blocks
-
-
-        Ruby often uses iterators in this fashion.  Yes, iterators are used for cycling through each item in
-        a collection of items, such as an array or hash.  Now look at an IO source as a collection of lines. 
-        The iterator can crawl that collection of lines.
-
-
-        &lt;pre&gt;
-         class IO
-           # Definition for the each_line method.  Notice how it has no
-           # argument list.  Blocks don't need to be listed as arguments.
-           def each_line
-             until eof?        # until we reach the end of the file...
-               yield readline  # pass a line into the block
-             end
-           end
-         end
-        &lt;/pre&gt;
-
-
-        The @yield@ keyword is the easiest way to use a block.  One word.  Just like a curtain has
-        a pullstring or like a suitcase has a handle.  Inside a method, you can press the blinking
-        @yield@ button and it will run the block attached to that method.  Glowing a strong red color
-        until the code inside the block is done.  And then it goes back to blinking and you can press
-        the button again if you like.
-
-
-        &lt;pre&gt;
-         def yield_thrice
-           yield
-           yield
-           yield
-         end
-        &lt;/pre&gt;
-
-
-        Punch the @yield@ button three times quick and the block gets to live its life three times.
-
-
-        &lt;pre&gt;
-         irb&gt; a = ['first, birth.', 'then, a life of flickering images.', 'and, finally, the end.']
-         irb&gt; yield_thrice { puts a.shift }
-         # prints out:
-         #   first, birth.
-         #   then, a life of flickering images.
-         #   and, finally, the end.
-        &lt;/pre&gt;
-
-
-        The @shift@ method pulls the first item off an array.  The barber @shift@ cuts the hair off
-        and hands it over.  Then, the scalp.  And just keeps going, whittling the poor guy down to
-        nothing.
-
-
-        You've seen blocks attached to methods.  Any Ruby method can have block attached to the end.
-
-
-        &lt;pre&gt;
-         # The brief style of attaching a block to a method.
-         # Here the block is surrounded with curly braces.
-         open( &quot;idea.txt&quot; ) { |f| f.read }
-
-         # The verbose style of attaching a block to a method.
-         # Here the block is surrounded with `do' and `end'
-         open( &quot;idea.txt&quot; ) do |f|
-           f.read
-         end
-        &lt;/pre&gt;
-
-
-        If you pass arguments to @yield@, those arguments will also be passed to the block.
-        The block is riding in a little sidecar attached to the method's motorcycle.  The method
-        yells out a list arguments, screaming to the block over all the wind as they're
-        racing through the desert.  The block taps his helmet like, &quot;I get it, my brain gets it.&quot;
-
-
-        &lt;pre&gt;
-         # The method opens two files and slides the resulting IO objects down the
-         # chute to an attached block.
-         def double_open filename1, filename2
-           open( filename1 ) do |f1|
-             open( filename2 ) do |f2|
-               yield f1, f2
-             end
-           end
-         end
-
-         # Prints the files out side-by-side.
-         double_open( &quot;idea1.txt&quot;, &quot;idea2.txt&quot; ) do |f1, f2|
-           puts f1.readline + &quot; | &quot; + f2.readline
-         end
-        &lt;/pre&gt;
-
-
-        You may also wonder what the @yield@ keyword has to do with street signs.  And really,
-        it's a good question with, I believe, a good answer.  When you run a method, you are giving
-        that method control of your program.  Control to do its job and then come back to with an
-        answer.
-
-
-        With @yield@, the method is stopping at the intersection, giving control back to you, to your block.  The method is letting
-        you do your work before resuming its work.  So while the @each_line@ method does the work of actually
-        reading lines from a file, the *block attached to the @each_line@ method* is handed the line
-        itself and gets a chance to hammer away at it in the sidecar.
+
+
+        The above code will retrieve the list of trucks found by preeventualists, then display only
+        those lines that actually contain the word 'pickup'.
+        That way we can trim out the descriptions and look for only the pertinent lines.
+
+
+        Above, the *index brackets* are used on a string, so the string is searched for whatever is inside
+        the brackets.  Since the string @'pickup'@ is inside the brackets, the @line@ string is searched
+        for the word &quot;pickup&quot;.
+
+
+        !i/wixl-13.gif(On being funny.)!
+
+
+        When a web page is loaded with @read@, the entire page is loaded into memory.  Usually this
+        only takes up a few thousand bytes.  But if a page is big (several megabytes), you'll probably
+        want to use @each_line@, which loads one line at a time to avoid exhausting memory.
+
+
+        h3. Yielding is Kiddie Blocks
+
+
+        Ruby often uses iterators in this fashion.  Yes, iterators are used for cycling through each item in
+        a collection of items, such as an array or hash.  Now look at an IO source as a collection of lines. 
+        The iterator can crawl that collection of lines.
+
+
+        &lt;pre&gt;
+         class IO
+           # Definition for the each_line method.  Notice how it has no
+           # argument list.  Blocks don't need to be listed as arguments.
+           def each_line
+             until eof?        # until we reach the end of the file...
+               yield readline  # pass a line into the block
+             end
+           end
+         end
+        &lt;/pre&gt;
+
+
+        The @yield@ keyword is the easiest way to use a block.  One word.  Just like a curtain has
+        a pullstring or like a suitcase has a handle.  Inside a method, you can press the blinking
+        @yield@ button and it will run the block attached to that method.  Glowing a strong red color
+        until the code inside the block is done.  And then it goes back to blinking and you can press
+        the button again if you like.
+
+
+        &lt;pre&gt;
+         def yield_thrice
+           yield
+           yield
+           yield
+         end
+        &lt;/pre&gt;
+
+
+        Punch the @yield@ button three times quick and the block gets to live its life three times.
+
+
+        &lt;pre&gt;
+         irb&gt; a = ['first, birth.', 'then, a life of flickering images.', 'and, finally, the end.']
+         irb&gt; yield_thrice { puts a.shift }
+         # prints out:
+         #   first, birth.
+         #   then, a life of flickering images.
+         #   and, finally, the end.
+        &lt;/pre&gt;
+
+
+        The @shift@ method pulls the first item off an array.  The barber @shift@ cuts the hair off
+        and hands it over.  Then, the scalp.  And just keeps going, whittling the poor guy down to
+        nothing.
+
+
+        You've seen blocks attached to methods.  Any Ruby method can have block attached to the end.
+
+
+        &lt;pre&gt;
+         # The brief style of attaching a block to a method.
+         # Here the block is surrounded with curly braces.
+         open( &quot;idea.txt&quot; ) { |f| f.read }
+
+         # The verbose style of attaching a block to a method.
+         # Here the block is surrounded with `do' and `end'
+         open( &quot;idea.txt&quot; ) do |f|
+           f.read
+         end
+        &lt;/pre&gt;
+
+
+        If you pass arguments to @yield@, those arguments will also be passed to the block.
+        The block is riding in a little sidecar attached to the method's motorcycle.  The method
+        yells out a list arguments, screaming to the block over all the wind as they're
+        racing through the desert.  The block taps his helmet like, &quot;I get it, my brain gets it.&quot;
+
+
+        &lt;pre&gt;
+         # The method opens two files and slides the resulting IO objects down the
+         # chute to an attached block.
+         def double_open filename1, filename2
+           open( filename1 ) do |f1|
+             open( filename2 ) do |f2|
+               yield f1, f2
+             end
+           end
+         end
+
+         # Prints the files out side-by-side.
+         double_open( &quot;idea1.txt&quot;, &quot;idea2.txt&quot; ) do |f1, f2|
+           puts f1.readline + &quot; | &quot; + f2.readline
+         end
+        &lt;/pre&gt;
+
+
+        You may also wonder what the @yield@ keyword has to do with street signs.  And really,
+        it's a good question with, I believe, a good answer.  When you run a method, you are giving
+        that method control of your program.  Control to do its job and then come back to with an
+        answer.
+
+
+        With @yield@, the method is stopping at the intersection, giving control back to you, to your block.  The method is letting
+        you do your work before resuming its work.  So while the @each_line@ method does the work of actually
+        reading lines from a file, the *block attached to the @each_line@ method* is handed the line
+        itself and gets a chance to hammer away at it in the sidecar.</diff>
      <filename>lang-pt/poignant-62a.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,66 +1,66 @@
-
-
-        h3. Preeventualism in a Gilded Box
-
-
-        You've learned so much about @OpenURI@ and using @yield@ to write your own iterators.
-        You know your way around the lost-and-found service.  Really, you can starting hunting
-        through the Wixl junk drawer without me.
-
-
-        Let's neatly _encapsulate_ the entire service into a single class.
-
-        
-        &lt;pre&gt;
-         require 'open-uri'
-         module PreEventualist
-           def self.open page, query
-             qs = 
-               query.map do |k, v|
-                 URI.escape &quot;#{ k }=#{ v }&quot;
-               end.join &quot;&amp;&quot;
-             URI.parse( &quot;http://preeventualist.org/lost/&quot; + page + &quot;?&quot; + qs ).open do |lost|
-               lost.read.split( &quot;--\n&quot; )
-             end
-           end
-           def self.search word
-             open &quot;search&quot;, &quot;q&quot; =&gt; word
-           end
-           def self.searchlost word
-             open &quot;searchlost&quot;, &quot;q&quot; =&gt; word
-           end
-           def self.searchfound word
-             open &quot;searchfound&quot;, &quot;q&quot; =&gt; word
-           end
-           def self.addfound your_name, item_lost, found_at, description
-             open &quot;addfound&quot;, &quot;name&quot; =&gt; your_name, &quot;item&quot; =&gt; item_lost, 
-                              &quot;at&quot; =&gt; found_at, &quot;desc&quot; =&gt; description
-           end
-           def self.addlost your_name, item_found, last_seen, description
-             open &quot;addlost&quot;, &quot;name&quot; =&gt; your_name, &quot;item&quot; =&gt; item_found,
-                             &quot;seen&quot; =&gt; last_seen, &quot;desc&quot; =&gt; description
-           end
-         end
-        &lt;/pre&gt;
-
-
-        At some point with your code, you need to start shaping it into something neat.  Save the above
-        module in a file called @preeventualist.rb@.
-
-
-        This module is a very simple library for using the Preeventualist's service.  This is exactly the
-        way libraries are written.  You whip up a module or a class, store it in a file, and, if you're
-        happy with it and want the world to benefit, put it on the web.
-
-
-        These stragglers can you use your module just like I used @OpenURI@ earlier.
-
-
-        &lt;pre&gt;
-         irb&gt; require 'preeventualist'
-         irb&gt; puts PreEventualist.search( 'truck' )
-         irb&gt; puts PreEventualist.addfound( 'Why', 'Ruby skills', 'Wixl park',
-                &quot;I can give you Ruby skills!\nCome visit poignantguide.net!&quot; )
-        &lt;/pre&gt;
-
-
+
+
+        h3. Preeventualism in a Gilded Box
+
+
+        You've learned so much about @OpenURI@ and using @yield@ to write your own iterators.
+        You know your way around the lost-and-found service.  Really, you can starting hunting
+        through the Wixl junk drawer without me.
+
+
+        Let's neatly _encapsulate_ the entire service into a single class.
+
+        
+        &lt;pre&gt;
+         require 'open-uri'
+         module PreEventualist
+           def self.open page, query
+             qs = 
+               query.map do |k, v|
+                 URI.escape &quot;#{ k }=#{ v }&quot;
+               end.join &quot;&amp;&quot;
+             URI.parse( &quot;http://preeventualist.org/lost/&quot; + page + &quot;?&quot; + qs ).open do |lost|
+               lost.read.split( &quot;--\n&quot; )
+             end
+           end
+           def self.search word
+             open &quot;search&quot;, &quot;q&quot; =&gt; word
+           end
+           def self.searchlost word
+             open &quot;searchlost&quot;, &quot;q&quot; =&gt; word
+           end
+           def self.searchfound word
+             open &quot;searchfound&quot;, &quot;q&quot; =&gt; word
+           end
+           def self.addfound your_name, item_lost, found_at, description
+             open &quot;addfound&quot;, &quot;name&quot; =&gt; your_name, &quot;item&quot; =&gt; item_lost, 
+                              &quot;at&quot; =&gt; found_at, &quot;desc&quot; =&gt; description
+           end
+           def self.addlost your_name, item_found, last_seen, description
+             open &quot;addlost&quot;, &quot;name&quot; =&gt; your_name, &quot;item&quot; =&gt; item_found,
+                             &quot;seen&quot; =&gt; last_seen, &quot;desc&quot; =&gt; description
+           end
+         end
+        &lt;/pre&gt;
+
+
+        At some point with your code, you need to start shaping it into something neat.  Save the above
+        module in a file called @preeventualist.rb@.
+
+
+        This module is a very simple library for using the Preeventualist's service.  This is exactly the
+        way libraries are written.  You whip up a module or a class, store it in a file, and, if you're
+        happy with it and want the world to benefit, put it on the web.
+
+
+        These stragglers can you use your module just like I used @OpenURI@ earlier.
+
+
+        &lt;pre&gt;
+         irb&gt; require 'preeventualist'
+         irb&gt; puts PreEventualist.search( 'truck' )
+         irb&gt; puts PreEventualist.addfound( 'Why', 'Ruby skills', 'Wixl park',
+                &quot;I can give you Ruby skills!\nCome visit poignantguide.net!&quot; )
+        &lt;/pre&gt;
+
+</diff>
      <filename>lang-pt/poignant-62b.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-    - Enquanto Isso, O Porco-Espinho P&#225;ra Pra Abastecer: &gt;
-
-        !i/porcupine-1.gif(O porco-espinho paga por gasolina.  Pipas?)!
-
+    - Enquanto Isso, O Porco-Espinho P&#225;ra Pra Abastecer: &gt;
+
+        !i/porcupine-1.gif(O porco-espinho paga por gasolina.  Pipas?)!
+</diff>
      <filename>lang-pt/poignant-63.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,15 +1,15 @@
-    - Um Assassinato de Drag&#227;o Patrocinado: &gt;
-
-        !i/wixl.dwemthy-1.gif(O assassino pula adentro.)!
-
-        
-        &quot;Olhe em Volta,&quot; disse a Raposa Pequena.  &quot;Alguns de n&#243;s n&#227;o tem tempo para buscas.  Alguns de n&#243;s tem maiores
-        responsabilidades, trabalhos, assim por diante.   Sustento, Entendeu?&quot;
-
-
-        &quot;_Eiiii_, meu *TRABALHO* era assassinar o drag&#227;o!!&quot; gritou o coelho Wee, piscando seus olhos e e pulando furioso
-        de galho em galho de lagoa em lagoa.  &quot;Seu focinho era uma *GRANDE* responsabilidade!!  Seu h&#225;lito de fuma&#231;a era _problema meu!!!_.
-        Eu gastei cinquenta d&#243;lares em um t&#226;xi *APENAS* para sair daqui, que foi outro  _ENORME ENORME_ sacrif&#237;cio.  Voc&#234; n&#227;o tem
-        _nada sobre mim_, nem uma _simples_ acusa&#231;&#227;o, todo a minha *HEROICIDADE* &#233; _absoflautamente impesseg&#225;vel_, toda a minha *ABORDAGEM* &#233;
-        _clarinentemente indamasc&#225;vel_, disse o Lester.&quot;
-
+    - Um Assassinato de Drag&#227;o Patrocinado: &gt;
+
+        !i/wixl.dwemthy-1.gif(O assassino pula adentro.)!
+
+        
+        &quot;Olhe em Volta,&quot; disse a Raposa Pequena.  &quot;Alguns de n&#243;s n&#227;o tem tempo para buscas.  Alguns de n&#243;s tem maiores
+        responsabilidades, trabalhos, assim por diante.   Sustento, Entendeu?&quot;
+
+
+        &quot;_Eiiii_, meu *TRABALHO* era assassinar o drag&#227;o!!&quot; gritou o coelho Wee, piscando seus olhos e e pulando furioso
+        de galho em galho de lagoa em lagoa.  &quot;Seu focinho era uma *GRANDE* responsabilidade!!  Seu h&#225;lito de fuma&#231;a era _problema meu!!!_.
+        Eu gastei cinquenta d&#243;lares em um t&#226;xi *APENAS* para sair daqui, que foi outro  _ENORME ENORME_ sacrif&#237;cio.  Voc&#234; n&#227;o tem
+        _nada sobre mim_, nem uma _simples_ acusa&#231;&#227;o, todo a minha *HEROICIDADE* &#233; _absoflautamente impesseg&#225;vel_, toda a minha *ABORDAGEM* &#233;
+        _clarinentemente indamasc&#225;vel_, disse o Lester.&quot;
+</diff>
      <filename>lang-pt/poignant-64.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,46 +1,46 @@
-    - !^sidebar
-      The Inadvertant Meteor: &gt;
-
-        _When I first began my inquiry into preeventualism, I was relayed the following story.  I was told that
-        this was all I needed to understand the philosophy._
-
-
-        There was this sculptor who just wasn't satisfied with his work.  He had primarily studied traditional subject
-        matter and excelled at sculpting both the human figure and elaborate vegetation.  And he was really quite
-        an exquisite sculptor.  He just didn't feel like he was making his mark upon the world.
-
-
-        By this time, he had aged well into his fifties and wanted to vaunt into the realm of legendary masters.
-        So he began to construct a massive sculpture of two pears with beads of dew clinging precariously to
-        them.
-
-
-        The sculpture was enormous and hovered ominously above the sculptor's hometown, held aloof by a massive
-        infrastructure of struts and beams.
-        In fact, the giant pears were so significant that they truly wreaked havoc on the Earth's rotation,
-        everso slightly, what with a new asteroid-sized fruit basket clinging to it.
-
-
-        The government sent jets and warcrafts to destroy the statue.  They unleashed a vicious attack on the village,
-        dismantling the statue, blowing it into thousands of pieces, chipping away at it with missiles.  Soon enough,
-        the statue was obliterated and all was back to normal.
-
-
-        A huge chunk of the statue had taken orbit in the heavens and often veered perilously close to the
-        planet.  When it did, it was always met by an arsenal of advanced weaponry, which further damaged it
-        and deflected its course skyward.
-
-
-        Eventually, this inadvertant meteor was nothing more than the size of a very daunting man.  And, when it
-        at last hit the ground, weathered and polished by its ninety year journey, it was hailed as an enigmatic
-        masterpiece, a message from the great beyond.  Here was a stunning likeness of a male nude looking 
-        wistfully into the sky with an intricate lacework of vines creeping around his waist and covering his 
-        improprieties.
-
-        
-        The statue was last sold for fifty-two million dollars and stayed in the permanent exhibit at the Louvre,
-        with the plaque:
-
-
-        bq. &quot;Heavenly Nude&quot; by Anonymous
-
+    - !^sidebar
+      The Inadvertant Meteor: &gt;
+
+        _When I first began my inquiry into preeventualism, I was relayed the following story.  I was told that
+        this was all I needed to understand the philosophy._
+
+
+        There was this sculptor who just wasn't satisfied with his work.  He had primarily studied traditional subject
+        matter and excelled at sculpting both the human figure and elaborate vegetation.  And he was really quite
+        an exquisite sculptor.  He just didn't feel like he was making his mark upon the world.
+
+
+        By this time, he had aged well into his fifties and wanted to vaunt into the realm of legendary masters.
+        So he began to construct a massive sculpture of two pears with beads of dew clinging precariously to
+        them.
+
+
+        The sculpture was enormous and hovered ominously above the sculptor's hometown, held aloof by a massive
+        infrastructure of struts and beams.
+        In fact, the giant pears were so significant that they truly wreaked havoc on the Earth's rotation,
+        everso slightly, what with a new asteroid-sized fruit basket clinging to it.
+
+
+        The government sent jets and warcrafts to destroy the statue.  They unleashed a vicious attack on the village,
+        dismantling the statue, blowing it into thousands of pieces, chipping away at it with missiles.  Soon enough,
+        the statue was obliterated and all was back to normal.
+
+
+        A huge chunk of the statue had taken orbit in the heavens and often veered perilously close to the
+        planet.  When it did, it was always met by an arsenal of advanced weaponry, which further damaged it
+        and deflected its course skyward.
+
+
+        Eventually, this inadvertant meteor was nothing more than the size of a very daunting man.  And, when it
+        at last hit the ground, weathered and polished by its ninety year journey, it was hailed as an enigmatic
+        masterpiece, a message from the great beyond.  Here was a stunning likeness of a male nude looking 
+        wistfully into the sky with an intricate lacework of vines creeping around his waist and covering his 
+        improprieties.
+
+        
+        The statue was last sold for fifty-two million dollars and stayed in the permanent exhibit at the Louvre,
+        with the plaque:
+
+
+        bq. &quot;Heavenly Nude&quot; by Anonymous
+</diff>
      <filename>lang-pt/poignant-65.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,196 +1,196 @@
-    - &gt;
-
-        &quot;Quem &#233; Lester?&quot; falou a Raposa Pequena.
-
-
-        &quot;Lester &#233; meu taxista!  Ele est&#225; estacionado na base do Dwemthy's Array!!&quot;  O Coelho ricocheteou furiosamente como uma prote&#231;&#227;o de tela
-        de um Super-Computador.  _&quot;Fale com o Dwemthy!!&quot;_
-
-
-        &quot;Bom,&quot; disse a Raposa Pequena.  Ele girou para tr&#225;s para olhar para cima na Raposa Alta, Que estava sentada direita e olhando longe 
-        no horizonte.  &quot;Espere, n&#243;s temos um estacionamento repartido no Dwemthy's Array?&quot;
-        
-        
-        *&quot;SIM!!*  E um estande de Pretzel!!&quot;
-
-
-        &quot;Mas, ele &#233; _um Array_?  Eles vendem Churros?&quot;
-
-
-        *&quot;CHOCOLAVA!!&quot;* berrou o coelho.
-
-
-        &quot;E quanto aqueles cordas que brilham no escuro que voc&#234; colocou no seu cabelo?  Ou voc&#234; pode apenas conte-las pelo seu lado ou at&#233;
-        no ar--&quot;
-
-
-        *&quot;BRAIDQUEST!!&quot;*
-
-
-        &quot;Voc&#234; deve obter uma parte da comiss&#227;o da vendedor,&quot; Falou a Raposa Pequena.  &quot;O pessoal saiu para ver voc&#234; matar o drag&#227;o, certo?&quot;
-
-
-        *&quot;MAS!!*  Eu n&#227;o opero os bra&#231;os-mecanicos que atualmente extraem o chocolava.&quot;
-
-
-        &quot;Eu s&#243; estou falando.  Voc&#234; *faz* funcionar o mecanismo de matar.  ent&#227;o voc&#234; _tem uma estaca_ na sua salada.&quot;
-
-
-        &quot;AH N&#195;OO!!  Eu perdi minha folha de alface favorita no Dwemthy's Array!!&quot; gritou o coelho, girando como uma espada de celebra&#231;&#227;o sobre
-        a floresta de carvalhos.  Distantly: &quot;Or Lester's trunk, maybe?&quot;
-        
-        
-        &quot;You know-- Gheesh, can you stay put??&quot; said Fox Small.
-        
-        
-        &quot;My radio,&quot; said Fox Tall, stirring to life for a moment, &quot;in my pickup.&quot;  The glaze still seeping from his eyes.  His stare quivered and
-        set back into his face, recalling another time and place.  A drive out to Maryland.  Sounds of Lionel Richie coming in
-        so clearly.  The wipers going a bit too fast.  He pulls up to a house.  His mother answers the door.
-        She is a heavily fluffed fox.  Tears and makeup.
-
-
-        Slumping back down, &quot;That porcupine is changing my presets.&quot;
-
-
-        The rabbit bounded up on to the armrest of the park bench and spoke closely.  *&quot;BUT!!* Soon I will feast on
-        drgn's head and the juices of drgn's tongue!!&quot;  The rabbit sat still and held his paws kindly.
-
-
-        &quot;(Which I hope will taste like cinnamon bears,)&quot; whispered the rabbit, intimately.
-
-
-        &quot;I love cinammon,&quot; said Fox Small.  &quot;I should go killing with you some time.&quot;
-
-
-        &quot;You should,&quot; said the rabbit and the eyes shine-shined.
-
-
-        &quot;Although, salivating over a tongue.  You don't salivate over it, do you?&quot;
-
-
-        &quot;I DO!!&quot; and the rabbit got so excited that Sticky Whip shot out of his eyes.  (More on Sticky Whip in a later sidebar.
-        Don't let me forget.  See also: _The Purist's Compendium to Novelty Retinal Cremes_ by Jory Patrick Sobgoblin, available wherever animal
-        attachment clips are sold.)
-
-
-        &quot;Okay, you've hooked me.  I want to hear all about it,&quot; Fox Small declared.
-        &quot;Please, talk freely about the chimbly.  Oh, and Dwemthy.  Who is he?  What makes him tick?  Then maybe, if I'm still around after
-        that, you can tell me about what makes rabbits tick, and maybe you can hold our hands through this whole missing truck ordeal.
-        I need consolation more than anything else.  I could probably use religion right now.  I could use your personal bravery and
-        this sense of accomplishment you exude.  Do you smoke a pipe?  Could be a handy tool to coax along the pontification we
-        must engage in.&quot;
-
-
-        And the rabbit began expounding upon Dwemthy and the legend of Dwemthy and the ways of Dwemthy.
-        As with most stories of Dwemthy, the rabbit's tales were mostly embellishments.
-        Smotchkkiss, there are delicacies which I alone must address.
-
-
-        Please, never ask who Dwemthy is. Obviously he is a mastermind and would never disclose his location or true identity. He has sired dynasties. He has set living ogres aflame. Horses everywhere smell him at all times. Most of all, he knows carnal pleasures. And to think that this...
-
-
-        This is his Array.
-
-
-        h3. Dwemthy's Array
-
-
-        !i/dwemthy-asweome.gif(Dwemthy's Array has charmed and tormented the village folk for centuries.)!
-
-
-        You stand at the entrance of Dwemthy's Array.  You are a rabbit who is about to die.
-        And deep at the end of the Array:
-
-
-        &lt;pre&gt;
-         class Dragon &lt; Creature
-           life 1340     # tough scales
-           strength 451  # bristling veins
-           charisma 1020 # toothy smile
-           weapon 939    # fire breath
-         end
-        &lt;/pre&gt;
-
-
-        A scalding _SEETHING LAVA_ infiltrates the *cacauphonous ENGORGED MINESHAFTS* deep within the ageless canopy of the _DWEMTHY FOREST_... chalky and nocturnal screams from *the belly of the RAVENOUS WILD STORKUPINE*... who eats *wet goslings* _RIGHT AFTER_ they've had a few graham crackers and a midday nap... amidst starved hippos _TECHNICALLY ORPHANED_ but truthfully sheltered by umbrellas owned jointly by car dealership conglomerates... beneath _uncapped vials_ of mildly pulpy *BLUE ELIXIR*... _which shall remain... heretofore... *UNDISTURBED... DWEMTHY!!!*_
-
-
-        !i/wixl.dwemthy-2.gif(Luck and mother nature.)!
-
-
-        _If you don't understand Dwemthy's Array, it is Dwemthy's fault. He designed the game to complicate our lives and were it simpler, it would not be the awe-inspiring quest we've come to cherish in our arms this very hour._
-
-
-        Dwemthy's Array has a winding history of great depth.  It is not enough to simply say, &quot;Dwemthy's
-        Array,&quot; over and over and expect to build credentials from that act alone.  Come with me, I can take you back
-        a couple years, back to the sixties where it all started with metaprogramming and the dolphins.
-
-
-        You might be inclined to think that *metaprogramming* is another hacker word and was first overheard in private
-        phone calls between fax machines.  Honest to God, I am here to tell you that it is stranger than that.
-        Metaprogramming began with _taking drugs in the company of dolphins_.
-
-
-        In the sixties, a prolific scientist named John C. Lilly began experimenting with his own senses,
-        to uncover the workings of his body.  I can relate to this.  I do this frequently when I am standing
-        in the middle of a road holding a pie or when I am hiding inside a cathedral.  I pause to examine
-        my self.  This has proven to be nigh impossible.  I have filled three ruled pages with algebraic
-        notation, none of which has explained anything.  The pie, incidentally, has been very easy to express
-        mathematically.
-
-
-        But the scientist Lilly went about his experiments otherwise.  He ingested LSD in the company of dolphins.
-        Often in a dark, woeful isolation tank full of warm salt water.  Pretty bleak.  But it was science!  (Lest you think him
-        criminal: until 1966, LSD was supplied by Sandoz Laboratories to any interested scientists, free of charge.)
-
-
-        *Drugs, dolphins and deprivation.*  Which led to Lilly's foray into things meta.  He wrote books on
-        mental programming, comparing humans and computers.  You may choose to ingest any substance you want during
-        this next quote -- most likely you're reaching for the grain of salt -- but I assure you that there's
-        no Grateful Dead show on the lawn and no ravers in the basement.
-
-
-        bq. When one learns to learn, one is making models, using symbols, analogizing, making metaphors, in short, inventing and using language, mathematics, art, politics, business, etc. At the critical brain (cortex) size, languages and its consequences appear. To avoid the necessity of repeating learning to learn, symbols, metaphors, models each time, I symbolize the underlying idea in these operations as metaprogramming.
-
-
-        bq(attrib). John C. Lilly, _Programming and Metaprogramming in the Human Biocomputer_, New York, 1972.
-
-
-        We learn.  But first we learn to learn.  We setup programming in our mind which is the pathway to further
-        programming.  (Lilly is largely talking about programming the brain and the nervous system, which he
-        collectively called the _biocomputer_.)
-
-
-        Lilly's metaprogramming was more about feeding yourself imagery, reinventing yourself, all that.
-        This sort of thinking links directly to folks out there who dabble in shamanism, wave their hands over tarot cards and
-        wake up early for karate class.  I guess you could say metaprogramming is New Age, but it's all settled down
-        recently into a sleeping bag with plain old nerdiness.  (If you got here from a Google search for &quot;C++ Metaprogramming&quot;,
-        stick around, but I only ask that you _burn_ those neural pathways that originally invoked the search.  Many thanks.)
-
-
-        Meta itself is spoken of no differently in your author's present day.
-
-
-        bq. All sensuous response to reality is an interpretation of
-        it.  Beetles and monkeys clearly interpret their world, and act on the basis of what they see.
-        Our physical senses are themselves organs of interpretation.  What distinguishes us from our fellow
-        animals is that we are able in turn to interpret these interpretations.  In that sense, all human
-        language is meta-language.  It is a second-order reflection on the 'language' of our bodies --
-        of our sensory apparatus.
-         
-
-        bq(attrib). Terry Eagleton, _After Theory_, London, 2003, ch. 3.
-
-
-        To that end, you could say programming itself is a meta-language.  _All code_ speaks the language of action,
-        of a plan which hasn't been played yet, but shortly will.  Stage directions for the players inside your
-        machine.  I've waxed sentimental on this before.
-
-
-        But now we're advancing our study, venturing into metaprogramming, but don't sweat it, *it's still just the
-        Ruby you've seen already*, which is why Dwemthy feels no qualms thrusting it at you right away.  Soon enough it will be
-        as easy to spot as addition or subtraction.  At first it may seem intensely bright, like you've stumbled across your
-        first firefly, which has flown up in your face.  Then, it becomes just _a little bobbing light_ which makes living
-        in Ohio so much nicer.
-
-
+    - &gt;
+
+        &quot;Quem &#233; Lester?&quot; falou a Raposa Pequena.
+
+
+        &quot;Lester &#233; meu taxista!  Ele est&#225; estacionado na base do Dwemthy's Array!!&quot;  O Coelho ricocheteou furiosamente como uma prote&#231;&#227;o de tela
+        de um Super-Computador.  _&quot;Fale com o Dwemthy!!&quot;_
+
+
+        &quot;Bom,&quot; disse a Raposa Pequena.  Ele girou para tr&#225;s para olhar para cima na Raposa Alta, Que estava sentada direita e olhando longe 
+        no horizonte.  &quot;Espere, n&#243;s temos um estacionamento repartido no Dwemthy's Array?&quot;
+        
+        
+        *&quot;SIM!!*  E um estande de Pretzel!!&quot;
+
+
+        &quot;Mas, ele &#233; _um Array_?  Eles vendem Churros?&quot;
+
+
+        *&quot;CHOCOLAVA!!&quot;* berrou o coelho.
+
+
+        &quot;E quanto aqueles cordas que brilham no escuro que voc&#234; colocou no seu cabelo?  Ou voc&#234; pode apenas conte-las pelo seu lado ou at&#233;
+        no ar--&quot;
+
+
+        *&quot;BRAIDQUEST!!&quot;*
+
+
+        &quot;Voc&#234; deve obter uma parte da comiss&#227;o da vendedor,&quot; Falou a Raposa Pequena.  &quot;O pessoal saiu para ver voc&#234; matar o drag&#227;o, certo?&quot;
+
+
+        *&quot;MAS!!*  Eu n&#227;o opero os bra&#231;os-mecanicos que atualmente extraem o chocolava.&quot;
+
+
+        &quot;Eu s&#243; estou falando.  Voc&#234; *faz* funcionar o mecanismo de matar.  ent&#227;o voc&#234; _tem uma estaca_ na sua salada.&quot;
+
+
+        &quot;AH N&#195;OO!!  Eu perdi minha folha de alface favorita no Dwemthy's Array!!&quot; gritou o coelho, girando como uma espada de celebra&#231;&#227;o sobre
+        a floresta de carvalhos.  Distantly: &quot;Or Lester's trunk, maybe?&quot;
+        
+        
+        &quot;You know-- Gheesh, can you stay put??&quot; said Fox Small.
+        
+        
+        &quot;My radio,&quot; said Fox Tall, stirring to life for a moment, &quot;in my pickup.&quot;  The glaze still seeping from his eyes.  His stare quivered and
+        set back into his face, recalling another time and place.  A drive out to Maryland.  Sounds of Lionel Richie coming in
+        so clearly.  The wipers going a bit too fast.  He pulls up to a house.  His mother answers the door.
+        She is a heavily fluffed fox.  Tears and makeup.
+
+
+        Slumping back down, &quot;That porcupine is changing my presets.&quot;
+
+
+        The rabbit bounded up on to the armrest of the park bench and spoke closely.  *&quot;BUT!!* Soon I will feast on
+        drgn's head and the juices of drgn's tongue!!&quot;  The rabbit sat still and held his paws kindly.
+
+
+        &quot;(Which I hope will taste like cinnamon bears,)&quot; whispered the rabbit, intimately.
+
+
+        &quot;I love cinammon,&quot; said Fox Small.  &quot;I should go killing with you some time.&quot;
+
+
+        &quot;You should,&quot; said the rabbit and the eyes shine-shined.
+
+
+        &quot;Although, salivating over a tongue.  You don't salivate over it, do you?&quot;
+
+
+        &quot;I DO!!&quot; and the rabbit got so excited that Sticky Whip shot out of his eyes.  (More on Sticky Whip in a later sidebar.
+        Don't let me forget.  See also: _The Purist's Compendium to Novelty Retinal Cremes_ by Jory Patrick Sobgoblin, available wherever animal
+        attachment clips are sold.)
+
+
+        &quot;Okay, you've hooked me.  I want to hear all about it,&quot; Fox Small declared.
+        &quot;Please, talk freely about the chimbly.  Oh, and Dwemthy.  Who is he?  What makes him tick?  Then maybe, if I'm still around after
+        that, you can tell me about what makes rabbits tick, and maybe you can hold our hands through this whole missing truck ordeal.
+        I need consolation more than anything else.  I could probably use religion right now.  I could use your personal bravery and
+        this sense of accomplishment you exude.  Do you smoke a pipe?  Could be a handy tool to coax along the pontification we
+        must engage in.&quot;
+
+
+        And the rabbit began expounding upon Dwemthy and the legend of Dwemthy and the ways of Dwemthy.
+        As with most stories of Dwemthy, the rabbit's tales were mostly embellishments.
+        Smotchkkiss, there are delicacies which I alone must address.
+
+
+        Please, never ask who Dwemthy is. Obviously he is a mastermind and would never disclose his location or true identity. He has sired dynasties. He has set living ogres aflame. Horses everywhere smell him at all times. Most of all, he knows carnal pleasures. And to think that this...
+
+
+        This is his Array.
+
+
+        h3. Dwemthy's Array
+
+
+        !i/dwemthy-asweome.gif(Dwemthy's Array has charmed and tormented the village folk for centuries.)!
+
+
+        You stand at the entrance of Dwemthy's Array.  You are a rabbit who is about to die.
+        And deep at the end of the Array:
+
+
+        &lt;pre&gt;
+         class Dragon &lt; Creature
+           life 1340     # tough scales
+           strength 451  # bristling veins
+           charisma 1020 # toothy smile
+           weapon 939    # fire breath
+         end
+        &lt;/pre&gt;
+
+
+        A scalding _SEETHING LAVA_ infiltrates the *cacauphonous ENGORGED MINESHAFTS* deep within the ageless canopy of the _DWEMTHY FOREST_... chalky and nocturnal screams from *the belly of the RAVENOUS WILD STORKUPINE*... who eats *wet goslings* _RIGHT AFTER_ they've had a few graham crackers and a midday nap... amidst starved hippos _TECHNICALLY ORPHANED_ but truthfully sheltered by umbrellas owned jointly by car dealership conglomerates... beneath _uncapped vials_ of mildly pulpy *BLUE ELIXIR*... _which shall remain... heretofore... *UNDISTURBED... DWEMTHY!!!*_
+
+
+        !i/wixl.dwemthy-2.gif(Luck and mother nature.)!
+
+
+        _If you don't understand Dwemthy's Array, it is Dwemthy's fault. He designed the game to complicate our lives and were it simpler, it would not be the awe-inspiring quest we've come to cherish in our arms this very hour._
+
+
+        Dwemthy's Array has a winding history of great depth.  It is not enough to simply say, &quot;Dwemthy's
+        Array,&quot; over and over and expect to build credentials from that act alone.  Come with me, I can take you back
+        a couple years, back to the sixties where it all started with metaprogramming and the dolphins.
+
+
+        You might be inclined to think that *metaprogramming* is another hacker word and was first overheard in private
+        phone calls between fax machines.  Honest to God, I am here to tell you that it is stranger than that.
+        Metaprogramming began with _taking drugs in the company of dolphins_.
+
+
+        In the sixties, a prolific scientist named John C. Lilly began experimenting with his own senses,
+        to uncover the workings of his body.  I can relate to this.  I do this frequently when I am standing
+        in the middle of a road holding a pie or when I am hiding inside a cathedral.  I pause to examine
+        my self.  This has proven to be nigh impossible.  I have filled three ruled pages with algebraic
+        notation, none of which has explained anything.  The pie, incidentally, has been very easy to express
+        mathematically.
+
+
+        But the scientist Lilly went about his experiments otherwise.  He ingested LSD in the company of dolphins.
+        Often in a dark, woeful isolation tank full of warm salt water.  Pretty bleak.  But it was science!  (Lest you think him
+        criminal: until 1966, LSD was supplied by Sandoz Laboratories to any interested scientists, free of charge.)
+
+
+        *Drugs, dolphins and deprivation.*  Which led to Lilly's foray into things meta.  He wrote books on
+        mental programming, comparing humans and computers.  You may choose to ingest any substance you want during
+        this next quote -- most likely you're reaching for the grain of salt -- but I assure you that there's
+        no Grateful Dead show on the lawn and no ravers in the basement.
+
+
+        bq. When one learns to learn, one is making models, using symbols, analogizing, making metaphors, in short, inventing and using language, mathematics, art, politics, business, etc. At the critical brain (cortex) size, languages and its consequences appear. To avoid the necessity of repeating learning to learn, symbols, metaphors, models each time, I symbolize the underlying idea in these operations as metaprogramming.
+
+
+        bq(attrib). John C. Lilly, _Programming and Metaprogramming in the Human Biocomputer_, New York, 1972.
+
+
+        We learn.  But first we learn to learn.  We setup programming in our mind which is the pathway to further
+        programming.  (Lilly is largely talking about programming the brain and the nervous system, which he
+        collectively called the _biocomputer_.)
+
+
+        Lilly's metaprogramming was more about feeding yourself imagery, reinventing yourself, all that.
+        This sort of thinking links directly to folks out there who dabble in shamanism, wave their hands over tarot cards and
+        wake up early for karate class.  I guess you could say metaprogramming is New Age, but it's all settled down
+        recently into a sleeping bag with plain old nerdiness.  (If you got here from a Google search for &quot;C++ Metaprogramming&quot;,
+        stick around, but I only ask that you _burn_ those neural pathways that originally invoked the search.  Many thanks.)
+
+
+        Meta itself is spoken of no differently in your author's present day.
+
+
+        bq. All sensuous response to reality is an interpretation of
+        it.  Beetles and monkeys clearly interpret their world, and act on the basis of what they see.
+        Our physical senses are themselves organs of interpretation.  What distinguishes us from our fellow
+        animals is that we are able in turn to interpret these interpretations.  In that sense, all human
+        language is meta-language.  It is a second-order reflection on the 'language' of our bodies --
+        of our sensory apparatus.
+         
+
+        bq(attrib). Terry Eagleton, _After Theory_, London, 2003, ch. 3.
+
+
+        To that end, you could say programming itself is a meta-language.  _All code_ speaks the language of action,
+        of a plan which hasn't been played yet, but shortly will.  Stage directions for the players inside your
+        machine.  I've waxed sentimental on this before.
+
+
+        But now we're advancing our study, venturing into metaprogramming, but don't sweat it, *it's still just the
+        Ruby you've seen already*, which is why Dwemthy feels no qualms thrusting it at you right away.  Soon enough it will be
+        as easy to spot as addition or subtraction.  At first it may seem intensely bright, like you've stumbled across your
+        first firefly, which has flown up in your face.  Then, it becomes just _a little bobbing light_ which makes living
+        in Ohio so much nicer.
+
+</diff>
      <filename>lang-pt/poignant-66.yml</filename>
    </modified>
    <modified>
      <filename>lang-pt/poignant-67.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,122 +1,122 @@
-    - &gt;
-        Metaprogramming is _writing code which writes code_.  But not as M.C. Escher would sketch it.  *The program isn't reaching
-        back around and overwriting itself, nor is the program jumping onto your screen and wrenching the keyboard from your
-        hands.*  No, it's much smaller than that.
-
-
-        Let's say it's more like *a little orange pill* you won at the circus.  When you suck on it, the coating wears away and
-        behind your teeth hatches a massive, floppy sponge brontosaurus.  He slides down your tongue and leaps free, frollicking 
-        over the pastures, yelping, &quot;Papa!&quot;  And from then on, whenever he freaks out and attacks a van, well, that van is _sparkling
-        clean_ afterwards.
-
-
-        Now, let's say _someone else_ puts *their little orange pill* under the faucet.  Not on their tongue, _under the faucet_.  And this triggers a different catalysm, which
-        births a set of wailing sponge sextuplets.  *Umbilical cords and everything.*  Still very handy for cleaning the van.
-        But an altogether different kind of chamois.  And, one day, these eight will stir Papa to tears when they perform the
-        violin concerto of their lives.
-
-
-        Metaprogramming is packing code into pill-form, such that a slender drop of water could trigger it to expand.
-        More importantly, you can control the pill's reaction, so that a brontosaurus is produced, scaly and lumbering.
-        Or septulets, *CERTAINLY*.  Or seamstresses.  Or cat brains.  Or dragons.
-
-
-        &lt;pre&gt;
-         class Dragon &lt; Creature
-           life 1340     # tough scales
-           strength 451  # bristling veins
-           charisma 1020 # toothy smile
-           weapon 939    # fire breath
-         end
-        &lt;/pre&gt;
-
-
-        This is not metaprogramming yet.  Only the pill.  The _product_ of metaprogramming.  We are pausing, looking at
-        the beast itself before descending beneath its flesh with a scalpel and microscope.
-
-
-        The @Dragon@ is a class.  You've seen that many times now.  The @Dragon@ is a descendant of the @Creature@ class.
-
-
-        Now, eyes up.  Look at me.  The @Creature@ class contains the metaprogramming code.  You can write metaprogramming
-        code which can be used _everywhere_, throughout Ruby, in @Creature@ or @Dragon@, in @String@ or in @Object@, anywhere.
-        Our example here, since this is the most common form of meta-code, focuses on metaprogramming inside your own
-        classes only.
-
-
-        Each of the @Dragon@'s traits are simply *class methods*.  You could also write this as:
-
-
-        &lt;pre&gt;
-         class Dragon &lt; Creature
-           life( 1340 )     # tough scales
-           strength( 451 )  # bristling veins
-           charisma( 1020 ) # toothy smile
-           weapon( 939 )    # fire breath
-         end
-        &lt;/pre&gt;
-
-
-        Removing the parens removes clutter, so let's leave them out.  Only use parens when you are using
-        several methods together and you want to be very clear.
-
-
-        h3. Creature Code
-
-
-        Now, with a lateral slice across the diaphragm, we expose the innards of @Creature@.  *Save this
-        code into a file called @dwemthy.rb@.*
-
-
-        &lt;pre&gt;
-         # The guts of life force within Dwemthy's Array
-         class Creature
-
-           # Get a metaclass for this class
-           def self.metaclass; class &lt;&lt; self; self; end; end
-
-           # Advanced metaprogramming code for nice, clean traits
-           def self.traits( *arr )
-             return @traits if arr.empty?
-
-             # 1. Set up accessors for each variable
-             attr_accessor *arr
-
-             # 2. Add a new class method to for each trait.
-             arr.each do |a|
-               metaclass.instance_eval do
-                 define_method( a ) do |val|
-                   @traits ||= {}
-                   @traits[a] = val
-                 end
-               end
-             end
-
-             # 3. For each monster, the `initialize' method
-             #    should use the default number for each trait.
-             class_eval do
-               define_method( :initialize ) do
-                 self.class.traits.each do |k,v|
-                   instance_variable_set(&quot;@#{k}&quot;, v)
-                 end
-               end
-             end
-
-           end
-
-           # Creature attributes are read-only
-           traits :life, :strength, :charisma, :weapon
-         end
-        &lt;/pre&gt;
-
-
-        Focus on the closing lines of code, specifically the line where the @traits@ are
-        being set up.  All of the code before that line sets up the @traits@ class
-        method.  This bears resemblance to the basic lottery tickets from the chapter previous.
-        
-
-        &lt;pre&gt;
-         class LotteryTicket
-           attr_reader :picks, :purchased
-         end
-        &lt;/pre&gt;
+    - &gt;
+        Metaprogramming is _writing code which writes code_.  But not as M.C. Escher would sketch it.  *The program isn't reaching
+        back around and overwriting itself, nor is the program jumping onto your screen and wrenching the keyboard from your
+        hands.*  No, it's much smaller than that.
+
+
+        Let's say it's more like *a little orange pill* you won at the circus.  When you suck on it, the coating wears away and
+        behind your teeth hatches a massive, floppy sponge brontosaurus.  He slides down your tongue and leaps free, frollicking 
+        over the pastures, yelping, &quot;Papa!&quot;  And from then on, whenever he freaks out and attacks a van, well, that van is _sparkling
+        clean_ afterwards.
+
+
+        Now, let's say _someone else_ puts *their little orange pill* under the faucet.  Not on their tongue, _under the faucet_.  And this triggers a different catalysm, which
+        births a set of wailing sponge sextuplets.  *Umbilical cords and everything.*  Still very handy for cleaning the van.
+        But an altogether different kind of chamois.  And, one day, these eight will stir Papa to tears when they perform the
+        violin concerto of their lives.
+
+
+        Metaprogramming is packing code into pill-form, such that a slender drop of water could trigger it to expand.
+        More importantly, you can control the pill's reaction, so that a brontosaurus is produced, scaly and lumbering.
+        Or septulets, *CERTAINLY*.  Or seamstresses.  Or cat brains.  Or dragons.
+
+
+        &lt;pre&gt;
+         class Dragon &lt; Creature
+           life 1340     # tough scales
+           strength 451  # bristling veins
+           charisma 1020 # toothy smile
+           weapon 939    # fire breath
+         end
+        &lt;/pre&gt;
+
+
+        This is not metaprogramming yet.  Only the pill.  The _product_ of metaprogramming.  We are pausing, looking at
+        the beast itself before descending beneath its flesh with a scalpel and microscope.
+
+
+        The @Dragon@ is a class.  You've seen that many times now.  The @Dragon@ is a descendant of the @Creature@ class.
+
+
+        Now, eyes up.  Look at me.  The @Creature@ class contains the metaprogramming code.  You can write metaprogramming
+        code which can be used _everywhere_, throughout Ruby, in @Creature@ or @Dragon@, in @String@ or in @Object@, anywhere.
+        Our example here, since this is the most common form of meta-code, focuses on metaprogramming inside your own
+        classes only.
+
+
+        Each of the @Dragon@'s traits are simply *class methods*.  You could also write this as:
+
+
+        &lt;pre&gt;
+         class Dragon &lt; Creature
+           life( 1340 )     # tough scales
+           strength( 451 )  # bristling veins
+           charisma( 1020 ) # toothy smile
+           weapon( 939 )    # fire breath
+         end
+        &lt;/pre&gt;
+
+
+        Removing the parens removes clutter, so let's leave them out.  Only use parens when you are using
+        several methods together and you want to be very clear.
+
+
+        h3. Creature Code
+
+
+        Now, with a lateral slice across the diaphragm, we expose the innards of @Creature@.  *Save this
+        code into a file called @dwemthy.rb@.*
+
+
+        &lt;pre&gt;
+         # The guts of life force within Dwemthy's Array
+         class Creature
+
+           # Get a metaclass for this class
+           def self.metaclass; class &lt;&lt; self; self; end; end
+
+           # Advanced metaprogramming code for nice, clean traits
+           def self.traits( *arr )
+             return @traits if arr.empty?
+
+             # 1. Set up accessors for each variable
+             attr_accessor *arr
+
+             # 2. Add a new class method to for each trait.
+             arr.each do |a|
+               metaclass.instance_eval do
+                 define_method( a ) do |val|
+                   @traits ||= {}
+                   @traits[a] = val
+                 end
+               end
+             end
+
+             # 3. For each monster, the `initialize' method
+             #    should use the default number for each trait.
+             class_eval do
+               define_method( :initialize ) do
+                 self.class.traits.each do |k,v|
+                   instance_variable_set(&quot;@#{k}&quot;, v)
+                 end
+               end
+             end
+
+           end
+
+           # Creature attributes are read-only
+           traits :life, :strength, :charisma, :weapon
+         end
+        &lt;/pre&gt;
+
+
+        Focus on the closing lines of code, specifically the line where the @traits@ are
+        being set up.  All of the code before that line sets up the @traits@ class
+        method.  This bears resemblance to the basic lottery tickets from the chapter previous.
+        
+
+        &lt;pre&gt;
+         class LotteryTicket
+           attr_reader :picks, :purchased
+         end
+        &lt;/pre&gt;</diff>
      <filename>lang-pt/poignant-68.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,131 +1,131 @@
-
-
-        Both @traits@ and @attr_reader@ are simply class methods.  When @attr_reader@ is used in the @LotteryTicket@,
-        metaprogramming kicks in behind the scenes and starts blowing up balloons, creating
-        *reader* methods for the instance variables @@picks@ and @@purchased@ above.
-
-
-        The code for the @traits@ method is the metaprogramming I've been alluding to.
-        Comments in the code reveal the three stages the method goes through when adding
-        traits.
-
-
-        # The *list of traits is passed on to @attr_accessor@*, which builds *reader* and
-        *writer* code for instance variables.  One for each trait.
-
-        # *Class methods are added* for each trait.  (A @life@ class method is added for a @:life@
-        trait.)  These class methods are used
-        in the class definition just like you would use @traits@ or @attr_accessor@.  This way, you can specify
-        the trait, along with the points given for a trait to a certain creature.
-
-        # *Add an initialize method* which sets up a new monster properly,
-        grabbing the right points and _POWER UP! POWER UP!_ the monster is
-        alive!
-
-
-        The beauty of these three steps is that you've taught Ruby how to code
-        monsters for you.  So when Ruby gets to the @traits@:
-
-
-        &lt;pre&gt;
-         class Creature
-           traits :life, :strength, :charisma, :weapon
-         end
-        &lt;/pre&gt;
-
-
-        Ruby fills in the code behind the scenes and transplants a spiny green
-        heart and jumpstarts the body with a pullcord.
-        Ruby will use the metaprogramming from the @Creature@ class and build
-        out all the various methods, expanding the @traits@ list like this:
-
-
-        &lt;pre&gt;
-         class Creature
-         
-           # 1. set up reader and writer methods
-           attr_accessor :life, :strength, :charisma, :weapon
-
-           # 2. add new class methods to use in creature
-           def self.life( val )
-             @traits ||= {}
-             @traits['life'] = val
-           end
-
-           def self.strength( val )
-             @traits ||= {}
-             @traits['strength'] = val
-           end
-
-           def self.charisma( val )
-             @traits ||= {}
-             @traits['charisma'] = val
-           end
-
-           def self.weapon( val )
-             @traits ||= {}
-             @traits['weapon'] = val
-           end
-
-           # 3. initialize sets the default points for
-           #    each trait
-           def initialize
-             self.class.traits.each do |k,v|
-               instance_variable_set(&quot;@#{k}&quot;, v)
-             end
-           end
-
-         end
-        &lt;/pre&gt;
-
-
-        Now, Ruby will gladly accept this
-        six-line @Dragon@ code, short enough to look nice when printed on playing
-        cards:
-
-
-        &lt;pre&gt;
-         class Dragon &lt; Creature
-           life 1340     # tough scales
-           strength 451  # bristling veins
-           charisma 1020 # toothy smile
-           weapon 939    # fire breath
-         end
-        &lt;/pre&gt;
-
-
-        h3. Eval, the Littlest Metaprogrammer
-
-
-        While the metaprogramming code above is just plain Ruby, it can be difficult to follow still.
-        I totally understand if you've come to this point and your eyes are spinning in their sockets
-        and your knees have locked up.  The trickiest parts of the above are the lines which call
-        the methods @instance_eval@ and @class_eval@.  Just rub some tiger balm on your joints while
-        I talk about @eval@.
-
-
-        We've been talking about *metaprogramming*.  Writing code which writes code.  The @eval@
-        method hangs out in this alley.
-        The vagrant @eval@ takes code you have stored up in a string and it executes that code.
-
-
-        &lt;pre&gt;
-         drgn = Dragon.new
-         # is identical to...
-         drgn = eval( &quot;Dragon.new&quot; )
-         # or, alternatively...
-         eval( &quot;drgn = Dragon.new&quot; )
-        &lt;/pre&gt;
-
-
-        Here, let's write a program which has a hole in it.  Instead of writing a program
-        which creates a new @Dragon@, let's leave a hole where the @Dragon@ would be.
-
-
-        &lt;pre&gt;
-         print &quot;What monster class have you come to battle? &quot;
-         monster_class = gets
-         eval( &quot;monster = &quot; + monster_class + &quot;.new&quot; )
-         p monster
-        &lt;/pre&gt;
-
+
+
+        Both @traits@ and @attr_reader@ are simply class methods.  When @attr_reader@ is used in the @LotteryTicket@,
+        metaprogramming kicks in behind the scenes and starts blowing up balloons, creating
+        *reader* methods for the instance variables @@picks@ and @@purchased@ above.
+
+
+        The code for the @traits@ method is the metaprogramming I've been alluding to.
+        Comments in the code reveal the three stages the method goes through when adding
+        traits.
+
+
+        # The *list of traits is passed on to @attr_accessor@*, which builds *reader* and
+        *writer* code for instance variables.  One for each trait.
+
+        # *Class methods are added* for each trait.  (A @life@ class method is added for a @:life@
+        trait.)  These class methods are used
+        in the class definition just like you would use @traits@ or @attr_accessor@.  This way, you can specify
+        the trait, along with the points given for a trait to a certain creature.
+
+        # *Add an initialize method* which sets up a new monster properly,
+        grabbing the right points and _POWER UP! POWER UP!_ the monster is
+        alive!
+
+
+        The beauty of these three steps is that you've taught Ruby how to code
+        monsters for you.  So when Ruby gets to the @traits@:
+
+
+        &lt;pre&gt;
+         class Creature
+           traits :life, :strength, :charisma, :weapon
+         end
+        &lt;/pre&gt;
+
+
+        Ruby fills in the code behind the scenes and transplants a spiny green
+        heart and jumpstarts the body with a pullcord.
+        Ruby will use the metaprogramming from the @Creature@ class and build
+        out all the various methods, expanding the @traits@ list like this:
+
+
+        &lt;pre&gt;
+         class Creature
+         
+           # 1. set up reader and writer methods
+           attr_accessor :life, :strength, :charisma, :weapon
+
+           # 2. add new class methods to use in creature
+           def self.life( val )
+             @traits ||= {}
+             @traits['life'] = val
+           end
+
+           def self.strength( val )
+             @traits ||= {}
+             @traits['strength'] = val
+           end
+
+           def self.charisma( val )
+             @traits ||= {}
+             @traits['charisma'] = val
+           end
+
+           def self.weapon( val )
+             @traits ||= {}
+             @traits['weapon'] = val
+           end
+
+           # 3. initialize sets the default points for
+           #    each trait
+           def initialize
+             self.class.traits.each do |k,v|
+               instance_variable_set(&quot;@#{k}&quot;, v)
+             end
+           end
+
+         end
+        &lt;/pre&gt;
+
+
+        Now, Ruby will gladly accept this
+        six-line @Dragon@ code, short enough to look nice when printed on playing
+        cards:
+
+
+        &lt;pre&gt;
+         class Dragon &lt; Creature
+           life 1340     # tough scales
+           strength 451  # bristling veins
+           charisma 1020 # toothy smile
+           weapon 939    # fire breath
+         end
+        &lt;/pre&gt;
+
+
+        h3. Eval, the Littlest Metaprogrammer
+
+
+        While the metaprogramming code above is just plain Ruby, it can be difficult to follow still.
+        I totally understand if you've come to this point and your eyes are spinning in their sockets
+        and your knees have locked up.  The trickiest parts of the above are the lines which call
+        the methods @instance_eval@ and @class_eval@.  Just rub some tiger balm on your joints while
+        I talk about @eval@.
+
+
+        We've been talking about *metaprogramming*.  Writing code which writes code.  The @eval@
+        method hangs out in this alley.
+        The vagrant @eval@ takes code you have stored up in a string and it executes that code.
+
+
+        &lt;pre&gt;
+         drgn = Dragon.new
+         # is identical to...
+         drgn = eval( &quot;Dragon.new&quot; )
+         # or, alternatively...
+         eval( &quot;drgn = Dragon.new&quot; )
+        &lt;/pre&gt;
+
+
+        Here, let's write a program which has a hole in it.  Instead of writing a program
+        which creates a new @Dragon@, let's leave a hole where the @Dragon@ would be.
+
+
+        &lt;pre&gt;
+         print &quot;What monster class have you come to battle? &quot;
+         monster_class = gets
+         eval( &quot;monster = &quot; + monster_class + &quot;.new&quot; )
+         p monster
+        &lt;/pre&gt;
+</diff>
      <filename>lang-pt/poignant-68a.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,176 +1,176 @@
-        The program asks for a monster.  If you type in @Dragon@, then the @monster_class@ variable
-        will contain the string @&quot;Dragon&quot;@.  Inside the @eval@, a few strings get added together
-        to make the string @&quot;monster = Dragon.new&quot;@.  And when the @eval@ executes this string,
-        the @monster@ variable contains a @Dragon@ object.  Ready for battle.
-
-
-        This is great!  Now we can leave it up to the player to pick a monster!  Of course,
-        we're trusting the player to supply a real monster class.  If they type in @BotanicalWitch@
-        and there is no @BotanicalWitch@ class, they'll get an exception tossed in their face.
-
-
-        So, in short, @eval@ lets you make up code as you go.  Which can be useful and which can
-        be dangerous as well.
-
-
-        The @instance_eval@ and @class_eval@ method used in the metaprogramming for the @Creature@
-        class are slightly different from the normal @eval@.  These two special methods run code just like
-        @eval@ does, but they duck into classes and objects and run the code there.
-
-
-        &lt;pre&gt;
-         # The instance_eval method runs code as if it were run inside an
-         # object's instance method.
-         irb&gt; drgn = Dragon.new
-         irb&gt; drgn.instance_eval do
-         irb&gt;   @name = &quot;Tobias&quot;
-         irb&gt; end
-
-         irb&gt; drgn.instance_variable_get( &quot;@name&quot; )
-           =&gt; &quot;Tobias&quot;
-
-         # The class_eval method runs code is if inside a class definition.
-         irb&gt; Dragon.class_eval do
-         irb&gt;   def name; @name; end
-         irb&gt; end
-
-         irb&gt; drgn.name
-           =&gt; &quot;Tobias&quot;
-        &lt;/pre&gt;
-
-
-        As you can see above, the @instance_eval@ and @class_eval@ methods also can take a code block
-        instead of a string.  Which is just how things are done in Dwemthy's Array.
-
-
-        h3. Enough Belittling Instruction and Sly Juxtaposition -- Where Is Dwemthy's Array??
-
-
-        Tread carefully -- here is *the other half of DWEMTHY'S ARRAY!!*
-        *Add these lines to @dwemthy.rb@.*
-
-
-        &lt;pre&gt;
-         class Creature
-
-           # This method applies a hit taken during a fight.
-           def hit( damage )
-             p_up = rand( charisma )
-             if p_up % 9 == 7
-               @life += p_up / 4
-               puts &quot;[#{ self.class } magick powers up #{ p_up }!]&quot;
-             end 
-             @life -= damage
-             puts &quot;[#{ self.class } has died.]&quot; if @life &lt;= 0
-           end
-
-           # This method takes one turn in a fight.
-           def fight( enemy, weapon )
-             if life &lt;= 0
-               puts &quot;[#{ self.class } is too dead to fight!]&quot;
-               return
-             end
-
-             # Attack the opponent
-             your_hit = rand( strength + weapon )
-             puts &quot;[You hit with #{ your_hit } points of damage!]&quot;
-             enemy.hit( your_hit )
-
-             # Retaliation
-             p enemy
-             if enemy.life &gt; 0
-               enemy_hit = rand( enemy.strength + enemy.weapon )
-               puts &quot;[Your enemy hit with #{ enemy_hit } points of damage!]&quot;
-               self.hit( enemy_hit )
-             end
-           end
-
-         end
-
-         class DwemthysArray &lt; Array
-           alias _inspect inspect
-           def inspect; &quot;#&lt;#{ self.class }#{ _inspect }&gt;&quot;; end
-           def method_missing( meth, *args )
-             answer = first.send( meth, *args )
-             if first.life &lt;= 0
-               shift
-               if empty?
-                 puts &quot;[Whoa.  You decimated Dwemthy's Array!]&quot;
-               else
-                 puts &quot;[Get ready. #{ first.class } has emerged.]&quot;
-               end
-             end
-             answer || 0
-           end
-         end
-        &lt;/pre&gt;
-
-
-        This code adds two methods to @Creature@.  The @hit@ method which reacts to a hit from another
-        @Creature@.  And the @fight@ method which lets you place your own blows against that @Creature@.
-
-
-        When your @Creature@ takes a hit, a bit of defense kicks in and your @charisma@ value is used to generate a power-up.  Don't
-        ask me to explain the secrets behind this phenomenon.  A random number is picked, some simple math
-        is done, and, if you're lucky, you get a couple life points.  @@life += p_up / 4@.
-
-
-        Then, the enemy's blow is landed.  @@life -= damage@.  That's how the @Creature#hit@ method works.
-
-
-        The @fight@ method checks to see if your @Creature@ is alive.  Next, a random
-        hit is placed on your opponent.  If your opponent lives through the hit, it gets
-        a chance to strike back.  Those are the workings of the @Creature#fight@ method.
-
-
-        I'll explain @DwemthysArray@ in a second.  I really will.  I'm having fun doing it.
-        Let's stick with hitting and fighting for now.
-
-
-        h3. Introducing: You.
-
-
-        You may certainly tinker with derivations on this rabbit.  But official
-        Dwemthy Paradigms explicitly denote the code -- and the altogether character -- inscribed
-        below.  *Save this as @rabbit.rb@.*
-
-
-        &lt;pre&gt;
-         class Rabbit &lt; Creature
-           traits :bombs
-
-           life 10
-           strength 2
-           charisma 44
-           weapon 4
-           bombs 3
-
-           # little boomerang
-           def ^( enemy )
-             fight( enemy, 13 )
-           end
-           # the hero's sword is unlimited!!
-           def /( enemy )
-             fight( enemy, rand( 4 + ( ( enemy.life % 10 ) ** 2 ) ) )
-           end
-           # lettuce will build your strength and extra ruffage
-           # will fly in the face of your opponent!!
-           def %( enemy )
-             lettuce = rand( charisma )
-             puts &quot;[Healthy lettuce gives you #{ lettuce } life points!!]&quot;
-             @life += lettuce
-             fight( enemy, 0 )
-           end
-           # bombs, but you only have three!!
-           def *( enemy )
-             if @bombs.zero?
-               puts &quot;[UHN!! You're out of bombs!!]&quot;
-               return
-             end
-             @bombs -= 1
-             fight( enemy, 86 )
-           end
-         end
-        &lt;/pre&gt;
-
-
+        The program asks for a monster.  If you type in @Dragon@, then the @monster_class@ variable
+        will contain the string @&quot;Dragon&quot;@.  Inside the @eval@, a few strings get added together
+        to make the string @&quot;monster = Dragon.new&quot;@.  And when the @eval@ executes this string,
+        the @monster@ variable contains a @Dragon@ object.  Ready for battle.
+
+
+        This is great!  Now we can leave it up to the player to pick a monster!  Of course,
+        we're trusting the player to supply a real monster class.  If they type in @BotanicalWitch@
+        and there is no @BotanicalWitch@ class, they'll get an exception tossed in their face.
+
+
+        So, in short, @eval@ lets you make up code as you go.  Which can be useful and which can
+        be dangerous as well.
+
+
+        The @instance_eval@ and @class_eval@ method used in the metaprogramming for the @Creature@
+        class are slightly different from the normal @eval@.  These two special methods run code just like
+        @eval@ does, but they duck into classes and objects and run the code there.
+
+
+        &lt;pre&gt;
+         # The instance_eval method runs code as if it were run inside an
+         # object's instance method.
+         irb&gt; drgn = Dragon.new
+         irb&gt; drgn.instance_eval do
+         irb&gt;   @name = &quot;Tobias&quot;
+         irb&gt; end
+
+         irb&gt; drgn.instance_variable_get( &quot;@name&quot; )
+           =&gt; &quot;Tobias&quot;
+
+         # The class_eval method runs code is if inside a class definition.
+         irb&gt; Dragon.class_eval do
+         irb&gt;   def name; @name; end
+         irb&gt; end
+
+         irb&gt; drgn.name
+           =&gt; &quot;Tobias&quot;
+        &lt;/pre&gt;
+
+
+        As you can see above, the @instance_eval@ and @class_eval@ methods also can take a code block
+        instead of a string.  Which is just how things are done in Dwemthy's Array.
+
+
+        h3. Enough Belittling Instruction and Sly Juxtaposition -- Where Is Dwemthy's Array??
+
+
+        Tread carefully -- here is *the other half of DWEMTHY'S ARRAY!!*
+        *Add these lines to @dwemthy.rb@.*
+
+
+        &lt;pre&gt;
+         class Creature
+
+           # This method applies a hit taken during a fight.
+           def hit( damage )
+             p_up = rand( charisma )
+             if p_up % 9 == 7
+               @life += p_up / 4
+               puts &quot;[#{ self.class } magick powers up #{ p_up }!]&quot;
+             end 
+             @life -= damage
+             puts &quot;[#{ self.class } has died.]&quot; if @life &lt;= 0
+           end
+
+           # This method takes one turn in a fight.
+           def fight( enemy, weapon )
+             if life &lt;= 0
+               puts &quot;[#{ self.class } is too dead to fight!]&quot;
+               return
+             end
+
+             # Attack the opponent
+             your_hit = rand( strength + weapon )
+             puts &quot;[You hit with #{ your_hit } points of damage!]&quot;
+             enemy.hit( your_hit )
+
+             # Retaliation
+             p enemy
+             if enemy.life &gt; 0
+               enemy_hit = rand( enemy.strength + enemy.weapon )
+               puts &quot;[Your enemy hit with #{ enemy_hit } points of damage!]&quot;
+               self.hit( enemy_hit )
+             end
+           end
+
+         end
+
+         class DwemthysArray &lt; Array
+           alias _inspect inspect
+           def inspect; &quot;#&lt;#{ self.class }#{ _inspect }&gt;&quot;; end
+           def method_missing( meth, *args )
+             answer = first.send( meth, *args )
+             if first.life &lt;= 0
+               shift
+               if empty?
+                 puts &quot;[Whoa.  You decimated Dwemthy's Array!]&quot;
+               else
+                 puts &quot;[Get ready. #{ first.class } has emerged.]&quot;
+               end
+             end
+             answer || 0
+           end
+         end
+        &lt;/pre&gt;
+
+
+        This code adds two methods to @Creature@.  The @hit@ method which reacts to a hit from another
+        @Creature@.  And the @fight@ method which lets you place your own blows against that @Creature@.
+
+
+        When your @Creature@ takes a hit, a bit of defense kicks in and your @charisma@ value is used to generate a power-up.  Don't
+        ask me to explain the secrets behind this phenomenon.  A random number is picked, some simple math
+        is done, and, if you're lucky, you get a couple life points.  @@life += p_up / 4@.
+
+
+        Then, the enemy's blow is landed.  @@life -= damage@.  That's how the @Creature#hit@ method works.
+
+
+        The @fight@ method checks to see if your @Creature@ is alive.  Next, a random
+        hit is placed on your opponent.  If your opponent lives through the hit, it gets
+        a chance to strike back.  Those are the workings of the @Creature#fight@ method.
+
+
+        I'll explain @DwemthysArray@ in a second.  I really will.  I'm having fun doing it.
+        Let's stick with hitting and fighting for now.
+
+
+        h3. Introducing: You.
+
+
+        You may certainly tinker with derivations on this rabbit.  But official
+        Dwemthy Paradigms explicitly denote the code -- and the altogether character -- inscribed
+        below.  *Save this as @rabbit.rb@.*
+
+
+        &lt;pre&gt;
+         class Rabbit &lt; Creature
+           traits :bombs
+
+           life 10
+           strength 2
+           charisma 44
+           weapon 4
+           bombs 3
+
+           # little boomerang
+           def ^( enemy )
+             fight( enemy, 13 )
+           end
+           # the hero's sword is unlimited!!
+           def /( enemy )
+             fight( enemy, rand( 4 + ( ( enemy.life % 10 ) ** 2 ) ) )
+           end
+           # lettuce will build your strength and extra ruffage
+           # will fly in the face of your opponent!!
+           def %( enemy )
+             lettuce = rand( charisma )
+             puts &quot;[Healthy lettuce gives you #{ lettuce } life points!!]&quot;
+             @life += lettuce
+             fight( enemy, 0 )
+           end
+           # bombs, but you only have three!!
+           def *( enemy )
+             if @bombs.zero?
+               puts &quot;[UHN!! You're out of bombs!!]&quot;
+               return
+             end
+             @bombs -= 1
+             fight( enemy, 86 )
+           end
+         end
+        &lt;/pre&gt;
+
+</diff>
      <filename>lang-pt/poignant-68b.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,74 +1,74 @@
-        You have four weapons.  The boomerang.  The hero's sword.  The lettuce.  And the bombs.
-
-
-        To start off, open up @irb@ and load the libraries we've created above.
-
-
-        &lt;pre&gt;
-         irb&gt; require 'dwemthy'
-         irb&gt; require 'rabbit'
-        &lt;/pre&gt;
-
-         
-        Now, unroll yourself.
-
-
-        &lt;pre&gt;
-         irb&gt; r = Rabbit.new
-         irb&gt; r.life
-           =&gt; 10
-         irb&gt; r.strength
-           =&gt; 2
-        &lt;/pre&gt;
-
-
-        Good, good.
-
-
-        h3. Rabbit Fights ScubaArgentine!
-
-
-        You cannot just go rushing into Dwemthy's Array, unseatbelted and merely
-        perfumed!!  You must advance deliberately through the demonic cotillion.  Or south,
-        through the thickets and labyrinth of coal.
-
-
-        For now, let's lurk covertly through the milky residue alongside the aqueducts.  And 
-        sneak up on the @ScubaArgentine@.
-
-
-        &lt;pre&gt;
-         class ScubaArgentine &lt; Creature
-           life 46
-           strength 35
-           charisma 91
-           weapon 2
-         end
-        &lt;/pre&gt;
-
-
-        To get the fight started, make sure you've created one of you and one of the
-        @ScubaArgentine@.
-
-
-        &lt;pre&gt;
-         irb&gt; r = Rabbit.new
-         irb&gt; s = ScubaArgentine.new
-        &lt;/pre&gt;
-
-
-        Now use the little boomerang!
-
-
-        &lt;pre&gt;
-         irb&gt; r ^ s
-         [You hit with 2 points of damage!]
-         #&lt;ScubaArgentine:0x808c864 @charisma=91, @strength=35, @life=44, @weapon=2&gt;
-         [Your enemy hit with 28 points of damage!]
-         [Rabbit has died.]
-        &lt;/pre&gt;
-
-
-        For crying out loud!!  Our sample rabbit died!!
-
-
+        You have four weapons.  The boomerang.  The hero's sword.  The lettuce.  And the bombs.
+
+
+        To start off, open up @irb@ and load the libraries we've created above.
+
+
+        &lt;pre&gt;
+         irb&gt; require 'dwemthy'
+         irb&gt; require 'rabbit'
+        &lt;/pre&gt;
+
+         
+        Now, unroll yourself.
+
+
+        &lt;pre&gt;
+         irb&gt; r = Rabbit.new
+         irb&gt; r.life
+           =&gt; 10
+         irb&gt; r.strength
+           =&gt; 2
+        &lt;/pre&gt;
+
+
+        Good, good.
+
+
+        h3. Rabbit Fights ScubaArgentine!
+
+
+        You cannot just go rushing into Dwemthy's Array, unseatbelted and merely
+        perfumed!!  You must advance deliberately through the demonic cotillion.  Or south,
+        through the thickets and labyrinth of coal.
+
+
+        For now, let's lurk covertly through the milky residue alongside the aqueducts.  And 
+        sneak up on the @ScubaArgentine@.
+
+
+        &lt;pre&gt;
+         class ScubaArgentine &lt; Creature
+           life 46
+           strength 35
+           charisma 91
+           weapon 2
+         end
+        &lt;/pre&gt;
+
+
+        To get the fight started, make sure you've created one of you and one of the
+        @ScubaArgentine@.
+
+
+        &lt;pre&gt;
+         irb&gt; r = Rabbit.new
+         irb&gt; s = ScubaArgentine.new
+        &lt;/pre&gt;
+
+
+        Now use the little boomerang!
+
+
+        &lt;pre&gt;
+         irb&gt; r ^ s
+         [You hit with 2 points of damage!]
+         #&lt;ScubaArgentine:0x808c864 @charisma=91, @strength=35, @life=44, @weapon=2&gt;
+         [Your enemy hit with 28 points of damage!]
+         [Rabbit has died.]
+        &lt;/pre&gt;
+
+
+        For crying out loud!!  Our sample rabbit died!!
+
+</diff>
      <filename>lang-pt/poignant-68c.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,45 +1,45 @@
-    - !^sidebar
-      The Shoes Which Lies Are Made Of: &gt;
-
-        _Earlier, I told you that &quot;The Inadvertant Meteor&quot; was the only story you need to know in order to
-        understand preeventualism.  But, really, all you need to understand about preeventualism is that
-        it is still in its infancy and any of its most basic concepts could change._
-
-
-        _Which is why I've authored a competing story which I believe uncovers an entirely different
-        and very relevant intellectual scenario._
-
-
-        There was a guy who had been around the block.  And he wasn't very old, so he decided to write
-        a biography of his life.
-
-
-        Well, he started to lie in his biography.  He made up some stories.  But mostly little stories
-        that were inconsequential.  Filler.  Like he had a story about a painting he'd done of a red
-        background with elephant legs in front.
-
-
-        But he hadn't ever painted anything of the sort.  He further embellished the story by talking
-        about a pricey auction he'd snuck into.  An auction in New York City where he'd he overheard his
-        painting go to sale for twenty grand.  But that wasn't the point of the story.  The point was
-        that he could fold his body to fit under a lid on a banquet tray.  People would raise the lid and
-        they wouldn't even notice him bracing himself inside.  He didn't even mention the price his painting
-        sold at.
-
-
-        Anyway, he really started to like that story (and others like it), to the point where he
-        started to ignore his friends and family, instead preferring to watch what his lie self did after the
-        auction.  In his head.
-
-
-        So, then, one day he was shopping and he found a pair of shoes that had stripey laces.
-        And he grabbed the shoes and went to the store counter, forcing them in the cashier's
-        face, yelling, &quot;Look! Look at these! Look! These are the shoes my lie self would
-        wear!&quot;  And he bought the shoes and put them on and the whole Earth cracked open and
-        the cash register popped open and swallowed him up and he was suddenly elsewhere, in his
-        lie apartment, sitting down to paint dolphin noses, three of them on a green background.
-
-
-        It was a lot of work, painting all those noses.  And he went broke for a while and had
-        to stoop so low as to filming abominable snowman NASCAR.
-
+    - !^sidebar
+      The Shoes Which Lies Are Made Of: &gt;
+
+        _Earlier, I told you that &quot;The Inadvertant Meteor&quot; was the only story you need to know in order to
+        understand preeventualism.  But, really, all you need to understand about preeventualism is that
+        it is still in its infancy and any of its most basic concepts could change._
+
+
+        _Which is why I've authored a competing story which I believe uncovers an entirely different
+        and very relevant intellectual scenario._
+
+
+        There was a guy who had been around the block.  And he wasn't very old, so he decided to write
+        a biography of his life.
+
+
+        Well, he started to lie in his biography.  He made up some stories.  But mostly little stories
+        that were inconsequential.  Filler.  Like he had a story about a painting he'd done of a red
+        background with elephant legs in front.
+
+
+        But he hadn't ever painted anything of the sort.  He further embellished the story by talking
+        about a pricey auction he'd snuck into.  An auction in New York City where he'd he overheard his
+        painting go to sale for twenty grand.  But that wasn't the point of the story.  The point was
+        that he could fold his body to fit under a lid on a banquet tray.  People would raise the lid and
+        they wouldn't even notice him bracing himself inside.  He didn't even mention the price his painting
+        sold at.
+
+
+        Anyway, he really started to like that story (and others like it), to the point where he
+        started to ignore his friends and family, instead preferring to watch what his lie self did after the
+        auction.  In his head.
+
+
+        So, then, one day he was shopping and he found a pair of shoes that had stripey laces.
+        And he grabbed the shoes and went to the store counter, forcing them in the cashier's
+        face, yelling, &quot;Look! Look at these! Look! These are the shoes my lie self would
+        wear!&quot;  And he bought the shoes and put them on and the whole Earth cracked open and
+        the cash register popped open and swallowed him up and he was suddenly elsewhere, in his
+        lie apartment, sitting down to paint dolphin noses, three of them on a green background.
+
+
+        It was a lot of work, painting all those noses.  And he went broke for a while and had
+        to stoop so low as to filming abominable snowman NASCAR.
+</diff>
      <filename>lang-pt/poignant-69.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,144 +1,144 @@
-    - &gt;
-        Grim prospects.  I can't ask you to return to the rabbit kingdom, though.
-        Just pretend like you didn't die and make a whole new rabbit.
-
-
-        &lt;pre&gt;
-         irb&gt; r = Rabbit.new
-
-         # attacking with boomerang!
-         irb&gt; r ^ s
-
-         # the hero's sword slashes!
-         irb&gt; r / s
-
-         # eating lettuce gives you life!
-         irb&gt; r % s
-
-         # you have three bombs!
-         irb&gt; r * s
-        &lt;/pre&gt;
-
-
-        Pretty neat looking, wouldn't you say?  The code in @rabbit.rb@ alters a few math symbols
-        which work only with the @Rabbit@.  Ruby allows you to change the behavior of math operators.  After all,
-        *math operators are just methods!*
-
-
-        &lt;pre&gt;
-         # the boomerang is normally an XOR operator.
-         irb&gt; 1.^( 1 )
-           =&gt; 0
-
-         # the hero's sword normally divides numbers.
-         irb&gt; 10./( 2 )
-           =&gt; 5
-
-         # the lettuce gives the remainder of a division.
-         irb&gt; 10.%( 3 )
-           =&gt; 1
-
-         # the bomb is for multiplication.
-         irb&gt; 10.*( 3 )
-           =&gt; 30
-        &lt;/pre&gt;
-
-
-        Where it makes sense, you may choose to use math operators on some of your Classes.  Ruby
-        uses these math operators on many of its own classes.  Arrays, for example, have a handful
-        of math operators which you can see in the list of instance methods when you type: @ri Array@.
-
-
-        &lt;pre&gt;
-         # the plus operator combines two arrays into a single array
-         irb&gt; [&quot;D&quot;, &quot;W&quot;, &quot;E&quot;] + [&quot;M&quot;, &quot;T&quot;, &quot;H&quot;, &quot;Y&quot;]
-           =&gt; [&quot;D&quot;, &quot;W&quot;, &quot;E&quot;, &quot;M&quot;, &quot;T&quot;, &quot;H&quot;, &quot;Y&quot;]
-
-         # minus removes all items in the second array found in the first
-         irb&gt; [&quot;D&quot;, &quot;W&quot;, &quot;E&quot;, &quot;M&quot;, &quot;T&quot;, &quot;H&quot;, &quot;Y&quot;] - [&quot;W&quot;, &quot;T&quot;]
-           =&gt; [&quot;D&quot;, &quot;E&quot;, &quot;M&quot;, &quot;H&quot;, &quot;Y&quot;]
-
-         # the multiplier repeats the elements of an array
-         irb&gt; [&quot;D&quot;, &quot;W&quot;] * 3
-           =&gt; [&quot;D&quot;, &quot;W&quot;, &quot;D&quot;, &quot;W&quot;, &quot;D&quot;, &quot;W&quot;]
-        &lt;/pre&gt;
-
-
-        You may be wondering: what does this mean for math, though?  What if I add the number three
-        to an array?  What if I add a string and a number?  *How is Ruby going to react?*
-
-
-        Please remember these operators are just methods.  But, since these operators _aren't readable
-        words_, it can be harder to tell what they do.  Use @ri@.  Often you'll find that the operators
-        are identical to other readable methods.  You can then choose to use the operator or the method.
-        Whichever is clearer to you.
-
-
-        &lt;pre&gt;
-         # divide with an operator method ...
-         irb&gt; 10 / 3
-           =&gt; 3
-
-         # ... or a readable method?
-         irb&gt; 10.div 3
-           =&gt; 3
-        &lt;/pre&gt;
-
-
-        And that's how the Rabbit's sword divides. 
-
-
-        h3. The Harsh Realities of Dwemthy's Array AWAIT YOU TO MASH YOU!!
-
-
-        Once you're done playchoking the last guy with his oxygen tube, it's time
-        to enter The Array.  I doubt you can do it.  You left your hatchet at home.  And
-        I hope you didn't use all your bombs on the easy guy.
-
-
-        You have six foes.
-
-
-        &lt;pre&gt;
-         class IndustrialRaverMonkey &lt; Creature
-           life 46
-           strength 35
-           charisma 91
-           weapon 2
-         end
-
-         class DwarvenAngel &lt; Creature
-           life 540
-           strength 6
-           charisma 144
-           weapon 50
-         end
-
-         class AssistantViceTentacleAndOmbudsman &lt; Creature
-           life 320
-           strength 6
-           charisma 144
-           weapon 50
-         end
-
-         class TeethDeer &lt; Creature
-           life 655
-           strength 192
-           charisma 19
-           weapon 109
-         end
-
-         class IntrepidDecomposedCyclist &lt; Creature
-           life 901
-           strength 560
-           charisma 422
-           weapon 105
-         end
-
-         class Dragon &lt; Creature
-           life 1340     # tough scales
-           strength 451  # bristling veins
-           charisma 1020 # toothy smile
-           weapon 939    # fire breath
-         end
+    - &gt;
+        Grim prospects.  I can't ask you to return to the rabbit kingdom, though.
+        Just pretend like you didn't die and make a whole new rabbit.
+
+
+        &lt;pre&gt;
+         irb&gt; r = Rabbit.new
+
+         # attacking with boomerang!
+         irb&gt; r ^ s
+
+         # the hero's sword slashes!
+         irb&gt; r / s
+
+         # eating lettuce gives you life!
+         irb&gt; r % s
+
+         # you have three bombs!
+         irb&gt; r * s
+        &lt;/pre&gt;
+
+
+        Pretty neat looking, wouldn't you say?  The code in @rabbit.rb@ alters a few math symbols
+        which work only with the @Rabbit@.  Ruby allows you to change the behavior of math operators.  After all,
+        *math operators are just methods!*
+
+
+        &lt;pre&gt;
+         # the boomerang is normally an XOR operator.
+         irb&gt; 1.^( 1 )
+           =&gt; 0
+
+         # the hero's sword normally divides numbers.
+         irb&gt; 10./( 2 )
+           =&gt; 5
+
+         # the lettuce gives the remainder of a division.
+         irb&gt; 10.%( 3 )
+           =&gt; 1
+
+         # the bomb is for multiplication.
+         irb&gt; 10.*( 3 )
+           =&gt; 30
+        &lt;/pre&gt;
+
+
+        Where it makes sense, you may choose to use math operators on some of your Classes.  Ruby
+        uses these math operators on many of its own classes.  Arrays, for example, have a handful
+        of math operators which you can see in the list of instance methods when you type: @ri Array@.
+
+
+        &lt;pre&gt;
+         # the plus operator combines two arrays into a single array
+         irb&gt; [&quot;D&quot;, &quot;W&quot;, &quot;E&quot;] + [&quot;M&quot;, &quot;T&quot;, &quot;H&quot;, &quot;Y&quot;]
+           =&gt; [&quot;D&quot;, &quot;W&quot;, &quot;E&quot;, &quot;M&quot;, &quot;T&quot;, &quot;H&quot;, &quot;Y&quot;]
+
+         # minus removes all items in the second array found in the first
+         irb&gt; [&quot;D&quot;, &quot;W&quot;, &quot;E&quot;, &quot;M&quot;, &quot;T&quot;, &quot;H&quot;, &quot;Y&quot;] - [&quot;W&quot;, &quot;T&quot;]
+           =&gt; [&quot;D&quot;, &quot;E&quot;, &quot;M&quot;, &quot;H&quot;, &quot;Y&quot;]
+
+         # the multiplier repeats the elements of an array
+         irb&gt; [&quot;D&quot;, &quot;W&quot;] * 3
+           =&gt; [&quot;D&quot;, &quot;W&quot;, &quot;D&quot;, &quot;W&quot;, &quot;D&quot;, &quot;W&quot;]
+        &lt;/pre&gt;
+
+
+        You may be wondering: what does this mean for math, though?  What if I add the number three
+        to an array?  What if I add a string and a number?  *How is Ruby going to react?*
+
+
+        Please remember these operators are just methods.  But, since these operators _aren't readable
+        words_, it can be harder to tell what they do.  Use @ri@.  Often you'll find that the operators
+        are identical to other readable methods.  You can then choose to use the operator or the method.
+        Whichever is clearer to you.
+
+
+        &lt;pre&gt;
+         # divide with an operator method ...
+         irb&gt; 10 / 3
+           =&gt; 3
+
+         # ... or a readable method?
+         irb&gt; 10.div 3
+           =&gt; 3
+        &lt;/pre&gt;
+
+
+        And that's how the Rabbit's sword divides. 
+
+
+        h3. The Harsh Realities of Dwemthy's Array AWAIT YOU TO MASH YOU!!
+
+
+        Once you're done playchoking the last guy with his oxygen tube, it's time
+        to enter The Array.  I doubt you can do it.  You left your hatchet at home.  And
+        I hope you didn't use all your bombs on the easy guy.
+
+
+        You have six foes.
+
+
+        &lt;pre&gt;
+         class IndustrialRaverMonkey &lt; Creature
+           life 46
+           strength 35
+           charisma 91
+           weapon 2
+         end
+
+         class DwarvenAngel &lt; Creature
+           life 540
+           strength 6
+           charisma 144
+           weapon 50
+         end
+
+         class AssistantViceTentacleAndOmbudsman &lt; Creature
+           life 320
+           strength 6
+           charisma 144
+           weapon 50
+         end
+
+         class TeethDeer &lt; Creature
+           life 655
+           strength 192
+           charisma 19
+           weapon 109
+         end
+
+         class IntrepidDecomposedCyclist &lt; Creature
+           life 901
+           strength 560
+           charisma 422
+           weapon 105
+         end
+
+         class Dragon &lt; Creature
+           life 1340     # tough scales
+           strength 451  # bristling veins
+           charisma 1020 # toothy smile
+           weapon 939    # fire breath
+         end
         &lt;/pre&gt;
\ No newline at end of file</diff>
      <filename>lang-pt/poignant-70.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,109 +1,109 @@
-
-
-        These are the living, breathing monstrosities of Dwemthy's Array.  I don't
-        know how they got there.  No one knows.  Actually, I'm guessing the @IntrepidDecomposedCyclist@
-        rode his ten-speed.  But the others: NO ONE knows.
-
-
-        If it's really important for you to know, let's just say the others were born there.
-        Can we move on??
-
-
-        As Dwemthy's Array gets deeper, the challenge becomes more difficult.
-
-
-        &lt;pre&gt;
-         dwary = DwemthysArray[IndustrialRaverMonkey.new,
-                               DwarvenAngel.new,
-                               AssistantViceTentacleAndOmbudsman.new,
-                               TeethDeer.new,
-                               IntrepidDecomposedCyclist.new,
-                               Dragon.new]
-        &lt;/pre&gt;
-
-
-        Fight the Array and the monsters will appear as you go.  Godspeed
-        and may you return with harrowing tales and nary an angel talon piercing
-        through your shoulder.
-
-
-        Start here:
-
-
-        &lt;pre&gt;
-         irb&gt; r % dwary
-        &lt;/pre&gt;
-
-
-        Oh, and none of this &quot;I'm too young to die&quot; business.  I'm sick of that crap.
-        I'm not going to have you insulting our undead young people.  They are our future.
-        After our future is over, that is.
-
-
-        !i/wixl.dwemthy-3.gif(The rabbit has changed us.)!
-
-
-        h3. The Making of Dwemthy's Array
-
-
-        Fast forward to a time when the winds have calmed.  
-        The dragon is vanquished.  The unwashed masses bow.  We love you.
-        We are loyal to you.
-
-
-        But what is this centipede nibbling in your eardrum?  You dig with your finger, but you can't
-        get him out!  Blasted!  It's that infernal Dwemthy's Array again.  *Explain yourself
-        Dwemthy!*
-
-
-        Here, I shall unmask the Array itself for you.
-
-
-        &lt;pre&gt;
-         class DwemthysArray &lt; Array
-           alias _inspect inspect
-           def inspect; &quot;#&lt;#{ self.class }#{ inspect }&gt;&quot;; end
-           def method_missing( meth, *args )
-             answer = first.send( meth, *args )
-             if first.life &lt;= 0
-               shift
-               if empty?
-                 puts &quot;[Whoa.  You decimated Dwemthy's Array!]&quot;
-               else
-                 puts &quot;[Get ready. #{ first.class } has emerged.]&quot;
-               end
-             end
-             answer || 0
-           end
-         end
-        &lt;/pre&gt;
-
-
-        By now, you're probably feeling very familiar with inheritance.  The @DwemthysArray@ class
-        inherits from @Array@ and, thus, behaves just like one.  For being such a mystery, it's
-        alarmingly brief, yeah?
-
-
-        So it's an Array.  Filled with monsters.  But what does this extra code do?
-
-
-        h3. Inspect
-
-
-        The @inspect@ method isn't really a necessary part of Dwemthy's Array.  It's something
-        Dwemthy added as a courtesy to his guests.  (Many call him twisted, many call him 
-        austere, but we'd all be ignorant to go without admiring the footwork he puts in for us.)        
-
-
-        Every object in Ruby has an @inspect@ method.  It is defined in the @Object@ class,
-        so it trickles down through the pedigree to every wee child object just born.
-
-
-        &lt;pre&gt;
-         irb&gt; o = Object.new
-           =&gt; #&lt;Object:0x81d60c0&gt;
-         irb&gt; o.inspect
-           =&gt; &quot;#&lt;Object:0x81d60c0&gt;&quot;
-        &lt;/pre&gt;
-
-
+
+
+        These are the living, breathing monstrosities of Dwemthy's Array.  I don't
+        know how they got there.  No one knows.  Actually, I'm guessing the @IntrepidDecomposedCyclist@
+        rode his ten-speed.  But the others: NO ONE knows.
+
+
+        If it's really important for you to know, let's just say the others were born there.
+        Can we move on??
+
+
+        As Dwemthy's Array gets deeper, the challenge becomes more difficult.
+
+
+        &lt;pre&gt;
+         dwary = DwemthysArray[IndustrialRaverMonkey.new,
+                               DwarvenAngel.new,
+                               AssistantViceTentacleAndOmbudsman.new,
+                               TeethDeer.new,
+                               IntrepidDecomposedCyclist.new,
+                               Dragon.new]
+        &lt;/pre&gt;
+
+
+        Fight the Array and the monsters will appear as you go.  Godspeed
+        and may you return with harrowing tales and nary an angel talon piercing
+        through your shoulder.
+
+
+        Start here:
+
+
+        &lt;pre&gt;
+         irb&gt; r % dwary
+        &lt;/pre&gt;
+
+
+        Oh, and none of this &quot;I'm too young to die&quot; business.  I'm sick of that crap.
+        I'm not going to have you insulting our undead young people.  They are our future.
+        After our future is over, that is.
+
+
+        !i/wixl.dwemthy-3.gif(The rabbit has changed us.)!
+
+
+        h3. The Making of Dwemthy's Array
+
+
+        Fast forward to a time when the winds have calmed.  
+        The dragon is vanquished.  The unwashed masses bow.  We love you.
+        We are loyal to you.
+
+
+        But what is this centipede nibbling in your eardrum?  You dig with your finger, but you can't
+        get him out!  Blasted!  It's that infernal Dwemthy's Array again.  *Explain yourself
+        Dwemthy!*
+
+
+        Here, I shall unmask the Array itself for you.
+
+
+        &lt;pre&gt;
+         class DwemthysArray &lt; Array
+           alias _inspect inspect
+           def inspect; &quot;#&lt;#{ self.class }#{ inspect }&gt;&quot;; end
+           def method_missing( meth, *args )
+             answer = first.send( meth, *args )
+             if first.life &lt;= 0
+               shift
+               if empty?
+                 puts &quot;[Whoa.  You decimated Dwemthy's Array!]&quot;
+               else
+                 puts &quot;[Get ready. #{ first.class } has emerged.]&quot;
+               end
+             end
+             answer || 0
+           end
+         end
+        &lt;/pre&gt;
+
+
+        By now, you're probably feeling very familiar with inheritance.  The @DwemthysArray@ class
+        inherits from @Array@ and, thus, behaves just like one.  For being such a mystery, it's
+        alarmingly brief, yeah?
+
+
+        So it's an Array.  Filled with monsters.  But what does this extra code do?
+
+
+        h3. Inspect
+
+
+        The @inspect@ method isn't really a necessary part of Dwemthy's Array.  It's something
+        Dwemthy added as a courtesy to his guests.  (Many call him twisted, many call him 
+        austere, but we'd all be ignorant to go without admiring the footwork he puts in for us.)        
+
+
+        Every object in Ruby has an @inspect@ method.  It is defined in the @Object@ class,
+        so it trickles down through the pedigree to every wee child object just born.
+
+
+        &lt;pre&gt;
+         irb&gt; o = Object.new
+           =&gt; #&lt;Object:0x81d60c0&gt;
+         irb&gt; o.inspect
+           =&gt; &quot;#&lt;Object:0x81d60c0&gt;&quot;
+        &lt;/pre&gt;
+
+</diff>
      <filename>lang-pt/poignant-70a.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,110 +1,110 @@
-        Have you noticed this?  Whenever we create an object in @irb@, this noisy @#&lt;Object&gt;@
-        verbage stumbles out!  It's a little name badge for the object.  The @inspect@
-        method creates that name badge.  The badge is just a string.
-
-
-        &lt;pre&gt;
-         irb&gt; class Rabbit
-         irb&gt;   attr_accessor :slogan
-         irb&gt;   def initialize s; @slogan = s; end
-         irb&gt;   def inspect; &quot;#&lt;#{ self.class } says '#{ @slogan }'&gt;&quot;; end
-         irb&gt; end
-
-         irb&gt; class FakeRabbit &lt; Rabbit
-         irb&gt; end
-
-         irb&gt; Rabbit.new &quot;i blow'd the drgn's face off!!&quot;
-           =&gt; #&lt;Rabbit says 'i blow'd the drgn's face off!!'&gt;
-         irb&gt; FakeRabbit.new &quot;Thusly and thusly and thusly...&quot;
-           =&gt; #&lt;FakeRabbit says 'Thusly and thusly and thusly...'&gt;
-        &lt;/pre&gt;
-
-        
-        The thing is: @irb@ is talking back.  Every time you run some code in @irb@,
-        the _return value_ from that code is inspected.  How handy.  It's a little
-        conversation between you and @irb@.  And @irb@ is just reiterating what you're
-        saying so you can see it for your self.
-
-
-        You could write your own Ruby prompt very easily:
-
-
-        &lt;pre&gt;
-         loop do
-           print &quot;&gt;&gt; &quot;
-           puts  &quot;=&gt; &quot; + eval( gets ).inspect
-         end
-        &lt;/pre&gt;
-         
-
-        This prompt won't let you write Ruby code longer than a single line.  It's the essence
-        of interactive Ruby, though.  How do you like that?  Two of your recently learned concepts
-        have come together in a most flavorful way.  The @eval@ takes the typed code and runs it.
-        The response from @eval@ is then inspected.
-
-
-        Now, as you are fighting monsters in @irb@, Dwemthy's Array will be inspected and
-        replying with the monsters you have left to fight.
-
-
-        !i/wixl-5.gif(The foxes eat out.)!
-
-
-        h3. Method Missing
-
-
-        Don't you hate it when you yell &quot;Deirdre!&quot; and like ten people answer?  That _never_ happens in
-        Ruby.  If you call the @deirdre@ method, only one @deirdre@ method answers.  You can't have
-        two methods named the same.  If you add a second @deirdre@ method, the first one disappears.
-
-
-        You can, however, have a method which *answers to many names*.
-
-
-        &lt;pre&gt;
-         class NameCaller
-           def method_missing( name, *args )
-             puts &quot;You're calling `&quot; + name + &quot;' and you say:&quot;
-             args.each { |say| puts &quot;  &quot; + say }
-             puts &quot;But no one is there yet.&quot;
-           end
-           def deirdre( *args )
-             puts &quot;Deirdre is right here and you say:&quot;
-             args.each { |say| puts &quot;  &quot; + say }
-             puts &quot;And she loves every second of it.&quot;
-             puts &quot;(I think she thinks you're poetic.)&quot;
-         end
-        &lt;/pre&gt;
-
-
-        When you call the method @deirdre@ above, I'm sure you know what will happen.  Deirdre will
-        love every second of it, you and your dazzling poetry.
-
-
-        But what if you call @simon@?
-
-
-        &lt;pre&gt;
-         irb&gt; NameCaller.new.simon( 'Hello?', 'Hello? Simon?' )
-         You're calling `simon' and you say:
-           Hello?
-           Hello? Simon?
-         But no one is there yet.
-        &lt;/pre&gt;
-        
-
-        Yes, @method_missing@ is like an answering machine, which intercepts your method call.  In Dwemthy's
-        Array we use call forwarding, so that when you attack the Array, it passes that attack on straight to
-        the first monster in the Array.
-
-
-        &lt;pre&gt;
-         def method_missing( meth, *args )
-           answer = first.send( meth, *args )
-           # ... snipped code here ...
-         end
-        &lt;/pre&gt;
-
-
-        See!  See!  That skinny little @method_missing@ passes the buck!
-
+        Have you noticed this?  Whenever we create an object in @irb@, this noisy @#&lt;Object&gt;@
+        verbage stumbles out!  It's a little name badge for the object.  The @inspect@
+        method creates that name badge.  The badge is just a string.
+
+
+        &lt;pre&gt;
+         irb&gt; class Rabbit
+         irb&gt;   attr_accessor :slogan
+         irb&gt;   def initialize s; @slogan = s; end
+         irb&gt;   def inspect; &quot;#&lt;#{ self.class } says '#{ @slogan }'&gt;&quot;; end
+         irb&gt; end
+
+         irb&gt; class FakeRabbit &lt; Rabbit
+         irb&gt; end
+
+         irb&gt; Rabbit.new &quot;i blow'd the drgn's face off!!&quot;
+           =&gt; #&lt;Rabbit says 'i blow'd the drgn's face off!!'&gt;
+         irb&gt; FakeRabbit.new &quot;Thusly and thusly and thusly...&quot;
+           =&gt; #&lt;FakeRabbit says 'Thusly and thusly and thusly...'&gt;
+        &lt;/pre&gt;
+
+        
+        The thing is: @irb@ is talking back.  Every time you run some code in @irb@,
+        the _return value_ from that code is inspected.  How handy.  It's a little
+        conversation between you and @irb@.  And @irb@ is just reiterating what you're
+        saying so you can see it for your self.
+
+
+        You could write your own Ruby prompt very easily:
+
+
+        &lt;pre&gt;
+         loop do
+           print &quot;&gt;&gt; &quot;
+           puts  &quot;=&gt; &quot; + eval( gets ).inspect
+         end
+        &lt;/pre&gt;
+         
+
+        This prompt won't let you write Ruby code longer than a single line.  It's the essence
+        of interactive Ruby, though.  How do you like that?  Two of your recently learned concepts
+        have come together in a most flavorful way.  The @eval@ takes the typed code and runs it.
+        The response from @eval@ is then inspected.
+
+
+        Now, as you are fighting monsters in @irb@, Dwemthy's Array will be inspected and
+        replying with the monsters you have left to fight.
+
+
+        !i/wixl-5.gif(The foxes eat out.)!
+
+
+        h3. Method Missing
+
+
+        Don't you hate it when you yell &quot;Deirdre!&quot; and like ten people answer?  That _never_ happens in
+        Ruby.  If you call the @deirdre@ method, only one @deirdre@ method answers.  You can't have
+        two methods named the same.  If you add a second @deirdre@ method, the first one disappears.
+
+
+        You can, however, have a method which *answers to many names*.
+
+
+        &lt;pre&gt;
+         class NameCaller
+           def method_missing( name, *args )
+             puts &quot;You're calling `&quot; + name + &quot;' and you say:&quot;
+             args.each { |say| puts &quot;  &quot; + say }
+             puts &quot;But no one is there yet.&quot;
+           end
+           def deirdre( *args )
+             puts &quot;Deirdre is right here and you say:&quot;
+             args.each { |say| puts &quot;  &quot; + say }
+             puts &quot;And she loves every second of it.&quot;
+             puts &quot;(I think she thinks you're poetic.)&quot;
+         end
+        &lt;/pre&gt;
+
+
+        When you call the method @deirdre@ above, I'm sure you know what will happen.  Deirdre will
+        love every second of it, you and your dazzling poetry.
+
+
+        But what if you call @simon@?
+
+
+        &lt;pre&gt;
+         irb&gt; NameCaller.new.simon( 'Hello?', 'Hello? Simon?' )
+         You're calling `simon' and you say:
+           Hello?
+           Hello? Simon?
+         But no one is there yet.
+        &lt;/pre&gt;
+        
+
+        Yes, @method_missing@ is like an answering machine, which intercepts your method call.  In Dwemthy's
+        Array we use call forwarding, so that when you attack the Array, it passes that attack on straight to
+        the first monster in the Array.
+
+
+        &lt;pre&gt;
+         def method_missing( meth, *args )
+           answer = first.send( meth, *args )
+           # ... snipped code here ...
+         end
+        &lt;/pre&gt;
+
+
+        See!  See!  That skinny little @method_missing@ passes the buck!
+</diff>
      <filename>lang-pt/poignant-70b.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-    - &quot;Ent&#227;o, Sejamos Claros: O Porco-Espinho Est&#225; Agora Para o Mar&quot;: &gt;
-
-        !i/porcupine-2.gif(O porco-espinho e sua pipa.)!
-
+    - &quot;Ent&#227;o, Sejamos Claros: O Porco-Espinho Est&#225; Agora Para o Mar&quot;: &gt;
+
+        !i/porcupine-2.gif(O porco-espinho e sua pipa.)!
+</diff>
      <filename>lang-pt/poignant-71.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,111 +1,111 @@
-    - Caminhando, Caminhando, Caminhando e Caminhando cada vez mais: &gt;
-
-        A tardinha escureceu ao redor do par de raposas. Elas fizeram seu caminha atrav&#233;s das
-        vielas lotadas de gamb&#225;s cantantes, e ruas onde girafas em casacos esportivos
-        passavam por elas batendo com suas maletas. Elas continuaram caminhando.        
-
-
-        E agora as lojas fechavam desenrolando suas portas de metal.
-        Grilos cantavam das calhas e acotovelavam-se diante da relaxante mudan&#231;a.
-
-
-        !i/wixl-6.gif(Porque tantos ressentimentos?)!
-
-
-        &quot;De qualquer maneira, voc&#234;s devem admitir que ele &#233; um p&#233;ssimo Presidente,&quot; disse Raposa Pequena. _&quot;Por qu&#234;_ o Presidente Marcos tem um coelho como Vice Presidente
-        das Raposas.&quot;
-
-
-        &quot;O Vice Presidente? o coelho com as _sobrancelhas_?&quot;
-
-
-        &quot;N&#227;o, o coelho com os *enormes l&#225;bios de salsicha*,&quot; disse Raposa Pequena.
-
-
-        Mas sua conversa foi abruptamente interrompida por um gato sardento que surgiu do c&#233;u em cima da cal&#231;ada.
-
-
-        !i/wixl.blix-1.gif(Pelo menos eles ainda est&#227;o no livro...)!
-
-
-        O que isto significa?!
-
-
-        !i/wixl-14.gif(O livro vai acabar?)!
-
-
-        Ah, qual &#233;? Isto &#233; interessante. Mais foco.
-
-
-        Eu n&#227;o vou apurrinhar ilustrando esta discuss&#227;o que Blixy teve com as raposas neste momento!
-        &#201; tudo um punhado de _conjectura_*. _Como_ eles podem presumir que sabem o cen&#225;rio do meu drama familiar?
-        Eu amo minha irm&#227;. Por um longo tempo, eu a _adorei_. (Esta &#233; minha irm&#227; Quil.)
-
-
-        Eu admito que houve um dia realmente doloroso a alguns meses atr&#225;s e eu meio que me apavorei. Eu estava
-        deitado na cadeira de piscina no quintal da minha m&#227;e. Eu tinha uma latinha de Dr.Pepper e um peda&#231;o
-        de torta alem&#227; de chocolate. Estava comendo com um garfinho de crian&#231;a. Todo o resto estava na lava-lou&#231;a,
-        isto era tudo que eles tinham. Tr&#234;s dentes.
-
-
-        Minha m&#227;e come&#231;ou a falar sobre Quil. Tudo sobre quanto dinheiro ela estava esbanjando em cal&#231;as e bolsas.
-        Uma bolsa de quinhentos d&#243;lares. Ent&#227;o ela disse, &quot;Ela est&#225; perdendo isto.
-        Ela parecia totalmente dopada no telefone.&quot; (Ela cismou com isto, Quil estava fumando maconha
-        e gostando.)
-
-
-        Ent&#227;o passei a notar o qu&#227;o observadora minha m&#227;e podia ser. Por isto que, quando ela disse, &quot;Na verdade acho que ela est&#225;
-        na coca&#237;na,&quot; Eu _f&#237;sicamente_ levantei e arremessei meu refrigerante do outro lado do quintal.
-
-
-        Ele foi parar navegando entre os troncos em algum lugar. N&#243;s ficamos conversando por um tempo, estava escuro quando a latinha v&#244;ou.
-        Eu marchei um pouco. En&#227;o gritei a plenos pulm&#245;es.
-
-
-        Meu tio Mike estava parado com a porta de vidro aberta, me encarando. Ele disse algo totalmente
-        nervoso como, &quot;Ah, ok. Bem, eu vou--&quot; E o ch&#225; no seu copo estava balan&#231;ando pra frente e pra tr&#225;s, derramando
-        tudo. Ele desapareceu. Ele n&#227;o &#233; muito bom em falar coisas para as pessoas. Ele &#233; mais um assoviador. E ressonante.
-
-
-        !i/wixl.blix-2.gif(Moving along.)!
-
-
-        Ent&#227;o, sendo completamente honesto, sim, eu fiquei um pouco bravo. Eu fiquei bravo. Voc&#234; sabe. Eu lidei com isto.
-        Quil me liga regularmente. Por alguma raz&#227;o est&#250;pida, raramente ligo para ela.
-
-
-        E mais, ela n&#227;o acabou se matando. Ent&#227;o isto n&#227;o &#233; assunto. Quem pode saber se isto era real.
-        Ela apenas tomou muita vodka. E ela &#233; pequena. Ent&#227;o foi apenas assustador ver a Quil embebedar-se daquele jeito.
-        Quer dizer for&#231;ar-se a isto.
- 
-
-        Mas por qu&#234; falar sobre isto? Isto far&#225; apenas ela sentir que estou desapontado. Ou que sou um idiota.
-
-
-        Bem, sa&#237; um pouco da linha. Onde eu estava? Blix est&#225; basicamente ajudando as raposas, colocando-as na
-        trilha do seu caminh&#227;o. Sim voltando aquilo tudo.
-
-
-        !i/wixl-3.gif(Sapos que guardam acentos no &#244;nibus.)!
-
-
-        &quot;N&#227;o podemos nos apertar para ir neste &#244;nibus&quot; disse a raposa menor.
-
-
-        &quot;Pessoal, subam,&quot; disse Blix. &quot;O que est&#225; impedindo? Ah, os sapos. Sim, apenas se apertem.&quot;
-        Blixy empurrou por tr&#225;s.
-
-
-        &quot;Ei,&quot; disse a Raposa Alta. &quot;Estou comprimida neste pequeno degrau! Algu&#233;m se mexa!&quot;
-
-
-        &quot;Voc&#234; conseguiu-- jovem raposa??&quot; disse o gato.
-
-
-        &quot;N&#227;o,&quot; disse Raposa Pequena, &quot;n&#227;o pode ver? O motorista continua balan&#231;ando a cabe&#231;a e isto _realmente_
-        me deixa nervoso. Eu n&#227;o acho que ele nos queira.&quot;
-
-
-        &quot;Vai,&quot; disse Blix. Desceu do seu degrau e andou pelo &#244;nibus, espreitando atrav&#233;s das
-        janelas de acr&#237;lico. &quot;Bem, eu n&#227;o sei pessoal. Eu n&#227;o sei. Eu acho que tem muitos sapos.&quot; Ele bateu
-        na janela. &quot;Ei! Mexam-se!&quot;
+    - Caminhando, Caminhando, Caminhando e Caminhando cada vez mais: &gt;
+
+        A tardinha escureceu ao redor do par de raposas. Elas fizeram seu caminha atrav&#233;s das
+        vielas lotadas de gamb&#225;s cantantes, e ruas onde girafas em casacos esportivos
+        passavam por elas batendo com suas maletas. Elas continuaram caminhando.        
+
+
+        E agora as lojas fechavam desenrolando suas portas de metal.
+        Grilos cantavam das calhas e acotovelavam-se diante da relaxante mudan&#231;a.
+
+
+        !i/wixl-6.gif(Porque tantos ressentimentos?)!
+
+
+        &quot;De qualquer maneira, voc&#234;s devem admitir que ele &#233; um p&#233;ssimo Presidente,&quot; disse Raposa Pequena. _&quot;Por qu&#234;_ o Presidente Marcos tem um coelho como Vice Presidente
+        das Raposas.&quot;
+
+
+        &quot;O Vice Presidente? o coelho com as _sobrancelhas_?&quot;
+
+
+        &quot;N&#227;o, o coelho com os *enormes l&#225;bios de salsicha*,&quot; disse Raposa Pequena.
+
+
+        Mas sua conversa foi abruptamente interrompida por um gato sardento que surgiu do c&#233;u em cima da cal&#231;ada.
+
+
+        !i/wixl.blix-1.gif(Pelo menos eles ainda est&#227;o no livro...)!
+
+
+        O que isto significa?!
+
+
+        !i/wixl-14.gif(O livro vai acabar?)!
+
+
+        Ah, qual &#233;? Isto &#233; interessante. Mais foco.
+
+
+        Eu n&#227;o vou apurrinhar ilustrando esta discuss&#227;o que Blixy teve com as raposas neste momento!
+        &#201; tudo um punhado de _conjectura_*. _Como_ eles podem presumir que sabem o cen&#225;rio do meu drama familiar?
+        Eu amo minha irm&#227;. Por um longo tempo, eu a _adorei_. (Esta &#233; minha irm&#227; Quil.)
+
+
+        Eu admito que houve um dia realmente doloroso a alguns meses atr&#225;s e eu meio que me apavorei. Eu estava
+        deitado na cadeira de piscina no quintal da minha m&#227;e. Eu tinha uma latinha de Dr.Pepper e um peda&#231;o
+        de torta alem&#227; de chocolate. Estava comendo com um garfinho de crian&#231;a. Todo o resto estava na lava-lou&#231;a,
+        isto era tudo que eles tinham. Tr&#234;s dentes.
+
+
+        Minha m&#227;e come&#231;ou a falar sobre Quil. Tudo sobre quanto dinheiro ela estava esbanjando em cal&#231;as e bolsas.
+        Uma bolsa de quinhentos d&#243;lares. Ent&#227;o ela disse, &quot;Ela est&#225; perdendo isto.
+        Ela parecia totalmente dopada no telefone.&quot; (Ela cismou com isto, Quil estava fumando maconha
+        e gostando.)
+
+
+        Ent&#227;o passei a notar o qu&#227;o observadora minha m&#227;e podia ser. Por isto que, quando ela disse, &quot;Na verdade acho que ela est&#225;
+        na coca&#237;na,&quot; Eu _f&#237;sicamente_ levantei e arremessei meu refrigerante do outro lado do quintal.
+
+
+        Ele foi parar navegando entre os troncos em algum lugar. N&#243;s ficamos conversando por um tempo, estava escuro quando a latinha v&#244;ou.
+        Eu marchei um pouco. En&#227;o gritei a plenos pulm&#245;es.
+
+
+        Meu tio Mike estava parado com a porta de vidro aberta, me encarando. Ele disse algo totalmente
+        nervoso como, &quot;Ah, ok. Bem, eu vou--&quot; E o ch&#225; no seu copo estava balan&#231;ando pra frente e pra tr&#225;s, derramando
+        tudo. Ele desapareceu. Ele n&#227;o &#233; muito bom em falar coisas para as pessoas. Ele &#233; mais um assoviador. E ressonante.
+
+
+        !i/wixl.blix-2.gif(Moving along.)!
+
+
+        Ent&#227;o, sendo completamente honesto, sim, eu fiquei um pouco bravo. Eu fiquei bravo. Voc&#234; sabe. Eu lidei com isto.
+        Quil me liga regularmente. Por alguma raz&#227;o est&#250;pida, raramente ligo para ela.
+
+
+        E mais, ela n&#227;o acabou se matando. Ent&#227;o isto n&#227;o &#233; assunto. Quem pode saber se isto era real.
+        Ela apenas tomou muita vodka. E ela &#233; pequena. Ent&#227;o foi apenas assustador ver a Quil embebedar-se daquele jeito.
+        Quer dizer for&#231;ar-se a isto.
+ 
+
+        Mas por qu&#234; falar sobre isto? Isto far&#225; apenas ela sentir que estou desapontado. Ou que sou um idiota.
+
+
+        Bem, sa&#237; um pouco da linha. Onde eu estava? Blix est&#225; basicamente ajudando as raposas, colocando-as na
+        trilha do seu caminh&#227;o. Sim voltando aquilo tudo.
+
+
+        !i/wixl-3.gif(Sapos que guardam acentos no &#244;nibus.)!
+
+
+        &quot;N&#227;o podemos nos apertar para ir neste &#244;nibus&quot; disse a raposa menor.
+
+
+        &quot;Pessoal, subam,&quot; disse Blix. &quot;O que est&#225; impedindo? Ah, os sapos. Sim, apenas se apertem.&quot;
+        Blixy empurrou por tr&#225;s.
+
+
+        &quot;Ei,&quot; disse a Raposa Alta. &quot;Estou comprimida neste pequeno degrau! Algu&#233;m se mexa!&quot;
+
+
+        &quot;Voc&#234; conseguiu-- jovem raposa??&quot; disse o gato.
+
+
+        &quot;N&#227;o,&quot; disse Raposa Pequena, &quot;n&#227;o pode ver? O motorista continua balan&#231;ando a cabe&#231;a e isto _realmente_
+        me deixa nervoso. Eu n&#227;o acho que ele nos queira.&quot;
+
+
+        &quot;Vai,&quot; disse Blix. Desceu do seu degrau e andou pelo &#244;nibus, espreitando atrav&#233;s das
+        janelas de acr&#237;lico. &quot;Bem, eu n&#227;o sei pessoal. Eu n&#227;o sei. Eu acho que tem muitos sapos.&quot; Ele bateu
+        na janela. &quot;Ei! Mexam-se!&quot;</diff>
      <filename>lang-pt/poignant-72.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,111 +1,111 @@
-
-
-        E esta &#233; a realidade de andar no tr&#226;nsito intermunicipal em Wixl. &#201; terrivelmente competitivo. O &#244;nibus
-        da manh&#227; &#233; t&#227;o cheio que a maioria dos animais de colarinho branco conseguem sapos para guardar seus lugares durante o per&#237;odo da noite.
-        Por qualquer raz&#227;o, isto funciona. Se tornou mercadoria do fluxo de trabalho de sua economia.
-
-
-        Se voc&#234; consegue reunir um pouco de imagina&#231;&#227;o, pode ver um *sinal de percentagem* como um rosto inclinado de um sapo.
-        Visualisou a figura em sua cabe&#231;a? Agora deixe-me mostrar os sapos que acampam em strings.
-
-
-        &lt;pre&gt;
-         # O formato %s serve para posicionar strings cheias.
-         irb&gt; &quot;Assentos s&#227;o ocupados por %s e %s.&quot; % ['um sapo', 'um sapo com dentes']
-           =&gt; &quot;Assentos s&#227;o ocupados por um sapo e um sapo com dentes.&quot;
-
-         # O %d formato serve para colocar numeros, enquanto o formato %f serve para
-         # floats (n&#250;meros decimais).
-         irb&gt; sapos = [44, 162.30]
-         irb&gt; imediatamente = &quot;Os sapos preencheram %d assentos e pagaram %f cristais azuis.&quot;
-         irb&gt; imediatamente % sapos
-           =&gt; &quot;Os sapos preencheram 44 assentos e pagaram 162.30 cristais azuis.&quot;
-
-         # A formata&#231;&#227;o &#233; flexivel com tipos, voc&#234; pode transmitir em strings
-         # e format&#225;-los como n&#250;meros.
-         irb&gt; sapos = ['44', '162.30']
-         irb&gt; imediatamente % sapos
-           =&gt; &quot;Os sapos preencheram 44 assentos e pagaram 162.30 cristais azuis.&quot;
-        &lt;/pre&gt;
-
-
-        O que voc&#234; est&#225; vendo acima usa o m&#233;todo @%@ nas classes @String@.
-        Este m&#233;todo pega *um string* e *um array* e mastiga-os para criar
-        uma nova string.  Os itens da lista s&#227;o puxados (em ordem) e
-        colocados em seus lugares reservados. &#201; o come&#231;o de um dia de neg&#243;cios
-        e os sapos j&#225; fizeram seu trabalho.
-
-
-        &lt;pre&gt;
-         # Observe, aqui est&#225; o m&#233;todo String#% chamado como os outros m&#233;todos.
-         irb&gt; &quot;Mexa-se por favor, %s.&quot;.%( 'sapo desdentado' )
-           =&gt; &quot;Mexa-se por favor, sapo desdentado&quot;
-
-         # Agora vamos chamar da maneira mais bonita, com o sinal de porcentagem
-         # entre o string e o array.
-         irb&gt; &quot;Aqui est&#225; sua frase 1098 para o ano, %s.&quot; % ['sapo com dentes']
-           =&gt; &quot;Aqui est&#225; sua frase 1098 para o ano, sapo com dentes.&quot;
-        &lt;/pre&gt;
-
-
-        Isto tamb&#233;m est&#225; dispon&#237;vel como o m&#233;todo @Kernel::format@ ou o m&#233;todo @Kernel::sprintf@
-        (Na linguagem C, tem um m&#233;todo @sprintf@ que opera assim.)
-
-
-        &lt;pre&gt;
-         irb&gt; format &quot;Sapos s&#227;o empilhados %d de profundidade e viajam a %d mph.&quot;, [5, 56]
-           =&gt; &quot;Sapos s&#227;o empilhados 5 de profundidade e viajam a 56 mph.&quot;
-        &lt;/pre&gt;
-
-
-        Para a maioria das partes, voc&#234; precisar&#225; somente @%s@ (strings), @%d@ (n&#250;meros inteiros)
-        ou @%f@ (n&#250;meros float) especificadores de formato.  O s&#237;mbolo @%p@ ir&#225; 
-        executar @inspect@ num objeto.
-
-
-        Sim, ent&#227;o, o formato sapo &#233; realmente &#250;til para construir strings que s&#227;o
-        montados por diferentes tipos de dados.  Voc&#234; pode aprender todos os v&#225;rios tipos
-        de especificadores de formatos lendo a pagina @ri sprintf@.  S&#243; te darei
-        alguns r&#225;pidos indicadores.
-
-
-        Vamos dizer que voc&#234; tem um array mas quer que os itens apare&#231;am em uma
-        *ordem diferente* na string.  Numa situa&#231;&#227;o como esta, voc&#234; pode identificar
-        itens espec&#237;ficos (colocando @1$@ para o primeiro item, @2$@ para o segundo,
-        e assim por diante) depois do sinal de porcentagem.
-
-
-        &lt;pre&gt;
-         irb&gt; &quot;Este &#244;nibus tem mais %1$d paradas antes das %2$d horas.  Isto s&#227;o mais %1$d paradas.&quot; % [16, 8]
-           =&gt; &quot;Este &#244;nibus tem mais 16 paradas antes das 8 horas.  Isto s&#227;o mais 16 paradas.&quot;
-        &lt;/pre&gt;
-
-
-        A segunda dica que tenho para voc&#234; &#233; que pode destinar um certo numero de caracteres
-        para cada item, uma largura. E se um item &#233; menor que a largura, espa&#231;os extras
-        ser&#227;o usados antes do item.  Para preench&#234;-lo.
-        Se a largura &#233; um n&#250;mero negativo, o item ser&#225; for&#231;ado para esquerda e o
-        preenchimento vir&#225; depois dele.
-
-
-        &lt;pre&gt;
-         # D&#234; a um item 30 caracters de largura
-         irb&gt; &quot;Na traseira do &#244;nibus: %30s.&quot; % ['sapos']
-           =&gt; &quot;Na traseira do &#244;nibus:                          sapos.&quot;
-
-         # D&#234; a um item justificado a esquerda 30 caracteres de largura
-         irb&gt; &quot;Na parte da frente do &#244;nibus: %-30s.&quot; % ['sapos']
-           =&gt; &quot;Na parte da frente do &#244;nibus: sapos                         .&quot;
-        &lt;/pre&gt;
-
-
-        Raposa Pequena continuou olhando para o motorista do &#244;nibus.  Lembre-se, ele n&#227;o entraria no &#244;nibus!
-
-
-        &quot;Qual o problema?&quot; disse a Raposa Alta.  &quot;Voc&#234; n&#227;o pode entrar e ficamos no corredor?&quot;
-
-
-        &quot;Voc&#234; realmente quer entrar neste &#244;nibus?  Aquele motorista n&#227;o tem m&#227;os,&quot; disse Raposa Pequena, falando perto
-        de maneira a aquietar Raposa Alta, &quot;e tudo o que ele tem, ao inv&#233;s de m&#227;os, s&#227;o copos com canudos.&quot;
-
-
+
+
+        E esta &#233; a realidade de andar no tr&#226;nsito intermunicipal em Wixl. &#201; terrivelmente competitivo. O &#244;nibus
+        da manh&#227; &#233; t&#227;o cheio que a maioria dos animais de colarinho branco conseguem sapos para guardar seus lugares durante o per&#237;odo da noite.
+        Por qualquer raz&#227;o, isto funciona. Se tornou mercadoria do fluxo de trabalho de sua economia.
+
+
+        Se voc&#234; consegue reunir um pouco de imagina&#231;&#227;o, pode ver um *sinal de percentagem* como um rosto inclinado de um sapo.
+        Visualisou a figura em sua cabe&#231;a? Agora deixe-me mostrar os sapos que acampam em strings.
+
+
+        &lt;pre&gt;
+         # O formato %s serve para posicionar strings cheias.
+         irb&gt; &quot;Assentos s&#227;o ocupados por %s e %s.&quot; % ['um sapo', 'um sapo com dentes']
+           =&gt; &quot;Assentos s&#227;o ocupados por um sapo e um sapo com dentes.&quot;
+
+         # O %d formato serve para colocar numeros, enquanto o formato %f serve para
+         # floats (n&#250;meros decimais).
+         irb&gt; sapos = [44, 162.30]
+         irb&gt; imediatamente = &quot;Os sapos preencheram %d assentos e pagaram %f cristais azuis.&quot;
+         irb&gt; imediatamente % sapos
+           =&gt; &quot;Os sapos preencheram 44 assentos e pagaram 162.30 cristais azuis.&quot;
+
+         # A formata&#231;&#227;o &#233; flexivel com tipos, voc&#234; pode transmitir em strings
+         # e format&#225;-los como n&#250;meros.
+         irb&gt; sapos = ['44', '162.30']
+         irb&gt; imediatamente % sapos
+           =&gt; &quot;Os sapos preencheram 44 assentos e pagaram 162.30 cristais azuis.&quot;
+        &lt;/pre&gt;
+
+
+        O que voc&#234; est&#225; vendo acima usa o m&#233;todo @%@ nas classes @String@.
+        Este m&#233;todo pega *um string* e *um array* e mastiga-os para criar
+        uma nova string.  Os itens da lista s&#227;o puxados (em ordem) e
+        colocados em seus lugares reservados. &#201; o come&#231;o de um dia de neg&#243;cios
+        e os sapos j&#225; fizeram seu trabalho.
+
+
+        &lt;pre&gt;
+         # Observe, aqui est&#225; o m&#233;todo String#% chamado como os outros m&#233;todos.
+         irb&gt; &quot;Mexa-se por favor, %s.&quot;.%( 'sapo desdentado' )
+           =&gt; &quot;Mexa-se por favor, sapo desdentado&quot;
+
+         # Agora vamos chamar da maneira mais bonita, com o sinal de porcentagem
+         # entre o string e o array.
+         irb&gt; &quot;Aqui est&#225; sua frase 1098 para o ano, %s.&quot; % ['sapo com dentes']
+           =&gt; &quot;Aqui est&#225; sua frase 1098 para o ano, sapo com dentes.&quot;
+        &lt;/pre&gt;
+
+
+        Isto tamb&#233;m est&#225; dispon&#237;vel como o m&#233;todo @Kernel::format@ ou o m&#233;todo @Kernel::sprintf@
+        (Na linguagem C, tem um m&#233;todo @sprintf@ que opera assim.)
+
+
+        &lt;pre&gt;
+         irb&gt; format &quot;Sapos s&#227;o empilhados %d de profundidade e viajam a %d mph.&quot;, [5, 56]
+           =&gt; &quot;Sapos s&#227;o empilhados 5 de profundidade e viajam a 56 mph.&quot;
+        &lt;/pre&gt;
+
+
+        Para a maioria das partes, voc&#234; precisar&#225; somente @%s@ (strings), @%d@ (n&#250;meros inteiros)
+        ou @%f@ (n&#250;meros float) especificadores de formato.  O s&#237;mbolo @%p@ ir&#225; 
+        executar @inspect@ num objeto.
+
+
+        Sim, ent&#227;o, o formato sapo &#233; realmente &#250;til para construir strings que s&#227;o
+        montados por diferentes tipos de dados.  Voc&#234; pode aprender todos os v&#225;rios tipos
+        de especificadores de formatos lendo a pagina @ri sprintf@.  S&#243; te darei
+        alguns r&#225;pidos indicadores.
+
+
+        Vamos dizer que voc&#234; tem um array mas quer que os itens apare&#231;am em uma
+        *ordem diferente* na string.  Numa situa&#231;&#227;o como esta, voc&#234; pode identificar
+        itens espec&#237;ficos (colocando @1$@ para o primeiro item, @2$@ para o segundo,
+        e assim por diante) depois do sinal de porcentagem.
+
+
+        &lt;pre&gt;
+         irb&gt; &quot;Este &#244;nibus tem mais %1$d paradas antes das %2$d horas.  Isto s&#227;o mais %1$d paradas.&quot; % [16, 8]
+           =&gt; &quot;Este &#244;nibus tem mais 16 paradas antes das 8 horas.  Isto s&#227;o mais 16 paradas.&quot;
+        &lt;/pre&gt;
+
+
+        A segunda dica que tenho para voc&#234; &#233; que pode destinar um certo numero de caracteres
+        para cada item, uma largura. E se um item &#233; menor que a largura, espa&#231;os extras
+        ser&#227;o usados antes do item.  Para preench&#234;-lo.
+        Se a largura &#233; um n&#250;mero negativo, o item ser&#225; for&#231;ado para esquerda e o
+        preenchimento vir&#225; depois dele.
+
+
+        &lt;pre&gt;
+         # D&#234; a um item 30 caracters de largura
+         irb&gt; &quot;Na traseira do &#244;nibus: %30s.&quot; % ['sapos']
+           =&gt; &quot;Na traseira do &#244;nibus:                          sapos.&quot;
+
+         # D&#234; a um item justificado a esquerda 30 caracteres de largura
+         irb&gt; &quot;Na parte da frente do &#244;nibus: %-30s.&quot; % ['sapos']
+           =&gt; &quot;Na parte da frente do &#244;nibus: sapos                         .&quot;
+        &lt;/pre&gt;
+
+
+        Raposa Pequena continuou olhando para o motorista do &#244;nibus.  Lembre-se, ele n&#227;o entraria no &#244;nibus!
+
+
+        &quot;Qual o problema?&quot; disse a Raposa Alta.  &quot;Voc&#234; n&#227;o pode entrar e ficamos no corredor?&quot;
+
+
+        &quot;Voc&#234; realmente quer entrar neste &#244;nibus?  Aquele motorista n&#227;o tem m&#227;os,&quot; disse Raposa Pequena, falando perto
+        de maneira a aquietar Raposa Alta, &quot;e tudo o que ele tem, ao inv&#233;s de m&#227;os, s&#227;o copos com canudos.&quot;
+
+</diff>
      <filename>lang-pt/poignant-72a.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,52 +1,52 @@
-    - !^sidebar
-      More From The Chilling Ongoing Preview of The Scarf Eaters: &gt;
-
-        (_from Chapter XII: Thank Heaven for Little Men_.)
-
-
-        &quot;Close the door,&quot; Spencer repeated, but Lara's hand trembled and she fumbled sloppily at the latch.
-        Her dad hadn't taught her to close doors like this one.
-
-
-        &quot;Yes, it's an unusual door,&quot; said Brent.  He walked over and closed the door for her.
-        Then, he held her hand and looked into her eyes.  His eyes lit up like huge matchsticks
-        that would be too huge to be practical.  &quot;It's an unusual handle, which ensures that
-        those who don't eat scarves stay out.&quot;
-
-
-        &quot;Sit down, everyone,&quot; Spencer demanded, as he bounded across the room and took command.
-        &quot;I command this organization,&quot; he stated.  &quot;The secret organization of The Scarf Eaters!&quot;
-
-
-        The torches encircling the room blazed like invincibly huge matches and the handful of
-        teenagers sat.  Except for Spencer who stood high and mighty, drawing all the oxygen
-        in the entire room into his nostrils before speaking.
-
-
-        &quot;One of us,&quot; he said, dramatically and invincibly, &quot;is missing!&quot;
-
-
-        The entire room gasped, which also used oxygen.  The room was abuzz.  &quot;Who?&quot;  &quot;How?&quot;
-        &quot;Who was it?&quot;  Nobody knew.  Except for Spencer, who lept across the room and took charge.
-
-
-        &quot;Our dear friend Steve Bridell has been stolen from us,&quot; announced Spencer in a deafeningly
-        loud voice, as if thousands of giant matchsticks were struck against a brittle surface in
-        unison amidst a pile of oxygen.  &quot;Steve Bridell.  Do any of you know Steve Bridell?&quot;
-
-
-        The hall was silent.
-
-
-        Spencer continued.  &quot;Steve Bridell was an incredible resource and you all knew him
-        and loved him.  He carved this enormous wooden man we use as our podium.&quot;  Spencer pointed.
-        &quot;He also made the set of wooden cymbals that are back in our instrument closet right now.&quot;
-
-
-        Some of the audience stood.
-
-
-        &quot;Wait,&quot; instructed Spencer.  &quot;Don't go back there.   I've already checked.  The cymbals are
-        gone!&quot;
-
-
+    - !^sidebar
+      More From The Chilling Ongoing Preview of The Scarf Eaters: &gt;
+
+        (_from Chapter XII: Thank Heaven for Little Men_.)
+
+
+        &quot;Close the door,&quot; Spencer repeated, but Lara's hand trembled and she fumbled sloppily at the latch.
+        Her dad hadn't taught her to close doors like this one.
+
+
+        &quot;Yes, it's an unusual door,&quot; said Brent.  He walked over and closed the door for her.
+        Then, he held her hand and looked into her eyes.  His eyes lit up like huge matchsticks
+        that would be too huge to be practical.  &quot;It's an unusual handle, which ensures that
+        those who don't eat scarves stay out.&quot;
+
+
+        &quot;Sit down, everyone,&quot; Spencer demanded, as he bounded across the room and took command.
+        &quot;I command this organization,&quot; he stated.  &quot;The secret organization of The Scarf Eaters!&quot;
+
+
+        The torches encircling the room blazed like invincibly huge matches and the handful of
+        teenagers sat.  Except for Spencer who stood high and mighty, drawing all the oxygen
+        in the entire room into his nostrils before speaking.
+
+
+        &quot;One of us,&quot; he said, dramatically and invincibly, &quot;is missing!&quot;
+
+
+        The entire room gasped, which also used oxygen.  The room was abuzz.  &quot;Who?&quot;  &quot;How?&quot;
+        &quot;Who was it?&quot;  Nobody knew.  Except for Spencer, who lept across the room and took charge.
+
+
+        &quot;Our dear friend Steve Bridell has been stolen from us,&quot; announced Spencer in a deafeningly
+        loud voice, as if thousands of giant matchsticks were struck against a brittle surface in
+        unison amidst a pile of oxygen.  &quot;Steve Bridell.  Do any of you know Steve Bridell?&quot;
+
+
+        The hall was silent.
+
+
+        Spencer continued.  &quot;Steve Bridell was an incredible resource and you all knew him
+        and loved him.  He carved this enormous wooden man we use as our podium.&quot;  Spencer pointed.
+        &quot;He also made the set of wooden cymbals that are back in our instrument closet right now.&quot;
+
+
+        Some of the audience stood.
+
+
+        &quot;Wait,&quot; instructed Spencer.  &quot;Don't go back there.   I've already checked.  The cymbals are
+        gone!&quot;
+
+</diff>
      <filename>lang-pt/poignant-73.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,110 +1,110 @@
-    - &gt;
-        &quot;So what?  You don't think animals with tentacles can drive?&quot;
-
-
-        &quot;Well, not only is he going to flub up the steering wheel but he has all these
-        legs all over the foot pedals.  This is not smart.  Let's get another bus.  Come on.&quot;
-        
-        
-        &quot;You know, he's probably been driving like that all day.  Is he really going to
-        start crashing at this point in his career?&quot;
-        
-
-        &quot;Buses do crash,&quot; said Fox Small.  &quot;Some do.  This smells crashworthy.&quot;
-
-
-        &quot;Sheer doo-doo!&quot;  And Fox Tall yelled to the driver, &quot;Hey, cabby, how long
-        have you been driving this bus for?&quot;
-
-
-        The bus driver peered over darkly under his cap and started to turn toward them, but his
-        tentacles were stuck to the wheel.  He jerked swiftly at his forelegs and, failing their
-        release, he turned to the wheel and focused his energies on milking his glands for some
-        slicker secretions.  Bubbles of mucus oozed.
-
-
-        &quot;Let's get outta here,&quot; said Fox Tall and the two ran off into the street, slamming right
-        into the cat Blix.
-
-
-        &quot;Alright, well, the bus is full,&quot; said Blix.  &quot;I don't know why the driver stopped if he knew the
-        bus was crammed with hoppers.&quot;
-
-
-        &quot;We're thinking he was about to crash into us,&quot; said Fox Tall, &quot;and he opened the
-        door to make it look like a planned route stop.&quot;
-
-
-        &quot;Keep in mind, Blix, we hadn't really discussed that possibility out loud, so I haven't had a chance
-        to formally agree,&quot; said Fox Small.  &quot;Nevertheless, it sounds rational to me.&quot;
-
-
-        &quot;I'm thinking all the buses are going to be full like this.&quot;  Blix bit his lip,
-        thinking and flicking his eyes about.  &quot;Let's just--&quot;  He pointed down the circuitry
-        of apartment buildings that wound to the south.  &quot;But maybe--&quot;  He looked up and surveyed the stars,
-        scratching his head and counting the constellations with very small poking motions
-        from the tip of his finger.
-
-
-        &quot;Are you getting our bearings from the stars and planets?&quot; asked Fox Small.
-
-
-        Blix didn't speak, he ducked off to the north through a poorly laid avenue
-        back behind the paint store.
-        But before we follow them down that service road, Smotchkkiss, I have one more
-        frog for you, perched on a long lilypad that stretches out to hold anything at all.
-
-
-        &lt;pre&gt;
-         irb&gt; cat = &quot;Blix&quot;
-         irb&gt; puts &quot;Does #{ cat } see what's up?  Is #{ cat } aware??&quot;
-           =&gt; &quot;Does Blix see what's up?  Is Blix aware??&quot;
-        &lt;/pre&gt;
-
-
-        The little frogs from earlier (@%s@ or @%d@) were only placeholders for
-        single strings.  Saving places in the string.
-
-
-        The lilypads above start with a flower bud, the *octothorpe*.  You've also
-        seen it as a pound sign on telephones.  After the flower bud, two leaves
-        form the edges of the lilypad.  The leaves are *curly braces*, also seen many
-        times before as the _crab pincers_ for a code block.
-
-
-        bq. An empty lilypad @&quot;#{}&quot;@ becomes an empty string @&quot;&quot;@.
-
-
-        When the lilypad is found in a *double-quoted* string, Ruby runs any code found in between
-        the two leaves of the lilypad.  The lilypad is lifted out and the result of the code is placed there in
-        the string.  This lilypad swap is called _string interpolation_.
-
-
-        &lt;pre&gt;
-         irb&gt; fellows = ['Blix', 'Fox Tall', 'Fox Small']
-         irb&gt; puts &quot;Let us follow #{ fellows.join ' and ' } on their journey.&quot;
-           =&gt; &quot;Let us follow Blix and Fox Tall and Fox Small on their journey.&quot;
-        &lt;/pre&gt;
-
-
-        The lilypad is very durable and can hold any kind of code inside.  Above
-        we are using @Array#join@, but you can do anything you like inside.  Call
-        object methods, conditional @if@ or @case@ statements, even define classes.
-
-
-        &lt;pre&gt;
-         irb&gt; blix_went = :north
-         irb&gt; puts &quot;Blix didn't speak, he ducked off to the #{ blix_went } through #{
-                     if blix_went == :north
-                       'a poorly laid avenue behind the paint store'
-                     elsif blix_went == :south
-                       'the circuitry of apartment buildings'
-                     else
-                       '... well, who knows where he went.'
-                     end }.  But before we follow them...&quot;
-         =&gt; &quot;Blix didn't speak, he ducked off to the north through a poorly laid avenue
-             behind the paint store.  But before we follow them...&quot;
-        &lt;/pre&gt;
-
-
-
+    - &gt;
+        &quot;So what?  You don't think animals with tentacles can drive?&quot;
+
+
+        &quot;Well, not only is he going to flub up the steering wheel but he has all these
+        legs all over the foot pedals.  This is not smart.  Let's get another bus.  Come on.&quot;
+        
+        
+        &quot;You know, he's probably been driving like that all day.  Is he really going to
+        start crashing at this point in his career?&quot;
+        
+
+        &quot;Buses do crash,&quot; said Fox Small.  &quot;Some do.  This smells crashworthy.&quot;
+
+
+        &quot;Sheer doo-doo!&quot;  And Fox Tall yelled to the driver, &quot;Hey, cabby, how long
+        have you been driving this bus for?&quot;
+
+
+        The bus driver peered over darkly under his cap and started to turn toward them, but his
+        tentacles were stuck to the wheel.  He jerked swiftly at his forelegs and, failing their
+        release, he turned to the wheel and focused his energies on milking his glands for some
+        slicker secretions.  Bubbles of mucus oozed.
+
+
+        &quot;Let's get outta here,&quot; said Fox Tall and the two ran off into the street, slamming right
+        into the cat Blix.
+
+
+        &quot;Alright, well, the bus is full,&quot; said Blix.  &quot;I don't know why the driver stopped if he knew the
+        bus was crammed with hoppers.&quot;
+
+
+        &quot;We're thinking he was about to crash into us,&quot; said Fox Tall, &quot;and he opened the
+        door to make it look like a planned route stop.&quot;
+
+
+        &quot;Keep in mind, Blix, we hadn't really discussed that possibility out loud, so I haven't had a chance
+        to formally agree,&quot; said Fox Small.  &quot;Nevertheless, it sounds rational to me.&quot;
+
+
+        &quot;I'm thinking all the buses are going to be full like this.&quot;  Blix bit his lip,
+        thinking and flicking his eyes about.  &quot;Let's just--&quot;  He pointed down the circuitry
+        of apartment buildings that wound to the south.  &quot;But maybe--&quot;  He looked up and surveyed the stars,
+        scratching his head and counting the constellations with very small poking motions
+        from the tip of his finger.
+
+
+        &quot;Are you getting our bearings from the stars and planets?&quot; asked Fox Small.
+
+
+        Blix didn't speak, he ducked off to the north through a poorly laid avenue
+        back behind the paint store.
+        But before we follow them down that service road, Smotchkkiss, I have one more
+        frog for you, perched on a long lilypad that stretches out to hold anything at all.
+
+
+        &lt;pre&gt;
+         irb&gt; cat = &quot;Blix&quot;
+         irb&gt; puts &quot;Does #{ cat } see what's up?  Is #{ cat } aware??&quot;
+           =&gt; &quot;Does Blix see what's up?  Is Blix aware??&quot;
+        &lt;/pre&gt;
+
+
+        The little frogs from earlier (@%s@ or @%d@) were only placeholders for
+        single strings.  Saving places in the string.
+
+
+        The lilypads above start with a flower bud, the *octothorpe*.  You've also
+        seen it as a pound sign on telephones.  After the flower bud, two leaves
+        form the edges of the lilypad.  The leaves are *curly braces*, also seen many
+        times before as the _crab pincers_ for a code block.
+
+
+        bq. An empty lilypad @&quot;#{}&quot;@ becomes an empty string @&quot;&quot;@.
+
+
+        When the lilypad is found in a *double-quoted* string, Ruby runs any code found in between
+        the two leaves of the lilypad.  The lilypad is lifted out and the result of the code is placed there in
+        the string.  This lilypad swap is called _string interpolation_.
+
+
+        &lt;pre&gt;
+         irb&gt; fellows = ['Blix', 'Fox Tall', 'Fox Small']
+         irb&gt; puts &quot;Let us follow #{ fellows.join ' and ' } on their journey.&quot;
+           =&gt; &quot;Let us follow Blix and Fox Tall and Fox Small on their journey.&quot;
+        &lt;/pre&gt;
+
+
+        The lilypad is very durable and can hold any kind of code inside.  Above
+        we are using @Array#join@, but you can do anything you like inside.  Call
+        object methods, conditional @if@ or @case@ statements, even define classes.
+
+
+        &lt;pre&gt;
+         irb&gt; blix_went = :north
+         irb&gt; puts &quot;Blix didn't speak, he ducked off to the #{ blix_went } through #{
+                     if blix_went == :north
+                       'a poorly laid avenue behind the paint store'
+                     elsif blix_went == :south
+                       'the circuitry of apartment buildings'
+                     else
+                       '... well, who knows where he went.'
+                     end }.  But before we follow them...&quot;
+         =&gt; &quot;Blix didn't speak, he ducked off to the north through a poorly laid avenue
+             behind the paint store.  But before we follow them...&quot;
+        &lt;/pre&gt;
+
+
+</diff>
      <filename>lang-pt/poignant-74.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,112 +1,112 @@
-
-
-        The foxes followed Blixy off behind the paint store and down the cracked, uneven asphalt.
-        All of the stores on the dilapidated lane leaned at angles to each other.  In some places,
-        slabs of sidewalk jutted up from the ground, forming a perilous walkway, a disorderly
-        stack of ledges.  Almost as if the city planners had hoped to pay tribute to the techtonic
-        plates.  One small drug store had slid below the surface, nearly out of eyesight.
-
-
-        Truly, it was colorful, though.  The paint store had been tossing out old paints
-        directly onto its neighbors.  The shops nearest the paint store were clogged with hundreds
-        of colors, along the windowsills and in the rain gutters.  Yes, on the walls and pavement.
-
-
-        Basically, beginning with the back porch of the paint store, the avenue erupted into a giant incongruous
-        and poorly-dyed market.
-
-
-        Further down, a dentist's office was primed with red paint and, over that, a fledgling artist
-        had depicted a large baby who had fallen through a chimney and arrived in a fireplace full of soot.
-        Crude black strokes marked the cloud of ashes raised during impact, easily mistaken for thick
-        hair on the child's arms and back.  The child looked far too young to have much hair, but
-        there they were: rich, blonde curls which toppled liberally from the child's head.  Under the child's
-        legs was painted the word _BREWSTER_.
-
-
-        The same artist had hit the library next store and had hastily slapped together a mural of
-        a green sports car being pulled from the mud by a team of legless babies tugging with shiny chains.
-        Again, the drastically blonde curls!
-
-
-        &quot;I need answers,&quot; said the Fox Tall, who had ground to a halt in front of the scenery.
-
-
-        &quot;I'm starting to believe there's no such thing,&quot; said Fox Small.  &quot;Maybe these are the
-        answers.&quot;
-
-
-        &quot;Brewster?&quot; said Fox Tall.  He walked nearer to the library and touched the cheek of one
-        of the legless children who was closer in perspective.  The child's cheek appeared to
-        contain a myriad of jawbones.
-
-
-        Blix was another two houses down, navigating through the askew brickwork, the paved gully that
-        led to _R.K.'s Gorilla Mint_, as the metallic sticker on the door read.  The building was plastered
-        with miniature logos for the variety of payment options and identification acceptable at
-        _R.K.'s Gorilla Mint_.  Even the bars over the window were lined with insurance disclosures and
-        security warnings and seals of government authorization, as well as addendums to all of these,
-        carbon paper covering stickers covering torn posters and advertising.  And all mingled with
-        paint splashes that intruded wherever they pleased.
-
-
-        !i/wixl-9.gif(R.K.'s Gorilla Mint.)!
-
-
-        &quot;I like the way the fresh paper feels against my tongue,&quot; said the gorilla at the counter.
-        His fingers rubbed quietly against the bills.  He drew his face near to the fanned currency
-        and whisked his nose along the pulpy cash.
-
-
-        &quot;Is R.K. in this evening?&quot; asked Blix.
-
-
-        &quot;R.K. is not,&quot; said the gorilla cashier.  He turned to the three travellers and spread
-        his money out on the counter's surface, evenly spacing them apart and lining up all the
-        edges neatly.  &quot;Now, which one of these do you think is worth the most?&quot;
-
-
-        The foxes looked over the different bills and Fox Small muttered to himself, &quot;Well,
-        maybe-- no, but I'll bet-- Wait, does one of these have bananas on it?  'Cause that
-        one-- nope, no fruit or rope swings or-- Terrible, this is difficult!&quot;  And in a
-        lower voice, &quot;So difficult to read.  What does this one say?  Symbols or something?
-        If all these bills have are symbols, it's going to be impossible for us to figure out
-        which one is of the greatest value.&quot;
-
-
-        &quot;That's why I said, '_Guess_.'&quot;  The gorilla tapped each bill in order.  &quot;See, you've
-        got a 1 in 5 chance.&quot;
-
-
-        &quot;Unless the symbols mean something,&quot; said Fox Tall.  &quot;Unless we can figure it out.&quot;
-
-
-        &quot;We can figure it out,&quot; said Fox Small.
-
-
-        &quot;No,&quot; said the gorilla.  &quot;The symbols are meaningless.&quot;
-
-
-        &quot;Whoever created the money intended some meaning for them,&quot; said Fox Small.  &quot;Why
-        use _this_ symbol?&quot;  He pointed to an ampersand printed in dark ink.
-
-
-        &quot;Yeah, we saw you sniffing the money and fantasizing about it back there,&quot; said
-        Fox Tall.  &quot;I'll bet these symbols mean all kinds of things to you!&quot;
-
-
-        &quot;No, I don't think so,&quot; said the gorilla.
-
-
-        If I can weigh in at this point, I think the symbols do have meaning.  They may not
-        be _loaded_ with meaning, it may not be oozing out through the cracks, but I'm sure
-        there's a sliver of meaning.
-
-
-        &lt;pre&gt;
-         irb&gt; $:
-           =&gt; [&quot;/usr/lib/ruby/site_ruby/1.8&quot;, &quot;/usr/lib/ruby/site_ruby/1.8/i686-linux&quot;, &quot;/usr/lib/ruby/site_ruby&quot;, 
-               &quot;/usr/lib/ruby/1.8&quot;, &quot;/usr/lib/ruby/1.8/i686-linux&quot;, &quot;.&quot;]
-        &lt;/pre&gt; 
-
-
+
+
+        The foxes followed Blixy off behind the paint store and down the cracked, uneven asphalt.
+        All of the stores on the dilapidated lane leaned at angles to each other.  In some places,
+        slabs of sidewalk jutted up from the ground, forming a perilous walkway, a disorderly
+        stack of ledges.  Almost as if the city planners had hoped to pay tribute to the techtonic
+        plates.  One small drug store had slid below the surface, nearly out of eyesight.
+
+
+        Truly, it was colorful, though.  The paint store had been tossing out old paints
+        directly onto its neighbors.  The shops nearest the paint store were clogged with hundreds
+        of colors, along the windowsills and in the rain gutters.  Yes, on the walls and pavement.
+
+
+        Basically, beginning with the back porch of the paint store, the avenue erupted into a giant incongruous
+        and poorly-dyed market.
+
+
+        Further down, a dentist's office was primed with red paint and, over that, a fledgling artist
+        had depicted a large baby who had fallen through a chimney and arrived in a fireplace full of soot.
+        Crude black strokes marked the cloud of ashes raised during impact, easily mistaken for thick
+        hair on the child's arms and back.  The child looked far too young to have much hair, but
+        there they were: rich, blonde curls which toppled liberally from the child's head.  Under the child's
+        legs was painted the word _BREWSTER_.
+
+
+        The same artist had hit the library next store and had hastily slapped together a mural of
+        a green sports car being pulled from the mud by a team of legless babies tugging with shiny chains.
+        Again, the drastically blonde curls!
+
+
+        &quot;I need answers,&quot; said the Fox Tall, who had ground to a halt in front of the scenery.
+
+
+        &quot;I'm starting to believe there's no such thing,&quot; said Fox Small.  &quot;Maybe these are the
+        answers.&quot;
+
+
+        &quot;Brewster?&quot; said Fox Tall.  He walked nearer to the library and touched the cheek of one
+        of the legless children who was closer in perspective.  The child's cheek appeared to
+        contain a myriad of jawbones.
+
+
+        Blix was another two houses down, navigating through the askew brickwork, the paved gully that
+        led to _R.K.'s Gorilla Mint_, as the metallic sticker on the door read.  The building was plastered
+        with miniature logos for the variety of payment options and identification acceptable at
+        _R.K.'s Gorilla Mint_.  Even the bars over the window were lined with insurance disclosures and
+        security warnings and seals of government authorization, as well as addendums to all of these,
+        carbon paper covering stickers covering torn posters and advertising.  And all mingled with
+        paint splashes that intruded wherever they pleased.
+
+
+        !i/wixl-9.gif(R.K.'s Gorilla Mint.)!
+
+
+        &quot;I like the way the fresh paper feels against my tongue,&quot; said the gorilla at the counter.
+        His fingers rubbed quietly against the bills.  He drew his face near to the fanned currency
+        and whisked his nose along the pulpy cash.
+
+
+        &quot;Is R.K. in this evening?&quot; asked Blix.
+
+
+        &quot;R.K. is not,&quot; said the gorilla cashier.  He turned to the three travellers and spread
+        his money out on the counter's surface, evenly spacing them apart and lining up all the
+        edges neatly.  &quot;Now, which one of these do you think is worth the most?&quot;
+
+
+        The foxes looked over the different bills and Fox Small muttered to himself, &quot;Well,
+        maybe-- no, but I'll bet-- Wait, does one of these have bananas on it?  'Cause that
+        one-- nope, no fruit or rope swings or-- Terrible, this is difficult!&quot;  And in a
+        lower voice, &quot;So difficult to read.  What does this one say?  Symbols or something?
+        If all these bills have are symbols, it's going to be impossible for us to figure out
+        which one is of the greatest value.&quot;
+
+
+        &quot;That's why I said, '_Guess_.'&quot;  The gorilla tapped each bill in order.  &quot;See, you've
+        got a 1 in 5 chance.&quot;
+
+
+        &quot;Unless the symbols mean something,&quot; said Fox Tall.  &quot;Unless we can figure it out.&quot;
+
+
+        &quot;We can figure it out,&quot; said Fox Small.
+
+
+        &quot;No,&quot; said the gorilla.  &quot;The symbols are meaningless.&quot;
+
+
+        &quot;Whoever created the money intended some meaning for them,&quot; said Fox Small.  &quot;Why
+        use _this_ symbol?&quot;  He pointed to an ampersand printed in dark ink.
+
+
+        &quot;Yeah, we saw you sniffing the money and fantasizing about it back there,&quot; said
+        Fox Tall.  &quot;I'll bet these symbols mean all kinds of things to you!&quot;
+
+
+        &quot;No, I don't think so,&quot; said the gorilla.
+
+
+        If I can weigh in at this point, I think the symbols do have meaning.  They may not
+        be _loaded_ with meaning, it may not be oozing out through the cracks, but I'm sure
+        there's a sliver of meaning.
+
+
+        &lt;pre&gt;
+         irb&gt; $:
+           =&gt; [&quot;/usr/lib/ruby/site_ruby/1.8&quot;, &quot;/usr/lib/ruby/site_ruby/1.8/i686-linux&quot;, &quot;/usr/lib/ruby/site_ruby&quot;, 
+               &quot;/usr/lib/ruby/1.8&quot;, &quot;/usr/lib/ruby/1.8/i686-linux&quot;, &quot;.&quot;]
+        &lt;/pre&gt; 
+
+</diff>
      <filename>lang-pt/poignant-74a.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,123 +1,123 @@
-        Variables which start with the American cash sign are global variables.  They can
-        be seen from anywhere in the program, *from inside any scope*.  (Dr. Cham used this
-        variable while snooping around The Originals' computer bay.)
-
-
-        So why does the *cash sign followed by a colon* represent an array of *all directories
-        where Ruby will search when you try to load a file with @require@*?  The cash sign
-        means &quot;global.&quot;  But why the colon?
-
-
-        Historically, on many operating systems, a list of directories contains colons which
-        separated each entry.  I like to see the colon as a pair of eyes, scanning the directories
-        for files.  We store our lookout list behind the eyes.
-
-
-        Here's a few more special global variables:
-
-
-        &lt;pre&gt;
-         irb&gt; $&quot;      # The $&quot; variable contains all files which have been loaded with `require'
-           =&gt; [&quot;irb.rb&quot;, &quot;e2mmap.rb&quot;, &quot;irb/init.rb&quot;, ... &quot;rbconfig.rb&quot;]
-                      # These files are stored somewhere else, but their code is being used
-                      # in this program.  Much like quoting someone else's work -- these are the
-                      # footnotes -- hence the double-quote.
-
-         irb&gt; $0      # The $0 variable contains the running program's filename.
-           =&gt; &quot;irb&quot;   # A zero can be considered the beginning of a number count.
-                      # This variable answers the question, &quot;Where did this program begin?&quot;
-
-         irb&gt; $*      # The $* variable contains all the arguments passed into a program.
-           =&gt; ['--prompt', 'simple']
-                      # This one is easy to remember, if you remember that Ruby methods
-                      # also use the asterisk to capture arguments into an array.
-
-         # The $! contains the current exception raised.
-         # The exclamation indicates a state of alarm.  An exception!
-         irb&gt; begin
-         irb&gt;   raise TypeError, &quot;I don't believe this information.&quot;
-         irb&gt; rescue
-         irb&gt;   p $!
-         irb&gt; end
-           =&gt; #&lt;TypeError: I don't believe this information.&gt;
-
-         # The $@ contains the current backtrace, if an exception was raised.
-         # The backtrace shows were Ruby was _at_ when the exception fired.
-         irb&gt; begin
-         irb&gt;   raise TypeError, &quot;I don't believe this information.&quot;
-         irb&gt; rescue
-         irb&gt;   p $@
-         irb&gt; end
-           =&gt; [&quot;(irb):25:in `irb_binding'&quot;, &quot;/usr/lib/ruby/1.8/irb/workspace.rb:52:in `irb_binding'&quot;, 
-               &quot;/usr/lib/ruby/1.8/irb/workspace.rb:52&quot;]
-        &lt;/pre&gt;
-
-
-        &quot;I don't remember you.&quot;  Blix looked at the gorilla with great interest.
-        &quot;Are you one of R.K.'s kids or something?&quot;
-
-
-        &quot;Oh, come on!&quot; said Fox Small, holding up a bill with an exclamation mark on it up to the gorilla's nose.
-        &quot;Don't tell me this means _nothing_ to you!  This one is probably _really important_
-        since it has an exclamation on it.  Maybe it pays for emergency stuff!  Hospital
-        bills or something!&quot;
-
-
-        *&quot;Yeah, surgery!&quot;* said Fox Tall.
-
-
-        The gorilla looked at the foxes with disgust from under the brim of his cap.  &quot;No,
-        you're wrong.  You can't pay for surgeries with that.&quot;
-
-
-        &quot;But you see our point,&quot; said the small fox.  He grabbed some of the other bills.
-        &quot;And you say this bill _cannot_ pay for surgeries?  Well that sounds like it has
-        a specific _non-surgery-related_ purpose.  Now, the question mark one.  Oh, what would that one be for?&quot;
-
-        
-        &quot;Hey, give me those,&quot; the gorilla snatched at the bills over the counter, but 
-        his long thumb kept getting in the way and every time he thought he had grabbed bills, 
-        it turned out he had only grabbed his long thumb.
-
-
-        &quot;Hey, hey, look, he's mad,&quot; said Fox Tall, happily clapping.  &quot;I wonder why.  Did you notice
-        how mad he started getting once we mentioned all these interesting meanings?  *We're on to
-        you!  We figured out your game so fast!&quot;*
-
-
-        &quot;We totally did!&quot; said Fox Small, one of his elbows caught in the grip of the gorilla,
-        the other arm waving a bill that featured an underscore.
-        &quot;This one's for buying floor supplies, maybe even big rolls of tile and linoleum.&quot;
-
-
-        &quot;See,&quot; said Fox Tall, working to pry the gorilla's fingers free, &quot;we just have to figure out which is more expensive:
-        surgery or linoleum!  This is _so easy!&quot;_
-
-
-        *&quot;NO IT'S NOT!&quot;* yelled the gorilla, yanking at the smaller fox and battering the
-        fox with his palms.  *&quot;YOU DON'T KNOW ANYTHING ABOUT MONKEY MONEY!!  YOU DON'T EVEN _HAVE_
-        YOUR OWN KINDS OF MONEY!!&quot;*
-
-
-        &quot;We could _easily_ have our own kinds of money!&quot; said Fox Tall, taking the chimp's
-        hat and tossing it to the back of the room, where it sailed behind a wall of safety
-        deposit boxes.  &quot;And -- _your hat is outta here!_&quot;
-
-
-        &quot;Come on, give him back his bills,&quot; said Blix, waving his arms helplessly from the
-        sidelines.  &quot;We could really use this guy's help.&quot;
-
-
-        &quot;Stop hitting me!&quot; screamed the littlest fox.  &quot;I've almost figured out this one
-        with the dots on it!!&quot;
-
-
-        Suddenly, with great precision and without warning, Fox Tall grabbed the monkey's nose
-        and slammed his face down against the counter.  The pens and inkpads on its surface
-        rattled and &quot;Bam!&quot; said the fox.  The gorilla's eyes spun sleepily
-        as his arms... then his neck... then his head slithered to the floor behind the counter.
-
-
-        Here are a few more global variables you might care to use:
-
-
+        Variables which start with the American cash sign are global variables.  They can
+        be seen from anywhere in the program, *from inside any scope*.  (Dr. Cham used this
+        variable while snooping around The Originals' computer bay.)
+
+
+        So why does the *cash sign followed by a colon* represent an array of *all directories
+        where Ruby will search when you try to load a file with @require@*?  The cash sign
+        means &quot;global.&quot;  But why the colon?
+
+
+        Historically, on many operating systems, a list of directories contains colons which
+        separated each entry.  I like to see the colon as a pair of eyes, scanning the directories
+        for files.  We store our lookout list behind the eyes.
+
+
+        Here's a few more special global variables:
+
+
+        &lt;pre&gt;
+         irb&gt; $&quot;      # The $&quot; variable contains all files which have been loaded with `require'
+           =&gt; [&quot;irb.rb&quot;, &quot;e2mmap.rb&quot;, &quot;irb/init.rb&quot;, ... &quot;rbconfig.rb&quot;]
+                      # These files are stored somewhere else, but their code is being used
+                      # in this program.  Much like quoting someone else's work -- these are the
+                      # footnotes -- hence the double-quote.
+
+         irb&gt; $0      # The $0 variable contains the running program's filename.
+           =&gt; &quot;irb&quot;   # A zero can be considered the beginning of a number count.
+                      # This variable answers the question, &quot;Where did this program begin?&quot;
+
+         irb&gt; $*      # The $* variable contains all the arguments passed into a program.
+           =&gt; ['--prompt', 'simple']
+                      # This one is easy to remember, if you remember that Ruby methods
+                      # also use the asterisk to capture arguments into an array.
+
+         # The $! contains the current exception raised.
+         # The exclamation indicates a state of alarm.  An exception!
+         irb&gt; begin
+         irb&gt;   raise TypeError, &quot;I don't believe this information.&quot;
+         irb&gt; rescue
+         irb&gt;   p $!
+         irb&gt; end
+           =&gt; #&lt;TypeError: I don't believe this information.&gt;
+
+         # The $@ contains the current backtrace, if an exception was raised.
+         # The backtrace shows were Ruby was _at_ when the exception fired.
+         irb&gt; begin
+         irb&gt;   raise TypeError, &quot;I don't believe this information.&quot;
+         irb&gt; rescue
+         irb&gt;   p $@
+         irb&gt; end
+           =&gt; [&quot;(irb):25:in `irb_binding'&quot;, &quot;/usr/lib/ruby/1.8/irb/workspace.rb:52:in `irb_binding'&quot;, 
+               &quot;/usr/lib/ruby/1.8/irb/workspace.rb:52&quot;]
+        &lt;/pre&gt;
+
+
+        &quot;I don't remember you.&quot;  Blix looked at the gorilla with great interest.
+        &quot;Are you one of R.K.'s kids or something?&quot;
+
+
+        &quot;Oh, come on!&quot; said Fox Small, holding up a bill with an exclamation mark on it up to the gorilla's nose.
+        &quot;Don't tell me this means _nothing_ to you!  This one is probably _really important_
+        since it has an exclamation on it.  Maybe it pays for emergency stuff!  Hospital
+        bills or something!&quot;
+
+
+        *&quot;Yeah, surgery!&quot;* said Fox Tall.
+
+
+        The gorilla looked at the foxes with disgust from under the brim of his cap.  &quot;No,
+        you're wrong.  You can't pay for surgeries with that.&quot;
+
+
+        &quot;But you see our point,&quot; said the small fox.  He grabbed some of the other bills.
+        &quot;And you say this bill _cannot_ pay for surgeries?  Well that sounds like it has
+        a specific _non-surgery-related_ purpose.  Now, the question mark one.  Oh, what would that one be for?&quot;
+
+        
+        &quot;Hey, give me those,&quot; the gorilla snatched at the bills over the counter, but 
+        his long thumb kept getting in the way and every time he thought he had grabbed bills, 
+        it turned out he had only grabbed his long thumb.
+
+
+        &quot;Hey, hey, look, he's mad,&quot; said Fox Tall, happily clapping.  &quot;I wonder why.  Did you notice
+        how mad he started getting once we mentioned all these interesting meanings?  *We're on to
+        you!  We figured out your game so fast!&quot;*
+
+
+        &quot;We totally did!&quot; said Fox Small, one of his elbows caught in the grip of the gorilla,
+        the other arm waving a bill that featured an underscore.
+        &quot;This one's for buying floor supplies, maybe even big rolls of tile and linoleum.&quot;
+
+
+        &quot;See,&quot; said Fox Tall, working to pry the gorilla's fingers free, &quot;we just have to figure out which is more expensive:
+        surgery or linoleum!  This is _so easy!&quot;_
+
+
+        *&quot;NO IT'S NOT!&quot;* yelled the gorilla, yanking at the smaller fox and battering the
+        fox with his palms.  *&quot;YOU DON'T KNOW ANYTHING ABOUT MONKEY MONEY!!  YOU DON'T EVEN _HAVE_
+        YOUR OWN KINDS OF MONEY!!&quot;*
+
+
+        &quot;We could _easily_ have our own kinds of money!&quot; said Fox Tall, taking the chimp's
+        hat and tossing it to the back of the room, where it sailed behind a wall of safety
+        deposit boxes.  &quot;And -- _your hat is outta here!_&quot;
+
+
+        &quot;Come on, give him back his bills,&quot; said Blix, waving his arms helplessly from the
+        sidelines.  &quot;We could really use this guy's help.&quot;
+
+
+        &quot;Stop hitting me!&quot; screamed the littlest fox.  &quot;I've almost figured out this one
+        with the dots on it!!&quot;
+
+
+        Suddenly, with great precision and without warning, Fox Tall grabbed the monkey's nose
+        and slammed his face down against the counter.  The pens and inkpads on its surface
+        rattled and &quot;Bam!&quot; said the fox.  The gorilla's eyes spun sleepily
+        as his arms... then his neck... then his head slithered to the floor behind the counter.
+
+
+        Here are a few more global variables you might care to use:
+
+</diff>
      <filename>lang-pt/poignant-74b.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,127 +1,127 @@
-        &lt;pre&gt;
-         irb&gt; $/      # The $/ is the line separator, it is normally set to \n, which represents _Enter_
-           =&gt; &quot;\n&quot;    # or &quot;end of line&quot;.  The slash represents a sword slashing lines in a file.
-
-         # The line separator controls how methods like each_line or readlines breaks up strings.
-         irb&gt; &quot;Jeff,Jerry,Jill\nMichael,Mary,Myrtle&quot;.each_line { |names| p names }
-           =&gt; &quot;Jeff,Jerry,Jill\n&quot;
-           =&gt; &quot;Michael,Mary,Myrtle&quot;
-
-         # If you change the line separator, you change how many methods work, such as each_line.
-         # See what happens when I change the line separator to a comma.
-         irb&gt; $/ = ','
-         irb&gt; &quot;Jeff,Jerry,Jill\nMichael,Mary,Myrtle&quot;.each_line { |names| p names }
-           =&gt; &quot;Jeff,&quot;
-           =&gt; &quot;Jerry,&quot;
-           =&gt; &quot;Jill\nMichael,&quot;
-           =&gt; &quot;Mary,&quot;
-           =&gt; &quot;Myrtle&quot;
-
-         irb&gt; $,     # The $, variable is the join separator, used when joining strings with
-           =&gt; nil    # Array#join or Kernel::print.  The comma is a common join character.
-
-         # The join separator is normally empty.
-         irb&gt; ['candle', 'soup', 'mackarel'].join
-           =&gt; &quot;candlesoupmackarel&quot;
-         irb&gt; $, = ' * '; ['candle', 'soup', 'mackarel'].join
-           =&gt; &quot;candle * soup * mackarel&quot;
-         
-         # But, usually, you won't need the global variable.
-         irb&gt; ['candle', 'soup', 'mackarel'].join ' # '
-           =&gt; &quot;candle # soup # mackarel&quot;
-
-         irb&gt; $;     # The $; variable is the split separator, used when splitting strings
-           =&gt; nil    # with String#split.
-
-         # The split separator is normally empty, which means String#split will separate
-         # the string where there is whitespace.
-         irb&gt; &quot;candle  soup\nmackarel&quot;.split
-           =&gt; [&quot;candle&quot;, &quot;soup&quot;, &quot;mackarel&quot;]
-         irb&gt; $; = 'a'; &quot;candle  soup\nmackarel&quot;.split
-           =&gt; [&quot;c&quot;, &quot;ndle  soup\nm&quot;, &quot;ck&quot;, &quot;rel&quot;]
-
-         # But, usually, you won't need the global variable.
-         irb&gt; &quot;candle # soup # mackarel&quot;.split ' # '
-           =&gt; ['candle', 'soup', 'mackarel']
-        &lt;/pre&gt;
-
-
-        Outside the _Gorilla Mint_, Blix scolded the foxes.  &quot;We could have used that guy's help!  If he knows
-        where R.K. is, we could use his cunning!&quot;
-
-
-        &quot;*We don't need that ape's money!*&quot; said Fox Small.  &quot;*We can make our _own_ money!*&quot;
-
-
-        &quot;*We could support electronic wristbands!*&quot; said Fox Tall.
-
-
-        &quot;His money is worthless,&quot; said Blix.  &quot;It's gorilla money.  It has no value.  It's worse than
-        blue crystals.&quot;
-
-
-        &quot;But it serves a purpose,&quot; said Fox Tall.
-
-
-        &quot;No it doesn't,&quot; said Fox Small.  &quot;He just said it's worthless.&quot;
-
-
-        &quot;But what about linoleum and surgeries?&quot; said Fox Tall.
-
-
-        &quot;Yeah,&quot; said Fox Small, up at Blix.  &quot;What about linoleum and surgeries?&quot;
-
-
-        &quot;If all the hospitals were staffed by gorillas and all the home improvement chains were strictly operated
-        by gorillas, then -- YES -- you could buy linoleum and surgeries.  But I _guarantee_ that you would have
-        very sloppy linoleum and very hideous surgeries.  I don't think you'd make it out of that economy alive.&quot;
-
-
-        &quot;So, if R.K. is so cunning,&quot; said Fox Tall, grinning slyly, &quot;why does he print such worthless currency?&quot;
-
-
-        &quot;It's a cover for other activities,&quot; said Blix.  &quot;Besides, if you're so smart, why did you resort to
-        violently pounding that poor gorilla?&quot;
-
-
-        &quot;I guess that was a bad play,&quot; said Fox Tall, hanging his head.  &quot;My friend here will tell you that I've
-        been on edge all day.&quot;
-
-
-        &quot;And your rage finally reared its fuming snout!&quot; said Fox Small.  &quot;You're finally living up to your
-        goatee.&quot;
-
-
-        !i/wixl-10.gif!
-
-
-        Down the lanes they travelled, the two foxes oblivious to their direction, but having a good time
-        now that they had Blix leading the way with such urgency.  They lapsed into a careless wandering right behind Blix
-        and spent their afternoon heckling most of the passersby.
-
-
-        One such target of their ongoing commentary was The Winged Scroll Carriers, pairs of bats that carry
-        documents which need to be immediately sworn and notarized.  There can be no delay, they must go swift,
-        there is not even time to roll up the scroll, no, they must drop their swiss cheese and be out the door.
-
-
-        These couriers resemble a kind of Ruby construct called *delimited types*.  A long series of characters
-        comprises the scroll, flanked on each side by a bat bracing its curly wings to hold the scroll together.
-        The opening bat wears a hat on which is written @%w@, which identifies the scroll as a set of words.
-
-
-        &lt;pre&gt;
-         irb&gt; bats = %w{The Winged Scroll Carriers}
-           =&gt; ['The', 'Winged', 'Scroll', 'Carriers']
-        &lt;/pre&gt;
-
-
-        The @%w@ bats and their scroll, when fed into Ruby, emerge as an array of words.  This syntax is a shortcut
-        in case you don't want to go through the trouble of decorating each word with commas and quotes.  You are
-        in a hurry, too, there can be no delay.  You jot out the words between the bats and let Ruby figure out where
-        to cut.
-
-
-        Other bats, other hats.  For instance, the @%x@ hat runs an external program.
-
-
+        &lt;pre&gt;
+         irb&gt; $/      # The $/ is the line separator, it is normally set to \n, which represents _Enter_
+           =&gt; &quot;\n&quot;    # or &quot;end of line&quot;.  The slash represents a sword slashing lines in a file.
+
+         # The line separator controls how methods like each_line or readlines breaks up strings.
+         irb&gt; &quot;Jeff,Jerry,Jill\nMichael,Mary,Myrtle&quot;.each_line { |names| p names }
+           =&gt; &quot;Jeff,Jerry,Jill\n&quot;
+           =&gt; &quot;Michael,Mary,Myrtle&quot;
+
+         # If you change the line separator, you change how many methods work, such as each_line.
+         # See what happens when I change the line separator to a comma.
+         irb&gt; $/ = ','
+         irb&gt; &quot;Jeff,Jerry,Jill\nMichael,Mary,Myrtle&quot;.each_line { |names| p names }
+           =&gt; &quot;Jeff,&quot;
+           =&gt; &quot;Jerry,&quot;
+           =&gt; &quot;Jill\nMichael,&quot;
+           =&gt; &quot;Mary,&quot;
+           =&gt; &quot;Myrtle&quot;
+
+         irb&gt; $,     # The $, variable is the join separator, used when joining strings with
+           =&gt; nil    # Array#join or Kernel::print.  The comma is a common join character.
+
+         # The join separator is normally empty.
+         irb&gt; ['candle', 'soup', 'mackarel'].join
+           =&gt; &quot;candlesoupmackarel&quot;
+         irb&gt; $, = ' * '; ['candle', 'soup', 'mackarel'].join
+           =&gt; &quot;candle * soup * mackarel&quot;
+         
+         # But, usually, you won't need the global variable.
+         irb&gt; ['candle', 'soup', 'mackarel'].join ' # '
+           =&gt; &quot;candle # soup # mackarel&quot;
+
+         irb&gt; $;     # The $; variable is the split separator, used when splitting strings
+           =&gt; nil    # with String#split.
+
+         # The split separator is normally empty, which means String#split will separate
+         # the string where there is whitespace.
+         irb&gt; &quot;candle  soup\nmackarel&quot;.split
+           =&gt; [&quot;candle&quot;, &quot;soup&quot;, &quot;mackarel&quot;]
+         irb&gt; $; = 'a'; &quot;candle  soup\nmackarel&quot;.split
+           =&gt; [&quot;c&quot;, &quot;ndle  soup\nm&quot;, &quot;ck&quot;, &quot;rel&quot;]
+
+         # But, usually, you won't need the global variable.
+         irb&gt; &quot;candle # soup # mackarel&quot;.split ' # '
+           =&gt; ['candle', 'soup', 'mackarel']
+        &lt;/pre&gt;
+
+
+        Outside the _Gorilla Mint_, Blix scolded the foxes.  &quot;We could have used that guy's help!  If he knows
+        where R.K. is, we could use his cunning!&quot;
+
+
+        &quot;*We don't need that ape's money!*&quot; said Fox Small.  &quot;*We can make our _own_ money!*&quot;
+
+
+        &quot;*We could support electronic wristbands!*&quot; said Fox Tall.
+
+
+        &quot;His money is worthless,&quot; said Blix.  &quot;It's gorilla money.  It has no value.  It's worse than
+        blue crystals.&quot;
+
+
+        &quot;But it serves a purpose,&quot; said Fox Tall.
+
+
+        &quot;No it doesn't,&quot; said Fox Small.  &quot;He just said it's worthless.&quot;
+
+
+        &quot;But what about linoleum and surgeries?&quot; said Fox Tall.
+
+
+        &quot;Yeah,&quot; said Fox Small, up at Blix.  &quot;What about linoleum and surgeries?&quot;
+
+
+        &quot;If all the hospitals were staffed by gorillas and all the home improvement chains were strictly operated
+        by gorillas, then -- YES -- you could buy linoleum and surgeries.  But I _guarantee_ that you would have
+        very sloppy linoleum and very hideous surgeries.  I don't think you'd make it out of that economy alive.&quot;
+
+
+        &quot;So, if R.K. is so cunning,&quot; said Fox Tall, grinning slyly, &quot;why does he print such worthless currency?&quot;
+
+
+        &quot;It's a cover for other activities,&quot; said Blix.  &quot;Besides, if you're so smart, why did you resort to
+        violently pounding that poor gorilla?&quot;
+
+
+        &quot;I guess that was a bad play,&quot; said Fox Tall, hanging his head.  &quot;My friend here will tell you that I've
+        been on edge all day.&quot;
+
+
+        &quot;And your rage finally reared its fuming snout!&quot; said Fox Small.  &quot;You're finally living up to your
+        goatee.&quot;
+
+
+        !i/wixl-10.gif!
+
+
+        Down the lanes they travelled, the two foxes oblivious to their direction, but having a good time
+        now that they had Blix leading the way with such urgency.  They lapsed into a careless wandering right behind Blix
+        and spent their afternoon heckling most of the passersby.
+
+
+        One such target of their ongoing commentary was The Winged Scroll Carriers, pairs of bats that carry
+        documents which need to be immediately sworn and notarized.  There can be no delay, they must go swift,
+        there is not even time to roll up the scroll, no, they must drop their swiss cheese and be out the door.
+
+
+        These couriers resemble a kind of Ruby construct called *delimited types*.  A long series of characters
+        comprises the scroll, flanked on each side by a bat bracing its curly wings to hold the scroll together.
+        The opening bat wears a hat on which is written @%w@, which identifies the scroll as a set of words.
+
+
+        &lt;pre&gt;
+         irb&gt; bats = %w{The Winged Scroll Carriers}
+           =&gt; ['The', 'Winged', 'Scroll', 'Carriers']
+        &lt;/pre&gt;
+
+
+        The @%w@ bats and their scroll, when fed into Ruby, emerge as an array of words.  This syntax is a shortcut
+        in case you don't want to go through the trouble of decorating each word with commas and quotes.  You are
+        in a hurry, too, there can be no delay.  You jot out the words between the bats and let Ruby figure out where
+        to cut.
+
+
+        Other bats, other hats.  For instance, the @%x@ hat runs an external program.
+
+</diff>
      <filename>lang-pt/poignant-74c.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,126 +1,126 @@
-        &lt;pre&gt;
-         irb&gt; %w{ruby --help}
-           =&gt; [&quot;ruby&quot;, &quot;--help&quot;]
-         irb&gt; %x{ruby --help}
-           =&gt; &quot;Usage: ruby [switches] [--] [programfile] [arguments] ...&quot;
-        &lt;/pre&gt;
-
-
-        My favorite is the @%Q@ hat, which can also be written as just @%@.  This acts just like a double-quoted string,
-        but looks nice when used with strings that run-on for many lines.  Like, say you're adding a new method with @eval@.
-
-
-        &lt;pre&gt;
-         m = &quot;bats!&quot;
-         eval %{
-           def #{ m }
-             puts &quot;{&quot; * 100
-           end
-         }
-        &lt;/pre&gt;
-
-
-        Just like a double-quoted string, you can use the string interpolation lilypads inside.
-
-
-        !i/wixl-15.png(Cloneberries: The More You Eat, The More *You*.)!
-
-
-        Blixy wagged his head.  &quot;Oh, dear me.&quot;
-
-
-        &quot;Egads! My hand is pregnant,&quot; said Fox Tall, watching the little fox embryo slide about in his palm.
-
-
-        &quot;They are good berries, though,&quot; said Blix.  &quot;The wine they make from these berries
-        will make ya grow a few eyeballs in your teeth.  But no more than that.&quot;
-
-
-        &quot;Ah, pain!&quot; yelled Fox Small, as his miniature squeezed out through the pores in his scalp.  But soon he
-        was cradling his little self and murmuring lullablies.  _Nevermore, nevermore, sweetly sang the
-        nightingale.  Winking starlight, sleeping still, whilst perched on a Sycamore stump._
-
-
-        Making duplicates of Ruby objects is no more than a berry's worth of code.
-
-
-        &lt;pre&gt;
-         irb&gt; tree = [:berry, :berry, :berry]
-           =&gt; [:berry, :berry, :berry]
-         irb&gt; treechild = tree.clone
-           =&gt; [:berry, :berry, :berry]
-        &lt;/pre&gt;
-
-
-        The @clone@ method makes an exact copy of a Ruby object.  How does this differ from regular
-        assignment?
-
-
-        &lt;pre&gt;
-         irb&gt; tree_charles_william_iii = tree
-           =&gt; [:berry, :berry, :berry]
-        &lt;/pre&gt;
-
-
-        Assigning object to variables only creates more nicknames.  The above Array can be called @tree_charles_william_iii@
-        now.  Or the shorter @tree@.  The same object, but different names.
-
-
-        However, a clone is a copy of an object.  You can modify it without affecting the original.
-
-
-        &lt;pre&gt;
-         irb&gt; treechild &lt;&lt; 'flower'
-           =&gt; [:berry, :berry, :berry, 'flower']
-         irb&gt; tree
-           =&gt; [:berry, :berry, :berry]
-        &lt;/pre&gt;
-
-
-        The @clone@ method doesn't make copies of everything attached to the object, though.  In the array above, only the
-        array is copied, not all the symbols and strings inside.
-
-
-        You may also see the @dup@ method used to copy objects.  The @dup@ method makes copies which aren't as exact.  For example,
-        there are objects in Ruby which are &quot;frozen&quot; and can't be altered.  If you @clone@ the object, you get an exact copy which
-        is also frozen.  If you use @dup@, you get an unfrozen copy that you can change if you like.
-
-
-        The @clone@ method also copies the metaclass of an object, whereas @dup@ does not.
-
-
-        &lt;pre&gt;
-         irb&gt; o = Object.new
-         irb&gt; class &lt;&lt; o
-         irb&gt;   def nevermore; :nevermore; end
-         irb&gt; end
-
-         irb&gt; o.clone.nevermore
-           =&gt; :nevermore
-         irb&gt; o.dup.nevermore
-         # NoMethodError: undefined method `nevermore' for #&lt;Object:0xb7d4a484&gt;
-         #         from (irb):7
-         &lt;/pre&gt;
-
-
-        You don't always need to make copies of objects, though, since many methods like @collect@ and @gsub@
-        and @format@ make copies for you as part of their work.
-
-
-        !i/wixl-4.gif(Deer of the Smoky Pink Puffing.)!
-
-
-        Over the hills and down the valleys, they ran through the grass where the Deer of the Smoky Pink
-        Puffing roam.  The sun was obscured by the lumbering pink clouds, emblazened with deer language,
-        tinting the horizon a gradient of grapefruit and secreting a glow over the meadow.  The clouds
-        slid past each other, some bobbing upwards, destined for Canadian relatives.  Others landing a
-        readable distance from a recipient's hooves.
-
-
-        &quot;Let's stop!  _Please!_&quot; yelled Fox Tall.  &quot;You can't expect us to run in this *unbreathable fluff!*&quot;
-
-
-        &quot;Why are you yelling?&quot; said Blix, as a thin stratus telegram wafted behind his legs.  &quot;You don't
-        need to raise your voice above a whisper.  These long skinny clouds are usually just a mumble or
-        a sigh.  They may not even make it all the way.&quot;
-
+        &lt;pre&gt;
+         irb&gt; %w{ruby --help}
+           =&gt; [&quot;ruby&quot;, &quot;--help&quot;]
+         irb&gt; %x{ruby --help}
+           =&gt; &quot;Usage: ruby [switches] [--] [programfile] [arguments] ...&quot;
+        &lt;/pre&gt;
+
+
+        My favorite is the @%Q@ hat, which can also be written as just @%@.  This acts just like a double-quoted string,
+        but looks nice when used with strings that run-on for many lines.  Like, say you're adding a new method with @eval@.
+
+
+        &lt;pre&gt;
+         m = &quot;bats!&quot;
+         eval %{
+           def #{ m }
+             puts &quot;{&quot; * 100
+           end
+         }
+        &lt;/pre&gt;
+
+
+        Just like a double-quoted string, you can use the string interpolation lilypads inside.
+
+
+        !i/wixl-15.png(Cloneberries: The More You Eat, The More *You*.)!
+
+
+        Blixy wagged his head.  &quot;Oh, dear me.&quot;
+
+
+        &quot;Egads! My hand is pregnant,&quot; said Fox Tall, watching the little fox embryo slide about in his palm.
+
+
+        &quot;They are good berries, though,&quot; said Blix.  &quot;The wine they make from these berries
+        will make ya grow a few eyeballs in your teeth.  But no more than that.&quot;
+
+
+        &quot;Ah, pain!&quot; yelled Fox Small, as his miniature squeezed out through the pores in his scalp.  But soon he
+        was cradling his little self and murmuring lullablies.  _Nevermore, nevermore, sweetly sang the
+        nightingale.  Winking starlight, sleeping still, whilst perched on a Sycamore stump._
+
+
+        Making duplicates of Ruby objects is no more than a berry's worth of code.
+
+
+        &lt;pre&gt;
+         irb&gt; tree = [:berry, :berry, :berry]
+           =&gt; [:berry, :berry, :berry]
+         irb&gt; treechild = tree.clone
+           =&gt; [:berry, :berry, :berry]
+        &lt;/pre&gt;
+
+
+        The @clone@ method makes an exact copy of a Ruby object.  How does this differ from regular
+        assignment?
+
+
+        &lt;pre&gt;
+         irb&gt; tree_charles_william_iii = tree
+           =&gt; [:berry, :berry, :berry]
+        &lt;/pre&gt;
+
+
+        Assigning object to variables only creates more nicknames.  The above Array can be called @tree_charles_william_iii@
+        now.  Or the shorter @tree@.  The same object, but different names.
+
+
+        However, a clone is a copy of an object.  You can modify it without affecting the original.
+
+
+        &lt;pre&gt;
+         irb&gt; treechild &lt;&lt; 'flower'
+           =&gt; [:berry, :berry, :berry, 'flower']
+         irb&gt; tree
+           =&gt; [:berry, :berry, :berry]
+        &lt;/pre&gt;
+
+
+        The @clone@ method doesn't make copies of everything attached to the object, though.  In the array above, only the
+        array is copied, not all the symbols and strings inside.
+
+
+        You may also see the @dup@ method used to copy objects.  The @dup@ method makes copies which aren't as exact.  For example,
+        there are objects in Ruby which are &quot;frozen&quot; and can't be altered.  If you @clone@ the object, you get an exact copy which
+        is also frozen.  If you use @dup@, you get an unfrozen copy that you can change if you like.
+
+
+        The @clone@ method also copies the metaclass of an object, whereas @dup@ does not.
+
+
+        &lt;pre&gt;
+         irb&gt; o = Object.new
+         irb&gt; class &lt;&lt; o
+         irb&gt;   def nevermore; :nevermore; end
+         irb&gt; end
+
+         irb&gt; o.clone.nevermore
+           =&gt; :nevermore
+         irb&gt; o.dup.nevermore
+         # NoMethodError: undefined method `nevermore' for #&lt;Object:0xb7d4a484&gt;
+         #         from (irb):7
+         &lt;/pre&gt;
+
+
+        You don't always need to make copies of objects, though, since many methods like @collect@ and @gsub@
+        and @format@ make copies for you as part of their work.
+
+
+        !i/wixl-4.gif(Deer of the Smoky Pink Puffing.)!
+
+
+        Over the hills and down the valleys, they ran through the grass where the Deer of the Smoky Pink
+        Puffing roam.  The sun was obscured by the lumbering pink clouds, emblazened with deer language,
+        tinting the horizon a gradient of grapefruit and secreting a glow over the meadow.  The clouds
+        slid past each other, some bobbing upwards, destined for Canadian relatives.  Others landing a
+        readable distance from a recipient's hooves.
+
+
+        &quot;Let's stop!  _Please!_&quot; yelled Fox Tall.  &quot;You can't expect us to run in this *unbreathable fluff!*&quot;
+
+
+        &quot;Why are you yelling?&quot; said Blix, as a thin stratus telegram wafted behind his legs.  &quot;You don't
+        need to raise your voice above a whisper.  These long skinny clouds are usually just a mumble or
+        a sigh.  They may not even make it all the way.&quot;
+</diff>
      <filename>lang-pt/poignant-74d.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,52 +1,52 @@
-    - !^sidebar
-      Steaks 'n' Slides: &gt;
-
-        My uncles love waterslides and they also love steakhouses.  They have these waterslide days
-        which are directly followed by a trip over to Joey's Steakhouse.  I _hate_ Joey's Steakhouse.  It's
-        all big, brown shoe meat.  Floppy and galoshy.  Mixed with the stench of the uncles' chlorine.
-
-
-        Pruny fingers on meat slabs is The Revolting.
-
-
-        It's time for steaks and waterslides to come together in a truly repugnant manner.
-        My uncles have had steaks and waterslides their whole lives.  The dynasty of steaks
-        and waterslides must come to a close.  I will marry them in ways against nature!
-
-
-        Like this:
-
-
-        * Hand steaks to riders as they board the waterslide.  Rider looks at the lifeguard.
-        Lifeguard says wait.  Rider looks again.  The lifeguard pauses.  Then.  Okay, it's time.
-        _Go, kid, go!_  And the look on that kid's face as he rushes down the slope, paws
-        full of chuck!  _Go, kid, go!_
-
-        * Kids slide on top of steaks.  For safety, we'd want the slides stacked five steaks deep.
-
-        * Or, steaks do the sliding.  In their own little swim trunks.
-
-        * Or, people.  With steak swim trunks.
-
-        * People and steaks, side-by-side.
-        
-        * Steaks travelling down waterslides composed of steaks.
-
-        * Steaks travelling down waterslides made of people.
-
-        * And, of course, people eating steaks, but their tongues come out as waterslides and
-        they have to push the steaks up the waterslides.  Which is impossible and a lifeguard has to climb
-        up the waterslide and manually insert the steak into the esophagus.
-
-        * Waterslides eating people and steaks eating people.
-
-        * Waterslides and steaks becoming friends after smelling people on each other's breath.
-
-        * Or, steaks befriending waterslides, but waterslides not reciprocating.  Waterslides
-        become increasingly despondent and detached, getting into bad crowds and sinking into
-        political extremity.  Steaks make ankle bracelets out of people and leave them in the
-        waterslides' trouser pockets, when the trousers are unattended.  They sneak out of the
-        waterslide commune via a huge waterslide made of steak swim trunks.
-
-        * Or, like I said, people with steak swim trunks.
-
+    - !^sidebar
+      Steaks 'n' Slides: &gt;
+
+        My uncles love waterslides and they also love steakhouses.  They have these waterslide days
+        which are directly followed by a trip over to Joey's Steakhouse.  I _hate_ Joey's Steakhouse.  It's
+        all big, brown shoe meat.  Floppy and galoshy.  Mixed with the stench of the uncles' chlorine.
+
+
+        Pruny fingers on meat slabs is The Revolting.
+
+
+        It's time for steaks and waterslides to come together in a truly repugnant manner.
+        My uncles have had steaks and waterslides their whole lives.  The dynasty of steaks
+        and waterslides must come to a close.  I will marry them in ways against nature!
+
+
+        Like this:
+
+
+        * Hand steaks to riders as they board the waterslide.  Rider looks at the lifeguard.
+        Lifeguard says wait.  Rider looks again.  The lifeguard pauses.  Then.  Okay, it's time.
+        _Go, kid, go!_  And the look on that kid's face as he rushes down the slope, paws
+        full of chuck!  _Go, kid, go!_
+
+        * Kids slide on top of steaks.  For safety, we'd want the slides stacked five steaks deep.
+
+        * Or, steaks do the sliding.  In their own little swim trunks.
+
+        * Or, people.  With steak swim trunks.
+
+        * People and steaks, side-by-side.
+        
+        * Steaks travelling down waterslides composed of steaks.
+
+        * Steaks travelling down waterslides made of people.
+
+        * And, of course, people eating steaks, but their tongues come out as waterslides and
+        they have to push the steaks up the waterslides.  Which is impossible and a lifeguard has to climb
+        up the waterslide and manually insert the steak into the esophagus.
+
+        * Waterslides eating people and steaks eating people.
+
+        * Waterslides and steaks becoming friends after smelling people on each other's breath.
+
+        * Or, steaks befriending waterslides, but waterslides not reciprocating.  Waterslides
+        become increasingly despondent and detached, getting into bad crowds and sinking into
+        political extremity.  Steaks make ankle bracelets out of people and leave them in the
+        waterslides' trouser pockets, when the trousers are unattended.  They sneak out of the
+        waterslide commune via a huge waterslide made of steak swim trunks.
+
+        * Or, like I said, people with steak swim trunks.
+</diff>
      <filename>lang-pt/poignant-75.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,157 +1,157 @@
-    - &gt;
-        &quot;All that writing on the cloud is deer talk?&quot; said Fox Small.
-
-
-        &quot;Help!  _Where are you guys?_&quot;  The taller fox ducked through a stormy tirade comprised of
-        thick, billowing smoke and sharp wisps.  He whirled in every direction, &quot;Somebody yell if you're
-        there!&quot;
-        
-        
-        He searched for a fissure in the dense matter, combing forward with his hands.  The verbose, angry
-        clouds responded by prodding him ahead, forcing him into tight corners in their brief pause
-        between sentences.  He landed in a sinkhole and kept his head down as the cascades of smoke
-        surged forward.
-
-
-        &quot;Yeah, deer can read this stuff,&quot; said Blix.  &quot;They just face their target and shoot it out of
-        their nostrils.  I once heard of a guy who *rode* a stag's love poem.&quot;
-
-
-        &quot;No way,&quot; said Fox Small.
-
-
-        &quot;Sim,&quot; disse Blix.  &quot;Aquele cara era eu.&quot;  Blix reached over his shoulder and latched onto
-        a spiral column of smoke that was twisting just above his head.  &quot;You just have to know
-        which clouds are wimpy and which clouds are grandiloquent.&quot;  Blix let the cloud pull him along
-        and when the cloud banked upwards, Blix loosed his grip and kept his feet moving slowly
-        along the ground.  &quot;See, here's a good one, long like a broom handle.  A guy found one once
-        and it was shaped _exactly_ like a car: windshield, driver's side airbag, power steering.
-        Uncanny!&quot;
-
-
-        &quot;_And that guy was--_&quot;
-
-
-        *&quot;It was!&quot;*  And Blix climbed up atop the long icy cloud, with its dangling glyphs, and stood proudly,
-        floating high above the small fox's pointy shadow.
-
-
-        &quot;Oh, I could do that,&quot; said Fox Small.  &quot;Tall and I go jetskiing all the time.  _I've stood
-        up on my jetski._  It's just like that.&quot;
-
-
-        Fox Tall dashed through a descending puff, shattering its sentence, which letters
-        came unglued and littered the ground with scrambled words, but he had only succeeded in
-        reaching the depressive portions of the deer correspondence, which manifested itself
-        as a dank and opaque mist.
-
-
-        Meanwhile, his smaller counterpart grabbed a narrow train of smoke that passed under his
-        arm.  He was airborned and yelled, *&quot;Tallyho!&quot;*  But he held too tightly and the cloud
-        evaporated under his arm and sent him back down with a short hop.
-
-
-        Since you're just beginning your use of Ruby, you may not fully grasp regular expressions
-        (or _regexps_) at first.  You may even find yourself clipping out regexps from the &quot;Regular
-        Expression Library&quot;:http://regexlib.com/DisplayPatterns.aspx and pasting them into your
-        code without having the foggiest idea why the expression works.  Or _if_ it works!
-
-
-        &lt;pre&gt;
-         loop do
-           print &quot;Enter your password: &quot;
-           password = gets
-           if password.match( /^\w{8,15}$/ )
-             break
-           else
-             puts &quot;** Bad password! Must be 8 to 15 characters!&quot;
-           end
-         end
-        &lt;/pre&gt;
-         
-
-        Do you see the unreadable deer language in the example code?  The @/^\w{8,15)$/@ is a regular
-        expression.  If I may translate, the regexp is saying, _Please only allow letters, numbers or
-        underscores.  No less than eight and no more than fifteen._
-
-
-        Express&#245;es Regulares s&#227;o uma mini-linguagem built into Ruby and many other programming languages.
-        I really shouldn't say _mini_, though, since regexps can be twisted and complicated and much more
-        difficult than any Ruby program.
-
-
-        Using regular expressions is extremely simple.  It is like the Deer: making the smoke is an
-        arduous process.  But hooking your elbow around the smoke and driving it to the Weinerschnitzel
-        to get mustard pretzel dogs is easy.
-
-
-        &lt;pre&gt;
-         irb&gt; &quot;good_password&quot;.match( /^\w{8,15}$/ )
-           =&gt; #&lt;MatchData:0xb7d54218&gt;
-         irb&gt; &quot;this_bad_password_too_long&quot;.match( /^\w{8,15}$/ )
-           =&gt; nil
-        &lt;/pre&gt;
-
-
-        The @String#match@ method is the _simplest practical use_ of regexps.  The @match@ method
-        checks to see if the string meets the rules inside the regexp.  A regexp is only useful with
-        strings, to test strings for a series of conditions.  If the conditions are met, a @MatchData@
-        object is returned.  If not, you get @nil@.
-
-
-        The most basic regular expressions are for *performing searches* inside strings.  Let's say
-        you've got a big file and you want to search it for a word or phrase.  Since a bit of time
-        has passed, let's search the Preeventualist's Losing and Finding Registry again.
-
-
-        &lt;pre&gt;
-         require 'preeventualist'
-         PreEventualist.searchfound( 'truck' ) do |page|
-           page.each_line do |line|
-             puts line if line.match( /truck/ )
-           end
-         end
-        &lt;/pre&gt;
-
-
-        This isn't too different from the code we used earlier to search for lines with the word &quot;truck&quot;.  Earlier
-        we used @puts line if line['truck']@, which is actually a simpler way of searching a string, if you're
-        just looking for a simple word.  The regexp @/truck/@ is identical.  Find the word &quot;truck&quot;.  Anywhere in the string.
-
-
-        Uhm, what if truck is capitalized.  *Truck.*  What then?
-
-
-        &lt;pre&gt;
-         puts line if line.match( /[Tt][Rr][Uu][Cc][Kk]/i )
-        &lt;/pre&gt;
-
-
-        The *character classes* are the sections surrounded by *square brackets*.  Each character class gives
-        a list of characters which are valid matches for that spot.  (The first spot matches either an uppercase @T@
-        or a lowercase @t@.  The second spot matches an @R@ or an @r@.  And so on.)
-
-
-        But a simpler way to write it is like this:
-
-
-        &lt;pre&gt;
-         puts line if line.match( /truck/i )
-        &lt;/pre&gt;
-
-
-        The letter @i@ modifier at the end of the regexp indicates that the search is *not case-sensitive*.  It
-        will match Truck.  And TRUCK.  And TrUcK.  And other ups and downs.
-
-
-        Oh, and maybe you're truck is a certain model number.  A T-1000.  Or a T-2000.  You can't remember.  It's
-        a T _something_ thousand.
-
-
-        &lt;pre&gt;
-         puts line if line.match( /T-\d000/ )
-        &lt;/pre&gt;
-
-
-        See, deer language.  The @\d@ represents a *digit*.  It's a place holder in the regexp for any type of
-        number.  The regexp will now match T-1000, T-2000, all the way up to T-9000.
+    - &gt;
+        &quot;All that writing on the cloud is deer talk?&quot; said Fox Small.
+
+
+        &quot;Help!  _Where are you guys?_&quot;  The taller fox ducked through a stormy tirade comprised of
+        thick, billowing smoke and sharp wisps.  He whirled in every direction, &quot;Somebody yell if you're
+        there!&quot;
+        
+        
+        He searched for a fissure in the dense matter, combing forward with his hands.  The verbose, angry
+        clouds responded by prodding him ahead, forcing him into tight corners in their brief pause
+        between sentences.  He landed in a sinkhole and kept his head down as the cascades of smoke
+        surged forward.
+
+
+        &quot;Yeah, deer can read this stuff,&quot; said Blix.  &quot;They just face their target and shoot it out of
+        their nostrils.  I once heard of a guy who *rode* a stag's love poem.&quot;
+
+
+        &quot;No way,&quot; said Fox Small.
+
+
+        &quot;Sim,&quot; disse Blix.  &quot;Aquele cara era eu.&quot;  Blix reached over his shoulder and latched onto
+        a spiral column of smoke that was twisting just above his head.  &quot;You just have to know
+        which clouds are wimpy and which clouds are grandiloquent.&quot;  Blix let the cloud pull him along
+        and when the cloud banked upwards, Blix loosed his grip and kept his feet moving slowly
+        along the ground.  &quot;See, here's a good one, long like a broom handle.  A guy found one once
+        and it was shaped _exactly_ like a car: windshield, driver's side airbag, power steering.
+        Uncanny!&quot;
+
+
+        &quot;_And that guy was--_&quot;
+
+
+        *&quot;It was!&quot;*  And Blix climbed up atop the long icy cloud, with its dangling glyphs, and stood proudly,
+        floating high above the small fox's pointy shadow.
+
+
+        &quot;Oh, I could do that,&quot; said Fox Small.  &quot;Tall and I go jetskiing all the time.  _I've stood
+        up on my jetski._  It's just like that.&quot;
+
+
+        Fox Tall dashed through a descending puff, shattering its sentence, which letters
+        came unglued and littered the ground with scrambled words, but he had only succeeded in
+        reaching the depressive portions of the deer correspondence, which manifested itself
+        as a dank and opaque mist.
+
+
+        Meanwhile, his smaller counterpart grabbed a narrow train of smoke that passed under his
+        arm.  He was airborned and yelled, *&quot;Tallyho!&quot;*  But he held too tightly and the cloud
+        evaporated under his arm and sent him back down with a short hop.
+
+
+        Since you're just beginning your use of Ruby, you may not fully grasp regular expressions
+        (or _regexps_) at first.  You may even find yourself clipping out regexps from the &quot;Regular
+        Expression Library&quot;:http://regexlib.com/DisplayPatterns.aspx and pasting them into your
+        code without having the foggiest idea why the expression works.  Or _if_ it works!
+
+
+        &lt;pre&gt;
+         loop do
+           print &quot;Enter your password: &quot;
+           password = gets
+           if password.match( /^\w{8,15}$/ )
+             break
+           else
+             puts &quot;** Bad password! Must be 8 to 15 characters!&quot;
+           end
+         end
+        &lt;/pre&gt;
+         
+
+        Do you see the unreadable deer language in the example code?  The @/^\w{8,15)$/@ is a regular
+        expression.  If I may translate, the regexp is saying, _Please only allow letters, numbers or
+        underscores.  No less than eight and no more than fifteen._
+
+
+        Express&#245;es Regulares s&#227;o uma mini-linguagem built into Ruby and many other programming languages.
+        I really shouldn't say _mini_, though, since regexps can be twisted and complicated and much more
+        difficult than any Ruby program.
+
+
+        Using regular expressions is extremely simple.  It is like the Deer: making the smoke is an
+        arduous process.  But hooking your elbow around the smoke and driving it to the Weinerschnitzel
+        to get mustard pretzel dogs is easy.
+
+
+        &lt;pre&gt;
+         irb&gt; &quot;good_password&quot;.match( /^\w{8,15}$/ )
+           =&gt; #&lt;MatchData:0xb7d54218&gt;
+         irb&gt; &quot;this_bad_password_too_long&quot;.match( /^\w{8,15}$/ )
+           =&gt; nil
+        &lt;/pre&gt;
+
+
+        The @String#match@ method is the _simplest practical use_ of regexps.  The @match@ method
+        checks to see if the string meets the rules inside the regexp.  A regexp is only useful with
+        strings, to test strings for a series of conditions.  If the conditions are met, a @MatchData@
+        object is returned.  If not, you get @nil@.
+
+
+        The most basic regular expressions are for *performing searches* inside strings.  Let's say
+        you've got a big file and you want to search it for a word or phrase.  Since a bit of time
+        has passed, let's search the Preeventualist's Losing and Finding Registry again.
+
+
+        &lt;pre&gt;
+         require 'preeventualist'
+         PreEventualist.searchfound( 'truck' ) do |page|
+           page.each_line do |line|
+             puts line if line.match( /truck/ )
+           end
+         end
+        &lt;/pre&gt;
+
+
+        This isn't too different from the code we used earlier to search for lines with the word &quot;truck&quot;.  Earlier
+        we used @puts line if line['truck']@, which is actually a simpler way of searching a string, if you're
+        just looking for a simple word.  The regexp @/truck/@ is identical.  Find the word &quot;truck&quot;.  Anywhere in the string.
+
+
+        Uhm, what if truck is capitalized.  *Truck.*  What then?
+
+
+        &lt;pre&gt;
+         puts line if line.match( /[Tt][Rr][Uu][Cc][Kk]/i )
+        &lt;/pre&gt;
+
+
+        The *character classes* are the sections surrounded by *square brackets*.  Each character class gives
+        a list of characters which are valid matches for that spot.  (The first spot matches either an uppercase @T@
+        or a lowercase @t@.  The second spot matches an @R@ or an @r@.  And so on.)
+
+
+        But a simpler way to write it is like this:
+
+
+        &lt;pre&gt;
+         puts line if line.match( /truck/i )
+        &lt;/pre&gt;
+
+
+        The letter @i@ modifier at the end of the regexp indicates that the search is *not case-sensitive*.  It
+        will match Truck.  And TRUCK.  And TrUcK.  And other ups and downs.
+
+
+        Oh, and maybe you're truck is a certain model number.  A T-1000.  Or a T-2000.  You can't remember.  It's
+        a T _something_ thousand.
+
+
+        &lt;pre&gt;
+         puts line if line.match( /T-\d000/ )
+        &lt;/pre&gt;
+
+
+        See, deer language.  The @\d@ represents a *digit*.  It's a place holder in the regexp for any type of
+        number.  The regexp will now match T-1000, T-2000, all the way up to T-9000.</diff>
      <filename>lang-pt/poignant-76.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,147 +1,147 @@
-
-
-        |\3. *Character Classes* |
-
-        | @\d@ | matches digits | can also be written @[0-9]@ |
-
-        | @\w@ | matches word characters (letters, numbers and the underscore) | can also be written @[A-Za-z0-9_]@ |
-
-        | @\s@ | matches whitespace (spaces, tabs, carriage returns, line feeds) | a.k.a. @[ \t\r\n]@ |
-
-        | @\D@ | matches everything _but_ digits | a negated set @[^\d]@ |
-        
-        | @\W@ | matches everything _but_ word chars | just like @[^\w]@ |
-        
-        | @\S@ | matches everything _but_ whitespace | also @[^\s]@ |
-
-        | @.@ | the period matches *everything*. |
-
-
-        Building a regexp involves chaining these placeholders together to express your search.  If you're looking for
-        a number, followed by whitespace: @/\d\s/@.  If you're looking for three numbers in a row: @/\d\d\d/@.  *The opening
-        and closing slashes mark the beginning and end of the regexp.*
-
-
-        A search for three numbers in a row can also be written as: @/\d{3}/@.  Immediately following a character class
-        like @\d@, you can use a quantifier symbol to mark how many times you want the character class to be repeat.
-
-
-        |\3. *Quantifiers* |
-
-        | @{n}@ | match exactly _n_ times | Precisely three numbers in a row is @/\d{3}/@ |
-
-        | @{n,}@ | matches _n_ times or _more_ | Three or more letters in a row is @/[a-z]{3,}/i@ |
-
-        | @{n,n2}@ | matches at least _n_ times but no more than _n2_ times | So, @/[\d,]{3,9}/@ matches
-        between three and nine characters which are numbers or commas |
-
-        | @*@ | the asterisk @*@ is short for @{0,}@ | To match a colon, followed by zero or more word characters: @/:\w*/@ |
-
-        | @+@ | the plus is short for @{1,}@ | To match one or more minus or plus signs, use @/[-+]+/@ |
-
-        | @?@ | the question mark is short for @{0,1}@ | To match three numbers followed by an optional period: @/\d{3}[.]?/@ |
-
-
-        A really common regular expression is for matching phone numbers.  American phone numbers (including an area
-        code) can be matched using the digit character class and the precise quantifiers.
-
-
-        &lt;pre&gt;
-         irb&gt; &quot;Call 909-375-4434&quot; =~ /\d{3}-\d{3}-\d{4}/
-           =&gt; 5
-         irb&gt; &quot;The number is (909) 375-4434&quot; =~ /[(]\d{3}[)]\s*\d{3}-\d{4}/
-           =&gt; 14
-        &lt;/pre&gt;
-
-
-        This time, instead of using @match@ to search for the expression, the @=~@ operator was used.  This operator is the
-        *match operator*, an equals sign followed by *a tilde*.  The tilde is like a bit of smoke coming off the edge of a
-        smokestack.  Remember the deer, the smoke they blow, a cryptic language just like regular expressions.  The smoky
-        tilde points toward the regexp.
-
-
-        The match operator returns a number.  The number is the spot in the string where the regular expression matched.
-        So when the match operator returns @5@, it's saying, &quot;Before the match, there are five characters in the string.&quot;
-
-
-        If you need to get the full string matched, you can use the special @$&amp;@ global variable if you're using the
-        match operator.  Or, if you're using the @match@ method, you can get the full string by converting the @MatchData@ object
-        to a string.
-
-
-        &lt;pre&gt;
-         # Using =~ and $&amp; together.
-         irb&gt; &quot;The number is (909) 375-4434&quot; =~ /[(]\d{3}[)]\s*\d{3}-\d{4}/
-           =&gt; 14
-         irb&gt; $&amp;
-           =&gt; &quot;(909) 375-4434&quot;
-
-         # Using the MatchData object.
-         irb&gt; phone = /[(]\d{3}[)]\s*\d{3}-\d{4}/.match(&quot;The number is (909) 375-4434&quot;)     
-           =&gt; #&lt;MatchData:0xb7d51680&gt;
-         irb&gt; phone.to_s
-           =&gt; &quot;(909) 375-4434&quot;
-        &lt;/pre&gt;
-
-
-        Most Rubyists prefer the second approach, as it uses an object within a _local variable_ rather than a _global variable_.
-        Global variables are kind of sketchy, since they can be easily overwritten.  If you run two regular expressions in a
-        row, the global variable gets overwritten the second time.  But with local variables, you can keep both matches around
-        as long as the variables are named differently.
-
-
-        Other than matching, another common use of regular expression is to do *search-and-replace* from within Ruby.
-        You can search for the word &quot;cat&quot; and replace it with the word &quot;banjo.&quot;  Sure, you can do that with strings or regexps.
-
-
-        &lt;pre&gt;
-         irb&gt; song = &quot;I swiped your cat / And I stole your cathodes&quot;
-         irb&gt; song.gsub 'cat', 'banjo'
-           =&gt; &quot;I swiped your banjo / And I stole your banjohodes&quot;
-
-         irb&gt; song.gsub /\bcat\b/, 'banjo'
-           =&gt; &quot;I swiped your banjo / And I stole your cathodes&quot;
-        &lt;/pre&gt;
-
-
-        The @gsub@ method is named for &quot;global substitution.&quot;  Notice how in the first example it replaced the word &quot;cat&quot; and the first
-        three letters of &quot;cathodes.&quot;  Strings also have a simple @sub@ method which will substite only once.
-
-
-        And so this chapter ends, with Blix and the Foxes cruising aloft the solid pink belched from a very outspoken
-        deer somewhere in those pastures.
-
-
-#        Using regular expressions for substitution is incredibly sly.  
-#
-#
-#        |\3. *Positional Marks* |
-#
-#        | @^@ | matches the beginning of a line | Test a string for a starting pound sign: @/^#/@ |
-#
-#        | @$@ | matches the end of a line | Look for empty lines: @/^\s*$/@ |
-#
-#        | @\b@ | matches the edge of a word, beginning or end | Find words which start with a vowel: @/\b[aeiou]/@ |
-#
-#        | @\A@ | matches the beginning of the string | Check if a string opens with a greeting: @/AHello/@ |
-#
-#        | @\z@ | matches the end of the string | Ensure a string contains only word characters: @/\A\w\z/@ |
-#
-#
-#        h3. Scanning for Matches
-#
-#
-#        &lt;pre&gt;
-#         def load_dictionary( filename )
-#           hsh = {}
-#           File.read( filename ).scan( /(.+): (.+)/ ) do |k, v|
-#             hsh[k] = v
-#           end
-#         end
-#        &lt;/pre&gt;
-#
-#
-#        If I can offer one piece of advice with regard to regular expressions, it's this: be yourself.  Don't get so
-#        wrapped up in regular expressions that you forget who you are.
-#
-#
+
+
+        |\3. *Character Classes* |
+
+        | @\d@ | matches digits | can also be written @[0-9]@ |
+
+        | @\w@ | matches word characters (letters, numbers and the underscore) | can also be written @[A-Za-z0-9_]@ |
+
+        | @\s@ | matches whitespace (spaces, tabs, carriage returns, line feeds) | a.k.a. @[ \t\r\n]@ |
+
+        | @\D@ | matches everything _but_ digits | a negated set @[^\d]@ |
+        
+        | @\W@ | matches everything _but_ word chars | just like @[^\w]@ |
+        
+        | @\S@ | matches everything _but_ whitespace | also @[^\s]@ |
+
+        | @.@ | the period matches *everything*. |
+
+
+        Building a regexp involves chaining these placeholders together to express your search.  If you're looking for
+        a number, followed by whitespace: @/\d\s/@.  If you're looking for three numbers in a row: @/\d\d\d/@.  *The opening
+        and closing slashes mark the beginning and end of the regexp.*
+
+
+        A search for three numbers in a row can also be written as: @/\d{3}/@.  Immediately following a character class
+        like @\d@, you can use a quantifier symbol to mark how many times you want the character class to be repeat.
+
+
+        |\3. *Quantifiers* |
+
+        | @{n}@ | match exactly _n_ times | Precisely three numbers in a row is @/\d{3}/@ |
+
+        | @{n,}@ | matches _n_ times or _more_ | Three or more letters in a row is @/[a-z]{3,}/i@ |
+
+        | @{n,n2}@ | matches at least _n_ times but no more than _n2_ times | So, @/[\d,]{3,9}/@ matches
+        between three and nine characters which are numbers or commas |
+
+        | @*@ | the asterisk @*@ is short for @{0,}@ | To match a colon, followed by zero or more word characters: @/:\w*/@ |
+
+        | @+@ | the plus is short for @{1,}@ | To match one or more minus or plus signs, use @/[-+]+/@ |
+
+        | @?@ | the question mark is short for @{0,1}@ | To match three numbers followed by an optional period: @/\d{3}[.]?/@ |
+
+
+        A really common regular expression is for matching phone numbers.  American phone numbers (including an area
+        code) can be matched using the digit character class and the precise quantifiers.
+
+
+        &lt;pre&gt;
+         irb&gt; &quot;Call 909-375-4434&quot; =~ /\d{3}-\d{3}-\d{4}/
+           =&gt; 5
+         irb&gt; &quot;The number is (909) 375-4434&quot; =~ /[(]\d{3}[)]\s*\d{3}-\d{4}/
+           =&gt; 14
+        &lt;/pre&gt;
+
+
+        This time, instead of using @match@ to search for the expression, the @=~@ operator was used.  This operator is the
+        *match operator*, an equals sign followed by *a tilde*.  The tilde is like a bit of smoke coming off the edge of a
+        smokestack.  Remember the deer, the smoke they blow, a cryptic language just like regular expressions.  The smoky
+        tilde points toward the regexp.
+
+
+        The match operator returns a number.  The number is the spot in the string where the regular expression matched.
+        So when the match operator returns @5@, it's saying, &quot;Before the match, there are five characters in the string.&quot;
+
+
+        If you need to get the full string matched, you can use the special @$&amp;@ global variable if you're using the
+        match operator.  Or, if you're using the @match@ method, you can get the full string by converting the @MatchData@ object
+        to a string.
+
+
+        &lt;pre&gt;
+         # Using =~ and $&amp; together.
+         irb&gt; &quot;The number is (909) 375-4434&quot; =~ /[(]\d{3}[)]\s*\d{3}-\d{4}/
+           =&gt; 14
+         irb&gt; $&amp;
+           =&gt; &quot;(909) 375-4434&quot;
+
+         # Using the MatchData object.
+         irb&gt; phone = /[(]\d{3}[)]\s*\d{3}-\d{4}/.match(&quot;The number is (909) 375-4434&quot;)     
+           =&gt; #&lt;MatchData:0xb7d51680&gt;
+         irb&gt; phone.to_s
+           =&gt; &quot;(909) 375-4434&quot;
+        &lt;/pre&gt;
+
+
+        Most Rubyists prefer the second approach, as it uses an object within a _local variable_ rather than a _global variable_.
+        Global variables are kind of sketchy, since they can be easily overwritten.  If you run two regular expressions in a
+        row, the global variable gets overwritten the second time.  But with local variables, you can keep both matches around
+        as long as the variables are named differently.
+
+
+        Other than matching, another common use of regular expression is to do *search-and-replace* from within Ruby.
+        You can search for the word &quot;cat&quot; and replace it with the word &quot;banjo.&quot;  Sure, you can do that with strings or regexps.
+
+
+        &lt;pre&gt;
+         irb&gt; song = &quot;I swiped your cat / And I stole your cathodes&quot;
+         irb&gt; song.gsub 'cat', 'banjo'
+           =&gt; &quot;I swiped your banjo / And I stole your banjohodes&quot;
+
+         irb&gt; song.gsub /\bcat\b/, 'banjo'
+           =&gt; &quot;I swiped your banjo / And I stole your cathodes&quot;
+        &lt;/pre&gt;
+
+
+        The @gsub@ method is named for &quot;global substitution.&quot;  Notice how in the first example it replaced the word &quot;cat&quot; and the first
+        three letters of &quot;cathodes.&quot;  Strings also have a simple @sub@ method which will substite only once.
+
+
+        And so this chapter ends, with Blix and the Foxes cruising aloft the solid pink belched from a very outspoken
+        deer somewhere in those pastures.
+
+
+#        Using regular expressions for substitution is incredibly sly.  
+#
+#
+#        |\3. *Positional Marks* |
+#
+#        | @^@ | matches the beginning of a line | Test a string for a starting pound sign: @/^#/@ |
+#
+#        | @$@ | matches the end of a line | Look for empty lines: @/^\s*$/@ |
+#
+#        | @\b@ | matches the edge of a word, beginning or end | Find words which start with a vowel: @/\b[aeiou]/@ |
+#
+#        | @\A@ | matches the beginning of the string | Check if a string opens with a greeting: @/AHello/@ |
+#
+#        | @\z@ | matches the end of the string | Ensure a string contains only word characters: @/\A\w\z/@ |
+#
+#
+#        h3. Scanning for Matches
+#
+#
+#        &lt;pre&gt;
+#         def load_dictionary( filename )
+#           hsh = {}
+#           File.read( filename ).scan( /(.+): (.+)/ ) do |k, v|
+#             hsh[k] = v
+#           end
+#         end
+#        &lt;/pre&gt;
+#
+#
+#        If I can offer one piece of advice with regard to regular expressions, it's this: be yourself.  Don't get so
+#        wrapped up in regular expressions that you forget who you are.
+#
+#</diff>
      <filename>lang-pt/poignant-76a.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-    - Just Stopping To Assure You That the Porcupine Hasn't Budged: &gt;
-
-        !i/porcupine-3.gif(The porcupine and his kite again.)!
-
+    - Just Stopping To Assure You That the Porcupine Hasn't Budged: &gt;
+
+        !i/porcupine-3.gif(The porcupine and his kite again.)!
+</diff>
      <filename>lang-pt/poignant-77.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,52 +1,52 @@
-    - I'm Out: &gt;
-
-        !&gt;i/quil-1.png!
-
-
-        !&lt;i/quil-2.png!
-
-
-        Um dia, h&#225; algum tempo atr&#225;s quando conheci o Bigelow (o cachorro que fugiu com os bal&#245;es), Eu voltei pro meu apartamento
-        hauling some board games I'd bought at a garage sale.  And Quil was on my porch.  O que me surpreendeu pois ela estava em
-        San Antonio por tr&#234;s meses.  She was sleeping in a sleeping bag on my porch.
-
-
-        Ela n&#227;o tinha grana para a escola de artes, ent&#227;o ela ficou na minha casa por uns cinco meses.
-
-
-        I found this used bunkbed for our place.  At night we'd sit in our beds and read each other stories 
-        from our notebooks.  Eu estava escrevendo um livro sobre
-        uma crian&#231;a que era um detetive e estava tentando descobrir quem matou this kid on his tennis team and all these animals
-        end up helping him figure it out.  She was writing a book about this kid who puts an ad in the classifieds to get
-        other kids to join his made-up cult and they end up building a rocket ship.  But during most of her book these
-        kids are lost in the woods and pretty directionless, which I got a kick out of hearing each night.
-
-
-        Yeah, each night it was poetry or stories or ideas for tricking our neighbors.  Our neighbor Justin was
-        a big fan of Warhammer and he had all these real swords and tunics.  We decided to make suits of armor out of tin
-        foil and go attack his apartment.  We started ransacking his apartment and he loved it.  So he made his own suit
-        of armor out of tin foil and we all went to a professional glamour studio and had a quality group shot taken.
-
-
-        !&gt;i/quil-3.png!
-
-
-        N&#227;o estou dizendo que minha vida &#233; melhor que a sua. Eu simplesmente sinto falta da minha irm&#227;. As coisas n&#227;o s&#227;o mais como antigamente.
-        Estamos dissolvidos ou algo do tipo.
-
-
-        N&#227;o sei.  T&#244; confuso.  Is this growing up?  Watching all your feathers come off?  And even though some of those
-        feathers were the most lovely things?
-
-
-        I'm having a hard time telling who stopped it all up.  Who stopped loving who?  Did I stop caring?  Maybe I only
-        saw her in two-dimensions and I didn't care to look at the other angles.  I only saw planes.  Then she shimmied up the z-axis when I wasn't
-        looking and I never did the homework to trace the coordinates.  A limb on a geometrical tree and I am insisting on circles.
-
-
-        Blix estava certo.  I'm in so shape to write this book.  Goodbye until I can shake this.
-        
-        
-        !i/departure.png!
-
-
+    - I'm Out: &gt;
+
+        !&gt;i/quil-1.png!
+
+
+        !&lt;i/quil-2.png!
+
+
+        Um dia, h&#225; algum tempo atr&#225;s quando conheci o Bigelow (o cachorro que fugiu com os bal&#245;es), Eu voltei pro meu apartamento
+        hauling some board games I'd bought at a garage sale.  And Quil was on my porch.  O que me surpreendeu pois ela estava em
+        San Antonio por tr&#234;s meses.  She was sleeping in a sleeping bag on my porch.
+
+
+        Ela n&#227;o tinha grana para a escola de artes, ent&#227;o ela ficou na minha casa por uns cinco meses.
+
+
+        I found this used bunkbed for our place.  At night we'd sit in our beds and read each other stories 
+        from our notebooks.  Eu estava escrevendo um livro sobre
+        uma crian&#231;a que era um detetive e estava tentando descobrir quem matou this kid on his tennis team and all these animals
+        end up helping him figure it out.  She was writing a book about this kid who puts an ad in the classifieds to get
+        other kids to join his made-up cult and they end up building a rocket ship.  But during most of her book these
+        kids are lost in the woods and pretty directionless, which I got a kick out of hearing each night.
+
+
+        Yeah, each night it was poetry or stories or ideas for tricking our neighbors.  Our neighbor Justin was
+        a big fan of Warhammer and he had all these real swords and tunics.  We decided to make suits of armor out of tin
+        foil and go attack his apartment.  We started ransacking his apartment and he loved it.  So he made his own suit
+        of armor out of tin foil and we all went to a professional glamour studio and had a quality group shot taken.
+
+
+        !&gt;i/quil-3.png!
+
+
+        N&#227;o estou dizendo que minha vida &#233; melhor que a sua. Eu simplesmente sinto falta da minha irm&#227;. As coisas n&#227;o s&#227;o mais como antigamente.
+        Estamos dissolvidos ou algo do tipo.
+
+
+        N&#227;o sei.  T&#244; confuso.  Is this growing up?  Watching all your feathers come off?  And even though some of those
+        feathers were the most lovely things?
+
+
+        I'm having a hard time telling who stopped it all up.  Who stopped loving who?  Did I stop caring?  Maybe I only
+        saw her in two-dimensions and I didn't care to look at the other angles.  I only saw planes.  Then she shimmied up the z-axis when I wasn't
+        looking and I never did the homework to trace the coordinates.  A limb on a geometrical tree and I am insisting on circles.
+
+
+        Blix estava certo.  I'm in so shape to write this book.  Goodbye until I can shake this.
+        
+        
+        !i/departure.png!
+
+</diff>
      <filename>lang-pt/poignant-78.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1 @@
-  - When You Wish Upon a Beard:
+  - When You Wish Upon a Beard:</diff>
      <filename>lang-pt/poignant-79.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,16 +1,16 @@
-    - &gt;
-      !i/wish.upon.a.beard-1.gif!
-
-
-      HEY THIS CHAPTER GOT DROPPED IN MY LAP.  SOON I'LL HAVE it READY.  I WILL.
-
-
-#      !i/wish.upon.a.beard-2.gif!
-#
-#      !i/wish.upon.a.beard-5.gif!
-#
-#      !i/wish.upon.a.beard-4.gif!
-#
-#      !i/wish.upon.a.beard-3.gif!
-
-expansion_paks:
+    - &gt;
+      !i/wish.upon.a.beard-1.gif!
+
+
+      HEY THIS CHAPTER GOT DROPPED IN MY LAP.  SOON I'LL HAVE it READY.  I WILL.
+
+
+#      !i/wish.upon.a.beard-2.gif!
+#
+#      !i/wish.upon.a.beard-5.gif!
+#
+#      !i/wish.upon.a.beard-4.gif!
+#
+#      !i/wish.upon.a.beard-3.gif!
+
+expansion_paks:</diff>
      <filename>lang-pt/poignant-80.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1 @@
-  - The Tiger's Vest (with a Basic Introduction to Irb):
+  - The Tiger's Vest (with a Basic Introduction to Irb):</diff>
      <filename>lang-pt/poignant-81.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-    - &gt;
-      !i/tigers.vest-1.gif(Tiger has vest.  Tiger likes girl robot.  Earth crashing into sun...)!
-
-
+    - &gt;
+      !i/tigers.vest-1.gif(Tiger has vest.  Tiger likes girl robot.  Earth crashing into sun...)!
+
+</diff>
      <filename>lang-pt/poignant-82.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,41 +1,41 @@
-    - !^sidebar
-      Sobre as vers&#245;es do Ruby: &gt;
-		
-        Se voc&#234; tem visitado v&#225;rios sites que oferecem download do Ruby, voc&#234; provavelmente viu v&#225;rias vers&#245;es
-        diferentes dispon&#237;veis. Parece l&#243;gico que quanto maior for o n&#250;mero da vers&#227;o,
-        mais recente &#233; a vers&#227;o do Ruby. Mas isso n&#227;o &#233; verdade. Na terra do Ruby, n&#250;meros de vers&#245;es t&#234;m significados
-        e eu gostaria que voc&#234; fizesse a escolha certa.
-
-
-        A &#250;ltima vers&#227;o *est&#225;vel* do Ruby &#233; a *1.8.3*. Vers&#245;es est&#225;veis oferecem os recursos mais recentes
-        que s&#227;o testadas v&#225;rias vezes e s&#227;o recomendados para uso geral.  Quando novas vers&#245;es est&#225;veis
-        s&#227;o lan&#231;adas, voc&#234; pode seguramente atualizar seu Ruby para estas novas vers&#245;es.
-
-
-        A &#250;ltima vers&#227;o do Ruby liberada para *desenvolvimento* &#233; a *1.9.0*. A vers&#227;o de desenvolvimento inclui
-        altera&#231;&#245;es experimentais e problemas n&#227;o resolvidos. Esta vers&#227;o &#233; destinada a todos que queiram
-        espiar o futuro do Ruby, correndo o risco de encontrar alguns erros.
-
-
-        Agora, voc&#234; notar&#225; que o n&#250;mero da vers&#227;o &#233; composto por tr&#234;s n&#250;meros individuais,
-        que s&#227;o: *a vers&#227;o maior*, *a vers&#227;o menor*, e *a vers&#227;o pequenina*. A
-        vers&#227;o maior &#233; aumentada toda vez que o Ruby &#233; reescrito.  A menor vers&#227;o &#233; alterada baseando-se
-        em mudan&#231;as radicais do Ruby. A vers&#227;o pequenina &#233; incrementada de poucos em poucos meses como menores
-        altera&#231;&#245;es e solu&#231;&#245;es para alguns erros.
-
-
-        Todas as edi&#231;&#245;es do Ruby, at&#233; agora, t&#234;m a vers&#227;o maior como 1. Quando o Ruby 2.0 vier, voc&#234; ver&#225;
-        este n&#250;mero mudar para 2.
-
-
-        A menor vers&#227;o indica se a vers&#227;o &#233; est&#225;vel ou n&#227;o. *Se a vers&#227;o menor
-        &#233; um numero par, ent&#227;o a vers&#227;o &#233; est&#225;vel.  Se for &#237;mpar, ent&#227;o aquele Ruby 
-        &#233; uma vers&#227;o para desenvolvimento*. Depois de um ano ou mais, quando a vers&#227;o de desenvolvimento est&#225; pronta
-        para o mundo, ambos os n&#250;meros s&#227;o incrementados e o n&#250;mero da vers&#227;o pequenina volta para zero.
-
-
-        Ahh se eu pudesse lhe dar um gostinho de como o Ruby evolui! Eu n&#227;o posso contar
-        quantas vezes uma id&#233;ia fresquinha pousa na lista de emails do Ruby-Core, onde os Imperadores do
-        Ruby conversam, e *aquela mesma id&#233;ia* come&#231;a a ser trabalhada em poucos dias. Como eu costumo
-        dizer, &#233; uma bela engrenagem.
-
+    - !^sidebar
+      Sobre as vers&#245;es do Ruby: &gt;
+		
+        Se voc&#234; tem visitado v&#225;rios sites que oferecem download do Ruby, voc&#234; provavelmente viu v&#225;rias vers&#245;es
+        diferentes dispon&#237;veis. Parece l&#243;gico que quanto maior for o n&#250;mero da vers&#227;o,
+        mais recente &#233; a vers&#227;o do Ruby. Mas isso n&#227;o &#233; verdade. Na terra do Ruby, n&#250;meros de vers&#245;es t&#234;m significados
+        e eu gostaria que voc&#234; fizesse a escolha certa.
+
+
+        A &#250;ltima vers&#227;o *est&#225;vel* do Ruby &#233; a *1.8.3*. Vers&#245;es est&#225;veis oferecem os recursos mais recentes
+        que s&#227;o testadas v&#225;rias vezes e s&#227;o recomendados para uso geral.  Quando novas vers&#245;es est&#225;veis
+        s&#227;o lan&#231;adas, voc&#234; pode seguramente atualizar seu Ruby para estas novas vers&#245;es.
+
+
+        A &#250;ltima vers&#227;o do Ruby liberada para *desenvolvimento* &#233; a *1.9.0*. A vers&#227;o de desenvolvimento inclui
+        altera&#231;&#245;es experimentais e problemas n&#227;o resolvidos. Esta vers&#227;o &#233; destinada a todos que queiram
+        espiar o futuro do Ruby, correndo o risco de encontrar alguns erros.
+
+
+        Agora, voc&#234; notar&#225; que o n&#250;mero da vers&#227;o &#233; composto por tr&#234;s n&#250;meros individuais,
+        que s&#227;o: *a vers&#227;o maior*, *a vers&#227;o menor*, e *a vers&#227;o pequenina*. A
+        vers&#227;o maior &#233; aumentada toda vez que o Ruby &#233; reescrito.  A menor vers&#227;o &#233; alterada baseando-se
+        em mudan&#231;as radicais do Ruby. A vers&#227;o pequenina &#233; incrementada de poucos em poucos meses como menores
+        altera&#231;&#245;es e solu&#231;&#245;es para alguns erros.
+
+
+        Todas as edi&#231;&#245;es do Ruby, at&#233; agora, t&#234;m a vers&#227;o maior como 1. Quando o Ruby 2.0 vier, voc&#234; ver&#225;
+        este n&#250;mero mudar para 2.
+
+
+        A menor vers&#227;o indica se a vers&#227;o &#233; est&#225;vel ou n&#227;o. *Se a vers&#227;o menor
+        &#233; um numero par, ent&#227;o a vers&#227;o &#233; est&#225;vel.  Se for &#237;mpar, ent&#227;o aquele Ruby 
+        &#233; uma vers&#227;o para desenvolvimento*. Depois de um ano ou mais, quando a vers&#227;o de desenvolvimento est&#225; pronta
+        para o mundo, ambos os n&#250;meros s&#227;o incrementados e o n&#250;mero da vers&#227;o pequenina volta para zero.
+
+
+        Ahh se eu pudesse lhe dar um gostinho de como o Ruby evolui! Eu n&#227;o posso contar
+        quantas vezes uma id&#233;ia fresquinha pousa na lista de emails do Ruby-Core, onde os Imperadores do
+        Ruby conversam, e *aquela mesma id&#233;ia* come&#231;a a ser trabalhada em poucos dias. Como eu costumo
+        dizer, &#233; uma bela engrenagem.
+</diff>
      <filename>lang-pt/poignant-83.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,115 +1,115 @@
-    - &gt;
-      Let's install the very latest Ruby on your computer so you can follow all the examples
-      in the (Poignant) Guide and actually do things right now!  (Yes, things!)
-
-
-      * If you are using *Microsoft Windows*, begin by downloading the &quot;Ruby Installer for
-      Windows&quot;:http://rubyforge.org/frs/?group_id=167.  Running this &quot;one-click&quot; installer will
-      setup Ruby for you, as well as a tidy pack of useful software, such as a small text editor and some
-      additional libraries.
-
-      * If you are on Apple's *Mac OS X*, then Ruby might already be installed.  Versions 10.2 and
-      10.3 of OS X both came with Ruby.  Still, I encourage you to upgrade Ruby so that all the examples
-      in this book will work for you.  Download a *stable* &quot;disk image&quot;:http://homepage.mac.com/discord/Ruby/.
-      You will need OS X 10.3 (Panther) and the XCode Tools in order to use this image.
-
-      * On *FreeBSD*, Ruby is right there in the ports system.  In fact, if you've used the essential
-      @portupgrade@ tool, then Ruby is already installed.  Akinori Musha, one of Ruby's immensely
-      talented core developers, wrote portupgrade, which means that you can use your Ruby learning
-      right away to hack up your @pkgtools.conf@.
-
-      _* &lt;pre class=&quot;text&quot;&gt;
-       cd /usr/ports/lang/ruby18
-       sudo make install
-      &lt;/pre&gt;
-
-      * On *RedHat* or *Mandrake* Linux, you can find &quot;Ruby RPMs&quot;:http://rpmfind.net/linux/rpm2html/search.php?query=Ruby.
-      I believe Ruby is also available through Ximian's Red Carpet.
-
-      * On *Debian*, use @apt-get install ruby@.
-
-      * On *Gentoo*, @emerge ruby@.
-
-      * Other *Linux* and *UNIX* platforms, even *OS X* (if the disk images don't work for you): 
-      Download the &quot;latest source code&quot;:http://ruby-lang.org/en/20020102.html.  
-      For instance, &quot;Ruby 1.8.3&quot;:ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.8.3.tar.gz.  To unpack and compile:
-
-      _* &lt;pre class=&quot;text&quot;&gt;
-       tar xzvf ruby-1.8.3.tar.gz
-       cd ruby-1.8.3
-       ./configure
-       make
-       make install
-      &lt;/pre&gt;
-
-      _* (Again, the above commands are for installing Ruby from the source code.  You may need to use
-      @su@ or @sudo@ to give you permission to run the @make install@.)
-
-
-      To test if Ruby is installed, open a command shell and run: @ruby -v@.  If Ruby is installed
-      properly, you'll see a bit of version info.
-
-
-      &lt;pre class=&quot;text&quot;&gt;
-       ruby 1.8.3 (2005-11-25) [i386-mswin32]
-      &lt;/pre&gt;
-
-
-      * To open a command shell in *Microsoft Windows*, go to the Start Menu and select @Run...@.
-      Type in: @cmd@.  Press OK.  A command shell window will appear.
-
-      * To open a command shell on *Mac OS X*, go to *Applications &gt; Utilities*.  Run the *Terminal*
-      program.
-
- 
-      Okay, keep that command shell open cause we'll need it if the Earth gets rescued from its
-      plummet toward the sun.
-
-
-      !i/tigers.vest-2.gif(Tiger saves Earth with Ice Gun.  Girl robot zooms around tuxed shop...)!
-
-
-      Ruby comes with a very, very, very extremely helpful tool called *Irb*.  Interactive Ruby.
-      In your command shell, type: @irb@.
-
-
-      &lt;pre&gt;
-       irb(main):001:0&gt;
-      &lt;/pre&gt;
-
-
-      You should see the prompt above.  This Irb prompt will allow you to enter Ruby code and,
-      upon pressing _Enter_, the code will run.
-
-
-      So, at the Irb prompt, do a: @3000 + 500@.
-
-
-      &lt;pre&gt;
-       irb(main):001:0&gt; 3000 + 500
-       =&gt; 3500
-       irb(main):002:0&gt;      
-      &lt;/pre&gt;
-      
-
-      The example @3000 + 500@ is legitimate code.  We're just not assigning the answer to a variable.
-      Which is okay in Irb, because Irb prints the answer given back by code you run.
-
-
-      Irb is a great calculator.
-
-
-      &lt;pre&gt;
-       irb(main):002:0&gt; ( ( 220.00 + 34.15 ) * 1.08 ) / 12
-       =&gt; 22.8735
-       irb(main):003:0&gt; &quot;1011010&quot;.to_i( 2 )
-       =&gt; 90
-       irb(main):004:0&gt; Time.now - Time.local( 2003, &quot;Jul&quot;, 31, 8, 10, 0 )
-       =&gt; 31119052.510118
-      &lt;/pre&gt;
-
-
-      The first example demonstrates a bit of math and is read as: _220.00 plus 34.15 times 1.08 divided by 12_.
-      The second example takes a binary string and converts it to a decimal number.  The third example computes
-      the number of seconds between @now@ and July 31, 2003 at 8:10 AM.  The answers to all of these are
-      printed back to us by Irb with a little ASCII arrow pointing.
+    - &gt;
+      Let's install the very latest Ruby on your computer so you can follow all the examples
+      in the (Poignant) Guide and actually do things right now!  (Yes, things!)
+
+
+      * If you are using *Microsoft Windows*, begin by downloading the &quot;Ruby Installer for
+      Windows&quot;:http://rubyforge.org/frs/?group_id=167.  Running this &quot;one-click&quot; installer will
+      setup Ruby for you, as well as a tidy pack of useful software, such as a small text editor and some
+      additional libraries.
+
+      * If you are on Apple's *Mac OS X*, then Ruby might already be installed.  Versions 10.2 and
+      10.3 of OS X both came with Ruby.  Still, I encourage you to upgrade Ruby so that all the examples
+      in this book will work for you.  Download a *stable* &quot;disk image&quot;:http://homepage.mac.com/discord/Ruby/.
+      You will need OS X 10.3 (Panther) and the XCode Tools in order to use this image.
+
+      * On *FreeBSD*, Ruby is right there in the ports system.  In fact, if you've used the essential
+      @portupgrade@ tool, then Ruby is already installed.  Akinori Musha, one of Ruby's immensely
+      talented core developers, wrote portupgrade, which means that you can use your Ruby learning
+      right away to hack up your @pkgtools.conf@.
+
+      _* &lt;pre class=&quot;text&quot;&gt;
+       cd /usr/ports/lang/ruby18
+       sudo make install
+      &lt;/pre&gt;
+
+      * On *RedHat* or *Mandrake* Linux, you can find &quot;Ruby RPMs&quot;:http://rpmfind.net/linux/rpm2html/search.php?query=Ruby.
+      I believe Ruby is also available through Ximian's Red Carpet.
+
+      * On *Debian*, use @apt-get install ruby@.
+
+      * On *Gentoo*, @emerge ruby@.
+
+      * Other *Linux* and *UNIX* platforms, even *OS X* (if the disk images don't work for you): 
+      Download the &quot;latest source code&quot;:http://ruby-lang.org/en/20020102.html.  
+      For instance, &quot;Ruby 1.8.3&quot;:ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.8.3.tar.gz.  To unpack and compile:
+
+      _* &lt;pre class=&quot;text&quot;&gt;
+       tar xzvf ruby-1.8.3.tar.gz
+       cd ruby-1.8.3
+       ./configure
+       make
+       make install
+      &lt;/pre&gt;
+
+      _* (Again, the above commands are for installing Ruby from the source code.  You may need to use
+      @su@ or @sudo@ to give you permission to run the @make install@.)
+
+
+      To test if Ruby is installed, open a command shell and run: @ruby -v@.  If Ruby is installed
+      properly, you'll see a bit of version info.
+
+
+      &lt;pre class=&quot;text&quot;&gt;
+       ruby 1.8.3 (2005-11-25) [i386-mswin32]
+      &lt;/pre&gt;
+
+
+      * To open a command shell in *Microsoft Windows*, go to the Start Menu and select @Run...@.
+      Type in: @cmd@.  Press OK.  A command shell window will appear.
+
+      * To open a command shell on *Mac OS X*, go to *Applications &gt; Utilities*.  Run the *Terminal*
+      program.
+
+ 
+      Okay, keep that command shell open cause we'll need it if the Earth gets rescued from its
+      plummet toward the sun.
+
+
+      !i/tigers.vest-2.gif(Tiger saves Earth with Ice Gun.  Girl robot zooms around tuxed shop...)!
+
+
+      Ruby comes with a very, very, very extremely helpful tool called *Irb*.  Interactive Ruby.
+      In your command shell, type: @irb@.
+
+
+      &lt;pre&gt;
+       irb(main):001:0&gt;
+      &lt;/pre&gt;
+
+
+      You should see the prompt above.  This Irb prompt will allow you to enter Ruby code and,
+      upon pressing _Enter_, the code will run.
+
+
+      So, at the Irb prompt, do a: @3000 + 500@.
+
+
+      &lt;pre&gt;
+       irb(main):001:0&gt; 3000 + 500
+       =&gt; 3500
+       irb(main):002:0&gt;      
+      &lt;/pre&gt;
+      
+
+      The example @3000 + 500@ is legitimate code.  We're just not assigning the answer to a variable.
+      Which is okay in Irb, because Irb prints the answer given back by code you run.
+
+
+      Irb is a great calculator.
+
+
+      &lt;pre&gt;
+       irb(main):002:0&gt; ( ( 220.00 + 34.15 ) * 1.08 ) / 12
+       =&gt; 22.8735
+       irb(main):003:0&gt; &quot;1011010&quot;.to_i( 2 )
+       =&gt; 90
+       irb(main):004:0&gt; Time.now - Time.local( 2003, &quot;Jul&quot;, 31, 8, 10, 0 )
+       =&gt; 31119052.510118
+      &lt;/pre&gt;
+
+
+      The first example demonstrates a bit of math and is read as: _220.00 plus 34.15 times 1.08 divided by 12_.
+      The second example takes a binary string and converts it to a decimal number.  The third example computes
+      the number of seconds between @now@ and July 31, 2003 at 8:10 AM.  The answers to all of these are
+      printed back to us by Irb with a little ASCII arrow pointing.</diff>
      <filename>lang-pt/poignant-84.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,97 +1,97 @@
-
-
-      h3. Lendo o prompt
-
-
-      Eu sei que o prompt com certeza parece desconcertante.  Bem, vamos logo dissec&#225;-lo.  &#201; muito simples.
-      O prompt tem tr&#234;s partes, cada uma separada por *dois pontos*.
-
-
-      A primeira se&#231;&#227;o, onde est&#225; escrito @irb(main)@, mostra *o nome do programa* que estamos rodando.  A segunda
-      se&#231;&#227;o mostra o n&#250;mero da linha, *um contador de quantas linhas de Ruby n&#243;s digitamos*.  A terceira se&#231;&#227;o &#233; *um
-      n&#237;vel de profundidade*.  Toda vez que voc&#234; abrir uma express&#227;o que precisa ser fechada, o n&#237;vel de profundidade 
-      vai aumentar uma unidade. E toda vez que o Irb detectar que seu c&#243;digo n&#227;o est&#225; terminado, *o fim do prompt
-      vai virar um asterisco.*  
-
-
-      &lt;pre&gt;
-       irb(main):001:0&gt; campainha = :apertada
-       =&gt; :apertada
-       irb(main):002:0&gt; pistola_de_gelo =
-       irb(main):003:0*   if campainha == :apertada
-       irb(main):004:1&gt;     :ligar
-       irb(main):005:1&gt;   else
-       irb(main):006:1*     :desligar
-       irb(main):007:1&gt;   end
-       =&gt; :ligar
-      &lt;/pre&gt;
-        
-
-      Veja como o n&#237;vel de profundidade aumentou para 1 quando eu abri o @if@.  E como o asterisco indica a
-      continua&#231;&#227;o da linha.
-
-
-      h3. Ajustando o Prompt
-
-
-      Voc&#234; n&#227;o tem que gostar da apar&#234;ncia do prompt, entretanto.  N&#227;o estou for&#231;ando voc&#234; a fazer nada e,
-      se voc&#234; quer hacke&#225;-lo, estou do seu lado.
-
-
-      O Irb tem mais alguns prompts que podem agradar seus sentidos.  Tente @irb --prompt simple@.
-      Desta vez o Irb vai lhe proporcionar um conjunto bem b&#225;sico de setas, permitindo a voc&#234; digitar seu
-      c&#243;digo sem todo o relat&#243;rio de status.
-
-
-      &lt;pre&gt;
-       &gt;&gt; %w(bra&#231;o do meu melhor amigo)
-       =&gt; [&quot;bra&#231;o&quot;, &quot;do&quot;, &quot;meu&quot;, &quot;melhor&quot;, &quot;amigo&quot;]
-       &gt;&gt; 
-      &lt;/pre&gt;
-
-
-      Ruby vem com alguns prompts.  O prompt *simple* visto acima.  O prompt *xmp* que n&#227;o tem nenhum
-      prompt e identa a seta de resposta.  (Deve ficar bom para impress&#227;o.)  Al&#233;m disso, o prompt
-      *null*, que elimina todos os prompts.  Defina o prompt fornecendo o nome dele na op&#231;&#227;o
-      @--prompt@.  (Portanto, @irb --prompt null@.)
-
-
-      Voc&#234; tamb&#233;m pode fazer seu pr&#243;prio prompt.  O Irb &#233; completamente customiz&#225;vel de dentro dele mesmo.
-      O objeto @conf@ cont&#233;m todas as configura&#231;&#245;es do Irb.  Algumas destas configura&#231;&#245;es s&#227;o para o 
-      controle do prompt.
-
-
-      &lt;pre&gt;
-       &gt;&gt; conf.methods.grep /prompt/
-       =&gt; [&quot;prompting?&quot;, &quot;prompt_s&quot;, &quot;prompt_s=&quot;, &quot;prompt_c&quot;, &quot;prompt_c=&quot;, 
-           &quot;prompt_i&quot;, &quot;prompt_mode&quot;, &quot;prompt_i=&quot;, &quot;prompt_mode=&quot;]
-      &lt;/pre&gt;
-
-
-      Vamos configurar nosso prompt para mostrar o n&#250;mero da linha com um pouquinho de decora&#231;&#227;o.
-
-
-      &lt;pre&gt;
-       &gt;&gt; conf.prompt_i = &quot;%3n :&gt; &quot;           # o prompt normal
-       &gt;&gt; conf.prompt_s = &quot;%3n .%l &quot;          # o prompt de continua&#231;&#227;o de string
-       &gt;&gt; conf.prompt_c = &quot;%3n .^ &quot;           # o prompt de continua&#231;&#227;o de c&#243;digo
-       &gt;&gt; conf.return_format = &quot;    =&gt; %s\n&quot;  # a seta de resposta
-      &lt;/pre&gt;
-
-
-      Acima est&#227;o as quatro partes de um prompt Irb.  O prompt de continua&#231;&#227;o de string &#233; mostrado quando
-      uma string ainda est&#225; aberta quando voc&#234; aperta _Enter_.  O @%3n@ descreve que o Irb deve reservar tr&#234;s
-      caracteres para o n&#250;mero da linha.  O @%l@ guarda um lugar para mostrar o tipo da string que ser&#225;
-      continuada.  (Se voc&#234; est&#225; continuando uma string de aspas duplas, ele mostra aspas duplas.  Se voc&#234;
-      est&#225; continuando uma express&#227;o regular, ele mostra uma barra.)
-
-
-      O resto s&#227;o apenas s&#237;mbolos para decorar o prompt.  Ent&#227;o, em caso de continua&#231;&#227;o de uma linha de c&#243;digo,
-      eu mostro um acento circunflexo que aponta para a linha onde aquela linha de c&#243;digo come&#231;ou. 
-
-
-      Voc&#234; pode ler mais sobre a customiza&#231;&#227;o do Irb e sobre salvar sua configura&#231;&#227;o num arquivo no 
-      completo &quot;guia para o Irb&quot;:http://www.ruby-doc.org/docs/ProgrammingRuby/html/irb.html, dispon&#237;vel no
-      _Programming Ruby_, gr&#225;tis-para-seus-olhos-de-Internet-perambulantes.
-
-
+
+
+      h3. Lendo o prompt
+
+
+      Eu sei que o prompt com certeza parece desconcertante.  Bem, vamos logo dissec&#225;-lo.  &#201; muito simples.
+      O prompt tem tr&#234;s partes, cada uma separada por *dois pontos*.
+
+
+      A primeira se&#231;&#227;o, onde est&#225; escrito @irb(main)@, mostra *o nome do programa* que estamos rodando.  A segunda
+      se&#231;&#227;o mostra o n&#250;mero da linha, *um contador de quantas linhas de Ruby n&#243;s digitamos*.  A terceira se&#231;&#227;o &#233; *um
+      n&#237;vel de profundidade*.  Toda vez que voc&#234; abrir uma express&#227;o que precisa ser fechada, o n&#237;vel de profundidade 
+      vai aumentar uma unidade. E toda vez que o Irb detectar que seu c&#243;digo n&#227;o est&#225; terminado, *o fim do prompt
+      vai virar um asterisco.*  
+
+
+      &lt;pre&gt;
+       irb(main):001:0&gt; campainha = :apertada
+       =&gt; :apertada
+       irb(main):002:0&gt; pistola_de_gelo =
+       irb(main):003:0*   if campainha == :apertada
+       irb(main):004:1&gt;     :ligar
+       irb(main):005:1&gt;   else
+       irb(main):006:1*     :desligar
+       irb(main):007:1&gt;   end
+       =&gt; :ligar
+      &lt;/pre&gt;
+        
+
+      Veja como o n&#237;vel de profundidade aumentou para 1 quando eu abri o @if@.  E como o asterisco indica a
+      continua&#231;&#227;o da linha.
+
+
+      h3. Ajustando o Prompt
+
+
+      Voc&#234; n&#227;o tem que gostar da apar&#234;ncia do prompt, entretanto.  N&#227;o estou for&#231;ando voc&#234; a fazer nada e,
+      se voc&#234; quer hacke&#225;-lo, estou do seu lado.
+
+
+      O Irb tem mais alguns prompts que podem agradar seus sentidos.  Tente @irb --prompt simple@.
+      Desta vez o Irb vai lhe proporcionar um conjunto bem b&#225;sico de setas, permitindo a voc&#234; digitar seu
+      c&#243;digo sem todo o relat&#243;rio de status.
+
+
+      &lt;pre&gt;
+       &gt;&gt; %w(bra&#231;o do meu melhor amigo)
+       =&gt; [&quot;bra&#231;o&quot;, &quot;do&quot;, &quot;meu&quot;, &quot;melhor&quot;, &quot;amigo&quot;]
+       &gt;&gt; 
+      &lt;/pre&gt;
+
+
+      Ruby vem com alguns prompts.  O prompt *simple* visto acima.  O prompt *xmp* que n&#227;o tem nenhum
+      prompt e identa a seta de resposta.  (Deve ficar bom para impress&#227;o.)  Al&#233;m disso, o prompt
+      *null*, que elimina todos os prompts.  Defina o prompt fornecendo o nome dele na op&#231;&#227;o
+      @--prompt@.  (Portanto, @irb --prompt null@.)
+
+
+      Voc&#234; tamb&#233;m pode fazer seu pr&#243;prio prompt.  O Irb &#233; completamente customiz&#225;vel de dentro dele mesmo.
+      O objeto @conf@ cont&#233;m todas as configura&#231;&#245;es do Irb.  Algumas destas configura&#231;&#245;es s&#227;o para o 
+      controle do prompt.
+
+
+      &lt;pre&gt;
+       &gt;&gt; conf.methods.grep /prompt/
+       =&gt; [&quot;prompting?&quot;, &quot;prompt_s&quot;, &quot;prompt_s=&quot;, &quot;prompt_c&quot;, &quot;prompt_c=&quot;, 
+           &quot;prompt_i&quot;, &quot;prompt_mode&quot;, &quot;prompt_i=&quot;, &quot;prompt_mode=&quot;]
+      &lt;/pre&gt;
+
+
+      Vamos configurar nosso prompt para mostrar o n&#250;mero da linha com um pouquinho de decora&#231;&#227;o.
+
+
+      &lt;pre&gt;
+       &gt;&gt; conf.prompt_i = &quot;%3n :&gt; &quot;           # o prompt normal
+       &gt;&gt; conf.prompt_s = &quot;%3n .%l &quot;          # o prompt de continua&#231;&#227;o de string
+       &gt;&gt; conf.prompt_c = &quot;%3n .^ &quot;           # o prompt de continua&#231;&#227;o de c&#243;digo
+       &gt;&gt; conf.return_format = &quot;    =&gt; %s\n&quot;  # a seta de resposta
+      &lt;/pre&gt;
+
+
+      Acima est&#227;o as quatro partes de um prompt Irb.  O prompt de continua&#231;&#227;o de string &#233; mostrado quando
+      uma string ainda est&#225; aberta quando voc&#234; aperta _Enter_.  O @%3n@ descreve que o Irb deve reservar tr&#234;s
+      caracteres para o n&#250;mero da linha.  O @%l@ guarda um lugar para mostrar o tipo da string que ser&#225;
+      continuada.  (Se voc&#234; est&#225; continuando uma string de aspas duplas, ele mostra aspas duplas.  Se voc&#234;
+      est&#225; continuando uma express&#227;o regular, ele mostra uma barra.)
+
+
+      O resto s&#227;o apenas s&#237;mbolos para decorar o prompt.  Ent&#227;o, em caso de continua&#231;&#227;o de uma linha de c&#243;digo,
+      eu mostro um acento circunflexo que aponta para a linha onde aquela linha de c&#243;digo come&#231;ou. 
+
+
+      Voc&#234; pode ler mais sobre a customiza&#231;&#227;o do Irb e sobre salvar sua configura&#231;&#227;o num arquivo no 
+      completo &quot;guia para o Irb&quot;:http://www.ruby-doc.org/docs/ProgrammingRuby/html/irb.html, dispon&#237;vel no
+      _Programming Ruby_, gr&#225;tis-para-seus-olhos-de-Internet-perambulantes.
+
+</diff>
      <filename>lang-pt/poignant-84a.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,18 +1,18 @@
-    - !^sidebar
-      Windows Hiccups: &gt;      
-
-        Okay, here's what you do to get tab completion working in Windows.  
-        &quot;Download this.&quot;:http://whytheluckystiff.net/ruby/dist/readline.so-for-1.8.zip
-        A zip with two files inside.  These get copied into your Ruby installation.
-        Place readline.dll in the *bin* folder.  The readline.so goes in
-        *lib/ruby/1.8/i386-mswin32* folder.
-
-
-        Then, run in your command shell: @irb --readline -r irb/completion@.
-
-
-        And for Europeans, you'll need &quot;this.&quot;:http://whytheluckystiff.net/ruby/dist/Input.euro
-        Save it as *.inputrc* and place it in your home directory.  (Your personal directory
-        which contains your Desktop and My Documents folders.)
-
-
+    - !^sidebar
+      Windows Hiccups: &gt;      
+
+        Okay, here's what you do to get tab completion working in Windows.  
+        &quot;Download this.&quot;:http://whytheluckystiff.net/ruby/dist/readline.so-for-1.8.zip
+        A zip with two files inside.  These get copied into your Ruby installation.
+        Place readline.dll in the *bin* folder.  The readline.so goes in
+        *lib/ruby/1.8/i386-mswin32* folder.
+
+
+        Then, run in your command shell: @irb --readline -r irb/completion@.
+
+
+        And for Europeans, you'll need &quot;this.&quot;:http://whytheluckystiff.net/ruby/dist/Input.euro
+        Save it as *.inputrc* and place it in your home directory.  (Your personal directory
+        which contains your Desktop and My Documents folders.)
+
+</diff>
      <filename>lang-pt/poignant-85.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,309 +1,309 @@
-    - &gt;
-      h3. Tab Completion
-
-
-      Uma caracter&#237;stica do Irb raramente mencionada &#233; a vantagem do recurso de auto-completar com a tecla TAB.
-      Este t&#243;pico &#233; um pouco de tabu no momento, uma vez que trabalhar com ele no Windows &#233; um tanto horroroso.
-      (N&#227;o, n&#227;o tenha medo. Agora, mais do que nunca, olhe &#224; sua direita.)
-
-      Se voc&#234; estiver no Linux ou no FreeBSD, o recurso de auto-completar com a tecla TAB dever&#225; funcionar imediatamente.
-      E se estiver usando OS X, voc&#234; dever&#225; ter certeza que est&#225; atualizado para &#250;ltima vers&#227;o 1.8 e quando executar o Irb, use:
-
-      &lt;pre class=&quot;text&quot;&gt;
-       irb --readline -r irb/completion
-      &lt;/pre&gt; 
-
-
-      Basicamente, quando voc&#234; teclar _TAB_, o Irb tentar&#225; adivinhar o que voc&#234; est&#225; tentando digitar.
-      Tente digitar: @[].col@ e tecle _TAB_. o Irb finalizar&#225; isto. @[].collect@ e isto levar&#225;
-      seu cursor at&#233; o final ent&#227;o voc&#234; pode adicionar mais conte&#250;do.      
-
-
-      Se existem v&#225;rias combina&#231;&#245;es, apenas teclar _TAB_ n&#227;o adiantar&#225;. Mas pressione duas vezes
-      e o Ruby lhe dar&#225; uma lista completa de poss&#237;veis combina&#231;&#245;es.
-
-
-      Isto &#233; &#243;timo se voc&#234; quer apenas ver todos os metodos para um certo objeto. Digite em qualquer
-      n&#250;mero, um ponto, e use _TAB_.
-
-
-      &lt;pre class=&quot;text&quot;&gt;
-        &gt;&gt; 42.
-                      42.floor                   42.next                    42.step
-        42.__id__     42.freeze                  42.nil?                    42.succ
-        42.__send__   42.frozen?                 42.nonzero?                42.taint
-        42.abs        42.hash                    42.object_id               42.tainted?
-        42.between?   42.id                      42.prec                    42.times
-        42.ceil       42.id2name                 42.prec_f                  42.to_f
-        42.chr        42.inspect                 42.prec_i                  42.to_i
-        42.class      42.instance_eval           42.private_methods         42.to_int
-        42.clone      42.instance_of?            42.protected_methods       42.to_s
-        42.coerce     42.instance_variable_get   42.public_methods          42.to_sym
-        42.display    42.instance_variable_set   42.quo                     42.truncate
-        42.div        42.instance_variables      42.remainder               42.type
-        42.divmod     42.integer?                42.respond_to?             42.untaint
-        42.downto     42.is_a?                   42.round                   42.upto
-        42.dup        42.kind_of?                42.send                    42.zero?
-        42.eql?       42.method                  42.singleton_method_added  
-        42.equal?     42.methods                 42.singleton_methods       
-        42.extend     42.modulo                  42.size  
-      &lt;/pre&gt;
-
-
-      Agora, tentando teclar @Kernel::@ e depois _TAB_. Todos os m&#233;todos do core. Nunca esque&#231;a disto
-      e use o tempo todo.
-
-
-      !i/tigers.vest-3.gif(Except the robot flew away and the ice gun went on and on...)!
-
-
-      Ok, uma &#250;ltima coisa ent&#227;o vou parar de incomodar com toda esta &#243;tima tecnologia.
-      Mas eu vou ter que falar isto alto, ent&#227;o tapem os ouvidos! Estou do outro lado do mundo, galera, mas o
-      volume vem do c&#233;u -- a bold, red crescendo of --
-
-
-      h1={font-size:84pt; color:#FDD; line-height: 120%}. ((%{color:#A53}ri%))
-
-
-      h3={color: #300}. (Ruby's Own 411 or 555-1212 or _Yes, Operator, Get Belgrade on the Line_ -- I'll 
-      Venha c&#225; -- Apenas batendo na tecla &quot;jogo da velha&quot; at&#233; algu&#233;m atender...
-
-
-      E o Ri atende. &quot;Aqui &#233; o Ri. Classe e dois pontos, por favor&quot;
-
-
-      Voc&#234; entra correndo, &quot;Isto &#233; a inst&#226;ncia de um metodo, Operador. Enumer&#225;vel#zip.&quot;
-
-  
-      &lt;pre class=&quot;text&quot;&gt;
-       ri Enumerable#zip
-      &lt;/pre&gt;
-
-
-      Sem demora, corrija no seu display (t&#227;o r&#225;pido que at&#233; o gato sentado na
-      quina estica o pesco&#231;o, boceja e alcan&#231;a a sua caneca real _A coisa mais
-      barulhenta desde Michael Dorn_):
-
-
-      &lt;pre class=&quot;text&quot;&gt;
-       --------------------------------------------------------- Enumerable#zip
-            enum.zip(arg, ...)                   =&gt; array
-            enum.zip(arg, ...) {|arr| block }    =&gt; nil
-       ------------------------------------------------------------------------
-            Converte qualquer argumento em array, ent&#227;o une elementos de _enum_
-            com elementos correpondentes de cada argumento. Isto gera uma
-            sequ&#234;ncia de +enum#size+ _n_-element arrays, onde _n_ &#233; um a mais
-            que a conta de argumentos. Se o tamanho de algum argumento &#233; menos
-            que +enum#size+, valores de +nil+ s&#227;o provid&#234;nciados. Se &#233; dado um
-            bloco, este &#233; convocado para cada sa&#237;da do array, caso contr&#225;rio um
-            array de arrays &#233; retornado.
-
-               a = [ 4, 5, 6 ]
-               b = [ 7, 8, 9 ]
-
-               (1..3).zip(a, b)      #=&gt; [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
-               &quot;cat\ndog&quot;.zip([1])   #=&gt; [[&quot;cat\n&quot;, 1], [&quot;dog&quot;, nil]]
-               (1..3).zip            #=&gt; [[1], [2], [3]]
-      &lt;/pre&gt;
-
-
-      Isto &#233; um dicin&#225;rio &#237;ntegro de Ruby -- O poder de apenas perguntar est&#225; na ponta
-      de seus dedos -- n&#227;o diga que nunca ouviu sobre este nenhum-dinheiro-supre-uma-vida-inteira-de
-      explica&#231;&#245;es-apropriadas!_
-
-
-      Para ter uma explica&#231;&#227;o de qualquer classe, junto com diret&#243;rio completo para
-      todos seus metodos, todos com uma voz suave que serve para acalmar qualquer um de
-      voc&#234;s cosmonautas em p&#226;nico a&#237; lutando contra a atra&#231;&#227;o de um raio trator de toler&#226;ncia zero,
-      apenas use na shell: @ri Class@.
-
-
-      Mas para ajudar nos metodos da classe, voc&#234; tira da manga: @ri Class::method@.
-
-
-      Apesar de metodos de inst&#226;ncia usarem o jogo da velha ao inv&#233;s do ponto. (Uma vez que ponto pode significar class *ou*
-      m&#233;todos de inst&#226;ncia.) Digo: @ri Class#method@.
-
-
-      A completa distribui&#231;&#227;o das classe, uma lista completa desde o mais alto topo at&#233; o centro da Terra,
-      pode ser alcan&#231;ado com @ri -c@.
-
-
-      e al&#233;m do texto, voc&#234; pode fazer HTML: @ri -Tf html String#gsub &gt; gsub.html@.
-
-
-      *Ou mostrar ANSI colorido: @ri -Tf ansi String#gsub@.*  E este &#233; ultimo e o melhor.
-
-
-      h3. Dentro do Painel de controle do Ri
-
-
-      Atr&#225; do Ri cantam um coro de vozes humanas, primeiramente Dave Thomas, um autor de _Programming
-      Ruby_, e absolutamente o pai adotivo americano do Ruby. Muitos destes discursos elaborado
-      do Ri s&#227;o diretamente das referencias de _Programming Ruby_.  N&#227;o esque&#231;a de 
-      agradecer ao Dave periodicamente.
-
-
-      O Ri extrai seu exuberante conjunto de informa&#231;&#245;es do mesmo c&#243;digo que o Ruby &#233; constru&#237;do. Em cada um dos
-      arquivos de c&#243;digo contidos no arm&#225;rio de arquivo da chefia Ruby, coment&#225;rios detalhados
-      descrevem tudo claramente.
-
-
-      Na classe @date@ de Ruby, aqui temos m&#233;todos bem comentados:      
-
-
-      &lt;pre&gt;
-       # Obtenha o tempo desta data como [horas, minutos, segundos,
-       # fra&#231;&#227;o de segundos]       
-       def time() self.class.day_fraction_to_time(day_fraction) end
-       
-       # Obtenha a hora desta data.       
-       def hour() time[0] end
-         
-       # Obtenha o minuto desta data.
-       def min() time[1] end
-      &lt;/pre&gt;
-
-
-      Os coment&#225;rios surgem no Ri. Digitamos: @ri Date#time@.
-
-
-      &lt;pre class=&quot;text&quot;&gt;
-       -------------------------------------------------------------- Date#time
-            time()
-       ------------------------------------------------------------------------
-            Get the time of this date as [hours, minutes, seconds,
-            fraction_of_a_second]
-
-      &lt;/pre&gt;
-
-
-      O Ri advinha muito de como um m&#233;todo funciona, embora espera que os codificadores
-      escrevam uma breve descri&#231;&#227;o nos coment&#225;rios, pouco antes da defini&#231;&#227;o de um m&#233;todo ou classe.
-      Eu sugeriria que sempre que for escrever um m&#233;todo, adicione uma breve descri&#231;&#227;o
-      nos coment&#225;rios antes daquele m&#233;todo. Em tempo, voc&#234; pode gerar uma
-      documenta&#231;&#227;o Ri para aquele m&#233;todo.
-
-
-      Voc&#234; tamb&#233;m pode usar alguns caracteres especiais para aumentar sua descri&#231;&#227;o. Por
-      exemplo, se voc&#234; indentar um par&#225;grafo e usar um asterisco @*@ ou um h&#237;fen @-@      
-      pouco antes das letras da primeira frase, o par&#225;grafo ser&#225; reconhecido como um
-      &#237;tem de lista. Ent&#227;o, se a sua descri&#231;&#227;o precisa ser convertida para HTML, voc&#234;
-      ver&#225; o &#237;tem de lista aparecer como uma lista de HTML desordenada.
-
-
-      &lt;pre&gt;
-       # Obtenha o tempo desta data como um array de:      
-       # * horas
-       # * minutos
-       # * segundos
-       # * fra&#231;&#227;o de segundos
-       def time() self.class.day_fraction_to_time(day_fraction) end
-      &lt;/pre&gt;
-
-
-      Outra regras semelhantes: Listas que come&#231;am com digitos seguidos de per&#237;odos,
-      s&#227;o reconhecidas como listas num&#233;ricas. Palavras enfatizadas s&#227;o cercadas por tra&#231;o baixo(underscore),
-      palavras em negrito por asteriscos, palavras em c&#243;digo por sinais de soma. Exemplos s&#227;o simples blocos
-      de texto indentados por alguns espa&#231;os. Todas estas regras juntas s&#227;o chamadas RDoc.
-
-
-      Aqui est&#225; um peda&#231;o do RDoc do m&#233;todo @initialize@ em um dos meus projetos
-      chamado RedCloth. Observe o exemplo identado bem como a classe Ruby e
-      nomes de m&#233;todos alinhados com sinais de soma.
-
-
-      &lt;pre&gt;
-       #
-       # Retorna um novo objeto RedCloth, baseado em +String+ e
-       # cumprindo todas as +restri&#231;&#245;es+ inclu&#237;das.       
-       #
-       #   r = RedCloth.new( &quot;h1. A &lt;b&gt;bold&lt;/b&gt; man&quot;, [:filter_html] )
-       #   r.to_html
-       #     #=&gt;&quot;&lt;h1&gt;A &amp;lt;b&amp;gt;bold&amp;lt;/b&amp;gt; man&lt;/h1&gt;&quot;
-       #
-       def initialize( string, restrictions = [] )
-           @lite = false
-           restrictions.each { |r| method( &quot;#{ r }=&quot; ).call( true ) }
-           super( string )
-       end
-      &lt;/pre&gt;
-
-
-      Para a s&#233;rie completa de regras RDoc veja a se&#231;&#227;o *Markup* do
-      &quot;README&quot;:http://rdoc.sourceforge.net/doc/files/README.html.
-
-
-      h3. Impulsionando seu pr&#243;prio Ri
-
-
-      O Ri por&#233;m n&#227;o l&#234; autom&#225;ticamente seus arquivos para voc&#234;. Voc&#234; tem que gui&#225;-lo,
-      mostrar o caminho. Mude para o diret&#243;rio do c&#243;digo que voc&#234; gostaria de examinar. Ent&#227;o,
-      use a ferramenta RDoc para executar.
-
-
-      &lt;pre class=&quot;text&quot;&gt;
-       cd ~/cvs/your-code
-       rdoc --ri-site
-      &lt;/pre&gt;
-
-
-      Agora, tente usar @ri SuaClasse@ para assegurar que todas as suas descri&#231;&#245;es est&#227;o aparecendo
-      apropriadamente.
-      Se voc&#234; quer fazer documenta&#231;&#227;o HTML, tente isto:
-
-
-      &lt;pre class=&quot;text&quot;&gt;
-       cd ~/cvs/your-code
-       rdoc
-      &lt;/pre&gt;
-
-
-      O diret&#243;rio @~/cvs/seu-c&#243;digo@ dever&#225; agora tamb&#233;m ter um diret&#243;rio @doc@
-      recente contendo documenta&#231;&#227;o HTML para todas as suas classes. Veja @index.html@
-      para as not&#237;cias agrad&#225;veis.
-
-
-      Pois ent&#227;o. Est&#225; tudo em suas m&#227;os agora. Bem vindo ao Ruby.      
-
-
-      !i/tigers.vest-4.gif(The tiger finds a new home and learns to eventually move on.)!
-
-
-#
-#       Assim como o sol se p&#245;es e eu tenho que cham&#225;-lo Paij-plo, Eu checo o tempo.
-#
-#
-#        bq. @puts Time.now@
-#
-#        which prints: @Sun Sep 12 18:34:50 EDT 2004@
-#
-#
-#        Paij-plo se debru&#231;a no meu ombro, &quot;E ent&#227;o est&#225; (re-eep) devorado.&quot;
-#
-#
-#        Quando ele diz isto, minha espinha escapa das minhas costas. &#201; uma religi&#227;o
-#        inteira (aterrorizado) e ela surge neste coloquialismo barato. Quando Paij-plo
-#        come&#231;a sua solente _&#233; hora de comer_ ou seu _ele est&#225; bem atr&#225;s de n&#243;s_ falat&#243;rio.
-#
-#
-#      Eu acho que havia um tempo em Endertromb quando todos viviam sem a morte.  Paij-plo
-#      diz um &quot;homem pantera&quot; ca&#237;u em um enorme abismo, um t&#250;nel profundo ao redor do  
-#      planeta. Seu corpo foi encontrado do outro lado do planeta. Mas ele n&#227;o tinha ferimentos, seu
-#      corpo estava quente. Ele estava morto por apenas um segundo.
-#
-#
-#      Seu corpo ficou morto por um segundo. Continuou quente e nunca apodreceu.
-#      
-#      Eb-F-F-A.  Ent&#227;o, Bb-D-D-F.
-
-
-#        Dr. Cham virou-se para a cabra. &quot;Voc&#234; sabe trabalhar com estes controles, n&#233;? Eu preciso
-#        arquivar um programa.&quot;
-#
-#
-#        &quot;
-#        A cabra lan&#231;ou suas pernas sobre o painel e com isto afrouxou algumas ma&#231;anetas suntuosas em um array de posi&#231;&#245;es 
-#        at&#233; que um slot abriu na base, do qual derramou uma longa corrente de prata. No final da corrente
-#        balan&#231;ava uma densa retainer do tamanho de um fil&#233; de peixe.
-
+    - &gt;
+      h3. Tab Completion
+
+
+      Uma caracter&#237;stica do Irb raramente mencionada &#233; a vantagem do recurso de auto-completar com a tecla TAB.
+      Este t&#243;pico &#233; um pouco de tabu no momento, uma vez que trabalhar com ele no Windows &#233; um tanto horroroso.
+      (N&#227;o, n&#227;o tenha medo. Agora, mais do que nunca, olhe &#224; sua direita.)
+
+      Se voc&#234; estiver no Linux ou no FreeBSD, o recurso de auto-completar com a tecla TAB dever&#225; funcionar imediatamente.
+      E se estiver usando OS X, voc&#234; dever&#225; ter certeza que est&#225; atualizado para &#250;ltima vers&#227;o 1.8 e quando executar o Irb, use:
+
+      &lt;pre class=&quot;text&quot;&gt;
+       irb --readline -r irb/completion
+      &lt;/pre&gt; 
+
+
+      Basicamente, quando voc&#234; teclar _TAB_, o Irb tentar&#225; adivinhar o que voc&#234; est&#225; tentando digitar.
+      Tente digitar: @[].col@ e tecle _TAB_. o Irb finalizar&#225; isto. @[].collect@ e isto levar&#225;
+      seu cursor at&#233; o final ent&#227;o voc&#234; pode adicionar mais conte&#250;do.      
+
+
+      Se existem v&#225;rias combina&#231;&#245;es, apenas teclar _TAB_ n&#227;o adiantar&#225;. Mas pressione duas vezes
+      e o Ruby lhe dar&#225; uma lista completa de poss&#237;veis combina&#231;&#245;es.
+
+
+      Isto &#233; &#243;timo se voc&#234; quer apenas ver todos os metodos para um certo objeto. Digite em qualquer
+      n&#250;mero, um ponto, e use _TAB_.
+
+
+      &lt;pre class=&quot;text&quot;&gt;
+        &gt;&gt; 42.
+                      42.floor                   42.next                    42.step
+        42.__id__     42.freeze                  42.nil?                    42.succ
+        42.__send__   42.frozen?                 42.nonzero?                42.taint
+        42.abs        42.hash                    42.object_id               42.tainted?
+        42.between?   42.id                      42.prec                    42.times
+        42.ceil       42.id2name                 42.prec_f                  42.to_f
+        42.chr        42.inspect                 42.prec_i                  42.to_i
+        42.class      42.instance_eval           42.private_methods         42.to_int
+        42.clone      42.instance_of?            42.protected_methods       42.to_s
+        42.coerce     42.instance_variable_get   42.public_methods          42.to_sym
+        42.display    42.instance_variable_set   42.quo                     42.truncate
+        42.div        42.instance_variables      42.remainder               42.type
+        42.divmod     42.integer?                42.respond_to?             42.untaint
+        42.downto     42.is_a?                   42.round                   42.upto
+        42.dup        42.kind_of?                42.send                    42.zero?
+        42.eql?       42.method                  42.singleton_method_added  
+        42.equal?     42.methods                 42.singleton_methods       
+        42.extend     42.modulo                  42.size  
+      &lt;/pre&gt;
+
+
+      Agora, tentando teclar @Kernel::@ e depois _TAB_. Todos os m&#233;todos do core. Nunca esque&#231;a disto
+      e use o tempo todo.
+
+
+      !i/tigers.vest-3.gif(Except the robot flew away and the ice gun went on and on...)!
+
+
+      Ok, uma &#250;ltima coisa ent&#227;o vou parar de incomodar com toda esta &#243;tima tecnologia.
+      Mas eu vou ter que falar isto alto, ent&#227;o tapem os ouvidos! Estou do outro lado do mundo, galera, mas o
+      volume vem do c&#233;u -- a bold, red crescendo of --
+
+
+      h1={font-size:84pt; color:#FDD; line-height: 120%}. ((%{color:#A53}ri%))
+
+
+      h3={color: #300}. (Ruby's Own 411 or 555-1212 or _Yes, Operator, Get Belgrade on the Line_ -- I'll 
+      Venha c&#225; -- Apenas batendo na tecla &quot;jogo da velha&quot; at&#233; algu&#233;m atender...
+
+
+      E o Ri atende. &quot;Aqui &#233; o Ri. Classe e dois pontos, por favor&quot;
+
+
+      Voc&#234; entra correndo, &quot;Isto &#233; a inst&#226;ncia de um metodo, Operador. Enumer&#225;vel#zip.&quot;
+
+  
+      &lt;pre class=&quot;text&quot;&gt;
+       ri Enumerable#zip
+      &lt;/pre&gt;
+
+
+      Sem demora, corrija no seu display (t&#227;o r&#225;pido que at&#233; o gato sentado na
+      quina estica o pesco&#231;o, boceja e alcan&#231;a a sua caneca real _A coisa mais
+      barulhenta desde Michael Dorn_):
+
+
+      &lt;pre class=&quot;text&quot;&gt;
+       --------------------------------------------------------- Enumerable#zip
+            enum.zip(arg, ...)                   =&gt; array
+            enum.zip(arg, ...) {|arr| block }    =&gt; nil
+       ------------------------------------------------------------------------
+            Converte qualquer argumento em array, ent&#227;o une elementos de _enum_
+            com elementos correpondentes de cada argumento. Isto gera uma
+            sequ&#234;ncia de +enum#size+ _n_-element arrays, onde _n_ &#233; um a mais
+            que a conta de argumentos. Se o tamanho de algum argumento &#233; menos
+            que +enum#size+, valores de +nil+ s&#227;o provid&#234;nciados. Se &#233; dado um
+            bloco, este &#233; convocado para cada sa&#237;da do array, caso contr&#225;rio um
+            array de arrays &#233; retornado.
+
+               a = [ 4, 5, 6 ]
+               b = [ 7, 8, 9 ]
+
+               (1..3).zip(a, b)      #=&gt; [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
+               &quot;cat\ndog&quot;.zip([1])   #=&gt; [[&quot;cat\n&quot;, 1], [&quot;dog&quot;, nil]]
+               (1..3).zip            #=&gt; [[1], [2], [3]]
+      &lt;/pre&gt;
+
+
+      Isto &#233; um dicin&#225;rio &#237;ntegro de Ruby -- O poder de apenas perguntar est&#225; na ponta
+      de seus dedos -- n&#227;o diga que nunca ouviu sobre este nenhum-dinheiro-supre-uma-vida-inteira-de
+      explica&#231;&#245;es-apropriadas!_
+
+
+      Para ter uma explica&#231;&#227;o de qualquer classe, junto com diret&#243;rio completo para
+      todos seus metodos, todos com uma voz suave que serve para acalmar qualquer um de
+      voc&#234;s cosmonautas em p&#226;nico a&#237; lutando contra a atra&#231;&#227;o de um raio trator de toler&#226;ncia zero,
+      apenas use na shell: @ri Class@.
+
+
+      Mas para ajudar nos metodos da classe, voc&#234; tira da manga: @ri Class::method@.
+
+
+      Apesar de metodos de inst&#226;ncia usarem o jogo da velha ao inv&#233;s do ponto. (Uma vez que ponto pode significar class *ou*
+      m&#233;todos de inst&#226;ncia.) Digo: @ri Class#method@.
+
+
+      A completa distribui&#231;&#227;o das classe, uma lista completa desde o mais alto topo at&#233; o centro da Terra,
+      pode ser alcan&#231;ado com @ri -c@.
+
+
+      e al&#233;m do texto, voc&#234; pode fazer HTML: @ri -Tf html String#gsub &gt; gsub.html@.
+
+
+      *Ou mostrar ANSI colorido: @ri -Tf ansi String#gsub@.*  E este &#233; ultimo e o melhor.
+
+
+      h3. Dentro do Painel de controle do Ri
+
+
+      Atr&#225; do Ri cantam um coro de vozes humanas, primeiramente Dave Thomas, um autor de _Programming
+      Ruby_, e absolutamente o pai adotivo americano do Ruby. Muitos destes discursos elaborado
+      do Ri s&#227;o diretamente das referencias de _Programming Ruby_.  N&#227;o esque&#231;a de 
+      agradecer ao Dave periodicamente.
+
+
+      O Ri extrai seu exuberante conjunto de informa&#231;&#245;es do mesmo c&#243;digo que o Ruby &#233; constru&#237;do. Em cada um dos
+      arquivos de c&#243;digo contidos no arm&#225;rio de arquivo da chefia Ruby, coment&#225;rios detalhados
+      descrevem tudo claramente.
+
+
+      Na classe @date@ de Ruby, aqui temos m&#233;todos bem comentados:      
+
+
+      &lt;pre&gt;
+       # Obtenha o tempo desta data como [horas, minutos, segundos,
+       # fra&#231;&#227;o de segundos]       
+       def time() self.class.day_fraction_to_time(day_fraction) end
+       
+       # Obtenha a hora desta data.       
+       def hour() time[0] end
+         
+       # Obtenha o minuto desta data.
+       def min() time[1] end
+      &lt;/pre&gt;
+
+
+      Os coment&#225;rios surgem no Ri. Digitamos: @ri Date#time@.
+
+
+      &lt;pre class=&quot;text&quot;&gt;
+       -------------------------------------------------------------- Date#time
+            time()
+       ------------------------------------------------------------------------
+            Get the time of this date as [hours, minutes, seconds,
+            fraction_of_a_second]
+
+      &lt;/pre&gt;
+
+
+      O Ri advinha muito de como um m&#233;todo funciona, embora espera que os codificadores
+      escrevam uma breve descri&#231;&#227;o nos coment&#225;rios, pouco antes da defini&#231;&#227;o de um m&#233;todo ou classe.
+      Eu sugeriria que sempre que for escrever um m&#233;todo, adicione uma breve descri&#231;&#227;o
+      nos coment&#225;rios antes daquele m&#233;todo. Em tempo, voc&#234; pode gerar uma
+      documenta&#231;&#227;o Ri para aquele m&#233;todo.
+
+
+      Voc&#234; tamb&#233;m pode usar alguns caracteres especiais para aumentar sua descri&#231;&#227;o. Por
+      exemplo, se voc&#234; indentar um par&#225;grafo e usar um asterisco @*@ ou um h&#237;fen @-@      
+      pouco antes das letras da primeira frase, o par&#225;grafo ser&#225; reconhecido como um
+      &#237;tem de lista. Ent&#227;o, se a sua descri&#231;&#227;o precisa ser convertida para HTML, voc&#234;
+      ver&#225; o &#237;tem de lista aparecer como uma lista de HTML desordenada.
+
+
+      &lt;pre&gt;
+       # Obtenha o tempo desta data como um array de:      
+       # * horas
+       # * minutos
+       # * segundos
+       # * fra&#231;&#227;o de segundos
+       def time() self.class.day_fraction_to_time(day_fraction) end
+      &lt;/pre&gt;
+
+
+      Outra regras semelhantes: Listas que come&#231;am com digitos seguidos de per&#237;odos,
+      s&#227;o reconhecidas como listas num&#233;ricas. Palavras enfatizadas s&#227;o cercadas por tra&#231;o baixo(underscore),
+      palavras em negrito por asteriscos, palavras em c&#243;digo por sinais de soma. Exemplos s&#227;o simples blocos
+      de texto indentados por alguns espa&#231;os. Todas estas regras juntas s&#227;o chamadas RDoc.
+
+
+      Aqui est&#225; um peda&#231;o do RDoc do m&#233;todo @initialize@ em um dos meus projetos
+      chamado RedCloth. Observe o exemplo identado bem como a classe Ruby e
+      nomes de m&#233;todos alinhados com sinais de soma.
+
+
+      &lt;pre&gt;
+       #
+       # Retorna um novo objeto RedCloth, baseado em +String+ e
+       # cumprindo todas as +restri&#231;&#245;es+ inclu&#237;das.       
+       #
+       #   r = RedCloth.new( &quot;h1. A &lt;b&gt;bold&lt;/b&gt; man&quot;, [:filter_html] )
+       #   r.to_html
+       #     #=&gt;&quot;&lt;h1&gt;A &amp;lt;b&amp;gt;bold&amp;lt;/b&amp;gt; man&lt;/h1&gt;&quot;
+       #
+       def initialize( string, restrictions = [] )
+           @lite = false
+           restrictions.each { |r| method( &quot;#{ r }=&quot; ).call( true ) }
+           super( string )
+       end
+      &lt;/pre&gt;
+
+
+      Para a s&#233;rie completa de regras RDoc veja a se&#231;&#227;o *Markup* do
+      &quot;README&quot;:http://rdoc.sourceforge.net/doc/files/README.html.
+
+
+      h3. Impulsionando seu pr&#243;prio Ri
+
+
+      O Ri por&#233;m n&#227;o l&#234; autom&#225;ticamente seus arquivos para voc&#234;. Voc&#234; tem que gui&#225;-lo,
+      mostrar o caminho. Mude para o diret&#243;rio do c&#243;digo que voc&#234; gostaria de examinar. Ent&#227;o,
+      use a ferramenta RDoc para executar.
+
+
+      &lt;pre class=&quot;text&quot;&gt;
+       cd ~/cvs/your-code
+       rdoc --ri-site
+      &lt;/pre&gt;
+
+
+      Agora, tente usar @ri SuaClasse@ para assegurar que todas as suas descri&#231;&#245;es est&#227;o aparecendo
+      apropriadamente.
+      Se voc&#234; quer fazer documenta&#231;&#227;o HTML, tente isto:
+
+
+      &lt;pre class=&quot;text&quot;&gt;
+       cd ~/cvs/your-code
+       rdoc
+      &lt;/pre&gt;
+
+
+      O diret&#243;rio @~/cvs/seu-c&#243;digo@ dever&#225; agora tamb&#233;m ter um diret&#243;rio @doc@
+      recente contendo documenta&#231;&#227;o HTML para todas as suas classes. Veja @index.html@
+      para as not&#237;cias agrad&#225;veis.
+
+
+      Pois ent&#227;o. Est&#225; tudo em suas m&#227;os agora. Bem vindo ao Ruby.      
+
+
+      !i/tigers.vest-4.gif(The tiger finds a new home and learns to eventually move on.)!
+
+
+#
+#       Assim como o sol se p&#245;es e eu tenho que cham&#225;-lo Paij-plo, Eu checo o tempo.
+#
+#
+#        bq. @puts Time.now@
+#
+#        which prints: @Sun Sep 12 18:34:50 EDT 2004@
+#
+#
+#        Paij-plo se debru&#231;a no meu ombro, &quot;E ent&#227;o est&#225; (re-eep) devorado.&quot;
+#
+#
+#        Quando ele diz isto, minha espinha escapa das minhas costas. &#201; uma religi&#227;o
+#        inteira (aterrorizado) e ela surge neste coloquialismo barato. Quando Paij-plo
+#        come&#231;a sua solente _&#233; hora de comer_ ou seu _ele est&#225; bem atr&#225;s de n&#243;s_ falat&#243;rio.
+#
+#
+#      Eu acho que havia um tempo em Endertromb quando todos viviam sem a morte.  Paij-plo
+#      diz um &quot;homem pantera&quot; ca&#237;u em um enorme abismo, um t&#250;nel profundo ao redor do  
+#      planeta. Seu corpo foi encontrado do outro lado do planeta. Mas ele n&#227;o tinha ferimentos, seu
+#      corpo estava quente. Ele estava morto por apenas um segundo.
+#
+#
+#      Seu corpo ficou morto por um segundo. Continuou quente e nunca apodreceu.
+#      
+#      Eb-F-F-A.  Ent&#227;o, Bb-D-D-F.
+
+
+#        Dr. Cham virou-se para a cabra. &quot;Voc&#234; sabe trabalhar com estes controles, n&#233;? Eu preciso
+#        arquivar um programa.&quot;
+#
+#
+#        &quot;
+#        A cabra lan&#231;ou suas pernas sobre o painel e com isto afrouxou algumas ma&#231;anetas suntuosas em um array de posi&#231;&#245;es 
+#        at&#233; que um slot abriu na base, do qual derramou uma longa corrente de prata. No final da corrente
+#        balan&#231;ava uma densa retainer do tamanho de um fil&#233; de peixe.
+</diff>
      <filename>lang-pt/poignant-86.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,359 +1,359 @@
-body {
-	background-image: url(i/2006.pale.jpg);
-    color: #222;
-    font-family: Utopia, Georgia, Times, serif;
-    line-height: 110%;
-    margin: 0;
-    padding: 0;
-}
-body.chapter {
-    padding-bottom: 36px;
-}
-body.expansion {
-    background: url(i/2006.pakback.png);
-    padding-bottom: 36px;
-}
-h1, h2, h3, h4, h5, h6 {
-    margin: 5px;
-    padding: 0;
-}
-h1 {
-    font-size: 2.2em;
-}
-#wrapper {
-    z-index: 10;
-}
-#main h2, .content h2 {
-    border-bottom: solid 1px #BBB;
-    font-size: 1.4em;
-    line-height: 130%;
-}
-.content h2 {
-    margin: 32px 5px 8px 5px;
-}
-#main h3, .content h3 {
-    font-size: 1.2em;
-    line-height: 120%;
-}
-.content h3 {
-    margin: 18px 5px 8px 5px;
-    border-bottom: solid 1px #CCC;
-}
-strong, em {
-    font-size: 1.1em;
-}
-a img {
-    border: 0;
-}
-blockquote {
-    font-style: italic;
-    font-size: larger;
-    line-height: 1.2;
-    color: #435;
-    margin: 0 75px;
-}
-blockquote .attrib {
-    display: block;
-    text-align: right;
-    font-style: normal;
-    font-variant: small-caps;
-}
-blockquote code, p code, li code {
-    color: #936;
-    font-style: normal;
-    background-color: #FFFEF9;
-    padding: 2px;
-    line-height: 170%;
-    font-size: 12pt;
-}
-blockquote code {
-    padding: 5px;
-    font-size: .9em;
-}
-.example {
-    border: solid 1px #C9B;
-    background-color: #FFF5F9;
-    padding: 3px;
-    margin: 5px 40px 5px 22px;
-}
-table {
-    padding: 5px 20px;
-}
-table td {
-    padding-right: 8px;
-}
-pre {
-    background-color: #FFFEF9;
-    padding: 5px;
-    margin: 0px;
-    color: #936;
-    line-height: 170%;
-}
-#sidepane {
-    float: left;
-	width: 420px;
-	z-index: 20;
-}
-#bookplate {
-	margin: 0; padding: 0;
-}
-#bookcontents {
-	background: url(i/2006.contents.jpg) no-repeat;
-	margin: 0; padding: 55px 120px 40px 20px;
-    margin-top: -3px;
-	font-size: 9pt;
-}
-#bookcontents ol li ol {
-	list-style: lower-alpha;
-}
-#bookseal {
-	position: absolute;
-	top: 433px;
-	left: 147px;
-    z-index: 2;
-}
-/* set the image to use and establish the lower-right position */
-.foxbox, .foxbox_body, .foxbox_head 
-{ 
-    background: transparent url(i/2006.foxbox.jpg) no-repeat bottom right;
-}
-/* set the top-right image */
-.foxbox_head
-{ 
-    background-position: top left; 
-    margin-right: -15px; /* pull the right image over on top of border */ 
-    padding-right: 40px; /* right-image-gap + right-inside padding */ 
-}
-/* set the top-left image */ 
-.foxbox_head h3 
-{ 
-    margin: 0; /* reset main site styles*/ 
-    border: 0; /* ditto */ 
-    padding: 10px 0 10px 30px; /* padding-left = image gap + interior padding ... no padding-right */ 
-    height: auto !important; height: 1%; /* IE Holly Hack */ 
-} 
-/* set the lower-left corner image */ 
-.foxbox_body 
-{ 
-    background-position: bottom left; 
-    margin-right: 25px; /* interior-padding right */ 
-    padding: 5px 0 15px 40px; /* mirror .foxbox_head right/left */ 
-} 
-.foxbox_body p {
-    font-size: 9pt;
-    margin: 8px;
-	padding: 0 10px 0 40px;
-	line-height: 120%;
-}
-#cornerkick {
-	z-index: 1;
-	position: absolute;
-	top: 1800px;
-	right: 0px;
-}
-.toc {
-    padding-left: 30px;
-}
-.toc ul {
-    margin: 0px;
-    padding: 0px;
-}
-.toc li {
-    font-size: .8em;
-    line-height: 140%;
-}
-.content li {
-    line-height: 170%;
-    padding: 10px 4px;
-}
-.content p {
-    line-height: 170%;
-}
-#main {
-    padding-top: 20px;
-	margin-left: 410px;
-}
-#main li {
-    font-size: 1.2em;
-}
-#main li ul li {
-    color: #666;
-    font-size: .8em;
-    list-style: none;
-}
-p {
-    margin: 0px 40px 0px 0px;
-    line-height: 20px;
-    padding: 10px;
-}
-p#terms {
-    font-size: .8em;
-    line-height: 140%;
-}
-.sidebar {
-    color: #000;
-	background-image: url(i/2006.pale.jpg);
-    width: 280px;
-    float: right;
-    padding: 0;
-    margin: 0;
-    margin-left: 14px;
-    z-index: 15;
-}
-.sidebar ul {
-    margin-top: 0px;
-}
-.sidebar li {
-    font-size: .9em;
-    line-height: 120%;
-    padding: 10px 4px;
-}
-.sidebar h1 {
-    background-color: #7A8A9A;
-    color: #EFF9ED;
-    text-align: center;
-    margin: 0;
-    padding: 4px;
-    font-size: .9em;
-}
-.sidebar h2 {
-    color: #555;
-    font-size: 1.0em;
-    border-bottom: solid 4px #CCC;
-    margin: 0;
-    padding: 10px;
-}
-.sidebar p {
-    font-size: .9em;
-    margin: 5px;
-    padding: 10px;
-}
-.sidebar blockquote {
-    background-color: #FFFFFF;
-    color: #666666;
-    font-size: .8em;
-    width: auto;
-    margin: 0px 14px;
-}
-.sidebar pre {
-    border: none;
-    background-color: #E6EDF3;
-    color: #334465;
-    font-weight: normal;
-    font-size: .9em;
-    margin: 5px;
-    padding: 0px;
-    line-height: 120%;
-}
-.bulletin {
-    background-color: #FFF;
-    color: #555;
-    padding: 5px;
-    font-size: .7em;
-}
-
-#banner, #footer {
-    color: #4A4A4A;
-    padding: 0;
-    padding-top: 10px;
-    width: 850px;
-    margin: 0px auto;
-}
-#banner {
-    padding-top: 20px;
-}
-#footer {
-    padding-bottom: 20px;
-}
-#banner .pager,
-#footer .pager {
-    float: right;
-    padding-top: 15px;
-    padding-right: 15px;
-    font-size: 11pt;
-}
-#banner .pagebar,
-#footer .pagebar {
-    font-size: 11pt;
-}
-#container {
-    background: url(i/2006.bookstripe.gif) bottom left repeat-x;
-    width: 850px;
-    margin: 0px auto;
-    text-align: center;
-    padding: 0;
-    padding-bottom: 4px;
-}
-.page {
-    background: white url(i/2006.bookstripe.gif) top left repeat-x;
-    padding: 12px;
-    padding-right: 0;
-    margin: 0;
-}
-body.expansion #container {
-    background: url(i/2006.pakstripe.png) bottom left repeat-x;
-}
-body.expansion .page {
-    background: white url(i/2006.pakstripe.png) top left repeat-x;
-}
-body.expansion #banner {
-    color: #eee;
-}
-body.expansion #banner a:link,
-body.expansion #banner a:visited,
-body.expansion #banner a:active {
-    color: #cdf;
-}
-body.expansion #banner a:hover {
-    color: #ffc;
-}
-.pageLinks {
-    padding: 8px 5px;
-    text-align: left;
-    font-size: 9pt;
-}
-.content {
-    text-align: left;
-}
-.pageTitle {
-    line-height: 200%;
-    width: 600px;
-    margin: 0px auto;
-    text-align: center;
-}
-.pageTitle p {
-    margin: 0px;
-    line-height: 20px;
-    padding: 10px;
-}
-
-/* printing */
-@page { size 8.5in 11in; margin: 0cm; }
-
-/* syntax highlighting */
-.keyword {
-    font-weight: bold;
-}
-.comment {
-    color: #555;
-}
-.string, .number {
-    color: #396;
-}
-.string {
-    background-color: #E9F5F5;
-}
-.regex {
-    background-color: #E9F1F5;
-    color: #435;
-}
-.ident {
-    color: #369;
-}
-.symbol {
-    color: #000;
-}
-.constant, .class {
-    color: #630;
-    font-weight: bold;
-}
+body {
+	background-image: url(i/2006.pale.jpg);
+    color: #222;
+    font-family: Utopia, Georgia, Times, serif;
+    line-height: 110%;
+    margin: 0;
+    padding: 0;
+}
+body.chapter {
+    padding-bottom: 36px;
+}
+body.expansion {
+    background: url(i/2006.pakback.png);
+    padding-bottom: 36px;
+}
+h1, h2, h3, h4, h5, h6 {
+    margin: 5px;
+    padding: 0;
+}
+h1 {
+    font-size: 2.2em;
+}
+#wrapper {
+    z-index: 10;
+}
+#main h2, .content h2 {
+    border-bottom: solid 1px #BBB;
+    font-size: 1.4em;
+    line-height: 130%;
+}
+.content h2 {
+    margin: 32px 5px 8px 5px;
+}
+#main h3, .content h3 {
+    font-size: 1.2em;
+    line-height: 120%;
+}
+.content h3 {
+    margin: 18px 5px 8px 5px;
+    border-bottom: solid 1px #CCC;
+}
+strong, em {
+    font-size: 1.1em;
+}
+a img {
+    border: 0;
+}
+blockquote {
+    font-style: italic;
+    font-size: larger;
+    line-height: 1.2;
+    color: #435;
+    margin: 0 75px;
+}
+blockquote .attrib {
+    display: block;
+    text-align: right;
+    font-style: normal;
+    font-variant: small-caps;
+}
+blockquote code, p code, li code {
+    color: #936;
+    font-style: normal;
+    background-color: #FFFEF9;
+    padding: 2px;
+    line-height: 170%;
+    font-size: 12pt;
+}
+blockquote code {
+    padding: 5px;
+    font-size: .9em;
+}
+.example {
+    border: solid 1px #C9B;
+    background-color: #FFF5F9;
+    padding: 3px;
+    margin: 5px 40px 5px 22px;
+}
+table {
+    padding: 5px 20px;
+}
+table td {
+    padding-right: 8px;
+}
+pre {
+    background-color: #FFFEF9;
+    padding: 5px;
+    margin: 0px;
+    color: #936;
+    line-height: 170%;
+}
+#sidepane {
+    float: left;
+	width: 420px;
+	z-index: 20;
+}
+#bookplate {
+	margin: 0; padding: 0;
+}
+#bookcontents {
+	background: url(i/2006.contents.jpg) no-repeat;
+	margin: 0; padding: 55px 120px 40px 20px;
+    margin-top: -3px;
+	font-size: 9pt;
+}
+#bookcontents ol li ol {
+	list-style: lower-alpha;
+}
+#bookseal {
+	position: absolute;
+	top: 433px;
+	left: 147px;
+    z-index: 2;
+}
+/* set the image to use and establish the lower-right position */
+.foxbox, .foxbox_body, .foxbox_head 
+{ 
+    background: transparent url(i/2006.foxbox.jpg) no-repeat bottom right;
+}
+/* set the top-right image */
+.foxbox_head
+{ 
+    background-position: top left; 
+    margin-right: -15px; /* pull the right image over on top of border */ 
+    padding-right: 40px; /* right-image-gap + right-inside padding */ 
+}
+/* set the top-left image */ 
+.foxbox_head h3 
+{ 
+    margin: 0; /* reset main site styles*/ 
+    border: 0; /* ditto */ 
+    padding: 10px 0 10px 30px; /* padding-left = image gap + interior padding ... no padding-right */ 
+    height: auto !important; height: 1%; /* IE Holly Hack */ 
+} 
+/* set the lower-left corner image */ 
+.foxbox_body 
+{ 
+    background-position: bottom left; 
+    margin-right: 25px; /* interior-padding right */ 
+    padding: 5px 0 15px 40px; /* mirror .foxbox_head right/left */ 
+} 
+.foxbox_body p {
+    font-size: 9pt;
+    margin: 8px;
+	padding: 0 10px 0 40px;
+	line-height: 120%;
+}
+#cornerkick {
+	z-index: 1;
+	position: absolute;
+	top: 1800px;
+	right: 0px;
+}
+.toc {
+    padding-left: 30px;
+}
+.toc ul {
+    margin: 0px;
+    padding: 0px;
+}
+.toc li {
+    font-size: .8em;
+    line-height: 140%;
+}
+.content li {
+    line-height: 170%;
+    padding: 10px 4px;
+}
+.content p {
+    line-height: 170%;
+}
+#main {
+    padding-top: 20px;
+	margin-left: 410px;
+}
+#main li {
+    font-size: 1.2em;
+}
+#main li ul li {
+    color: #666;
+    font-size: .8em;
+    list-style: none;
+}
+p {
+    margin: 0px 40px 0px 0px;
+    line-height: 20px;
+    padding: 10px;
+}
+p#terms {
+    font-size: .8em;
+    line-height: 140%;
+}
+.sidebar {
+    color: #000;
+	background-image: url(i/2006.pale.jpg);
+    width: 280px;
+    float: right;
+    padding: 0;
+    margin: 0;
+    margin-left: 14px;
+    z-index: 15;
+}
+.sidebar ul {
+    margin-top: 0px;
+}
+.sidebar li {
+    font-size: .9em;
+    line-height: 120%;
+    padding: 10px 4px;
+}
+.sidebar h1 {
+    background-color: #7A8A9A;
+    color: #EFF9ED;
+    text-align: center;
+    margin: 0;
+    padding: 4px;
+    font-size: .9em;
+}
+.sidebar h2 {
+    color: #555;
+    font-size: 1.0em;
+    border-bottom: solid 4px #CCC;
+    margin: 0;
+    padding: 10px;
+}
+.sidebar p {
+    font-size: .9em;
+    margin: 5px;
+    padding: 10px;
+}
+.sidebar blockquote {
+    background-color: #FFFFFF;
+    color: #666666;
+    font-size: .8em;
+    width: auto;
+    margin: 0px 14px;
+}
+.sidebar pre {
+    border: none;
+    background-color: #E6EDF3;
+    color: #334465;
+    font-weight: normal;
+    font-size: .9em;
+    margin: 5px;
+    padding: 0px;
+    line-height: 120%;
+}
+.bulletin {
+    background-color: #FFF;
+    color: #555;
+    padding: 5px;
+    font-size: .7em;
+}
+
+#banner, #footer {
+    color: #4A4A4A;
+    padding: 0;
+    padding-top: 10px;
+    width: 850px;
+    margin: 0px auto;
+}
+#banner {
+    padding-top: 20px;
+}
+#footer {
+    padding-bottom: 20px;
+}
+#banner .pager,
+#footer .pager {
+    float: right;
+    padding-top: 15px;
+    padding-right: 15px;
+    font-size: 11pt;
+}
+#banner .pagebar,
+#footer .pagebar {
+    font-size: 11pt;
+}
+#container {
+    background: url(i/2006.bookstripe.gif) bottom left repeat-x;
+    width: 850px;
+    margin: 0px auto;
+    text-align: center;
+    padding: 0;
+    padding-bottom: 4px;
+}
+.page {
+    background: white url(i/2006.bookstripe.gif) top left repeat-x;
+    padding: 12px;
+    padding-right: 0;
+    margin: 0;
+}
+body.expansion #container {
+    background: url(i/2006.pakstripe.png) bottom left repeat-x;
+}
+body.expansion .page {
+    background: white url(i/2006.pakstripe.png) top left repeat-x;
+}
+body.expansion #banner {
+    color: #eee;
+}
+body.expansion #banner a:link,
+body.expansion #banner a:visited,
+body.expansion #banner a:active {
+    color: #cdf;
+}
+body.expansion #banner a:hover {
+    color: #ffc;
+}
+.pageLinks {
+    padding: 8px 5px;
+    text-align: left;
+    font-size: 9pt;
+}
+.content {
+    text-align: left;
+}
+.pageTitle {
+    line-height: 200%;
+    width: 600px;
+    margin: 0px auto;
+    text-align: center;
+}
+.pageTitle p {
+    margin: 0px;
+    line-height: 20px;
+    padding: 10px;
+}
+
+/* printing */
+@page { size 8.5in 11in; margin: 0cm; }
+
+/* syntax highlighting */
+.keyword {
+    font-weight: bold;
+}
+.comment {
+    color: #555;
+}
+.string, .number {
+    color: #396;
+}
+.string {
+    background-color: #E9F5F5;
+}
+.regex {
+    background-color: #E9F1F5;
+    color: #435;
+}
+.ident {
+    color: #369;
+}
+.symbol {
+    color: #000;
+}
+.constant, .class {
+    color: #630;
+    font-weight: bold;
+}</diff>
      <filename>scripts/layout/guide.css</filename>
    </modified>
    <modified>
      <diff>@@ -1,222 +1,222 @@
-require 'erb'
-require 'ftools'
-require 'yaml'
-require 'rubygems'
-require 'redcloth'
-require 'syntax/convertors/html'
-
-class Localization
-    attr_accessor :locale, :version, :next_page, :previous_page, :encoding,
-                  :turn_page, :header_title, :open_the_book, :written_by,
-                  :sidebar, :contents, :expansion_pak, :expansion_pak_no,
-                  :expansion_paks, :adverrtissements, :see_also, :english_version,
-                  :header_title_emphasis
-    def self.load( file_name )
-        l = self.new
-        YAML::load( File.open( file_name ) ).each do |k, v|
-            v = RedCloth.new(v).to_html if ['written_by', 'header_title'].include? k
-            l.instance_variable_set( &quot;@#{k}&quot;, v )
-        end
-        l.header_title_emphasis = l.header_title.gsub /\(([^)]+)\)/, '&lt;span class=&quot;hilite&quot;&gt;\1&lt;/span&gt;'
-        l
-    end
-end
-
-# Redefines to accomodate tests
-class RedCloth
-    SYNTAX_CONVERT = Syntax::Convertors::HTML.for_syntax &quot;ruby&quot;
-    
-    # Intercept some Kernel calls for the cause of testing.
-    def loop
-        yield
-    end
-
-    # Conversion to HTML
-    alias _to_html to_html
-    def to_html
-        @vars = {}
-        txt = self.dup
-        txt.gsub!( %r{&lt;(setup|stdout)&gt;(.+?)&lt;/\1&gt;}m ) do |var|
-                ( @vars[$1] ||= [] ) &lt;&lt; $2
-                &quot;## @#$1[#{@vars[$1].length-1}]&quot;
-            end
-        txt.gsub!( %r{&lt;pre&gt;(.+?)&lt;/pre&gt;}m ) do
-                &quot;&lt;pre&gt;&quot; + test_example( $1.strip ) + &quot;&lt;/pre&gt;&quot;
-            end
-        txt._to_html.
-            gsub( %r{&lt;pre&gt;(.+?)&lt;/pre&gt;}m ) do
-                &quot;&lt;div class='example'&gt;&lt;pre&gt;&lt;code&gt; #{test_example $1.strip}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&quot;
-            end.
-            gsub( %r{&lt;pre([^&gt;]+)&gt;\n*(.+?)&lt;/pre&gt;}m ) do
-                &quot;&lt;div class='example'&gt;&lt;pre#{$1}&gt;#{$2}&lt;/pre&gt;&lt;/div&gt;&quot;
-            end.
-            gsub( %r{&lt;code&gt;([^%].*?)&lt;/code&gt;}m ) do
-                SYNTAX_CONVERT.convert( $1.gsub( '&amp;gt;', '&gt;' ).gsub( '&amp;lt;', '&lt;' ).gsub( '&amp;#38;', '&amp;' ) ).
-                    gsub( %r{^&lt;pre&gt;}, '&lt;code&gt;' ).gsub( %r{&lt;/pre&gt;$}, '&lt;/code&gt;' )
-            end
-    end
-    def test_example( x )
-        # begin
-        #     eval( x.gsub( /^## @(\w+)\[(\d+)\]/ ) { @vars[$1][$2.to_i] } )
-        # rescue Exception =&gt; e
-        #     puts &quot;*** Example failed ***&quot;, x, &quot;--- Exception ---&quot;, e
-        #     exit
-        # end
-        x.gsub( /^\s*## @(\w+)\[(\d+)\]/, '' )
-    end
-end
-
-module WhyTheLuckyStiff
-
-class Book
-    attr_accessor :author, :title, :terms, :image, :teaser, :chapters, :expansion_paks
-    def self.load( file_name )
-        YAML::load( File.open( file_name ) )
-    end
-end
-
-class Section
-    attr_accessor :index, :header, :content
-    def initialize( i, h, c )
-        @index, @header, @content = i, RedCloth::new( h.to_s, [:lite_mode] ), RedCloth::new( c.to_s )
-    end
-end
-
-class Sidebar
-    attr_accessor :title, :content
-end
-
-YAML::add_domain_type( 'whytheluckystiff.net,2003', 'sidebar' ) do |taguri, val|
-    title = val.keys.first
-    YAML::object_maker( Sidebar, 'title' =&gt; ( RedCloth::new( title, [:lite_mode] ) if title ), 'content' =&gt; RedCloth::new( val.values.first ) )
-end
-class Chapter
-    attr_accessor :index, :title, :sections
-    def initialize( i, t, sects )
-        @index = i
-        @title = RedCloth::new( t, [:lite_mode] )
-        i = 0
-        @sections = sects.collect do |s|
-            if s.respond_to?( :keys ) 
-                i += 1
-                Section.new( i, s.keys.first, s.values.first )
-            else
-                s
-            end
-        end
-    end
-end
-
-YAML::add_domain_type( 'whytheluckystiff.net,2003', 'book' ) do |taguri, val|
-    ['chapters', 'expansion_paks'].each do |chaptype|
-        i = 0
-        val[chaptype].collect! do |c| 
-            i += 1
-            Chapter::new( i, c.keys.first, c.values.first )
-        end
-    end
-    val['teaser'].collect! do |t|
-        Section::new( 1, t.keys.first, t.values.first )
-    end
-    val['terms'] = RedCloth::new( val['terms'] )
-    val['title'] = RedCloth::new( val['title'], [:lite_mode] )
-    YAML::object_maker( Book, val )
-end
-
-class Image
-    attr_accessor :file_name
-end
-
-YAML::add_domain_type( 'whytheluckystiff.net,2003', 'img' ) do |taguri, val|
-    YAML::object_maker( Image, 'file_name' =&gt; &quot;i/&quot; + val )
-end
-end
-
-#
-# Convert the book to HTML
-#
-if __FILE__ == $0
-    unless ARGV[0]
-        puts &quot;Usage: #{$0} /path/to/save/html [en|fr|...]&quot;
-        exit
-    end
-
-    scripts = File.dirname(__FILE__)
-    $:.unshift scripts
-
-    # external libs
-    Dir[File.expand_path('../lib/ext-*', scripts)].each do |path|
-        $:.unshift path
-    end
-    locale = &quot;en&quot;               # default value
-
-    if ARGV[1]
-      # Localisation: fr, br ..
-      locale = ARGV[1]
-    end
-
-    book = &quot;lang-#{locale}/poignant.yml&quot;
-    loc_file = &quot;lang-#{locale}/localization.yml&quot;
-    
-    language = Localization.load( loc_file )
-    raise NotImplementedError.new(&quot;Language #{locale} not yet supported&quot;) unless language
-
-    site_path = ARGV[0]
-  
-    # FIXME: create given path if it does not exist.
-    if File.exists?( site_path )
-      if !File.directory?( site_path )
-        $stderr.puts &quot;#{site_path} is not a directory&quot; ## FIXME: raise would be better
-        exit 1
-      end
-    else
-      File.makedirs( site_path )
-    end
-
-    book = WhyTheLuckyStiff::Book::load( book )
-    chapter = nil
-
-    # Write index page
-    index_tpl = ERB::new( File.open( &quot;#{ scripts }/layout/index.erb&quot; ).read )
-    File.open( File.join( site_path, 'index.html' ), 'w' ) do |out|
-        out &lt;&lt; index_tpl.result
-    end
-
-    # Write chapter pages
-    chapter_tpl = ERB::new( File.open( &quot;#{ scripts }/layout/chapter.erb&quot; ).read )
-    body_class = &quot;chapter&quot;
-    url_pre = &quot;chapter&quot;
-    collection = book.chapters
-    collection.each do |chapter|
-        File.open( File.join( site_path, &quot;chapter-#{ chapter.index }.html&quot; ), 'w' ) do |out|
-            out &lt;&lt; chapter_tpl.result( binding )
-        end
-    end
-
-    # Write expansion pak pages
-    expak_tpl = ERB::new( File.open( &quot;#{ scripts }/layout/chapter.erb&quot; ).read )
-    body_class = &quot;expansion&quot;
-    url_pre = &quot;expansion-pak&quot;
-    collection = book.expansion_paks
-    collection.each do |chapter|
-        File.open( File.join( site_path, &quot;expansion-pak-#{ chapter.index }.html&quot; ), 'w' ) do |out|
-            out &lt;&lt; expak_tpl.result( binding )
-        end
-    end
-
-    # Write printable version
-    print_tpl = ERB::new( File.open( &quot;#{ scripts }/layout/print.erb&quot; ).read )
-    File.open( File.join( site_path, &quot;print.html&quot; ), 'w' ) do |out|
-        out &lt;&lt; print_tpl.result
-    end
-
-    # Copy css + images into site
-
-    File.makedirs( File.join( site_path, &quot;i&quot; ) )
-    File.copy( &quot;#{ scripts }/layout/guide.css&quot;, &quot;#{ site_path }/guide.css&quot; )
-    Dir[&quot;#{ scripts }/images/*&quot;].each do |copy_file|
-        next if File.directory? copy_file
-        File.copy( copy_file, File.join( site_path, &quot;i&quot;, File.basename( copy_file ) ) )
-    end
-end
-
+require 'erb'
+require 'ftools'
+require 'yaml'
+require 'rubygems'
+require 'redcloth'
+require 'syntax/convertors/html'
+
+class Localization
+    attr_accessor :locale, :version, :next_page, :previous_page, :encoding,
+                  :turn_page, :header_title, :open_the_book, :written_by,
+                  :sidebar, :contents, :expansion_pak, :expansion_pak_no,
+                  :expansion_paks, :adverrtissements, :see_also, :english_version,
+                  :header_title_emphasis
+    def self.load( file_name )
+        l = self.new
+        YAML::load( File.open( file_name ) ).each do |k, v|
+            v = RedCloth.new(v).to_html if ['written_by', 'header_title'].include? k
+            l.instance_variable_set( &quot;@#{k}&quot;, v )
+        end
+        l.header_title_emphasis = l.header_title.gsub /\(([^)]+)\)/, '&lt;span class=&quot;hilite&quot;&gt;\1&lt;/span&gt;'
+        l
+    end
+end
+
+# Redefines to accomodate tests
+class RedCloth
+    SYNTAX_CONVERT = Syntax::Convertors::HTML.for_syntax &quot;ruby&quot;
+    
+    # Intercept some Kernel calls for the cause of testing.
+    def loop
+        yield
+    end
+
+    # Conversion to HTML
+    alias _to_html to_html
+    def to_html
+        @vars = {}
+        txt = self.dup
+        txt.gsub!( %r{&lt;(setup|stdout)&gt;(.+?)&lt;/\1&gt;}m ) do |var|
+                ( @vars[$1] ||= [] ) &lt;&lt; $2
+                &quot;## @#$1[#{@vars[$1].length-1}]&quot;
+            end
+        txt.gsub!( %r{&lt;pre&gt;(.+?)&lt;/pre&gt;}m ) do
+                &quot;&lt;pre&gt;&quot; + test_example( $1.strip ) + &quot;&lt;/pre&gt;&quot;
+            end
+        txt._to_html.
+            gsub( %r{&lt;pre&gt;(.+?)&lt;/pre&gt;}m ) do
+                &quot;&lt;div class='example'&gt;&lt;pre&gt;&lt;code&gt; #{test_example $1.strip}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&quot;
+            end.
+            gsub( %r{&lt;pre([^&gt;]+)&gt;\n*(.+?)&lt;/pre&gt;}m ) do
+                &quot;&lt;div class='example'&gt;&lt;pre#{$1}&gt;#{$2}&lt;/pre&gt;&lt;/div&gt;&quot;
+            end.
+            gsub( %r{&lt;code&gt;([^%].*?)&lt;/code&gt;}m ) do
+                SYNTAX_CONVERT.convert( $1.gsub( '&amp;gt;', '&gt;' ).gsub( '&amp;lt;', '&lt;' ).gsub( '&amp;#38;', '&amp;' ) ).
+                    gsub( %r{^&lt;pre&gt;}, '&lt;code&gt;' ).gsub( %r{&lt;/pre&gt;$}, '&lt;/code&gt;' )
+            end
+    end
+    def test_example( x )
+        # begin
+        #     eval( x.gsub( /^## @(\w+)\[(\d+)\]/ ) { @vars[$1][$2.to_i] } )
+        # rescue Exception =&gt; e
+        #     puts &quot;*** Example failed ***&quot;, x, &quot;--- Exception ---&quot;, e
+        #     exit
+        # end
+        x.gsub( /^\s*## @(\w+)\[(\d+)\]/, '' )
+    end
+end
+
+module WhyTheLuckyStiff
+
+class Book
+    attr_accessor :author, :title, :terms, :image, :teaser, :chapters, :expansion_paks
+    def self.load( file_name )
+        YAML::load( File.open( file_name ) )
+    end
+end
+
+class Section
+    attr_accessor :index, :header, :content
+    def initialize( i, h, c )
+        @index, @header, @content = i, RedCloth::new( h.to_s, [:lite_mode] ), RedCloth::new( c.to_s )
+    end
+end
+
+class Sidebar
+    attr_accessor :title, :content
+end
+
+YAML::add_domain_type( 'whytheluckystiff.net,2003', 'sidebar' ) do |taguri, val|
+    title = val.keys.first
+    YAML::object_maker( Sidebar, 'title' =&gt; ( RedCloth::new( title, [:lite_mode] ) if title ), 'content' =&gt; RedCloth::new( val.values.first ) )
+end
+class Chapter
+    attr_accessor :index, :title, :sections
+    def initialize( i, t, sects )
+        @index = i
+        @title = RedCloth::new( t, [:lite_mode] )
+        i = 0
+        @sections = sects.collect do |s|
+            if s.respond_to?( :keys ) 
+                i += 1
+                Section.new( i, s.keys.first, s.values.first )
+            else
+                s
+            end
+        end
+    end
+end
+
+YAML::add_domain_type( 'whytheluckystiff.net,2003', 'book' ) do |taguri, val|
+    ['chapters', 'expansion_paks'].each do |chaptype|
+        i = 0
+        val[chaptype].collect! do |c| 
+            i += 1
+            Chapter::new( i, c.keys.first, c.values.first )
+        end
+    end
+    val['teaser'].collect! do |t|
+        Section::new( 1, t.keys.first, t.values.first )
+    end
+    val['terms'] = RedCloth::new( val['terms'] )
+    val['title'] = RedCloth::new( val['title'], [:lite_mode] )
+    YAML::object_maker( Book, val )
+end
+
+class Image
+    attr_accessor :file_name
+end
+
+YAML::add_domain_type( 'whytheluckystiff.net,2003', 'img' ) do |taguri, val|
+    YAML::object_maker( Image, 'file_name' =&gt; &quot;i/&quot; + val )
+end
+end
+
+#
+# Convert the book to HTML
+#
+if __FILE__ == $0
+    unless ARGV[0]
+        puts &quot;Usage: #{$0} /path/to/save/html [en|fr|...]&quot;
+        exit
+    end
+
+    scripts = File.dirname(__FILE__)
+    $:.unshift scripts
+
+    # external libs
+    Dir[File.expand_path('../lib/ext-*', scripts)].each do |path|
+        $:.unshift path
+    end
+    locale = &quot;en&quot;               # default value
+
+    if ARGV[1]
+      # Localisation: fr, br ..
+      locale = ARGV[1]
+    end
+
+    book = &quot;lang-#{locale}/poignant.yml&quot;
+    loc_file = &quot;lang-#{locale}/localization.yml&quot;
+    
+    language = Localization.load( loc_file )
+    raise NotImplementedError.new(&quot;Language #{locale} not yet supported&quot;) unless language
+
+    site_path = ARGV[0]
+  
+    # FIXME: create given path if it does not exist.
+    if File.exists?( site_path )
+      if !File.directory?( site_path )
+        $stderr.puts &quot;#{site_path} is not a directory&quot; ## FIXME: raise would be better
+        exit 1
+      end
+    else
+      File.makedirs( site_path )
+    end
+
+    book = WhyTheLuckyStiff::Book::load( book )
+    chapter = nil
+
+    # Write index page
+    index_tpl = ERB::new( File.open( &quot;#{ scripts }/layout/index.erb&quot; ).read )
+    File.open( File.join( site_path, 'index.html' ), 'w' ) do |out|
+        out &lt;&lt; index_tpl.result
+    end
+
+    # Write chapter pages
+    chapter_tpl = ERB::new( File.open( &quot;#{ scripts }/layout/chapter.erb&quot; ).read )
+    body_class = &quot;chapter&quot;
+    url_pre = &quot;chapter&quot;
+    collection = book.chapters
+    collection.each do |chapter|
+        File.open( File.join( site_path, &quot;chapter-#{ chapter.index }.html&quot; ), 'w' ) do |out|
+            out &lt;&lt; chapter_tpl.result( binding )
+        end
+    end
+
+    # Write expansion pak pages
+    expak_tpl = ERB::new( File.open( &quot;#{ scripts }/layout/chapter.erb&quot; ).read )
+    body_class = &quot;expansion&quot;
+    url_pre = &quot;expansion-pak&quot;
+    collection = book.expansion_paks
+    collection.each do |chapter|
+        File.open( File.join( site_path, &quot;expansion-pak-#{ chapter.index }.html&quot; ), 'w' ) do |out|
+            out &lt;&lt; expak_tpl.result( binding )
+        end
+    end
+
+    # Write printable version
+    print_tpl = ERB::new( File.open( &quot;#{ scripts }/layout/print.erb&quot; ).read )
+    File.open( File.join( site_path, &quot;print.html&quot; ), 'w' ) do |out|
+        out &lt;&lt; print_tpl.result
+    end
+
+    # Copy css + images into site
+
+    File.makedirs( File.join( site_path, &quot;i&quot; ) )
+    File.copy( &quot;#{ scripts }/layout/guide.css&quot;, &quot;#{ site_path }/guide.css&quot; )
+    Dir[&quot;#{ scripts }/images/*&quot;].each do |copy_file|
+        next if File.directory? copy_file
+        File.copy( copy_file, File.join( site_path, &quot;i&quot;, File.basename( copy_file ) ) )
+    end
+end
+</diff>
      <filename>scripts/poignant.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,109 +1,109 @@
-# = Translation progress calculator
-#
-# by murphy
-#
-# == Usage
-#
-# Insert some comments into the book (using YAML comments: #...)
-# that split it into parts, like this:
-#
-#   # {{{ Index: 97%
-#   
-#   image: !^img poignant.guide.png
-#   ...
-#   # }}}
-#   
-#   # {{{ Chapter 1: 30%
-#   ...
-# 
-# Then run
-# 
-#   scripts/progress.rb lang
-# 
-# for your +lang+.
-#
-# == Syntax
-#
-# Open part:: {{{ &lt;Description&gt;
-# Close part:: }}}
-# Progress (percentage):: {{{ Chapter 5: 45%
-# Don't count this:: {{{ &lt;Description&gt; !
-#
-# == Vim
-#
-# As you might have recognized, this is also the syntax for Vim folding.
-# So if you use Vim, you win twice.
-
-if ARGV.empty?
-	puts &lt;&lt;-USAGE
-Compute translation progress.
-Usage:
-	ruby progress {de|fr|...}
-	USAGE
-	exit
-end
-
-lang = ARGV.first
-file = &quot;#{File.dirname($0)}/../lang-#{lang}/poignant.yml&quot;
-
-puts
-print &quot;Scanning #{file} &quot;
-guide = File.read file
-print '.'
-
-PART = /
-	\# \s* \{\{\{ \s*
-		( .*? ) \n     # $1 = name, progress
-		( .*? )        # $2 = content
-	\# \s* \}\}\} \s*
-/mx
-PERCENT = / ( \d+ (?: \.\d+ )? ) % /x  # integer or decimal number
-NAME = / [^:]* /x  # chars until : or end of string
-
-parts = []
-guide.scan(PART) do |desc, content|
-	print '.'
-	parts &lt;&lt; {
-		:progress =&gt;
-			if desc[PERCENT]
-				$1.to_f / 100
-			else
-				0
-			end,
-		:name =&gt; 
-			desc[NAME],
-		:lines =&gt;
-			if desc['!']
-				0
-			else
-				content.count(&quot;\n&quot;)
-			end
-	}
-end
-
-puts ' done'
-puts
-
-puts &quot;Parts found: %d&quot; % parts.size
-puts
-
-exit if parts.empty?
-
-lines_total, lines_done = 0, 0.0
-for part in parts
-	lines_total += part[:lines]
-	lines_done += part[:lines] * part[:progress]
-end
-progress = lines_done / lines_total
-
-puts &lt;&lt;-RESULTS % [
-	Lines in book:     %6d
-	Lines translated:  %6d
-	Progress:              %5.2f%% translated.
-RESULTS
-	lines_total,
-	lines_done,
-	progress * 100
-]
-
-# vim:foldmethod=manual
+# = Translation progress calculator
+#
+# by murphy
+#
+# == Usage
+#
+# Insert some comments into the book (using YAML comments: #...)
+# that split it into parts, like this:
+#
+#   # {{{ Index: 97%
+#   
+#   image: !^img poignant.guide.png
+#   ...
+#   # }}}
+#   
+#   # {{{ Chapter 1: 30%
+#   ...
+# 
+# Then run
+# 
+#   scripts/progress.rb lang
+# 
+# for your +lang+.
+#
+# == Syntax
+#
+# Open part:: {{{ &lt;Description&gt;
+# Close part:: }}}
+# Progress (percentage):: {{{ Chapter 5: 45%
+# Don't count this:: {{{ &lt;Description&gt; !
+#
+# == Vim
+#
+# As you might have recognized, this is also the syntax for Vim folding.
+# So if you use Vim, you win twice.
+
+if ARGV.empty?
+	puts &lt;&lt;-USAGE
+Compute translation progress.
+Usage:
+	ruby progress {de|fr|...}
+	USAGE
+	exit
+end
+
+lang = ARGV.first
+file = &quot;#{File.dirname($0)}/../lang-#{lang}/poignant.yml&quot;
+
+puts
+print &quot;Scanning #{file} &quot;
+guide = File.read file
+print '.'
+
+PART = /
+	\# \s* \{\{\{ \s*
+		( .*? ) \n     # $1 = name, progress
+		( .*? )        # $2 = content
+	\# \s* \}\}\} \s*
+/mx
+PERCENT = / ( \d+ (?: \.\d+ )? ) % /x  # integer or decimal number
+NAME = / [^:]* /x  # chars until : or end of string
+
+parts = []
+guide.scan(PART) do |desc, content|
+	print '.'
+	parts &lt;&lt; {
+		:progress =&gt;
+			if desc[PERCENT]
+				$1.to_f / 100
+			else
+				0
+			end,
+		:name =&gt; 
+			desc[NAME],
+		:lines =&gt;
+			if desc['!']
+				0
+			else
+				content.count(&quot;\n&quot;)
+			end
+	}
+end
+
+puts ' done'
+puts
+
+puts &quot;Parts found: %d&quot; % parts.size
+puts
+
+exit if parts.empty?
+
+lines_total, lines_done = 0, 0.0
+for part in parts
+	lines_total += part[:lines]
+	lines_done += part[:lines] * part[:progress]
+end
+progress = lines_done / lines_total
+
+puts &lt;&lt;-RESULTS % [
+	Lines in book:     %6d
+	Lines translated:  %6d
+	Progress:              %5.2f%% translated.
+RESULTS
+	lines_total,
+	lines_done,
+	progress * 100
+]
+
+# vim:foldmethod=manual</diff>
      <filename>scripts/progress.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,35 +1,35 @@
-#!/usr/bin/env ruby
-require 'net/http'
-require 'rubygems'
-require 'hpricot'
-require 'open-uri'
-
-puts '# #
-# URBAN DICTONARY
-# # # # # # # # # # # # # # # # # # # # ###'
-begin
-  u = Hpricot(open(&quot;http://www.urbandictionary.com/define.php?term=#{ARGV[0]}&quot;))
-  puts u.at('#entries').inner_text.gsub(/(\n\n)|(comments)/,'') 
-rescue =&gt; e
-  nil
-end
-
-puts '
-
-# #
-# GOOGLE
-# # # # # # # # # # # # # # # # # # # # ###'
-# http://www.wagnerandrade.com/blog/2008/05/ruby-snapshot-1
-html = Net::HTTP.new('translate.google.com').post('/translate_t', &quot;langpair=en|pt&amp;text=#{ARGV[0]}&quot;).body
-puts Hpricot(html).at('#result_box').inner_text
-
-puts '
-
-# #
-# BABYLON
-# # # # # # # # # # # # # # # # # # # # ###'
-b = Hpricot(open(&quot;http://www.babylon.com/definition/#{ARGV[0]}/Portuguese&quot;)).at('#results-col').inner_text
-puts b.gsub(/(\n\n)|(Erros Nunca Mais)|(Abaixe este dicion&#225;rio)/, '')
-# #
-# BABEL FISH
-# TODO
+#!/usr/bin/env ruby
+require 'net/http'
+require 'rubygems'
+require 'hpricot'
+require 'open-uri'
+
+puts '# #
+# URBAN DICTONARY
+# # # # # # # # # # # # # # # # # # # # ###'
+begin
+  u = Hpricot(open(&quot;http://www.urbandictionary.com/define.php?term=#{ARGV[0]}&quot;))
+  puts u.at('#entries').inner_text.gsub(/(\n\n)|(comments)/,'') 
+rescue =&gt; e
+  nil
+end
+
+puts '
+
+# #
+# GOOGLE
+# # # # # # # # # # # # # # # # # # # # ###'
+# http://www.wagnerandrade.com/blog/2008/05/ruby-snapshot-1
+html = Net::HTTP.new('translate.google.com').post('/translate_t', &quot;langpair=en|pt&amp;text=#{ARGV[0]}&quot;).body
+puts Hpricot(html).at('#result_box').inner_text
+
+puts '
+
+# #
+# BABYLON
+# # # # # # # # # # # # # # # # # # # # ###'
+b = Hpricot(open(&quot;http://www.babylon.com/definition/#{ARGV[0]}/Portuguese&quot;)).at('#results-col').inner_text
+puts b.gsub(/(\n\n)|(Erros Nunca Mais)|(Abaixe este dicion&#225;rio)/, '')
+# #
+# BABEL FISH
+# TODO</diff>
      <filename>scripts/traduz.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>e90c74931bf9f4c02d8183cecfbd3f86144aa260</id>
    </parent>
  </parents>
  <author>
    <name>Daniel Luz</name>
    <email>dev@mernen.com</email>
  </author>
  <url>http://github.com/brunopedroso/poignant-br/commit/452ce37c322647c02429bdae09bb842a2cec4657</url>
  <id>452ce37c322647c02429bdae09bb842a2cec4657</id>
  <committed-date>2008-06-26T21:07:46-07:00</committed-date>
  <authored-date>2008-06-26T20:07:16-07:00</authored-date>
  <message>Padronizando estilo Unix (linhas terminando em \n, modos de arquivo 644)

Revert &quot;cap 83 conflict solving&quot;

This reverts commit 57f3e63634b0ae48acdfe670fe6f884c2e98bc20.</message>
  <tree>26a3511d97b405c60f011a0d72d130c8738a92bc</tree>
  <committer>
    <name>Daniel Luz</name>
    <email>dev@mernen.com</email>
  </committer>
</commit>
