quinta-feira, 5 de junho de 2014

Estado laico, feriado religioso.

Estava eu bem contente perdendo meu tempo vendo as bobagens que as pessoas compartilham e me deparo com uma foto do Papa Chico e a seguinte mensagem: "diz que é ateu, mas já está planejando o feriadão de Corpus Christi". O que poderia ser uma demonstração de incoerência e oportunismo caso tais feriados não fossem obrigatórios.

Incoerente torna-se o Estado brasileiro ao obrigar toda a sua população, independente de suas crenças pessoais, a celebrar eventos que só têm importância para sua porção (ainda maioria, mas em declínio) que segue o catolicismo.

Em relação a outros feriados, não sou totalmente contra, embora os ache um estorvo. Seria muito mais interessante que cada pessoa pudesse declarar seu próprio calendário de feriados religiosos, respeitando algum limite legal. No meu caso, pegaria todos esses dias que são feriados atualmente (carnaval, sexta-feira santa, páscoa, corpus christi, nosssa sra. aparecida, finados e natal, se não esqueci de nenhum) e passaria para perto do meu aniversário :)

Quanto à brincadeira inicial, pode-se argumentar que o feriado de Corpus Christi é facultativo (segundo calendário que acabei de ver, não sei se é verdade), mas se o cidadão trabalha em uma empresa que fecha neste dia, não há tal opção, a meu ver. E outra, se o ser decidir trabalhar neste dia, receberá algo a mais que aqueles que não trabalharam? Acho que deveria receber um dia à sua escolha para folgar.

E quanto aos profissionais liberais? Bom, esses não têm nem final de semana, imagina feriado.

quarta-feira, 19 de março de 2014

Não tolero intolerância...

Ontem me deparei com uma postagem do humorista Fábio Porchat no Facebook, em que uma imagem trazia a seguinte mensagem:

"Você aprendeu na escola sobre respeitar os índios? SIM!?! Virou índio? Não? ... Então porque diabos acha que ensinar a seu filho a respeitar gays o fará se tornar um homossexual."

Obviamente a comparação soa um tanto absurda, mas ela é bem plausível (principalmente para aqueles que, como eu, crêem que a homossexualidade não é uma característica adquirida, mas sim inata, tanto quanto sua etnia), afinal, nenhum europeu pode decidir aos 5 ou 10 anos se tornar asiático, assim como uma pessoa que nasce homossexual não tem a opção de ser heterossexual; e para ser ainda mais "comparável", nossos antepassados "domesticaram" os índios, dando-lhes educação e comportamento inerente aos europeus, tanto quanto nossa sociedade atual força homossexuais a se comportarem como heterossexuais para serem aceitos e tratados com respeito e dignidade.

Indo além da postagem em sí, os comentários me trouxeram um certo desconforto, pois muitas pessoas se colocaram contra os direitos dos homossexuais, afirmando que a mídia quer tornar a homossexualidade uma moda, que Deus disse que isso é errado, que a família é homem e mulher, que os gays querem ter mais direitos que outros cidadãos. Ora, se a luta dos homossexuais é por direitos idênticos aos casais heterossexuais, como se pode afirmar que eles querem mais direitos do que os outros? Ou, o que me causa ainda mais espanto, muitos diziam que respeitam mas não aceitam o comportamento homossexual. Quem sou eu, quem é você, quem somos nós para acharmos que temos algum direito ou incumbência garantidos por alguém (Deus?!) para que precisemos aceitar a sexualidade de outrém para que esta seja legítima? O indivíduo deve ter o direito de se relacionar com quem tiver vontade e por quem sentir desejo (claro que consensualmente, mediante reciprocidade e com respeito à integridade física e moral do parceiro), pois o corpo é dele, assim como o corpo do parceiro é do parceiro e tange somente a eles a intimidade que compartilham.

A mídia divulga amplamente e exibe protestos, traz à tona a discussão sobre as leis que regulamentam união estável entre homossexuais, a adoção de crianças por casais gays, o posicionamento intolerante de políticos de bases religiosas porque o assunto precisa ser discutido, visto que vivemos em uma sociedade democrática. Jornais e revistas trazem também diversas notícias que expressam o lado mais triste e cruel do preconceito, pois, frequentemente, pessoas são espancadas, torturadas e mortas por causa de sua sexualidade. Um comportamento que lembra as piores passagens da história humana, pois assim como no holocausto, onde a religião era o critério de seleção para a morte, hoje a sexualidade em muitos casos é a sentença de morte. Esse compromisso da mídia de divulgar esses absurdos e a luta daqueles que sofrem o preconceito não pode ser considerado uma tentativa de tornar moda a homossexualidade, mas sim um compromisso com um assunto atual e polêmico que precisa ser discutido, além de exibir essa violência contra as minorias que precisa ser contida.

Vi também pessoas criticarem aquilo que chamam de "kit gay", afirmando que ele pode incentivar a homossexualidade em crianças e adolescentes (eu tenho grandes dúvidas sobre a homossexualidade ser adquirida ou inata, mas tendo a acreditar que ela é, de fato, inata, porque não consigo encontrar a necessidade de incentivo para que alguém seja heterossexual e também pela expressão da mesma na natureza, onde diversas espécies demonstram comportamento homossexual). A meu ver, a ideia desse kit é divulgar, informar e demonstrar às crianças que o homossexualismo existe, é comum e todos, hetero ou homossexuais, devem ser tratados e respeitados da mesma forma, assim como mostrar também, que não é errado ser homossexual (ENTENDAM: ENSINAR QUE NÃO É ERRADO, NÃO SIGNIFICA ENSINAR QUE ESTA É A ÚNICA MANEIRA CORRETA DE SE VIVER A SEXUALIDADE). Acredito sim que muitas crianças possam ter problemas para compreender isso, mas serão aquelas crianças que tem pais fechados, antiquados, que não têm um diálogo aberto e franco com os filhos, que perdem chances valiosas de ensinar e orientar as crianças por causa da intolerância e de preconceitos tolos sem fundamentos.

O ponto crucial da questão é quando a religião entra no debate e as pessoas utilizam o discurso de que a bíblia diz que é imoral, que é pecado, ou quando dizem que Deus criou o homem e a mulher e que esta é a base da família e uma lei que permita o casamento gay vai contra os preceitos e a base familiar. Vamos começar por uma coisa básica: O Estado é (teoricamente) LAICO! Ou seja, não se deveria nem tomar como um argumento válido algo que se encontra em um livro de uma religião. Indo além, a suposta imoralidade e aversão divina ao homossexualismo não se demonstra na natureza, onde, como disse acima, diversas espécies animais tem comportamento homossexual. Quanto à reprodução, o mundo já está superlotado e diversas dessas famílias "como Deus quer" têm pais e mães drogados que estupram, torturam, espancam, humilham e matam seus filhos. Ora, se a família é "convencional" não interessa o tratamento que dão a seus filhos, mas fundamentalistas lutam para que gays não possam adotar crianças, porque afinal, um pretenso incentivo à homossexualidade certamente é muito mais grave que as atrocidades cometidas pelas famílias "normais". O mais grave é que quando você busca um diálogo para tentar modificar esse pensamento engessado, não existe outro argumento plausível para que a pessoa seja contra, apenas o fundamentalismo religioso, cego e descabido. É inconcebível pra mim que pessoas que se julgam inteligentes pautem em um livro com mais de dois mil anos o comportamento e os preceitos para nossa sociedade moderna. Quero deixar claro que creio em Deus e não desmereço a bíblia, mas a vejo como um livro, um maravilhoso livro, de onde podemos tirar boas lições e de onde devemos ter o discernimento de ignorar aquilo que não tem mais cabimento em nossa realidade.

Para evoluirmos como seres humanos, é fundamental que consigamos superar as diferenças de religiões, cor, sexualidade, classe social e qualquer outra, para que aprendamos e passemos a tratar o próximo como um semelhante, que tenhamos empatia para entender o sofrimento que causa a intolerância e o preconceito. Espero que um dia sejamos capazes de imitar os animais e possamos deixar de sermos brancos, negros, gays, héteros, judeus, cristãos, ricos, pobres e passemos a ser apenas humanos, como um peixe é apenas um peixe.

** Agradecimento especial à minha amiga Michele Silva pela colaboração com a revisão do texto.

Fugindo da inércia - morte de Bin Laden

Pessoal, faz tempo que não posto por aqui, mas retornei ao blog e encontrei um texto que eu escrevi há muito tempo, mas não publiquei. Estou publicando somente para não ficar com a sensação de que tenho um assunto inacabado no blog e todos sabemos que os fantasmas só existem por causa dos assuntos inacabados.

Claro que o fato já é antigo, mas o assunto em sí (violência e o desrespeito à vida), infelizmente, não sai de moda.

Ai vai:



Fofinhos, para quebrar o gelo, venho aqui escrever algumas linhas sobre a morte do terrorista Osama Bin Laden.

Acredito que os atos terroristas planejados e financiados pelo Bin Laden tenham sido a mais terrível parte da história recente de nossa sociedade, uma demonstração da suprema ignorância, intolerância, banalidade e violência que podem atingir e destruir nossa pretensa racionalidade, nos transformando em animais muito piores que os irracionais.

Um ser humano que planeja e executa atos que tragam como consequência a morte de outros seres humanos, e ainda é capaz de afirmar que o fez em nome de um deus, só pode ser alguém que tenha sido atingido por essa suprema ignorância, alguém que não entendeu a mensagem de seu deus e distorce as palavras das sagradas escrituras das mais diversas para ratificar seu impulso violento.

Hoje, após quase dez anos de intensa e ininterrupta busca, ele foi localizado e morto por uma tropa americana, em um esconderijo no Paquistão. Nessa noite, americanos se reuniram e comemoraram a morte do terrorista em frente à Casa Branca.

Apesar de toda crueldade e de todos os atos praticados por Bin Laden, a morte, na minha visão, jamais deveria ser comemorada, festejada, brindada, por pior que seja aquele que morreu. Comemorar a morte é tão desumano quanto planejá-la, por mais desespero que este homem tenha trazido para as pessoas, ainda é um ser humano. Não critico a caçada e o ato de matá-lo, mas a espetacularização e o festejo sobre seu cadáver, que demonstram que por mais dor que sintamos com atos desumanos, não aprendemos a ser humanos de verdade e não perdemos chances de demonstrar essa desumanidade que nos acompanha.

Provavelmente eu não seja compreendido diretamente, talvez o texto exija uma re-leitura para um completo entendimento, mas o que eu realmente quero dizer é que, por mais que ele merecesse, nós não devemos dançar sobre sua sepultura e sim, demonstrarmos que por termos sido testemunhas e vítimas de atos desumanos, queremos banir essa falta de humanidade de nossa sociedade, esquecendo, deixando-a de lado e, para tanto, não devemos reproduzir atos imbuídos deste valor (ou desvalor).

Como seres humanos, fomos todos testemunhas e também vítimas dos atentados planejados, financiados e incentivados por Bin Laden, e ainda como seres humanos, devemos ser capazes de pensar sobre sua morte não com alegria, mas sim com a preocupação de criarmos um futuro menos desumano, não apenas abolindo e condenando práticas que sejam permeadas por essa característica, mas principalmente dando ênfase à disseminação de um pensamento mais humano, inclusivo, tolerante, repleto de valores éticos e morais, capaz de tornar as pessoas mais preocupadas com o próximo, compreendendo suas diferenças e limitações, bem como sendo capazes de lidar com essas características e superá-las, abrindo caminho para uma sociedade que seja globalizada não só no âmbito comercial e mercantil, mas também no âmbito humano.

quarta-feira, 26 de fevereiro de 2014

Os melões II

Continuando minhas percepções sobre melões, providenciei um melão Gaúcho, um italiano Charantais e no final um Galia (ou não).

Comecei pelo Gaúcho. Antes de abrir eu imaginava que seria o melhor de todos, porque os gaúchos devem ser os melhores em tudo, até na variedade de melão. Ledo engano, o melão era uma bosta :-). As sementes desse melão caíram como o churrio depois do tragoléu. A camada carnuda era fininha, quase valia a pena comer com a casca junto. A consistência desse melão era pastosa, e o sabor quase imperceptível.

Fatia cortada do melão Gaúcho.

Infelizmente eu demorei demais para abrir o Chanrantais, e tive que cortar metade dele, daí a foto não ficou bacana como as outras e eu fiquei com menos melão pra comer.
Esse melão apresenta uma casca verde e dura, com gomos. Lembra um Cantaloupe menor. Ao abrir, nota-se que não somente a casca, mas todo o melão é mais duro e consistente. A firmeza lembra um pouco o amarelo. Ao contrário do Gaúcho, esse melão tem uma polpa espessa, e um sabor bastante forte também. O ponto negativo, talvez por estar bastante maduro já, é que esse melão é doce demais, quase enjoativo. É melhor comer gelado pra disfarçar a doçura.

Fatia da metade que sobrou do Chantarais.

E, como demorei muito para publicar este texto, acrescento um terceiro melão. No mercado, tava escrito que era Galia, mas pra mim parece um pele-de-sapo. Depois eu vou num outro mercado (como o Mercado Público) pra confirmar. Ao abrir, deu para perceber uma grande dureza no melão. Parece até que ele estava pouco maduro. O que combina com a mini-pesquisa de um site que eu fiz, que dizia que o melão Galia amarela quando amadurece. Entretanto, depois de comer, ele pareceu bom, embora um tanto suave, com uma dureza parecida com a do Amarelo.

Fatia do melão Galia que mais parece pele-de-sapo.

quarta-feira, 12 de fevereiro de 2014

Os melões

No final do ano passado, após chegar aos 100kg (ou perto disso), e não ter mais disposição para caminhar uma quadra, decidi melhorar um pouco minha alimentação. Meu plano era simples, parar de comer feito um ogro e fazer lanches saudáveis para não passar fome.
Comecei a comer maçãs de lanche, mas cansei de procurar maçãs boas no mercado e troquei por melão. O bom do melão é que é uma fruta gostosa, embora suave, e quando eu fiquei com umas 5 aftas na boca, era uma das poucas coisas que não me irritavam.

Depois de uns dias, me questionei sobre as variedades de melão. Eu estava comprando o amarelo, que é verde quase branco por dentro, e tem um sabor meio adocicado quando mais maduro, e quase não tem gosto quando mais verde. Já nos restaurantes a variedade era diferente. Nunca vi a casca, mas a cor por dentro é de um laranja bem forte, e o aroma também o é. O gosto também é bastante forte, embora quase não seja doce, mesmo quando maduro.

Decidi provar os vários tipos de melão disponíveis por aqui para comparar, e aqui está o resultado.

A primeira leva de melões compreendeu as variedades orange, amarelo espanhol e cantaloupe, segundo os rótulos no mercado. A maioria dos melões cantaloupe que eu vi tinham casca verde. Comprei um mais laranja e comecei os trabalhos por ele, antes que estragasse.

Variedades de melão em ordem: Orange, Cantaloupe, Amarelo Espanhol.

O melão Cantaloupe tem uma consistência bem macia e apresentava uma cor laranja bem forte, assim como o aroma. Até é importante destacar o aroma (mais doce que o sabor): antes de abrir o melão já dava pra sentir aquele cheiro agradável da fruta. Nota-se que, por ser macio, é mais fácil de descascar que o Amarelo. É bastante suculento, praticamente a laranja valência dos melões.

Fatia cortada do melão Cantaloupe.

O melão Amarelo Espanhol (que, segundo me disseram, não é o mais comum na Espanha, cabendo esse posto ao pele de sapo) é evidentemente mais duro que o Cantaloupe, e menos suculento também. O que não quer dizer que seja uma fruta seca. Pelo contrário, dá pra matar um pouco da sede com ele. Ou daria, se fosse menos doce. O gosto de melão é sutil, o mais marcante é o sabor doce desta variedade. Assim como tem pouco gosto de melão, também tem pouco cheiro de melão. No exterior, é chamado de Melão Canário (note as semelhanças com o uniforme da seleção brasileira, :P).

Fatia cortada do melão Amarelo Espanhol.

O melão orange é menor que o Cantaloupe e o Amarelo. Quando eu trouxe pra casa, tinha uma pele bem macia, mas que endureceu até eu abrir o melão. Achei que ele seria mais suculento ao abrir, pois antes de tirar a fatia já derramou um pouco de suco por fora. Entretanto, ele se mostrou mais seco que o Cantaloupe, e com um gosto adocicado comparável com o Amarelo. A consistência é meio pastosa, fazendo este não ser um meio termo entre ambos anteriores, ambos mais consistentes. Não apresenta cheiro perceptível e o sabor de melão é bastante leve, mas mais parecido com o Cantaloupe que com o Amarelo.

Fatia cortada do melão Orange.

Na continuação do texto, comentarei sobre o melão pele de sapo e o melão gaúcho, além de alguma outra variedade que eu porventura encontre no mercado.

Melão facts (todos tirados da Wikipedia quase todos tirados da Wikipedia):
  • O melão amarelo espanhol não é comum na Espanha, diferente do pele de sapo que teve sua origem lá.
  • O melão pele de sapo também é conhecido como melão de natal, por durar longos períodos. Ou seja, desde a colheita até o natal :)
  • O Turcomenistão, além de abrigar a porta para o inferno, comemora o Dia do Melão como feriado nacional.

quinta-feira, 14 de março de 2013

O Retorno (2/2) - Sobre o que conhecemos

A ideia desse texto veio de uma tarde de trabalho. Daquelas tardes em que tu simplesmente tens que dar uma volta no meio das árvores pra se tranquilizar depois de tentar (e não conseguir) resolver um pepinão. Então, nessa tarde, resolvi dar uma volta na redenção. Além de me tranquilizar pelo trabalho, ainda tinha que eliminar a cafeína do meu sistema (será que fazer exercício ajuda?), mas essa informação não é tão relevante.

Caminhando no parque, é possível ver outras pessoas também caminhando, ou correndo, pedalando, jogando bola, tomando mate, dormindo, levando as crianças nos brinquedos e, nos dias mais quentes, até nadando no chafariz. E eu lá, caminhando para relaxar um pouco.

Isso me levou a pensar: o que eu posso saber sobre essas pessoas na redenção? Pouca coisa, na verdade. Não posso inferir nada, não posso pensar que eu sei as condições que levaram as pessoas  a estarem ali naquele momento e naquela hora realizando a atividade que estão realizando.

E esse é um pensamento importante pra mim, pois lembrei de uma atitude que eu acho no mínimo irritante, apesar de ser um tanto comum. Tem gente que tem certo prazer de ver pessoas em volta e ifcar imaginando historais pra elas, e comentando das vidas de todo mundo, ou de como pensam serem as vidas de todos em volta, de forma pejorativa. O que é irritante, mas só se torna prejudicial se a pessoa ouvir e ficar ofendida, a meu ver.

O problema de não se ter consicência do que não podemos saber é um tanto mais grave. É generalizar esse comportamento para inventar qualidades depreciativas sobre todos aqueles que realizam uma atitude contrária ao que se pensa serem adequadas. Um exemplo CLÁSSICO é aquele conservador conformista que diz que "todo manifestante é vagabundo". Daria pra aplicar ao meu caso, e dizer que o pessoal que tava no meio da semana e no meio da tarde na redenção devem ser todos vagabundos, ou será que eram pós-graduandos também?

E eu comento isso porque acho importante evitar seguir o caminho do preconceito. Acho que só temos a crescer quando passamos a tentar compreender as pessoas no lugar de julgá-las. E infelizmente vejo muita gente que prefere seguir o caminho simples da generalização do que não lhe agrada em vez de admitir que seus (pré)conceitos não são tão bem fundamentados assim.

***

E agora, só para finalizar esse texto mal escrito em dois momentos, com um muito de cansaço e um pouco de álcool, Lightning Bolt:

domingo, 10 de março de 2013

Se eu soubesse antes... 2

Um pequeno complemento no texto anterior. O programa chamado "errado" roda sem problemas aparentes se não é usada a opção -fbounds-check (ou -fcheck=bounds na versão mais atualizada).
program errado
implicit none
integer,dimension(:),allocatable :: a
integer :: b
allocate(a(10))
b = a(11)
endprogram errado
Usando o Valgrind (mais especificamente, a ferramenta MemCheck), aparece o seguinte aviso:
==5433== Invalid read of size 4
==5433==    at 0x4008F2: MAIN__ (errado.f03:6)
==5433==    by 0x40094A: main (errado.f03:7)

Rodando um segundo programa, que eu fiz pra continuar testando como se encontrar os erros, encontrei o seguinte:
program errado2

integer,parameter :: kr = 8
integer,dimension(6) :: r
real(kr),dimension(:),allocatable :: a,b
integer :: i,j

allocate(a(10),b(10))

b = (/ (real(i,kr),i=1,10) /)

do i=1,10
 r = (/ (i+j,j=1,6) /)
 write(*,'(6ES13.3E3)')a(r)
enddo

do i=1,10
 r = (/ (i+j,j=1,6) /)
 write(*,'(6ES13.3E3)')b(r)
enddo

write(*,*)'Fim'
endprogram errado2

$ valgrind --track-origins=yes ./errado2
*** algumas linhas cortadas ***
==5672== Conditional jump or move depends on uninitialised value(s)
==5672==    at 0x4F0FF57: ??? (in /usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0)
==5672==    by 0x4F10BC6: ??? (in /usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0)
==5672==    by 0x4F11D80: ??? (in /usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0)
==5672==    by 0x4F0AC25: ??? (in /usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0)
==5672==    by 0x4F08F72: _gfortran_transfer_array (in /usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0)
==5672==    by 0x400E8F: MAIN__ (errado2.f03:15)
==5672==    by 0x40118F: main (errado2.f03:24)
==5672==  Uninitialised value was created by a heap allocation
==5672==    at 0x4C28B8C: malloc (vg_replace_malloc.c:270)
==5672==    by 0x400AD7: MAIN__ (errado2.f03:9)
==5672==    by 0x40118F: main (errado2.f03:24)
==5672== 
==5672== Syscall param write(buf) points to uninitialised byte(s)
==5672==    at 0x58E0AF0: __write_nocancel (syscall-template.S:82)
==5672==    by 0x4F0E0BC: ??? (in /usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0)
==5672==    by 0x4F145EE: ??? (in /usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0)
==5672==    by 0x4F09B76: ??? (in /usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0)
==5672==    by 0x4F0A458: _gfortran_st_write_done (in /usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0)
==5672==    by 0x400E9E: MAIN__ (errado2.f03:15)
==5672==    by 0x40118F: main (errado2.f03:24)
*** mais algumas linhas cortadas ***
A opção --track-origins=yes mostra as informações em Unitialised value was created by a heap allocation ... As linhas que apontam onde está o erro (dessas que eu colei acima) são as seguintes:
==5672==    by 0x400E8F: MAIN__ (errado2.f03:15)
==5672==    by 0x400AD7: MAIN__ (errado2.f03:9)
==5672==    by 0x400E9E: MAIN__ (errado2.f03:15)
Nota-se que a linha 9 é onde a variável é alocada, e esse local é apontado onde diz como o valor não inicializado foi criado.

sexta-feira, 22 de fevereiro de 2013

Se eu soubesse antes...

Quando eu peguei meu projeto de pesquisa, imaginei que seria tranquilo. O maior trabalho seria criar a ferramenta para as análises, que é a modificação de um programa já existente em Fortran 90.

Se eu tivesse me mantido nas ferramentas que eu conhecia na época, talvez tivesse sido mesmo tranquilo. Até entrar no mestrado eu usava o editor de VBA pra Excel, depois eu comecei a usar o Visual Studio. Daí no meio do mestrado eu troquei o sistema operacional pra GNU/Linux e não me preocupei com IDE. E o que eu tinha feito antes era tão simples que eu também não me preocupei com debuggers.

Até lá, eu vivia no mundo mágico onde tudo funcionava, mesmo que eu não soubesse exatamente como. Não que eu não ficasse intrigado, mas eu não tive maiores problemas por não conhecer profundamente o que eu estava fazendo.

Então começaram os trabalhos. Enquanto eu ficava com o notepad++ (windows) ou o gedit (ubuntu) mais uma tela de terminal aberta, meus colegas rodavam o Visual Compaq em máquinas virtuais rodando Windows XP. Enquanto eu usava gFortran, eles usavam o iFort (é da Intel, não da Apple).

E daí eu tive umas dificuldades a mais, que aos poucos fui entendendo como solucionava.

1) A primeira coisa que eu deveria saber, na verdade eu já sabia, só não apliquei direito. Comecei a fazer as alterações criando módulos novos e testando. Só que chegou uma hora que eu parei de testar os módulos porque não conseguia mais entender como modularizar os testes das funções. Esse foi o primeiro erro. Com um pouco de conversa com os mais experientes eu provavelmente teria conseguido fazer os testes, e não programar várias funções diferentes sendo chamadas umas nas outras sem saber onde estavam os erros.

2) Flags de compilação. Isso é básico, muito básico. O que foi mais útil pra mim foram as flags de avisos, que me ajudaram a rastrear não só os erros, como o que estava mal escrito. Sem esses avisos, o compilador apontava pra linhas que eu não conseguia entender por que havia um erro. Depois de ativar os avisos veio a resposta: porque o erro não estava ali. Então, comecei compilando com:
$ gfortran programa.f90 -o programa

E agora eu faço usando scripts como esse:
$ cat c.sh
str=$1
len=${#str}
gfortran -g -fbounds-check -fmax-errors=3 -Wuninitialized -ffpe-trap=overflow -fbacktrace -ffree-line-length-0 -Wall -Wtabs $1 -o ${str:0:(len-4)}
$ ./c.sh programa.f03
Para o .bat, eu lembro que a referência é dada por %1 e não $1, mas nunca lembro como manipula strings.

Nota que tem um ponto importante que foi a fonte dos meus pepinos dos últimos meses, que o -fbounds-check evita. O seguinte código não vai dar erro sem o -fbounds-check. Por sinal, por algum motivo não consegui fazer dar erro agora pelo vetor a não ter sido inicializado, tenho que dar uma olhada nisso com mais calma.
program errado
implicit none
integer,dimension(:),allocatable :: a
integer :: b
allocate(a(10))
b = a(11)
endprogram errado


3) Debugger. Fiz o debug por mais de um ano colocando todos os write(*,*) possíveis e imagináveis no código, até perceber que tinha variáveis demais e eu não estava entendo mais o que acontecia. Meu trabalho teria sido mais rápido e fácil se, 1 ano atrás, eu tivesse aprendido a usar algum debugger. Então, era hora de procurá-lo, antes tarde do que nunca, dizem por aí. Resolvi usar o GDB. O detalhe é que ele, a princípio, tá redondinho pro Fortran 77, mas não necessariamente pros mais recentes. Não sei se o pepino é do GDB ou do gFortran, mas depois de 2 dias aprendendo a usar o GDB eu descobri que não conseguia ver as variáveis dos arrays alocados dinamicamente. Resolvi fazer um programa de teste pra encontrar o problema, e mudei pra encontrar a "solução" (também conhecida como gambiarra). O programa ficou o seguinte:
program kindreal
implicit none

integer,parameter :: kr4=4,kr8=8

real(kr4),dimension(2)   :: a4
real(kr8),dimension(2)    :: a8
real(kr4),dimension(:),allocatable :: b4
real(kr8),dimension(:),allocatable :: b8

real(kr8) :: arg1,arg2

arg1 = 10.d0
arg2 = 9.d200

a8 = (/ arg1,arg2 /)
b8 = (/ arg1,arg2 /)

a4(1) = real(arg1,kr4)
b4(1) = real(arg1,kr4)
a4(2) = huge(a4(2))
b4(2) = huge(b4(2))

write(*,*)'a4',a4(:)
write(*,*)'b4',b4(:)
write(*,*)'a8',a8(:)
write(*,*)'b8',b8(:)

endprogram kindreal

E a saída ficou:
 a4   10.000000      3.40282347E+38
 b4   10.000000      3.40282347E+38
 a8   10.000000000000000       8.99999999999999939E+200
 b8   10.000000000000000       8.99999999999999939E+200

Vendo no GDB, fica da seguinte forma:
(gdb) p a4
$1 = (10, 3.40282347e+38)
(gdb) p b4
$2 = (0)
(gdb) p a8
$3 = (10, 8.9999999999999994e+200)
(gdb) p b8
$4 = (0)
(gdb) p *((real *)b4)
$5 = 10
(gdb) p *((real *)b4)@2
$6 = (10, 3.40282347e+38)
(gdb) p *((real *)b8)@2
$7 = (0, 2.5625)
O que mostra que o problema é como mostrar os arranjos alocáveis em real(8), que eu não descobri como fazer.

Bom, na verdade o erro é não saber o que se está fazendo, mas aos poucos eu vou descobrindo.

PS: O texto "O Retorno (2/2)" está quase escrito. Só não sei se vai ser (2/2) ou (1,5/2), hehe.
PS2: Como eu não sabia colocar código na página (não manjo nada de html), usei isso aqui: http://formatmysourcecode.blogspot.com.br/
PS3: Não podia faltar uma música pra encerrar o texto:

domingo, 17 de fevereiro de 2013

O Retorno (1/2) - Sobre a Fofoca

Depois de 2 anos, 1 mês e 5 dias, espero ter o ânimo de voltar a publicar minhas bobagens por aqui, já que elas têm que tomar seu rumo pra liberar o espaço em disco pra bobagens novas.

Eu costumo dizer que a fofoca é um meio de auto-defesa. Enquanto governos têm suas agências de inteligência, o cidadão comum tem a fofoca.

Embora a fofoca seja geralmente vista como ruim, eu ejo como apenas uma troca de informações entre as pessoas quando seus assuntos pessoais já se extinguiram, algo bastante natural entre seres que precisam se comunicar constantemente. Assim, a fofoca permite que se conheça melhor (e de forma mais rápido, porque ela tem um certo dinamismo) as pessoas com quem se convive. Isso vale tanto para o sujeito da fofoca (o que espalha a informação) quanto para o objeto (o que é relacionado na informação).

Uma parte muito importante da fofoca é o fofoqueiro. Suas intenções e seu relacionamento com o fofocado são tão importantes quanto o fato da fofoca em si. Isso porque na fofoca ocorre o efeito do telefone sem fio: a cada retransmissão a historia se altera um pouco, de acordo com quem conta. Assim, a confiança que se deve ter na historia é a mesma que se dá numa corrente do facebook.

Então, se houver a intenção de repassar a informação, é bom que fique claro que: a) quando tu repassas uma informação sobre outrem, ao mesmo tempo estás passando informações sobre ti e; b) o risco é grande da informação ser falsa ou estar bastante distorcida, caso não seja verificada.

E agora, com todo esse risco da informação não ser confiável, como é que a fofoca pode ser útil mesmo? Eu vejo as informações de fofoca como partes de um quebra-cabeça. Se a historia vier muito alterada, a peça na verdade faz parte de outro quebra-cabeça, e cabe ao receptor usar seu discernimento para filtrar as informações e colocá-las em seu devido lugar. E esse quebra-cabeça sempre terá mais peças a acrescentar, nunca estará completo. Se nem sobre nós mesmos conseguimos ter conhecimento pleno, imagina se poderíamos ter sobre os outros.


E uma questão final: fofocar é errado? Se é certo ou errado, não sei dizer. Mas eu acho que é natural. Na minha visão pessoal, não é errado se a informação não for difamadora, nem confidencial (e talvez algum outro critério que eu não lembre agora, mas esses são essenciais). Também lembro que informação confidencial não é aquela que vem num envelope com um escrito de "ULTRA SECRETO" em letras garrafais, e sim aquela informação que é de algo mais delicado, ou que simplesmente a pessoa sobre a qual se fofoca não queira que seja compartilhada. E esse tipo de classificação varia de pessoa pra pessoa, então é necessário algum tato pra não falar bobagem por aí.

A parte 2 d'O Retorno será um complemento desta primeira, mas não relacionada com fofocas, exatamente. Até lá, ouve aí esse som do caralho: Kruger

Kruger_Dukes_Rock Altitude 2010 from PATLALA. on Vimeo.

terça-feira, 21 de junho de 2011

A identidade nacional e o senso de civismo

Nosso país vive uma crise de identidade nacional, a comida que mais consumimos não é brasileira, os rostos que estampam as camisetas que vestimos não são dos heróis brasileiros, os passatempos que mais utilizamos não tiveram origem em nosso país, as coisas que compramos são mais produzidas fora do Brasil do que aqui dentro. O que há de errado com o nosso país?

Qual criança, se indagada se gostaria de ser brasileira, responderia com um sim? Os videogames são americanos, os fast-foods também. Os brasileiros mais revolucionários usam camisetas do Che Guevara, os mais pops cantam Rihanna, as rádios mais ouvidas tocam Black Eyed Peas, U2, Bon Jovi, Maná, etc.

Poderíamos levantar diversas questões que levam a essa crise de identidade, mas o principal deles, talvez, resida na nossa própria história. Um país colonizado, escravizado, com seus nativos tendo sido convertidos ou mortos já não tem muita história própria pra contar, vendo-se ainda que todas as manifestações de libertação seja colonial, seja escravocrata, seja separatista (como no caso do RS, que tentou separar-se do Império), tem como plano de fundo motivações econômicas e interesses políticos, com uma história política de corrupção e bandidagem estilo faroeste, com uma impunidade quase inacreditável. Como se pode esperar patriotismo de alguém que conheça essa história?

Além disso, nosso país é um destino fácil para imigrantes de diversas nacionalidades, é mais fácil entrar no Brasil do que em uma casa abandonada com portões, portas e janelas escancaradas. A miscigenação cultural criada pela vinda de estrangeiros pra cá, criando verdadeiras colônias no meio de centros urbanos brasileiros, difunde e enaltece a história, a cultura e os costumes de outros países até para cidadãos brasileiros, enfraquecendo nos mesmos o orgulho patriótico brasileiro, percebendo a “beleza”, o “esclarecimento“ e a “superioridade” de outras culturas frente à nossa.

Não se pode negar a importante contribuição desses imigrantes na construção do Brasil que temos hoje, mas precisamos proteger nossa cultura, nossa história que já é tão surrada precisa ser re-escrita a partir de agora, precisamos nos orgulhar por sermos brasileiros e brasileiras, pois todos os erros cometidos até agora são do povo e não do país, esse pedaço de terra generoso e belo, de enorme potencial e grandes qualidades.

A opressão política e o descaso depositados sobre os carentes, que necessitam do estado, enfraquece o amor patriota dessa nação, que se sente abandonada pela própria pátria-mãe. O povo brasileiro se sente pisoteado e esmagado pelo próprio Brasil. Quem trabalhará, se esforçará e tentará construir algo em prol de alguém que lhe tortura, respeitando suas leis e seguindo o tortuoso caminho imposto pelos governantes com pesados tributos e dificuldades de ascensão social criadas pelos “iguais”? A classe média tem sua capacidade econômica encolhida pela carga tributária, dedicando quade metade do seu capital ao pagamento de impostos e tributos criados ao bel prazer dos que governam, a fim de aumentar a arrecadação e o seu próprio espólio.

Pior que pagar esses tributos, é perceber que muito pouco do que pagamos nos retorna como investimentos em saúde e segurança, educação, saneamento. O que mais impressiona é que os governantes esperam que a população siga trabalhando pra pagar esses tributos, sem que lhes sejam garantidas sequer as condições básicas. Nossos jovens são mortos por assaltantes por falta de segurança, nossos jovens viram assaltantes por falta de educação e condições de sobrevivência. Falta educação por que não se investe em escolas, preparo dos professores e remuneração justa pelo trabalho dos mesmos. Não há hospitais suficientes para que a população doente busque ajuda, ficando amontoados em macas e cadeiras nas salas de espera de emergências lotadas, adoecendo e morrendo sem que ninguém sequer perceba.

Somente quando o nosso próprio povo tomar consciência de que somos nós mesmos que construímos a história e os valores do nosso país, é que poderemos virar o jogo a nosso favor.