;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Fred Di Giacomo

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Demonstrar gratidão deixa as pessoas felizes: obrigado, Anna Maria Martins

Anna Maria Martins - Marcos Ribas/Photo Rio News
Anna Maria Martins Imagem: Marcos Ribas/Photo Rio News

23/03/2021 04h00

Sentir gratidão deixa as pessoas mais felizes. Pesquisadores da Universidade de Miami e da Universidade da Califórnia realizaram um estudo para concluir isso. Outro estudo, da Universidade da Pensilvânia, diz que chefes que agradecem aos seus funcionários criam equipes mais motivadas e (o capitalismo vibra) mais lucrativo.

Não para por aí: o Dr. Martin E. P. Seligman, dos principais nomes da psicologia positiva, concluiu, após uma série de estudos, que demonstrar gratidão a alguém que nunca agradecemos nos deixa mais felizes.

Gosto dessa conclusão, mesmo que ela seja cientificamente furada e só tenha servido para gerar este vídeo simpático. Acho que a gente elogia (e agradece) pouco demais. Hoje, inclusive, gostaria de agradecer a uma vizinha muito simpática, que eu conheci quando ela tinha 91 anos: Anna Maria Martins.

A senhora dos livros

Eu e minha companheira estávamos grávidos e tínhamos nos mudado para um prédio novo no final de 2015. Lá havia uma senhorinha muito simpática e elegante que me viu uma vez levando para os Correios uma pilha do meu livro "Guia poético e prático para sobreviver ao século XXI" (Patuá, 2016).

Ela se empolgou ao ver um "jovem" ("Obrigado pelo jovem, dona Anna") carregando tantos livros, e logo se apresentou e me disse que fazia parte da Academia Paulista de Letras e que queria desenvolver projetos para estimular a leitura entre os jovens.

Curioso, dei um Google naquela vizinha e descobri que além de simpática, ela havia ganho um Prêmio Jabuti (o mais importante da nossa literatura), em 1973, com o livro de contos "A Trilogia do Emparedado e Outros Contos". Também havia traduzido Agatha Christie e Aldous Huxley, entre outros.

Para acrescentar algum tempero à história, ainda era prima de segundo grau da famosa pintora modernista Tarsila do Amaral - cujo companheiro, o escritor Luís Martins, a largou para ficar com dona Anna. Quanta história tinha aquela vizinha simpática!

Abaporu - Reprodução - Reprodução
Obra "Abaporu", da Tarsila do Amaral
Imagem: Reprodução

Desamparo

Quando assinei contrato com o editor Marcelo Nocelli para lançar meu primeiro romance "Desamparo" (Reformatório, 2018), Marcelo me contou que no meu prédio vivia uma amiga sua -- grande escritora e muito generosa -- chamada Anna Maria Martins.

Eu disse ao Marcelo que gostaria de entregar um exemplar do meu "Desamparo" para Anna, que na época estava com 94 anos. Não tinha muita esperança que ela, que na época tinha um cargo de direção na Academia Paulista de Letras, fosse ter tempo de lê-lo.

A vida correu, o livro saiu, eu seguia na rotina de enviá-lo pelos Correios, como se jogasse garrafinhas ao mar na esperança de que alguém as lesse. Tinha acabado de botar o filho de dois anos para dormir, quando o interfone tocou às nove e quinze da noite. Era dona Anna.

Ligara para dizer que estava adorando meu "Desamparo", que eu levava jeito pra coisa. E emendou dizendo que seu colega de Academia Paulista de Letras, o premiado Mafra Carbonieri, também estava na metade do livro e gostando muito. Acredito que tenha sido a primeira escritora premiada a ler e elogiar uma obra minha. Naquele momento, confesso, foi a noite mais emocionante da minha vida.

Depois disso, mudei do prédio, mudei de país, veio a pandemia e nunca mais vi dona Anna. Descobri, só recentemente, que ela faleceu em dezembro de 2020. Tinha 96 anos, uma vida cheia de realizações, uma filha, mas fiquei triste. Gostaria de ter deixado claro para ela o quanto foi importante aquele pequeno elogio, aquela atenciosa ligação, sua leitura gentil.

Sou muito grato a dona Anna e a todos que param a dureza e correria de suas rotinas para incentivar o próximo a sonhar; para distribuir esperança em forma de "você leva jeito para coisa, continue". Às vezes é tudo o que a gente precisa para não desistir da caminhada.

Leiamos Anna Maria Martins, essa mulher pioneira, e seu "A Trilogia do Emparedado e Outros Contos"!