quinta-feira, 5 de fevereiro de 2015

"É só fazer" ou o anti-turtling

Passei alguns minutos pensando neste texto. Talvez meia hora. Quiçá até uma hora. O texto parecia bom, parecia encaminhado, parecia fácil. Na mente, tudo se encaixa, acertamos os detalhes mais difíceis, ignoramos as arestas afiadas das incoerências e em dado momento parece que as coisas simplesmente são tão óbvias que, de repente, não compense o esforço de fazê-las.

Mas algumas ideias chamam à execução, apesar de tudo. "É só fazer", ensinou-me um professor. Até que o fazer não é só fazer.

Concretizar a ideia é tirar do plano ideal e trazer pro concreto. Afora as redundâncias da última frase, esse processo não é trivial - ao contrário do que me disse o professor. O fazer é o que vai trazer todas as inconsistências da ideia à tona. De repente, o texto não encaixa, o algoritmo não fecha, a função toca uma exceção - isso se não resultar em um loop infinito - e caímos na realidade. Esta que diz que aquele problema não era trivial, aquela ideia não era obvia, e talvez valha o esforço de encontrar uma solução.

Este encontro é quando o só fazer toma as devidas proporções. Toda aquela preparação anterior se desfaz, parece que o quebra-cabeças completo que imaginávamos era somente a torre Eiffel enquanto falta fechar todo o céu azul. É montar um império com uma economia prestes a bombar para ser liquidado pelos adversários que se preocuparam em fazer 2 catapultas e te ferrar na blitzkrieg - tipo meu último jogo de Civ V. Mas alteramos os padrões de busca das peças, trazemos os reforços daquela cidade longe das fronteiras, encontramos o getter que retorna ele mesmo por trocaramos aquele o (minúsculo) por um O (maiúsculo).

E a ideia vira realidade e torna-se um tanto gratificante. Ou não. O que interessa é que consolidamos algum conhecimento, ou uma forma de colar um conjunto anteriormente desconexo de conhecimentos, aprendemos algumas coisas e ganhamos XP - a parte mais importante de qualquer quest.

* * *

XP ganho, fica uma (ou mais de uma) linda música que faz parte de uma linda trilha sonora de um lindo jogo:


E finalizar Who Knows Where com todos os Idols não é só fazer :)

quinta-feira, 8 de janeiro de 2015

Pensamentos difusos sobre o último vestibular.

Dez anos depois do vestibular que moldou meu destino por... dez anos (duh), decidi fazer vestibular de novo. Já pensava em mudar meu foco faz uns oito anos, mas sempre determinei outras prioridades, decisão que pode ou não ter sido acertada. Depois de começar a trabalhar com TI, decidi ir para o caminho que já se desenhava em outros tempos, cursar Ciência da Computação.

Se o curso é necessário pra mim? Não, não é, dá pra estudar tudo por conta própria e existem materiais de estudo excelentes pela internet. E, pros temas mais profundos, existem livros. Mas eu queria fazer o curso, por questão pessoal e um certo apreço à academia.

Sem saber ainda se fui classificado ou não (embora manje dos paranauê das provas objetivas), elaborei umas considerações sobre o vestibular desse ano.
(Por que um texto no blog e não seu equivalente no Facebook? Porque aqui é mais fácil encontrar o texto, este não se perde depois de alguns dias.)
(Por que um texto no Pizzanerds e não no Medium? Porque é um texto pessoal e meio sem relevância, ao contrário do que eu tenho lido por lá :D)

- Uma boa novidade foi decidirem alocar os candidatos via CEP, não via curso. Ter 10 minutos de caminhada até a sala de prova em vez de ~30 minutos de ônibus é bem melhor. Além de evitar problemas de candidatos se atrasando por problemas no trânsito.

- Primeiro dia, adentro o Anexo I da reitoria da UFRGS e lembro do semestre YYYY/S quando fiz Economia neste prédio. As vagas lembranças de uma sala sem ar-condicionado, com cadeiras de plástico dobrável com braço - só o direito, obviamente - me fizeram pensar que seriam 4 dias muito desagradáveis. Nisto estava enganado, faz uns 5 anos que as salas estão reformadas, com cadeiras ainda de braço, mas confortáveis (de plástico não vagabundo), e o tão necessário ar-condicionado no verão forno alegrense. Então, aí foi bacana.

- Inclusive só havia uma cadeira de canhoto na sala e eu achei que ia dar briga. Felizmente, havia somente um canhoto também. Em um achismo totalmente embasado em nada, esperava que tivesse ~10% de canhotos, portanto pareceu estranho ver só uma cadeira. Mas, no final, deu tudo certo. Quiçá os outros canhotos estavam dentre os ausentes.

- Outra estranheza foi que eu esperava ser o mais velho da sala (mas fiquei longe disso). Parece que a sala também não tinha muita gente de 97, segundo minha espiada na folha de presença, ao contrário do que eu esperava, tomando minha idade no vestibular "de verdade" como comparação.

- Teve uma matéria que eu tive certeza antes de fazer que seria ruim: literatura. Sem ter lido nem mesmo um resumo das leituras obrigatórias, não houve muito o que fazer. Mas, pelas questões apresentadas, as obras todas pareceram muito interessantes. Inclusive, gostei bastante de não ter Os Lusíadas nem Saramago na parte de literatura portuguesa. Respeito quem gosta deste, mas eu não tenho paciência pra ler uma frase de 5 páginas.

- Por sinal, se tiver algum "Leituras obrigatórias da UFRGS e-book bundle" eu compro (fica a dica pras livrarias que não vão ler isso). Inclusive, em 2005, como as aulas de literatura já abrangiam toda a bibliografia recomendada, acabei lendo só O Tempo e o Vento (já havia começado O Continente, obrigatório em 2004, e achei sacanagem pular direto pr'O Arquipélago em 2005 sem passar pel'O Retrato).

- Outras 2 matérias com sua dose de complicação são biologia e historia. Ambas matérias exigem a assimilação de um vasto conteúdo para serem dominadas. Ou melhor, domadas, mas não deixam de ser um tanto selvagens. Historia é uma matéria da qual eu gosto, acho seu conhecimento importantíssimo pra todos e volta e meia dou uma lida. Portanto, consegui usar um pouco de lógica pra resolver a prova e o resultado foi bacana. Já biologia eu acho que tem muita coisa para decorar (entender demanda muito mais tempo), sendo dos meus desempenhos medianos.

- Já química tem várias áreas que não fazem muito sentido pra mim. Felizmente, a matéria de ensino médio tem bastantes cálculos que não exigem uma compreensão muito profunda.

- Física é uma matéria que alguns poderiam achar que seria tranquila pra mim. Daí eu tenho que explicar que, como engenheiro civil, meu foco sempre foi em mecânica, não lembrando nada das equações (ou do nome dos termos destas) que modelam os fenômenos físicos. Então, estudei só pra lembrar das equações e da terminologia e isso bastou pra um desempenho razoável. Também por pura sorte vi vários capítulos do reboot da série Cosmos enquanto estudava, então foi bem divertido.

- Fiquei impressionado com a prova de inglês. Nunca antes eu havia acertado tão poucas questões, proporcionalmente, em qualquer prova de inglês - isso envolve ensino fundamental, médio, os outros vestibulares, a prova de proficiência do mestrado e uns tantos concursos públicos. Também foi impressionante que uma quantidade de acertos medíocre me garantiu um desvio padrão acima da média. Digo, terá me garantido se eu não errei na hora de marcar na folha óptica, afinal, fiz tudo com muito sono.

- Já em português deu pra manter o desempenho de outros anos e dos concursos públicos. Ler uma cacetada de livros serviu pra alguma coisa. Se bem que ler os 5 volumes d'A Song of Ice and Fire (fica muito feio misturar as línguas assim) não serviu pra bosta nenhuma em inglês, pelo visto.

- Geografia é uma matéria que no contexto da prova é bastante tranquila. Tem que conhecer um pouco sobre muitas coisas para compreender. Tem alguma sinergia com historia, visto que boa parte das questões é consequência desta. Também tem algumas questões de temas importantes cujas lógicas, entretanto, não são muito complexas.

- O tema da redação eu achei horrível. Apesar de haver muito a divagar sobre a amizade, eu acho também que as divagações tendem a ser um tanto brandas a comentar sobre esse tema. Com tantas questões polêmicas importantes que aconteceram este ano, e que suscitaram discussões um tanto ferrenhas em diversos meios de comunicação (inclusive amigos brigando etc.), perguntar sobre como fica a amizade num contexto de smartphones pareceu uma fuga da realidade.

- Por fim, matemática foi bem tranquilo. Eu só ignorei uma questão que pedia pra fazer uma potência de 10 virar 10, e não 1, não lembrei o que definia uma PG (mas o chute da resposta foi acertado), não consegui encontrar o ângulo DÂB da questão do pentágono antes de encher o saco da prova (pra ter certeza que o comprimento de AB era igual ao de CD e encontrar a reposta correta, 2 x 2 sen 72 = 4 sen 72), e faltou encontrar 2 múltiplos de 6 na questão 49. Esta última eu até programei pra achar o resultado depois, porque a desatenção é uma arte. Na questão do pentágono, depois de encher o saco, decidi marcar a única resposta que não resultado em uma contradição, embora fosse um tanto estranho ter a área do polígono igual à altura (quem ler a questão vai entender o porquê). Outro detalhe de matemática é que, em geometria, eu só lembro das equações de área do trapézio, do triângulo e do círculo (porque são simples). Fazer cálculo 1 já resolve todo o resto das decorebas de fórmula, que eu nunca lembro. Então, fiz 2 derivadas e 1 integral na prova. Pra não dizer que não lembrava de nada, tive que relembrar como funcionava o logaritmo, visto que na engenharia era só uma função na calculadora.

- Lá pelo segundo dia eu refleti sobre minha posição no vestibular. Essa foi minha 5ª participação, a 3ª como candidato. E, tendo sido fiscal por 2 vezes já, nutri uma certa simpatia pelo pessoal trabalhando nas provas. Mas só um pouquinho, porque não sou um cara muito simpático, haha.
 
- Enquanto passava o vestibular eu descobria mais gente conhecida tentando um segundo curso, tanto por encontrar pessoalmente quanto ver as manifestações nas redes sociais. Inclusive fiquei com a impressão de ainda não ter descoberto todos os que se candidataram agora. Inclusive 1 dia depois de escrever esse parágrafo descobri mais um. Inclusive incluo aqui a taxa de ~1 pessoa/dia. Inclusive não fiz essa repetição de palavras na redação.

- A parte positiva de ter feito as prova depois de acumular tanta "experiência de vida" (leia-se, a graduação foi razoável, mas o mestrado inconcluso foi muito bom para calejar o cérebro, além de arrancar alguns parafusos) é que não foi necessária uma grande quantidade de estudos. Uma semana pra revisar e uns chutes bem calibrados garantiram um bom resultado. Por sinal, troco dicas de chute por ceva :D

- Por sinal, por mais que o chute seja uma arte, fazer a redação foi um pouco maçante. Fazia bastante tempo que eu não escrevia (exceto pela redação do ENEM), e eu não tenho entrado em nenhuma discussão que não seja bastante técnica - esta que exige argumentos objetivos e honestidade intelectual, e não somente ganhar um debate - então a minha capacidade de elaborar argumentos e, consequentemente, montar uma boa estrutura textual ficou um tanto prejudicada. Inclusive, só escrevo agora porque finalmente achei um tema pra voltar à prática... daqui a uns 10 meses escrevo o próximo!

Caso tudo dê certo - leia-se: a redação não fique uma bosta -, o próximo desafio vai ser encaixar as aulas com 8h diárias de trabalho (+1h de compensação de greve no primeiro mês de aulas), mas esse problema fica pra depois do Carnaval.

E feliz ano novo pra quem leu tudo até o final. o/

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: