;(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

Flavio Gomes

OPINIÃO

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

Love, love, love

Reprodução/Instagram
Imagem: Reprodução/Instagram

Colunista do UOL

02/01/2023 11h00

Esta é a versão online da newsletter Flavio Gomes enviada ontem (01). Quer receber antes o boletim e diretamente no seu email? Clique aqui. Os s UOL ainda podem receber dez newsletters exclusivas toda semana.

********

Nas 24 horas que se sucederam entre as 15h27 de quinta-feira (29) e as 15h27 de sexta (30), pelo horário de Brasília, nasceram no mundo 236.322 bebês. Existe um site que atualiza esses números em tempo real. Também informa quantas pessoas morreram, quantos automóveis foram produzidos, quantos celulares foram vendidos e quantos e-mails foram enviados nas últimas 24 horas. O mesmo site fornece, igualmente, uma curiosa contagem regressiva de quantos barris de petróleo a humanidade ainda tem à disposição para queimar. A quem interessar possa, no momento em que estas linhas são traçadas restam 1,4 trilhão. Temos tempo, mas não muito.

Esses 236.322 bebês nasceram num novo mundo, que acabou exatamente às 15h27 de quinta-feira. "La fin d'un monde", anunciou o jornal esportivo francês "L'Équipe".

Jornal francês L'Équipe: com a morte de Pelé, um mundo chega ao fim - Reprodução/L'Équipe - Reprodução/L'Équipe
Jornal francês L'Équipe: com a morte de Pelé, um mundo chega ao fim
Imagem: Reprodução/L'Équipe

Um mundo que começou precisamente no dia 23 de outubro de 1940, numa cidade mineira chamada Três Corações, vilarejo que até pouco tempo antes não dispunha de luz elétrica. E por isso o rebento de uma modesta família preta liberta da escravidão menos de meio século antes, pai Dondinho, mãe Celeste, recebeu em homenagem o nome do inventor da lâmpada incandescente, Thomas Edison. Sem o Thomas e sem o i no Edison, embora na certidão de nascimento ele estivesse lá, o i. Devidamente corrigido, o nome, no batismo católico do menino Edson pouco tempo depois. Edison, o inventor, morrera nove anos antes tendo registrado, incluindo a lâmpada, a patente de 1.093 produtos. Quase o mesmo número de gols que Edson marcaria até as 15h27 de 29 de dezembro de 2022. Foram 1.283.

Cada um desses gols foi patenteado por seu autor, Edson, porque, como escreveu o poeta, fazer mil como ele fez era fácil; difícil, mesmo, era fazer um como ele. Que sejam concedidas, pois, as patentes.

Aos 236.322 bebês das primeiras 24 horas após o fim do mundo já se juntaram outros tantos nas 24 horas seguintes, e enquanto você lê este texto, à razão de 164 por minuto, novos seres humanos se somam aos demais oito bilhões de habitantes deste agora estranho planeta.

A eles, os que vêm nascendo desde as 15h27 do dia 29 de dezembro, não serão franqueados os privilégios que os viventes anteriores a esse dia e horário compartilharam na forma de imaginação, fantasia, criatividade, magia, improviso, objetividade, força física, inteligência, habilidade, talento, alegria, espanto, apenas pelo fato de existirem no mesmo tempo e espaço daquele que decretou o fim de um mundo ao fechar de vez seus grandes olhos.

Eram olhos que viam o que ninguém via, e que enviavam para seus pés, em velocidade inimaginável, ordens incompreensíveis — exceto para aqueles pés. Pés que, por sua vez, obedeciam às ordens sem questioná-las, porque nem tempo para isso haveria, visto que era urgente encantar aquele mundo que ainda não tinha dia e hora para acabar.

Pois esse mundo acabou às 15h27 do dia 29 de dezembro e os 236.322 bebês das primeiras 24 horas e todos os demais que já vieram a este novo mundo e os que ainda virão à razão de 164 por minuto terão de aprender a viver num planeta sem Pelé. Nós, que pertencemos ao mundo que acabou, não saberemos nunca explicar direito a todos eles como fazer. Porque não sabemos.

Um bom começo talvez seja dizer apenas love, love, love.

********

LEIA MAIS NA NEWSLETTER