Elmord's Magic Valley

Software, lingüística, mitologia nórdica e rock'n'roll

Gambiarras LaTeXísticas

2014-12-18 00:25 -0200. Tags: comp, latex, mundane

Neste post apresento duas pequenas gambiarras que eu descobri durante a confecção do meu PEP e TI.

Inserindo recortes de PDFs como figuras

O comando \includegraphics do pacote graphicx permite inserir imagens em diversos formatos, incluindo PDF. (Para usar o comando, inclua \usepackage{graphicx} no começo do seu documento LaTeX. O graphicx vem no pacote texlive-latex-base no Debian.) Por ser um formato de imagem vetorial, a qualidade do resultado normalmente é melhor do que incluir um PNG ou similar. Além disso, o \includegraphics permite inserir "recortes" do PDF, usando as opções page, clip e trim. Por exemplo, você pode usar algo como o seguinte trecho para recortar uma figura de um PDF existente e inseri-la como uma figura no documento atual:

\begin{figure}
\centering
\includegraphics[page=4,clip=true,trim=4cm 20.5cm 4cm 5cm]{arquivofeliz.pdf}
\caption{Gráfico roubado de \cite{fulano-et-al-2014}}
\label{graph1}
\end{figure}

page especifica a página do PDF, clip=true habilita o recorte, e trim consiste de quatro tamanhos especificando quanto se deseja cortar fora da esquerda, de baixo, da direita, e de cima da página, nessa ordem (i.e., em sentido anti-horário começando da esquerda). Acertar os valores de trim exige um pouco de tentativa e erro. Além disso, é possível especificar parâmetros como width=15cm para redimensionar a figura. Mais informações aqui.

Isso é útil para incluir figuras de outros documentos, ou para exportar gráficos, tabelas e afins de outros programas para o LaTeX, já que muitos programas são capazes de imprimir/exportar para PDF. Você pode usar isso para importar tabelas do Open/LibreOffice Calc, por exemplo.

Citation needed

Às vezes as abreviações/reformatações de nomes de autor no BibTeX falham miseravelmente. Por exemplo, se você tiver no seu arquivo .bib algo como:

@ELECTRONIC{rust,
  title = {The Rust Reference},
  author = {The Rust Project Developers},
  year = {2014},
  howpublished = {\url{http://doc.rust-lang.org/reference.html}},
  note = {Accessed in December 2014}
}

no estilo de bibliografia abnt-ufrgs (e, presumivelmente, no abntex também), a referência fica como "DEVELOPERS, T. R. P". Se você trocar por author = {Rust Project Developers, The}, a referência fica como "RUST PROJECT DEVELOPERS, T.". Provavelmente existe um jeito bonito e elegante de contornar esse problema, mas a solução suja que eu encontrei foi que se o nome do autor for colocado entre (mais um par de) chaves, ele é usado literalmente na referência (mantendo maiúsculas e minúsculas inclusive). Assim, podemos usar:

@ELECTRONIC{rust,
  title = {The Rust Reference},
  author = {{RUST PROJECT DEVELOPERS, The}},
  year = {2014},
  howpublished = {\url{http://doc.rust-lang.org/reference.html}},
  note = {Accessed in December 2014}
}

para obter o resultado desejado. Só tem um problema: agora as referências inline com \citep{rust} e companhia aparecem como "(RUST PROJECT DEVELOPERS, The, 2014)". A solução suja que eu encontrei foi definir um alias de citação:

\defcitealias{rust}{RUST, 2014}

e citar usando \citepalias ao invés de \citep (ou \citetalias para não incluir os parênteses (mas os detalhes dependem do bibliography style usado, acho)).

(Disclaimer: talvez as normas da ABNT realmente requeiram "RUST PROJECT DEVELOPERS" ao invés de meramente "RUST" na citação, mas não fui atrás para descobrir. De qualquer forma, imagino que o "The" não deva ser incluso.)

Happy kludging.

1 comentário

Yeah, I code-switch heavily

2014-11-02 02:31 -0200. Tags: lang, life, ramble

Semana passada eu resolvi ir no Verda Kafo (evento esperantista que ocorre no último sábado de todo mês em Porto Alegre), depois de alguns meses de sumiço. Um verdkafano perguntou como ia o meu mestrado, e o Marcus mencionou que o meu blog tinha a resposta. A pedidos, eu passei a URL para ele e mais um dos participantes. Foi só algumas horas depois disso que eu pensei "bá, vão me encher o saco no próximo Verda Kafo por causa das frases em inglês strewn in no meio dos textos", mas aí já era tarde.

Esse fenômeno de alternar entre línguas em um mesmo diálogo ou em uma mesma frase é denominado code-switching.* O artigo da Wikipédia menciona uma porção de explicações sociológicas de por que as pessoas code-switcham. No meu caso, entretanto, for most part, acho que nenhuma das explicações apresentadas se encaixa. Eu simplesmente acho mais fácil dizer algumas coisas em inglês, às vezes porque a sintaxe do termo em inglês é diferente, às vezes sem nenhum motivo aparente. A grande maioria das coisas que eu leio são em inglês, e eu passo boa parte do meu tempo lendo, então acho que não é de admirar. Em tempos de outrora, quando eu estava aprendendo esperanto e o usava com mais freqüência, era bastante comum eu achar mais fácil dizer algumas coisas em esperanto do que em português, primariamente graças ao sistema de composição e derivação supimpa (eu ainda uso "X-ilo" ocasionalmente, onde X é uma palavra em português ou em esperanto, para me referir ao "utensílio de fazer X"), mas às vezes também porque a minha cuca queria dizer alguma coisa com uma estrutura sintática e o português exige outra. Um exemplo "clássico" disso com o inglês são frases como she was named after a tree, que eu nem tenho certeza de como dizer em português ("ela foi nomeada segundo uma árvore" doesn't quite cut it (como se diz "doesn't quite cut it" em português?)).

Poder-se-ia alegar que isso representa a decadência do português e o efeito do imperialismo estadunidense. Eu não sei. Em primeiro lugar, a identidade da língua portuguesa está bem saudável, já que são poucos os falantes de português que fazem code-switching. Em segundo lugar, assim como eu acho mais fácil dizer certas coisas em inglês, há uma porção de outras coisas que eu acho mais fácil dizer em português. Acontece simplesmente que, nas situações em que meus interlocutores falam tanto português quanto inglês, a conversa se dá primariamente em português (evidentemente), então é raro eu ter a oportunidade de falar inglês com frases em português strewn in. (Cabe notar que eu só atravesso termos em inglês quando eu sei que o interlocutor os há de entender, já que, imaginem vocês, comunicação exige entendimento entre as partes. Porém, em alguns casos eu tenho que fazer um esforço extra para dizer certas coisas em português ao invés de falar da maneira que me é mais confortável.)

Por fim, enquanto eu estava ideando este post, eu pensei comigo mesmo: "Seriously, tu tá te justificando pela maneira como tu escreve no teu próprio blog? Que diabos é isso, um blog de gente se explicando?" Não era nem para eu ter que escrever isso (de fato, eu não tenho que escrever isso), mas enfim.

_____

* Segundo o artigo, o uso de múltiplas línguas na escrita é chamado de linguagem macarrônica, mas aparentemente o termo é mais usado para descrever certas formas literárias em que a mistura tem algum propósito especial, freqüentemente humorístico. No caso aqui do blog, entretanto, geralmente o meu uso de inglês atravessado no meio do texto simplesmente reflete a maneira como eu falo quando sei que o interlocutor entende ambas as línguas. No geral, eu tendo a fazer isso mais nos posts mais "pessoais" e menos nos posts mais informativos. Acho.

7 comentários

Modelos LaTeX do INF/UFRGS

2014-10-22 17:06 -0200. Tags: latex, academia, mestrado

Preparei um pacote com modelos de TCC, PEP, Trabalho Individual e monografia de mestrado com uma versão do iiufrgs que eu uso há algum tempo e sei que funciona (diferentemente da última versão do GitHub, que dá um monte de erros, pelo menos com os meus documentos; e no momento meu estoque de paciência está muito baixo para eu perder tempo fazendo funcionar uma coisa que eu já tenho funcionando).

Ei-lo aqui.

Problemas com o pacote podem ser comunicados pelos comentários ou por e-mail.

1 comentário

State of the life

2014-10-17 01:37 -0300. Tags: life, mind, academia, mestrado, home

As pessoas gostam de dizer que o tempo passa rápido. Eu nunca concordei com essa afirmação; para mim, um ano sempre levou um ano inteiro para passar. Mas esse ano em particular está se puxando em termos de neverendingness. Para futuras consultas, e para quem tiver interesse, deixo aqui um registro simplificado dos fatos.

Em janeiro deste ano, meu pai se mudou para um apartamento em Porto Alegre, e eu, que até então morava em uma casa alugada de solidez questionável, me mudei para a recém desocupada casa. Após uma série de acidentes vivenciosos, cuja enarração está fora do escopo deste livro, encontrei-me por volta de julho dividindo a casa com meu pai e minha irmã, compartilhando com esta última um quarto de 2×2,5m, e tendo que cuidar da mesma no período da tarde. Uma vez que essa obrigação conflitava com a necessidade de comparecer à UFRGS para a bolsa do mestrado e a essas alturas eu já estava perdendo as estribeiras, em uma última tentativa de salvar um pouco da minha sanidade mental, falei com meus orientadores sobre a possibilidade de trancar a matrícula. No fim das contas, ficou combinado que eu poderia continuar realizando as atividades do mestrado remotamente (já terminei todos os créditos necessários (que a partir deste ano são 12, e não 24), e agora só me restam o Trabalho Individual e a dissertação e atividades relacionadas), eu fiquei mui faceiro, e ficou por isso mesmo.

Evidentemente, isso não foi nada produtivo, dada a falta de sossego e de coisas como uma mesa decente e isolamento e o fato de eu passar constantemente estressado ou cansado ou deprimido. Nesse meio tempo eu descobri que é possível comprar casas super-barato nas verdejantes terras de Viamãoheimr se o camarada não se preocupar com trivialidades como escritura e terreno em área verde, e comecei a catar locais para me mudar para no ano que vem. Depois de umas três ou quatro visitas a locais de solidez ainda mais questionável do que a anteriormente citada casa e em localizações pra lá de interessantes, eu larguei de mão essa idéia e decidi esperar até o fim do ano (quando eu me livro da obrigação de cuidar da criança) para alugar uma casa e me mudar.

No dia 15 de setembro, quando eu estava considerando trancar a matrícula pela (n+1)-ésima vez, eu me dei conta de que se eu alugasse uma casa suficientemente perto eu não precisaria esperar até o fim do ano para me mudar; eu podia me mudar agora e só ir para a outra casa à tarde. Até então eu estava tão fixado na idéia de comprar uma casa que isso nem me passou pela cabeça. Catei casa para alugar nas redondezas e encontrei uma elegante peça de 3×5m mais um banheiro para alugar por meia pataca. A saga para conseguir alugar esse bendito imóvel é uma história à parte que eu hei de postar em algum momento para a elucidação de todos os seres sencientes. Suffice it to say que sexta-feira da semana passada eu consegui me mudar para o lugar, e que turns out que 15m² são um tamanho bem razoável se bem utilizado e quando não se tem que dividi-lo com ninguém.

A situação está um pouco melhor desde que eu me mudei para cá. Por outro lado, até o fim do ano eu continuo tendo que brincar de babá às tardes e em outros momentos de interesse, entre outros eventos que me levam a questionar se o conceito de respeito pelo tempo dos outros existe na cabeça da população em geral ou se é alguma flutuação da minha imaginação, mas eu vou levando, pois é só até o fim do ano, e depois disso eu espero me sentir mais confortável em dizer não diante de proposições equiparáveis.

Quanto ao mestrado, by now I'm pretty sure de que eu não quero seguir a carreira acadêmica e viver de publicar papers. Aparentemente é possível ganhar uns bons trocos dando aula em instituições privadas de ensino superior sem ter que fazer pesquisa, e por enquanto este é o meu plano para depois que eu terminar o mestrado. (Para a minha definição de "uns bons trocos", pelo menos. Certamente não tanto quanto um professor titular de universidade federal, mas a carga horária é menor também. Eu não tenho a necessidade de ganhar rios de dinheiro e, contanto que eu ganhe o suficiente para levar uma vida decente e guardar uns trocados, eu prefiro ter mais tempo do que mais dinheiro. Eu me sinto um pouco desconfortável dizendo isso para as pessoas, porque é basicamente uma admissão de vadiagem, mas should it matter, se eu estiver me mantendo com meu próprio dinheiro sem pedir nada para ninguém? Enfim.) Eu tenho tido dificuldade em me motivar a fazer as atividades do mestrado, mas eu tenho levado, e o prognóstico de terminar isso tudo e deixar para trás é bastante animador.

By the way, lembram quando eu manifestei minha descrença pela idéia de que as aulas do mestrado "não são mais do mesmo"? Hell was I right. As predicted, as aulas são much the same thing (pelo menos as que eu tive). A melhor cadeira que eu fiz no semestre foi Programação Funcional Avançada, que nem era do mestrado (foi a cadeira que eu escolhi para realizar a Atividade Didática). Algoritmos e Teoria da Computação foi bacaninha também (em particular a parte de Teoria da Computação), mas nada muito diferente de uma cadeira da graduação. De resto, o semestre foi tolerável primariamente graças aos pães do Hélio. Also as predicted, a variedade de cadeiras (ou falta de) também limita as possibilidades de pegar apenas cadeiras em tópicos de interesse; aliás, os horários das cadeiras do mestrado são um tanto quanto mal-distribuídos (não há praticamente nenhuma cadeira às 8h30, por exemplo), o que aumenta a possibilidade de conflitos de horários entre cadeiras (semestre passado eu tive que escolher entre uma cadeira de programação paralela e uma de tendências em engenharia de software por conta do conflito de horários, por exemplo); soma-se a esse problema o fato de que a maioria das cadeiras é oferecida em apenas um dos semestres do ano, e que recomenda-se fortemente aos alunos cursarem todas as disciplinas no primeiro ano do mestrado. On the bright side, esse ano o PPGC resolveu reduzir o número de créditos obrigatórios do mestrado para 12, o que permite realizá-los todos no primeiro semestre.

Also on the bright side, eu consegui (depois de muitas conturbações, primariamente na minha cabeça) escolher um tema de dissertação em um assunto que me interessa. Vai dar um baita trabalho para implementar, mas pelo menos eu vou aprender coisas pessoalmente úteis para mim no processo.

Do futuro, falamos depois.

4 comentários

Coisas de Viamão #2

2014-09-25 18:45 -0300. Tags: random, img

[Pichação 'fuck this' sobre rosa]

[Pichação 'fuck this' sobre rosa]

2 comentários

Título de capitalização como garantia de aluguel?

2014-09-18 21:33 -0300. Tags: life, home, worldly

Meus amigos, falcatrua é uma arte.

Ao invés de exigir fiador, algumas imobiliárias permitem o uso de um título de capitalização como garantia de aluguel. A idéia é: você compra à vista um titulo de capitalização em um valor pré-combinado (normalmente cerca de 12 vezes o valor do aluguel), que fica servindo como garantia caso você não pague o aluguel (sim, você continua tendo que pagar o aluguel todo mês, mesmo já tendo pago o valor de um ano inteiro no título). No final de 12 meses, você pode resgatar "100% da reserva de capitalização corrigida mensalmente pela poupança mais TR" (fonte: folheto do PortoCap Aluguel; outras seguradoras/bancos oferecem condições análogas), e ainda concorre a prêmios e descontos em serviços residenciais.

Parece (meio que) uma boa, não? Afinal o rendimento é o mesmo da poupança, então dá na mesma deixar o dinheiro parado na poupança ou em um título. O truque está na expressão "100% da reserva de capitalização". Se você for parar para ler as condições gerais do PortoCap Aluguel, descobrirá que a reserva de capitalização é 94,1910% do valor do título; o restante é tomado como custos de sorteio (0,023354%) e despesas administrativas (5,785646%). A taxa de juros de capitalização é de 0,5% (basicamente a mesma da poupança). Assim, o rendimento do dinheiro que você recebe ao final dos 12 meses é:

That's right, as taxas de administração e sorteio são calculadas precisamente para que no final o dinheiro não renda absolutamente nada; você recebe a mesma coisa que depositou. Ou seja, se enquanto com R$ 6000 na poupança eu teria cerca de R$ 6370,06 um ano depois, com o título eu teria os mesmos R$ 6000. Se você resgatar o valor do título antes de um ano, você ainda perde dinheiro.

No site linkado pode-se ver que, além do título de 12 meses, existe um de 15. "Ah, esse rende mais", certo? Errado: a reserva de capitalização do de 15 meses é 92,7919% do valor do título, o que dá um rendimento de 0,927919 · 1,00515 = 1,0000022, i.e., 0,00% também.

Conclusão: pelo menos você "não está" perdendo dinheiro, mas a propaganda de que o título dá os mesmos rendimentos da poupança é misleading (o folheto não explica o que é nem quanto é a reserva de capitalização; o carinha da imobiliária ainda teve a cara de me dizer que o título "é muito melhor que a poupança"). "Não está" entre aspas, porque no tempo em que esse dinheiro ficou parado ele poderia ter rendido juros se fosse aplicado na poupança ou algum outro tipo de investimento. Seria mais honesto simplesmente dizer que o dinheiro é devolvido no final com correção pela TR, sem dizer que é corrigido pela poupança, ao invés de oferecer correção pela poupança e tirar exatamente a mesma quantia em taxas. (Dou-me conta agora, todavia, de que isso provavelmente é parte do mecanismo que faz você sair com menos dinheiro se tirar o dinheiro antes de um ano, i.e., quando o dinheiro ainda não "rendeu" até voltar à quantia original.)

That's #capitalfinanceiro for you.

(By the way, eu mencionei que se você conseguir tirar algum lucro nessa brincadeira (i.e., o pouquinho que a TR rende), há incidência de imposto de renda sobre ele, enquanto a poupança é isenta de imposto de renda até R$ 50 000?)

3 comentários

My very brief affair with Btrfs

2014-09-14 01:38 -0300. Tags: comp, unix, mundane, ramble

Meia dúzia de dias atrás eu migrei meu / para Btrfs. Hoje eu reformatei a partição como ext4 e recuperei meu backup do / da semana passada.

O causo foi assim. Para usar o Btrfs, eu atualizei meu kernel para o 3.16, já que diversas melhorias foram realizadas no suporte a Btrfs nessa versão. Porém, o driver da minha placa de rede wireless (o broadcom-sta) andava não se comportando muito bem, o iwconfig hoje resolveu não listar nenhuma rede, e eu resolvi bootar com o meu kernel 3.14 anterior para ver se a situação melhorava. (Na verdade, com a atualização do kernel 3.2 para 3.14, que eu fiz para poder usar o Btrfs, eu tive que substituir o broadcom-sta da stable pelo da testing, e desde então ele já andava com uns comportamentos desagradáveis (tais como emitir um trace sempre que a wi-fi era iniciada), mas aparentemente a wi-fi estava funcionando corretamente mesmo assim.) Até aí, tudo transcorreu normalmente. Kernel 3.14 bootado, wi-fi funcionando, todos comemora.

Eis que eu fui abrir o aptitude (já não lembro mais por que motivo), e o módulo do Btrfs capota, emitindo algum erro sobre quotas/qgroups. Reiniciei a máquina com o kernel 3.14, fui abrir o aptitude de novo, mesmo erro. Agora não lembro mais a seqüência exata das ações, mas em algum momento eu desativei o suporte a quotas (btrfs quota disable /), abri o aptitude de novo, e dessa vez ele abriu. Porém, turns out que, no piripaque do filesystem, meu /var/lib/dpkg/status virou um arquivo vazio, e o aptitude abriu me mostrando nenhum pacote instalado e me oferecendo para baixar 3GB de pacotes (i.e., todos os pacotes que eu tinha na máquina). Nesse momento eu me disse "well, fuck", reformatei o / como ext4 e recuperei o backup que eu tinha feito quando fui migrar para Btrfs (que por sorte eu ainda não tinha apagado).

Moral da história: Talvez se eu tivesse me mantido usando o kernel 3.16 eu não tivesse tido esse problema. Porém, depois dessa experiência, e dado que na atual conjuntura eu deveria estar me preocupando com o mestrado e não com a saúde do meu filesystem, eu prefiro esperar mais uns meses para ver se o Btrfs fica mais estável e experimentá-lo de novo. Enquanto isso, eu voltei para o kernel 3.2 da stable, que pode não ser new and shiny, mas é sólido como uma rocha, forte como um touro e pesado como uma porpeta.

3 comentários

Partição de sistema Btrfs no Debian

2014-09-12 03:03 -0300. Tags: comp, unix, mundane

Btrfs é um sistema de arquivos relativamente "recente" (o desenvolvimento começou em 2008) com um bocado de features interessantes. Neste post, falarei uma porção de coisas sobre como usar uma partição Btrfs como sistema de arquivos raiz no Debian. O Btrfs ainda é considerado experimental (embora seja bastante estável em kernels recentes), e eu não confiaria meus arquivos pessoais a ele no momento (meu /home é uma partição ext4), mas como sistema de arquivos raiz de uma máquina de uso pessoal (que se eu perder é só reinstalar), acredito que os benefícios compensam os riscos.

[Update: Aparentemente ele não é tão estável assim.]

E que benefícios são esses?

A principal razão pela qual eu migrei meu / para Btrfs foi para usar sua feature de snapshots, que permite criar uma "duplicata" do estado do sistema de arquivos em um dado momento. A criação de um snapshot não duplica os arquivos; ao invés disso, os arquivos são compartilhados entre as duas "versões" do sistema de arquivos, e só são copiados à medida em que são modificados, o que torna a criação do snapshot praticamente instantânea e não consome espaço desnecessariamente. Com isso você pode, por exemplo, tirar um snapshot do /, atualizar/bagunçar o sistema e, se alguma coisa der errado, voltar ao estado anterior são e salvo.

Requisitos mínimos

Kernel 3.14 ou superior. O suporte a Btrfs do kernel atual (3.2) do Debian stable é bastante precário (eu consegui derrubar ele com um for ((i=0; ; i++)); do mkdir $i; done em um filesystem recém criado). As opções são:

btrfs-tools 3.14 ou superior. Disponível tanto no repositório da backports quanto no da unstable.

Adaptando o initramfs

Para poder bootar a partir de um raiz Btrfs, você precisará adicionar suporte ao filesystem ao seu initramfs. Para isso, adicione as seguintes linhas ao /etc/initramfs-tools/modules:

crc32c
btrfs

e execute update-initramfs -u -k all.

A linha crc32c é particularmente relevante: Geralmente, o update-initramfs é esperto o suficiente para incluir junto com um módulo todas as suas dependências no initramfs. Porém, por um bug no módulo btrfs, ele não indica explicitamente sua dependência pelo módulo crc32c. Se o módulo crc32c não for incluído manualmente na lista, a carga do módulo btrfs falhará no boot, com uma mensagem do tipo can't load module btrfs (kernel/fs/btrfs/btrfs.ko): unknown symbol in module, or unknown parameter. (Isso me tomou uma boa hora de sofrimento.)

Migrando para Btrfs

Para transformar seu raiz em Btrfs, você precisará bootar com um outro sistema e seguir uma de duas rotas:

Antes de reiniciar

Antes de rebootar o sistema no filesystem recém criado, lembre-se de altarar o etc/fstab do sistema. Você poderá ter que trocar:

Se o seu /boot fica dentro na mesma partição que o raiz, você pode ter que fazer alguma mudança no seu gerenciador de boot para garantir que ele consiga ler o Btrfs. O GRUB 2 aparentemente consegue ler Btrfs sem problemas. (Eu ainda uso o bom e velho GRUB 0.97, mas meu /boot é uma partição ext2 separada.)

Subvolumes e snapshots

O Btrfs organiza o filesystem em subvolumes. Inicialmente, o filesystem contém apenas um "subvolume raiz", mas outros subvolumes podem ser criados com o comando btrfs subvolume create /caminho/novo-nome, onde /caminho é um diretório dentro do filesystem de interesse. btrfs subvolume list /caminho lista todos os subvolumes (e respectivos IDs) contidos em um filesystem.

O comando btrfs subvolume snapshot /caminho-subvol-origem /caminho-subvol-destino duplica um subvolume, i.e., cria um "snapshot". Depois da duplicação, os dois subvolumes são independentes: alterações em um não se refletem no outro.

Um filesystem Btrfs possui um subvolume padrão, i.e., o subvolume que é usado como raiz do filesystem se nenhum outro for especificado. Inicialmente, o "subvolume raiz" é o padrão, mas você pode usar o comando btrfs subvolume set-default ID /caminho (onde ID é o ID mostrado por btrfs subvolume list) para escolher outro. Com isso você pode setar o subvolume padrão para um snapshot com um estado anterior do sistema, por exemplo, reiniciar a máquina, e magicamente seu sistema volta a ser o que era no momento do snapshot.

Você pode montar um subvolume diferente do padrão passando a opção -o subvolid=ID para o comando mount. -o subvolid=0 monta o subvolume raiz original. Você pode montar a mesma partição mais de uma vez.

Como eu mencionei antes, ao invés de copiar o backup do sistema diretamente para o raiz da nova partição, pode ser mais conveniente criar um subvolume primeiro, especialmente se você pretende usar a feature de snapshots com freqüência. Por exemplo, ao criar o filesystem:

# mount /dev/xxx /mnt/sistema
# cp -avx /mnt/sistema /algum/lugar/backup
# umount /mnt/sistema
# mkfs.btrfs -f /dev/xxx
# mount /dev/xxx /mnt/sistema
# btrfs subvolume create /mnt/sistema/current
# btrfs subvolume list /mnt/sistema
ID 264 gen 142 top level 5 path current
# btrfs subvolume set-default 264 /mnt/sistema
# cp -avx /algum/lugar/backup/* /mnt/sistema/current
# (realize as adaptações pré-boot adequadas)

Com o subvolume padrão setado, você pode reiniciar e bootar o sistema novo normalmente. Quando você quiser fazer um snapshot, basta montar o raiz original em algum lugar (e.g., /mnt/root) e fazer as operações de interesse:

# mount -o subvolid=0 /dev/xxx /mnt/root
# btrfs subvolume snapshot /mnt/root/current /mnt/root/snapshot-20120912
# umount /mnt/root

Feito isso, você pode bagunçar com seu sistema à vontade e, se quiser voltar atrás, pode executar:

btrfs subvolume set-default ID-do-snapshot

e reiniciar a partir do snapshot. Ou, se preferir não alterar o snapshot, você pode duplicá-lo primeiro e reiniciar pela cópia:

# mount -o subvolid=0 /dev/xxx /mnt/root
# btrfs subvolume snapshot /mnt/root/snapshot-20120912 /mnt/root/current2
# btrfs subvolume list /mnt/root
ID 264 gen 142 top level 5 path current
ID 266 gen 142 top level 5 path snapshot-20120912
ID 268 gen 142 top level 5 path current2
# btrfs subvolume set-default 268 /mnt/root
# reboot

Lembre-se de depois apagar o current antigo (com btrfs subvolume delete /mnt/root/current), caso não queira que ele fique ocupando espaço para sempre.

A vantagem de criar um subvolume primeiro antes de copiar o sistema é deixar o subvolume raiz original contendo apenas subvolumes, evitando misturar subvolumes e arquivos de sistema no mesmo nível. Isso permite manipular todos os subvolumes/snapshots da mesma maneira (qualquer versão do sistema pode ser apagada facilmente, por exemplo; com o sistema no raiz original isso não seria possível).

Observações sortidas

O utilitário btrfs permite abreviar comandos, desde que as abreviações não sejam ambíguas. Por exemplo, btrfs subvolume list / pode ser escrito como btrfs sub l /.

Espaço usado e livre em Btrfs são conceitos um tanto quanto curiosos, devido ao mecanismo de copy-on-write, suporte a compressão e outras peculiaridades do Btrfs. O comando btrfs filesystem df /caminho pode dar um resultado mais preciso do que o df -h.

Descobrir o espaço utilizado por cada subvolume é uma questão mais complicada (até porque subvolumes podem compartilhar dados). Se o mecanismo de quotas for habilitado no subvolume raiz original (com o comando btrfs quota enable /mnt/root), é possível usar o comando btrfs qgroup show /, que lista a quantidade de dados apontada por cada subvolume e a quantidade de dados não compartilhada com nenhum outro subvolume (e que portanto seria liberada se o subvolume fosse apagado). Para mais informações, dê uma olhada neste artigo.

É possível criar um snapshot somente-leitura passando a opção -r para o comando btrfs subvolume snapshot. A vantagem é que é mais difícil de destruir um backup do sistema assim. A desvantagem é que não é mais possível bootar pelo snapshot como se fosse um sistema comum.

2 comentários

Orthographica II: ortografia etimológica, o latim e o proto-indo-europeu

2014-08-23 00:05 -0300. Tags: lang, rant

No último post eu falei um pouco sobre a questão da reforma ortográfica do português e argumentei contra a idéia de que a reforma seria um "emburrecimento da língua". Talvez você queira lê-lo antes de continuar. Neste post, apresento mais alguns pensamentos que tive sobre o assunto.

A idéia de simplificar a ortografia suscita uma tremenda oposição, como os comentários na notícia linkada no último post servem para exemplificar. Num nível mais superficial, há a oposição à mudança puramente por ser uma mudança. Não há muito o que dizer aqui além do que eu já disse no último post; orthographia não se escreve mais assim desde 1943 e ninguém está sentindo falta desses hs. Da mesma forma, acredito que ninguém ache ruim escrever bife e futebol ao inves de beef e football, e no entanto assim foi há nem tantas décadas assim.

Um argumento mais elaborado é de que a grafia das palavras deve ser mantida como está para refletir a etimologia das palavras. Por exemplo, exibir se escreve com x porque provém da palavra latina exhibere, que se escreve com x (em latim, esse x tem de fato som de ks). Manter essa ortografia é bom porque evidencia o prefixo ex-, que é comum a tantas outras palavras e tem um significado mais ou menos bem-definido. Similarmente, escrever biologia ao invés de biolojia é bom porque evidencia a relação dessa palavra com a palavra biólogo. Se escrevêssemos tudo como falamos, essas relações entre as palavras, que são visíveis em suas formas gregas e latinas originais, seriam obscurecidas.

Acontece, entretanto, que quando os romanos começaram a escrever o latim, eles o escreveram exatamente como o falavam: em latim clássico, c sempre tem som de [k] (Cicero se lê "quíquero"), g tem sempre som de [g] (magis se lê "máguis"), x sempre tem som de [ks], as consoantes duplas (como em anno) realmente eram pronunciadas mais longas, e assim por diante. Em geral, quando uma língua recém adota um sistema de escrita [alfabético], ele tende a refletir bastante fielmente a fala; é só com o tempo que, à medida em que a língua vai mudando, a escrita resiste a acompanhar essas mudanças, e perde-se a relação direta entre a grafia e a pronúncia.

Ok, mas em latim não tem problema escrever como se fala, porque latim é latim e, sendo uma língua mais "pura" e menos "corroída" pela ação do tempo, essas relações que para nós só são visíveis na ortografia eram parte da língua latina viva, e portanto sua escrita baseada na fala as conserva, right?

Well, não é bem assim. O latim não brotou do nada. Assim como o português, o espanhol, o italiano, o francês, etc. derivam de uma língua anterior (o latim), e assim formam a família das línguas latinas ou românicas, também o latim, o grego, o sânscrito, o germânico, o eslávico, etc. derivam de uma língua comum, e formam assim a família das línguas indo-européias. O problema é que essa língua é tão antiga que nunca chegou a ser escrita; porém, é possível observar as similaridades e diferenças das línguas descendentes que ela deixou e reconstruir com alguma segurança como era essa língua original. A essa língua reconstruída denomina-se proto-indo-europeu.

E assim como o português é uma versão "corroída" de latim, o latim é uma versão "corroída" de proto-indo-europeu, e algumas relações entre palavras que eram visíveis em proto-indo-europeu ou em proto-latim não o são em latim. Voltando ao nosso exemplo clássico, exibir (pronunciado "ezibir") em latim é exhibere (pronunciado "eks-híbere", sem nenhuma letra muda nem irregularidade), mostrando claramente na pronúncia e na escrita o prefixo ex-. Mas e o que fazer do -hibere? Pois acontece que hibere nada mais é do que uma versão "corrompida" do verbo habere, que dá origem ao nosso haver. Essa mudança habere → hibere não é de uma natureza muito diferente da pronúncia de comi como "cumi" ou escola como "iscola" em português brasileiro moderno. E no entanto, essa "corrupção" que ocorreu entre o proto-latim e o latim foi tomada como forma oficial em latim; em latim clássico, se escreve como se fala.

Outro exemplo: as sequências de sons /ts/ e /ds/ do proto-indo-europeu se perderam em latim. Assim, "potentes" (no plural) em latim é potentes, mas no singular é potens, pois o t da forma original (*potents) se perdeu. Da mesma forma, a conjugação do verbo "ser" (esse) em latim é sum, es, est (de onde vem o nosso sou, és, é), mas a conjugação do verbo "poder", que em latim é derivado da expressão potis esse ("ser capaz") é possum, potes, potest, pois o t do *potsum original se perdeu, e essa perda é refletida na escrita.

E quanto ao próprio verbo "ser"? Sum, es, est, sumus, estis, sunt não é exatamente um primor de regularidade. Ok, o verbo "ser" é irregular em tudo que é língua, especialmente nas línguas indo-européias... interessante essa última observação, não? Acontece que a forma reconstruída desse verbo em proto-indo-europeu é h₁ésmi, h₁ési, h₁ésti, h₁sm̥ós, h₁sté, h₁sénti, que tem uma cara bem mais regular; até dá para distinguir um radical: h₁es-. (Em proto-indo-europeu, é comum os radicais terem a forma consoante-vogal-consoante, onde a vogal alterna entre e, o e ausência de vogal ao longo da conjugação ou declinação.) Agora o que é esse h₁? Trata-se de uma das chamadas consoantes laringeais do PIE. As laringeais não são nada mais, nada menos do que sons similares a h, que se perderam em todas as línguas descendentes exceto na família do hitita, deixando apenas vestígios de sua anterior existência (normalmente na forma de vogais ou efeitos sobre vogais adjacentes) na maioria das línguas indo-européias. That's right, os hs do PIE já tinham ficado mudos 3 mil anos atrás e os romanos nem chegaram a tomar conhecimento de sua existência, e portanto eles não são refletidos na escrita do latim. (Os hs do latim provêm de outros fonemas do PIE, tais como /gʰ/, que se "corromperam" e transformaram-se em h com o tempo.) Se os falantes de proto-indo-europeu estivessem vivos e dotados de escrita nessa época, eles teriam tido a mesma reação diante da escrita do latim que nós temos diante de propostas de reforma ortográfica em português.


I disapprove of your orthographic developments!

O ponto onde eu quero chegar é: defende-se a manutenção da ortografia atual para conservar as relações etimológicas com o latim, língua-origem do português, mas o próprio latim não preserva em sua ortografia diversas relações etimológicas com a sua língua-origem. Se os falantes de latim clássico podiam escrever como falavam, por que nós não podemos?

Disclaimer

Não, embora possa parecer, eu não estou promulgando a reforma; no momento não expresso nem apoio nem oposição. Meu intento foi unicamente demonstrar uma fraqueza do argumento pró grafia etimológica. Certamente há outros argumentos possíveis em favor da grafia etimológica (por exemplo, que manter uma proximidade com a ortografia do latim facilita nossa vida para aprender outras línguas latinas e o inglês), bem como contra (escrevemos amigo e amizade (do latim amicus e amicitate-) e nem por isso deixamos de perceber a relação entre essas palavras). Decida por si mesmo. Ou não.

2 comentários

Orthographica

2014-08-20 01:31 -0300. Tags: lang, rant, ramble

A notícia de que estão querendo propor outra reforma ortográfica me trouxe à mente umas cousas de que eu gostaria de falar.

Da inconsistência da ortografia vigente

Certa feita, estávamos eu e familiares percorrendo as verdejantes terras de Viamãoheimr, quando um dos indivíduos exclamou algo do tipo: "Olha lá, a placa escrito 'ezibida' com 'z'. E aposto que a pessoa não escreveu assim pra ser diferente, não sabia mesmo." O primeiro pensamento que me veio à mente foi:

  1. Será que, ao invés de zoar da ignorância do povo, nós não devêssemos ficar é preocupados com o estado da educação neste país?

Mas logo depois me ocorreu outro:

  1. Não é fantástico que hoje em dia praticamente todo o mundo saiba ler e escrever, ainda que imperfeitamente, coisa que não era verdade dois séculos atrás nem durante a maior parte da história da escrita?

E, finalmente:

  1. "Exibida" ainda se escreve com "x", really?

É quanto a este último que eu pretendo falar.

A nossa ortografia mantém um bocado de irregularidades (no sentido de que nem toda letra ou seqüência de letras corresponde a um único som e vice-versa), em nome de conservar a etimologia das palavras. Por exemplo, exibir se escreve com x para manter a ortografia similar à palavra latina exhibere que lhe dá origem. Seria um argumento válido para a manutenção da ortografia vigente, se não fosse pelo fato de que esse princípio é seguido de maneira bastante inconsistente.

Por exemplo, diversas palavras que contêm os prefixos/preposições latinos ex- e extra- são escritas com x em português, tais como extrair, extraditar, etc. Mas estranho (do latim extraneus) se escreve com s, sem nenhum bom motivo (que me conste). Em um caso extremo, extensão se escreve com x, mas estender se escreve com s.

O h etimológico é mantido em início de palavra, mas não em outras posições: habitar se escreve com h, mas desabitar não. Que princípio justifica a manutenção em um caso e não no outro?

C tem som de [k] ou de [s] dependendo do contexto, o que ajuda a manter a ortografia de palavras como pouco e paucidade consistente, mesmo já fazendo uns mil e tantos anos que esses dois cs não têm mais o mesmo som. Por outro lado, o passado de fico é fiquei, uma mudança de c para qu que não ocorre por nenhum motivo etimológico, mas tão somente para contornar a irregularidade da pronúncia da letra c em português.

"Estão emburrecendo o português"

Na notícia que me linkaram sobre o assunto, pode-se encontrar um bocado de comentários dizendo que a proposta "emburrece o português", "é a legalização da burrice", "emburrecer a gramática", "E são regras, pelo amor de Deus! Isso não pode ser aprovado, são várias gerações que aprenderam a escrever seguindo uma regra", etc., etc. Eu não perdi muito tempo na referida seção de comentários porque a minha tolerância a essas coisas hoje em dia é muito pequena, mas deu para dar uma idéia. (Também havia uma boa dose de comentários pró-reforma no texto. Curiosamente, dei uma olhada na versão de papel da Zero Hora de hoje ontem, na seção de mensagens dos leitores, e haviam publicado uns quatro comentários recebidos via Facebook sobre o assunto, nenhum pró-reforma. Chamamos isso de imparcialidade.)

Esses comentários me corroem o fígado por duas razões. Em primeiro lugar: reformar a ortografia "emburrece a língua" (tanto quanto isso faz sentido)? Então o que fazer das reformas que eliminaram o ph, o h de exhibido, o y de pyrâmide, o ch de chaos, a consoante dupla de innovar? Elas "emburreceram a língua"? Não são tantas gerações assim que aprenderam a escrever em qualquer dada ortografia no Brasil; a última reforma foi aprovada em 2009, a anterior em 1971 e a anterior a essa em 1943.

Em segundo lugar: a ortografia não é a língua; estritamente, a ortografia não é sequer parte da gramática. Mesmo que o português deixasse de ser escrito, ou que fosse escrito em alfabeto cirílico, continuaria sendo a mesma língua, com as mesmas regras gramaticais. Evidentemente, as línguas costumam ter um sistema de escrita oficial associado a si, mas a língua é independente do sistema de escrita usado para escrevê-la (há inclusive línguas que possuem múltiplos sistemas de escrita oficiais).

Então tu defende a reforma?

Não. Muito embora eu discorde da noção de que a reforma "emburrece a língua", nem por isso eu aprovo a tal reforma. Na verdade eu sequer aprovo ou (tanto quanto me é possível) adoto a última reforma aprovada (como alguns leitores hão de ter notado pelo meu uso da grafia "idéia"). Na verdade eu tenho cá para mim sérias ressalvas quanto à existência de um órgão regulador da língua e da regulação da norma ortográfica por lei; o inglês vive sem um órgão regulador e ninguém sofreu danos deletérios por conta disso. (Ok, talvez a ortografia do inglês possa ser considerada um dano deletério.) Especialmente quando reformas são promulgadas sem qualquer consulta à população (isso é um problema geral da democracia representativa, but I digress).

Voltando especificamente à última reforma proposta: este pessoal do R7 resolveu falar com El Hombre Marcos Bagno, que levanta alguns pontos interessantes com os quais qualquer reforma que pretenda aproximar a escrita da fala tem que lidar. Por exemplo, em mestre o s tem som de "s", mas em mesmo tem som de "z"; deveremos escrever mezmo? Em alguns lugares, o s de mestre tem som de "s", em outros tem som de "x"; deveremos aceitar tanto mestre quanto mextre como grafias válidas?

De qualquer forma, a proposta tal como está sendo apresentada parece não ter sido muito bem pensada. Em particular, pelo menos na reforma tal como os jornais a estão apresentando, tanto c quanto q seriam mantidos com som de [k], e o som inicial de "rato" continuaria sendo escrito com "r" no início de palavra e "rr" no meio. Se é para fazer uma reforma radical como a que se está propondo, então que pelo menos adotem uma ortografia realmente lógica, e que as exceções, se houverem, sejam justificadas por algum guiding principle.

Alguns dos proponentes da reforma dizem que "A simplificação ortográfica é a porta para a eliminação do analfabetismo". Será? O Japão usa um sistema de escrita absurdamente complicado, que consiste de dois silabários e um conjunto de mais ou menos dois mil ideogramas, cuja leitura pode ser drasticamente diferente dependendo do contexto (今 se lê "ima" e 日 se lê "hi", mas 今日 se lê "kyō"), e no entanto o Japão tem uma taxa de alfabetização de mais de oito mil 99% (fonte). Claro que, pode-se argumentar, quanto mais complexo o sistema de escrita, mais tempo se perde apredendo-o que poderia ser usado de maneira mais útil para outras coisas, e mais inacessível ele se torna a quem não tem esse tempo para dedicar a aprendê-lo (e.g., quem não termina o ensino fundamental). Por outro lado, não me é claro se haveria um ganho significativo em termos de alfabetização passando da ortografia atual do português (que já é bastante próxima da fala) para uma ortografia mais regular.

Então tu defende o quê?

Eu não defendo nada. Isso aqui é para terminar que nem um daqueles episódios do South Park que começam com uma questão polêmica e no final se fica com a impressão de que ambos os lados da discussão estão errados.

(Ok, eu pessoalmente defendo o status quo. Aliás, o status quo ante, de volta à ortografia anterior à última reforma. Mas neste post aqui eu não tento defender nada.)

Caveat commentator

Eu tenho uma experiência prévia ruim com posts que escapam para o mundo selvagem e atraem comentários menos-que-positivos. Na verdade a negatividade da experiência em questão foi amplificada pelo fato de eu ter sido pego absolutamente de surpresa na ocasião; hoje em dia eu já posto psicologicamente preparado para estar errado na Internet. De qualquer forma, dado o teor dos comentários na notícia da Zero Hora linkada, parece-me boa precaução deixar um recado a quem pretender comentar o post: caso pretenda deixar sua opinião sobre a reforma, faça-o apenas se for apresentar argumentos para defender sua posição. Comentários do tipo "eu aprovo", "eu desaprovo", "oh, o emburrecimento da língua", "meu, tu mal consegue escrever um parágrafo em português sem tacar um termo em inglês no meio ou conjugar a segunda pessoa errado, quem é tu pra falar de português?", etc., serão sumariamente eliminados, e os autores serão sumariamente insultados (vou mostrar a língua para eles).

Update: Assista ao próximo capítulo de Orthographica: uma batalha entre fonemas e grafemas.

9 comentários

Main menu

Posts recentes

Tags

comp (75) life (30) unix (29) prog (26) random (23) mundane (21) lang (20) about (18) mind (15) web (13) img (11) rant (11) ramble (9) privacy (8) bash (7) esperanto (7) home (6) conlang (5) pldesign (5) academia (5) freedom (4) book (4) lisp (4) copyright (4) misc (4) mestrado (4) worldly (3) kbd (3) film (3) security (3) music (3) politics (3) network (2) wrong (2) latex (2) android (2) cook (2) editor (2) c (2) physics (2) php (2) poem (2) pointless (1) perl (1) shell (1) audio (1) kindle (1)

Elsewhere

Quod vide


Copyright © 2012-2014 Vítor Bujés Ubatuba De Araújo
O conteúdo deste site, a menos que de outra forma especificado, pode ser utilizado livremente, com ou sem alterações, desde que seja mencionado o autor, preferivelmente com a URL do documento original.

Powered by Blognir.